Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yuri2peter/npm-utils-general
【收集向】前后端通用的函数库
https://github.com/yuri2peter/npm-utils-general
Last synced: about 2 months ago
JSON representation
【收集向】前后端通用的函数库
- Host: GitHub
- URL: https://github.com/yuri2peter/npm-utils-general
- Owner: yuri2peter
- Created: 2020-04-08T08:21:54.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-03-26T21:10:08.000Z (almost 3 years ago)
- Last Synced: 2024-11-11T06:52:20.404Z (about 2 months ago)
- Language: JavaScript
- Size: 69.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# utilsV3
## index
```javascript
/**
* 添加一个延迟。await wait(1000)
* @param {number} delay 毫秒数
*/
function wait(after = 0)/**
* 等待...直到条件成立
* @param {function} checker 成立条件检测函数,可以是异步函数
* @param {number} interval 检测间隔毫秒数
* @param {number} timeout 超时毫秒数
*/
export async function waitUntil(checker, interval = 100, timeout = 10000)/**
* 测试是否为一个低频操作
* @param {string} operationKey 操作标识符
* @param {number} seconds 一定秒数内
* @param {number} count 一定次数
* @returns {boolean}
*/
function opFrequencyTest(operationKey, seconds, count)/**
* 简单判断一个语言标识符是否是中文
* @param {string} lang 语言标识,如"zh-CN"
* @returns {boolean}
* */
function isZh(lang)/**
* 临界资源锁
* @param {function} work 工作函数,获得临界资源后被执行,执行完毕后释放临界资源
* @param {array} locks 锁名数组
*/
async function lock(work, locks = [])/**
* 返回一个计时器,一般用于测出性能瓶颈
* tick()方法单次计时并返回所花时间
* 成员taking返回总耗时
*/
class Timer()/**
* 返回一个Base64解析工具
* encode() / decode()
*/
class Base64()/**
* 对字符串中正则关键字作转义,常用于拼接正则的一部分
*
* @param {string} str regular expression pattern to be escaped
* @return {*}
*/
export function escapeForRegex(str)/**
* 判断对象是否是一个Promise
* 警告:目前没有准确的判断机制,只能通过是否有.then(*)方法判断
* @param {*} subject
* @return {boolean}
*/
function isPromiseAlike(subject)/**
* 判断对象是否为空对象
* @param {object} obj
* @return {boolean}
*/
function isEmptyObject(obj)/**
* Deep copy
* @param {object|array} subject
* @return {object|array}
*/
function deepCopy(subject)/**
* 字符串模板
* @param {string} template 模板形如 'Dear ${name},...'
* @param {object} params 参数集,对应填充到变量,如 { name: 'yuri2' }
* @return {string}
* */
function parseStrTemplate(template, params = {})function md5(text)
// 生成唯一 id
function uuid()/**
* 对象数组转csv表格
* @param {array} data
* @returns {string}
*/
function dataToCsv(data)/**
* csv表格转对象数组
* @param {string}
* @returns {array}
*/
function csvToData(csv)/**
* 取随机数
* @param {number} n 最小值
* @param {number} m 最大值
* @returns {number}
*/
function randomInt(n, m)/**
* markdown转html,可附加样式
* @param {*} markdownText markdown纯文本
* @param {*} options 配置。styles: css纯文本;className:css根节点类名
*/
async function markdownToHtml(
markdownText,
options = {
className: 'markdown-body',
styles,
},
)```