Skip to content

Commit 654fa3d

Browse files
davesnxanmonteiro
andauthored
Support melange.5.1.0-53 (#887)
* Install melange.5.1.0-53 * port the testing library `[@mel.send.pipe]` too * Update nix build * wip github actions * Use Js.FormData, remove vendored * Remove include on RTL --------- Co-authored-by: Antonio Nuno Monteiro <[email protected]>
1 parent c7679f6 commit 654fa3d

File tree

9 files changed

+181
-217
lines changed

9 files changed

+181
-217
lines changed

dune-project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
(or
3939
(>= 3.0.0)
4040
(and
41-
(= 5.0.0-52)
41+
(<= 5.1.0-53)
4242
:with-test)))
4343
(reason-react-ppx
4444
(= :version))

flake.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
forAllSystems = f: nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (system:
1111
let
1212
pkgs = nixpkgs.legacyPackages.${system}.extend (self: super: {
13-
ocamlPackages = super.ocaml-ng.ocamlPackages_5_2.overrideScope (oself: osuper: {
13+
ocamlPackages = super.ocaml-ng.ocamlPackages_5_3.overrideScope (oself: osuper: {
1414
ppxlib = osuper.ppxlib.overrideAttrs (o: {
1515
propagatedBuildInputs = o.propagatedBuildInputs ++ [ osuper.stdio ];
1616
});

reason-react.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ bug-reports: "https://github.com/reasonml/reason-react/issues"
1919
depends: [
2020
"dune" {>= "3.9"}
2121
"ocaml"
22-
"melange" {(>= "3.0.0" & !with-test) | (= "5.0.0-52" & with-test)}
22+
"melange" {>= "3.0.0" | <= "5.1.0-53" & with-test}
2323
"reason-react-ppx" {= version}
2424
"reason" {>= "3.12.0"}
2525
"ocaml-lsp-server" {with-dev-setup}

src/React.re

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -909,57 +909,12 @@ module Experimental = {
909909
('state, 'optimisticValue => unit) =
910910
"useOptimistic";
911911

912-
module FormData = {
913-
/* This file is embeded since https://github.com/melange-re/melange/pull/1153 gets merged */
914-
915-
type t;
916-
type file;
917-
type blob;
918-
type entryValue;
919-
920-
[@mel.new] external make: unit => t = "FormData";
921-
[@mel.send.pipe: t] external append: (string, string) => unit = "append";
922-
[@mel.send.pipe: t] external delete: string => unit = "delete";
923-
[@mel.send.pipe: t] external get: string => option(entryValue) = "get";
924-
[@mel.send.pipe: t]
925-
external getAll: string => array(entryValue) = "getAll";
926-
[@mel.send.pipe: t] external set: (string, string) => unit = "set";
927-
[@mel.send.pipe: t] external has: string => bool = "has";
928-
[@mel.send] external keys: t => Js.Iterator.t(string) = "keys";
929-
[@mel.send] external values: t => Js.Iterator.t(entryValue) = "values";
930-
931-
[@mel.send.pipe: t]
932-
external appendObject: (string, Js.t({..}), ~filename: string=?) => unit =
933-
"append";
934-
935-
[@mel.send.pipe: t]
936-
external appendBlob: (string, blob, ~filename: string=?) => unit =
937-
"append";
938-
939-
[@mel.send.pipe: t]
940-
external appendFile: (string, file, ~filename: string=?) => unit =
941-
"append";
942-
943-
[@mel.send.pipe: t]
944-
external setObject: (string, Js.t({..}), ~filename: string=?) => unit =
945-
"set";
946-
947-
[@mel.send.pipe: t]
948-
external setBlob: (string, blob, ~filename: string=?) => unit = "set";
949-
950-
[@mel.send.pipe: t]
951-
external setFile: (string, file, ~filename: string=?) => unit = "set";
952-
953-
[@mel.send]
954-
external entries: t => Js.Iterator.t((string, entryValue)) = "entries";
955-
};
956-
957912
type formAction;
958913

959914
/* https://react.dev/reference/react/useActionState */
960915
[@mel.module "react"]
961916
external useActionState:
962-
(('state, FormData.t) => unit, 'state, ~permalink: bool=?) =>
917+
(('state, Js.FormData.t) => unit, 'state, ~permalink: bool=?) =>
963918
('state, formAction, bool) =
964919
"useActionState";
965920
};

src/React.rei

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -595,56 +595,11 @@ module Experimental: {
595595
unit => (bool, callbackAsync(callbackAsync(unit, unit), unit)) =
596596
"useTransition";
597597

598-
module FormData: {
599-
/* This file is embeded since https://github.com/melange-re/melange/pull/1153 gets merged */
600-
601-
type t;
602-
type file;
603-
type blob;
604-
type entryValue;
605-
606-
[@mel.new] external make: unit => t = "FormData";
607-
[@mel.send.pipe: t] external append: (string, string) => unit = "append";
608-
[@mel.send.pipe: t] external delete: string => unit = "delete";
609-
[@mel.send.pipe: t] external get: string => option(entryValue) = "get";
610-
[@mel.send.pipe: t]
611-
external getAll: string => array(entryValue) = "getAll";
612-
[@mel.send.pipe: t] external set: (string, string) => unit = "set";
613-
[@mel.send.pipe: t] external has: string => bool = "has";
614-
[@mel.send] external keys: t => Js.Iterator.t(string) = "keys";
615-
[@mel.send] external values: t => Js.Iterator.t(entryValue) = "values";
616-
617-
[@mel.send.pipe: t]
618-
external appendObject: (string, Js.t({..}), ~filename: string=?) => unit =
619-
"append";
620-
621-
[@mel.send.pipe: t]
622-
external appendBlob: (string, blob, ~filename: string=?) => unit =
623-
"append";
624-
625-
[@mel.send.pipe: t]
626-
external appendFile: (string, file, ~filename: string=?) => unit =
627-
"append";
628-
629-
[@mel.send.pipe: t]
630-
external setObject: (string, Js.t({..}), ~filename: string=?) => unit =
631-
"set";
632-
633-
[@mel.send.pipe: t]
634-
external setBlob: (string, blob, ~filename: string=?) => unit = "set";
635-
636-
[@mel.send.pipe: t]
637-
external setFile: (string, file, ~filename: string=?) => unit = "set";
638-
639-
[@mel.send]
640-
external entries: t => Js.Iterator.t((string, entryValue)) = "entries";
641-
};
642-
643598
type formAction;
644599

645600
[@mel.module "react"]
646601
external useActionState:
647-
(('state, FormData.t) => unit, 'state, ~permalink: bool=?) =>
602+
(('state, Js.FormData.t) => unit, 'state, ~permalink: bool=?) =>
648603
('state, formAction, bool) =
649604
"useActionState";
650605
};

test/Form__test.re

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
open Jest;
22

3-
module FormData = React.Experimental.FormData;
4-
53
type message = {
64
text: string,
75
sending: bool,
86
key: int,
97
};
108

11-
[@mel.send.pipe: Dom.element] external reset: unit = "reset";
9+
[@mel.send] external reset: Dom.element => unit = "reset";
1210

1311
let (let.await) = (p, f) => Js.Promise.then_(f, p);
1412

@@ -29,7 +27,7 @@ module Thread = {
2927
);
3028

3129
let formAction = formData => {
32-
let formMessage = FormData.get("message", formData);
30+
let formMessage = Js.FormData.get(~name="message", formData);
3331
switch (formMessage) {
3432
| Some(entry) =>
3533
switch (Js.Types.classify(entry)) {
@@ -95,7 +93,7 @@ module App = {
9593
);
9694

9795
let sendMessage = formData => {
98-
let formMessage = FormData.get("message", formData);
96+
let formMessage = Js.FormData.get(~name="message", formData);
9997
switch (formMessage) {
10098
| Some(message) =>
10199
let.await entry = deliverMessage(message);

0 commit comments

Comments
 (0)