@@ -5,9 +5,11 @@ module Random.Token
55 , tokenToText
66 , asciiToToken
77 , textToToken
8− , generateToken
98 , unsafeCoerceToken
109 , tokenWithContents
10+#ifndef ghcjs_HOST_OS
11+ , generateToken
12+#endif
1113 ) where
1214
1315import Control.DeepSeq
@@ -22,9 +24,9 @@ import Data.Typeable
2224import Test.QuickCheck.Arbitrary
2325import Web.HttpApiData
2426
25−import Crypto.Random as R
2627
2728#ifndef ghcjs_HOST_OS
29+import Crypto.Random as R
2830import Database.PostgreSQL.Simple.FromField
2931import Database.PostgreSQL.Simple.ToField
3032#endif
@@ -54,11 +56,12 @@ instance forall a. (Typeable (Token a), Typeable a) => FromField (Token a) where
5456
5557instance ToField (Token a) where
5658 toField = toField . tokenToText
57−#endif
5859
5960generateToken :: (MonadRandom m) => m (Token a)
6061generateToken = Token <$> R.getRandomBytes 16
6162
63+#endif
64+
6265instance FromHttpApiData (Token a) where
6366 parseQueryParam = first T.pack . textToToken
6467