Sqids is een open-source bibliotheek waarmee je korte unieke identifiers kunt genereren vanuit nummers. Deze ID's zijn URL-veilig, kunnen verschillende nummers encoderen en bevatten geen gangbare grove woorden. Lees meer .
Dit is hoe ze eruit zien:
Snel encode & decode voorbeeld:
case sqids (encode [1, 2, 3]) of
Left {} -> print "Something went wrong."
Right id -> print id -- "86Rf07"
case sqids (decode "86Rf07") of
Left {} -> print "Something went wrong."
Right numbers -> print numbers -- [1, 2, 3]
Als ID's te kort zijn, kun je ze opvullen tot een bepaalde lengte:
case runSqids defaultSqidsOptions{ minLength = 10 } (encode [1, 2, 3]) of
Left {} -> print "Something went wrong."
Right id -> print id -- "86Rf07xd4z"
Maak unieke ID's door het alfabet te schudden:
case runSqids defaultSqidsOptions{ alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt" } (encode [1, 2, 3]) of
Left {} -> print "Something went wrong."
Right id -> print id -- "XRKUdQ"
De volledige documentatie is te vinden op https://github.com/sqids/sqids-haskell
Als je op zoek bent naar het originele Hashids Haskell, je kunt het hier vinden: https://github.com/laserpants/hashids-haskell
Het hoofdgebruik van Sqids is puur visueel. Als je IDs in plaats van nummers wilt gebruiken in je project, kan Sqids een goede keuze zijn.