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