This repository was archived by the owner on Jun 15, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed
Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ module Data.Json.Extended
55 , boolean
66 , integer
77 , decimal
8+ , number
89 , string
910 , map
1011 , map'
@@ -24,6 +25,7 @@ module Data.Json.Extended
2425 , _Boolean
2526 , _Integer
2627 , _Decimal
28+ , _Number
2729 , _Array
2830 , _Map
2931 , _Map'
@@ -89,6 +91,9 @@ integer = embed <<< Sig.Integer
8991decimal ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ HN.HugeNum → t
9092decimal = embed <<< Sig.Decimal
9193
94+ number ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ E.Either HI.HugeInt HN.HugeNum → t
95+ number = embed <<< E .either Sig.Integer Sig.Decimal
96+
9297string ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ String → t
9398string = embed <<< Sig.String
9499
@@ -131,6 +136,12 @@ _Decimal = prism' decimal $ project >>> case _ of
131136 Sig.Decimal d → M.Just d
132137 _ → M.Nothing
133138
139+ _Number ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t (E.Either HI.HugeInt HN.HugeNum )
140+ _Number = prism' number $ project >>> case _ of
141+ Sig.Integer i → M.Just (E.Left i)
142+ Sig.Decimal d → M.Just (E.Right d)
143+ _ → M.Nothing
144+
134145_Array ∷ ∀ t . Corecursive t Sig.EJsonF ⇒ Recursive t Sig.EJsonF ⇒ Prism' t (Array t )
135146_Array = prism' array $ project >>> case _ of
136147 Sig.Array xs → M.Just xs
You can’t perform that action at this time.
0 commit comments