BBackOne Docsserver · utils · cli
Bun-nativeGitHub ↗
@geektech/backone-utils

ID 生成

uuidv4 / uuidv7 / nanoid / snowflake 四种 ID 策略。

id 模块提供四种 ID 生成策略,遵循策略模式:通过 createIdGenerator 工厂按名称创建,便于配置驱动;默认 uuidv7(时间有序,适合做数据库主键)。

快捷生成

ts
import { createId } from '@geektech/backone-utils';

const id = createId();                    // uuidv7(默认)
const id2 = createId('nanoid', { length: 12 });

按策略创建生成器

ts
const ids = createIdGenerator("snowflake", { machineId: 1 });
const id = ids.generate();

策略一览

策略生成器说明
uuidv4UuidV4Generator随机 UUID v4
uuidv7UuidV7Generator时间有序 UUID v7(默认)
nanoidNanoIdGeneratorURL 安全短 ID,可配长度与字符表
snowflakeSnowflakeGenerator雪花 ID,可配纪元与机器 ID

NanoId 选项

选项默认说明
alphabetURL 安全字母数字 64 字符字符表
length21生成长度(碰撞概率约 2^-126)

Snowflake 选项

选项默认说明
epoch2024-01-01T00:00:00.000Z纪元毫秒时间戳
machineId随机分配机器 / 进程 ID(0-1023)