@@ -4,9 +4,12 @@
4{-# OPTIONS_GHC -Wno-orphans #-}
4{-# OPTIONS_GHC -Wno-orphans #-}
6module Data.Id
6module Data.Id
7− ( Id, mkId, unId, randomId, unsafeIdTagConvert, coerceId, _Id, nilId
7+ ( Id, mkId, unId, unsafeIdTagConvert, coerceId, _Id, nilId
8 , IntId, mkIntId, unIntId, unsafeIntIdTagConvert, coerceIntId, _IntId
8 , IntId, mkIntId, unIntId, unsafeIntIdTagConvert, coerceIntId, _IntId
9 , Name, mkName, unName, unsafeNameTagConvert, coerceName, _Name
9 , Name, mkName, unName, unsafeNameTagConvert, coerceName, _Name
@@ -20,15 +23,17 @@ import Data.Data
20import Data.Hashable (Hashable)
23import Data.Hashable (Hashable)
21import Data.String
24import Data.String
22import Data.Text as T
25import Data.Text as T
23−import Data.UUID (UUID)
26+import Data.UUID.Types (UUID)
24−import qualified Data.UUID as UUID
27+import qualified Data.UUID.Types as UUID
25−import qualified Data.UUID.V4 as UUID.V4
26import GHC.TypeLits
28import GHC.TypeLits
27import Prelude as P
29import Prelude as P
28import Text.ParserCombinators.ReadP
30import Text.ParserCombinators.ReadP
29import Web.HttpApiData
31import Web.HttpApiData
30import Web.PathPieces (PathPiece(..))
32import Web.PathPieces (PathPiece(..))
35+import qualified Data.UUID.V4 as UUID.V4
32#ifdef BACKEND
37#ifdef BACKEND
33import Data.OpenApi
38import Data.OpenApi
34import Test.QuickCheck
39import Test.QuickCheck
@@ -71,9 +76,11 @@ mkId :: forall s. UUID -> Id s
71mkId = coerce
76mkId = coerce
72{-# INLINE mkId #-}
77{-# INLINE mkId #-}
74randomId :: forall s. IO (Id s)
80randomId :: forall s. IO (Id s)
75randomId = coerce <$> UUID.V4.nextRandom
81randomId = coerce <$> UUID.V4.nextRandom
76{-# INLINE randomId #-}
82{-# INLINE randomId #-}
78instance KnownSymbol s => Show (Id s) where
85instance KnownSymbol s => Show (Id s) where
79 show (Id v) = "Id-" <> symbolVal (Proxy @s) <> "-" <> P.show v
86 show (Id v) = "Id-" <> symbolVal (Proxy @s) <> "-" <> P.show v