@@ -4,9 +4,7 @@ module Random.Token
44 , tokenToText
55 , asciiToToken
66 , textToToken
7−#ifndef ghcjs_HOST_OS
87 , generateToken
9−#endif
108 ) where
119
1210import Control.DeepSeq
@@ -21,11 +19,9 @@ import Data.Typeable
2119import Test.QuickCheck.Arbitrary
2220import Web.HttpApiData
2321
24−#ifndef ghcjs_HOST_OS
2522import Crypto.Random as R
2623import Database.PostgreSQL.Simple.FromField
2724import Database.PostgreSQL.Simple.ToField
28−#endif
2925
3026-- | 16 bytes lenght random value parametrized by label.
3127newtype Token (a :: k) = Token ByteString
@@ -44,7 +40,6 @@ instance FromJSON (Token a) where
4440instance ToJSON (Token a) where
4541 toJSON = toJSON . tokenToText
4642
47−#ifndef ghcjs_HOST_OS
4843instance forall a. (Typeable (Token a), Typeable a) => FromField (Token a) where
4944 fromField fld bs = do
5045 t <- fromField fld bs
@@ -57,7 +52,6 @@ instance ToField (Token a) where
5752
5853generateToken :: (MonadRandom m) => m (Token a)
5954generateToken = Token <$> R.getRandomBytes 16
60−#endif
6155
6256instance FromHttpApiData (Token a) where
6357 parseQueryParam = first T.pack . textToToken