Sqids - це бібліотека з відкритим вихідним кодом, яка дозволяє генерувати короткі унікальні ідентифікатори з чисел. Ці ідентифікатори безпечні для 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 - це виключно візуальне. Якщо ви хочете використовувати ідентифікатори замість чисел у своєму проекті, Sqids може бути хорошим вибором.