sqids-0.2.2.0: A small library that lets you generate YouTube-looking IDs from numbers.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Web.Sqids.Integer

Synopsis

Documentation

sqidsVersion :: String Source #

Sqids spec. version

data SqidsOptions Source #

Options that can be passed to runSqids or runSqidsT.

Constructors

SqidsOptions 

Fields

  • alphabet :: !Text

    The set of characters to use for encoding and decoding IDs.

  • minLength :: !Int

    The minimum allowed length of IDs.

  • blocklist :: ![Text]

    A list of words that must never appear in IDs.

data SqidsError Source #

Constructors

SqidsNegativeNumberInInput

One or more numbers in the list passed to encode are negative. Only non-negative integers can be used as input.

SqidsMaxEncodingAttempts

Maximum allowed attemps was reached during encoding

SqidsAlphabetContainsMultibyteCharacters

The alphabet cannot contain multi-byte characters.

SqidsAlphabetTooShort

The alphabet must be at least 3 characters long.

SqidsAlphabetRepeatedCharacters

The provided alphabet contains duplicate characters. E.g., "abcdefgg" is not a valid alphabet.

SqidsInvalidMinLength

The given minLength value is not within the valid range.

class Monad m => MonadSqids s m | m -> s Source #

Minimal complete definition

sqidsEncode, sqidsDecode

Instances

Instances details
MonadSqids s m => MonadSqids s (MaybeT m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> MaybeT m Text Source #

sqidsDecode :: Text -> MaybeT m [s] Source #

(Integral s, Monad m) => MonadSqids s (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> SqidsT s m Text Source #

sqidsDecode :: Text -> SqidsT s m [s] Source #

MonadSqids s m => MonadSqids s (ExceptT e m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> ExceptT e m Text Source #

sqidsDecode :: Text -> ExceptT e m [s] Source #

MonadSqids s m => MonadSqids s (ReaderT r m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> ReaderT r m Text Source #

sqidsDecode :: Text -> ReaderT r m [s] Source #

MonadSqids s m => MonadSqids s (SelectT r m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> SelectT r m Text Source #

sqidsDecode :: Text -> SelectT r m [s] Source #

MonadSqids s m => MonadSqids s (StateT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> StateT s m Text Source #

sqidsDecode :: Text -> StateT s m [s] Source #

(MonadSqids s m, Monoid w) => MonadSqids s (WriterT w m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> WriterT w m Text Source #

sqidsDecode :: Text -> WriterT w m [s] Source #

MonadSqids s m => MonadSqids s (ContT r m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> ContT r m Text Source #

sqidsDecode :: Text -> ContT r m [s] Source #

data SqidsT s m a Source #

Sqids monad transformer

Instances

Instances details
Monad m => MonadError SqidsError (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

throwError :: SqidsError -> SqidsT s m a #

catchError :: SqidsT s m a -> (SqidsError -> SqidsT s m a) -> SqidsT s m a #

(Integral s, Monad m) => MonadSqids s (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

sqidsEncode :: [s] -> SqidsT s m Text Source #

sqidsDecode :: Text -> SqidsT s m [s] Source #

MonadTrans (SqidsT s) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

lift :: Monad m => m a -> SqidsT s m a #

Monad m => MonadReader (SqidsContext s) (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

ask :: SqidsT s m (SqidsContext s) #

local :: (SqidsContext s -> SqidsContext s) -> SqidsT s m a -> SqidsT s m a #

reader :: (SqidsContext s -> a) -> SqidsT s m a #

MonadIO m => MonadIO (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

liftIO :: IO a -> SqidsT s m a #

Monad m => Applicative (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

pure :: a -> SqidsT s m a #

(<*>) :: SqidsT s m (a -> b) -> SqidsT s m a -> SqidsT s m b #

liftA2 :: (a -> b -> c) -> SqidsT s m a -> SqidsT s m b -> SqidsT s m c #

(*>) :: SqidsT s m a -> SqidsT s m b -> SqidsT s m b #

(<*) :: SqidsT s m a -> SqidsT s m b -> SqidsT s m a #

Functor m => Functor (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

fmap :: (a -> b) -> SqidsT s m a -> SqidsT s m b #

(<$) :: a -> SqidsT s m b -> SqidsT s m a #

Monad m => Monad (SqidsT s m) Source # 
Instance details

Defined in Web.Sqids.Internal

Methods

(>>=) :: SqidsT s m a -> (a -> SqidsT s m b) -> SqidsT s m b #

(>>) :: SqidsT s m a -> SqidsT s m b -> SqidsT s m b #

return :: a -> SqidsT s m a #

runSqidsT :: (Integral s, Monad m) => SqidsOptions -> SqidsT s m a -> m (Either SqidsError a) Source #

Evaluate a SqidsT computation with the given options.

sqidsT :: (Integral s, Monad m) => SqidsT s m a -> m (Either SqidsError a) Source #

Evaluate a SqidsT computation with the default options. This is a short form for `runSqidsT defaultSqidsOptions`.

type Sqids s = SqidsT s Identity Source #

Sqids monad

runSqids :: Integral s => SqidsOptions -> Sqids s a -> Either SqidsError a Source #

Evaluate a Sqids computation with the given options.

sqids :: Integral s => Sqids s a -> Either SqidsError a Source #

Evaluate a Sqids computation with the default options. This is a short form for `runSqids defaultSqidsOptions`.