なにそれ?
TwitterのSnowflakeのNode.js版です。本家は開発を停止しているようですが。特徴
- 単体で動作。本家Snowflakeのような外部サービスや通信は不要。
- 柔軟なカスタマイズ。各パート(シーケンス、ジェネレータID)に使うビットサイズや、採番開始時刻を任意に指定可能。
- 多倍長整数に対応。JavaScriptの整数表現の限界である53ビットはもちろん、64ビットも超えたID生成が可能。(バージョン2.0.0から)
- 2〜36までの任意の位取り記数法を指定可能(バージョン2.0.0から)
あれから1年以上経ってたのか…
バージョン1からの破壊的変更点
今までと互換性ないから気をつけてね。- 戻り値の型を数値型から文字列型に変更。多倍長整数や10進数以外の位取り記数法に対応した都合上ですが、生成されたIDが数値型で表現できる範囲内であっても文字列型で返されます。
- 各パートのビットサイズを変更。バージョン1では戻り値が数値型の都合上、各パートのサイズはかなり小さめでしたが、バージョン2ではSnowflakeと同じビットサイズをデフォルトにしました。
- エクスポート方法を変更。
require()
でのロード方法をrequire("maylily")
からrequire("maylily").default
に変更しました。
0 件のコメント:
コメントを投稿