@@ -22,10 +22,11 @@ import Data.Array (uncons)
22
22
import Data.Bifunctor (lmap )
23
23
import Data.Either (Either (..), note )
24
24
import Data.Generic.Rep as Rep
25
- import Data.Symbol (class IsSymbol , SProxy (..), reflectSymbol )
25
+ import Data.Symbol (class IsSymbol , reflectSymbol )
26
26
import Foreign.Object as FO
27
27
import Partial.Unsafe (unsafeCrashWith )
28
28
import Prim.TypeError (class Fail , Text )
29
+ import Type.Proxy (Proxy (..))
29
30
30
31
class DecodeRep r where
31
32
decodeRepWith :: Encoding -> Json -> Either JsonDecodeError r
@@ -86,13 +87,13 @@ construct e valuesArray decodingErr = do
86
87
87
88
instance decodeRepConstructorNoArgs :: IsSymbol name => DecodeRep (Rep.Constructor name Rep.NoArguments ) where
88
89
decodeRepWith e j = do
89
- let name = reflectSymbol (SProxy :: SProxy name )
90
+ let name = reflectSymbol (Proxy :: Proxy name )
90
91
{tag, decodingErr} <- withTag e j name
91
92
construct e [] decodingErr
92
93
else
93
94
instance decodeRepConstructorArg :: (IsSymbol name , DecodeJson a ) => DecodeRep (Rep.Constructor name (Rep.Argument a )) where
94
95
decodeRepWith e j = do
95
- let name = reflectSymbol (SProxy :: SProxy name )
96
+ let name = reflectSymbol (Proxy :: Proxy name )
96
97
{tag, values, decodingErr} <- withTagAndValues e j name
97
98
if e.unwrapSingleArguments
98
99
then construct e [values] decodingErr
@@ -102,7 +103,7 @@ instance decodeRepConstructorArg :: (IsSymbol name, DecodeJson a) => DecodeRep (
102
103
else
103
104
instance decodeRepConstructor :: (IsSymbol name , DecodeRepArgs a ) => DecodeRep (Rep.Constructor name a ) where
104
105
decodeRepWith e j = do
105
- let name = reflectSymbol (SProxy :: SProxy name )
106
+ let name = reflectSymbol (Proxy :: Proxy name )
106
107
{tag, values, decodingErr} <- withTagAndValues e j name
107
108
valuesArray <- note (decodingErr $ AtKey e.valuesKey $ TypeMismatch " Array" ) (toArray values)
108
109
construct e valuesArray decodingErr
@@ -150,7 +151,7 @@ instance decodeLiteralSumInst :: (DecodeLiteral a, DecodeLiteral b) => DecodeLit
150
151
151
152
instance decodeLiteralConstructor :: (IsSymbol name ) => DecodeLiteral (Rep.Constructor name (Rep.NoArguments )) where
152
153
decodeLiteral tagNameTransform j = do
153
- let name = reflectSymbol (SProxy :: SProxy name )
154
+ let name = reflectSymbol (Proxy :: Proxy name )
154
155
let decodingErr = Named name
155
156
tag <- note (decodingErr $ TypeMismatch " String" ) (toString j)
156
157
when (tag /= tagNameTransform name) $
0 commit comments