cyl-hooks-tools
Version:
基于react上下文实现的权限管理
103 lines (96 loc) • 3.14 kB
TypeScript
/**
* @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;
}