@ tcute/ tid (帮助)
aT 协议的时标标识符(TID)编码器.
npm install @atcute/tid
此库执行 atproto 的 TID 编码器, 用于生成压缩而独特的记录密钥 按时间顺序排序.
使用量
生成 TID
import * as TID from '@atcute/tid';
// generate a TID for the current time
const tid = TID.now();
// -> "3l25zusnsfctk"
// create from specific timestamp (microseconds) and clock ID
const custom = TID.create(1724171495793000, 512);
// -> "3l25zusnsfck2"
在节点J, TID.now() 依赖于系统的实时时钟微秒精度
可用,否则会回到毫秒精度.
TID.now() 不是单调的 — TID 编码了墙钟时间, 所以生成器必须跟随时钟
更正而不是保留命令。 在不可靠的时钟设备上执行单调
(例如电话)在更正后会让发电机在错误的时间永久被卡住. 页:1
只有一个例外,就是在一个遵守同样时间戳的单一过程中连续快速呼叫,
避免碰撞.
解析 TID
import * as TID from '@atcute/tid';
const { timestamp, clockid } = TID.parse('3l25zusnsfctk');
// timestamp: 1724171495793000 (microseconds since epoch)
// clockid: 816
正在验证 TID
import * as TID from '@atcute/tid';
TID.validate('3l25zusnsfctk'); // true
TID.validate('invalid'); // false