git.iko.soy/rowtype-yoga/purescript-fetch-yoga-json
on main help sign in
Use human error
commitb8a916ffbbd35ceb0cb6b60f9be1f0e484f32510 authorMark Eibes <mark.eibes@gmail.com> dateMon 22 Aug 2022, 10:59 (4 years ago) parent25fb95c
2 files changed+29−2
packages.dhall+26 src/Fetch/Yoga/Json.purs+3−2
packages.dhall+26
@@ -4,3 +4,29 @@ let upstream =
44 sha256:60eee64b04ca0013fae3e02a69fc3b176105c6baa2f31865c67cd5f881a412fd
55
66in upstream
7+ with yoga-json.version = "v3.0.2"
8+ with yoga-json.dependencies =
9+ [
10+ "arrays",
11+ "bifunctors",
12+ "bigints",
13+ "control",
14+ "effect",
15+ "either",
16+ "exceptions",
17+ "foldable-traversable",
18+ "foreign",
19+ "foreign-object",
20+ "identity",
21+ "js-date",
22+ "lists",
23+ "maybe",
24+ "nullable",
25+ "partial",
26+ "prelude",
27+ "record",
28+ "transformers",
29+ "typelevel-prelude",
30+ "variant"
31+ ]
32+
src/Fetch/Yoga/Json.purs+3−2
@@ -10,11 +10,12 @@ import Data.Either (either)
1010import Data.List.NonEmpty (NonEmptyList, fold1)
1111import Effect.Aff (Aff)
1212import Effect.Exception (Error, error)
13−import Foreign (Foreign, ForeignError, renderForeignError)
13+import Foreign (Foreign, ForeignError)
1414import Yoga.JSON as Yoga
15+import Yoga.JSON.Error (renderHumanError)
1516
1617fromJSON :: forall json. Yoga.ReadForeign json ⇒ Aff Foreign -> Aff json
1718fromJSON json = json >>= Yoga.read >>> either (toError >>> throwError) pure
1819 where
1920 toError :: NonEmptyList ForeignError -> Error
20− toError = map renderForeignError >>> fold1 >>> error
21+ toError = map renderHumanError >>> fold1 >>> error