Skip to content

Commit 85baf89

Browse files
committed
fix compilation of example
1 parent 9471d15 commit 85baf89

File tree

3 files changed

+13
-31
lines changed

3 files changed

+13
-31
lines changed

example/src/Argonaut/Types.purs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import Data.Argonaut.Decode.Class as Argonaut
1313
import Data.Argonaut.Encode (class EncodeJson)
1414
import Data.Argonaut.Encode.Class (class EncodeJson, encodeJson)
1515
import Data.Argonaut.Encode.Class as Argonaut
16-
import Data.Bounded.Generic (genericBottom, genericTop)
1716
import Data.Either (Either)
18-
import Data.Enum (class Enum)
19-
import Data.Enum.Generic (genericPred, genericSucc)
2017
import Data.Generic.Rep (class Generic)
2118
import Data.Lens (Iso', Lens', Prism', iso, lens, prism')
2219
import Data.Lens.Iso.Newtype (_Newtype)
@@ -59,7 +56,7 @@ bazMessage = _Newtype <<< prop (Proxy :: _"_bazMessage")
5956

6057
--------------------------------------------------------------------------------
6158

62-
data ID a = ID
59+
newtype ID a = ID a
6360

6461
instance (EncodeJson a) => EncodeJson (ID a) where
6562
encodeJson = defer \_ -> genericEncodeAeson Argonaut.defaultOptions
@@ -73,23 +70,17 @@ derive instance (Ord a) => Ord (ID a)
7370

7471

7572

76-
instance Show (ID a) where
73+
instance (Show a) => Show (ID a) where
7774
show a = genericShow a
7875

7976
derive instance Generic (ID a) _
8077

81-
instance Enum (ID a) where
82-
succ = genericSucc
83-
pred = genericPred
84-
85-
instance Bounded (ID a) where
86-
bottom = genericBottom
87-
top = genericTop
78+
derive instance Newtype (ID a) _
8879

8980
--------------------------------------------------------------------------------
9081

91-
_ID :: forall a. Iso' (ID a) Unit
92-
_ID = iso (const unit) (const ID)
82+
_ID :: forall a. Iso' (ID a) a
83+
_ID = _Newtype
9384

9485
--------------------------------------------------------------------------------
9586

example/src/JsonHelpers/Types.purs

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ import Data.Argonaut.Encode.Aeson ((>$<), (>/\<))
1616
import Data.Argonaut.Encode.Aeson as E
1717
import Data.Argonaut.Encode.Class (class EncodeJson, encodeJson)
1818
import Data.Argonaut.Encode.Class as Argonaut
19-
import Data.Bounded.Generic (genericBottom, genericTop)
2019
import Data.Either (Either)
21-
import Data.Enum (class Enum)
22-
import Data.Enum.Generic (genericPred, genericSucc)
2320
import Data.Generic.Rep (class Generic)
2421
import Data.Lens (Iso', Lens', Prism', iso, lens, prism')
2522
import Data.Lens.Iso.Newtype (_Newtype)
@@ -66,37 +63,31 @@ bazMessage = _Newtype <<< prop (Proxy :: _"_bazMessage")
6663

6764
--------------------------------------------------------------------------------
6865

69-
data ID a = ID
66+
newtype ID a = ID a
7067

7168
instance (EncodeJson a) => EncodeJson (ID a) where
72-
encodeJson = defer \_ -> E.encode E.enum
69+
encodeJson = defer \_ -> E.encode $ unwrap >$< E.value
7370

7471
instance (DecodeJson a, DecodeJsonField a) => DecodeJson (ID a) where
75-
decodeJson = defer \_ -> D.decode D.enum
72+
decodeJson = defer \_ -> D.decode $ (ID <$> D.value)
7673

7774
derive instance (Eq a) => Eq (ID a)
7875

7976
derive instance (Ord a) => Ord (ID a)
8077

8178

8279

83-
instance Show (ID a) where
80+
instance (Show a) => Show (ID a) where
8481
show a = genericShow a
8582

8683
derive instance Generic (ID a) _
8784

88-
instance Enum (ID a) where
89-
succ = genericSucc
90-
pred = genericPred
91-
92-
instance Bounded (ID a) where
93-
bottom = genericBottom
94-
top = genericTop
85+
derive instance Newtype (ID a) _
9586

9687
--------------------------------------------------------------------------------
9788

98-
_ID :: forall a. Iso' (ID a) Unit
99-
_ID = iso (const unit) (const ID)
89+
_ID :: forall a. Iso' (ID a) a
90+
_ID = _Newtype
10091

10192
--------------------------------------------------------------------------------
10293

example/src/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ instance ToJSON Baz where
4949
makeLenses ''Baz
5050

5151
-- https://github.com/eskimor/purescript-bridge/pull/89#issuecomment-1890994859
52-
data ID a = ID
52+
data ID a = ID a
5353
deriving (Generic, Show)
5454

5555
deriving instance Eq a => Eq (ID a)

0 commit comments

Comments
 (0)