git.iko.soy/typeable/schematic
on master help sign in
Upd: remove excessive constraints
120b680Aleksey Uimanov
src/Data/Schematic/Lens.hs+8−10
@@ -150,39 +150,37 @@ instance
150
150
151-- A bunch of @Iso@morphisms
151-- A bunch of @Iso@morphisms
152textRepr
152textRepr
153− :: (KnownSymbol fn, SingI fn, SingI cs)
153+ :: (KnownSymbol fn, SingI cs)
154 => Iso' (FieldRepr '(fn, ('SchemaText cs))) Text
154 => Iso' (FieldRepr '(fn, ('SchemaText cs))) Text
155textRepr = iso (\(FieldRepr (ReprText t)) -> t) (FieldRepr . ReprText)
155textRepr = iso (\(FieldRepr (ReprText t)) -> t) (FieldRepr . ReprText)
156
156
157numberRepr
157numberRepr
158− :: (KnownSymbol fn, SingI fn, SingI cs)
158+ :: (KnownSymbol fn, SingI cs)
159 => Iso' (FieldRepr '(fn, ('SchemaNumber cs))) Scientific
159 => Iso' (FieldRepr '(fn, ('SchemaNumber cs))) Scientific
160numberRepr = iso (\(FieldRepr (ReprNumber n)) -> n) (FieldRepr . ReprNumber)
160numberRepr = iso (\(FieldRepr (ReprNumber n)) -> n) (FieldRepr . ReprNumber)
161
161
162boolRepr
162boolRepr
163− :: (KnownSymbol fn, SingI fn, SingI cs)
163+ :: (KnownSymbol fn)
164 => Iso' (FieldRepr '(fn, 'SchemaBoolean)) Bool
164 => Iso' (FieldRepr '(fn, 'SchemaBoolean)) Bool
165boolRepr = iso (\(FieldRepr (ReprBoolean b)) -> b) (FieldRepr . ReprBoolean)
165boolRepr = iso (\(FieldRepr (ReprBoolean b)) -> b) (FieldRepr . ReprBoolean)
166
166
167arrayRepr
167arrayRepr
168− :: (KnownSymbol fn, SingI fn, SingI cs, SingI schema)
168+ :: (KnownSymbol fn, SingI cs, SingI schema)
169 => Iso' (FieldRepr '(fn, ('SchemaArray cs schema))) (V.Vector (JsonRepr schema))
169 => Iso' (FieldRepr '(fn, ('SchemaArray cs schema))) (V.Vector (JsonRepr schema))
170arrayRepr = iso (\(FieldRepr (ReprArray a)) -> a) (FieldRepr . ReprArray)
170arrayRepr = iso (\(FieldRepr (ReprArray a)) -> a) (FieldRepr . ReprArray)
171
171
172objectRepr
172objectRepr
173− :: (KnownSymbol fn, SingI fn, SingI fields)
173+ :: (KnownSymbol fn, SingI fields)
174 => Iso' (FieldRepr '(fn, ('SchemaObject fields))) (Rec FieldRepr fields)
174 => Iso' (FieldRepr '(fn, ('SchemaObject fields))) (Rec FieldRepr fields)
175objectRepr = iso (\(FieldRepr (ReprObject o)) -> o) (FieldRepr . ReprObject)
175objectRepr = iso (\(FieldRepr (ReprObject o)) -> o) (FieldRepr . ReprObject)
176
176
177optionalRepr
177optionalRepr
178− :: (KnownSymbol fn, SingI fn, SingI schema)
178+ :: (KnownSymbol fn, SingI schema)
179 => Iso' (FieldRepr '(fn, ('SchemaOptional schema))) (Maybe (JsonRepr schema))
179 => Iso' (FieldRepr '(fn, ('SchemaOptional schema))) (Maybe (JsonRepr schema))
180optionalRepr = iso (\(FieldRepr (ReprOptional r)) -> r) (FieldRepr . ReprOptional)
180optionalRepr = iso (\(FieldRepr (ReprOptional r)) -> r) (FieldRepr . ReprOptional)
181
181
182−obj :: (SingI fields) => Iso' (JsonRepr ('SchemaObject fields)) (Rec FieldRepr fields)
182+obj :: Iso' (JsonRepr ('SchemaObject fields)) (Rec FieldRepr fields)
183obj = iso (\(ReprObject r) -> r) ReprObject
183obj = iso (\(ReprObject r) -> r) ReprObject
184
184
185−arr
186− :: (SingI schema)
187− => Iso' (JsonRepr ('SchemaArray cs schema)) (V.Vector (JsonRepr schema))
185+arr :: Iso' (JsonRepr ('SchemaArray cs schema)) (V.Vector (JsonRepr schema))
188arr = iso (\(ReprArray r) -> r) ReprArray
186arr = iso (\(ReprArray r) -> r) ReprArray