UNPKG

cyl-hooks-tools

Version:

基于react上下文实现的权限管理

103 lines (96 loc) 3.14 kB
/** * @template {any} T * @description 优雅解析json字符串 * @param {string} jsonString * @return {T} */ export const parseJsonGraceful: <T = any>(jsonString: string) => T /** * @description 延时执行 * @param {number} time * @return {Promise<any>} */ export const sleep: (time: number) => Promise<void> /** * @description 带日期和颜色的日志打印 */ export const logger: { /** * @template {any} T * @param {T} message 信息 * @param {?number} timeStamp 时间戳 不传则为当前时间 * @param {?string} color 自定义颜色 */ info: <T = any>(message: T, timeStamp?: number, color?: string) => void /** * @template {any} T * @param {T} message 信息 * @param {?number} timeStamp 时间戳 不传则为当前时间 * @param {?string} color 自定义颜色 */ error: <T = any>(message: T, timeStamp?: number, color?: string) => void /** * @template {any} T * @param {T} message 信息 * @param {?number} timeStamp 时间戳 不传则为当前时间 * @param {?string} color 自定义颜色 */ warn: <T = any>(message: T, timeStamp?: number, color?: string) => void /** * @template {any} T * @param {T} message 信息 * @param {?number} timeStamp 时间戳 不传则为当前时间 */ log: <T = any>(message: T, timeStamp?: number) => void /** * @template {any} T * @param {T} message 信息 * @param {?number} timeStamp 时间戳 不传则为当前时间 * @param {?string} color 自定义颜色 */ success: <T = any>(message: T, timeStamp?: number, color?: string) => void } /** * @description 格式化阿拉伯数字为万,亿 * @param {number} num * @returns {string | number} */ export const makeFriendly: (num: number) => string | number /** * @description 格式化秒 为 小时 分钟 秒 * @param {number} seconds * @returns {string} */ export const formatSeconds: (seconds: number) => string /** * @description Uint8Array 转 字符串 * @param {Uint8Array} dataSource * @returns {string} */ export const Uint8ArrayToString: (dataSource: Uint8Array) => string /** * * @param collection * @param mapper * @param CHART_TICKS 60 * @param beforeCallback */ export function dataSourceSliceOfECharts<T extends { timeStamp: number }>(collection: T[], mapper: (elem: T, latestSecond: number, second: number) => (keyof Omit<T, "timeStamp">)[], CHART_TICKS?: number, beforeCallback?: (data: T[][], sliceLength: number) => void): T[][] interface Site { left: number top: number right: number bottom: number } export const ninePath:(ninePatch: { source: string, scale?: number } & Site, content: Site) => { "border-image-slice": string; "border-image-width": string; "border-image-outset": string; "border-image-repeat": string; "border-image-source": string; "border-width": string; "border-style": string; "box-sizing": string; "min-width": string; "min-height": string; }