Skip to content

jesperoman/sqids-scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sqids-scala

An implementation of sqids for scala

Basic usage

Create a Sqids instance:

scala> import sqids._
import sqids._

scala> val s = Sqids.default
val s: sqids.Sqids = sqids.Sqids$$anon$1@72bff23a

scala> s.encodeUnsafeString(1,2,3)
val res0: String = 8QRLaD

scala> s.decode("8QRLaD")
val res1: List[Int] = List(1, 2, 3)

Custom options

scala> import sqids.options._
import sqids.options._

scala> import sqids._
import sqids._

scala> val s = (for {
     |   alphabet <- Alphabet("abcdefghij")
     |   minLength = 5
     |   blocklist = Blocklist(Set("ab","cd"))
     |   options <- SqidsOptions(alphabet, minLength, blocklist)
     | } yield Sqids(options)).toOption.get
     |
val s: sqids.Sqids = sqids.Sqids$$anon$1@501cb2db

scala> s.encode(0)
val res2: Either[sqids.SqidsError,sqids.Sqid] = Right(adcid)

scala> s.decode("adcid")
val res3: List[Int] = List(0)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages