Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- sqidsVersion :: String
- data SqidsOptions = SqidsOptions {}
- data SqidsError
- data SqidsContext = SqidsContext {
- sqidsAlphabet :: !Text
- sqidsMinLength :: !Int
- sqidsBlocklist :: ![Text]
- emptySqidsContext :: SqidsContext
- defaultSqidsOptions :: SqidsOptions
- type SqidsStack m = ReaderT SqidsContext (ExceptT SqidsError m)
- class Monad m => MonadSqids m where
- sqidsOptions :: (MonadSqids m, MonadError SqidsError m) => SqidsOptions -> m SqidsContext
- newtype SqidsT m a = SqidsT {
- unwrapSqidsT :: SqidsStack m a
- newtype Sqids a = Sqids {
- unwrapSqids :: SqidsT Identity a
- runSqidsT :: Monad m => SqidsOptions -> SqidsT m a -> m (Either SqidsError a)
- sqidsT :: Monad m => SqidsT m a -> m (Either SqidsError a)
- runSqids :: SqidsOptions -> Sqids a -> Either SqidsError a
- sqids :: Sqids a -> Either SqidsError a
- filteredBlocklist :: Text -> [Text] -> [Text]
- rearrangeAlphabet :: Text -> [Int] -> Text
- encodeNumbers :: (MonadSqids m, MonadError SqidsError m, MonadReader SqidsContext m) => [Int] -> Bool -> m Text
- decodeWithAlphabet :: Text -> Text -> [Int]
- decodeStep :: (Text, Text) -> Maybe (Int, (Text, Text))
- shuffle :: Text -> Text
- toId :: Int -> Text -> Text
- toNumber :: Text -> Text -> Int
- isBlockedId :: [Text] -> Text -> Bool
Documentation
sqidsVersion :: String Source #
Sqids spec. version
data SqidsOptions Source #
Instances
Show SqidsOptions Source # | |
Defined in Web.Sqids.Internal showsPrec :: Int -> SqidsOptions -> ShowS # show :: SqidsOptions -> String # showList :: [SqidsOptions] -> ShowS # | |
Eq SqidsOptions Source # | |
Defined in Web.Sqids.Internal (==) :: SqidsOptions -> SqidsOptions -> Bool # (/=) :: SqidsOptions -> SqidsOptions -> Bool # | |
Ord SqidsOptions Source # | |
Defined in Web.Sqids.Internal compare :: SqidsOptions -> SqidsOptions -> Ordering # (<) :: SqidsOptions -> SqidsOptions -> Bool # (<=) :: SqidsOptions -> SqidsOptions -> Bool # (>) :: SqidsOptions -> SqidsOptions -> Bool # (>=) :: SqidsOptions -> SqidsOptions -> Bool # max :: SqidsOptions -> SqidsOptions -> SqidsOptions # min :: SqidsOptions -> SqidsOptions -> SqidsOptions # |
data SqidsError Source #
Errors that can occur during encoding and decoding.
SqidsAlphabetTooShort | The alphabet must be at least 5 characters long. |
SqidsAlphabetRepeatedCharacters | The provided alphabet contains duplicate characters. E.g., "abcdefgg" is not a valid alphabet. |
SqidsInvalidMinLength | The given |
SqidsNegativeNumberInInput | One or more numbers in the list passed to |
Instances
data SqidsContext Source #
SqidsContext | |
|
Instances
defaultSqidsOptions :: SqidsOptions Source #
Default options
type SqidsStack m = ReaderT SqidsContext (ExceptT SqidsError m) Source #
class Monad m => MonadSqids m where Source #
Encode a list of integers into an ID
Decode an ID back into a list of integers
Instances
MonadSqids Sqids Source # | |
Monad m => MonadSqids (SqidsT m) Source # | |
MonadSqids m => MonadSqids (MaybeT m) Source # | |
MonadSqids m => MonadSqids (ExceptT e m) Source # | |
MonadSqids m => MonadSqids (ReaderT r m) Source # | |
MonadSqids m => MonadSqids (SelectT r m) Source # | |
MonadSqids m => MonadSqids (StateT s m) Source # | |
(MonadSqids m, Monoid w) => MonadSqids (WriterT w m) Source # | |
MonadSqids m => MonadSqids (ContT r m) Source # | |
sqidsOptions :: (MonadSqids m, MonadError SqidsError m) => SqidsOptions -> m SqidsContext Source #
Sqids constructor
Sqids monad transformer
SqidsT | |
|
Instances
MonadTrans SqidsT Source # | |
Defined in Web.Sqids.Internal | |
Monad m => MonadError SqidsError (SqidsT m) Source # | |
Defined in Web.Sqids.Internal throwError :: SqidsError -> SqidsT m a # catchError :: SqidsT m a -> (SqidsError -> SqidsT m a) -> SqidsT m a # | |
Monad m => MonadReader SqidsContext (SqidsT m) Source # | |
Defined in Web.Sqids.Internal ask :: SqidsT m SqidsContext # local :: (SqidsContext -> SqidsContext) -> SqidsT m a -> SqidsT m a # reader :: (SqidsContext -> a) -> SqidsT m a # | |
MonadIO m => MonadIO (SqidsT m) Source # | |
Defined in Web.Sqids.Internal | |
Monad m => Applicative (SqidsT m) Source # | |
Functor m => Functor (SqidsT m) Source # | |
Monad m => Monad (SqidsT m) Source # | |
Monad m => MonadSqids (SqidsT m) Source # | |
Sqids | |
|
Instances
Applicative Sqids Source # | |
Functor Sqids Source # | |
Monad Sqids Source # | |
MonadSqids Sqids Source # | |
MonadError SqidsError Sqids Source # | |
Defined in Web.Sqids.Internal throwError :: SqidsError -> Sqids a # catchError :: Sqids a -> (SqidsError -> Sqids a) -> Sqids a # | |
MonadReader SqidsContext Sqids Source # | |
Defined in Web.Sqids.Internal ask :: Sqids SqidsContext # local :: (SqidsContext -> SqidsContext) -> Sqids a -> Sqids a # reader :: (SqidsContext -> a) -> Sqids a # |
runSqidsT :: Monad m => SqidsOptions -> SqidsT m a -> m (Either SqidsError a) Source #
Evaluate a SqidsT
computation with the given options.
sqidsT :: Monad m => SqidsT m a -> m (Either SqidsError a) Source #
Evaluate a SqidsT
computation with the default options. This is a short
form for `runSqidsT defaultSqidsOptions`.
runSqids :: SqidsOptions -> Sqids a -> Either SqidsError a Source #
Evaluate a Sqids
computation with the given options.
sqids :: Sqids a -> Either SqidsError a Source #
Evaluate a Sqids
computation with the default options. This is a short
form for `runSqids defaultSqidsOptions`.
encodeNumbers :: (MonadSqids m, MonadError SqidsError m, MonadReader SqidsContext m) => [Int] -> Bool -> m Text Source #