Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- sqidsVersion :: String
- data SqidsOptions = SqidsOptions {}
- data SqidsError
- data SqidsContext s = SqidsContext {
- sqidsAlphabet :: !Text
- sqidsMinLength :: !Int
- sqidsBlocklist :: ![Text]
- emptySqidsContext :: SqidsContext s
- defaultSqidsOptions :: SqidsOptions
- type SqidsStack s m = ReaderT (SqidsContext s) (ExceptT SqidsError m)
- class Monad m => MonadSqids s m | m -> s where
- sqidsEncode :: [s] -> m Text
- sqidsDecode :: Text -> m [s]
- sqidsContext :: (MonadSqids s m, MonadError SqidsError m) => SqidsOptions -> m (SqidsContext s)
- newtype SqidsT s m a = SqidsT {
- unwrapSqidsT :: SqidsStack s m a
- type Sqids s = SqidsT s Identity
- runSqidsT :: (Integral s, Monad m) => SqidsOptions -> SqidsT s m a -> m (Either SqidsError a)
- sqidsT :: (Integral s, Monad m) => SqidsT s m a -> m (Either SqidsError a)
- runSqids :: Integral s => SqidsOptions -> Sqids s a -> Either SqidsError a
- sqids :: Integral s => Sqids s a -> Either SqidsError a
- filteredBlocklist :: Text -> [Text] -> [Text]
- rearrangeAlphabet :: Integral a => Int -> Text -> [a] -> Text
- encodeNumbers :: (Integral s, MonadSqids s m, MonadError SqidsError m, MonadReader (SqidsContext s) m) => [s] -> Int -> m Text
- decodeWithAlphabet :: Integral a => Text -> Text -> [a]
- decodeStep :: Integral a => (Text, Text) -> Maybe (a, (Text, Text))
- shuffle :: Text -> Text
- toId :: Integral a => a -> Text -> Text
- toNumber :: Integral a => Text -> Text -> a
- 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 #
SqidsNegativeNumberInInput | One or more numbers in the list passed to |
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 |
Instances
data SqidsContext s Source #
SqidsContext | |
|
Instances
defaultSqidsOptions :: SqidsOptions Source #
Default options
type SqidsStack s m = ReaderT (SqidsContext s) (ExceptT SqidsError m) Source #
class Monad m => MonadSqids s m | m -> s where Source #
:: [s] | A list of non-negative numbers to encode |
-> m Text | Returns the generated ID | Decode an ID back into a list of integers |
Encode a list of integers into an ID
:: Text | The encoded ID |
-> m [s] | Returns a list of numbers |
Instances
sqidsContext :: (MonadSqids s m, MonadError SqidsError m) => SqidsOptions -> m (SqidsContext s) Source #
Sqids constructor
Sqids monad transformer
SqidsT | |
|
Instances
Monad m => MonadError SqidsError (SqidsT s m) Source # | |
Defined in Web.Sqids.Internal 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 # | |
Defined in Web.Sqids.Internal sqidsEncode :: [s] -> SqidsT s m Text Source # sqidsDecode :: Text -> SqidsT s m [s] Source # | |
MonadTrans (SqidsT s) Source # | |
Defined in Web.Sqids.Internal | |
Monad m => MonadReader (SqidsContext s) (SqidsT s m) Source # | |
Defined in Web.Sqids.Internal 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 # | |
Defined in Web.Sqids.Internal | |
Monad m => Applicative (SqidsT s m) Source # | |
Defined in Web.Sqids.Internal | |
Functor m => Functor (SqidsT s m) Source # | |
Monad m => Monad (SqidsT s m) Source # | |
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`.
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`.
encodeNumbers :: (Integral s, MonadSqids s m, MonadError SqidsError m, MonadReader (SqidsContext s) m) => [s] -> Int -> m Text Source #