Skip to content

Commit 6066c7c

Browse files
namenumununki
andauthored
Support ReScript v11-rc.5 (#61)
Co-authored-by: mununki <[email protected]>
1 parent e572c98 commit 6066c7c

28 files changed

+103
-102
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- a190663 Utilize Js.Json.Boolean(bool) instead oif Js.Json.True, False https://github.com/green-labs/ppx_spice/pull/58
66
- a190663 Add support of uncurried mode for interface(*.resi) https://github.com/green-labs/ppx_spice/pull/58
7+
- Support the compiler v11-rc.5 https://github.com/green-labs/ppx_spice/pull/61
78

89
## 0.2.0
910

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ let t_decode = ...
9292
9393
let encoded = One->t_encode // Js.Json.string(`하나`)
9494
95-
let decoded = Js.Json.string(`second`)->t_decode // Belt.Result.Ok(Two)
95+
let decoded = Js.Json.string(`second`)->t_decode // Ok(Two)
9696
```
9797

9898
2. Record
@@ -117,7 +117,7 @@ let sampleRecord: t = {
117117
118118
let encoded = sampleRecord->Records.t_encode // sampleJson
119119
120-
let decoded = sampleJson->Records.t_decode // Belt.Result.Ok(sampleRecord)
120+
let decoded = sampleJson->Records.t_decode // Ok(sampleRecord)
121121
```
122122

123123
## Getting Started

docs/GUIDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ type user = {
2626
nickname?: string,
2727
}
2828
29-
let user: Belt.Result.t<user, Spice.decodeError> = data->user_decode // user_decode is generated by ppx_spice
29+
let user: result<user, Spice.decodeError> = data->user_decode // user_decode is generated by ppx_spice
3030
3131
let json: Js.Json.t = user->Belt.Result.getExn->user_encode // user_encode is generated by ppx_spice
3232
```
@@ -58,7 +58,7 @@ type user = {
5858
language: language,
5959
}
6060
61-
let user: Belt.Result.t<user, Spice.decodeError> = json->user_decode
61+
let user: result<user, Spice.decodeError> = json->user_decode
6262
6363
let json: Js.Json.t = user->Result.getExn->user_encode
6464
```

examples/src/Tuple.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ let data = %raw(`
1616
}
1717
`)
1818

19-
let user: Belt.Result.t<user, Spice.decodeError> = data->user_decode
19+
let user: result<user, Spice.decodeError> = data->user_decode
2020

2121
let json: Js.Json.t = user->Result.getExn->user_encode

examples/src/UntaggedVariant.res

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ let t0_decode = v =>
2525
if Js.Array.length(json_arr) != 1 {
2626
Spice.error("Invalid number of arguments to variant constructor", v)
2727
} else {
28-
Belt.Result.Ok(A)
28+
Ok(A)
2929
}
3030
| Js.Json.String("B") =>
3131
if Js.Array.length(json_arr) != 1 {
3232
Spice.error("Invalid number of arguments to variant constructor", v)
3333
} else {
34-
Belt.Result.Ok(B)
34+
Ok(B)
3535
}
3636
| _ => Spice.error("Invalid variant constructor", Belt.Array.getExn(json_arr, 0))
3737
}
@@ -59,16 +59,16 @@ let t1_decode = v =>
5959
switch Spice.stringFromJson(
6060
Belt.Option.getWithDefault(Js.Dict.get(dict, "a"), Js.Json.Null),
6161
) {
62-
| Belt.Result.Ok(a) =>
62+
| Ok(a) =>
6363
switch Spice.intFromJson(
6464
Belt.Option.getWithDefault(Js.Dict.get(dict, "b"), Js.Json.null),
6565
) {
66-
| Belt.Result.Ok(b) => Belt.Result.Ok({a, b})
67-
| Belt.Result.Error(e: Spice.decodeError) =>
68-
Belt.Result.Error({...e, path: "." ++ "b" ++ e.path})
66+
| Ok(b) => Ok({a, b})
67+
| Error(e: Spice.decodeError) =>
68+
Error({...e, path: "." ++ "b" ++ e.path})
6969
}
70-
| Belt.Result.Error(e: Spice.decodeError) =>
71-
Belt.Result.Error({...e, path: "." ++ "a" ++ e.path})
70+
| Error(e: Spice.decodeError) =>
71+
Error({...e, path: "." ++ "a" ++ e.path})
7272
}
7373
| _ => Spice.error("Not an object", v)
7474
}
@@ -83,11 +83,11 @@ let t2_decode = v =>
8383
switch (json: Js.Json.t) {
8484
| Js.Json.Array([v0, v1]) =>
8585
switch (Spice.stringFromJson(v0), Spice.intFromJson(v1)) {
86-
| (Belt.Result.Ok(v0), Belt.Result.Ok(v1)) => Belt.Result.Ok((v0, v1))
87-
| (Belt.Result.Error(e: Spice.decodeError), _) =>
88-
Belt.Result.Error({...e, path: "[0]" ++ e.path})
89-
| (_, Belt.Result.Error(e: Spice.decodeError)) =>
90-
Belt.Result.Error({...e, path: "[1]" ++ e.path})
86+
| (Ok(v0), Ok(v1)) => Ok((v0, v1))
87+
| (Error(e: Spice.decodeError), _) =>
88+
Error({...e, path: "[0]" ++ e.path})
89+
| (_, Error(e: Spice.decodeError)) =>
90+
Error({...e, path: "[1]" ++ e.path})
9191
}
9292
| Js.Json.Array(_) => Spice.error("Incorrect cardinality", json)
9393
| _ => Spice.error("Not a tuple", json)

examples/src/Variants.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ let data = %raw(`
2020
}
2121
`)
2222

23-
let user: Belt.Result.t<user, Spice.decodeError> = data->user_decode
23+
let user: result<user, Spice.decodeError> = data->user_decode
2424

2525
let json: Js.Json.t = user->Result.getExn->user_encode
2626

examples/src/Variants2.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ let data = %raw(`
2020
}
2121
`)
2222

23-
let user: Belt.Result.t<user, Spice.decodeError> = data->user_decode
23+
let user: result<user, Spice.decodeError> = data->user_decode
2424

2525
let json: Js.Json.t = user->Result.getExn->user_encode
2626

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@greenlabs/ppx-spice",
3-
"version": "0.2.1-rc.0",
3+
"version": "0.2.1-rc.1",
44
"description": "ReScript PPX which generate JSON (de)serializer",
55
"license": "MIT",
66
"author": "Greenlabs Dev <[email protected]>",

src/ppx/curried/codecs_curried.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ and generate_constr_codecs { do_encode; do_decode }
6262
if do_decode then Some [%expr Spice.dictFromJson] else None )
6363
| Ldot (Ldot (Lident "Js", "Json"), "t") ->
6464
( (if do_encode then Some [%expr fun v -> v] else None),
65-
if do_decode then Some [%expr fun v -> Belt.Result.Ok v] else None )
65+
if do_decode then Some [%expr fun v -> Ok v] else None )
6666
| Lident s ->
6767
( (if do_encode then Some (make_ident_expr (s ^ Utils.encoder_func_suffix))
6868
else None),

src/ppx/curried/polyvariants_curried.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ let generate_decode_success_case num_args constructor_name =
7676
pc_lhs =
7777
Array.init num_args (fun i ->
7878
mknoloc ("v" ^ string_of_int i) |> Pat.var |> fun p ->
79-
[%pat? Belt.Result.Ok [%p p]])
79+
[%pat? Ok [%p p]])
8080
|> Array.to_list
8181
|> tuple_or_singleton Pat.tuple;
8282
pc_guard = None;
@@ -86,7 +86,7 @@ let generate_decode_success_case num_args constructor_name =
8686
|> tuple_or_singleton Exp.tuple
8787
|> fun v ->
8888
Some v |> Exp.variant constructor_name |> fun e ->
89-
[%expr Belt.Result.Ok [%e e]] );
89+
[%expr Ok [%e e]] );
9090
}
9191

9292
let generate_arg_decoder generator_settings args constructor_name =
@@ -122,7 +122,7 @@ let generate_decoder_case generator_settings { prf_desc } =
122122
match args with
123123
| [] ->
124124
let resultant_exp = Exp.variant txt None in
125-
[%expr Belt.Result.Ok [%e resultant_exp]]
125+
[%expr Ok [%e resultant_exp]]
126126
| _ -> generate_arg_decoder generator_settings args txt
127127
in
128128

@@ -151,7 +151,7 @@ let generate_decoder_case_attr generator_settings row =
151151
match args with
152152
| [] ->
153153
let resultant_exp = Exp.variant txt None in
154-
[%expr Belt.Result.Ok [%e resultant_exp]]
154+
[%expr Ok [%e resultant_exp]]
155155
| _ -> generate_arg_decoder generator_settings args txt
156156
in
157157

0 commit comments

Comments
 (0)