git.iko.soy/rowtype-yoga/purescript-yoga-json
on main help sign in
Add pretty printing (#19)

Via `writeJSONPretty n`

commite8cca7a291ec271acca56d3102ec11d82944eba9 authorMark Eibes <mark.eibes@gmail.com> dateThu 23 Feb 2023, 17:57 (4 years ago) parent2408fd8
2 files changed+13
src/Yoga/JSON.js+1 src/Yoga/JSON.purs+12
src/Yoga/JSON.js+1
@@ -16,3 +16,4 @@ function replacer(key, value) {
1616}
1717
1818export const _unsafeStringify = (data) => JSON.stringify(data, replacer);
19+export const _unsafePrettyStringify = spaces => data => JSON.stringify(data, replacer, spaces);
src/Yoga/JSON.purs+12
@@ -4,6 +4,7 @@ module Yoga.JSON
44 , readJSON'
55 , readJSON_
66 , writeJSON
7+ , writePrettyJSON
78 , write
89 , read
910 , read'
@@ -113,6 +114,9 @@ readJSON_ = hush <<< readJSON
113114-- | JSON.stringify
114115foreign import _unsafeStringify ∷ ∀ a. a → String
115116
117+-- | JSON.stringify with a number of spaces
118+foreign import _unsafePrettyStringify ∷ ∀ a. Int -> a → String
119+
116120unsafeStringify ∷ ∀ a. a → String
117121unsafeStringify = _unsafeStringify
118122
@@ -124,6 +128,14 @@ writeJSON ∷
124128 String
125129writeJSON = _unsafeStringify <<< writeImpl
126130
131+writePrettyJSON ∷
132+ ∀ a.
133+ WriteForeign a ⇒
134+ Int →
135+ a →
136+ String
137+writePrettyJSON spaces = _unsafePrettyStringify spaces <<< writeImpl
138+
127139write ∷
128140 ∀ a.
129141 WriteForeign a ⇒