@k3000/tools
v0.3.0
Published
正在完善中……
Readme
工具库
正在完善中……
const str = 'https://qshfu.com/lib?v=1.0'
str.before('?') // 'https://qshfu.com/lib'
str.before('//', '?') // ['https:', 'qshfu.com/lib']
'https://qshfu.com/lib?v=1.0'.after('?') // 'v=1.0'
random() // 6
random(10, 29) // 18
random(10, 199) // 123
'sum(1+1+sum(2+3))+sum(2+4)'
.replace2(/sum\([^]*?\)/g, {m: 'sum', '*': /\+/g})
// 'm(1*1*sum(2*3))+m(2*4)'
'sum(1+1+sum(2+3))+sum(2+4)'
.replace3({prev: 'sum', start: '(', end: ')'}, {m: 'sum', '*': /\+/g})
// 'm(1*1*sum(2*3))+m(2*4)'
[1, 2, 3, 4, 5].forEachReverse(i => i === 2 ? false : console.log(i)) // 5,4,3
[1, 2, 3, 4, 5].forEach2(i => i === 4 ? false : console.log(i)) // 1,2,3
const data = {}, key = {}
data.$set(key, '123')
data.$get(key) // '123'
isEmpty({}) // true
isEmpty({}, {qwe: 123}) // false
new Date('2022/01/01').format('yyyy-MM-dd 周D')
// '2022-01-01 周六'
isObject(undefined) // false
class StatusEnum extends Enum {
RESOLVE = 1
REJECT
constructor() {
super().init()
}
}
const status = new StatusEnum()
status[status.REJECT] // 'REJECT'
class Main extends Singleton {
constructor() {
super()
}
}
new Main() === new Main() // true
// 使用create可能会创建失败,推荐使用异步版本createId
let id
id = create()
id = create()
id = create()
id = await createId()
id = await createId()
id = await createId()
// 递归删除文件夹
rmdir('./tmp')
// 解析url参数
u2o('localhost?qwe=123&asd=456&code') // { qwe: '123', asd: '456', code: 'code' }
// 简单的加解密
const key = createKey('abc123')
const data = encrypt({name: '张三', age: '21'}, key).toString()
console.log(decrypt(data, key))
// 或者
const data = Buffer.from(JSON.stringify({name: '张三', age: 21}))
const key = Buffer.from('abc123')
console.log(XOR(data, key).toString())
console.log(XOR(data, key).toString())
// 封装了加密类
new Cipher