Sqids es una biblioteca de código abierto que te permite generar identificadores cortos únicos a partir de números. Estos IDs son seguros para URL, pueden codificar varios números y no contienen palabras malsonantes comunes. Leer más .
Así es cómo lucen:
Ejemplo rápido de codificación y decodificación:
import Sqids
Sqids.encode [ 1, 2, 3 ] -- (Ok "86Rf07")
Sqids.decode "86Rf07" -- (Ok [ 1, 2, 3 ])
Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:
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 ])
Crea IDs únicos al barajar el alfabeto:
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 ])
La documentación completa está en https://github.com/sqids/sqids-elm
Si estás buscando el Hashids Elm original, puedes encontrarlo aquí: https://github.com/pdamoc/elm-hashids
El uso principal de Sqids es puramente visual. Si prefieres usar IDs en lugar de números en tu proyecto, Sqids podría ser una buena elección.