用于 debounce 的 symbol
用于 sleep 的 symbol
将传入 data 解析为 Buffer(支持 base64://、http(s) URL、file://、Buffer) 若 opts.http 为真返回 URL 字符串,若 opts.file 为真返回 file:// 路径
数据内容
Optionalopts: BufferOptions选项
解析后的 Buffer、URL 字符串或 file:// 路径
查找命令路径(where/command -v),失败返回 false
要查找的命令名
Optionalopts: ExecOptions选项(可选)
命令的绝对路径或 false
以独立进程启动命令(windows 会用 cmd /c start)
要启动的命令
Optionalargs: string[]命令参数数组(可选)
Optionalopts: CmdStartOptionsNode.js child_process.spawn 的选项(可选)
启动的子进程对象
从 map 中删除并同时删除 db 中的键
要操作的 Map(必须包含 db 属性)
Map 默认的 delete 方法(传入 del 是为了支持 makeMap 包装的 Map)
要删除的键
删除是否成功
下载(或把 buffer 写入文件) 返回 { url, file, buffer }
要下载的 URL 或要写入文件的 Buffer
Optionalfile: string写入文件的路径(可选,如果提供了 url 是 Buffer,则必须提供)
Optionalopts: BufferOptions选项(可选)
执行外部命令(支持字符串或数组) 返回 { error, stdout, stderr, raw }
要执行的命令(字符串或包含命令及参数的数组)
Optionalopts: ExecOptions选项(可选)
命令执行结果对象
检测文件类型并返回对象 { name, url?, buffer?, type?, md5? } 参数 data 形如 { file: Buffer|string, name?: string }
包含文件内容(Buffer 或路径/URL 字符串)和可选名称的对象
Optionalopts: BufferOptions选项(可选)
文件类型检测结果对象
获取文件/目录状态,出错返回 false
文件路径
Optionalopts: StatOptions可选参数
用于 JSON.stringify 的循环引用替换器
循环引用替换函数
打开或创建 leveldb 并返回 Map(Map 上会附加 db 属性) 返回值类型为 Map 并附带 db: Level
leveldb 存储的目录路径
包含 db 属性的 Map
按时间差格式化时间差(返回中文格式如 '1天2时3分')
Optionaltime1: number第一个时间戳(可选,默认为当前时间)
Optionaltime2: number第二个时间戳(可选,如果只传入 time1,则计算 time1 与当前时间的差)
格式化后的时间差字符串
glob 匹配(如果 node:fs/promises 中无 glob 则返回 [])
路径
Optionalopts: GlobOptions可选参数
从目录导入数据到 Map(用于初始化),并删除源文件
包含要导入数据的目录路径
导入数据的目标 Map
导入数据后的 Map
格式化并截断日志对象(util.inspect)
要格式化和检查的对象
Optionalopts: InspectOptionsutil.inspect 的选项
格式化后的字符串
构造 Error
错误信息
其他信息
打印日志
日志等级(如 "error","mark","debug","trace" 等)
字符串或任意对象/数组(将被格式化)
Optionalid: string | number | false若为 false 则不打印 id;否则可传 id 或使用默认对齐
Optionalforce: any强制使用传入的 id(不格式化)
格式化日志 ID
Optionalid: any日志标识符 不填则使用配置内ID
格式化之后的字符串
将 Map 包装成带自动持久化的 Map(会把 set/delete 覆写为异步) parent_map: 一般为从 getMap 返回的 map
一般为从 getMap 返回的 map,Map 上会附加 db 属性
在 parent_map 中用于存储当前 map 的键
要包装的 Map
创建目录(递归),返回是否成功
路径
Optionalopts: MakeDirectoryOptions可选参数
将一次性事件包装为 Promise(使用 event.once) event: 任意 EventEmitter-like 对象,resolve/reject 为事件名
任意 EventEmitter-like 对象
触发 resolve 的事件名(字符串或 Symbol)
Optionalreject: string | symbol触发 reject 的事件名(字符串或 Symbol,可选)
Optionaltimeout: number超时时间(毫秒,可选)
事件触发时 resolve 的 Promise
删除文件/目录
文件或目录路径
Optionalopts: RmOptions可选参数
将值写入 map(支持 value 为 Map),并持久化到 map.db
要操作的 Map(必须包含 db 属性)
Map 默认的 set 方法(传入 set 是为了支持 makeMap 包装的 Map)
要设置的键
要设置的值
睡眠指定时间。
如果传入一个 Promise,则两个 Promise 会使用 Promise.race() 竞争,
先完成的结果将作为返回值(包括 resolve 或 reject)。
睡眠时间(毫秒)。
// 只睡眠
await sleep(1000)
console.log('1 秒后执行')
// 与其它 Promise 竞争
const p = new Promise(resolve => setTimeout(() => resolve(42), 500))
const result = await sleep(1000, p)
console.log(result) // 42
// 竞争中 promise 失败
const p = new Promise((_, reject) => setTimeout(() => reject(new Error('出错')), 300))
try {
await sleep(1000, p)
} catch (err) {
console.error('捕获到错误:', err.message)
}
睡眠指定时间。
如果传入一个 Promise,则两个 Promise 会使用 Promise.race() 竞争,
先完成的结果将作为返回值(包括 resolve 或 reject)。
睡眠时间(毫秒)。
可选,与睡眠竞争的 Promise。
// 只睡眠
await sleep(1000)
console.log('1 秒后执行')
// 与其它 Promise 竞争
const p = new Promise(resolve => setTimeout(() => resolve(42), 500))
const result = await sleep(1000, p)
console.log(result) // 42
// 竞争中 promise 失败
const p = new Promise((_, reject) => setTimeout(() => reject(new Error('出错')), 300))
try {
await sleep(1000, p)
} catch (err) {
console.error('捕获到错误:', err.message)
}
睡眠指定时间。
如果传入一个 Promise,则两个 Promise 会使用 Promise.race() 竞争,
先完成的结果将作为返回值(包括 resolve 或 reject)。
睡眠时间(毫秒)。
Optionalpromise: Promise<T>可选,与睡眠竞争的 Promise。
// 只睡眠
await sleep(1000)
console.log('1 秒后执行')
// 与其它 Promise 竞争
const p = new Promise(resolve => setTimeout(() => resolve(42), 500))
const result = await sleep(1000, p)
console.log(result) // 42
// 竞争中 promise 失败
const p = new Promise((_, reject) => setTimeout(() => reject(new Error('出错')), 300))
try {
await sleep(1000, p)
} catch (err) {
console.error('捕获到错误:', err.message)
}
将数据转为字符串(可选传入 JSON.stringify 选项)
任意类型的值
Optionalopts: string | number在返回值的 JSON 文本中添加缩进、空格和换行符,使其更易于阅读。
转换后的字符串
将 buffer 转为安全显示的字符串或返回原 buffer(根据是否包含不可显示字符)
任意类型的值
Optionalbase64: boolean如果 buffer 包含不可显示字符,是否转为 base64 字符串(默认为 false)
转换后的字符串或原 Buffer
把任意值转换为字符串,特殊处理 Buffer/Error 等
任意类型的值
转换后的字符串
Utils