From de52ac8386a856585a2b349220e06003d1f3773e Mon Sep 17 00:00:00 2001 From: Stephanos Komnenos Date: Mon, 30 Dec 2024 17:29:18 +0800 Subject: [PATCH 1/2] Fix incorrect bindings in `Global` --- src/Global.res | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Global.res b/src/Global.res index b132c8c..bd2d7d5 100644 --- a/src/Global.res +++ b/src/Global.res @@ -505,7 +505,6 @@ let response = await fetch(myRequest) [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/fetch) */ -@send external fetch_withRequest: (request, ~init: requestInit=?) => promise = "fetch" /** @@ -567,7 +566,7 @@ Removes the event listener in target's event listener list with the same type, c [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener) */ external removeEventListener: ( - string, + eventType, eventListener<'event>, ~options: eventListenerOptions=?, ) => unit = "removeEventListener" From 6d1826a0f7232413dfe569433052a75f929cb1b9 Mon Sep 17 00:00:00 2001 From: Steven Lin Date: Mon, 30 Dec 2024 18:19:05 +0800 Subject: [PATCH 2/2] Update test --- tests/Global__test.js | 15 +++++++++++++++ tests/Global__test.res | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/tests/Global__test.js b/tests/Global__test.js index 42ad0d6..1a0a97e 100644 --- a/tests/Global__test.js +++ b/tests/Global__test.js @@ -11,8 +11,23 @@ let response2 = await fetch("https://rescript-lang.org/", { body: "secret=foo&response=bar" }); +let response3 = await fetch(new Request("https://rescript-lang.org/"), { + method: "POST", + headers: { + "Content-Type": "application/x-www-form-urlencoded" + }, + body: "secret=foo&response=bar" +}); + +removeEventListener("mousedown", prim => { + prim.preventDefault(); +}, { + capture: false +}); + export { response, response2, + response3, } /* response Not a pure module */ diff --git a/tests/Global__test.res b/tests/Global__test.res index 01c2551..8fe15ca 100644 --- a/tests/Global__test.res +++ b/tests/Global__test.res @@ -14,3 +14,18 @@ let response2 = await fetch( body: BodyInit.fromString(`secret=foo&response=bar`), }, ) + +let response3 = await fetch_withRequest( + Request.make2(~input="https://rescript-lang.org/"), + ~init={ + method: "POST", + headers: HeadersInit.fromDict( + dict{ + "Content-Type": "application/x-www-form-urlencoded", + }, + ), + body: BodyInit.fromString(`secret=foo&response=bar`), + }, +) + +removeEventListener(Mousedown, MouseEvent.preventDefault, ~options={capture: false})