Skip to content

Commit d4d67bb

Browse files
authored
Merge pull request #34 from mbbx6spp/mbbx6spp/add-pointers-to-serialization-deserialization-docs
Update Usage example to be less confusing to newer PureScript developers
2 parents f8766cb + c29c4d7 commit d4d67bb

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

README.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,24 @@ import Data.Argonaut.Core as J
2626
import Data.Codec.Argonaut as CA
2727
import Data.Either (Either)
2828
29-
encodeString ∷ String → J.Json
30-
encodeString = CA.encode CA.string
29+
codec = CA.array CA.string
30+
31+
encodeStringArray ∷ Array String → J.Json
32+
encodeStringArray = CA.encode codec
33+
34+
decodeStringArray ∷ J.Json → Either CA.JsonDecodeError (Array String)
35+
decodeStringArray = CA.decode codec
36+
```
37+
38+
To parse a serialized `String` into a `J.Json` structure use the [`Parser.jsonParser`](https://pursuit.purescript.org/packages/purescript-argonaut-core/5.1.0/docs/Data.Argonaut.Parser).
39+
40+
To /"stringify"/ (serialize) your `Array String` to a serialized JSON `String` we would use the [`stringify`](https://pursuit.purescript.org/packages/purescript-argonaut-core/5.1.0/docs/Data.Argonaut.Core#v:stringify) like so:
41+
42+
``` purescript
43+
import Control.Category ((>>>))
3144
32-
decodeString ∷ J.Json → Either CA.JsonDecodeError String
33-
decodeString = CA.decode CA.string
45+
serialize :: Array String -> String
46+
serialize = encodeStringArray >>> J.stringify
3447
```
3548

3649
### Basic codecs

0 commit comments

Comments
 (0)