@kaishi/shared

v0.1.2

Published

通用工具函数集合,提供常用的辅助函数。

Readme

@kaishi/utils

通用工具函数集合,提供常用的辅助函数。

安装

pnpm add @kaishi/utils

使用

import { sleep, formatDate, deepClone } from '@kaishi/utils';

// 使用延迟函数
async function example() {
  console.log('开始');
  await sleep(1000); // 延迟1秒
  console.log('1秒后');
}

// 格式化日期
const now = new Date();
const formattedDate = formatDate(now, 'YYYY-MM-DD HH:mm:ss');
console.log(formattedDate); // 例如: 2023-05-20 14:30:45

// 深拷贝对象
const obj = { a: 1, b: { c: 2 } };
const clonedObj = deepClone(obj);
clonedObj.b.c = 3;
console.log(obj.b.c); // 仍然是 2

API

sleep(ms: number): Promise<void>

创建一个延迟指定毫秒数的Promise。

formatDate(date: Date, format?: string): string

将Date对象格式化为指定格式的字符串。默认格式为'YYYY-MM-DD'。

deepClone<T>(obj: T): T

深拷贝一个对象,支持嵌套对象、数组和日期。

debounce<T>(fn: T, delay: number): (...args: Parameters<T>) => void

创建一个防抖函数,延迟调用直到停止触发指定时间后。

throttle<T>(fn: T, limit: number): (...args: Parameters<T>) => void

创建一个节流函数,限制函数在指定时间内只能调用一次。

randomInt(min: number, max: number): number

生成指定范围内的随机整数。

isEmptyObject(obj: Record<string, any>): boolean

检查对象是否为空。

objectToQueryString(params: Record<string, any>): string

将对象转换为URL查询字符串。

parseQueryString(queryString: string): Record<string, string>

将URL查询字符串解析为对象。

许可证

MIT