Sqidsは、数値から短い一意の識別子を生成できるオープンソースのライブラリです。これらのIDはURLセーフであり、複数の数値をエンコードでき、一般的な卑語を含んでいません。 もっと読む .
こう見えます:
クイックエンコード&デコードの例:
import Sqids
Sqids.encode [ 1, 2, 3 ] -- (Ok "86Rf07")
Sqids.decode "86Rf07" -- (Ok [ 1, 2, 3 ])
IDが短すぎる場合は、特定の長さまでパディングすることができます:
import Sqids
import Sqids.Context
context : Sqids.Context.Context
context = -- set minimum length to 10 in context (check docs)
Sqids.encodeWith context [ 1, 2, 3 ] -- (Ok "86Rf07xd4z")
Sqids.decodeWith context "86Rf07xd4z" -- (Ok [ 1, 2, 3 ])
アルファベットをシャッフルしてユニークなIDを作成する:
import Sqids
import Sqids.Context
context : Sqids.Context.Context
context = -- set custom alphabet to "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt" in context (check docs)
Sqids.encodeWith context [ 1, 2, 3 ] -- (Ok "XRKUdQ")
Sqids.decodeWith context "XRKUdQ" -- (Ok [ 1, 2, 3 ])
完全なドキュメントはこちら https://github.com/sqids/sqids-elm
元のHashids Elmをお探しの場合は、こちらで見つけることができます: https://github.com/pdamoc/elm-hashids
Sqidsの主な用途は純粋に視覚的です。プロジェクトで数字の代わりにIDを使用したい場合、Sqidsは良い選択肢になるかもしれません。