UNPKG

ph-utils

Version:

js 开发工具集,前后端都可以使用(commonjs和es module)

69 lines (68 loc) 2.13 kB
type SnowflakeIDInfo = { value: string; timeOffset: bigint; timestamp: number; machineId: bigint; sequence: bigint; epoch: number; version: string | undefined; }; /** 雪花ID, 推荐在全局构造一个对象用于生成id */ export declare class SnowflakeID { /** 机器码, 默认为: 1 */ machineId: bigint; /** 起始时间戳, 默认为:1288834974657 */ epoch: bigint; _lastTimestamp: bigint; /** 版本号, 默认为: 0 */ version: number; private _sequence; /** * 构造函数 * * @param machineId 机器标识,默认为1 * @param epoch 时间戳起始值,默认为1288834974657 */ constructor(machineId?: number, epoch?: number); private _getTimestamp; private _waitNextMillis; /** * 生成雪花ID * * @returns 返回生成的唯一ID字符串 * @throws 如果时钟回退,抛出错误 */ generate(): string; parse(snowflakeID: string, epoch?: number, includeVersion?: boolean): SnowflakeIDInfo; } /** 将uuid转换为更简单的唯一标记id */ export declare class ShortUUID { private alphabet; /** * 构造函数,用于初始化字母表 * @param {string} [alphabet] - 可选参数,用于指定自定义字母表 * 如果提供了alphabet参数,则将其设置为实例的字母表属性 * 如果未提供alphabet参数,则使用默认值 */ constructor(alphabet?: string); /** * 将UUID字符串进行编码处理 * @param uuid - 需要编码的UUID字符串 * @returns 编码后的字符串 */ encode(uuid: string, alphabet?: string): string; /** * 解码短UUID字符串,将其转换为UUID整数和十六进制格式 * @param shortUUID - 需要解码的短UUID字符串 * @returns 返回包含UUID整数和十六进制格式的对象 */ decode(shortUUID: string, alphabet?: string): { uuidInt: bigint; uuid: string; }; private _stringToInt; private _intToString; private _uuidHexToInt; private _uuidIntToHex; } export {};