git.iko.soy/typeable/random-token
on master help sign in
B2H-746: Make packages compatible with vanila reflex-platform (#6092)
commitd405065555dea7146879bec978a89cd14fb1ca6e authorVladislav Lagunov <vlad.lagunoff@gmail.com> dateWed 2 Jun 2021, 11:55 (5 years ago) parent13b772e
2 files changed+10−3
random-token.cabal+4−3 src/Random/Token.hs+6
random-token.cabal+4−3
@@ -17,11 +17,12 @@ library
1717 , aeson
1818 , base64-bytestring
1919 , bytestring
20+ , cryptonite
2021 , deepseq
2122 , http-api-data
2223 , text
23− , cryptonite
24− , postgresql-simple
24+ if !impl(ghcjs)
25+ build-depends: postgresql-simple
2526 default-language: Haskell2010
2627 default-extensions: CPP
2728 , ConstraintKinds
@@ -100,4 +101,4 @@ test-suite spec
100101 , TypeFamilies
101102 , TypeOperators
102103 , UndecidableInstances
103− , ViewPatterns
104+ , ViewPatterns
src/Random/Token.hs+6
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12module Random.Token
23 ( Token
34 , tokenToAscii
@@ -21,8 +22,11 @@ import Test.QuickCheck.Arbitrary
2122import Web.HttpApiData
2223
2324import Crypto.Random as R
25+
26+#ifndef ghcjs_HOST_OS
2427import Database.PostgreSQL.Simple.FromField
2528import Database.PostgreSQL.Simple.ToField
29+#endif
2630
2731-- | 16 bytes lenght random value parametrized by label.
2832newtype Token (a :: k) = Token ByteString
@@ -39,6 +43,7 @@ instance FromJSON (Token a) where
3943instance ToJSON (Token a) where
4044 toJSON = toJSON . tokenToText
4145
46+#ifndef ghcjs_HOST_OS
4247instance forall a. (Typeable (Token a), Typeable a) => FromField (Token a) where
4348 fromField fld bs = do
4449 t <- fromField fld bs
@@ -48,6 +53,7 @@ instance forall a. (Typeable (Token a), Typeable a) => FromField (Token a) where
4853
4954instance ToField (Token a) where
5055 toField = toField . tokenToText
56+#endif
5157
5258generateToken :: (MonadRandom m) => m (Token a)
5359generateToken = Token <$> R.getRandomBytes 16