普贤教程 › 包参考
snowflake 包
Snowflake ID
| 项 | 值 |
|---|---|
| 包名 | snowflake |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | snowflake.px |
| 分类 | 标识、校验与版本 |
| 文件数 / 行数 | 1 / 105 |
安装与引入
bash
pxpkg init # 首次 pxpkg add snowflake@0.2.0 pxpkg install
px
import snowflake所属分类教程:标识、校验与版本
公开接口
| 函数 | 参数 |
|---|---|
sf_new | machine_id, opts={} |
sf_next | state, now_ms=null |
sf_parse | id, opts={} |
其余 6 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
sf_to_base36 | id |
sf_from_base36 | s |
sf_extract_time | id, opts={} |
sf_extract_machine | id |
sf_extract_seq | id |
sf_max_sequence | |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/snowflake —— Snowflake ID ------------------------------------------------------------ 纯函数库(无 IO、无状态,状态以 dict 显式传递;时间源显式传入),双模式一致。 sf_new(machine_id[, opts]) → Ok(state) | Err machine 0..1023(10 位) sf_next(state[, now_ms]) → Ok(int id) | Err 41 位毫秒 + 10 位机器 + 12 位序列 sf_parse(id[, opts]) → {ms, machine, seq}(epoch 还原) opts: {epoch_ms(默认 1288834974657 = Twitter 2010-11-04)} 同毫秒 seq 自增;越毫秒复位;seq 溢出 → Err(响亮)。窗口 69 年。 ============================================================