diff --git a/dune-project b/dune-project index e345e90..30ad6a5 100644 --- a/dune-project +++ b/dune-project @@ -35,8 +35,7 @@ irmin-fs ppx_irmin lwt - (melange - (= 5.0.1-53)) + melange melange-fetch melange-json melange-json-native diff --git a/output/src/client/App.js b/output/src/client/App.js index ce1d2b0..68340f3 100644 --- a/output/src/client/App.js +++ b/output/src/client/App.js @@ -9,7 +9,7 @@ import * as React from "react"; import * as JsxRuntime from "react/jsx-runtime"; function App(Props) { - const url = Router.useUrl(undefined); + const url = Router.useUrl(); const gameId = url.route; let tmp; tmp = /* tag */ typeof gameId === "number" || typeof gameId === "string" ? ( diff --git a/output/src/client/context/ConfirmContext.js b/output/src/client/context/ConfirmContext.js index 0caf8b5..3d846f0 100644 --- a/output/src/client/context/ConfirmContext.js +++ b/output/src/client/context/ConfirmContext.js @@ -63,7 +63,7 @@ function ConfirmContext$Provider(Props) { const match = confirmDialog.onConfirm; confirmation = Curry._1(match[1], undefined); } else { - confirmation = Promise.resolve(undefined); + confirmation = Promise.resolve(); } return confirmation.then(function (param) { Curry._1(setIsConfirming, (function (param) { @@ -72,7 +72,7 @@ function ConfirmContext$Provider(Props) { Curry._1(setIsOpen, (function (param) { return false; })); - return Promise.resolve(undefined); + return Promise.resolve(); }); }), [ confirmDialog, diff --git a/output/src/client/router/Router.js b/output/src/client/router/Router.js index 30d0ecd..92359de 100644 --- a/output/src/client/router/Router.js +++ b/output/src/client/router/Router.js @@ -135,7 +135,7 @@ function search(param) { case "?" : return ""; default: - return raw.slice(1, undefined); + return raw.slice(1); } } @@ -151,7 +151,7 @@ function getParam(key) { } else { return false; } - }), Stdlib__String.split_on_char(/* '&' */38, search(undefined))); + }), Stdlib__String.split_on_char(/* '&' */38, search())); if (param === undefined) { return; } diff --git a/output/src/client/ui/components/Select/Select.js b/output/src/client/ui/components/Select/Select.js index 3f200e8..18eccba 100644 --- a/output/src/client/ui/components/Select/Select.js +++ b/output/src/client/ui/components/Select/Select.js @@ -151,7 +151,7 @@ function Select$Single(Props) { const foundOption = options.find(function (option, index) { if (index >= startIndex && index < endIndex) { foundIndex.contents = index; - return option.text.toUpperCase().indexOf(keysSoFar.toUpperCase(), undefined) === 0; + return option.text.toUpperCase().indexOf(keysSoFar.toUpperCase()) === 0; } else { return false; } @@ -230,7 +230,7 @@ function Select$Single(Props) { break; case "Home" : e.preventDefault(); - return focusFirstItem(undefined); + return focusFirstItem(); case "ArrowUp" : case "Up" : exit = 3; @@ -310,7 +310,7 @@ function Select$Single(Props) { if (focusedOption !== undefined) { return; } else { - return focusFirstItem(undefined); + return focusFirstItem(); } }; let tmp; @@ -546,7 +546,7 @@ function Select$Multi(Props) { const foundOption = options.find(function (option, index) { if (index >= startIndex && index < endIndex) { foundIndex.contents = index; - return option.text.toUpperCase().startsWith(keysSoFar.toUpperCase(), undefined); + return option.text.toUpperCase().startsWith(keysSoFar.toUpperCase()); } else { return false; } @@ -626,7 +626,7 @@ function Select$Multi(Props) { break; case "Home" : e.preventDefault(); - return focusFirstItem(undefined); + return focusFirstItem(); case "ArrowUp" : case "Up" : exit = 2; @@ -700,7 +700,7 @@ function Select$Multi(Props) { if (focusedOption !== undefined) { return; } else { - return focusFirstItem(undefined); + return focusFirstItem(); } }; return JsxRuntime.jsxs("div", { diff --git a/output/src/client/ui/patterns/GameBoard/GameBoard.js b/output/src/client/ui/patterns/GameBoard/GameBoard.js index 3c573e3..e9f02ef 100644 --- a/output/src/client/ui/patterns/GameBoard/GameBoard.js +++ b/output/src/client/ui/patterns/GameBoard/GameBoard.js @@ -27,7 +27,7 @@ function GameBoard(Props) { }) ]; - const func = Curry._3(Hooks__Hooks_Confirm.useConfirm(undefined), "Not everyone voted", "There are some players that did not pick a card yet. Do you really want to reveal all cards?", "Warning"); + const func = Curry._3(Hooks__Hooks_Confirm.useConfirm(), "Not everyone voted", "There are some players that did not pick a card yet. Do you really want to reveal all cards?", "Warning"); const match = React.useState(function () { }); @@ -58,7 +58,7 @@ function GameBoard(Props) { }; React.useEffect((function () { - const wsConnection = new WebSocket(Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.websocket(undefined)), gameId)); + const wsConnection = new WebSocket(Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.websocket()), gameId)); ws.current = Caml_option.some(wsConnection); wsConnection.addEventListener("message", (function (param) { const s = Shared_client__Websocket.response_of_json(JSON.parse(param.data)); diff --git a/output/src/client/ui/patterns/PlayGameHeader/PlayGameHeader.js b/output/src/client/ui/patterns/PlayGameHeader/PlayGameHeader.js index 75d128a..7c7e7a3 100644 --- a/output/src/client/ui/patterns/PlayGameHeader/PlayGameHeader.js +++ b/output/src/client/ui/patterns/PlayGameHeader/PlayGameHeader.js @@ -31,7 +31,7 @@ function PlayGameHeader(Props) { danger: true, action: { NAME: "Href", - VAL: Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.leave_game(undefined)), game.id) + VAL: Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.leave_game()), game.id) }, children: "Leave Game" }), diff --git a/output/src/client/ui/screens/CreateGame.js b/output/src/client/ui/screens/CreateGame.js index a167128..e9dd99e 100644 --- a/output/src/client/ui/screens/CreateGame.js +++ b/output/src/client/ui/screens/CreateGame.js @@ -23,7 +23,7 @@ function CreateGame(Props) { deck: deck$1, reveal: reveal })); - fetch(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.create_game(undefined)), Fetch.RequestInit.make(/* Post */ 2, undefined, Caml_option.some(data), undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined)(undefined)).then(function (prim) { + fetch(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.create_game()), Fetch.RequestInit.make(/* Post */ 2, undefined, Caml_option.some(data), undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined)()).then(function (prim) { return prim.json(); }).then(function (data) { return Promise.resolve(Curry._1(Shared_client__Game.Api.Create.response_of_json, data)); diff --git a/output/src/client/ui/screens/JoinGame.js b/output/src/client/ui/screens/JoinGame.js index 41f8e0a..2216262 100644 --- a/output/src/client/ui/screens/JoinGame.js +++ b/output/src/client/ui/screens/JoinGame.js @@ -19,7 +19,7 @@ function JoinGame(Props) { typ: typ, name: name })); - fetch(Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.join_game(undefined)), gameId), Fetch.RequestInit.make(/* Post */ 2, undefined, Caml_option.some(data), undefined, undefined, undefined, /* SameOrigin */ 1, undefined, undefined, undefined, undefined, undefined)(undefined)).then(function (param) { + fetch(Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.join_game()), gameId), Fetch.RequestInit.make(/* Post */ 2, undefined, Caml_option.some(data), undefined, undefined, undefined, /* SameOrigin */ 1, undefined, undefined, undefined, undefined, undefined)()).then(function (param) { return Promise.resolve(Router.push({ TAG: /* Play */ 1, _0: gameId diff --git a/output/src/client/ui/screens/Play.js b/output/src/client/ui/screens/Play.js index dd83dc9..cc484a4 100644 --- a/output/src/client/ui/screens/Play.js +++ b/output/src/client/ui/screens/Play.js @@ -22,7 +22,7 @@ function useGame(id) { const setState = match[1]; React.useEffect((function () { const abortController = new AbortController(); - fetch(Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.get_game(undefined)), id), Fetch.RequestInit.make(/* Get */ 0, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, Caml_option.some(abortController.signal))(undefined)).then(function (prim) { + fetch(Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.get_game()), id), Fetch.RequestInit.make(/* Get */ 0, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, Caml_option.some(abortController.signal))()).then(function (prim) { return prim.json(); }).then(function (data) { const game = Curry._1(Shared_client__Game.Api.Load.response_of_json, data); @@ -57,7 +57,7 @@ function useMe(param) { const setState = match[1]; React.useEffect((function () { const abortController = new AbortController(); - fetch(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.me(undefined)), Fetch.RequestInit.make(/* Get */ 0, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, Caml_option.some(abortController.signal))(undefined)).then(function (prim) { + fetch(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.Api.me()), Fetch.RequestInit.make(/* Get */ 0, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, Caml_option.some(abortController.signal))()).then(function (prim) { return prim.json(); }).then(function (data) { const me = Curry._1(Shared_client__Player.Api.WhoAmI.response_of_json, data); @@ -85,7 +85,7 @@ function useMe(param) { function Play(Props) { let gameId = Props.gameId; const game = useGame(gameId); - const me = useMe(undefined); + const me = useMe(); let exit = 0; if (typeof game === "string") { return null; @@ -135,7 +135,7 @@ function Play(Props) { } } - const route = Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.join_game(undefined)), gameId); + const route = Curry._1(Shared_api_universal__Routes__Routes_Builder.sprintf(Shared_api_universal__Routes.join_game()), gameId); window.location.replace(route); return null; } diff --git a/output/src/shared/api/universal/routes/Routes_Builder.js b/output/src/shared/api/universal/routes/Routes_Builder.js index 39b1507..fc0f616 100644 --- a/output/src/shared/api/universal/routes/Routes_Builder.js +++ b/output/src/shared/api/universal/routes/Routes_Builder.js @@ -172,13 +172,13 @@ function union(t1, t2) { return r; } throw new Caml_js_exceptions.MelangeError("Assert_failure", { - MEL_EXN_ID: "Assert_failure", - _1: [ - "src/shared/api/universal/routes/Routes_Builder.ml", - 90, - 27 - ] - }); + MEL_EXN_ID: "Assert_failure", + _1: [ + "src/shared/api/universal/routes/Routes_Builder.ml", + 90, + 27 + ] + }); }), t1.children, t2.children); const match = t1.capture; const match$1 = t2.capture; @@ -442,7 +442,7 @@ function string_of_route(r) { } function ksprintf(k, t) { - const k$1 = function (x) { + let k$1 = function (x) { return Curry._1(k, "/" + Stdlib__String.concat("/", x)); }; const aux = function (_k, _param) { diff --git a/scrum-cards.opam b/scrum-cards.opam index 40f55ca..8741651 100644 --- a/scrum-cards.opam +++ b/scrum-cards.opam @@ -19,9 +19,10 @@ depends: [ "irmin-fs" "ppx_irmin" "lwt" - "melange" {= "5.0.1-53"} + "melange" "melange-fetch" "melange-json" + "melange-json-native" "melange-webapi" "reason" "reason-react" diff --git a/src/client/images/Icons.re b/src/client/images/Icons.re index 59f2752..c97f746 100644 --- a/src/client/images/Icons.re +++ b/src/client/images/Icons.re @@ -15,7 +15,7 @@ module ChevronDown = { /> ; - let prop = (~className=?, ()) => make({"className": className}); + let prop = (~className=?, ()) => make({ "className": className }); }; module Checkmark = { @@ -35,7 +35,7 @@ module Checkmark = { /> ; - let prop = (~className=?, ()) => make({"className": className}); + let prop = (~className=?, ()) => make({ "className": className }); }; module ExclamationCircle = { @@ -55,7 +55,7 @@ module ExclamationCircle = { /> ; - let prop = (~className=?, ()) => make({"className": className}); + let prop = (~className=?, ()) => make({ "className": className }); }; module ExclamationTriangle = { @@ -75,7 +75,7 @@ module ExclamationTriangle = { /> ; - let prop = (~className=?, ()) => make({"className": className}); + let prop = (~className=?, ()) => make({ "className": className }); }; module Eye = { @@ -100,7 +100,7 @@ module Eye = { /> ; - let prop = (~className=?, ()) => make({"className": className}); + let prop = (~className=?, ()) => make({ "className": className }); }; module Info = { @@ -120,5 +120,5 @@ module Info = { /> ; - let prop = (~className=?, ()) => make({"className": className}); + let prop = (~className=?, ()) => make({ "className": className }); }; diff --git a/src/client/ui/patterns/GameBoard/GameBoard.re b/src/client/ui/patterns/GameBoard/GameBoard.re index 1c9676e..5bddd4e 100644 --- a/src/client/ui/patterns/GameBoard/GameBoard.re +++ b/src/client/ui/patterns/GameBoard/GameBoard.re @@ -100,7 +100,7 @@ let make = Bindings.Websocket.addEventListener( wsConnection, `message( - ({data}) => { + ({ data }) => { switch ( data |> Js.Json.parseExn |> Shared.Api.Websocket.response_of_json ) {