diff --git a/bsconfig.json b/bsconfig.json
index cd278f80..5e21b966 100644
--- a/bsconfig.json
+++ b/bsconfig.json
@@ -17,8 +17,8 @@
}
],
"warnings": {
- "number": "+A-42-48-105-109",
- "error": "+A-3-44-102"
+ "number": "+A-105",
+ "error": "+A"
},
"bs-dependencies": [
"bs-fetch"
diff --git a/examples/dom_example.re b/examples/dom_example.re
index 6abaf599..d853158f 100644
--- a/examples/dom_example.re
+++ b/examples/dom_example.re
@@ -1,16 +1,7 @@
open Webapi.Dom;
+open Belt.Option;
/* Adapted from https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Examples#Example_7:_Displaying_Event_Object_Properties */
-/* Option.map */
-let map = (f) =>
- fun
- | Some(v) => Some(f(v))
- | None => None;
-
-let andThen = (f: 'a => option('b)) =>
- fun
- | Some(v) => f(v)
- | None => None;
let unwrapUnsafely =
fun
@@ -20,79 +11,79 @@ let unwrapUnsafely =
/*
* These SHOULD type check
*/
-document |> Document.createElement("div")
- |> Element.className;
+let _ = document->Document.createElement("div")->Element.className;
-document |> Document.createElement("div")
- |> Element.nextElementSibling
- |> map(Element.innerText); /* innerText is a function that accepts a Node */
+let _ =
+ document->Document.createElement("div")->Element.nextElementSibling->map(Element.innerText); /* innerText is a function that accepts a Node */
/* Before subtyping:
-document |> Document.createElement("div")
- |> Element.asNode
- |> Node.parentElement /* inherited from Node, returns DomRe.element */
- |> map(Element.innerText); /* inherited from Node */
-*/
+ document->Document.createElement("div")
+ ->Element.asNode
+ ->Node.parentElement /* inherited from Node, returns DomRe.element */
+ ->map(Element.innerText); /* inherited from Node */
+ */
/* After subtyping: */
-document |> Document.createElement("div")
- |> Element.parentElement /* inherited from Node, returns DomRe.element */
- |> map(Element.innerText); /* inherited from Node */
-
-let el =
- document |> Document.createElement("div")
- |> Element.asHtmlElement
- |> unwrapUnsafely;
-
-/*
-document |> Document.asHtmlDocument
- |> andThen(HtmlDocument.body)
- |> map(Element.appendChild(el));
-*/
+let _ =
+ document
+ ->Document.createElement("div")
+ ->Element.parentElement /* inherited from Node, returns DomRe.element */
+ ->map(Element.innerText); /* inherited from Node */
+
+let el = document->Document.createElement("div")->Element.asHtmlElement->unwrapUnsafely;
+
+/*
+ document->Document.asHtmlDocument
+ ->flatMap(HtmlDocument.body)
+ ->map(Element.appendChild(el));
+ */
/* Before subtyping:
-document |> Document.asHtmlDocument
- |> andThen(HtmlDocument.body)
- |> map(Element.appendChild (el |> HtmlElement.asNode));
-*/
+ document->Document.asHtmlDocument
+ ->flatMap(HtmlDocument.body)
+ ->map(Element.appendChild (el->HtmlElement.asNode));
+ */
/* After subtyping: */
-document |> Document.asHtmlDocument
- |> andThen(HtmlDocument.body)
- |> map(Element.appendChild(el));
+let _ =
+ document
+ ->Document.asHtmlDocument
+ ->flatMap(HtmlDocument.body)
+ ->map(body => body->Element.appendChild(el));
/*
-/*
-* These MAY fail type check
-*/
-document |> Document.createElement("div")
- |> Element.nextElementSibling
- |> map(Node.innerText);
-
-/*
-* These SHOULD NOT type check
-*/
-document |> Document.createElement("div")
- |> Element.asNode
- |> Element.parentElement; /* inherited from Node, returns DomRe.element */
-*/
+ /*
+ * These MAY fail type check
+ */
+ document->Document.createElement("div")
+ ->Element.nextElementSibling
+ ->map(Node.innerText);
+ /*
+ * These SHOULD NOT type check
+ */
+ document->Document.createElement("div")
+ ->Element.asNode
+ ->Element.parentElement; /* inherited from Node, returns DomRe.element */
+ */
/*
-/* ideal, but requires piped setters */
-switch (document |> body) {
-| Some body =>
- document |> createElement("div")
- |> setInnerText(">")
- |> setClassName("reason_tools_button")
- |> setOnClick(swap)
- |> (body |> appendChild);
-| None =>
- ...
-}
-*/
-
+ /* ideal, but requires piped setters */
+ switch (document->body) {
+ | Some body =>
+ document->createElement("div")
+ ->setInnerText(">")
+ ->setClassName("reason_tools_button")
+ ->setOnClick(swap)
+ ->(body->appendChild);
+ | None =>
+ ...
+ }
+ */
/* non-standard event-specific listener API - log screen coordinates of mouse cursor when moved */
-document |> Document.createElement("div")
- |> Element.addMouseMoveEventListener(e => (MouseEvent.screenX(e), MouseEvent.screenY(e)) |> Js.log);
\ No newline at end of file
+document
+->Document.createElement("div")
+->Element.addMouseMoveEventListener(e =>
+ (MouseEvent.screenX(e), MouseEvent.screenY(e))->Js.log
+ );
diff --git a/lib/js/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.js b/lib/js/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.js
index 57f47536..77ff7aa2 100644
--- a/lib/js/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.js
+++ b/lib/js/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.js
@@ -1,7 +1,6 @@
'use strict';
var List = require("bs-platform/lib/js/list.js");
-var Caml_option = require("bs-platform/lib/js/caml_option.js");
var Webapi__Canvas__Canvas2d = require("../../../src/Webapi/Canvas/Webapi__Canvas__Canvas2d.js");
var canvasEl = document.createElement("canvas");
@@ -32,9 +31,9 @@ ctx.lineJoin = Webapi__Canvas__Canvas2d.LineJoin.round;
ctx.miterLimit = 10;
-Webapi__Canvas__Canvas2d.setStrokeStyle(ctx, /* String */0, "red");
+ctx.strokeStyle = "red";
-Webapi__Canvas__Canvas2d.setFillStyle(ctx, /* String */0, "red");
+ctx.fillStyle = "red";
var match = Webapi__Canvas__Canvas2d.fillStyle(ctx);
@@ -100,7 +99,7 @@ ctx.isPointInPath(0, 0);
var linearGradient = ctx.createLinearGradient(0.0, 0.0, 0.0, 0.0);
-Webapi__Canvas__Canvas2d.setStrokeStyle(ctx, /* Gradient */1, linearGradient);
+ctx.strokeStyle = linearGradient;
ctx.createRadialGradient(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
@@ -160,19 +159,9 @@ ctx.textAlign = "left";
ctx.textBaseline = "top";
-function arg(param, param$1) {
- param$1.fillText("hi", 1, 0, param !== undefined ? Caml_option.valFromOption(param) : undefined);
-
-}
-
-arg(undefined, ctx);
-
-function arg$1(param, param$1) {
- param$1.strokeText("hi", 1, 0, param !== undefined ? Caml_option.valFromOption(param) : undefined);
-
-}
+ctx.fillText("hi", 1, 0, undefined);
-arg$1(undefined, ctx);
+ctx.strokeText("hi", 1, 0, undefined);
ctx.fillRect(1, 0, 10, 10);
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.js
index 0f775534..50ddff52 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.js
@@ -13,9 +13,8 @@ var dataset = Belt_Option.map(__x, (function (prim) {
if (dataset !== undefined) {
var dataset$1 = Caml_option.valFromOption(dataset);
- Webapi__Dom__DomStringMap.set("fooKey", "barValue", dataset$1);
- Webapi__Dom__DomStringMap.get("fooKey", dataset$1);
- Webapi__Dom__DomStringMap.unsafeDeleteKey("fooKey", dataset$1);
+ dataset$1["fooKey"] = "barValue";
+ Webapi__Dom__DomStringMap.unsafeDeleteKey(dataset$1, "fooKey");
}
exports.dataset = dataset;
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.js
index 54d0692b..6fa54f17 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.js
@@ -13,7 +13,7 @@ $$event.stopImmediatePropagation();
$$event.stopPropagation();
-Curry._2(Webapi__Dom__DragEvent.getModifierState, /* Alt */0, $$event);
+Curry._2(Webapi__Dom__DragEvent.getModifierState, $$event, /* Alt */0);
exports.$$event = $$event;
/* event Not a pure module */
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__Element__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__Element__test.js
index dda18483..20e8c70b 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__Element__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__Element__test.js
@@ -60,11 +60,11 @@ el.hasAttributeNS("http://...", "foo");
el.hasAttributes();
-Webapi__Dom__Element.insertAdjacentElement(/* BeforeBegin */0, el2, el);
+Webapi__Dom__Element.insertAdjacentElement(el, /* BeforeBegin */0, el2);
-Webapi__Dom__Element.insertAdjacentHTML(/* AfterBegin */1, "text", el);
+Webapi__Dom__Element.insertAdjacentHTML(el, /* AfterBegin */1, "text");
-Webapi__Dom__Element.insertAdjacentText(/* AfterEnd */3, "text", el);
+Webapi__Dom__Element.insertAdjacentText(el, /* AfterEnd */3, "text");
el.matches("input");
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.js
index 6fe1382e..b0384c3d 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.js
@@ -30,7 +30,7 @@ htmlDocument.title = "Reason: Rapid Expressive Systems Programming.";
htmlDocument.close();
-Webapi__Dom__HtmlDocument.execCommand("copy", false, undefined, htmlDocument);
+Webapi__Dom__HtmlDocument.execCommand(htmlDocument, "copy", false, undefined);
htmlDocument.getElementsByName("angry-joe");
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.js
index b1569998..0b060ce8 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.js
@@ -13,7 +13,7 @@ $$event.stopImmediatePropagation();
$$event.stopPropagation();
-Webapi__Dom__KeyboardEvent.getModifierState(/* Alt */0, $$event);
+Webapi__Dom__KeyboardEvent.getModifierState($$event, /* Alt */0);
exports.$$event = $$event;
/* event Not a pure module */
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.js
index 7107f7df..65ef53d9 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.js
@@ -13,7 +13,7 @@ $$event.stopImmediatePropagation();
$$event.stopPropagation();
-Webapi__Dom__MouseEvent.getModifierState(/* Alt */0, $$event);
+Webapi__Dom__MouseEvent.getModifierState($$event, /* Alt */0);
exports.$$event = $$event;
/* event Not a pure module */
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.js
index 92d9b4b2..0ca5693e 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.js
@@ -13,7 +13,7 @@ $$event.stopImmediatePropagation();
$$event.stopPropagation();
-Curry._2(Webapi__Dom__PointerEvent.getModifierState, /* Alt */0, $$event);
+Curry._2(Webapi__Dom__PointerEvent.getModifierState, $$event, /* Alt */0);
Webapi__Dom__PointerEvent.pointerType($$event);
diff --git a/lib/js/tests/Webapi/Dom/Webapi__Dom__Range__test.js b/lib/js/tests/Webapi/Dom/Webapi__Dom__Range__test.js
index b474e368..16a62d5e 100644
--- a/lib/js/tests/Webapi/Dom/Webapi__Dom__Range__test.js
+++ b/lib/js/tests/Webapi/Dom/Webapi__Dom__Range__test.js
@@ -44,7 +44,7 @@ range.detach();
range.toString();
-Webapi__Dom__Range.comparePoint(node, 0, range);
+Webapi__Dom__Range.comparePoint(range, node, 0);
range.createContextualFragment("stuff");
diff --git a/package.json b/package.json
index 4007cb46..4325d937 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "rescript-webapi",
- "version": "0.0.1",
+ "version": "0.1.0",
"description": "Reason / ReScript bindings to DOM",
"repository": {
"type": "git",
@@ -19,7 +19,8 @@
"start": "bsb -make-world -w",
"clean": "bsb -clean-world",
"doc-install": "npm install --no-save bsdoc",
- "test": "bsb -make-world && bsdoc build api && bsdoc support-files"
+ "test": "bsb -make-world && bsdoc build api && bsdoc support-files",
+ "refmt-all": "find src tests \\( -name '*.re' -o -name '*.rei' \\) | xargs bsrefmt -w 100 --in-place"
},
"files": [
"src",
diff --git a/src/Webapi.re b/src/Webapi.re
index 00ccfa56..deb97416 100644
--- a/src/Webapi.re
+++ b/src/Webapi.re
@@ -31,6 +31,7 @@ module Url = Webapi__Url;
type rafId;
-[@bs.val] external requestAnimationFrame : (float => unit) => unit = "";
-[@bs.val] external requestCancellableAnimationFrame : (float => unit) => rafId = "requestAnimationFrame";
-[@bs.val] external cancelAnimationFrame : rafId => unit = "";
+[@val] external requestAnimationFrame: (float => unit) => unit;
+[@val]
+external requestCancellableAnimationFrame: (float => unit) => rafId = "requestAnimationFrame";
+[@val] external cancelAnimationFrame: rafId => unit;
diff --git a/src/Webapi/Canvas/Webapi__Canvas__Canvas2d.re b/src/Webapi/Canvas/Webapi__Canvas__Canvas2d.re
index b3899962..d9271602 100644
--- a/src/Webapi/Canvas/Webapi__Canvas__Canvas2d.re
+++ b/src/Webapi/Canvas/Webapi__Canvas__Canvas2d.re
@@ -78,131 +78,147 @@ type style(_) =
| Pattern: style(pattern);
/* 2d Canvas API, following https://simon.html5.org/dump/html5-canvas-cheat-sheet.html */
-[@bs.send.pipe : t] external save : unit = "";
-[@bs.send.pipe : t] external restore : unit = "";
+[@send] external save: t => unit;
+[@send] external restore: t => unit;
/* Transformation */
-[@bs.send.pipe : t] external scale : (~x: float, ~y: float) => unit = "";
-[@bs.send.pipe : t] external rotate : float => unit = "";
-[@bs.send.pipe : t] external translate : (~x: float, ~y: float) => unit = "";
-[@bs.send.pipe : t] external transform : (~m11: float, ~m12: float, ~m21: float, ~m22: float, ~dx: float, ~dy: float) => unit = "";
-[@bs.send.pipe : t] external setTransform : (~m11: float, ~m12: float, ~m21: float, ~m22: float, ~dx: float, ~dy: float) => unit = "";
+[@send] external scale: (t, ~x: float, ~y: float) => unit;
+[@send] external rotate: (t, float) => unit;
+[@send] external translate: (t, ~x: float, ~y: float) => unit;
+[@send]
+external transform:
+ (t, ~m11: float, ~m12: float, ~m21: float, ~m22: float, ~dx: float, ~dy: float) => unit;
+[@send]
+external setTransform:
+ (t, ~m11: float, ~m12: float, ~m21: float, ~m22: float, ~dx: float, ~dy: float) => unit;
/* Compositing */
-[@bs.set] external globalAlpha : (t, float) => unit = "";
-[@bs.set] external globalCompositeOperation : (t, Composite.t) => unit = "";
+[@set] external globalAlpha: (t, float) => unit;
+[@set] external globalCompositeOperation: (t, Composite.t) => unit;
/* Line Styles */
-[@bs.set] external lineWidth : (t, float) => unit = "";
-[@bs.set] external lineCap : (t, LineCap.t) => unit = "";
-[@bs.set] external lineJoin : (t, LineJoin.t) => unit = "";
-[@bs.set] external miterLimit : (t, float) => unit = "";
+[@set] external lineWidth: (t, float) => unit;
+[@set] external lineCap: (t, LineCap.t) => unit;
+[@set] external lineJoin: (t, LineJoin.t) => unit;
+[@set] external miterLimit: (t, float) => unit;
/* Colors, Styles, and Shadows */
-[@bs.set] external setFillStyle : (t, 'a) => unit = "fillStyle";
-[@bs.set] external setStrokeStyle : (t, 'a) => unit = "strokeStyle";
+[@set] external setFillStyle: (t, [@ignore] style('a), 'a) => unit = "fillStyle";
+[@set] external setStrokeStyle: (t, [@ignore] style('a), 'a) => unit = "strokeStyle";
-/* in re unused warnings
- awaiting release of https://github.com/bloomberg/bucklescript/issues/1656
- to just use [@@bs.set] directly with an ignored (style a) */
-let setStrokeStyle = (type a, ctx: t, _: style(a), v: a) =>
- setStrokeStyle(ctx, v);
-
-let setFillStyle = (type a, ctx: t, _: style(a), v: a) =>
- setFillStyle(ctx, v);
-
-let reifyStyle = (type a, x: 'a) : (style(a), a) => {
- let isCanvasGradient: 'a => bool = [%raw {|
+let reifyStyle = (type a, x: 'a): (style(a), a) => {
+ let isCanvasGradient: 'a => bool = [%raw
+ {|
function(x) { return x instanceof CanvasGradient; }
- |}];
+ |}
+ ];
- let isCanvasPattern: 'a => bool = [%raw {|
+ let isCanvasPattern: 'a => bool = [%raw
+ {|
function(x) { return x instanceof CanvasPattern; }
- |}];
+ |}
+ ];
(
- if (Js.typeof(x) == "string") Obj.magic(String)
- else if (isCanvasGradient(x)) Obj.magic(Gradient)
- else if (isCanvasPattern(x)) Obj.magic(Pattern)
- else invalid_arg(
- "Unknown canvas style kind. Known values are: String, CanvasGradient, CanvasPattern"),
- Obj.magic(x)
+ if (Js.typeof(x) == "string") {
+ Obj.magic(String);
+ } else if (isCanvasGradient(x)) {
+ Obj.magic(Gradient);
+ } else if (isCanvasPattern(x)) {
+ Obj.magic(Pattern);
+ } else {
+ invalid_arg(
+ "Unknown canvas style kind. Known values are: String, CanvasGradient, CanvasPattern",
+ );
+ },
+ Obj.magic(x),
);
};
-[@bs.get] external fillStyle : t => 'a = "";
-[@bs.get] external strokeStyle : t => 'a = "";
+[@get] external fillStyle: t => 'a;
+[@get] external strokeStyle: t => 'a;
-let fillStyle = (ctx: t) =>
- ctx |> fillStyle |> reifyStyle;
+let fillStyle = (ctx: t) => ctx->fillStyle->reifyStyle;
-let strokeStyle = (ctx: t) =>
- ctx |> strokeStyle |> reifyStyle;
+let strokeStyle = (ctx: t) => ctx->strokeStyle->reifyStyle;
-[@bs.set] external shadowOffsetX : (t, float) => unit = "";
-[@bs.set] external shadowOffsetY : (t, float) => unit = "";
-[@bs.set] external shadowBlur : (t, float) => unit = "";
-[@bs.set] external shadowColor : (t, string) => unit = "";
+[@set] external shadowOffsetX: (t, float) => unit;
+[@set] external shadowOffsetY: (t, float) => unit;
+[@set] external shadowBlur: (t, float) => unit;
+[@set] external shadowColor: (t, string) => unit;
/* Gradients */
-[@bs.send.pipe : t] external createLinearGradient : (~x0: float, ~y0: float, ~x1: float, ~y1: float) => gradient = "";
-[@bs.send.pipe : t] external createRadialGradient : (~x0: float, ~y0: float, ~x1: float, ~y1: float, ~r0: float, ~r1: float) => gradient = "";
-[@bs.send.pipe : gradient] external addColorStop : (float, string) => unit = "";
-[@bs.val] external createPattern : (
+[@send]
+external createLinearGradient: (t, ~x0: float, ~y0: float, ~x1: float, ~y1: float) => gradient;
+[@send]
+external createRadialGradient:
+ (t, ~x0: float, ~y0: float, ~x1: float, ~y1: float, ~r0: float, ~r1: float) => gradient;
+[@send] external addColorStop: (gradient, float, string) => unit;
+[@val]
+external createPattern:
+ (
t,
Dom.element,
- [@bs.string] [
+ [@string] [
| `repeat
- [@bs.as "repeat-x"] | `repeatX
- [@bs.as "repeat-y"] | `repeatY
- [@bs.as "no-repeat"] | `noRepeat
+ | [@as "repeat-x"] `repeatX
+ | [@as "repeat-y"] `repeatY
+ | [@as "no-repeat"] `noRepeat
]
- )
- => pattern = "";
+ ) =>
+ pattern;
/* Paths */
-[@bs.send.pipe : t] external beginPath : unit = "";
-[@bs.send.pipe : t] external closePath : unit = "";
-[@bs.send.pipe : t] external fill : unit = "";
-[@bs.send.pipe : t] external stroke : unit = "";
-[@bs.send.pipe : t] external clip : unit = "";
-[@bs.send.pipe : t] external moveTo : (~x: float, ~y: float) => unit = "";
-[@bs.send.pipe : t] external lineTo : (~x: float, ~y: float) => unit = "";
-[@bs.send.pipe : t] external quadraticCurveTo : (~cp1x: float, ~cp1y: float, ~x: float, ~y: float) => unit = "";
-[@bs.send.pipe : t] external bezierCurveTo : (~cp1x: float, ~cp1y: float, ~cp2x: float, ~cp2y: float, ~x: float, ~y: float) => unit = "";
-[@bs.send.pipe : t] external arcTo : (~x1: float, ~y1: float, ~x2: float, ~y2: float, ~r: float) => unit = "";
-[@bs.send.pipe : t] external arc : (~x: float, ~y: float, ~r: float, ~startAngle: float, ~endAngle: float, ~anticw: bool) => unit = "";
-[@bs.send.pipe : t] external rect : (~x: float, ~y: float, ~w: float, ~h: float) => unit = "";
-[@bs.send.pipe : t] external isPointInPath : (~x: float, ~y: float) => bool = "";
+[@send] external beginPath: t => unit;
+[@send] external closePath: t => unit;
+[@send] external fill: t => unit;
+[@send] external stroke: t => unit;
+[@send] external clip: t => unit;
+[@send] external moveTo: (t, ~x: float, ~y: float) => unit;
+[@send] external lineTo: (t, ~x: float, ~y: float) => unit;
+[@send] external quadraticCurveTo: (t, ~cp1x: float, ~cp1y: float, ~x: float, ~y: float) => unit;
+[@send]
+external bezierCurveTo:
+ (t, ~cp1x: float, ~cp1y: float, ~cp2x: float, ~cp2y: float, ~x: float, ~y: float) => unit;
+[@send] external arcTo: (t, ~x1: float, ~y1: float, ~x2: float, ~y2: float, ~r: float) => unit;
+[@send]
+external arc:
+ (t, ~x: float, ~y: float, ~r: float, ~startAngle: float, ~endAngle: float, ~anticw: bool) => unit;
+[@send] external rect: (t, ~x: float, ~y: float, ~w: float, ~h: float) => unit;
+[@send] external isPointInPath: (t, ~x: float, ~y: float) => bool;
/* Text */
-[@bs.set] external font : (t, string) => unit = "";
-[@bs.set] external textAlign : (t, string) => unit = "";
-[@bs.set] external textBaseline : (t, string) => unit = "";
-[@bs.send.pipe : t] external fillText : (string, ~x: float, ~y: float, ~maxWidth: float=?) => unit = "";
-[@bs.send.pipe : t] external strokeText : (string, ~x: float, ~y: float, ~maxWidth: float=?) => unit = "";
-[@bs.send.pipe : t] external measureText : string => measureText = "";
-[@bs.get] external width : measureText => float = "";
+[@set] external font: (t, string) => unit;
+[@set] external textAlign: (t, string) => unit;
+[@set] external textBaseline: (t, string) => unit;
+[@send]
+external fillText: (t, string, ~x: float, ~y: float, ~maxWidth: float=?, [@ignore] unit) => unit;
+[@send]
+external strokeText: (t, string, ~x: float, ~y: float, ~maxWidth: float=?, [@ignore] unit) => unit;
+[@send] external measureText: (t, string) => measureText;
+[@get] external width: measureText => float;
/* Rectangles */
-[@bs.send.pipe : t] external fillRect : (~x: float, ~y: float, ~w: float, ~h: float) => unit = "";
-[@bs.send.pipe : t] external strokeRect : (~x: float, ~y: float, ~w: float, ~h: float) => unit = "";
-[@bs.send.pipe : t] external clearRect : (~x: float, ~y: float, ~w: float, ~h: float) => unit = "";
+[@send] external fillRect: (t, ~x: float, ~y: float, ~w: float, ~h: float) => unit;
+[@send] external strokeRect: (t, ~x: float, ~y: float, ~w: float, ~h: float) => unit;
+[@send] external clearRect: (t, ~x: float, ~y: float, ~w: float, ~h: float) => unit;
-[@bs.send] external createImageDataCoords : (t, ~width: float, ~height: float) => Webapi__Dom__Image.t = "createImageData";
-[@bs.send] external createImageDataFromImage : (t, Webapi__Dom__Image.t) => Webapi__Dom__Image.t = "createImageData";
+[@send]
+external createImageDataCoords: (t, ~width: float, ~height: float) => Webapi__Dom__Image.t =
+ "createImageData";
+[@send]
+external createImageDataFromImage: (t, Webapi__Dom__Image.t) => Webapi__Dom__Image.t =
+ "createImageData";
-[@bs.send] external getImageData : (t, ~sx: float, ~sy: float, ~sw: float, ~sh: float) => Webapi__Dom__Image.t = "";
+[@send]
+external getImageData: (t, ~sx: float, ~sy: float, ~sw: float, ~sh: float) => Webapi__Dom__Image.t;
-[@bs.send] external putImageData : (
- t,
- ~imageData: Webapi__Dom__Image.t,
- ~dx: float,
- ~dy: float
- )
- => unit = "";
+[@send]
+external putImageData: (t, ~imageData: Webapi__Dom__Image.t, ~dx: float, ~dy: float) => unit;
-[@bs.send] external putImageDataWithDirtyRect : (
+[@send]
+external putImageDataWithDirtyRect:
+ (
t,
~imageData: Webapi__Dom__Image.t,
~dx: float,
@@ -211,5 +227,6 @@ let strokeStyle = (ctx: t) =>
~dirtyY: float,
~dirtyWidth: float,
~dirtyHeight: float
- )
- => unit = "putImageData";
+ ) =>
+ unit =
+ "putImageData";
diff --git a/src/Webapi/Canvas/Webapi__Canvas__WebGl.re b/src/Webapi/Canvas/Webapi__Canvas__WebGl.re
index 601406a2..7dbba4a8 100644
--- a/src/Webapi/Canvas/Webapi__Canvas__WebGl.re
+++ b/src/Webapi/Canvas/Webapi__Canvas__WebGl.re
@@ -66,40 +66,42 @@ let _STATIC_DRAW: int = 35044;
let _DYNAMIC_DRAW: int = 35048;
/* void clear(GLbitfield mask); */
-[@bs.send] external clear : (glT, int) => unit = "clear";
+[@send] external clear: (glT, int) => unit = "clear";
/* void clearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); */
-[@bs.send] external clearColor : (glT, float, float, float, float) => unit = "clearColor";
+[@send] external clearColor: (glT, float, float, float, float) => unit = "clearColor";
/* void enable(GLenum cap); */
-[@bs.send] external enable : (glT, int) => unit = "enable";
+[@send] external enable: (glT, int) => unit = "enable";
/* void disable(GLenum cap); */
-[@bs.send] external disable : (glT, int) => unit = "disable";
+[@send] external disable: (glT, int) => unit = "disable";
/* void blendFunc(GLenum sfactor, GLenum dfactor); */
-[@bs.send] external blendFunc : (glT, int, int) => unit = "blendFunc";
+[@send] external blendFunc: (glT, int, int) => unit = "blendFunc";
/* void cullFace(GLenum mode); */
-[@bs.send] external cullFace : (glT, int) => unit = "cullFace";
-[@bs.send] external createBuffer : glT => bufferT = "createBuffer";
-[@bs.send] external deleteBuffer : (glT, bufferT) => unit = "deleteBuffer";
-[@bs.send] external bindBuffer : (glT, int, bufferT) => unit = "bindBuffer";
-[@bs.send] external bufferData : (glT, int, Js.Typed_array.Uint16Array.t, int) => unit = "bufferData";
-[@bs.send] external bufferFloatData : (glT, int, Js.Typed_array.Float32Array.t, int) => unit = "bufferData";
-[@bs.send] external createProgram : glT => programT = "createProgram";
-[@bs.send] external linkProgram : (glT, programT) => unit = "linkProgram";
-[@bs.send] external useProgram : (glT, programT) => unit = "useProgram";
-[@bs.send] external getProgramInfoLog : (glT, programT) => string = "getProgramInfoLog";
-[@bs.send] external bindAttribLocation : (glT, programT, int, string) => unit = "bindAttribLocation";
-[@bs.send] external createShader : (glT, int) => shaderT = "createShader";
-[@bs.send] external shaderSource : (glT, shaderT, string) => unit = "shaderSource";
-[@bs.send] external compileShader : (glT, shaderT) => unit = "compileShader";
-[@bs.send] external attachShader : (glT, programT, shaderT) => unit = "attachShader";
-[@bs.send] external getShaderInfoLog : (glT, shaderT) => string = "getShaderInfoLog";
+[@send] external cullFace: (glT, int) => unit = "cullFace";
+[@send] external createBuffer: glT => bufferT = "createBuffer";
+[@send] external deleteBuffer: (glT, bufferT) => unit = "deleteBuffer";
+[@send] external bindBuffer: (glT, int, bufferT) => unit = "bindBuffer";
+[@send] external bufferData: (glT, int, Js.Typed_array.Uint16Array.t, int) => unit = "bufferData";
+[@send]
+external bufferFloatData: (glT, int, Js.Typed_array.Float32Array.t, int) => unit = "bufferData";
+[@send] external createProgram: glT => programT = "createProgram";
+[@send] external linkProgram: (glT, programT) => unit = "linkProgram";
+[@send] external useProgram: (glT, programT) => unit = "useProgram";
+[@send] external getProgramInfoLog: (glT, programT) => string = "getProgramInfoLog";
+[@send] external bindAttribLocation: (glT, programT, int, string) => unit = "bindAttribLocation";
+[@send] external createShader: (glT, int) => shaderT = "createShader";
+[@send] external shaderSource: (glT, shaderT, string) => unit = "shaderSource";
+[@send] external compileShader: (glT, shaderT) => unit = "compileShader";
+[@send] external attachShader: (glT, programT, shaderT) => unit = "attachShader";
+[@send] external getShaderInfoLog: (glT, shaderT) => string = "getShaderInfoLog";
/* void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset); */
-[@bs.send] external drawElements : (glT, int, int, int, int) => unit = "drawElements";
+[@send] external drawElements: (glT, int, int, int, int) => unit = "drawElements";
/* void enableVertexAttribArray(GLuint index); */
-[@bs.send] external enableVertexAttribArray : (glT, int) => unit = "enableVertexAttribArray";
+[@send] external enableVertexAttribArray: (glT, int) => unit = "enableVertexAttribArray";
/* void vertexAttribPointer(GLuint indx, GLint size, GLenum type,
GLboolean normalized, GLsizei stride, GLintptr offset); */
-[@bs.send] external vertexAttribPointer : (glT, int, int, int, bool, int, int) => unit = "vertexAttribPointer";
+[@send]
+external vertexAttribPointer: (glT, int, int, int, bool, int, int) => unit = "vertexAttribPointer";
/* GLint gl.getAttribLocation(program, name); */
-[@bs.send] external getAttribLocation : (glT, programT, string) => int = "getAttribLocation";
+[@send] external getAttribLocation: (glT, programT, string) => int = "getAttribLocation";
/* void gl.drawArrays(mode, first, count); */
-[@bs.send] external drawArrays : (glT, int, int, int) => unit = "drawArrays";
+[@send] external drawArrays: (glT, int, int, int) => unit = "drawArrays";
diff --git a/src/Webapi/Dom/Webapi__Dom__AnimationEvent.re b/src/Webapi/Dom/Webapi__Dom__AnimationEvent.re
index 201fb0e0..c21e8057 100644
--- a/src/Webapi/Dom/Webapi__Dom__AnimationEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__AnimationEvent.re
@@ -1,10 +1,12 @@
type t = Dom.animationEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "AnimationEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "AnimationEvent";
+[@new] external make: string => t = "AnimationEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "AnimationEvent";
-[@bs.get] external animationName : t => string = "";
-[@bs.get] external elapsedTime : t => float = "";
-[@bs.get] external pseudoElement : t => string /* enum-ish */ = "";
+[@get] external animationName: t => string;
+[@get] external elapsedTime: t => float;
+[@get] external pseudoElement: t => string /* enum-ish */;
diff --git a/src/Webapi/Dom/Webapi__Dom__Attr.re b/src/Webapi/Dom/Webapi__Dom__Attr.re
index 7b9846b5..87bbffc9 100644
--- a/src/Webapi/Dom/Webapi__Dom__Attr.re
+++ b/src/Webapi/Dom/Webapi__Dom__Attr.re
@@ -1,12 +1,16 @@
type t = Dom.attr;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
-[@bs.get] external namespaceURI : t => string = "";
-[@bs.get] external prefix : t => string = "";
-[@bs.get] external localName : t => string = "";
-[@bs.get] external name : t => string = "";
-[@bs.get] external value : t => string = "";
-[@bs.get] [@bs.return nullable] external ownerElement : t => option(Dom.element) = "";
-[@bs.get] external specified : t => bool = ""; /* useless; always returns true (exact wording from spec) */
+[@get] external namespaceURI: t => string;
+[@get] external prefix: t => string;
+[@get] external localName: t => string;
+[@get] external name: t => string;
+[@get] external value: t => string;
+[@get] [@return nullable] external ownerElement: t => option(Dom.element);
+[@get] external specified: t => bool; /* useless; always returns true (exact wording from spec) */
diff --git a/src/Webapi/Dom/Webapi__Dom__BeforeUnloadEvent.re b/src/Webapi/Dom/Webapi__Dom__BeforeUnloadEvent.re
index 180c80a8..d804a900 100644
--- a/src/Webapi/Dom/Webapi__Dom__BeforeUnloadEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__BeforeUnloadEvent.re
@@ -1,8 +1,10 @@
type t = Dom.beforeUnloadEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "BeforeUnloadEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "BeforeUnloadEvent";
+[@new] external make: string => t = "BeforeUnloadEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "BeforeUnloadEvent";
-[@bs.get] external returnValue : t => string = "";
+[@get] external returnValue: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__CdataSection.re b/src/Webapi/Dom/Webapi__Dom__CdataSection.re
index 232cb8b7..99135822 100644
--- a/src/Webapi/Dom/Webapi__Dom__CdataSection.re
+++ b/src/Webapi/Dom/Webapi__Dom__CdataSection.re
@@ -1,8 +1,20 @@
type t = Dom.cdataSection;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__CharacterData.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonDocumentTypeChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__Slotable.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__CharacterData.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonDocumentTypeChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Slotable.Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__CharacterData.re b/src/Webapi/Dom/Webapi__Dom__CharacterData.re
index d0f2f018..4af39454 100644
--- a/src/Webapi/Dom/Webapi__Dom__CharacterData.re
+++ b/src/Webapi/Dom/Webapi__Dom__CharacterData.re
@@ -1,18 +1,28 @@
module Impl = (T: {type t;}) => {
- [@bs.get] external data : T.t => string = "";
- [@bs.get] external length : T.t => int = "";
+ [@get] external data: T.t => string;
+ [@get] external length: T.t => int;
- [@bs.send.pipe : T.t] external substringData : (~offset: int, ~count: int) => string = "";
- [@bs.send.pipe : T.t] external appendData : string => unit = "";
- [@bs.send.pipe : T.t] external insertData : (~offset: int, string) => unit = "";
- [@bs.send.pipe : T.t] external deleteData : (~offset: int, ~count: int) => unit = "";
- [@bs.send.pipe : T.t] external replaceData : (~offset: int, ~count: int, string) => unit = "";
+ [@send] external substringData: (T.t, ~offset: int, ~count: int) => string;
+ [@send] external appendData: (T.t, string) => unit;
+ [@send] external insertData: (T.t, ~offset: int, string) => unit;
+ [@send] external deleteData: (T.t, ~offset: int, ~count: int) => unit;
+ [@send] external replaceData: (T.t, ~offset: int, ~count: int, string) => unit;
};
type t = Dom.characterData;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonDocumentTypeChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
\ No newline at end of file
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonDocumentTypeChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__ChildNode.re b/src/Webapi/Dom/Webapi__Dom__ChildNode.re
index 825da614..f78ad4e4 100644
--- a/src/Webapi/Dom/Webapi__Dom__ChildNode.re
+++ b/src/Webapi/Dom/Webapi__Dom__ChildNode.re
@@ -1,4 +1,4 @@
/* Mixin */
module Impl = (T: {type t;}) => {
- [@bs.send.pipe : T.t] external remove : unit = "";
+ [@send] external remove: T.t => unit;
};
diff --git a/src/Webapi/Dom/Webapi__Dom__ClipboardEvent.re b/src/Webapi/Dom/Webapi__Dom__ClipboardEvent.re
index 376e1263..141dcb95 100644
--- a/src/Webapi/Dom/Webapi__Dom__ClipboardEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__ClipboardEvent.re
@@ -1,8 +1,10 @@
type t = Dom.clipboardEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "ClipboardEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "ClipboardEvent";
+[@new] external make: string => t = "ClipboardEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "ClipboardEvent";
-[@bs.get] external clipboardData : t => Dom.dataTransfer = "";
+[@get] external clipboardData: t => Dom.dataTransfer;
diff --git a/src/Webapi/Dom/Webapi__Dom__CloseEvent.re b/src/Webapi/Dom/Webapi__Dom__CloseEvent.re
index e416b6f3..18fade1d 100644
--- a/src/Webapi/Dom/Webapi__Dom__CloseEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__CloseEvent.re
@@ -1,10 +1,12 @@
type t = Dom.closeEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "CloseEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "CloseEvent";
+[@new] external make: string => t = "CloseEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "CloseEvent";
-[@bs.get] external wasClean : t => bool = "";
-[@bs.get] external code : t => int = "";
-[@bs.get] external reason : t => string = "";
+[@get] external wasClean: t => bool;
+[@get] external code: t => int;
+[@get] external reason: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__Comment.re b/src/Webapi/Dom/Webapi__Dom__Comment.re
index fce2cbc2..2a7e337f 100644
--- a/src/Webapi/Dom/Webapi__Dom__Comment.re
+++ b/src/Webapi/Dom/Webapi__Dom__Comment.re
@@ -1,8 +1,20 @@
type t = Dom.comment;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__CharacterData.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonDocumentTypeChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__Slotable.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__CharacterData.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonDocumentTypeChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Slotable.Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__CompositionEvent.re b/src/Webapi/Dom/Webapi__Dom__CompositionEvent.re
index f360e5a6..1c10680b 100644
--- a/src/Webapi/Dom/Webapi__Dom__CompositionEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__CompositionEvent.re
@@ -1,9 +1,13 @@
type t = Dom.compositionEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "CompositionEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "CompositionEvent";
+[@new] external make: string => t = "CompositionEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "CompositionEvent";
-[@bs.get] external data : t => string = "";
+[@get] external data: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__CssStyleDeclaration.re b/src/Webapi/Dom/Webapi__Dom__CssStyleDeclaration.re
index 1b7d3cfa..1936bfbb 100644
--- a/src/Webapi/Dom/Webapi__Dom__CssStyleDeclaration.re
+++ b/src/Webapi/Dom/Webapi__Dom__CssStyleDeclaration.re
@@ -1,138 +1,138 @@
type t = Dom.cssStyleDeclaration;
type cssRule; /* TODO: Move to Webapi__Dom */
-[@bs.get] external cssText : t => string = "";
-[@bs.set] external setCssText : (t, string) => unit = "cssText";
-[@bs.get] external length : t => int = "";
-[@bs.get] external parentRule : t => cssRule = "";
+[@get] external cssText: t => string;
+[@set] external setCssText: (t, string) => unit = "cssText";
+[@get] external length: t => int;
+[@get] external parentRule: t => cssRule;
-[@bs.send.pipe : t] external getPropertyPriority : string => string = "";
-[@bs.send.pipe : t] external getPropertyValue : string => string = "";
-[@bs.send.pipe : t] external item : int => string = "";
-[@bs.send.pipe : t] external removeProperty : string => string = "";
-[@bs.send.pipe : t] external setProperty : (string, string, string) => unit = "";
-/*[@@bs.send.pipe : t] external setPropertyValue : (string, string) => unit = "";*/ /* not mentioned by MDN and not implemented by chrome, but in the CSSOM spec: https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface */
+[@send] external getPropertyPriority: (t, string) => string;
+[@send] external getPropertyValue: (t, string) => string;
+[@send] external item: (t, int) => string;
+[@send] external removeProperty: (t, string) => string;
+[@send] external setProperty: (t, string, string, string) => unit;
+[@send] external setPropertyValue: (t, string, string) => unit;
/* CSS2Properties */
-[@bs.get] external azimuth : t => string = "";
-[@bs.get] external background : t => string = "";
-[@bs.get] external backgroundAttachment : t => string = "";
-[@bs.get] external backgroundColor : t => string = "";
-[@bs.get] external backgroundImage : t => string = "";
-[@bs.get] external backgroundPosition : t => string = "";
-[@bs.get] external backgroundRepeat : t => string = "";
-[@bs.get] external border : t => string = "";
-[@bs.get] external borderCollapse : t => string = "";
-[@bs.get] external borderColor : t => string = "";
-[@bs.get] external borderSpacing : t => string = "";
-[@bs.get] external borderStyle : t => string = "";
-[@bs.get] external borderTop : t => string = "";
-[@bs.get] external borderRight : t => string = "";
-[@bs.get] external borderBottom : t => string = "";
-[@bs.get] external borderLeft : t => string = "";
-[@bs.get] external borderTopColor : t => string = "";
-[@bs.get] external borderRightColor : t => string = "";
-[@bs.get] external borderBottomColor : t => string = "";
-[@bs.get] external borderLeftColor : t => string = "";
-[@bs.get] external borderTopStyle : t => string = "";
-[@bs.get] external borderRightStyle : t => string = "";
-[@bs.get] external borderBottomStyle : t => string = "";
-[@bs.get] external borderLeftStyle : t => string = "";
-[@bs.get] external borderTopWidth : t => string = "";
-[@bs.get] external borderRightWidth : t => string = "";
-[@bs.get] external borderBottomWidth : t => string = "";
-[@bs.get] external borderLeftWidth : t => string = "";
-[@bs.get] external borderWidth : t => string = "";
-[@bs.get] external bottom : t => string = "";
-[@bs.get] external captionSide : t => string = "";
-[@bs.get] external clear : t => string = "";
-[@bs.get] external clip : t => string = "";
-[@bs.get] external color : t => string = "";
-[@bs.get] external content : t => string = "";
-[@bs.get] external counterIncrement : t => string = "";
-[@bs.get] external counterReset : t => string = "";
-[@bs.get] external cue : t => string = "";
-[@bs.get] external cueAfter : t => string = "";
-[@bs.get] external cueBefore : t => string = "";
-[@bs.get] external cursor : t => string = "";
-[@bs.get] external direction : t => string = "";
-[@bs.get] external display : t => string = "";
-[@bs.get] external elevation : t => string = "";
-[@bs.get] external emptyCells : t => string = "";
-[@bs.get] external cssFloat : t => string = "";
-[@bs.get] external font : t => string = "";
-[@bs.get] external fontFamily : t => string = "";
-[@bs.get] external fontSize : t => string = "";
-[@bs.get] external fontSizeAdjust : t => string = "";
-[@bs.get] external fontStretch : t => string = "";
-[@bs.get] external fontStyle : t => string = "";
-[@bs.get] external fontVariant : t => string = "";
-[@bs.get] external fontWeight : t => string = "";
-[@bs.get] external height : t => string = "";
-[@bs.get] external left : t => string = "";
-[@bs.get] external letterSpacing : t => string = "";
-[@bs.get] external lineHeight : t => string = "";
-[@bs.get] external listStyle : t => string = "";
-[@bs.get] external listStyleImage : t => string = "";
-[@bs.get] external listStylePosition : t => string = "";
-[@bs.get] external listStyleType : t => string = "";
-[@bs.get] external margin : t => string = "";
-[@bs.get] external marginTop : t => string = "";
-[@bs.get] external marginRight : t => string = "";
-[@bs.get] external marginBottom : t => string = "";
-[@bs.get] external marginLeft : t => string = "";
-[@bs.get] external markerOffset : t => string = "";
-[@bs.get] external marks : t => string = "";
-[@bs.get] external maxHeight : t => string = "";
-[@bs.get] external maxWidth : t => string = "";
-[@bs.get] external minHeight : t => string = "";
-[@bs.get] external minWidth : t => string = "";
-[@bs.get] external orphans : t => string = "";
-[@bs.get] external outline : t => string = "";
-[@bs.get] external outlineColor : t => string = "";
-[@bs.get] external outlineStyle : t => string = "";
-[@bs.get] external outlineWidth : t => string = "";
-[@bs.get] external overflow : t => string = "";
-[@bs.get] external padding : t => string = "";
-[@bs.get] external paddingTop : t => string = "";
-[@bs.get] external paddingRight : t => string = "";
-[@bs.get] external paddingBottom : t => string = "";
-[@bs.get] external paddingLeft : t => string = "";
-[@bs.get] external page : t => string = "";
-[@bs.get] external pageBreakAfter : t => string = "";
-[@bs.get] external pageBreakBefore : t => string = "";
-[@bs.get] external pageBreakInside : t => string = "";
-[@bs.get] external pause : t => string = "";
-[@bs.get] external pauseAfter : t => string = "";
-[@bs.get] external pauseBefore : t => string = "";
-[@bs.get] external pitch : t => string = "";
-[@bs.get] external pitchRange : t => string = "";
-[@bs.get] external playDuring : t => string = "";
-[@bs.get] external position : t => string = "";
-[@bs.get] external quotes : t => string = "";
-[@bs.get] external richness : t => string = "";
-[@bs.get] external right : t => string = "";
-[@bs.get] external size : t => string = "";
-[@bs.get] external speak : t => string = "";
-[@bs.get] external speakHeader : t => string = "";
-[@bs.get] external speakNumeral : t => string = "";
-[@bs.get] external speakPunctuation : t => string = "";
-[@bs.get] external speechRate : t => string = "";
-[@bs.get] external stress : t => string = "";
-[@bs.get] external tableLayout : t => string = "";
-[@bs.get] external textAlign : t => string = "";
-[@bs.get] external textDecoration : t => string = "";
-[@bs.get] external textIndent : t => string = "";
-[@bs.get] external textShadow : t => string = "";
-[@bs.get] external textTransform : t => string = "";
-[@bs.get] external top : t => string = "";
-[@bs.get] external unicodeBidi : t => string = "";
-[@bs.get] external verticalAlign : t => string = "";
-[@bs.get] external visibility : t => string = "";
-[@bs.get] external voiceFamily : t => string = "";
-[@bs.get] external volume : t => string = "";
-[@bs.get] external whiteSpace : t => string = "";
-[@bs.get] external widows : t => string = "";
-[@bs.get] external width : t => string = "";
-[@bs.get] external wordSpacing : t => string = "";
-[@bs.get] external zIndex : t => string = "";
\ No newline at end of file
+[@get] external azimuth: t => string;
+[@get] external background: t => string;
+[@get] external backgroundAttachment: t => string;
+[@get] external backgroundColor: t => string;
+[@get] external backgroundImage: t => string;
+[@get] external backgroundPosition: t => string;
+[@get] external backgroundRepeat: t => string;
+[@get] external border: t => string;
+[@get] external borderCollapse: t => string;
+[@get] external borderColor: t => string;
+[@get] external borderSpacing: t => string;
+[@get] external borderStyle: t => string;
+[@get] external borderTop: t => string;
+[@get] external borderRight: t => string;
+[@get] external borderBottom: t => string;
+[@get] external borderLeft: t => string;
+[@get] external borderTopColor: t => string;
+[@get] external borderRightColor: t => string;
+[@get] external borderBottomColor: t => string;
+[@get] external borderLeftColor: t => string;
+[@get] external borderTopStyle: t => string;
+[@get] external borderRightStyle: t => string;
+[@get] external borderBottomStyle: t => string;
+[@get] external borderLeftStyle: t => string;
+[@get] external borderTopWidth: t => string;
+[@get] external borderRightWidth: t => string;
+[@get] external borderBottomWidth: t => string;
+[@get] external borderLeftWidth: t => string;
+[@get] external borderWidth: t => string;
+[@get] external bottom: t => string;
+[@get] external captionSide: t => string;
+[@get] external clear: t => string;
+[@get] external clip: t => string;
+[@get] external color: t => string;
+[@get] external content: t => string;
+[@get] external counterIncrement: t => string;
+[@get] external counterReset: t => string;
+[@get] external cue: t => string;
+[@get] external cueAfter: t => string;
+[@get] external cueBefore: t => string;
+[@get] external cursor: t => string;
+[@get] external direction: t => string;
+[@get] external display: t => string;
+[@get] external elevation: t => string;
+[@get] external emptyCells: t => string;
+[@get] external cssFloat: t => string;
+[@get] external font: t => string;
+[@get] external fontFamily: t => string;
+[@get] external fontSize: t => string;
+[@get] external fontSizeAdjust: t => string;
+[@get] external fontStretch: t => string;
+[@get] external fontStyle: t => string;
+[@get] external fontVariant: t => string;
+[@get] external fontWeight: t => string;
+[@get] external height: t => string;
+[@get] external left: t => string;
+[@get] external letterSpacing: t => string;
+[@get] external lineHeight: t => string;
+[@get] external listStyle: t => string;
+[@get] external listStyleImage: t => string;
+[@get] external listStylePosition: t => string;
+[@get] external listStyleType: t => string;
+[@get] external margin: t => string;
+[@get] external marginTop: t => string;
+[@get] external marginRight: t => string;
+[@get] external marginBottom: t => string;
+[@get] external marginLeft: t => string;
+[@get] external markerOffset: t => string;
+[@get] external marks: t => string;
+[@get] external maxHeight: t => string;
+[@get] external maxWidth: t => string;
+[@get] external minHeight: t => string;
+[@get] external minWidth: t => string;
+[@get] external orphans: t => string;
+[@get] external outline: t => string;
+[@get] external outlineColor: t => string;
+[@get] external outlineStyle: t => string;
+[@get] external outlineWidth: t => string;
+[@get] external overflow: t => string;
+[@get] external padding: t => string;
+[@get] external paddingTop: t => string;
+[@get] external paddingRight: t => string;
+[@get] external paddingBottom: t => string;
+[@get] external paddingLeft: t => string;
+[@get] external page: t => string;
+[@get] external pageBreakAfter: t => string;
+[@get] external pageBreakBefore: t => string;
+[@get] external pageBreakInside: t => string;
+[@get] external pause: t => string;
+[@get] external pauseAfter: t => string;
+[@get] external pauseBefore: t => string;
+[@get] external pitch: t => string;
+[@get] external pitchRange: t => string;
+[@get] external playDuring: t => string;
+[@get] external position: t => string;
+[@get] external quotes: t => string;
+[@get] external richness: t => string;
+[@get] external right: t => string;
+[@get] external size: t => string;
+[@get] external speak: t => string;
+[@get] external speakHeader: t => string;
+[@get] external speakNumeral: t => string;
+[@get] external speakPunctuation: t => string;
+[@get] external speechRate: t => string;
+[@get] external stress: t => string;
+[@get] external tableLayout: t => string;
+[@get] external textAlign: t => string;
+[@get] external textDecoration: t => string;
+[@get] external textIndent: t => string;
+[@get] external textShadow: t => string;
+[@get] external textTransform: t => string;
+[@get] external top: t => string;
+[@get] external unicodeBidi: t => string;
+[@get] external verticalAlign: t => string;
+[@get] external visibility: t => string;
+[@get] external voiceFamily: t => string;
+[@get] external volume: t => string;
+[@get] external whiteSpace: t => string;
+[@get] external widows: t => string;
+[@get] external width: t => string;
+[@get] external wordSpacing: t => string;
+[@get] external zIndex: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__CustomEvent.re b/src/Webapi/Dom/Webapi__Dom__CustomEvent.re
index c87805dc..44f951d8 100644
--- a/src/Webapi/Dom/Webapi__Dom__CustomEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__CustomEvent.re
@@ -1,6 +1,8 @@
type t = Dom.customEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "CustomEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "CustomEvent";
+[@new] external make: string => t = "CustomEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "CustomEvent";
diff --git a/src/Webapi/Dom/Webapi__Dom__Document.re b/src/Webapi/Dom/Webapi__Dom__Document.re
index 44652063..61d027a0 100644
--- a/src/Webapi/Dom/Webapi__Dom__Document.re
+++ b/src/Webapi/Dom/Webapi__Dom__Document.re
@@ -1,7 +1,8 @@
module Impl = (T: {type t;}) => {
- external asDocument : T.t => Dom.document = "%identity";
+ external asDocument: T.t => Dom.document = "%identity";
- let asHtmlDocument: T.t => option(Dom.htmlDocument) = [%raw {|
+ let asHtmlDocument: T.t => option(Dom.htmlDocument) = [%raw
+ {|
function(document) {
var defaultView = document.defaultView;
@@ -13,81 +14,110 @@ module Impl = (T: {type t;}) => {
}
}
}
- |}];
+ |}
+ ];
/** Unsafe cast, use [ashtmlDocument] instead */
- external unsafeAsHtmlDocument : T.t => Dom.htmlDocument = "%identity";
+ external unsafeAsHtmlDocument: T.t => Dom.htmlDocument = "%identity";
- let ofNode = (node: Dom.node) : option(T.t) =>
- Webapi__Dom__Node.nodeType(node) == Webapi__Dom__Types.Document ?
- Some(Obj.magic(node)) :
- None;
+ let ofNode = (node: Dom.node): option(T.t) =>
+ Webapi__Dom__Node.nodeType(node) == Webapi__Dom__Types.Document
+ ? Some(Obj.magic(node)) : None;
- [@bs.get] external characterSet : T.t => string = "";
- [@bs.get] external compatMode : T.t => string /* compatMode enum */ = ""; /* experimental */
+ [@get] external characterSet: T.t => string;
+ [@get] external compatMode: T.t => string /* compatMode enum */; /* experimental */
let compatMode: T.t => Webapi__Dom__Types.compatMode =
- (self) => Webapi__Dom__Types.decodeCompatMode(compatMode(self));
- [@bs.get] external doctype : T.t => Dom.documentType = "";
- [@bs.get] external documentElement : T.t => Dom.element = "";
- [@bs.get] external documentURI : T.t => string = "";
- [@bs.get] external hidden : T.t => bool = "";
- [@bs.get] external implementation : T.t => Dom.domImplementation = "";
- [@bs.get] external lastStyleSheetSet : T.t => string = "";
- [@bs.get] [@bs.return nullable] external pointerLockElement : T.t => option(Dom.element) = ""; /* experimental */
+ self => Webapi__Dom__Types.decodeCompatMode(compatMode(self));
+ [@get] external doctype: T.t => Dom.documentType;
+ [@get] external documentElement: T.t => Dom.element;
+ [@get] external documentURI: T.t => string;
+ [@get] external hidden: T.t => bool;
+ [@get] external implementation: T.t => Dom.domImplementation;
+ [@get] external lastStyleSheetSet: T.t => string;
+ [@get] [@return nullable] external pointerLockElement: T.t => option(Dom.element); /* experimental */
- [@bs.get] external preferredStyleSheetSet : T.t => string = "";
- [@bs.get] [@bs.return nullable] external scrollingElement : T.t => option(Dom.element) = "";
- [@bs.get] external selectedStyleSheetSet : T.t => string = "";
- [@bs.set] external setSelectedStyleSheetSet : (T.t, string) => unit = "selectedStyleSheetSet";
- [@bs.get] external styleSheets : T.t => array(Dom.cssStyleSheet) = ""; /* return StyleSheetList, not array */
- [@bs.get] external styleSheetSets : T.t => array(string) = "";
- [@bs.get] external visibilityState : T.t => string /* visibilityState enum */ = "";
+ [@get] external preferredStyleSheetSet: T.t => string;
+ [@get] [@return nullable] external scrollingElement: T.t => option(Dom.element);
+ [@get] external selectedStyleSheetSet: T.t => string;
+ [@set] external setSelectedStyleSheetSet: (T.t, string) => unit = "selectedStyleSheetSet";
+ [@get] external styleSheets: T.t => array(Dom.cssStyleSheet); /* return StyleSheetList, not array */
+ [@get] external styleSheetSets: T.t => array(string);
+ [@get] external visibilityState: T.t => string /* visibilityState enum */;
let visibilityState: T.t => Webapi__Dom__Types.visibilityState =
- (self) => Webapi__Dom__Types.decodeVisibilityState(visibilityState(self));
+ self => Webapi__Dom__Types.decodeVisibilityState(visibilityState(self));
- [@bs.send.pipe : T.t] external adoptNode : Dom.element_like('a) => Dom.element_like('a) = "";
- [@bs.send.pipe : T.t] external createAttribute : string => Dom.attr = "";
- [@bs.send.pipe : T.t] external createAttributeNS : (string, string) => Dom.attr = "";
- [@bs.send.pipe : T.t] external createComment : string => Dom.comment = "";
- [@bs.send.pipe : T.t] external createDocumentFragment : Dom.documentFragment = "";
- [@bs.send.pipe : T.t] external createElement : string => Dom.element = "";
- [@bs.send.pipe : T.t] external createElementWithOptions : (string, Js.t({..})) => Dom.element = "createElement"; /* not widely supported */
- [@bs.send.pipe : T.t] external createElementNS : (string, string) => Dom.element = "";
- [@bs.send.pipe : T.t] external createElementNSWithOptions : (string, string, Js.t({..})) => Dom.element = "createElementNS"; /* not widely supported */
- [@bs.send.pipe : T.t] external createEvent : string /* large enum */ => Dom.event = ""; /* discouraged (but not deprecated) in favor of Event constructors */
- [@bs.send.pipe : T.t] external createNodeIterator : Dom.node_like('a) => Dom.nodeIterator = "";
- [@bs.send.pipe : T.t] external createNodeIteratorWithWhatToShow : (Dom.node_like('a), Webapi__Dom__Types.WhatToShow.t) => Dom.nodeIterator = "createNodeIterator";
- [@bs.send.pipe : T.t] external createNodeIteratorWithWhatToShowFilter : (Dom.node_like('a), Webapi__Dom__Types.WhatToShow.t, Dom.nodeFilter) => Dom.nodeIterator = "createNodeIterator"; /* createProcessingInstruction */
- [@bs.send.pipe : T.t] external createRange : Dom.range = "";
- [@bs.send.pipe : T.t] external createTextNode : string => Dom.text = "";
- [@bs.send.pipe : T.t] external createTreeWalker : Dom.element_like('a) => Dom.treeWalker = "";
- [@bs.send.pipe : T.t] external createTreeWalkerWithWhatToShow : (Dom.element_like('a), Webapi__Dom__Types.WhatToShow.t) => Dom.treeWalker = "createTreeWalker";
- [@bs.send.pipe : T.t] external createTreeWalkerWithWhatToShowFilter : (Dom.element_like('a), Webapi__Dom__Types.WhatToShow.t, Dom.nodeFilter) => Dom.treeWalker = "createTreeWalker";
- [@bs.send.pipe : T.t] external elementFromPoint : (int, int) => Dom.element = ""; /* experimental, but widely supported */
- [@bs.send.pipe : T.t] external elementsFromPoint : (int, int) => array(Dom.element) = ""; /* experimental */
- [@bs.send.pipe : T.t] external enableStyleSheetsForSet : string => unit = "";
- [@bs.send.pipe : T.t] external exitPointerLock : unit = ""; /* experimental */
- [@bs.send.pipe : T.t] external getAnimations : array(Dom.animation) = ""; /* experimental */
- [@bs.send.pipe : T.t] external getElementsByClassName : string => Dom.htmlCollection = "";
- [@bs.send.pipe : T.t] external getElementsByTagName : string => Dom.htmlCollection = "";
- [@bs.send.pipe : T.t] external getElementsByTagNameNS : (string, string) => Dom.htmlCollection = "";
- [@bs.send.pipe : T.t] external importNode : Dom.element_like('a) => Dom.element_like('a) = "";
- [@bs.send.pipe : T.t] external importNodeDeep : (Dom.element_like('a), [@bs.as {json|true|json}] _) => Dom.element_like('a) = "importNode";
- [@bs.send.pipe : T.t] external registerElement : (string, unit) => Dom.element = ""; /* experimental and deprecated in favor of customElements.define() */
- [@bs.send.pipe : T.t] external registerElementWithOptions : (string, Js.t({..}), unit) => Dom.element = "registerElement"; /* experimental and deprecated in favor of customElements.define() */
+ [@send] external adoptNode: (T.t, Dom.element_like('a)) => Dom.element_like('a);
+ [@send] external createAttribute: (T.t, string) => Dom.attr;
+ [@send] external createAttributeNS: (T.t, string, string) => Dom.attr;
+ [@send] external createComment: (T.t, string) => Dom.comment;
+ [@send] external createDocumentFragment: T.t => Dom.documentFragment;
+ [@send] external createElement: (T.t, string) => Dom.element;
+ [@send]
+ external createElementWithOptions: (T.t, string, Js.t({..})) => Dom.element = "createElement"; /* not widely supported */
+ [@send] external createElementNS: (T.t, string, string) => Dom.element;
+ [@send]
+ external createElementNSWithOptions: (T.t, string, string, Js.t({..})) => Dom.element =
+ "createElementNS"; /* not widely supported */
+ [@send] external createEvent: (T.t, string /* large enum */) => Dom.event; /* discouraged (but not deprecated) in favor of Event constructors */
+ [@send] external createNodeIterator: (T.t, Dom.node_like('a)) => Dom.nodeIterator;
+ [@send]
+ external createNodeIteratorWithWhatToShow:
+ (T.t, Dom.node_like('a), Webapi__Dom__Types.WhatToShow.t) => Dom.nodeIterator =
+ "createNodeIterator";
+ [@send]
+ external createNodeIteratorWithWhatToShowFilter:
+ (T.t, Dom.node_like('a), Webapi__Dom__Types.WhatToShow.t, Dom.nodeFilter) => Dom.nodeIterator =
+ "createNodeIterator"; /* createProcessingInstruction */
+ [@send] external createRange: T.t => Dom.range;
+ [@send] external createTextNode: (T.t, string) => Dom.text;
+ [@send] external createTreeWalker: (T.t, Dom.element_like('a)) => Dom.treeWalker;
+ [@send]
+ external createTreeWalkerWithWhatToShow:
+ (T.t, Dom.element_like('a), Webapi__Dom__Types.WhatToShow.t) => Dom.treeWalker =
+ "createTreeWalker";
+ [@send]
+ external createTreeWalkerWithWhatToShowFilter:
+ (T.t, Dom.element_like('a), Webapi__Dom__Types.WhatToShow.t, Dom.nodeFilter) => Dom.treeWalker =
+ "createTreeWalker";
+ [@send] external elementFromPoint: (T.t, int, int) => Dom.element; /* experimental, but widely supported */
+ [@send] external elementsFromPoint: (T.t, int, int) => array(Dom.element); /* experimental */
+ [@send] external enableStyleSheetsForSet: (T.t, string) => unit;
+ [@send] external exitPointerLock: T.t => unit; /* experimental */
+ [@send] external getAnimations: T.t => array(Dom.animation); /* experimental */
+ [@send] external getElementsByClassName: (T.t, string) => Dom.htmlCollection;
+ [@send] external getElementsByTagName: (T.t, string) => Dom.htmlCollection;
+ [@send] external getElementsByTagNameNS: (T.t, string, string) => Dom.htmlCollection;
+ [@send] external importNode: (T.t, Dom.element_like('a)) => Dom.element_like('a);
+ [@send]
+ external importNodeDeep:
+ (T.t, Dom.element_like('a), [@as {json|true|json}] _) => Dom.element_like('a) =
+ "importNode";
+ [@send] external registerElement: (T.t, string, unit) => Dom.element; /* experimental and deprecated in favor of customElements.define() */
+ [@send]
+ external registerElementWithOptions: (T.t, string, Js.t({..}), unit) => Dom.element =
+ "registerElement"; /* experimental and deprecated in favor of customElements.define() */
- /** XPath stuff */
+ /** XPath stuff */;
/* createExpression */
/* createNSResolver */
/* evaluate */
-
/* GlobalEventHandlers interface */
};
type t = Dom.document;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonElementParentNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ParentNode.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonElementParentNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ParentNode.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__DocumentFragment.re b/src/Webapi/Dom/Webapi__Dom__DocumentFragment.re
index 3a858091..2222ec67 100644
--- a/src/Webapi/Dom/Webapi__Dom__DocumentFragment.re
+++ b/src/Webapi/Dom/Webapi__Dom__DocumentFragment.re
@@ -1,6 +1,14 @@
type t = Dom.documentFragment;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonElementParentNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ParentNode.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonElementParentNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ParentNode.Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__DocumentType.re b/src/Webapi/Dom/Webapi__Dom__DocumentType.re
index d764a1be..49e25d48 100644
--- a/src/Webapi/Dom/Webapi__Dom__DocumentType.re
+++ b/src/Webapi/Dom/Webapi__Dom__DocumentType.re
@@ -1,9 +1,15 @@
type t = Dom.documentType;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
-[@bs.get] external name : t => string = "";
-[@bs.get] external publicId : t => string = "";
-[@bs.get] external systemId : t => string = "";
+[@get] external name: t => string;
+[@get] external publicId: t => string;
+[@get] external systemId: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__DomImplementation.re b/src/Webapi/Dom/Webapi__Dom__DomImplementation.re
index 049856fc..b9f17b6e 100644
--- a/src/Webapi/Dom/Webapi__Dom__DomImplementation.re
+++ b/src/Webapi/Dom/Webapi__Dom__DomImplementation.re
@@ -1,9 +1,25 @@
type t = Dom.domImplementation;
-[@bs.send.pipe : t] external createDocumentType : (~qualifiedName: string, ~publicId: string, ~systemId: string) => Dom.documentType = "";
-[@bs.send.pipe : t] external createDocument : (Js.null(string), string, Js.null(Dom.documentType)) => Dom.xmlDocument = "";
-let createDocument = (~namespace: option(string)=?, ~qualifiedName: string, ~docType: option(Dom.documentType)=?) =>
- createDocument(Js.Null.fromOption(namespace), qualifiedName, Js.Null.fromOption(docType));
-[@bs.send.pipe : t] external createHTMLDocument : Dom.htmlDocument = "";
-[@bs.send.pipe : t] external createHTMLDocumentWithTitle : string => Dom.htmlDocument = "createHTMLDocument";
-[@bs.send.pipe : t] external hasFeature : bool = ""; /* useless; always returns true (this is exact wording from the actual spec) */
+[@send]
+external createDocumentType:
+ (t, ~qualifiedName: string, ~publicId: string, ~systemId: string) => Dom.documentType;
+[@send]
+external createDocument:
+ (t, Js.null(string), string, Js.null(Dom.documentType)) => Dom.xmlDocument;
+let createDocument =
+ (
+ impl,
+ ~namespace: option(string)=?,
+ ~qualifiedName: string,
+ ~docType: option(Dom.documentType)=?,
+ (),
+ ) =>
+ impl->createDocument(
+ Js.Null.fromOption(namespace),
+ qualifiedName,
+ Js.Null.fromOption(docType),
+ );
+[@send] external createHTMLDocument: t => Dom.htmlDocument;
+[@send]
+external createHTMLDocumentWithTitle: (t, string) => Dom.htmlDocument = "createHTMLDocument";
+[@send] external hasFeature: t => bool; /* useless; always returns true (this is exact wording from the actual spec) */
diff --git a/src/Webapi/Dom/Webapi__Dom__DomRect.re b/src/Webapi/Dom/Webapi__Dom__DomRect.re
index 6d6764d7..973741f1 100644
--- a/src/Webapi/Dom/Webapi__Dom__DomRect.re
+++ b/src/Webapi/Dom/Webapi__Dom__DomRect.re
@@ -1,12 +1,12 @@
type t = Dom.domRect;
-[@bs.new] external make : (~x: float, ~y: float, ~width: float, ~height: float) => t = "DOMRect"; /* experimental */
+[@new] external make: (~x: float, ~y: float, ~width: float, ~height: float) => t = "DOMRect"; /* experimental */
-[@bs.get] external top : t => float = "";
-[@bs.get] external bottom : t => float = "";
-[@bs.get] external left : t => float = "";
-[@bs.get] external right : t => float = "";
-[@bs.get] external height : t => float = "";
-[@bs.get] external width : t => float = "";
-[@bs.get] external x : t => float = "";
-[@bs.get] external y : t => float = "";
+[@get] external top: t => float;
+[@get] external bottom: t => float;
+[@get] external left: t => float;
+[@get] external right: t => float;
+[@get] external height: t => float;
+[@get] external width: t => float;
+[@get] external x: t => float;
+[@get] external y: t => float;
diff --git a/src/Webapi/Dom/Webapi__Dom__DomStringMap.re b/src/Webapi/Dom/Webapi__Dom__DomStringMap.re
index 7b2f8f6d..c102c0cf 100644
--- a/src/Webapi/Dom/Webapi__Dom__DomStringMap.re
+++ b/src/Webapi/Dom/Webapi__Dom__DomStringMap.re
@@ -2,11 +2,6 @@ type t = Dom.domStringMap;
type key = string;
-[@bs.get_index] [@bs.return nullable]
-external get: (t, key) => option(string) = "";
-let get = (key, map) => get(map, key);
-[@bs.set_index] external set: (t, key, string) => unit = "";
-let set = (key, value, map) => set(map, key, value);
-let unsafeDeleteKey: (key, t) => unit = [%raw
- "function(key, map) { delete map[key] }"
-];
+[@get_index] [@return nullable] external get: (t, key) => option(string);
+[@set_index] external set: (t, key, string) => unit;
+let unsafeDeleteKey: (t, key) => unit = [%raw "function(map, key) { delete map[key] }"];
diff --git a/src/Webapi/Dom/Webapi__Dom__DomTokenList.re b/src/Webapi/Dom/Webapi__Dom__DomTokenList.re
index 70bc0334..8a67ae89 100644
--- a/src/Webapi/Dom/Webapi__Dom__DomTokenList.re
+++ b/src/Webapi/Dom/Webapi__Dom__DomTokenList.re
@@ -1,22 +1,22 @@
type t = Dom.domTokenList;
-[@bs.get] external length : t => int = "";
+[@get] external length: t => int;
-[@bs.send.pipe : t] [@bs.return nullable] external item : int => option(string) = "";
-[@bs.send.pipe : t] external add : string => unit = "";
-[@bs.send.pipe : t] [@bs.splice] external addMany : array(string) => unit = "add";
-[@bs.send.pipe : t] external contains : string => bool = "contains";
+[@send] [@return nullable] external item: (t, int) => option(string);
+[@send] external add: (t, string) => unit;
+[@send] [@variadic] external addMany: (t, array(string)) => unit = "add";
+[@send] external contains: (t, string) => bool = "contains";
/* entries: iterator API, should have language support */
-[@bs.send.pipe : t] external forEach : ((string, int) => unit) => unit = "";
+[@send] external forEach: (t, (string, int) => unit) => unit;
/* keys: iterator API, should have language support */
-[@bs.send.pipe : t] external remove : string => unit = "";
-[@bs.send.pipe : t] [@bs.splice] external removeMany : array(string) => unit = "remove";
-[@bs.send.pipe : t] external replace : (string, string) => unit = ""; /* experimental */
-[@bs.send.pipe : t] external supports : string => bool = ""; /* experimental, Content Management Level 1 */
-[@bs.send.pipe : t] external toggle : string => bool = "";
-[@bs.send.pipe : t] external toggleForced : (string, [@bs.as {json|true|json}] _) => bool = "toggle";
-[@bs.send.pipe : t] external toString : string = "";
+[@send] external remove: (t, string) => unit;
+[@send] [@variadic] external removeMany: (t, array(string)) => unit = "remove";
+[@send] external replace: (t, string, string) => unit; /* experimental */
+[@send] external supports: (t, string) => bool; /* experimental, Content Management Level 1 */
+[@send] external toggle: (t, string) => bool;
+[@send] external toggleForced: (t, string, [@as {json|true|json}] _) => bool = "toggle";
+[@send] external toString: t => string;
/* values: iterator API, should have language support */
-[@bs.get] external value : t => string = ""; /* experimental, from being merged with domSettableTokenList */
-[@bs.set] external setValue : (t, string) => unit = "value"; /* experimental, from being merged with domSettableTokenList */
+[@get] external value: t => string; /* experimental, from being merged with domSettableTokenList */
+[@set] external setValue: (t, string) => unit = "value"; /* experimental, from being merged with domSettableTokenList */
diff --git a/src/Webapi/Dom/Webapi__Dom__DragEvent.re b/src/Webapi/Dom/Webapi__Dom__DragEvent.re
index 917581fd..8725ac94 100644
--- a/src/Webapi/Dom/Webapi__Dom__DragEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__DragEvent.re
@@ -1,10 +1,16 @@
type t = Dom.dragEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
-include Webapi__Dom__MouseEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__MouseEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "DragEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "DragEvent";
+[@new] external make: string => t = "DragEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "DragEvent";
-[@bs.get] external dataTransfer : t => Dom.dataTransfer = "";
+[@get] external dataTransfer: t => Dom.dataTransfer;
diff --git a/src/Webapi/Dom/Webapi__Dom__Element.re b/src/Webapi/Dom/Webapi__Dom__Element.re
index f7617568..7507fc02 100644
--- a/src/Webapi/Dom/Webapi__Dom__Element.re
+++ b/src/Webapi/Dom/Webapi__Dom__Element.re
@@ -1,11 +1,10 @@
/* internal, moved out of Impl to reduce unnecessary code duplication */
-let ofNode = (node: Dom.node) : option('a) =>
- Webapi__Dom__Node.nodeType(node) == Webapi__Dom__Types.Element ?
- Some(Obj.magic(node)) :
- None;
+let ofNode = (node: Dom.node): option('a) =>
+ Webapi__Dom__Node.nodeType(node) == Webapi__Dom__Types.Element ? Some(Obj.magic(node)) : None;
module Impl = (T: {type t;}) => {
- let asHtmlElement: T.t => option(Dom.htmlElement) = [%raw {|
+ let asHtmlElement: T.t => option(Dom.htmlElement) = [%raw
+ {|
function(element) {
var ownerDocument = element.ownerDocument;
@@ -21,109 +20,169 @@ module Impl = (T: {type t;}) => {
}
}
}
- |}];
+ |}
+ ];
/** Unsafe cast, use [asHtmlElement] instead */
- external unsafeAsHtmlElement : T.t => Dom.htmlElement = "%identity";
+ external unsafeAsHtmlElement: T.t => Dom.htmlElement = "%identity";
let ofNode: Dom.node => option(T.t) = ofNode;
- [@bs.get] external attributes : T.t => Dom.namedNodeMap = "";
- [@bs.get] external classList : T.t => Dom.domTokenList = "";
- [@bs.get] external className : T.t => string = "";
- [@bs.set] external setClassName : (T.t, string) => unit = "className";
- [@bs.get] external clientHeight : T.t => int = ""; /* experimental */
- [@bs.get] external clientLeft : T.t => int = ""; /* experimental */
- [@bs.get] external clientTop : T.t => int = ""; /* experimental */
- [@bs.get] external clientWidth : T.t => int = ""; /* experimental */
- [@bs.get] external id : T.t => string = "";
- [@bs.set] external setId : (T.t, string) => unit = "id";
- [@bs.get] external innerHTML : T.t => string = "";
- [@bs.set] external setInnerHTML : (T.t, string) => unit = "innerHTML";
- [@bs.get] external localName : T.t => string = "";
- [@bs.get] [@bs.return nullable] external namespaceURI : T.t => option(string) = "";
- [@bs.get] external outerHTML : T.t => string = ""; /* experimental, but widely supported */
- [@bs.set] external setOuterHTML : (T.t, string) => unit = "outerHTML"; /* experimental, but widely supported */
- [@bs.get] [@bs.return nullable] external prefix : T.t => option(string) = "";
- [@bs.get] external scrollHeight : T.t => int = ""; /* experimental, but widely supported */
- [@bs.get] external scrollLeft : T.t => float = ""; /* experimental */
- [@bs.set] external setScrollLeft : (T.t, float) => unit = "scrollLeft"; /* experimental */
- [@bs.get] external scrollTop : T.t => float = ""; /* experimental, but widely supported */
- [@bs.set] external setScrollTop : (T.t, float) => unit = "scrollTop"; /* experimental, but widely supported */
- [@bs.get] external scrollWidth : T.t => int = ""; /* experimental */
- [@bs.get] external shadowRoot : T.t => Dom.element = ""; /* experimental */
- [@bs.get] external slot : T.t => string = ""; /* experimental */
- [@bs.set] external setSlot : (T.t, string) => unit = "slot"; /* experimental */
- [@bs.get] external tagName : T.t => string = "";
+ [@get] external attributes: T.t => Dom.namedNodeMap;
+ [@get] external classList: T.t => Dom.domTokenList;
+ [@get] external className: T.t => string;
+ [@set] external setClassName: (T.t, string) => unit = "className";
+ [@get] external clientHeight: T.t => int; /* experimental */
+ [@get] external clientLeft: T.t => int; /* experimental */
+ [@get] external clientTop: T.t => int; /* experimental */
+ [@get] external clientWidth: T.t => int; /* experimental */
+ [@get] external id: T.t => string;
+ [@set] external setId: (T.t, string) => unit = "id";
+ [@get] external innerHTML: T.t => string;
+ [@set] external setInnerHTML: (T.t, string) => unit = "innerHTML";
+ [@get] external localName: T.t => string;
+ [@get] [@return nullable] external namespaceURI: T.t => option(string);
+ [@get] external outerHTML: T.t => string; /* experimental, but widely supported */
+ [@set] external setOuterHTML: (T.t, string) => unit = "outerHTML"; /* experimental, but widely supported */
+ [@get] [@return nullable] external prefix: T.t => option(string);
+ [@get] external scrollHeight: T.t => int; /* experimental, but widely supported */
+ [@get] external scrollLeft: T.t => float; /* experimental */
+ [@set] external setScrollLeft: (T.t, float) => unit = "scrollLeft"; /* experimental */
+ [@get] external scrollTop: T.t => float; /* experimental, but widely supported */
+ [@set] external setScrollTop: (T.t, float) => unit = "scrollTop"; /* experimental, but widely supported */
+ [@get] external scrollWidth: T.t => int; /* experimental */
+ [@get] external shadowRoot: T.t => Dom.element; /* experimental */
+ [@get] external slot: T.t => string; /* experimental */
+ [@set] external setSlot: (T.t, string) => unit = "slot"; /* experimental */
+ [@get] external tagName: T.t => string;
- [@bs.send.pipe : T.t] external attachShadow : {. "mode": string} => Dom.shadowRoot = ""; /* experimental */
- [@bs.send.pipe : T.t] external attachShadowOpen : ([@bs.as {json|{ "mode": "open" }|json}] _) => Dom.shadowRoot = "attachShadow"; /* experimental */
- [@bs.send.pipe : T.t] external attachShadowClosed : ([@bs.as {json|{ "mode": "closed" }|json}] _) => Dom.shadowRoot = "attachShadow"; /* experimental */
- [@bs.send.pipe : T.t] external animate : (Js.t({..}), Js.t({..})) => Dom.animation = ""; /* experimental */
- [@bs.send.pipe : T.t] [@bs.return nullable] external closest : string => option(Dom.element) = ""; /* experimental */
- [@bs.send.pipe : T.t] external createShadowRoot : Dom.shadowRoot = ""; /* experimental AND deprecated (?!) */
- [@bs.send.pipe : T.t] [@bs.return nullable] external getAttribute : string => option(string) = "";
- [@bs.send.pipe : T.t] [@bs.return nullable] external getAttributeNS : (string, string) => option(string) = "";
- [@bs.send.pipe : T.t] external getBoundingClientRect : Dom.domRect = "";
- [@bs.send.pipe : T.t] external getClientRects : array(Dom.domRect) = "";
- [@bs.send.pipe : T.t] external getElementsByClassName : string => Dom.htmlCollection = "";
- [@bs.send.pipe : T.t] external getElementsByTagName : string => Dom.htmlCollection = "";
- [@bs.send.pipe : T.t] external getElementsByTagNameNS : (string, string) => Dom.htmlCollection = "";
- [@bs.send.pipe : T.t] external hasAttribute : string => bool = "";
- [@bs.send.pipe : T.t] external hasAttributeNS : (string, string) => bool = "";
- [@bs.send.pipe : T.t] external hasAttributes : bool = "";
- [@bs.send.pipe : T.t] external insertAdjacentElement : (string /* insertPosition enum */, Dom.element_like('a)) => unit = ""; /* experimental, but widely supported */
- let insertAdjacentElement: (Webapi__Dom__Types.insertPosition, Dom.element_like('a), T.t) => unit =
- (position, element, self) =>
- insertAdjacentElement(Webapi__Dom__Types.encodeInsertPosition(position), element, self);
- [@bs.send.pipe : T.t] external insertAdjacentHTML : (string /* insertPosition enum */, string) => unit = ""; /* experimental, but widely supported */
- let insertAdjacentHTML: (Webapi__Dom__Types.insertPosition, string, T.t) => unit =
- (position, text, self) =>
- insertAdjacentHTML(Webapi__Dom__Types.encodeInsertPosition(position), text, self);
- [@bs.send.pipe : T.t] external insertAdjacentText : (string /* insertPosition enum */, string) => unit = ""; /* experimental, but widely supported */
- let insertAdjacentText: (Webapi__Dom__Types.insertPosition, string, T.t) => unit =
- (position, text, self) =>
- insertAdjacentText(Webapi__Dom__Types.encodeInsertPosition(position), text, self);
- [@bs.send.pipe : T.t] external matches : string => bool = ""; /* experimental, but widely supported */
- [@bs.send.pipe : T.t] external releasePointerCapture : Dom.eventPointerId => unit = "";
- [@bs.send.pipe : T.t] external removeAttribute : string => unit = "";
- [@bs.send.pipe : T.t] external removeAttributeNS : (string, string) => unit = "";
- [@bs.send.pipe : T.t] external requestFullscreen : unit = ""; /* experimental */
- [@bs.send.pipe : T.t] external requestPointerLock : unit = ""; /* experimental */
- [@bs.send.pipe : T.t] external scrollIntoView : unit = ""; /* experimental, but widely supported */
- [@bs.send.pipe : T.t] external scrollIntoViewNoAlignToTop : ([@bs.as {json|true|json}] _) => unit = "scrollIntoView"; /* experimental, but widely supported */
- [@bs.send.pipe : T.t] external scrollIntoViewWithOptions : {. "behavior": string, "block": string} => unit = "scrollIntoView"; /* experimental */
- [@bs.send.pipe : T.t] external scrollBy : (float, float) => unit = "";
- [@bs.send.pipe : T.t] external scrollByWithOptions : {. "top": float, "left": float, "behavior": string} => unit = "scrollBy";
- [@bs.send.pipe : T.t] external scrollTo : (float, float) => unit = "";
- [@bs.send.pipe : T.t] external scrollToWithOptions : {. "top": float, "left": float, "behavior": string} => unit = "scrollTo";
- [@bs.send.pipe : T.t] external setAttribute : (string, string) => unit = "";
- [@bs.send.pipe : T.t] external setAttributeNS : (string, string, string) => unit = "";
- [@bs.send.pipe : T.t] external setPointerCapture : Dom.eventPointerId => unit = "";
+ [@send] external attachShadow: (T.t, {. "mode": string}) => Dom.shadowRoot; /* experimental */
+ [@send]
+ external attachShadowOpen: (T.t, [@as {json|{ "mode": "open" }|json}] _) => Dom.shadowRoot =
+ "attachShadow"; /* experimental */
+ [@send]
+ external attachShadowClosed: (T.t, [@as {json|{ "mode": "closed" }|json}] _) => Dom.shadowRoot =
+ "attachShadow"; /* experimental */
+ [@send] external animate: (T.t, Js.t({..}), Js.t({..})) => Dom.animation; /* experimental */
+ [@send] [@return nullable] external closest: (T.t, string) => option(Dom.element); /* experimental */
+ [@send] external createShadowRoot: T.t => Dom.shadowRoot; /* experimental AND deprecated (?!) */
+ [@send] [@return nullable] external getAttribute: (T.t, string) => option(string);
+ [@send] [@return nullable] external getAttributeNS: (T.t, string, string) => option(string);
+ [@send] external getBoundingClientRect: T.t => Dom.domRect;
+ [@send] external getClientRects: T.t => array(Dom.domRect);
+ [@send] external getElementsByClassName: (T.t, string) => Dom.htmlCollection;
+ [@send] external getElementsByTagName: (T.t, string) => Dom.htmlCollection;
+ [@send] external getElementsByTagNameNS: (T.t, string, string) => Dom.htmlCollection;
+ [@send] external hasAttribute: (T.t, string) => bool;
+ [@send] external hasAttributeNS: (T.t, string, string) => bool;
+ [@send] external hasAttributes: T.t => bool;
+ [@send]
+ external insertAdjacentElement:
+ (T.t, string /* insertPosition enum */, Dom.element_like('a)) => unit; /* experimental, but widely supported */
+ let insertAdjacentElement:
+ (T.t, Webapi__Dom__Types.insertPosition, Dom.element_like('a)) => unit =
+ (self, position, element) =>
+ self->insertAdjacentElement(Webapi__Dom__Types.encodeInsertPosition(position), element);
+ [@send] external insertAdjacentHTML: (T.t, string /* insertPosition enum */, string) => unit; /* experimental, but widely supported */
+ let insertAdjacentHTML: (T.t, Webapi__Dom__Types.insertPosition, string) => unit =
+ (self, position, text) =>
+ self->insertAdjacentHTML(Webapi__Dom__Types.encodeInsertPosition(position), text);
+ [@send] external insertAdjacentText: (T.t, string /* insertPosition enum */, string) => unit; /* experimental, but widely supported */
+ let insertAdjacentText: (T.t, Webapi__Dom__Types.insertPosition, string) => unit =
+ (self, position, text) =>
+ self->insertAdjacentText(Webapi__Dom__Types.encodeInsertPosition(position), text);
+ [@send] external matches: (T.t, string) => bool; /* experimental, but widely supported */
+ [@send] external releasePointerCapture: (T.t, Dom.eventPointerId) => unit;
+ [@send] external removeAttribute: (T.t, string) => unit;
+ [@send] external removeAttributeNS: (T.t, string, string) => unit;
+ [@send] external requestFullscreen: T.t => unit; /* experimental */
+ [@send] external requestPointerLock: T.t => unit; /* experimental */
+ [@send] external scrollIntoView: T.t => unit; /* experimental, but widely supported */
+ [@send]
+ external scrollIntoViewNoAlignToTop: (T.t, [@as {json|true|json}] _) => unit = "scrollIntoView"; /* experimental, but widely supported */
+ [@send]
+ external scrollIntoViewWithOptions:
+ (
+ T.t,
+ {
+ .
+ "behavior": string,
+ "block": string,
+ }
+ ) =>
+ unit =
+ "scrollIntoView"; /* experimental */
+ [@send] external scrollBy: (T.t, float, float) => unit;
+ [@send]
+ external scrollByWithOptions:
+ (
+ T.t,
+ {
+ .
+ "top": float,
+ "left": float,
+ "behavior": string,
+ }
+ ) =>
+ unit =
+ "scrollBy";
+ [@send] external scrollTo: (T.t, float, float) => unit;
+ [@send]
+ external scrollToWithOptions:
+ (
+ T.t,
+ {
+ .
+ "top": float,
+ "left": float,
+ "behavior": string,
+ }
+ ) =>
+ unit =
+ "scrollTo";
+ [@send] external setAttribute: (T.t, string, string) => unit;
+ [@send] external setAttributeNS: (T.t, string, string, string) => unit;
+ [@send] external setPointerCapture: (T.t, Dom.eventPointerId) => unit;
/* GlobalEventHandlers interface */
/* Not sure this should be exposed, since EventTarget seems like a better API */
- [@bs.set] external setOnClick : (T.t, Dom.mouseEvent => unit) => unit = "onclick";
+ [@set] external setOnClick: (T.t, Dom.mouseEvent => unit) => unit = "onclick";
};
/* TODO: This doesn't work. Why?
-module Tree (T: { type t; }) => {
- include NodeRe.Impl { type t = Type };
- include EventTargetRe.Impl { type t = Type };
- include Impl { type t = Type };
-};
+ module Tree (T: { type t; }) => {
+ include NodeRe.Impl { type t = Type };
+ include EventTargetRe.Impl { type t = Type };
+ include Impl { type t = Type };
+ };
-include Tree { type t = Dom.element };
-*/
+ include Tree { type t = Dom.element };
+ */
type t = Dom.element;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__GlobalEventHandlers.Impl({ type nonrec t = t; });
-include Webapi__Dom__ParentNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonDocumentTypeChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__Slotable.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__GlobalEventHandlers.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ParentNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonDocumentTypeChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Slotable.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__ErrorEvent.re b/src/Webapi/Dom/Webapi__Dom__ErrorEvent.re
index 609dd097..6b02890e 100644
--- a/src/Webapi/Dom/Webapi__Dom__ErrorEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__ErrorEvent.re
@@ -1,12 +1,14 @@
type t = Dom.errorEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "ErrorEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "ErrorEvent";
+[@new] external make: string => t = "ErrorEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "ErrorEvent";
-[@bs.get] external message : t => string = "";
-[@bs.get] external filename : t => string = "";
-[@bs.get] external lineno : t => int = "";
-[@bs.get] external colno : t => int = "";
-[@bs.get] external error : t => Js.t({..}) = "";
+[@get] external message: t => string;
+[@get] external filename: t => string;
+[@get] external lineno: t => int;
+[@get] external colno: t => int;
+[@get] external error: t => Js.t({..});
diff --git a/src/Webapi/Dom/Webapi__Dom__Event.re b/src/Webapi/Dom/Webapi__Dom__Event.re
index 7f7ccae0..0018f45b 100644
--- a/src/Webapi/Dom/Webapi__Dom__Event.re
+++ b/src/Webapi/Dom/Webapi__Dom__Event.re
@@ -1,57 +1,58 @@
module Impl = (T: {type t;}) => {
- [@bs.get] external bubbles : T.t => bool = "";
- [@bs.get] external cancelable : T.t => bool = "";
- [@bs.get] external composed : T.t => bool = "";
- [@bs.get] external currentTarget : T.t => Dom.eventTarget = "";
- [@bs.get] external defaultPrevented : T.t => bool = "";
- [@bs.get] external eventPhase : T.t => int /* eventPhase enum */ = "";
+ [@get] external bubbles: T.t => bool;
+ [@get] external cancelable: T.t => bool;
+ [@get] external composed: T.t => bool;
+ [@get] external currentTarget: T.t => Dom.eventTarget;
+ [@get] external defaultPrevented: T.t => bool;
+ [@get] external eventPhase: T.t => int /* eventPhase enum */;
let eventPhase: T.t => Webapi__Dom__Types.EventPhase.t =
- (self) => Webapi__Dom__Types.EventPhase.decode(eventPhase(self));
+ self => Webapi__Dom__Types.EventPhase.decode(eventPhase(self));
- [@bs.get] external target : T.t => Dom.eventTarget = "";
- [@bs.get] external timeStamp : T.t => float = "";
- [@bs.get] external type_ : T.t => string = "type";
- [@bs.get] external isTrusted : T.t => bool = "";
+ [@get] external target: T.t => Dom.eventTarget;
+ [@get] external timeStamp: T.t => float;
+ [@get] external type_: T.t => string = "type";
+ [@get] external isTrusted: T.t => bool;
- [@bs.send.pipe : T.t] external preventDefault : unit = "";
- [@bs.send.pipe : T.t] external stopImmediatePropagation : unit = "";
- [@bs.send.pipe : T.t] external stopPropagation : unit = "";
+ [@send] external preventDefault: T.t => unit;
+ [@send] external stopImmediatePropagation: T.t => unit;
+ [@send] external stopPropagation: T.t => unit;
};
type t = Dom.event;
-include Impl({ type nonrec t = t; });
-
-[@bs.new] external make : string => t = "Event";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "Event";
-
-
-/*
- Unimplemented Event interfaces
-
- AudioProcessingEvent /* deprecated */
- BeforeInputEvent /* experimental? Looks like it might just be an InputEvent */
- BlobEvent /* experimental, MediaStream recording */
- CSSFontFaceLoadEvent /* experimental - https://www.w3.org/TR/css-font-loading-3/#dom-cssfontfaceloadevent */
- DeviceLightEvent /* experimenta, Ambient Light */
- DeviceMotionEvent /* experimental, Device Orientation */
- DeviceOrientationEvent /* experimental, Device Orientation */
- DeviceProximityEvent /* experimental, Device Orientation */
- DOMTransactionEvent /* very experimental - https://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html#the-domtransactionevent-interface */
- EditingBeforeInputEvent /* deprecated? - https://dvcs.w3.org/hg/editing/raw-file/57abe6d3cb60/editing.html#editingbeforeinputevent */
- FetchEvent /* experimental, Service Workers */
- GamepadEvent /* experimental, Gamepad */
- HashChangeEvent /* https://www.w3.org/TR/html51/browsers.html#the-hashchangeevent-interface */
- MediaStreamEvent /* experimental, WebRTC */
- MessageEvent /* experimental, Websocket/WebRTC */
- MutationEvent /* deprecated */
- OfflineAudioCompletionEvent /* experimental, Web Audio */
- RTCDataChannelEvent /* experimental, WebRTC */
- RTCIdentityErrorEventA /* experimental, WebRTC */
- RTCIdentityEvent /* experimental, WebRTC */
- RTCPeerConnectionIceEvent /* experimental, WebRTC */
- SensorEvent /* deprecated? */
- SVGEvent /* deprecated */
- UserProximityEvent /* experimental, Proximity Events */
-*/
+include Impl({
+ type nonrec t = t;
+});
+
+[@new] external make: string => t = "Event";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "Event";
+
+/*
+ Unimplemented Event interfaces
+
+ AudioProcessingEvent /* deprecated */
+ BeforeInputEvent /* experimental? Looks like it might just be an InputEvent */
+ BlobEvent /* experimental, MediaStream recording */
+ CSSFontFaceLoadEvent /* experimental - https://www.w3.org/TR/css-font-loading-3/#dom-cssfontfaceloadevent */
+ DeviceLightEvent /* experimenta, Ambient Light */
+ DeviceMotionEvent /* experimental, Device Orientation */
+ DeviceOrientationEvent /* experimental, Device Orientation */
+ DeviceProximityEvent /* experimental, Device Orientation */
+ DOMTransactionEvent /* very experimental - https://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html#the-domtransactionevent-interface */
+ EditingBeforeInputEvent /* deprecated? - https://dvcs.w3.org/hg/editing/raw-file/57abe6d3cb60/editing.html#editingbeforeinputevent */
+ FetchEvent /* experimental, Service Workers */
+ GamepadEvent /* experimental, Gamepad */
+ HashChangeEvent /* https://www.w3.org/TR/html51/browsers.html#the-hashchangeevent-interface */
+ MediaStreamEvent /* experimental, WebRTC */
+ MessageEvent /* experimental, Websocket/WebRTC */
+ MutationEvent /* deprecated */
+ OfflineAudioCompletionEvent /* experimental, Web Audio */
+ RTCDataChannelEvent /* experimental, WebRTC */
+ RTCIdentityErrorEventA /* experimental, WebRTC */
+ RTCIdentityEvent /* experimental, WebRTC */
+ RTCPeerConnectionIceEvent /* experimental, WebRTC */
+ SensorEvent /* deprecated? */
+ SVGEvent /* deprecated */
+ UserProximityEvent /* experimental, Proximity Events */
+ */
diff --git a/src/Webapi/Dom/Webapi__Dom__EventTarget.re b/src/Webapi/Dom/Webapi__Dom__EventTarget.re
index a786a18f..edec60ec 100644
--- a/src/Webapi/Dom/Webapi__Dom__EventTarget.re
+++ b/src/Webapi/Dom/Webapi__Dom__EventTarget.re
@@ -1,335 +1,1949 @@
module Impl = (T: {type t;}) => {
- external asEventTarget : T.t => Dom.eventTarget = "%identity";
+ external asEventTarget: T.t => Dom.eventTarget = "%identity";
- [@bs.send.pipe : T.t] external addEventListener : (string, Dom.event => unit) => unit = "";
- [@bs.send.pipe : T.t] external addEventListenerWithOptions : (string, Dom.event => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addEventListenerUseCapture : (string, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeEventListener : (string, Dom.event => unit) => unit = "";
- [@bs.send.pipe : T.t] external removeEventListenerWithOptions : (string, Dom.event => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeEventListenerUseCapture : (string, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external dispatchEvent : Dom.event_like('a) => bool = "";
+ [@send] external addEventListener: (T.t, string, Dom.event => unit) => unit;
+ [@send]
+ external addEventListenerWithOptions:
+ (
+ T.t,
+ string,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addEventListenerUseCapture:
+ (T.t, string, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send] external removeEventListener: (T.t, string, Dom.event => unit) => unit;
+ [@send]
+ external removeEventListenerWithOptions:
+ (
+ T.t,
+ string,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeEventListenerUseCapture:
+ (T.t, string, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+ [@send] external dispatchEvent: (T.t, Dom.event_like('a)) => bool;
/**
* non-standard event-specific functions
*/
+ [@send]
+ /* UI */
+ external addLoadEventListener: (T.t, [@as "load"] _, Dom.event => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addLoadEventListenerWithOptions:
+ (
+ T.t,
+ [@as "load"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addLoadEventListenerUseCapture:
+ (T.t, [@as "load"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeLoadEventListener: (T.t, [@as "load"] _, Dom.event => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeLoadEventListenerWithOptions:
+ (
+ T.t,
+ [@as "load"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeLoadEventListenerUseCapture:
+ (T.t, [@as "load"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
- /* UI */
-
- [@bs.send.pipe : T.t] external addLoadEventListener : ([@bs.as "load"] _, Dom.event => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addLoadEventListenerWithOptions : ([@bs.as "load"] _, Dom.event => unit,{. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addLoadEventListenerUseCapture : ([@bs.as "load"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeLoadEventListener : ([@bs.as "load"] _, Dom.event => unit) => unit= "removeEventListener";
- [@bs.send.pipe : T.t] external removeLoadEventListenerWithOptions : ([@bs.as "load"] _, Dom.event => unit, {. "capture": bool, "passive": bool})=> unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeLoadEventListenerUseCapture : ([@bs.as "load"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addUnloadEventListener : ([@bs.as "unload"] _, Dom.event => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addUnloadEventListenerWithOptions : ([@bs.as "unload"] _, Dom.event=> unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addUnloadEventListenerUseCapture : ([@bs.as "unload"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeUnloadEventListener : ([@bs.as "unload"] _, Dom.event => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeUnloadEventListenerWithOptions : ([@bs.as "unload"] _, Dom.event => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeUnloadEventListenerUseCapture : ([@bs.as "unload"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addAbortEventListener : ([@bs.as "abort"] _, Dom.event => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addAbortEventListenerWithOptions : ([@bs.as "abort"] _, Dom.event => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addAbortEventListenerUseCapture : ([@bs.as "abort"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeAbortEventListener : ([@bs.as "abort"] _, Dom.event => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeAbortEventListenerWithOptions : ([@bs.as "abort"] _, Dom.event => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeAbortEventListenerUseCapture : ([@bs.as "abort"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addErrorEventListener : ([@bs.as "error"] _, Dom.event => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addErrorEventListenerWithOptions : ([@bs.as "error"] _, Dom.event => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addErrorEventListenerUseCapture : ([@bs.as "error"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeErrorEventListener : ([@bs.as "error"] _, Dom.event => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeErrorEventListenerWithOptions : ([@bs.as "error"] _, Dom.event => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeErrorEventListenerUseCapture : ([@bs.as "error"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addSelectEventListener : ([@bs.as "select"] _, Dom.event => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addSelectEventListenerWithOptions : ([@bs.as "select"] _, Dom.event => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addSelectEventListenerUseCapture : ([@bs.as "select"] _, Dom.event => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeSelectEventListener : ([@bs.as "select"] _, Dom.event => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeSelectEventListenerWithOptions : ([@bs.as "select"] _, Dom.event => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeSelectEventListenerUseCapture : ([@bs.as "select"] _, Dom.event =>unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addUnloadEventListener: (T.t, [@as "unload"] _, Dom.event => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addUnloadEventListenerWithOptions:
+ (
+ T.t,
+ [@as "unload"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addUnloadEventListenerUseCapture:
+ (T.t, [@as "unload"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeUnloadEventListener: (T.t, [@as "unload"] _, Dom.event => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeUnloadEventListenerWithOptions:
+ (
+ T.t,
+ [@as "unload"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeUnloadEventListenerUseCapture:
+ (T.t, [@as "unload"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addAbortEventListener: (T.t, [@as "abort"] _, Dom.event => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addAbortEventListenerWithOptions:
+ (
+ T.t,
+ [@as "abort"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addAbortEventListenerUseCapture:
+ (T.t, [@as "abort"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeAbortEventListener: (T.t, [@as "abort"] _, Dom.event => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeAbortEventListenerWithOptions:
+ (
+ T.t,
+ [@as "abort"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeAbortEventListenerUseCapture:
+ (T.t, [@as "abort"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addErrorEventListener: (T.t, [@as "error"] _, Dom.event => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addErrorEventListenerWithOptions:
+ (
+ T.t,
+ [@as "error"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addErrorEventListenerUseCapture:
+ (T.t, [@as "error"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeErrorEventListener: (T.t, [@as "error"] _, Dom.event => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeErrorEventListenerWithOptions:
+ (
+ T.t,
+ [@as "error"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeErrorEventListenerUseCapture:
+ (T.t, [@as "error"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addSelectEventListener: (T.t, [@as "select"] _, Dom.event => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addSelectEventListenerWithOptions:
+ (
+ T.t,
+ [@as "select"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addSelectEventListenerUseCapture:
+ (T.t, [@as "select"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeSelectEventListener: (T.t, [@as "select"] _, Dom.event => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeSelectEventListenerWithOptions:
+ (
+ T.t,
+ [@as "select"] _,
+ Dom.event => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeSelectEventListenerUseCapture:
+ (T.t, [@as "select"] _, Dom.event => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Focus */
- [@bs.send.pipe : T.t] external addBlurEventListener : ([@bs.as "blur"] _, Dom.focusEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addBlurEventListenerWithOptions : ([@bs.as "blur"] _, Dom.focusEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addBlurEventListenerUseCapture : ([@bs.as "blur"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeBlurEventListener : ([@bs.as "blur"] _, Dom.focusEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeBlurEventListenerWithOptions : ([@bs.as "blur"] _, Dom.focusEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeBlurEventListenerUseCapture : ([@bs.as "blur"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addFocusEventListener : ([@bs.as "focus"] _, Dom.focusEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addFocusEventListenerWithOptions : ([@bs.as "focus"] _, Dom.focusEvent => unit, {. "capture": bool, "once": bool,"passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addFocusEventListenerUseCapture : ([@bs.as "focus"] _, Dom.focusEvent =>unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeFocusEventListener : ([@bs.as "focus"] _, Dom.focusEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeFocusEventListenerWithOptions : ([@bs.as "focus"] _, Dom.focusEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeFocusEventListenerUseCapture : ([@bs.as "focus"] _, Dom.focusEvent=> unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addFocusInEventListener : ([@bs.as "focusin"] _, Dom.focusEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addFocusInEventListenerWithOptions : ([@bs.as "focusin"] _, Dom.focusEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addFocusInEventListenerUseCapture : ([@bs.as "focusin"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeFocusInEventListener : ([@bs.as "focusin"] _, Dom.focusEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeFocusInEventListenerWithOptions : ([@bs.as "focusin"] _, Dom.focusEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeFocusInEventListenerUseCapture : ([@bs.as "focusin"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addFocusOutEventListener : ([@bs.as "focusout"] _, Dom.focusEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addFocusOutEventListenerWithOptions : ([@bs.as "focusout"] _, Dom.focusEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addFocusOutEventListenerUseCapture : ([@bs.as "focusout"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeFocusOutEventListener : ([@bs.as "focusout"] _, Dom.focusEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeFocusOutEventListenerWithOptions : ([@bs.as "focusout"] _, Dom.focusEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeFocusOutEventListenerUseCapture : ([@bs.as "focusout"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addBlurEventListener: (T.t, [@as "blur"] _, Dom.focusEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addBlurEventListenerWithOptions:
+ (
+ T.t,
+ [@as "blur"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addBlurEventListenerUseCapture:
+ (T.t, [@as "blur"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeBlurEventListener: (T.t, [@as "blur"] _, Dom.focusEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeBlurEventListenerWithOptions:
+ (
+ T.t,
+ [@as "blur"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeBlurEventListenerUseCapture:
+ (T.t, [@as "blur"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addFocusEventListener: (T.t, [@as "focus"] _, Dom.focusEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addFocusEventListenerWithOptions:
+ (
+ T.t,
+ [@as "focus"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addFocusEventListenerUseCapture:
+ (T.t, [@as "focus"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeFocusEventListener: (T.t, [@as "focus"] _, Dom.focusEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeFocusEventListenerWithOptions:
+ (
+ T.t,
+ [@as "focus"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeFocusEventListenerUseCapture:
+ (T.t, [@as "focus"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addFocusInEventListener: (T.t, [@as "focusin"] _, Dom.focusEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addFocusInEventListenerWithOptions:
+ (
+ T.t,
+ [@as "focusin"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addFocusInEventListenerUseCapture:
+ (T.t, [@as "focusin"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeFocusInEventListener: (T.t, [@as "focusin"] _, Dom.focusEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeFocusInEventListenerWithOptions:
+ (
+ T.t,
+ [@as "focusin"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeFocusInEventListenerUseCapture:
+ (T.t, [@as "focusin"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addFocusOutEventListener: (T.t, [@as "focusout"] _, Dom.focusEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addFocusOutEventListenerWithOptions:
+ (
+ T.t,
+ [@as "focusout"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addFocusOutEventListenerUseCapture:
+ (T.t, [@as "focusout"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeFocusOutEventListener: (T.t, [@as "focusout"] _, Dom.focusEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeFocusOutEventListenerWithOptions:
+ (
+ T.t,
+ [@as "focusout"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeFocusOutEventListenerUseCapture:
+ (T.t, [@as "focusout"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Mouse */
- [@bs.send.pipe : T.t] external addClickEventListener : ([@bs.as "click"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addClickEventListenerWithOptions : ([@bs.as "click"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addClickEventListenerUseCapture : ([@bs.as "click"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeClickEventListener : ([@bs.as "click"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeClickEventListenerWithOptions : ([@bs.as "click"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeClickEventListenerUseCapture : ([@bs.as "click"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDblClickEventListener : ([@bs.as "dblclick"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDblClickEventListenerWithOptions : ([@bs.as "dblclick"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDblClickEventListenerUseCapture : ([@bs.as "dblclick"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDblClickEventListener : ([@bs.as "dblclick"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDblClickEventListenerWithOptions : ([@bs.as "dblclick"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDblClickEventListenerUseCapture : ([@bs.as "dblclick"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addMouseDownEventListener : ([@bs.as "mousedown"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addMouseDownEventListenerWithOptions : ([@bs.as "mousedown"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addMouseDownEventListenerUseCapture : ([@bs.as "mousedown"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeMouseDownEventListener : ([@bs.as "mousedown"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeMouseDownEventListenerWithOptions : ([@bs.as "mousedown"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeMouseDownEventListenerUseCapture : ([@bs.as "mousedown"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addMouseEnterEventListener : ([@bs.as "mouseenter"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addMouseEnterEventListenerWithOptions : ([@bs.as "mouseenter"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addMouseEnterEventListenerUseCapture : ([@bs.as "mouseenter"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeMouseEnterEventListener : ([@bs.as "mouseenter"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeMouseEnterEventListenerWithOptions : ([@bs.as "mouseenter"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeMouseEnterEventListenerUseCapture : ([@bs.as "mouseenter"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addMouseMoveEventListener : ([@bs.as "mousemove"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addMouseMoveEventListenerWithOptions : ([@bs.as "mousemove"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addMouseMoveEventListenerUseCapture : ([@bs.as "mousemove"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeMouseMoveEventListener : ([@bs.as "mousemove"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeMouseMoveEventListenerWithOptions : ([@bs.as "mousemove"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeMouseMoveEventListenerUseCapture : ([@bs.as "mousemove"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addMouseOutEventListener : ([@bs.as "mouseout"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addMouseOutEventListenerWithOptions : ([@bs.as "mouseout"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addMouseOutEventListenerUseCapture : ([@bs.as "mouseout"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeMouseOutEventListener : ([@bs.as "mouseout"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeMouseOutEventListenerWithOptions : ([@bs.as "mouseout"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeMouseOutEventListenerUseCapture : ([@bs.as "mouseout"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addMouseOverEventListener : ([@bs.as "mouseover"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addMouseOverEventListenerWithOptions : ([@bs.as "mouseover"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addMouseOverEventListenerUseCapture : ([@bs.as "mouseover"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeMouseOverEventListener : ([@bs.as "mouseover"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeMouseOverEventListenerWithOptions : ([@bs.as "mouseover"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeMouseOverEventListenerUseCapture : ([@bs.as "mouseover"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addMouseUpEventListener : ([@bs.as "mouseup"] _, Dom.mouseEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addMouseUpEventListenerWithOptions : ([@bs.as "mouseup"] _, Dom.mouseEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addMouseUpEventListenerUseCapture : ([@bs.as "mouseup"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeMouseUpEventListener : ([@bs.as "mouseup"] _, Dom.mouseEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeMouseUpEventListenerWithOptions : ([@bs.as "mouseup"] _, Dom.mouseEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeMouseUpEventListenerUseCapture : ([@bs.as "mouseup"] _, Dom.mouseEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addClickEventListener: (T.t, [@as "click"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addClickEventListenerWithOptions:
+ (
+ T.t,
+ [@as "click"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addClickEventListenerUseCapture:
+ (T.t, [@as "click"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeClickEventListener: (T.t, [@as "click"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeClickEventListenerWithOptions:
+ (
+ T.t,
+ [@as "click"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeClickEventListenerUseCapture:
+ (T.t, [@as "click"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDblClickEventListener: (T.t, [@as "dblclick"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDblClickEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dblclick"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDblClickEventListenerUseCapture:
+ (T.t, [@as "dblclick"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDblClickEventListener: (T.t, [@as "dblclick"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDblClickEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dblclick"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDblClickEventListenerUseCapture:
+ (T.t, [@as "dblclick"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addMouseDownEventListener: (T.t, [@as "mousedown"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addMouseDownEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mousedown"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addMouseDownEventListenerUseCapture:
+ (T.t, [@as "mousedown"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeMouseDownEventListener: (T.t, [@as "mousedown"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeMouseDownEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mousedown"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeMouseDownEventListenerUseCapture:
+ (T.t, [@as "mousedown"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addMouseEnterEventListener: (T.t, [@as "mouseenter"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addMouseEnterEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseenter"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addMouseEnterEventListenerUseCapture:
+ (T.t, [@as "mouseenter"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeMouseEnterEventListener:
+ (T.t, [@as "mouseenter"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeMouseEnterEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseenter"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeMouseEnterEventListenerUseCapture:
+ (T.t, [@as "mouseenter"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addMouseMoveEventListener: (T.t, [@as "mousemove"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addMouseMoveEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mousemove"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addMouseMoveEventListenerUseCapture:
+ (T.t, [@as "mousemove"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeMouseMoveEventListener: (T.t, [@as "mousemove"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeMouseMoveEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mousemove"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeMouseMoveEventListenerUseCapture:
+ (T.t, [@as "mousemove"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addMouseOutEventListener: (T.t, [@as "mouseout"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addMouseOutEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseout"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addMouseOutEventListenerUseCapture:
+ (T.t, [@as "mouseout"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeMouseOutEventListener: (T.t, [@as "mouseout"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeMouseOutEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseout"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeMouseOutEventListenerUseCapture:
+ (T.t, [@as "mouseout"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addMouseOverEventListener: (T.t, [@as "mouseover"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addMouseOverEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseover"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addMouseOverEventListenerUseCapture:
+ (T.t, [@as "mouseover"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeMouseOverEventListener: (T.t, [@as "mouseover"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeMouseOverEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseover"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeMouseOverEventListenerUseCapture:
+ (T.t, [@as "mouseover"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addMouseUpEventListener: (T.t, [@as "mouseup"] _, Dom.mouseEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addMouseUpEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseup"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addMouseUpEventListenerUseCapture:
+ (T.t, [@as "mouseup"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeMouseUpEventListener: (T.t, [@as "mouseup"] _, Dom.mouseEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeMouseUpEventListenerWithOptions:
+ (
+ T.t,
+ [@as "mouseup"] _,
+ Dom.mouseEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeMouseUpEventListenerUseCapture:
+ (T.t, [@as "mouseup"] _, Dom.mouseEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Wheel */
- [@bs.send.pipe : T.t] external addWheelEventListener : ([@bs.as "wheel"] _, Dom.wheelEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addWheelEventListenerWithOptions : ([@bs.as "wheel"] _, Dom.wheelEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addWheelEventListenerUseCapture : ([@bs.as "wheel"] _, Dom.wheelEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeWheelEventListener : ([@bs.as "wheel"] _, Dom.wheelEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeWheelEventListenerWithOptions : ([@bs.as "wheel"] _, Dom.wheelEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeWheelEventListenerUseCapture : ([@bs.as "wheel"] _, Dom.wheelEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addWheelEventListener: (T.t, [@as "wheel"] _, Dom.wheelEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addWheelEventListenerWithOptions:
+ (
+ T.t,
+ [@as "wheel"] _,
+ Dom.wheelEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addWheelEventListenerUseCapture:
+ (T.t, [@as "wheel"] _, Dom.wheelEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeWheelEventListener: (T.t, [@as "wheel"] _, Dom.wheelEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeWheelEventListenerWithOptions:
+ (
+ T.t,
+ [@as "wheel"] _,
+ Dom.wheelEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeWheelEventListenerUseCapture:
+ (T.t, [@as "wheel"] _, Dom.wheelEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Input */
- [@bs.send.pipe : T.t] external addBeforeInputEventListener : ([@bs.as "beforeinput"] _, Dom.inputEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addBeforeInputEventListenerWithOptions : ([@bs.as "beforeinput"] _, Dom.inputEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addBeforeInputEventListenerUseCapture : ([@bs.as "beforeinput"] _, Dom.inputEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeBeforeInputEventListener : ([@bs.as "beforeinput"] _, Dom.inputEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeBeforeInputEventListenerWithOptions : ([@bs.as "beforeinput"] _, Dom.inputEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeBeforeInputEventListenerUseCapture : ([@bs.as "beforeinput"] _, Dom.inputEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addBeforeInputEventListener:
+ (T.t, [@as "beforeinput"] _, Dom.inputEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addBeforeInputEventListenerWithOptions:
+ (
+ T.t,
+ [@as "beforeinput"] _,
+ Dom.inputEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addBeforeInputEventListenerUseCapture:
+ (T.t, [@as "beforeinput"] _, Dom.inputEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeBeforeInputEventListener:
+ (T.t, [@as "beforeinput"] _, Dom.inputEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeBeforeInputEventListenerWithOptions:
+ (
+ T.t,
+ [@as "beforeinput"] _,
+ Dom.inputEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeBeforeInputEventListenerUseCapture:
+ (T.t, [@as "beforeinput"] _, Dom.inputEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
- [@bs.send.pipe : T.t] external addInputEventListener : ([@bs.as "input"] _, Dom.inputEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addInputEventListenerWithOptions : ([@bs.as "input"] _, Dom.inputEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addInputEventListenerUseCapture : ([@bs.as "input"] _, Dom.inputEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeInputEventListener : ([@bs.as "input"] _, Dom.inputEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeInputEventListenerWithOptions : ([@bs.as "input"] _, Dom.inputEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeInputEventListenerUseCapture : ([@bs.as "input"] _, Dom.inputEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addInputEventListener: (T.t, [@as "input"] _, Dom.inputEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addInputEventListenerWithOptions:
+ (
+ T.t,
+ [@as "input"] _,
+ Dom.inputEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addInputEventListenerUseCapture:
+ (T.t, [@as "input"] _, Dom.inputEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeInputEventListener: (T.t, [@as "input"] _, Dom.inputEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeInputEventListenerWithOptions:
+ (
+ T.t,
+ [@as "input"] _,
+ Dom.inputEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeInputEventListenerUseCapture:
+ (T.t, [@as "input"] _, Dom.inputEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Keyboard */
- [@bs.send.pipe : T.t] external addKeyDownEventListener : ([@bs.as "keydown"] _, Dom.keyboardEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addKeyDownEventListenerWithOptions : ([@bs.as "keydown"] _, Dom.keyboardEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addKeyDownEventListenerUseCapture : ([@bs.as "keydown"] _, Dom.keyboardEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeKeyDownEventListener : ([@bs.as "keydown"] _, Dom.keyboardEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeKeyDownEventListenerWithOptions : ([@bs.as "keydown"] _, Dom.keyboardEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeKeyDownEventListenerUseCapture : ([@bs.as "keydown"] _, Dom.keyboardEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addKeyUpEventListener : ([@bs.as "keyup"] _, Dom.keyboardEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addKeyUpEventListenerWithOptions : ([@bs.as "keyup"] _, Dom.keyboardEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addKeyUpEventListenerUseCapture : ([@bs.as "keyup"] _, Dom.keyboardEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeKeyUpEventListener : ([@bs.as "keyup"] _, Dom.keyboardEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeKeyUpEventListenerWithOptions : ([@bs.as "keyup"] _, Dom.keyboardEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeKeyUpEventListenerUseCapture : ([@bs.as "keyup"] _, Dom.keyboardEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addKeyPressEventListener : ([@bs.as "keypress"] _, Dom.keyboardEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addKeyPressEventListenerWithOptions : ([@bs.as "keypress"] _, Dom.keyboardEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addKeyPressEventListenerUseCapture : ([@bs.as "keypress"] _, Dom.keyboardEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeKeyPressEventListener : ([@bs.as "keypress"] _, Dom.keyboardEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeKeyPressEventListenerWithOptions : ([@bs.as "keypress"] _, Dom.keyboardEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeKeyPressEventListenerUseCapture : ([@bs.as "keypress"] _, Dom.keyboardEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addKeyDownEventListener: (T.t, [@as "keydown"] _, Dom.keyboardEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addKeyDownEventListenerWithOptions:
+ (
+ T.t,
+ [@as "keydown"] _,
+ Dom.keyboardEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addKeyDownEventListenerUseCapture:
+ (T.t, [@as "keydown"] _, Dom.keyboardEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeKeyDownEventListener: (T.t, [@as "keydown"] _, Dom.keyboardEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeKeyDownEventListenerWithOptions:
+ (
+ T.t,
+ [@as "keydown"] _,
+ Dom.keyboardEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeKeyDownEventListenerUseCapture:
+ (T.t, [@as "keydown"] _, Dom.keyboardEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addKeyUpEventListener: (T.t, [@as "keyup"] _, Dom.keyboardEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addKeyUpEventListenerWithOptions:
+ (
+ T.t,
+ [@as "keyup"] _,
+ Dom.keyboardEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addKeyUpEventListenerUseCapture:
+ (T.t, [@as "keyup"] _, Dom.keyboardEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeKeyUpEventListener: (T.t, [@as "keyup"] _, Dom.keyboardEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeKeyUpEventListenerWithOptions:
+ (
+ T.t,
+ [@as "keyup"] _,
+ Dom.keyboardEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeKeyUpEventListenerUseCapture:
+ (T.t, [@as "keyup"] _, Dom.keyboardEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addKeyPressEventListener: (T.t, [@as "keypress"] _, Dom.keyboardEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addKeyPressEventListenerWithOptions:
+ (
+ T.t,
+ [@as "keypress"] _,
+ Dom.keyboardEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addKeyPressEventListenerUseCapture:
+ (T.t, [@as "keypress"] _, Dom.keyboardEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeKeyPressEventListener:
+ (T.t, [@as "keypress"] _, Dom.keyboardEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeKeyPressEventListenerWithOptions:
+ (
+ T.t,
+ [@as "keypress"] _,
+ Dom.keyboardEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeKeyPressEventListenerUseCapture:
+ (T.t, [@as "keypress"] _, Dom.keyboardEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Composition */
- [@bs.send.pipe : T.t] external addCompositionStartEventListener : ([@bs.as "compositionstart"] _, Dom.compositionEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addCompositionStartEventListenerWithOptions : ([@bs.as "compositionstart"] _, Dom.compositionEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addCompositionStartEventListenerUseCapture : ([@bs.as "compositionstart"] _, Dom.compositionEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeCompositionStartEventListener : ([@bs.as "compositionstart"] _, Dom.compositionEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeCompositionStartEventListenerWithOptions : ([@bs.as "compositionstart"] _, Dom.compositionEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeCompositionStartEventListenerUseCapture : ([@bs.as "compositionstart"] _, Dom.compositionEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addCompositionUpdateEventListener : ([@bs.as "compositionupdate"] _, Dom.compositionEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addCompositionUpdateEventListenerWithOptions : ([@bs.as "compositionupdate"] _, Dom.compositionEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addCompositionUpdateEventListenerUseCapture : ([@bs.as "compositionupdate"] _, Dom.compositionEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeCompositionUpdateEventListener : ([@bs.as "compositionupdate"] _, Dom.compositionEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeCompositionUpdateEventListenerWithOptions : ([@bs.as "compositionupdate"] _, Dom.compositionEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeCompositionUpdateEventListenerUseCapture : ([@bs.as "compositionupdate"] _, Dom.compositionEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addCompositionEndEventListener : ([@bs.as "compositionend"] _, Dom.compositionEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addCompositionEndEventListenerWithOptions : ([@bs.as "compositionend"] _, Dom.compositionEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addCompositionEndEventListenerUseCapture : ([@bs.as "compositionend"] _, Dom.compositionEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeCompositionEndEventListener : ([@bs.as "compositionend"] _, Dom.compositionEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeCompositionEndEventListenerWithOptions : ([@bs.as "compositionend"] _, Dom.compositionEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeCompositionEndEventListenerUseCapture : ([@bs.as "compositionend"] _, Dom.compositionEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addCompositionStartEventListener:
+ (T.t, [@as "compositionstart"] _, Dom.compositionEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addCompositionStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "compositionstart"] _,
+ Dom.compositionEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addCompositionStartEventListenerUseCapture:
+ (T.t, [@as "compositionstart"] _, Dom.compositionEvent => unit, [@as {json|true|json}] _) =>
+ unit =
+ "addEventListener";
+ [@send]
+ external removeCompositionStartEventListener:
+ (T.t, [@as "compositionstart"] _, Dom.compositionEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeCompositionStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "compositionstart"] _,
+ Dom.compositionEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeCompositionStartEventListenerUseCapture:
+ (T.t, [@as "compositionstart"] _, Dom.compositionEvent => unit, [@as {json|true|json}] _) =>
+ unit =
+ "removeEventListener";
+
+ [@send]
+ external addCompositionUpdateEventListener:
+ (T.t, [@as "compositionupdate"] _, Dom.compositionEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addCompositionUpdateEventListenerWithOptions:
+ (
+ T.t,
+ [@as "compositionupdate"] _,
+ Dom.compositionEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addCompositionUpdateEventListenerUseCapture:
+ (T.t, [@as "compositionupdate"] _, Dom.compositionEvent => unit, [@as {json|true|json}] _) =>
+ unit =
+ "addEventListener";
+ [@send]
+ external removeCompositionUpdateEventListener:
+ (T.t, [@as "compositionupdate"] _, Dom.compositionEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeCompositionUpdateEventListenerWithOptions:
+ (
+ T.t,
+ [@as "compositionupdate"] _,
+ Dom.compositionEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeCompositionUpdateEventListenerUseCapture:
+ (T.t, [@as "compositionupdate"] _, Dom.compositionEvent => unit, [@as {json|true|json}] _) =>
+ unit =
+ "removeEventListener";
+
+ [@send]
+ external addCompositionEndEventListener:
+ (T.t, [@as "compositionend"] _, Dom.compositionEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addCompositionEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "compositionend"] _,
+ Dom.compositionEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addCompositionEndEventListenerUseCapture:
+ (T.t, [@as "compositionend"] _, Dom.compositionEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeCompositionEndEventListener:
+ (T.t, [@as "compositionend"] _, Dom.compositionEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeCompositionEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "compositionend"] _,
+ Dom.compositionEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeCompositionEndEventListenerUseCapture:
+ (T.t, [@as "compositionend"] _, Dom.compositionEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Drag */
- [@bs.send.pipe : T.t] external addDragEventListener : ([@bs.as "drag"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragEventListenerWithOptions : ([@bs.as "drag"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragEventListenerUseCapture : ([@bs.as "drag"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragEventListener : ([@bs.as "drag"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragEventListenerWithOptions : ([@bs.as "drag"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragEventListenerUseCapture : ([@bs.as "drag"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDragEndEventListener : ([@bs.as "dragend"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragEndEventListenerWithOptions : ([@bs.as "dragend"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragEndEventListenerUseCapture : ([@bs.as "dragend"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragEndEventListener : ([@bs.as "dragend"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragEndEventListenerWithOptions : ([@bs.as "dragend"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragEndEventListenerUseCapture : ([@bs.as "dragend"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDragEnterEventListener : ([@bs.as "dragenter"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragEnterEventListenerWithOptions : ([@bs.as "dragenter"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragEnterEventListenerUseCapture : ([@bs.as "dragenter"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragEnterEventListener : ([@bs.as "dragenter"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragEnterEventListenerWithOptions : ([@bs.as "dragenter"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragEnterEventListenerUseCapture : ([@bs.as "dragenter"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDragExitEventListener : ([@bs.as "dragexit"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragExitEventListenerWithOptions : ([@bs.as "dragexit"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragExitEventListenerUseCapture : ([@bs.as "dragexit"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragExitEventListener : ([@bs.as "dragexit"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragExitEventListenerWithOptions : ([@bs.as "dragexit"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragExitEventListenerUseCapture : ([@bs.as "dragexit"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDragLeaveEventListener : ([@bs.as "dragleave"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragLeaveEventListenerWithOptions : ([@bs.as "dragleave"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragLeaveEventListenerUseCapture : ([@bs.as "dragleave"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragLeaveEventListener : ([@bs.as "dragleave"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragLeaveEventListenerWithOptions : ([@bs.as "dragleave"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragLeaveEventListenerUseCapture : ([@bs.as "dragleave"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDragOverEventListener : ([@bs.as "dragover"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragOverEventListenerWithOptions : ([@bs.as "dragover"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragOverEventListenerUseCapture : ([@bs.as "dragover"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragOverEventListener : ([@bs.as "dragover"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragOverEventListenerWithOptions : ([@bs.as "dragover"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragOverEventListenerUseCapture : ([@bs.as "dragover"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDragStartEventListener : ([@bs.as "dragstart"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDragStartEventListenerWithOptions : ([@bs.as "dragstart"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDragStartEventListenerUseCapture : ([@bs.as "dragstart"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDragStartEventListener : ([@bs.as "dragstart"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDragStartEventListenerWithOptions : ([@bs.as "dragstart"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDragStartEventListenerUseCapture : ([@bs.as "dragstart"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addDropEventListener : ([@bs.as "drop"] _, Dom.dragEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addDropEventListenerWithOptions : ([@bs.as "drop"] _, Dom.dragEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addDropEventListenerUseCapture : ([@bs.as "drop"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeDropEventListener : ([@bs.as "drop"] _, Dom.dragEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeDropEventListenerWithOptions : ([@bs.as "drop"] _, Dom.dragEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeDropEventListenerUseCapture : ([@bs.as "drop"] _, Dom.dragEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addDragEventListener: (T.t, [@as "drag"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragEventListenerWithOptions:
+ (
+ T.t,
+ [@as "drag"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragEventListenerUseCapture:
+ (T.t, [@as "drag"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragEventListener: (T.t, [@as "drag"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragEventListenerWithOptions:
+ (
+ T.t,
+ [@as "drag"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragEventListenerUseCapture:
+ (T.t, [@as "drag"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDragEndEventListener: (T.t, [@as "dragend"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragend"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragEndEventListenerUseCapture:
+ (T.t, [@as "dragend"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragEndEventListener: (T.t, [@as "dragend"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragend"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragEndEventListenerUseCapture:
+ (T.t, [@as "dragend"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDragEnterEventListener: (T.t, [@as "dragenter"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragEnterEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragenter"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragEnterEventListenerUseCapture:
+ (T.t, [@as "dragenter"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragEnterEventListener: (T.t, [@as "dragenter"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragEnterEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragenter"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragEnterEventListenerUseCapture:
+ (T.t, [@as "dragenter"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDragExitEventListener: (T.t, [@as "dragexit"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragExitEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragexit"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragExitEventListenerUseCapture:
+ (T.t, [@as "dragexit"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragExitEventListener: (T.t, [@as "dragexit"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragExitEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragexit"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragExitEventListenerUseCapture:
+ (T.t, [@as "dragexit"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDragLeaveEventListener: (T.t, [@as "dragleave"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragLeaveEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragleave"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragLeaveEventListenerUseCapture:
+ (T.t, [@as "dragleave"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragLeaveEventListener: (T.t, [@as "dragleave"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragLeaveEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragleave"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragLeaveEventListenerUseCapture:
+ (T.t, [@as "dragleave"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDragOverEventListener: (T.t, [@as "dragover"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragOverEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragover"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragOverEventListenerUseCapture:
+ (T.t, [@as "dragover"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragOverEventListener: (T.t, [@as "dragover"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragOverEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragover"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragOverEventListenerUseCapture:
+ (T.t, [@as "dragover"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDragStartEventListener: (T.t, [@as "dragstart"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDragStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragstart"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDragStartEventListenerUseCapture:
+ (T.t, [@as "dragstart"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDragStartEventListener: (T.t, [@as "dragstart"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDragStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "dragstart"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDragStartEventListenerUseCapture:
+ (T.t, [@as "dragstart"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addDropEventListener: (T.t, [@as "drop"] _, Dom.dragEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addDropEventListenerWithOptions:
+ (
+ T.t,
+ [@as "drop"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addDropEventListenerUseCapture:
+ (T.t, [@as "drop"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeDropEventListener: (T.t, [@as "drop"] _, Dom.dragEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeDropEventListenerWithOptions:
+ (
+ T.t,
+ [@as "drop"] _,
+ Dom.dragEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeDropEventListenerUseCapture:
+ (T.t, [@as "drop"] _, Dom.dragEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Touch */
- [@bs.send.pipe : T.t] external addTouchCancelEventListener : ([@bs.as "touchcancel"] _, Dom.touchEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addTouchCancelEventListenerWithOptions : ([@bs.as "touchcancel"] _, Dom.touchEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addTouchCancelEventListenerUseCapture : ([@bs.as "touchcancel"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeTouchCancelEventListener : ([@bs.as "touchcancel"] _, Dom.touchEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeTouchCancelEventListenerWithOptions : ([@bs.as "touchcancel"] _, Dom.touchEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeTouchCancelEventListenerUseCapture : ([@bs.as "touchcancel"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addTouchEndEventListener : ([@bs.as "touchend"] _, Dom.touchEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addTouchEndEventListenerWithOptions : ([@bs.as "touchend"] _, Dom.touchEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addTouchEndEventListenerUseCapture : ([@bs.as "touchend"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeTouchEndEventListener : ([@bs.as "touchend"] _, Dom.touchEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeTouchEndEventListenerWithOptions : ([@bs.as "touchend"] _, Dom.touchEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeTouchEndEventListenerUseCapture : ([@bs.as "touchend"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addTouchMoveEventListener : ([@bs.as "touchmove"] _, Dom.touchEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addTouchMoveEventListenerWithOptions : ([@bs.as "touchmove"] _, Dom.touchEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addTouchMoveEventListenerUseCapture : ([@bs.as "touchmove"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeTouchMoveEventListener : ([@bs.as "touchmove"] _, Dom.touchEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeTouchMoveEventListenerWithOptions : ([@bs.as "touchmove"] _, Dom.touchEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeTouchMoveEventListenerUseCapture : ([@bs.as "touchmove"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addTouchStartEventListener : ([@bs.as "touchstart"] _, Dom.touchEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addTouchStartEventListenerWithOptions : ([@bs.as "touchstart"] _, Dom.touchEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addTouchStartEventListenerUseCapture : ([@bs.as "touchstart"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeTouchStartEventListener : ([@bs.as "touchstart"] _, Dom.touchEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeTouchStartEventListenerWithOptions : ([@bs.as "touchstart"] _, Dom.touchEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeTouchStartEventListenerUseCapture : ([@bs.as "touchstart"] _, Dom.touchEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addTouchCancelEventListener:
+ (T.t, [@as "touchcancel"] _, Dom.touchEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addTouchCancelEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchcancel"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addTouchCancelEventListenerUseCapture:
+ (T.t, [@as "touchcancel"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeTouchCancelEventListener:
+ (T.t, [@as "touchcancel"] _, Dom.touchEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeTouchCancelEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchcancel"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeTouchCancelEventListenerUseCapture:
+ (T.t, [@as "touchcancel"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addTouchEndEventListener: (T.t, [@as "touchend"] _, Dom.touchEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addTouchEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchend"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addTouchEndEventListenerUseCapture:
+ (T.t, [@as "touchend"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeTouchEndEventListener: (T.t, [@as "touchend"] _, Dom.touchEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeTouchEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchend"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeTouchEndEventListenerUseCapture:
+ (T.t, [@as "touchend"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addTouchMoveEventListener: (T.t, [@as "touchmove"] _, Dom.touchEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addTouchMoveEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchmove"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addTouchMoveEventListenerUseCapture:
+ (T.t, [@as "touchmove"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeTouchMoveEventListener: (T.t, [@as "touchmove"] _, Dom.touchEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeTouchMoveEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchmove"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeTouchMoveEventListenerUseCapture:
+ (T.t, [@as "touchmove"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addTouchStartEventListener: (T.t, [@as "touchstart"] _, Dom.touchEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addTouchStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchstart"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addTouchStartEventListenerUseCapture:
+ (T.t, [@as "touchstart"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeTouchStartEventListener:
+ (T.t, [@as "touchstart"] _, Dom.touchEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeTouchStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "touchstart"] _,
+ Dom.touchEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeTouchStartEventListenerUseCapture:
+ (T.t, [@as "touchstart"] _, Dom.touchEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
/* Animation */
- [@bs.send.pipe : T.t] external addAnimationCancelEventListener : ([@bs.as "animationcancel"] _, Dom.animationEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addAnimationCancelEventListenerWithOptions : ([@bs.as "animationcancel"] _, Dom.animationEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addAnimationCancelEventListenerUseCapture : ([@bs.as "animationcancel"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeAnimationCancelEventListener : ([@bs.as "animationcancel"] _, Dom.animationEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeAnimationCancelEventListenerWithOptions : ([@bs.as "animationcancel"] _, Dom.animationEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeAnimationCancelEventListenerUseCapture : ([@bs.as "animationcancel"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addAnimationEndEventListener : ([@bs.as "animationend"] _, Dom.animationEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addAnimationEndEventListenerWithOptions : ([@bs.as "animationend"] _, Dom.animationEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addAnimationEndEventListenerUseCapture : ([@bs.as "animationend"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeAnimationEndEventListener : ([@bs.as "animationend"] _, Dom.animationEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeAnimationEndEventListenerWithOptions : ([@bs.as "animationend"] _, Dom.animationEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeAnimationEndEventListenerUseCapture : ([@bs.as "animationend"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addAnimationIterationEventListener : ([@bs.as "animationiteration"] _, Dom.animationEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addAnimationIterationEventListenerWithOptions : ([@bs.as "animationiteration"] _, Dom.animationEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addAnimationIterationEventListenerUseCapture : ([@bs.as "animationiteration"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeAnimationIterationEventListener : ([@bs.as "animationiteration"] _, Dom.animationEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeAnimationIterationEventListenerWithOptions : ([@bs.as "animationiteration"] _, Dom.animationEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeAnimationIterationEventListenerUseCapture : ([@bs.as "animationiteration"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
-
- [@bs.send.pipe : T.t] external addAnimationStartEventListener : ([@bs.as "animationstart"] _, Dom.animationEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addAnimationStartEventListenerWithOptions : ([@bs.as "animationstart"] _, Dom.animationEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addAnimationStartEventListenerUseCapture : ([@bs.as "animationstart"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeAnimationStartEventListener : ([@bs.as "animationstart"] _, Dom.animationEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeAnimationStartEventListenerWithOptions : ([@bs.as "animationstart"] _, Dom.animationEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeAnimationStartEventListenerUseCapture : ([@bs.as "animationstart"] _, Dom.animationEvent => unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addAnimationCancelEventListener:
+ (T.t, [@as "animationcancel"] _, Dom.animationEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addAnimationCancelEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationcancel"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addAnimationCancelEventListenerUseCapture:
+ (T.t, [@as "animationcancel"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeAnimationCancelEventListener:
+ (T.t, [@as "animationcancel"] _, Dom.animationEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeAnimationCancelEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationcancel"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeAnimationCancelEventListenerUseCapture:
+ (T.t, [@as "animationcancel"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addAnimationEndEventListener:
+ (T.t, [@as "animationend"] _, Dom.animationEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addAnimationEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationend"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addAnimationEndEventListenerUseCapture:
+ (T.t, [@as "animationend"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeAnimationEndEventListener:
+ (T.t, [@as "animationend"] _, Dom.animationEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeAnimationEndEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationend"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeAnimationEndEventListenerUseCapture:
+ (T.t, [@as "animationend"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
+
+ [@send]
+ external addAnimationIterationEventListener:
+ (T.t, [@as "animationiteration"] _, Dom.animationEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addAnimationIterationEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationiteration"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addAnimationIterationEventListenerUseCapture:
+ (T.t, [@as "animationiteration"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) =>
+ unit =
+ "addEventListener";
+ [@send]
+ external removeAnimationIterationEventListener:
+ (T.t, [@as "animationiteration"] _, Dom.animationEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeAnimationIterationEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationiteration"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeAnimationIterationEventListenerUseCapture:
+ (T.t, [@as "animationiteration"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) =>
+ unit =
+ "removeEventListener";
+
+ [@send]
+ external addAnimationStartEventListener:
+ (T.t, [@as "animationstart"] _, Dom.animationEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addAnimationStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationstart"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addAnimationStartEventListenerUseCapture:
+ (T.t, [@as "animationstart"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeAnimationStartEventListener:
+ (T.t, [@as "animationstart"] _, Dom.animationEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeAnimationStartEventListenerWithOptions:
+ (
+ T.t,
+ [@as "animationstart"] _,
+ Dom.animationEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeAnimationStartEventListenerUseCapture:
+ (T.t, [@as "animationstart"] _, Dom.animationEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
};
-include Impl({ type nonrec t = Dom.eventTarget; });
+include Impl({
+ type nonrec t = Dom.eventTarget;
+});
-external unsafeAsDocument : Dom.eventTarget => Dom.document = "%identity";
-external unsafeAsElement : Dom.eventTarget => Dom.element = "%identity";
-external unsafeAsWindow : Dom.eventTarget => Dom.window = "%identity";
+external unsafeAsDocument: Dom.eventTarget => Dom.document = "%identity";
+external unsafeAsElement: Dom.eventTarget => Dom.element = "%identity";
+external unsafeAsWindow: Dom.eventTarget => Dom.window = "%identity";
diff --git a/src/Webapi/Dom/Webapi__Dom__FocusEvent.re b/src/Webapi/Dom/Webapi__Dom__FocusEvent.re
index 55b5d210..3092df0c 100644
--- a/src/Webapi/Dom/Webapi__Dom__FocusEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__FocusEvent.re
@@ -1,9 +1,13 @@
type t = Dom.focusEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "FocusEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "FocusEvent";
+[@new] external make: string => t = "FocusEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "FocusEvent";
-[@bs.get] [@bs.return nullable] external relatedTarget : t => option(Dom.eventTarget) = "";
+[@get] [@return nullable] external relatedTarget: t => option(Dom.eventTarget);
diff --git a/src/Webapi/Dom/Webapi__Dom__GlobalEventHandlers.re b/src/Webapi/Dom/Webapi__Dom__GlobalEventHandlers.re
index 3a882934..eac835a7 100644
--- a/src/Webapi/Dom/Webapi__Dom__GlobalEventHandlers.re
+++ b/src/Webapi/Dom/Webapi__Dom__GlobalEventHandlers.re
@@ -1,9 +1,48 @@
/* Mixin */
module Impl = (T: {type t;}) => {
- [@bs.send.pipe : T.t] external addSelectionChangeEventListener : ([@bs.as "selectionchange"] _, Dom.focusEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external addSelectionChangeEventListenerWithOptions : ([@bs.as "selectionchange"] _, Dom.focusEvent => unit, {. "capture": bool, "once": bool, "passive": bool}) => unit = "addEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external addSelectionChangeEventListenerUseCapture : ([@bs.as "selectionchange"] _, Dom.focusEvent => unit, [@bs.as {json|true|json}] _) => unit = "addEventListener";
- [@bs.send.pipe : T.t] external removeSelectionChangeEventListener : ([@bs.as "selectionchange"] _, Dom.focusEvent => unit) => unit = "removeEventListener";
- [@bs.send.pipe : T.t] external removeSelectionChangeEventListenerWithOptions : ([@bs.as "selectionchange"] _, Dom.focusEvent => unit, {. "capture": bool, "passive": bool}) => unit = "removeEventListener"; /* not widely supported */
- [@bs.send.pipe : T.t] external removeSelectionChangeEventListenerUseCapture : ([@bs.as "selectionchange"] _, Dom.focusEvent =>unit, [@bs.as {json|true|json}] _) => unit = "removeEventListener";
+ [@send]
+ external addSelectionChangeEventListener:
+ (T.t, [@as "selectionchange"] _, Dom.focusEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external addSelectionChangeEventListenerWithOptions:
+ (
+ T.t,
+ [@as "selectionchange"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "once": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "addEventListener"; /* not widely supported */
+ [@send]
+ external addSelectionChangeEventListenerUseCapture:
+ (T.t, [@as "selectionchange"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "addEventListener";
+ [@send]
+ external removeSelectionChangeEventListener:
+ (T.t, [@as "selectionchange"] _, Dom.focusEvent => unit) => unit =
+ "removeEventListener";
+ [@send]
+ external removeSelectionChangeEventListenerWithOptions:
+ (
+ T.t,
+ [@as "selectionchange"] _,
+ Dom.focusEvent => unit,
+ {
+ .
+ "capture": bool,
+ "passive": bool,
+ }
+ ) =>
+ unit =
+ "removeEventListener"; /* not widely supported */
+ [@send]
+ external removeSelectionChangeEventListenerUseCapture:
+ (T.t, [@as "selectionchange"] _, Dom.focusEvent => unit, [@as {json|true|json}] _) => unit =
+ "removeEventListener";
};
diff --git a/src/Webapi/Dom/Webapi__Dom__History.re b/src/Webapi/Dom/Webapi__Dom__History.re
index 9ed7e699..9eacaaeb 100644
--- a/src/Webapi/Dom/Webapi__Dom__History.re
+++ b/src/Webapi/Dom/Webapi__Dom__History.re
@@ -1,13 +1,13 @@
type t = Dom.history;
type state; /* TODO: should be "anything that can be serializable" apparently */
-[@bs.get] external length : t => int = "";
-[@bs.get] external scrollRestoration : t => bool = ""; /* experimental */
-[@bs.set] external setScrollRestoration : (t, bool) => unit = "scrollRestoration"; /* experimental */
-[@bs.get] external state : t => state = "";
+[@get] external length: t => int;
+[@get] external scrollRestoration: t => bool; /* experimental */
+[@set] external setScrollRestoration: (t, bool) => unit = "scrollRestoration"; /* experimental */
+[@get] external state: t => state;
-[@bs.send.pipe : t] external back : unit = "";
-[@bs.send.pipe : t] external forward : unit = "";
-[@bs.send.pipe : t] external go : int => unit = "";
-[@bs.send.pipe : t] external pushState : (state, string, string) => unit = "";
-[@bs.send.pipe : t] external replaceState : (state, string, string) => unit = "";
+[@send] external back: t => unit;
+[@send] external forward: t => unit;
+[@send] external go: (t, int) => unit;
+[@send] external pushState: (t, state, string, string) => unit;
+[@send] external replaceState: (t, state, string, string) => unit;
diff --git a/src/Webapi/Dom/Webapi__Dom__HtmlCollection.re b/src/Webapi/Dom/Webapi__Dom__HtmlCollection.re
index b57d911d..96cc516c 100644
--- a/src/Webapi/Dom/Webapi__Dom__HtmlCollection.re
+++ b/src/Webapi/Dom/Webapi__Dom__HtmlCollection.re
@@ -1,7 +1,8 @@
type t = Dom.htmlCollection;
-[@bs.val] [@bs.scope ("Array", "prototype", "slice")] external toArray : t => array(Dom.element) = "call";
+[@val] [@scope ("Array", "prototype", "slice")]
+external toArray: t => array(Dom.element) = "call";
-[@bs.get] external length : t => int = "";
-[@bs.send.pipe : t] [@bs.return nullable] external item : int => option(Dom.element) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external namedItem : string => option(Dom.element) = "";
+[@get] external length: t => int;
+[@send] [@return nullable] external item: (t, int) => option(Dom.element);
+[@send] [@return nullable] external namedItem: (t, string) => option(Dom.element);
diff --git a/src/Webapi/Dom/Webapi__Dom__HtmlDocument.re b/src/Webapi/Dom/Webapi__Dom__HtmlDocument.re
index 36a790b9..2afe59df 100644
--- a/src/Webapi/Dom/Webapi__Dom__HtmlDocument.re
+++ b/src/Webapi/Dom/Webapi__Dom__HtmlDocument.re
@@ -1,64 +1,75 @@
module Impl = (T: {type t;}) => {
type t_htmlDocument = T.t;
- [@bs.get] [@bs.return nullable] external activeElement : t_htmlDocument => option(Dom.element) = "";
- [@bs.get] [@bs.return nullable] external body : t_htmlDocument => option(Dom.element) = ""; /* returns option HTMLBodyElement */
- [@bs.set] external setBody : (t_htmlDocument, Dom.element) => unit = "body"; /* accepth HTMLBodyElement */
- [@bs.get] external cookie : t_htmlDocument => string = "";
- [@bs.set] external setCookie : (t_htmlDocument, string) => unit = "cookie";
- [@bs.get] [@bs.return nullable] external defaultView : t_htmlDocument => option(Dom.window) = "";
- [@bs.get] external designMode : t_htmlDocument => string /* designMode enum */ = "";
+ [@get] [@return nullable] external activeElement: t_htmlDocument => option(Dom.element);
+ [@get] [@return nullable] external body: t_htmlDocument => option(Dom.element); /* returns option HTMLBodyElement */
+ [@set] external setBody: (t_htmlDocument, Dom.element) => unit = "body"; /* accepth HTMLBodyElement */
+ [@get] external cookie: t_htmlDocument => string;
+ [@set] external setCookie: (t_htmlDocument, string) => unit = "cookie";
+ [@get] [@return nullable] external defaultView: t_htmlDocument => option(Dom.window);
+ [@get] external designMode: t_htmlDocument => string /* designMode enum */;
let designMode: t_htmlDocument => Webapi__Dom__Types.designMode =
- (self) => Webapi__Dom__Types.decodeDesignMode(designMode(self));
- [@bs.set] external setDesignMode : (t_htmlDocument, string /* designMode enum */) => unit = "designMode";
+ self => Webapi__Dom__Types.decodeDesignMode(designMode(self));
+ [@set]
+ external setDesignMode: (t_htmlDocument, string /* designMode enum */) => unit = "designMode";
let setDesignMode: (t_htmlDocument, Webapi__Dom__Types.designMode) => unit =
(self, value) => setDesignMode(self, Webapi__Dom__Types.encodeDesignMode(value));
- [@bs.get] external dir : t_htmlDocument => string /* dir enum */ = "";
- let dir: t_htmlDocument => Webapi__Dom__Types.dir = (self) => Webapi__Dom__Types.decodeDir(dir(self));
- [@bs.set] external setDir : (t_htmlDocument, string /* dir enum */) => unit = "dir";
+ [@get] external dir: t_htmlDocument => string /* dir enum */;
+ let dir: t_htmlDocument => Webapi__Dom__Types.dir =
+ self => Webapi__Dom__Types.decodeDir(dir(self));
+ [@set] external setDir: (t_htmlDocument, string /* dir enum */) => unit = "dir";
let setDir: (t_htmlDocument, Webapi__Dom__Types.dir) => unit =
(self, value) => setDir(self, Webapi__Dom__Types.encodeDir(value));
- [@bs.get] [@bs.return nullable] external domain : t_htmlDocument => option(string) = "";
- [@bs.set] external setDomain : (t_htmlDocument, string) => unit = "domain";
- [@bs.get] external embeds : t_htmlDocument => Dom.nodeList = "";
- [@bs.get] external forms : t_htmlDocument => Dom.htmlCollection = "";
- [@bs.get] external head : t_htmlDocument => Dom.element = ""; /* returns HTMLHeadElement */
- [@bs.get] external images : t_htmlDocument => Dom.htmlCollection = "";
- [@bs.get] external lastModified : t_htmlDocument => string = "";
- [@bs.get] external links : t_htmlDocument => Dom.nodeList = "";
- [@bs.get] external location : t_htmlDocument => Dom.location = "";
- [@bs.set] external setLocation : (t_htmlDocument, string) => unit = "location";
- [@bs.get] external plugins : t_htmlDocument => Dom.htmlCollection = "";
- [@bs.get] external readyState : t_htmlDocument => string /* enum */ = "";
+ [@get] [@return nullable] external domain: t_htmlDocument => option(string);
+ [@set] external setDomain: (t_htmlDocument, string) => unit = "domain";
+ [@get] external embeds: t_htmlDocument => Dom.nodeList;
+ [@get] external forms: t_htmlDocument => Dom.htmlCollection;
+ [@get] external head: t_htmlDocument => Dom.element; /* returns HTMLHeadElement */
+ [@get] external images: t_htmlDocument => Dom.htmlCollection;
+ [@get] external lastModified: t_htmlDocument => string;
+ [@get] external links: t_htmlDocument => Dom.nodeList;
+ [@get] external location: t_htmlDocument => Dom.location;
+ [@set] external setLocation: (t_htmlDocument, string) => unit = "location";
+ [@get] external plugins: t_htmlDocument => Dom.htmlCollection;
+ [@get] external readyState: t_htmlDocument => string /* enum */;
let readyState: t_htmlDocument => Webapi__Dom__Types.readyState =
- (self) => Webapi__Dom__Types.decodeReadyState(readyState(self));
- [@bs.get] external referrer : t_htmlDocument => string = "";
- [@bs.get] external scripts : t_htmlDocument => Dom.htmlCollection = "";
- [@bs.get] external title : t_htmlDocument => string = "";
- [@bs.set] external setTitle : (t_htmlDocument, string) => unit = "title";
- [@bs.get] external url : t_htmlDocument => string = "URL";
+ self => Webapi__Dom__Types.decodeReadyState(readyState(self));
+ [@get] external referrer: t_htmlDocument => string;
+ [@get] external scripts: t_htmlDocument => Dom.htmlCollection;
+ [@get] external title: t_htmlDocument => string;
+ [@set] external setTitle: (t_htmlDocument, string) => unit = "title";
+ [@get] external url: t_htmlDocument => string = "URL";
- [@bs.send.pipe : t_htmlDocument] external close : unit = "";
- [@bs.send.pipe : t_htmlDocument] external execCommand : (string, bool, Js.null(string)) => bool = "";
- let execCommand: (string, bool, option(string), t_htmlDocument) => bool =
- (command, show, value, self) =>
- execCommand(command, show, Js.Null.fromOption(value), self);
- [@bs.send.pipe : t_htmlDocument] external getElementsByName : string => Dom.nodeList = "";
- [@bs.send.pipe : t_htmlDocument] external getSelection : Dom.selection = "";
- [@bs.send.pipe : t_htmlDocument] external hasFocus : bool = "";
- [@bs.send.pipe : t_htmlDocument] external open_ : unit = "open";
- [@bs.send.pipe : t_htmlDocument] external queryCommandEnabled : string => bool = "";
- [@bs.send.pipe : t_htmlDocument] external queryCommandIndeterm : string => bool = "";
- [@bs.send.pipe : t_htmlDocument] external queryCommandSupported : string => bool = "";
- [@bs.send.pipe : t_htmlDocument] external queryCommandValue : string => string = "";
- [@bs.send.pipe : t_htmlDocument] external write : string => unit = "";
- [@bs.send.pipe : t_htmlDocument] external writeln : string => unit = "";
+ [@send] external close: t_htmlDocument => unit;
+ [@send] external execCommand: (t_htmlDocument, string, bool, Js.null(string)) => bool;
+ let execCommand: (t_htmlDocument, string, bool, option(string)) => bool =
+ (self, command, show, value) => self->execCommand(command, show, Js.Null.fromOption(value));
+ [@send] external getElementsByName: (t_htmlDocument, string) => Dom.nodeList;
+ [@send] external getSelection: t_htmlDocument => Dom.selection;
+ [@send] external hasFocus: t_htmlDocument => bool;
+ [@send] external open_: t_htmlDocument => unit = "open";
+ [@send] external queryCommandEnabled: (t_htmlDocument, string) => bool;
+ [@send] external queryCommandIndeterm: (t_htmlDocument, string) => bool;
+ [@send] external queryCommandSupported: (t_htmlDocument, string) => bool;
+ [@send] external queryCommandValue: (t_htmlDocument, string) => string;
+ [@send] external write: (t_htmlDocument, string) => unit;
+ [@send] external writeln: (t_htmlDocument, string) => unit;
};
type t = Dom.htmlDocument;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__GlobalEventHandlers.Impl({ type nonrec t = t; });
-include Webapi__Dom__Document.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__GlobalEventHandlers.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Document.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__HtmlElement.re b/src/Webapi/Dom/Webapi__Dom__HtmlElement.re
index 130152b7..6448e2ec 100644
--- a/src/Webapi/Dom/Webapi__Dom__HtmlElement.re
+++ b/src/Webapi/Dom/Webapi__Dom__HtmlElement.re
@@ -3,93 +3,100 @@ module Impl = (T: {type t;}) => {
let ofElement = Webapi__Dom__Element.asHtmlElement;
- [@bs.get] external accessKey : t_htmlElement => string = "";
- [@bs.set] external setAccessKey : (t_htmlElement, string) => unit = "accessKey";
- [@bs.get] external accessKeyLabel : t_htmlElement => string = "";
- [@bs.get] external contentEditable : t_htmlElement => string /* enum */ = "";
+ [@get] external accessKey: t_htmlElement => string;
+ [@set] external setAccessKey: (t_htmlElement, string) => unit = "accessKey";
+ [@get] external accessKeyLabel: t_htmlElement => string;
+ [@get] external contentEditable: t_htmlElement => string /* enum */;
let contentEditable: t_htmlElement => Webapi__Dom__Types.contentEditable =
- (self) => Webapi__Dom__Types.decodeContentEditable(contentEditable(self));
- [@bs.set] external setContentEditable : (t_htmlElement, string /* enum */) => unit = "contentEditable";
+ self => Webapi__Dom__Types.decodeContentEditable(contentEditable(self));
+ [@set]
+ external setContentEditable: (t_htmlElement, string /* enum */) => unit = "contentEditable";
let setContentEditable: (t_htmlElement, Webapi__Dom__Types.contentEditable) => unit =
(self, value) => setContentEditable(self, Webapi__Dom__Types.encodeContentEditable(value));
- [@bs.get] external isContentEditable : t_htmlElement => bool = "";
- [@bs.get] external contextMenu : t_htmlElement => Dom.htmlElement = ""; /* returns HTMLMenuElement */
- [@bs.set] external setContextMenu : (t_htmlElement, Dom.htmlElement) => unit = "contextMenu"; /* accepts and returns HTMLMenuElement */
- [@bs.get] external dataset : t_htmlElement => Dom.domStringMap = "";
- [@bs.get] external dir : t_htmlElement => string /* enum */ = "";
- let dir: t_htmlElement => Webapi__Dom__Types.dir = (self) => Webapi__Dom__Types.decodeDir(dir(self));
- [@bs.set] external setDir : (t_htmlElement, string /* enum */) => unit = "dir";
+ [@get] external isContentEditable: t_htmlElement => bool;
+ [@get] external contextMenu: t_htmlElement => Dom.htmlElement; /* returns HTMLMenuElement */
+ [@set] external setContextMenu: (t_htmlElement, Dom.htmlElement) => unit = "contextMenu"; /* accepts and returns HTMLMenuElement */
+ [@get] external dataset: t_htmlElement => Dom.domStringMap;
+ [@get] external dir: t_htmlElement => string /* enum */;
+ let dir: t_htmlElement => Webapi__Dom__Types.dir =
+ self => Webapi__Dom__Types.decodeDir(dir(self));
+ [@set] external setDir: (t_htmlElement, string /* enum */) => unit = "dir";
let setDir: (t_htmlElement, Webapi__Dom__Types.dir) => unit =
(self, value) => setDir(self, Webapi__Dom__Types.encodeDir(value));
- [@bs.get] external draggable : t_htmlElement => bool = "";
- [@bs.set] external setDraggable : (t_htmlElement, bool) => unit = "draggable";
- /*let setDraggable : t_htmlElement => bool => unit = fun self value => setDraggable self (Js.Boolean.to_js_boolean value);*/ /* temproarily removed to reduce codegen size */
- [@bs.get] external dropzone : t_htmlElement => Dom.domSettableTokenList = "";
- [@bs.get] external hidden : t_htmlElement => bool = "";
- [@bs.set] external setHidden : (t_htmlElement, bool) => unit = "hidden";
- /*let setHidden : t_htmlElement => bool => unit = fun self value => setHidden self (Js.Boolean.to_js_boolean value);*/ /* temproarily removed to reduce codegen size */
- [@bs.get] external itemScope : t_htmlElement => bool = ""; /* experimental */
- [@bs.set] external setItemScope : (t_htmlElement, bool) => unit = "itemScope";
- /*let setItemScope : t_htmlElement => bool => unit = fun self value => setItemScope self (Js.Boolean.to_js_boolean value);*//* experimental */ /* temproarily removed to reduce codegen size */
- [@bs.get] external itemType : t_htmlElement => Dom.domSettableTokenList = ""; /* experimental */
- [@bs.get] external itemId : t_htmlElement => string = ""; /* experimental */
- [@bs.set] external setItemId : (t_htmlElement, string) => unit = "itemId"; /* experimental */
- [@bs.get] external itemRef : t_htmlElement => Dom.domSettableTokenList = ""; /* experimental */
- [@bs.get] external itemProp : t_htmlElement => Dom.domSettableTokenList = ""; /* experimental */
- [@bs.get] external itemValue : t_htmlElement => Js.t({..}) = ""; /* experimental */
- [@bs.set] external setItemValue : (t_htmlElement, Js.t({..})) => unit = "itemValue"; /* experimental */
- [@bs.get] external lang : t_htmlElement => string = "";
- [@bs.set] external setLang : (t_htmlElement, string) => unit = "lang";
- [@bs.get] external offsetHeight : t_htmlElement => int = ""; /* experimental */
- [@bs.get] external offsetLeft : t_htmlElement => int = ""; /* experimental */
- [@bs.get] [@bs.return nullable] external offsetParent : t_htmlElement => option(Dom.element) = ""; /* experimental */
- [@bs.get] external offsetTop : t_htmlElement => int = ""; /* experimental, but widely supported */
- [@bs.get] external offsetWidth : t_htmlElement => int = ""; /* experimental */
- /*external properties : r => HTMLPropertiesCollection.t = "properties" [@@bs.get]; /* experimental */*/
- [@bs.get] external spellcheck : t_htmlElement => bool = "";
- [@bs.set] external setSpellcheck : (t_htmlElement, bool) => unit = "spellcheck" ;
- /*let setSpellcheck : t_htmlElement => bool => unit = fun self value => setSpellcheck self (Js.Boolean.to_js_boolean value);*/ /* temproarily removed to reduce codegen size */
- [@bs.get] external style : t_htmlElement => Dom.cssStyleDeclaration = "";
- [@bs.set] external setStyle : (t_htmlElement, Dom.cssStyleDeclaration) => unit = "style";
- [@bs.get] external tabIndex : t_htmlElement => int = "";
- [@bs.set] external setTabIndex : (t_htmlElement, int) => unit = "tabIndex";
- [@bs.get] external title : t_htmlElement => string = "";
- [@bs.set] external setTitle : (t_htmlElement, string) => unit = "title";
- [@bs.get] external translate : t_htmlElement => bool = ""; /* experimental */
- [@bs.set] external setTranslate : (t_htmlElement, bool) => unit = "translate"; /* experimental */
- /*let setTranslate : t_htmlElement => bool => unit = fun self value => setTranslate self (Js.Boolean.to_js_boolean value);*/ /* temproarily removed to reduce codegen size */
-
- [@bs.send.pipe : t_htmlElement] external blur : unit = "";
- [@bs.send.pipe : t_htmlElement] external click : unit = "";
- [@bs.send.pipe : t_htmlElement] external focus : unit = "";
- [@bs.send.pipe : t_htmlElement] external focusPreventScroll : ([@bs.as {json|{ "preventScroll": true }|json}] _) => unit = "focus";
- [@bs.send.pipe : t_htmlElement] external forceSpellCheck : unit = ""; /* experimental */
-
+ [@get] external draggable: t_htmlElement => bool;
+ [@set] external setDraggable: (t_htmlElement, bool) => unit = "draggable" /*let setDraggable : t_htmlElement => bool => unit = fun self value => setDraggable self (Js.Boolean.to_js_boolean value);*/; /* temproarily removed to reduce codegen size */
+ [@get] external dropzone: t_htmlElement => Dom.domSettableTokenList;
+ [@get] external hidden: t_htmlElement => bool;
+ [@set] external setHidden: (t_htmlElement, bool) => unit = "hidden" /*let setHidden : t_htmlElement => bool => unit = fun self value => setHidden self (Js.Boolean.to_js_boolean value);*/; /* temproarily removed to reduce codegen size */
+ [@get] external itemScope: t_htmlElement => bool; /* experimental */
+ [@set] external setItemScope: (t_htmlElement, bool) => unit = "itemScope" /*let setItemScope : t_htmlElement => bool => unit = fun self value => setItemScope self (Js.Boolean.to_js_boolean value);*/; /* experimental */ /* temproarily removed to reduce codegen size */
+ [@get] external itemType: t_htmlElement => Dom.domSettableTokenList; /* experimental */
+ [@get] external itemId: t_htmlElement => string; /* experimental */
+ [@set] external setItemId: (t_htmlElement, string) => unit = "itemId"; /* experimental */
+ [@get] external itemRef: t_htmlElement => Dom.domSettableTokenList; /* experimental */
+ [@get] external itemProp: t_htmlElement => Dom.domSettableTokenList; /* experimental */
+ [@get] external itemValue: t_htmlElement => Js.t({..}); /* experimental */
+ [@set] external setItemValue: (t_htmlElement, Js.t({..})) => unit = "itemValue"; /* experimental */
+ [@get] external lang: t_htmlElement => string;
+ [@set] external setLang: (t_htmlElement, string) => unit = "lang";
+ [@get] external offsetHeight: t_htmlElement => int; /* experimental */
+ [@get] external offsetLeft: t_htmlElement => int; /* experimental */
+ [@get] [@return nullable] external offsetParent: t_htmlElement => option(Dom.element); /* experimental */
+ [@get] external offsetTop: t_htmlElement => int; /* experimental, but widely supported */
+ [@get] external offsetWidth: t_htmlElement => int; /* experimental */
+ [@get] external spellcheck: t_htmlElement => bool;
+ [@set] external setSpellcheck: (t_htmlElement, bool) => unit = "spellcheck" /*let setSpellcheck : t_htmlElement => bool => unit = fun self value => setSpellcheck self (Js.Boolean.to_js_boolean value);*/; /* temproarily removed to reduce codegen size */
+ [@get] external style: t_htmlElement => Dom.cssStyleDeclaration;
+ [@set] external setStyle: (t_htmlElement, Dom.cssStyleDeclaration) => unit = "style";
+ [@get] external tabIndex: t_htmlElement => int;
+ [@set] external setTabIndex: (t_htmlElement, int) => unit = "tabIndex";
+ [@get] external title: t_htmlElement => string;
+ [@set] external setTitle: (t_htmlElement, string) => unit = "title";
+ [@get] external translate: t_htmlElement => bool; /* experimental */
+ [@set] external setTranslate: (t_htmlElement, bool) => unit = "translate" /*let setTranslate : t_htmlElement => bool => unit = fun self value => setTranslate self (Js.Boolean.to_js_boolean value);*/; /* experimental */ /* temproarily removed to reduce codegen size */
+ [@send] external blur: t_htmlElement => unit;
+ [@send] external click: t_htmlElement => unit;
+ [@send] external focus: t_htmlElement => unit;
+ [@send]
+ external focusPreventScroll:
+ (t_htmlElement, [@as {json|{ "preventScroll": true }|json}] _) => unit =
+ "focus";
+ [@send] external forceSpellCheck: t_htmlElement => unit; /* experimental */
/* TODO: element-spcific, should be pulled out */
- [@bs.get] external value : t_htmlElement => string = ""; /* HTMLInputElement */
- [@bs.get] external checked : t_htmlElement => bool = ""; /* HTMLInputElement */
- [@bs.get] external type_ : t_htmlElement => string = "type"; /* HTMLStyleElement */
- [@bs.set] external setType : (t_htmlElement, string) => unit = "type"; /* HTMLStyleElement */
- [@bs.get] external rel : t_htmlElement => string = ""; /* HTMLLinkElement */
- [@bs.set] external setRel : (t_htmlElement, string) => unit = "rel"; /* HTMLLinkElement */
- [@bs.get] external href : t_htmlElement => string = ""; /* HTMLLinkElement, HTMLAnchorElement */
- [@bs.set] external setHref : (t_htmlElement, string) => unit = "href"; /* HTMLLinkElement, HTMLAnchorElement */
+ [@get] external value: t_htmlElement => string; /* HTMLInputElement */
+ [@get] external checked: t_htmlElement => bool; /* HTMLInputElement */
+ [@get] external type_: t_htmlElement => string = "type"; /* HTMLStyleElement */
+ [@set] external setType: (t_htmlElement, string) => unit = "type"; /* HTMLStyleElement */
+ [@get] external rel: t_htmlElement => string; /* HTMLLinkElement */
+ [@set] external setRel: (t_htmlElement, string) => unit = "rel"; /* HTMLLinkElement */
+ [@get] external href: t_htmlElement => string; /* HTMLLinkElement, HTMLAnchorElement */
+ [@set] external setHref: (t_htmlElement, string) => unit = "href"; /* HTMLLinkElement, HTMLAnchorElement */
};
/* TODO
-module Tree (T: { type t; }) => {
- include ElementRe.Tree { type t = Type };
- include Impl { type t = Type };
-};
+ module Tree (T: { type t; }) => {
+ include ElementRe.Tree { type t = Type };
+ include Impl { type t = Type };
+ };
-include Tree { type t = Dom.htmlElement };
-*/
+ include Tree { type t = Dom.htmlElement };
+ */
type t = Dom.htmlElement;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__GlobalEventHandlers.Impl({ type nonrec t = t; });
-include Webapi__Dom__Element.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__GlobalEventHandlers.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Element.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__HtmlFormElement.re b/src/Webapi/Dom/Webapi__Dom__HtmlFormElement.re
index fabae957..0bb52865 100644
--- a/src/Webapi/Dom/Webapi__Dom__HtmlFormElement.re
+++ b/src/Webapi/Dom/Webapi__Dom__HtmlFormElement.re
@@ -7,39 +7,48 @@ module Impl = (T: {type t;}) => {
type t_htmlFormElement = T.t;
/* TODO: elements: HTMLFormControlsCollection */
- [@bs.get] external length : t_htmlFormElement => int = "";
- [@bs.get] external name : t_htmlFormElement => string = "";
- [@bs.set] external setName : (t_htmlFormElement, string) => unit = "name";
- [@bs.get] external method : t_htmlFormElement => string = "";
- [@bs.set] external setMethod : (t_htmlFormElement, string) => unit = "method";
- [@bs.get] external target : t_htmlFormElement => string = "";
- [@bs.set] external setTarget : (t_htmlFormElement, string) => unit = "target";
- [@bs.get] external action : t_htmlFormElement => string = "";
- [@bs.set] external setAction : (t_htmlFormElement, string) => unit = "action";
- [@bs.get] external acceptCharset : t_htmlFormElement => string = "";
- [@bs.set] external setAcceptCharset : (t_htmlFormElement, string) => unit = "acceptCharset";
- [@bs.get] external autocomplete : t_htmlFormElement => string = "";
- [@bs.set] external setAutocomplete : (t_htmlFormElement, string) => unit = "autocomplete";
- [@bs.get] external noValidate : t_htmlFormElement => bool = "";
- [@bs.set] external setNoValidate : (t_htmlFormElement, bool) => unit = "noValidate";
- [@bs.get] external enctype : t_htmlFormElement => string = "";
- [@bs.set] external setEnctype : (t_htmlFormElement, string) => unit = "enctype";
- [@bs.get] external encoding : t_htmlFormElement => string = "";
- [@bs.set] external setEncoding : (t_htmlFormElement, string) => unit = "encoding";
+ [@get] external length: t_htmlFormElement => int;
+ [@get] external name: t_htmlFormElement => string;
+ [@set] external setName: (t_htmlFormElement, string) => unit = "name";
+ [@get] external method: t_htmlFormElement => string;
+ [@set] external setMethod: (t_htmlFormElement, string) => unit = "method";
+ [@get] external target: t_htmlFormElement => string;
+ [@set] external setTarget: (t_htmlFormElement, string) => unit = "target";
+ [@get] external action: t_htmlFormElement => string;
+ [@set] external setAction: (t_htmlFormElement, string) => unit = "action";
+ [@get] external acceptCharset: t_htmlFormElement => string;
+ [@set] external setAcceptCharset: (t_htmlFormElement, string) => unit = "acceptCharset";
+ [@get] external autocomplete: t_htmlFormElement => string;
+ [@set] external setAutocomplete: (t_htmlFormElement, string) => unit = "autocomplete";
+ [@get] external noValidate: t_htmlFormElement => bool;
+ [@set] external setNoValidate: (t_htmlFormElement, bool) => unit = "noValidate";
+ [@get] external enctype: t_htmlFormElement => string;
+ [@set] external setEnctype: (t_htmlFormElement, string) => unit = "enctype";
+ [@get] external encoding: t_htmlFormElement => string;
+ [@set] external setEncoding: (t_htmlFormElement, string) => unit = "encoding";
- [@bs.send.pipe: t_htmlFormElement] external submit : unit = "";
- [@bs.send.pipe: t_htmlFormElement] external reset : unit = "";
- [@bs.send.pipe: t_htmlFormElement] external checkValidity : bool = "";
- [@bs.send.pipe: t_htmlFormElement] external reportValidity : bool = "";
+ [@send] external submit: t_htmlFormElement => unit;
+ [@send] external reset: t_htmlFormElement => unit;
+ [@send] external checkValidity: t_htmlFormElement => bool;
+ [@send] external reportValidity: t_htmlFormElement => bool;
- /** @since 0.18.0 */
- [@bs.new] external data: T.t => Fetch.FormData.t = "FormData";
+ /** @since 0.18.0 */ [@new] external data: T.t => Fetch.FormData.t = "FormData";
};
type t = Dom.htmlFormElement;
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__Element.Impl({ type nonrec t = t; });
-include Webapi__Dom__HtmlElement.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Element.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__HtmlElement.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__HtmlImageElement.re b/src/Webapi/Dom/Webapi__Dom__HtmlImageElement.re
index 589ddb8e..3ab20621 100644
--- a/src/Webapi/Dom/Webapi__Dom__HtmlImageElement.re
+++ b/src/Webapi/Dom/Webapi__Dom__HtmlImageElement.re
@@ -1,40 +1,47 @@
type t;
-[@bs.new] external make : unit => t = "Image";
-[@bs.new] external makeWithSize : (int, int) => t = "Image";
+[@new] external make: unit => t = "Image";
+[@new] external makeWithSize: (int, int) => t = "Image";
-[@bs.get] external alt : t => string = "";
-[@bs.set] external setAlt : (t, string) => unit = "alt";
-[@bs.get] external src : t => string = "";
-[@bs.set] external setSrc : (t, string) => unit = "src";
-[@bs.get] external srcset : t => string = "";
-[@bs.set] external setSrcset : (t, string) => unit = "srcset";
-[@bs.get] external sizes : t => string = "";
-[@bs.set] external setSizes : (t, string) => unit = "sizes";
-[@bs.get] [@bs.return nullable] external crossOrigin : t => option(string) = "";
-[@bs.set] external setCrossOrigin : (t, Js.null(string)) => unit = "crossOrigin";
-let setCrossOrigin = (self, value) =>
- setCrossOrigin(self, Js.Null.fromOption(value));
-[@bs.get] external useMap : t => string = "";
-[@bs.set] external setUseMap : (t, string) => unit = "useMap";
-[@bs.get] external isMap : t => bool = "";
-[@bs.set] external setIsMap : (t, bool) => unit = "isMap";
-[@bs.get] external height : t => int = "";
-[@bs.set] external setHeight : (t, int) => unit = "height";
-[@bs.get] external width : t => int = "";
-[@bs.set] external setWidth : (t, int) => unit = "width";
-[@bs.get] external naturalHeight : t => int = "";
-[@bs.get] external naturalWidth : t => int = "";
-[@bs.get] external complete : t => bool = "";
-[@bs.get] external currentSrc : t => string = "";
-[@bs.get] external referrerPolicy : t => string = "";
-[@bs.set] external setReferrerPolicy : (t, string) => unit = "referrerPolicy";
-[@bs.get] external decoding : t => string = "";
-[@bs.set] external setDecoding : (t, string) => unit = "decoding";
+[@get] external alt: t => string;
+[@set] external setAlt: (t, string) => unit = "alt";
+[@get] external src: t => string;
+[@set] external setSrc: (t, string) => unit = "src";
+[@get] external srcset: t => string;
+[@set] external setSrcset: (t, string) => unit = "srcset";
+[@get] external sizes: t => string;
+[@set] external setSizes: (t, string) => unit = "sizes";
+[@get] [@return nullable] external crossOrigin: t => option(string);
+[@set] external setCrossOrigin: (t, Js.null(string)) => unit = "crossOrigin";
+let setCrossOrigin = (self, value) => setCrossOrigin(self, Js.Null.fromOption(value));
+[@get] external useMap: t => string;
+[@set] external setUseMap: (t, string) => unit = "useMap";
+[@get] external isMap: t => bool;
+[@set] external setIsMap: (t, bool) => unit = "isMap";
+[@get] external height: t => int;
+[@set] external setHeight: (t, int) => unit = "height";
+[@get] external width: t => int;
+[@set] external setWidth: (t, int) => unit = "width";
+[@get] external naturalHeight: t => int;
+[@get] external naturalWidth: t => int;
+[@get] external complete: t => bool;
+[@get] external currentSrc: t => string;
+[@get] external referrerPolicy: t => string;
+[@set] external setReferrerPolicy: (t, string) => unit = "referrerPolicy";
+[@get] external decoding: t => string;
+[@set] external setDecoding: (t, string) => unit = "decoding";
-[@bs.send.pipe: t] external decode : Js.Promise.t(unit) = "";
+[@send] external decode: t => Js.Promise.t(unit);
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__Element.Impl({ type nonrec t = t; });
-include Webapi__Dom__HtmlElement.Impl({ type nonrec t = t; });
\ No newline at end of file
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Element.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__HtmlElement.Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__HtmlInputElement.re b/src/Webapi/Dom/Webapi__Dom__HtmlInputElement.re
index 4414599a..f011524b 100644
--- a/src/Webapi/Dom/Webapi__Dom__HtmlInputElement.re
+++ b/src/Webapi/Dom/Webapi__Dom__HtmlInputElement.re
@@ -6,103 +6,104 @@
module Impl = (T: {type t;}) => {
type t_htmlInputElement = T.t;
- [@bs.get] [@bs.return nullable] external form : t_htmlInputElement => option(Dom.htmlFormElement) = "";
- [@bs.get] external formAction : t_htmlInputElement => string = "";
- [@bs.set] external setFormAction : (t_htmlInputElement, string) => unit = "formAction";
- [@bs.get] external formEncType : t_htmlInputElement => string = "";
- [@bs.set] external setFormEncType : (t_htmlInputElement, string) => unit = "formEncType";
- [@bs.get] external formMethod : t_htmlInputElement => string = "";
- [@bs.set] external setFormMethod : (t_htmlInputElement, string) => unit = "formMethod";
- [@bs.get] external formNoValidate : t_htmlInputElement => bool = "";
- [@bs.set] external setFormNoValidate : (t_htmlInputElement, bool) => unit = "formNoValidate";
- [@bs.get] external formTarget : t_htmlInputElement => string = "";
- [@bs.set] external setFormTarget : (t_htmlInputElement, string) => unit = "formTarget";
+ [@get] [@return nullable] external form: t_htmlInputElement => option(Dom.htmlFormElement);
+ [@get] external formAction: t_htmlInputElement => string;
+ [@set] external setFormAction: (t_htmlInputElement, string) => unit = "formAction";
+ [@get] external formEncType: t_htmlInputElement => string;
+ [@set] external setFormEncType: (t_htmlInputElement, string) => unit = "formEncType";
+ [@get] external formMethod: t_htmlInputElement => string;
+ [@set] external setFormMethod: (t_htmlInputElement, string) => unit = "formMethod";
+ [@get] external formNoValidate: t_htmlInputElement => bool;
+ [@set] external setFormNoValidate: (t_htmlInputElement, bool) => unit = "formNoValidate";
+ [@get] external formTarget: t_htmlInputElement => string;
+ [@set] external setFormTarget: (t_htmlInputElement, string) => unit = "formTarget";
/* Properties that apply to any type of input element that is not hidden */
- [@bs.get] external name : t_htmlInputElement => string = "";
- [@bs.set] external setName : (t_htmlInputElement, string) => unit = "name";
- [@bs.get] external type_ : t_htmlInputElement => string = "type";
- [@bs.set] external setType : (t_htmlInputElement, string) => unit = "type";
- [@bs.get] external disabled : t_htmlInputElement => bool = "";
- [@bs.set] external setDisabled : (t_htmlInputElement, bool) => unit = "disabled";
- [@bs.get] external autofocus : t_htmlInputElement => bool = "";
- [@bs.set] external setAutofocus : (t_htmlInputElement, bool) => unit = "autofocus";
- [@bs.get] external required : t_htmlInputElement => bool = "";
- [@bs.set] external setRequired : (t_htmlInputElement, bool) => unit = "required";
- [@bs.get] external value : t_htmlInputElement => string = "";
- [@bs.set] external setValue : (t_htmlInputElement, string) => unit = "value";
- [@bs.get] external validity : t_htmlInputElement => Webapi__Dom__ValidityState.t = "";
- [@bs.get] external validationMessage : t_htmlInputElement => string = "";
- [@bs.get] external willValidate : t_htmlInputElement => bool = "";
+ [@get] external name: t_htmlInputElement => string;
+ [@set] external setName: (t_htmlInputElement, string) => unit = "name";
+ [@get] external type_: t_htmlInputElement => string = "type";
+ [@set] external setType: (t_htmlInputElement, string) => unit = "type";
+ [@get] external disabled: t_htmlInputElement => bool;
+ [@set] external setDisabled: (t_htmlInputElement, bool) => unit = "disabled";
+ [@get] external autofocus: t_htmlInputElement => bool;
+ [@set] external setAutofocus: (t_htmlInputElement, bool) => unit = "autofocus";
+ [@get] external required: t_htmlInputElement => bool;
+ [@set] external setRequired: (t_htmlInputElement, bool) => unit = "required";
+ [@get] external value: t_htmlInputElement => string;
+ [@set] external setValue: (t_htmlInputElement, string) => unit = "value";
+ [@get] external validity: t_htmlInputElement => Webapi__Dom__ValidityState.t;
+ [@get] external validationMessage: t_htmlInputElement => string;
+ [@get] external willValidate: t_htmlInputElement => bool;
/* Properties that apply only to elements of type "checkbox" or "radio" */
- [@bs.get] external checked : t_htmlInputElement => bool = "";
- [@bs.set] external setChecked : (t_htmlInputElement, bool) => unit = "checked";
- [@bs.get] external defaultChecked : t_htmlInputElement => bool = "";
- [@bs.set] external setDefaultChecked : (t_htmlInputElement, bool) => unit = "defaultChecked";
- [@bs.get] external indeterminate : t_htmlInputElement => bool = "";
- [@bs.set] external setIndeterminate : (t_htmlInputElement, bool) => unit = "indeterminate";
+ [@get] external checked: t_htmlInputElement => bool;
+ [@set] external setChecked: (t_htmlInputElement, bool) => unit = "checked";
+ [@get] external defaultChecked: t_htmlInputElement => bool;
+ [@set] external setDefaultChecked: (t_htmlInputElement, bool) => unit = "defaultChecked";
+ [@get] external indeterminate: t_htmlInputElement => bool;
+ [@set] external setIndeterminate: (t_htmlInputElement, bool) => unit = "indeterminate";
/* Properties that apply only to elements of type "image" */
- [@bs.get] external alt : t_htmlInputElement => string = "";
- [@bs.set] external setAlt : (t_htmlInputElement, string) => unit = "alt";
- [@bs.get] external height : t_htmlInputElement => string = "";
- [@bs.set] external setHeight : (t_htmlInputElement, string) => unit = "height";
- [@bs.get] external src : t_htmlInputElement => string = "";
- [@bs.set] external setSrc : (t_htmlInputElement, string) => unit = "src";
- [@bs.get] external width : t_htmlInputElement => string = "";
- [@bs.set] external setWidth : (t_htmlInputElement, string) => unit = "width";
+ [@get] external alt: t_htmlInputElement => string;
+ [@set] external setAlt: (t_htmlInputElement, string) => unit = "alt";
+ [@get] external height: t_htmlInputElement => string;
+ [@set] external setHeight: (t_htmlInputElement, string) => unit = "height";
+ [@get] external src: t_htmlInputElement => string;
+ [@set] external setSrc: (t_htmlInputElement, string) => unit = "src";
+ [@get] external width: t_htmlInputElement => string;
+ [@set] external setWidth: (t_htmlInputElement, string) => unit = "width";
/* Properties that apply only to elements of type "file" */
- [@bs.get] external accept : t_htmlInputElement => string = "";
- [@bs.set] external setAccept : (t_htmlInputElement, string) => unit = "accept";
+ [@get] external accept: t_htmlInputElement => string;
+ [@set] external setAccept: (t_htmlInputElement, string) => unit = "accept";
/* TODO: files: Returns/accepts a FileList object. */
/* Properties that apply only to text/number-containing or elements */
- [@bs.get] external autocomplete : t_htmlInputElement => string = "";
- [@bs.set] external setAutocomplete : (t_htmlInputElement, string) => unit = "autocomplete";
- [@bs.get] external maxLength : t_htmlInputElement => int = "";
- [@bs.set] external setMaxLength : (t_htmlInputElement, int) => unit = "maxLength";
- [@bs.get] external minLength : t_htmlInputElement => int = "";
- [@bs.set] external setMinLength : (t_htmlInputElement, int) => unit = "minLength";
- [@bs.get] external size : t_htmlInputElement => int = "";
- [@bs.set] external setSize : (t_htmlInputElement, int) => unit = "size";
- [@bs.get] external pattern : t_htmlInputElement => string = "";
- [@bs.set] external setPattern : (t_htmlInputElement, string) => unit = "pattern";
- [@bs.get] external placeholder : t_htmlInputElement => string = "";
- [@bs.set] external setPlaceholder : (t_htmlInputElement, string) => unit = "placeholder";
- [@bs.get] external readOnly : t_htmlInputElement => bool = "";
- [@bs.set] external setReadOnly : (t_htmlInputElement, bool) => unit = "readOnly";
- [@bs.get] external min : t_htmlInputElement => string = "";
- [@bs.set] external setMin : (t_htmlInputElement, string) => unit = "min";
- [@bs.get] external max : t_htmlInputElement => string = "";
- [@bs.set] external setMax : (t_htmlInputElement, string) => unit = "max";
- [@bs.get] external selectionStart : t_htmlInputElement => int = "";
- [@bs.set] external setSelectionStart : (t_htmlInputElement, int) => unit = "selectionStart";
- [@bs.get] external selectionEnd : t_htmlInputElement => int = "";
- [@bs.set] external setSelectionEnd : (t_htmlInputElement, int) => unit = "selectionEnd";
- [@bs.get] external selectionDirection : t_htmlInputElement => string = "";
- [@bs.set] external setSelectionDirection : (t_htmlInputElement, string) => unit = "selectionDirection";
+ [@get] external autocomplete: t_htmlInputElement => string;
+ [@set] external setAutocomplete: (t_htmlInputElement, string) => unit = "autocomplete";
+ [@get] external maxLength: t_htmlInputElement => int;
+ [@set] external setMaxLength: (t_htmlInputElement, int) => unit = "maxLength";
+ [@get] external minLength: t_htmlInputElement => int;
+ [@set] external setMinLength: (t_htmlInputElement, int) => unit = "minLength";
+ [@get] external size: t_htmlInputElement => int;
+ [@set] external setSize: (t_htmlInputElement, int) => unit = "size";
+ [@get] external pattern: t_htmlInputElement => string;
+ [@set] external setPattern: (t_htmlInputElement, string) => unit = "pattern";
+ [@get] external placeholder: t_htmlInputElement => string;
+ [@set] external setPlaceholder: (t_htmlInputElement, string) => unit = "placeholder";
+ [@get] external readOnly: t_htmlInputElement => bool;
+ [@set] external setReadOnly: (t_htmlInputElement, bool) => unit = "readOnly";
+ [@get] external min: t_htmlInputElement => string;
+ [@set] external setMin: (t_htmlInputElement, string) => unit = "min";
+ [@get] external max: t_htmlInputElement => string;
+ [@set] external setMax: (t_htmlInputElement, string) => unit = "max";
+ [@get] external selectionStart: t_htmlInputElement => int;
+ [@set] external setSelectionStart: (t_htmlInputElement, int) => unit = "selectionStart";
+ [@get] external selectionEnd: t_htmlInputElement => int;
+ [@set] external setSelectionEnd: (t_htmlInputElement, int) => unit = "selectionEnd";
+ [@get] external selectionDirection: t_htmlInputElement => string;
+ [@set]
+ external setSelectionDirection: (t_htmlInputElement, string) => unit = "selectionDirection";
/* Properties not yet categorized */
- [@bs.get] external defaultValue : t_htmlInputElement => string = "";
- [@bs.set] external setDefaultValue : (t_htmlInputElement, string) => unit = "defaultValue";
- [@bs.get] external dirName : t_htmlInputElement => string = "";
- [@bs.set] external setDirName : (t_htmlInputElement, string) => unit = "dirName";
- [@bs.get] external accessKey : t_htmlInputElement => string = "";
- [@bs.set] external setAccessKey : (t_htmlInputElement, string) => unit = "accessKey";
- [@bs.get] [@bs.return nullable] external list : t_htmlInputElement => option(Dom.htmlElement) = "";
- [@bs.get] external multiple : t_htmlInputElement => bool = "";
- [@bs.set] external setMultiple : (t_htmlInputElement, bool) => unit = "multiple";
+ [@get] external defaultValue: t_htmlInputElement => string;
+ [@set] external setDefaultValue: (t_htmlInputElement, string) => unit = "defaultValue";
+ [@get] external dirName: t_htmlInputElement => string;
+ [@set] external setDirName: (t_htmlInputElement, string) => unit = "dirName";
+ [@get] external accessKey: t_htmlInputElement => string;
+ [@set] external setAccessKey: (t_htmlInputElement, string) => unit = "accessKey";
+ [@get] [@return nullable] external list: t_htmlInputElement => option(Dom.htmlElement);
+ [@get] external multiple: t_htmlInputElement => bool;
+ [@set] external setMultiple: (t_htmlInputElement, bool) => unit = "multiple";
/* TODO: files: FileList array. Returns the list of selected files. */
- [@bs.get] external labels : t_htmlInputElement => array(Dom.nodeList) = "";
- [@bs.get] external step : t_htmlInputElement => string = "";
- [@bs.set] external setStep : (t_htmlInputElement, string) => unit = "step";
- [@bs.get] [@bs.return nullable] external valueAsDate : t_htmlInputElement => option(Js.Date.t) = "";
- [@bs.set] external setValueAsDate : (t_htmlInputElement, Js.Date.t) => unit = "valueAsDate";
- [@bs.get] external valueAsNumber : t_htmlInputElement => float = "";
+ [@get] external labels: t_htmlInputElement => array(Dom.nodeList);
+ [@get] external step: t_htmlInputElement => string;
+ [@set] external setStep: (t_htmlInputElement, string) => unit = "step";
+ [@get] [@return nullable] external valueAsDate: t_htmlInputElement => option(Js.Date.t);
+ [@set] external setValueAsDate: (t_htmlInputElement, Js.Date.t) => unit = "valueAsDate";
+ [@get] external valueAsNumber: t_htmlInputElement => float;
- [@bs.send.pipe: t_htmlInputElement] external select : unit = "";
+ [@send] external select: t_htmlInputElement => unit;
module SelectionDirection = {
type t =
@@ -117,10 +118,16 @@ module Impl = (T: {type t;}) => {
| None => "none";
};
- [@bs.send.pipe: t_htmlInputElement] external setSelectionRange : (int, int) => unit = "";
- [@bs.send.pipe: t_htmlInputElement] external setSelectionRangeWithDirection_ : (int, int, string) => unit = "setSelectionRange";
+ [@send] external setSelectionRange: (t_htmlInputElement, int, int) => unit;
+ [@send]
+ external setSelectionRangeWithDirection_: (t_htmlInputElement, int, int, string) => unit =
+ "setSelectionRange";
let setSelectionRangeWithDirection = (selectionStart, selectionEnd, selectionDirection, element) =>
- element |> setSelectionRangeWithDirection_(selectionStart, selectionEnd, selectionDirection |> SelectionDirection.toString);
+ element->setSelectionRangeWithDirection_(
+ selectionStart,
+ selectionEnd,
+ selectionDirection->SelectionDirection.toString,
+ );
module SelectionMode = {
type t =
@@ -137,25 +144,47 @@ module Impl = (T: {type t;}) => {
| Preserve => "preserve";
};
- [@bs.send.pipe: t_htmlInputElement] external setRangeTextWithinSelection : string => unit = "setRangeText";
- [@bs.send.pipe: t_htmlInputElement] external setRangeTextWithinInterval : (string, int, int) => unit = "setRangeText";
- [@bs.send.pipe: t_htmlInputElement] external setRangeTextWithinIntervalWithSelectionMode_ : (string, int, int, string) => unit = "setRangeText";
- let setRangeTextWithinIntervalWithSelectionMode = (text, selectionStart, selectionEnd, selectionMode, element) =>
- element |> setRangeTextWithinIntervalWithSelectionMode_(text, selectionStart, selectionEnd, selectionMode |> SelectionMode.toString);
-
- [@bs.send.pipe: t_htmlInputElement] external setCustomValidity : string => unit = "";
- [@bs.send.pipe: t_htmlInputElement] external checkValidity : bool = "";
- [@bs.send.pipe: t_htmlInputElement] external reportValidity : bool = "";
- [@bs.send.pipe: t_htmlInputElement] external stepDownBy : int => unit = "stepDown";
- [@bs.send.pipe: t_htmlInputElement] external stepDownByOne : unit = "stepDown";
- [@bs.send.pipe: t_htmlInputElement] external stepUpBy : int => unit = "stepUp";
- [@bs.send.pipe: t_htmlInputElement] external stepUpByOne : unit = "stepUp";
+ [@send]
+ external setRangeTextWithinSelection: (t_htmlInputElement, string) => unit = "setRangeText";
+ [@send]
+ external setRangeTextWithinInterval: (t_htmlInputElement, string, int, int) => unit =
+ "setRangeText";
+ [@send]
+ external setRangeTextWithinIntervalWithSelectionMode_:
+ (t_htmlInputElement, string, int, int, string) => unit =
+ "setRangeText";
+ let setRangeTextWithinIntervalWithSelectionMode =
+ (text, selectionStart, selectionEnd, selectionMode, element) =>
+ element->setRangeTextWithinIntervalWithSelectionMode_(
+ text,
+ selectionStart,
+ selectionEnd,
+ selectionMode->SelectionMode.toString,
+ );
+
+ [@send] external setCustomValidity: (t_htmlInputElement, string) => unit;
+ [@send] external checkValidity: t_htmlInputElement => bool;
+ [@send] external reportValidity: t_htmlInputElement => bool;
+ [@send] external stepDownBy: (t_htmlInputElement, int) => unit = "stepDown";
+ [@send] external stepDownByOne: t_htmlInputElement => unit = "stepDown";
+ [@send] external stepUpBy: (t_htmlInputElement, int) => unit = "stepUp";
+ [@send] external stepUpByOne: t_htmlInputElement => unit = "stepUp";
};
type t = Dom.htmlInputElement;
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__Element.Impl({ type nonrec t = t; });
-include Webapi__Dom__HtmlElement.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Element.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__HtmlElement.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__IdbVersionChangeEvent.re b/src/Webapi/Dom/Webapi__Dom__IdbVersionChangeEvent.re
index 2b58ab70..3eff004e 100644
--- a/src/Webapi/Dom/Webapi__Dom__IdbVersionChangeEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__IdbVersionChangeEvent.re
@@ -1,9 +1,11 @@
type t = Dom.idbVersionChangeEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "IDBVersionChangeEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "IDBVersionChangeEvent";
+[@new] external make: string => t = "IDBVersionChangeEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "IDBVersionChangeEvent";
-[@bs.get] external oldVersion : t => int = "";
-[@bs.get] external newVersion : t => int = "";
+[@get] external oldVersion: t => int;
+[@get] external newVersion: t => int;
diff --git a/src/Webapi/Dom/Webapi__Dom__Image.re b/src/Webapi/Dom/Webapi__Dom__Image.re
index ddfebc2e..ac3e8efe 100644
--- a/src/Webapi/Dom/Webapi__Dom__Image.re
+++ b/src/Webapi/Dom/Webapi__Dom__Image.re
@@ -1,9 +1,12 @@
type t;
-[@bs.new] external makeWithData : (~array: Js.Typed_array.Uint8ClampedArray.t, ~width: float, ~height: float) => t = "ImageData";
+[@new]
+external makeWithData:
+ (~array: Js.Typed_array.Uint8ClampedArray.t, ~width: float, ~height: float) => t =
+ "ImageData";
-[@bs.new] external make : (~width: float, ~height: float) => t = "ImageData";
+[@new] external make: (~width: float, ~height: float) => t = "ImageData";
-[@bs.get] external data : t => Js.Typed_array.Uint8ClampedArray.t = "";
-[@bs.get] external height : t => float = "";
-[@bs.get] external width : t => float = "";
+[@get] external data: t => Js.Typed_array.Uint8ClampedArray.t;
+[@get] external height: t => float;
+[@get] external width: t => float;
diff --git a/src/Webapi/Dom/Webapi__Dom__InputEvent.re b/src/Webapi/Dom/Webapi__Dom__InputEvent.re
index 5e85b4b9..87a38f8c 100644
--- a/src/Webapi/Dom/Webapi__Dom__InputEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__InputEvent.re
@@ -1,10 +1,14 @@
type t = Dom.inputEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "InputEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "InputEvent";
+[@new] external make: string => t = "InputEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "InputEvent";
-[@bs.get] external data : t => string = "";
-[@bs.get] external isComposing : t => bool = "";
+[@get] external data: t => string;
+[@get] external isComposing: t => bool;
diff --git a/src/Webapi/Dom/Webapi__Dom__KeyboardEvent.re b/src/Webapi/Dom/Webapi__Dom__KeyboardEvent.re
index 81e6e30a..1f2ed715 100644
--- a/src/Webapi/Dom/Webapi__Dom__KeyboardEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__KeyboardEvent.re
@@ -1,22 +1,26 @@
type t = Dom.keyboardEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "KeyboardEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "KeyboardEvent";
+[@new] external make: string => t = "KeyboardEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "KeyboardEvent";
-[@bs.get] external altKey : t => bool = "";
-[@bs.get] external code : t => string = "";
-[@bs.get] external ctrlKey : t => bool = "";
-[@bs.get] external isComposing : t => bool = "";
-[@bs.get] external key : t => string = "";
-[@bs.get] external locale : t => string = "";
-[@bs.get] external location : t => int = "";
-[@bs.get] external metaKey : t => bool = "";
-[@bs.get] external repeat : t => bool = "";
-[@bs.get] external shiftKey : t => bool = "";
+[@get] external altKey: t => bool;
+[@get] external code: t => string;
+[@get] external ctrlKey: t => bool;
+[@get] external isComposing: t => bool;
+[@get] external key: t => string;
+[@get] external locale: t => string;
+[@get] external location: t => int;
+[@get] external metaKey: t => bool;
+[@get] external repeat: t => bool;
+[@get] external shiftKey: t => bool;
-[@bs.send.pipe : t] external getModifierState : string /* modifierKey enum */ => bool = "";
-let getModifierState: (Webapi__Dom__Types.modifierKey, t) => bool =
- (key, self) => getModifierState(Webapi__Dom__Types.encodeModifierKey(key), self);
+[@send] external getModifierState: (t, string /* modifierKey enum */) => bool;
+let getModifierState: (t, Webapi__Dom__Types.modifierKey) => bool =
+ (self, key) => self->getModifierState(Webapi__Dom__Types.encodeModifierKey(key));
diff --git a/src/Webapi/Dom/Webapi__Dom__Location.re b/src/Webapi/Dom/Webapi__Dom__Location.re
index db539dda..0f700293 100644
--- a/src/Webapi/Dom/Webapi__Dom__Location.re
+++ b/src/Webapi/Dom/Webapi__Dom__Location.re
@@ -1,30 +1,30 @@
type t = Dom.location;
/* a more ergonomic API would perhaps accept a Window.t directly instead of Location.t */
-[@bs.get] external href : t => string = "";
-[@bs.set] external setHref : (t, string) => unit = "href";
-[@bs.get] external protocol : t => string = "";
-[@bs.set] external setProtocol : (t, string) => unit = "protocol";
-[@bs.get] external host : t => string = "";
-[@bs.set] external setHost : (t, string) => unit = "host";
-[@bs.get] external hostname : t => string = "";
-[@bs.set] external setHostname : (t, string) => unit = "hostname";
-[@bs.get] external port : t => string = "";
-[@bs.set] external setPort : (t, string) => unit = "port";
-[@bs.get] external pathname : t => string = "";
-[@bs.set] external setPathname : (t, string) => unit = "pathname";
-[@bs.get] external search : t => string = "";
-[@bs.set] external setSearch : (t, string) => unit = "search";
-[@bs.get] external hash : t => string = "";
-[@bs.set] external setHash : (t, string) => unit = "hash";
-[@bs.get] external username : t => string = "";
-[@bs.set] external setUsername : (t, string) => unit = "username";
-[@bs.get] external password : t => string = "";
-[@bs.set] external setPassword : (t, string) => unit = "password";
-[@bs.get] external origin : t => string = "";
+[@get] external href: t => string;
+[@set] external setHref: (t, string) => unit = "href";
+[@get] external protocol: t => string;
+[@set] external setProtocol: (t, string) => unit = "protocol";
+[@get] external host: t => string;
+[@set] external setHost: (t, string) => unit = "host";
+[@get] external hostname: t => string;
+[@set] external setHostname: (t, string) => unit = "hostname";
+[@get] external port: t => string;
+[@set] external setPort: (t, string) => unit = "port";
+[@get] external pathname: t => string;
+[@set] external setPathname: (t, string) => unit = "pathname";
+[@get] external search: t => string;
+[@set] external setSearch: (t, string) => unit = "search";
+[@get] external hash: t => string;
+[@set] external setHash: (t, string) => unit = "hash";
+[@get] external username: t => string;
+[@set] external setUsername: (t, string) => unit = "username";
+[@get] external password: t => string;
+[@set] external setPassword: (t, string) => unit = "password";
+[@get] external origin: t => string;
-[@bs.send.pipe : t] external assign : string => unit = "";
-[@bs.send.pipe : t] external reload : unit = "";
-[@bs.send.pipe : t] external reloadWithForce : ([@bs.as {json|true|json}] _) => unit = "reload";
-[@bs.send.pipe : t] external replace : string => unit = "";
-[@bs.send.pipe : t] external toString : string = "";
+[@send] external assign: (t, string) => unit;
+[@send] external reload: t => unit;
+[@send] external reloadWithForce: (t, [@as {json|true|json}] _) => unit = "reload";
+[@send] external replace: (t, string) => unit;
+[@send] external toString: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__MouseEvent.re b/src/Webapi/Dom/Webapi__Dom__MouseEvent.re
index 3d3a0646..ae4287a0 100644
--- a/src/Webapi/Dom/Webapi__Dom__MouseEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__MouseEvent.re
@@ -1,34 +1,40 @@
module Impl = (T: {type t;}) => {
- [@bs.get] external altKey : T.t => bool = "";
- [@bs.get] external button : T.t => int = "";
- [@bs.get] external buttons : T.t => int /* bitmask */ = "";
- [@bs.get] external clientX : T.t => int = "";
- [@bs.get] external clientY : T.t => int = "";
- [@bs.get] external ctrlKey : T.t => bool = "";
- [@bs.get] external metaKey : T.t => bool = "";
- [@bs.get] external movementX : T.t => int = "";
- [@bs.get] external movementY : T.t => int = "";
- [@bs.get] external offsetX : T.t => int = ""; /* experimental, but widely supported */
- [@bs.get] external offsetY : T.t => int = ""; /* experimental, but widely supported */
- [@bs.get] external pageX : T.t => int = ""; /* experimental, but widely supported */
- [@bs.get] external pageY : T.t => int = ""; /* experimental, but widely supported */
- [@bs.get] [@bs.return nullable] external region : T.t => option(string) = "";
- [@bs.get] [@bs.return nullable] external relatedTarget : T.t => option(Dom.eventTarget) = "";
- [@bs.get] external screenX : T.t => int = "";
- [@bs.get] external screenY : T.t => int = "";
- [@bs.get] external shiftKey : T.t => bool = "";
- [@bs.get] external x : T.t => int = ""; /* experimental */
- [@bs.get] external y : T.t => int = ""; /* experimental */
- [@bs.send.pipe : T.t] external getModifierState : string /* modifierKey enum */ => bool = "";
- let getModifierState: (Webapi__Dom__Types.modifierKey, T.t) => bool =
- (key, self) => getModifierState(Webapi__Dom__Types.encodeModifierKey(key), self);
+ [@get] external altKey: T.t => bool;
+ [@get] external button: T.t => int;
+ [@get] external buttons: T.t => int /* bitmask */;
+ [@get] external clientX: T.t => int;
+ [@get] external clientY: T.t => int;
+ [@get] external ctrlKey: T.t => bool;
+ [@get] external metaKey: T.t => bool;
+ [@get] external movementX: T.t => int;
+ [@get] external movementY: T.t => int;
+ [@get] external offsetX: T.t => int; /* experimental, but widely supported */
+ [@get] external offsetY: T.t => int; /* experimental, but widely supported */
+ [@get] external pageX: T.t => int; /* experimental, but widely supported */
+ [@get] external pageY: T.t => int; /* experimental, but widely supported */
+ [@get] [@return nullable] external region: T.t => option(string);
+ [@get] [@return nullable] external relatedTarget: T.t => option(Dom.eventTarget);
+ [@get] external screenX: T.t => int;
+ [@get] external screenY: T.t => int;
+ [@get] external shiftKey: T.t => bool;
+ [@get] external x: T.t => int; /* experimental */
+ [@get] external y: T.t => int; /* experimental */
+ [@send] external getModifierState: (T.t, string /* modifierKey enum */) => bool;
+ let getModifierState: (T.t, Webapi__Dom__Types.modifierKey) => bool =
+ (self, key) => self->getModifierState(Webapi__Dom__Types.encodeModifierKey(key));
};
type t = Dom.mouseEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "MouseEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "MouseEvent";
+[@new] external make: string => t = "MouseEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "MouseEvent";
diff --git a/src/Webapi/Dom/Webapi__Dom__MutationObserver.re b/src/Webapi/Dom/Webapi__Dom__MutationObserver.re
index b41c6811..6ec1ab71 100644
--- a/src/Webapi/Dom/Webapi__Dom__MutationObserver.re
+++ b/src/Webapi/Dom/Webapi__Dom__MutationObserver.re
@@ -1,7 +1,7 @@
type t = Dom.mutationObserver;
-[@bs.new] external make : ((array(Dom.mutationRecord), t) => unit) => t = "MutationObserver";
+[@new] external make: ((array(Dom.mutationRecord), t) => unit) => t = "MutationObserver";
-[@bs.send.pipe : t] external observe : (Dom.node_like('a), Js.t({..})) => unit = "";
-[@bs.send.pipe : t] external disconnect : unit = "";
-[@bs.send.pipe : t] external takeRecords : array(Dom.mutationRecord) = "";
+[@send] external observe: (t, Dom.node_like('a), Js.t({..})) => unit;
+[@send] external disconnect: t => unit;
+[@send] external takeRecords: t => array(Dom.mutationRecord);
diff --git a/src/Webapi/Dom/Webapi__Dom__MutationRecord.re b/src/Webapi/Dom/Webapi__Dom__MutationRecord.re
index 03091ee9..eb3feef2 100644
--- a/src/Webapi/Dom/Webapi__Dom__MutationRecord.re
+++ b/src/Webapi/Dom/Webapi__Dom__MutationRecord.re
@@ -1,11 +1,11 @@
type t = Dom.mutationRecord;
-[@bs.get] external type_ : t => string = "type";
-[@bs.get] external target : t => Dom.node = "";
-[@bs.get] external addedNodes : t => Dom.nodeList = "";
-[@bs.get] external removedNodes : t => Dom.nodeList = "";
-[@bs.get] [@bs.return nullable] external previousSibling : t => option(Dom.node) = "";
-[@bs.get] [@bs.return nullable] external pnextSibling : t => option(Dom.node) = "";
-[@bs.get] external attributeName : t => string = "";
-[@bs.get] external attributeNamespace : t => string = "";
-[@bs.get] external oldValue : t => string = "";
+[@get] external type_: t => string = "type";
+[@get] external target: t => Dom.node;
+[@get] external addedNodes: t => Dom.nodeList;
+[@get] external removedNodes: t => Dom.nodeList;
+[@get] [@return nullable] external previousSibling: t => option(Dom.node);
+[@get] [@return nullable] external pnextSibling: t => option(Dom.node);
+[@get] external attributeName: t => string;
+[@get] external attributeNamespace: t => string;
+[@get] external oldValue: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__NamedNodeMap.re b/src/Webapi/Dom/Webapi__Dom__NamedNodeMap.re
index 4f216285..535c625c 100644
--- a/src/Webapi/Dom/Webapi__Dom__NamedNodeMap.re
+++ b/src/Webapi/Dom/Webapi__Dom__NamedNodeMap.re
@@ -1,13 +1,13 @@
type t = Dom.namedNodeMap;
-[@bs.get] external length : t => int = "";
+[@get] external length: t => int;
-[@bs.send.pipe : t] [@bs.return nullable] external item : int => option(Dom.attr) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external getNamedItem : string => option(Dom.attr) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external getNamedItemNS : (string, string) => option(Dom.attr) = "";
-[@bs.send.pipe : t] external setNamedItem : Dom.attr => unit = "";
-[@bs.send.pipe : t] external setNamedItemNS : Dom.attr => unit = "";
-[@bs.send.pipe : t] external removeNamedItem : string => Dom.attr = "";
-[@bs.send.pipe : t] external removeNamedItemNS : (string, string) => Dom.attr = "";
+[@send] [@return nullable] external item: (t, int) => option(Dom.attr);
+[@send] [@return nullable] external getNamedItem: (t, string) => option(Dom.attr);
+[@send] [@return nullable] external getNamedItemNS: (t, string, string) => option(Dom.attr);
+[@send] external setNamedItem: (t, Dom.attr) => unit;
+[@send] external setNamedItemNS: (t, Dom.attr) => unit;
+[@send] external removeNamedItem: (t, string) => Dom.attr;
+[@send] external removeNamedItemNS: (t, string, string) => Dom.attr;
-[@bs.val] [@bs.scope ("Array", "prototype", "slice")] external toArray : t => array(Dom.attr) = "call";
+[@val] [@scope ("Array", "prototype", "slice")] external toArray: t => array(Dom.attr) = "call";
diff --git a/src/Webapi/Dom/Webapi__Dom__Node.re b/src/Webapi/Dom/Webapi__Dom__Node.re
index 92bae2dc..84a27c03 100644
--- a/src/Webapi/Dom/Webapi__Dom__Node.re
+++ b/src/Webapi/Dom/Webapi__Dom__Node.re
@@ -1,59 +1,65 @@
module Impl = (T: {type t;}) => {
- external asNode : T.t => Dom.node = "%identity";
+ external asNode: T.t => Dom.node = "%identity";
/* baseURI */
- [@bs.get] external childNodes : T.t => Dom.nodeList = "";
- [@bs.get] [@bs.return nullable] external firstChild : T.t => option(Dom.node) = "";
- [@bs.get] external innerText : T.t => string = "";
- [@bs.set] external setInnerText : (T.t, string) => unit = "innerText";
- [@bs.get] [@bs.return nullable] external lastChild : T.t => option(Dom.node) = "";
- [@bs.get] [@bs.return nullable] external nextSibling : T.t => option(Dom.node) = "";
- [@bs.get] external nodeName : T.t => string = ""; /* nodePrincipal */
- [@bs.get] external nodeType : T.t => int /* nodeType enum */ = "";
- let nodeType: T.t => Webapi__Dom__Types.nodeType = (self) => Webapi__Dom__Types.decodeNodeType(nodeType(self));
- [@bs.get] [@bs.return nullable] external nodeValue : T.t => option(string) = "";
- [@bs.set] external setNodeValue : (T.t, Js.null(string)) => unit = "nodeValue";
- /* let setNodeValue : T.t => option string => unit = fun self value => setNodeValue self (Js.Null.fromOption value); */ /* temporarily removed to reduce codegen size */
+ [@get] external childNodes: T.t => Dom.nodeList;
+ [@get] [@return nullable] external firstChild: T.t => option(Dom.node);
+ [@get] external innerText: T.t => string;
+ [@set] external setInnerText: (T.t, string) => unit = "innerText";
+ [@get] [@return nullable] external lastChild: T.t => option(Dom.node);
+ [@get] [@return nullable] external nextSibling: T.t => option(Dom.node);
+ [@get] external nodeName: T.t => string; /* nodePrincipal */
+ [@get] external nodeType: T.t => int /* nodeType enum */;
+ let nodeType: T.t => Webapi__Dom__Types.nodeType =
+ self => Webapi__Dom__Types.decodeNodeType(nodeType(self));
+ [@get] [@return nullable] external nodeValue: T.t => option(string);
+ [@set] external setNodeValue: (T.t, Js.null(string)) => unit = "nodeValue" /* let setNodeValue : T.t => option string => unit = fun self value => setNodeValue self (Js.Null.fromOption value); */; /* temporarily removed to reduce codegen size */
/* Not supported yet
- external setNodeValue : T.t => string => unit = "nodeValue" [@@bs.set];
- external clearNodeValue : T.t => _ [@bs.as {json|null|json}] => unit = "nodeValue" [@@bs.set];
- */
+ [@set] external setNodeValue : T.t => string => unit = "nodeValue";
+ [@set] external clearNodeValue : T.t => _ [@as {json|null|json}] => unit = "nodeValue";
+ */
/* outerText */
- [@bs.get] external ownerDocument : T.t => Dom.document = "";
- [@bs.get] [@bs.return nullable] external parentElement : T.t => option(Dom.element) = "";
- [@bs.get] [@bs.return nullable] external parentNode : T.t => option(Dom.node) = "";
- [@bs.get] [@bs.return nullable] external previousSibling : T.t => option(Dom.node) = "";
- [@bs.get] external rootNode : T.t => Dom.node = "";
- [@bs.get] external textContent : T.t => string = "";
- [@bs.set] external setTextContent : (T.t, string) => unit = "textContent";
+ [@get] external ownerDocument: T.t => Dom.document;
+ [@get] [@return nullable] external parentElement: T.t => option(Dom.element);
+ [@get] [@return nullable] external parentNode: T.t => option(Dom.node);
+ [@get] [@return nullable] external previousSibling: T.t => option(Dom.node);
+ [@get] external rootNode: T.t => Dom.node;
+ [@get] external textContent: T.t => string;
+ [@set] external setTextContent: (T.t, string) => unit = "textContent";
- [@bs.send.pipe : T.t] external appendChild : Dom.node_like('a) => unit = "";
- [@bs.send.pipe : T.t] external cloneNode : T.t = "";
- [@bs.send.pipe : T.t] external cloneNodeDeep : ([@bs.as {json|true|json}] _) => T.t = "cloneNode";
- [@bs.send.pipe : T.t] external compareDocumentPosition : Dom.node_like('a) => int = ""; /* returns a bitmask which could also be represeneted as an enum, see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition */
- [@bs.send.pipe : T.t] external contains : Dom.node_like('a) => bool = "";
- [@bs.send.pipe : T.t] external getRootNode : Dom.node = "";
- [@bs.send.pipe : T.t] external getRootNodeComposed : ([@bs.as {json|{ "composed": true }|json}] _) => Dom.node = "getRootNode";
- [@bs.send.pipe : T.t] external hasChildNodes : bool = "";
- [@bs.send.pipe : T.t] external insertBefore : (Dom.node_like('a), Dom.node_like('b)) => Dom.node_like('a) = "";
- /* (temporarily?) removed to reduce codegen size. This variant is just for convenience, `appendChild` can be used in place of passing `null` to `insertBefore`
- external insertBefore : Dom.node_like 'a => Js.null (Dom.node_like 'b) => Dom.node_like 'a = "" [@@bs.send.pipe: T.t];
- let insertBefore : Dom.node_like 'a => option (Dom.node_like 'b) => T.t => Dom.node_like 'a = fun node reference self => insertBefore node (Js.Null.fromOption reference) self;
- */
- [@bs.send.pipe : T.t] external isDefaultNamespace : string => bool = "";
- [@bs.send.pipe : T.t] external isEqualNode : Dom.node_like('a) => bool = "";
- [@bs.send.pipe : T.t] external isSameNode : Dom.node_like('a) => bool = "";
- [@bs.send.pipe : T.t] [@bs.return nullable] external lookupNamespaceURI : string => option(string) = "";
- [@bs.send.pipe : T.t] [@bs.return nullable] external lookupDefaultNamespaceURI : ([@bs.as {json|null|json}] _) => option(string) = "lookupNamespaceURI";
- [@bs.send.pipe : T.t] external lookupPrefix : string = "lookupPrefix";
- [@bs.send.pipe : T.t] external normalize : unit = "";
- [@bs.send.pipe : T.t] external removeChild : Dom.node_like('a) => Dom.node_like('a) = "";
+ [@send] external appendChild: (T.t, Dom.node_like('a)) => unit;
+ [@send] external cloneNode: T.t => T.t;
+ [@send] external cloneNodeDeep: (T.t, [@as {json|true|json}] _) => T.t = "cloneNode";
+ [@send] external compareDocumentPosition: (T.t, Dom.node_like('a)) => int; /* returns a bitmask which could also be represeneted as an enum, see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition */
+ [@send] external contains: (T.t, Dom.node_like('a)) => bool;
+ [@send] external getRootNode: T.t => Dom.node;
+ [@send]
+ external getRootNodeComposed: (T.t, [@as {json|{ "composed": true }|json}] _) => Dom.node =
+ "getRootNode";
+ [@send] external hasChildNodes: T.t => bool;
+ [@send]
+ external insertBefore: (T.t, Dom.node_like('a), Dom.node_like('b)) => Dom.node_like('a);
+ [@send] external isDefaultNamespace: (T.t, string) => bool;
+ [@send] external isEqualNode: (T.t, Dom.node_like('a)) => bool;
+ [@send] external isSameNode: (T.t, Dom.node_like('a)) => bool;
+ [@send] [@return nullable] external lookupNamespaceURI: (T.t, string) => option(string);
+ [@send] [@return nullable]
+ external lookupDefaultNamespaceURI: (T.t, [@as {json|null|json}] _) => option(string) =
+ "lookupNamespaceURI";
+ [@send] external lookupPrefix: T.t => string = "lookupPrefix";
+ [@send] external normalize: T.t => unit;
+ [@send] external removeChild: (T.t, Dom.node_like('a)) => Dom.node_like('a);
/** @since 0.19.0 */
- [@bs.send.pipe : T.t] external replaceChild : (Dom.node_like('a), Dom.node_like('b)) => Dom.node_like('b) = "";
+ [@send]
+ external replaceChild: (T.t, Dom.node_like('a), Dom.node_like('b)) => Dom.node_like('b);
};
type t = Dom.node;
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__NodeIterator.re b/src/Webapi/Dom/Webapi__Dom__NodeIterator.re
index d7ee3c64..3e976758 100644
--- a/src/Webapi/Dom/Webapi__Dom__NodeIterator.re
+++ b/src/Webapi/Dom/Webapi__Dom__NodeIterator.re
@@ -1,11 +1,11 @@
type t = Dom.nodeIterator;
-[@bs.get] external root : t => Dom.node = "";
-[@bs.get] external referenceNode : t => Dom.node = "";
-[@bs.get] external pointerBeforeReferenceNode : t => bool = "";
-[@bs.get] external whatToShow : t => Webapi__Dom__Types.WhatToShow.t = "";
-[@bs.get] [@bs.return nullable] external filter : t => option(Dom.nodeFilter) = "";
+[@get] external root: t => Dom.node;
+[@get] external referenceNode: t => Dom.node;
+[@get] external pointerBeforeReferenceNode: t => bool;
+[@get] external whatToShow: t => Webapi__Dom__Types.WhatToShow.t;
+[@get] [@return nullable] external filter: t => option(Dom.nodeFilter);
-[@bs.send.pipe : t] [@bs.return nullable] external nextNode : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external previousNode : option(Dom.node) = "";
-[@bs.send.pipe : t] external detach : unit = "";
+[@send] [@return nullable] external nextNode: t => option(Dom.node);
+[@send] [@return nullable] external previousNode: t => option(Dom.node);
+[@send] external detach: t => unit;
diff --git a/src/Webapi/Dom/Webapi__Dom__NodeList.re b/src/Webapi/Dom/Webapi__Dom__NodeList.re
index 90cf9e54..3f8bbb56 100644
--- a/src/Webapi/Dom/Webapi__Dom__NodeList.re
+++ b/src/Webapi/Dom/Webapi__Dom__NodeList.re
@@ -1,9 +1,9 @@
type t = Dom.nodeList;
-[@bs.val] external toArray : t => array(Dom.node) = "Array.prototype.slice.call";
+[@val] external toArray: t => array(Dom.node) = "Array.prototype.slice.call";
-[@bs.send.pipe : t] external forEach : ((Dom.node, int) => unit) => unit = "";
+[@send] external forEach: (t, (Dom.node, int) => unit) => unit;
-[@bs.get] external length : t => int = "";
+[@get] external length: t => int;
-[@bs.send.pipe : t] [@bs.return nullable] external item : int => option(Dom.node) = "";
+[@send] [@return nullable] external item: (t, int) => option(Dom.node);
diff --git a/src/Webapi/Dom/Webapi__Dom__NonDocumentTypeChildNode.re b/src/Webapi/Dom/Webapi__Dom__NonDocumentTypeChildNode.re
index 7db4a498..4c757079 100644
--- a/src/Webapi/Dom/Webapi__Dom__NonDocumentTypeChildNode.re
+++ b/src/Webapi/Dom/Webapi__Dom__NonDocumentTypeChildNode.re
@@ -1,5 +1,5 @@
/* Mixin */
module Impl = (T: {type t;}) => {
- [@bs.get] [@bs.return nullable] external previousElementSibling : T.t => option(Dom.element) = "";
- [@bs.get] [@bs.return nullable] external nextElementSibling : T.t => option(Dom.element) = "";
+ [@get] [@return nullable] external previousElementSibling: T.t => option(Dom.element);
+ [@get] [@return nullable] external nextElementSibling: T.t => option(Dom.element);
};
diff --git a/src/Webapi/Dom/Webapi__Dom__NonElementParentNode.re b/src/Webapi/Dom/Webapi__Dom__NonElementParentNode.re
index 44ca0fef..1d9d7834 100644
--- a/src/Webapi/Dom/Webapi__Dom__NonElementParentNode.re
+++ b/src/Webapi/Dom/Webapi__Dom__NonElementParentNode.re
@@ -1,4 +1,4 @@
/* Mixin */
module Impl = (T: {type t;}) => {
- [@bs.send.pipe : T.t] [@bs.return nullable] external getElementById : string => option(Dom.element) = "";
+ [@send] [@return nullable] external getElementById: (T.t, string) => option(Dom.element);
};
diff --git a/src/Webapi/Dom/Webapi__Dom__PageTransitionEvent.re b/src/Webapi/Dom/Webapi__Dom__PageTransitionEvent.re
index c43eaab1..95ce6d8b 100644
--- a/src/Webapi/Dom/Webapi__Dom__PageTransitionEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__PageTransitionEvent.re
@@ -1,8 +1,10 @@
type t = Dom.pageTransitionEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "PageTransitionEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "PageTransitionEvent";
+[@new] external make: string => t = "PageTransitionEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "PageTransitionEvent";
-[@bs.get] external persisted : t => bool = "";
+[@get] external persisted: t => bool;
diff --git a/src/Webapi/Dom/Webapi__Dom__ParentNode.re b/src/Webapi/Dom/Webapi__Dom__ParentNode.re
index c85964a5..966ea4ee 100644
--- a/src/Webapi/Dom/Webapi__Dom__ParentNode.re
+++ b/src/Webapi/Dom/Webapi__Dom__ParentNode.re
@@ -1,9 +1,9 @@
/* Mixin */
module Impl = (T: {type t;}) => {
- [@bs.get] external children : T.t => Dom.htmlCollection = "";
- [@bs.get] [@bs.return nullable] external firstElementChild : T.t => option(Dom.element) = "";
- [@bs.get] [@bs.return nullable] external lastElementChild : T.t => option(Dom.element) = "";
- [@bs.get] external childElementCount : T.t => int = "";
- [@bs.send.pipe : T.t] [@bs.return nullable] external querySelector : string => option(Dom.element) = "";
- [@bs.send.pipe : T.t] external querySelectorAll : string => Dom.nodeList = "";
+ [@get] external children: T.t => Dom.htmlCollection;
+ [@get] [@return nullable] external firstElementChild: T.t => option(Dom.element);
+ [@get] [@return nullable] external lastElementChild: T.t => option(Dom.element);
+ [@get] external childElementCount: T.t => int;
+ [@send] [@return nullable] external querySelector: (T.t, string) => option(Dom.element);
+ [@send] external querySelectorAll: (T.t, string) => Dom.nodeList;
};
diff --git a/src/Webapi/Dom/Webapi__Dom__PointerEvent.re b/src/Webapi/Dom/Webapi__Dom__PointerEvent.re
index 526c349a..0499a81e 100644
--- a/src/Webapi/Dom/Webapi__Dom__PointerEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__PointerEvent.re
@@ -1,20 +1,26 @@
type t = Dom.pointerEvent;
type pointerId = Dom.eventPointerId;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
-include Webapi__Dom__MouseEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__MouseEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "PointerEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "PointerEvent";
+[@new] external make: string => t = "PointerEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "PointerEvent";
-[@bs.get] external pointerId : t => pointerId = "";
-[@bs.get] external width : t => int = "";
-[@bs.get] external height : t => int = "";
-[@bs.get] external pressure : t => float = "";
-[@bs.get] external tiltX : t => int = "";
-[@bs.get] external tiltY : t => int = "";
-[@bs.get] external pointerType : t => string /* pointerType enum */ = "";
+[@get] external pointerId: t => pointerId;
+[@get] external width: t => int;
+[@get] external height: t => int;
+[@get] external pressure: t => float;
+[@get] external tiltX: t => int;
+[@get] external tiltY: t => int;
+[@get] external pointerType: t => string /* pointerType enum */;
let pointerType: t => Webapi__Dom__Types.pointerType =
- (self) => Webapi__Dom__Types.decodePointerType(pointerType(self));
-[@bs.get] external isPrimary : t => bool = "";
+ self => Webapi__Dom__Types.decodePointerType(pointerType(self));
+[@get] external isPrimary: t => bool;
diff --git a/src/Webapi/Dom/Webapi__Dom__PopStateEvent.re b/src/Webapi/Dom/Webapi__Dom__PopStateEvent.re
index 48ad9137..f73e21d2 100644
--- a/src/Webapi/Dom/Webapi__Dom__PopStateEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__PopStateEvent.re
@@ -1,8 +1,10 @@
type t = Dom.popStateEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "PopStateEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "PopStateEvent";
+[@new] external make: string => t = "PopStateEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "PopStateEvent";
-[@bs.get] external state : t => Js.t({..}) = "";
+[@get] external state: t => Js.t({..});
diff --git a/src/Webapi/Dom/Webapi__Dom__ProcessingInstruction.re b/src/Webapi/Dom/Webapi__Dom__ProcessingInstruction.re
index 8698b337..210577ff 100644
--- a/src/Webapi/Dom/Webapi__Dom__ProcessingInstruction.re
+++ b/src/Webapi/Dom/Webapi__Dom__ProcessingInstruction.re
@@ -1,8 +1,16 @@
type t = Dom.processingInstruction;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonDocumentTypeChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonDocumentTypeChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
-[@bs.get] external target : t => string = "";
+[@get] external target: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__ProgressEvent.re b/src/Webapi/Dom/Webapi__Dom__ProgressEvent.re
index 3f5a1588..579ec10c 100644
--- a/src/Webapi/Dom/Webapi__Dom__ProgressEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__ProgressEvent.re
@@ -1,10 +1,12 @@
type t = Dom.progressEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "ProgressEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "ProgressEvent";
+[@new] external make: string => t = "ProgressEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "ProgressEvent";
-[@bs.get] external lengthComputable : t => bool = "";
-[@bs.get] external loaded : t => int = "";
-[@bs.get] external total : t => int = "";
+[@get] external lengthComputable: t => bool;
+[@get] external loaded: t => int;
+[@get] external total: t => int;
diff --git a/src/Webapi/Dom/Webapi__Dom__Range.re b/src/Webapi/Dom/Webapi__Dom__Range.re
index 565264ff..541671a0 100644
--- a/src/Webapi/Dom/Webapi__Dom__Range.re
+++ b/src/Webapi/Dom/Webapi__Dom__Range.re
@@ -1,43 +1,45 @@
type t = Dom.range;
-[@bs.new] external make : unit => t = "Range"; /* experimental */
+[@new] external make: unit => t = "Range"; /* experimental */
-[@bs.get] external collapsed : t => bool = "";
-[@bs.get] external commonAncestorContainer : t => Dom.node = "";
-[@bs.get] external endContainer : t => Dom.node = "";
-[@bs.get] external endOffset : t => int = "";
-[@bs.get] external startContainer : t => Dom.node = "";
-[@bs.get] external startOffset : t => int = "";
+[@get] external collapsed: t => bool;
+[@get] external commonAncestorContainer: t => Dom.node;
+[@get] external endContainer: t => Dom.node;
+[@get] external endOffset: t => int;
+[@get] external startContainer: t => Dom.node;
+[@get] external startOffset: t => int;
-[@bs.send.pipe : t] external setStart : (Dom.node_like('a), int) => unit = "";
-[@bs.send.pipe : t] external setEnd : (Dom.node_like('a), int) => unit = "";
-[@bs.send.pipe : t] external setStartBefore : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external setStartAfter : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external setEndBefore : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external setEndAfter : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external selectNode : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external selectNodeContents : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external collapse : unit = "";
-[@bs.send.pipe : t] external collapseToStart : ([@bs.as {json|true|json}] _) => unit = "collapse";
-[@bs.send.pipe : t] external cloneContents : Dom.documentFragment = "";
-[@bs.send.pipe : t] external deleteContents : unit = "";
-[@bs.send.pipe : t] external extractContents : Dom.documentFragment = "";
-[@bs.send.pipe : t] external insertNode : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external surroundContents : Dom.node_like('a) => unit = "";
-[@bs.send.pipe : t] external compareBoundaryPoints : (int /* compareHow enum */, t) => int /* compareResult enum */ = "";
-let compareBoundaryPoint: (Webapi__Dom__Types.compareHow, t, t) => Webapi__Dom__Types.compareResult =
- (how, range, self) =>
+[@send] external setStart: (t, Dom.node_like('a), int) => unit;
+[@send] external setEnd: (t, Dom.node_like('a), int) => unit;
+[@send] external setStartBefore: (t, Dom.node_like('a)) => unit;
+[@send] external setStartAfter: (t, Dom.node_like('a)) => unit;
+[@send] external setEndBefore: (t, Dom.node_like('a)) => unit;
+[@send] external setEndAfter: (t, Dom.node_like('a)) => unit;
+[@send] external selectNode: (t, Dom.node_like('a)) => unit;
+[@send] external selectNodeContents: (t, Dom.node_like('a)) => unit;
+[@send] external collapse: t => unit;
+[@send] external collapseToStart: (t, [@as {json|true|json}] _) => unit = "collapse";
+[@send] external cloneContents: t => Dom.documentFragment;
+[@send] external deleteContents: t => unit;
+[@send] external extractContents: t => Dom.documentFragment;
+[@send] external insertNode: (t, Dom.node_like('a)) => unit;
+[@send] external surroundContents: (t, Dom.node_like('a)) => unit;
+[@send]
+external compareBoundaryPoints: (t, int /* compareHow enum */, t) => int /* compareResult enum */;
+let compareBoundaryPoint: (t, Webapi__Dom__Types.compareHow, t) => Webapi__Dom__Types.compareResult =
+ (self, how, range) =>
Webapi__Dom__Types.decodeCompareResult(
- compareBoundaryPoints(Webapi__Dom__Types.encodeCompareHow(how), range, self)
+ self->compareBoundaryPoints(Webapi__Dom__Types.encodeCompareHow(how), range),
);
-[@bs.send.pipe : t] external cloneRange : t = "";
-[@bs.send.pipe : t] external detach : unit = "";
-[@bs.send.pipe : t] external toString : string = "";
-[@bs.send.pipe : t] external comparePoint : (Dom.node_like('a), int) => int /* compareRsult enum */ = "";
-let comparePoint: (Dom.node_like('a), int, t) => Webapi__Dom__Types.compareResult =
- (node, offset, self) => Webapi__Dom__Types.decodeCompareResult(comparePoint(node, offset, self));
-[@bs.send.pipe : t] external createContextualFragment : string => Dom.documentFragment = ""; /* experimental, but widely supported */
-[@bs.send.pipe : t] external getBoundingClientRect : Dom.domRect = ""; /* experimental, but widely supported */
-[@bs.send.pipe : t] external getClientRects : array(Dom.domRect) = ""; /* experimental, but widely supported */
-[@bs.send.pipe : t] external intersectsNode : Dom.node_like('a) => bool = "";
-[@bs.send.pipe : t] external isPointInRange : (Dom.node_like('a), int) => bool = "";
+[@send] external cloneRange: t => t;
+[@send] external detach: t => unit;
+[@send] external toString: t => string;
+[@send] external comparePoint: (t, Dom.node_like('a), int) => int /* compareRsult enum */;
+let comparePoint: (t, Dom.node_like('a), int) => Webapi__Dom__Types.compareResult =
+ (self, node, offset) =>
+ Webapi__Dom__Types.decodeCompareResult(self->comparePoint(node, offset));
+[@send] external createContextualFragment: (t, string) => Dom.documentFragment; /* experimental, but widely supported */
+[@send] external getBoundingClientRect: t => Dom.domRect; /* experimental, but widely supported */
+[@send] external getClientRects: t => array(Dom.domRect); /* experimental, but widely supported */
+[@send] external intersectsNode: (t, Dom.node_like('a)) => bool;
+[@send] external isPointInRange: (t, Dom.node_like('a), int) => bool;
diff --git a/src/Webapi/Dom/Webapi__Dom__RelatedEvent.re b/src/Webapi/Dom/Webapi__Dom__RelatedEvent.re
index 4abb84e1..fe907f6f 100644
--- a/src/Webapi/Dom/Webapi__Dom__RelatedEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__RelatedEvent.re
@@ -1,8 +1,10 @@
type t = Dom.relatedEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "RelatedEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "RelatedEvent";
+[@new] external make: string => t = "RelatedEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "RelatedEvent";
-[@bs.get] [@bs.return nullable] external relatedTarget : t => option(Dom.eventTarget) = "";
+[@get] [@return nullable] external relatedTarget: t => option(Dom.eventTarget);
diff --git a/src/Webapi/Dom/Webapi__Dom__Selection.re b/src/Webapi/Dom/Webapi__Dom__Selection.re
index 333248c9..efb25b02 100644
--- a/src/Webapi/Dom/Webapi__Dom__Selection.re
+++ b/src/Webapi/Dom/Webapi__Dom__Selection.re
@@ -1,23 +1,25 @@
type t = Dom.selection;
-[@bs.get] [@bs.return nullable] external anchorNode : t => option(Dom.node) = "";
-[@bs.get] external anchorOffset : t => int = "";
-[@bs.get] [@bs.return nullable] external focusNode : t => option(Dom.node) = "";
-[@bs.get] external focusOffset : t => int = "";
-[@bs.get] external isCollapsed : t => bool = "";
-[@bs.get] external rangeCount : t => int = "";
+[@get] [@return nullable] external anchorNode: t => option(Dom.node);
+[@get] external anchorOffset: t => int;
+[@get] [@return nullable] external focusNode: t => option(Dom.node);
+[@get] external focusOffset: t => int;
+[@get] external isCollapsed: t => bool;
+[@get] external rangeCount: t => int;
-[@bs.send.pipe : t] external getRangeAt : int => Dom.range = "";
-[@bs.send.pipe : t] external collapse : (Dom.node_like(_), int) => unit = "";
-[@bs.send.pipe : t] external extend : (Dom.node_like(_), int) => unit = "";
-[@bs.send.pipe : t] external collapseToStart : unit = "";
-[@bs.send.pipe : t] external collapseToEnd : unit = "";
-[@bs.send.pipe : t] external selectAllChildren : Dom.node_like(_) => unit = "";
-[@bs.send.pipe : t] external setBaseAndExtent : (Dom.node_like(_), int, Dom.node_like(_), int) => unit = "";
-[@bs.send.pipe : t] external addRange : Dom.range => unit = "";
-[@bs.send.pipe : t] external removeRange : Dom.range => unit = "";
-[@bs.send.pipe : t] external removeAllRanges : unit = "";
-[@bs.send.pipe : t] external deleteFromDocument : unit = "";
-[@bs.send.pipe : t] external toString : string = "";
-[@bs.send.pipe : t] external containsNode : (Dom.node_like(_), [@bs.as {json|false|json}] _) => bool = "";
-[@bs.send.pipe : t] external containsNodePartly : (Dom.node_like(_), [@bs.as {json|true|json}] _) => bool = "containsNode";
+[@send] external getRangeAt: (t, int) => Dom.range;
+[@send] external collapse: (t, Dom.node_like(_), int) => unit;
+[@send] external extend: (t, Dom.node_like(_), int) => unit;
+[@send] external collapseToStart: t => unit;
+[@send] external collapseToEnd: t => unit;
+[@send] external selectAllChildren: (t, Dom.node_like(_)) => unit;
+[@send] external setBaseAndExtent: (t, Dom.node_like(_), int, Dom.node_like(_), int) => unit;
+[@send] external addRange: (t, Dom.range) => unit;
+[@send] external removeRange: (t, Dom.range) => unit;
+[@send] external removeAllRanges: t => unit;
+[@send] external deleteFromDocument: t => unit;
+[@send] external toString: t => string;
+[@send] external containsNode: (t, Dom.node_like(_), [@as {json|false|json}] _) => bool;
+[@send]
+external containsNodePartly: (t, Dom.node_like(_), [@as {json|true|json}] _) => bool =
+ "containsNode";
diff --git a/src/Webapi/Dom/Webapi__Dom__ShadowRoot.re b/src/Webapi/Dom/Webapi__Dom__ShadowRoot.re
index 656394a0..cf39d20e 100644
--- a/src/Webapi/Dom/Webapi__Dom__ShadowRoot.re
+++ b/src/Webapi/Dom/Webapi__Dom__ShadowRoot.re
@@ -1,11 +1,19 @@
type t = Dom.shadowRoot;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonElementParentNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ParentNode.Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonElementParentNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ParentNode.Impl({
+ type nonrec t = t;
+});
-[@bs.get] external shadowRootMode : t => string = "";
+[@get] external shadowRootMode: t => string;
let shadowRootMode: t => Webapi__Dom__Types.shadowRootMode =
- (self) => Webapi__Dom__Types.decodeShadowRootMode(shadowRootMode(self));
-[@bs.get] external host : t => Dom.element = "";
+ self => Webapi__Dom__Types.decodeShadowRootMode(shadowRootMode(self));
+[@get] external host: t => Dom.element;
diff --git a/src/Webapi/Dom/Webapi__Dom__Slotable.re b/src/Webapi/Dom/Webapi__Dom__Slotable.re
index f30be163..cbc51753 100644
--- a/src/Webapi/Dom/Webapi__Dom__Slotable.re
+++ b/src/Webapi/Dom/Webapi__Dom__Slotable.re
@@ -1,4 +1,4 @@
/* Mixin */
module Impl = (T: {type t;}) => {
- [@bs.get] [@bs.return nullable] external assignedSlot : T.t => option(Dom.htmlSlotElement) = "";
+ [@get] [@return nullable] external assignedSlot: T.t => option(Dom.htmlSlotElement);
};
diff --git a/src/Webapi/Dom/Webapi__Dom__StorageEvent.re b/src/Webapi/Dom/Webapi__Dom__StorageEvent.re
index ffe61d09..02eb7d57 100644
--- a/src/Webapi/Dom/Webapi__Dom__StorageEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__StorageEvent.re
@@ -1,12 +1,14 @@
type t = Dom.storageEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "StorageEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "StorageEvent";
+[@new] external make: string => t = "StorageEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "StorageEvent";
-[@bs.get] external key : t => string = "";
-[@bs.get] external newValue : t => Js.Nullable.t(string) = "";
-[@bs.get] external oldValue : t => Js.Nullable.t(string) = "";
-[@bs.get] external storageArea : t => Dom.Storage.t = "";
-[@bs.get] external url : t => string = "";
+[@get] external key: t => string;
+[@get] external newValue: t => Js.Nullable.t(string);
+[@get] external oldValue: t => Js.Nullable.t(string);
+[@get] external storageArea: t => Dom.Storage.t;
+[@get] external url: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__SvgZoomEvent.re b/src/Webapi/Dom/Webapi__Dom__SvgZoomEvent.re
index 337e699a..5d06835e 100644
--- a/src/Webapi/Dom/Webapi__Dom__SvgZoomEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__SvgZoomEvent.re
@@ -1,13 +1,17 @@
type t = Dom.svgZoomEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "SVGZoomEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "SVGZoomEvent";
+[@new] external make: string => t = "SVGZoomEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "SVGZoomEvent";
-[@bs.get] external zoomRectScreen : t => Dom.svgRect = "";
-[@bs.get] external previousScale : t => float = "";
-[@bs.get] external previousTranslate : t => Dom.svgPoint = "";
-[@bs.get] external newScale : t => float = "";
-[@bs.get] external newTranslate : t => Dom.svgPoint = "";
+[@get] external zoomRectScreen: t => Dom.svgRect;
+[@get] external previousScale: t => float;
+[@get] external previousTranslate: t => Dom.svgPoint;
+[@get] external newScale: t => float;
+[@get] external newTranslate: t => Dom.svgPoint;
diff --git a/src/Webapi/Dom/Webapi__Dom__Text.re b/src/Webapi/Dom/Webapi__Dom__Text.re
index ed523920..473a1bdb 100644
--- a/src/Webapi/Dom/Webapi__Dom__Text.re
+++ b/src/Webapi/Dom/Webapi__Dom__Text.re
@@ -1,21 +1,33 @@
-let ofNode = (node: Dom.node) : option('a) =>
- Webapi__Dom__Node.nodeType(node) == Webapi__Dom__Types.Text ?
- Some(Obj.magic(node)) :
- None;
+let ofNode = (node: Dom.node): option('a) =>
+ Webapi__Dom__Node.nodeType(node) == Webapi__Dom__Types.Text ? Some(Obj.magic(node)) : None;
module Impl = (T: {type t;}) => {
let ofNode: Dom.node => option(T.t) = ofNode;
- [@bs.send.pipe : T.t] external splitText : (~offset: int, unit) => Dom.text = "";
- [@bs.get] external wholeText : T.t => string = "";
+ [@send] external splitText: (T.t, ~offset: int, unit) => Dom.text;
+ [@get] external wholeText: T.t => string;
};
type t = Dom.text;
-include Webapi__Dom__Node.Impl({ type nonrec t = t; });
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__CharacterData.Impl({ type nonrec t = t; });
-include Webapi__Dom__NonDocumentTypeChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__ChildNode.Impl({ type nonrec t = t; });
-include Webapi__Dom__Slotable.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Node.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__CharacterData.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__NonDocumentTypeChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__ChildNode.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__Slotable.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/Dom/Webapi__Dom__TimeEvent.re b/src/Webapi/Dom/Webapi__Dom__TimeEvent.re
index 81ef5ab9..d8d905da 100644
--- a/src/Webapi/Dom/Webapi__Dom__TimeEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__TimeEvent.re
@@ -1,9 +1,11 @@
type t = Dom.timeEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "TimeEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "TimeEvent";
+[@new] external make: string => t = "TimeEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "TimeEvent";
-[@bs.get] external detail : t => int = "";
-[@bs.get] external view : t => Dom.window = ""; /* technically returns a `WindowProxy` */
+[@get] external detail: t => int;
+[@get] external view: t => Dom.window; /* technically returns a `WindowProxy` */
diff --git a/src/Webapi/Dom/Webapi__Dom__TouchEvent.re b/src/Webapi/Dom/Webapi__Dom__TouchEvent.re
index 027197ce..0b063d74 100644
--- a/src/Webapi/Dom/Webapi__Dom__TouchEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__TouchEvent.re
@@ -1,20 +1,26 @@
type touchList; /* TODO, Touch Events */
module Impl = (T: {type t;}) => {
- [@bs.get] external altKey : T.t => bool = "";
- [@bs.get] external changedTouches : T.t => touchList = "";
- [@bs.get] external ctrlKey : T.t => bool = "";
- [@bs.get] external metaKey : T.t => bool = "";
- [@bs.get] external shiftKey : T.t => bool = "";
- [@bs.get] external targetTouches : T.t => touchList = "";
- [@bs.get] external touches : T.t => touchList = "";
+ [@get] external altKey: T.t => bool;
+ [@get] external changedTouches: T.t => touchList;
+ [@get] external ctrlKey: T.t => bool;
+ [@get] external metaKey: T.t => bool;
+ [@get] external shiftKey: T.t => bool;
+ [@get] external targetTouches: T.t => touchList;
+ [@get] external touches: T.t => touchList;
};
type t = Dom.touchEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "TouchEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "TouchEvent";
+[@new] external make: string => t = "TouchEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "TouchEvent";
diff --git a/src/Webapi/Dom/Webapi__Dom__TrackEvent.re b/src/Webapi/Dom/Webapi__Dom__TrackEvent.re
index 7218f466..0f373c2e 100644
--- a/src/Webapi/Dom/Webapi__Dom__TrackEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__TrackEvent.re
@@ -1,9 +1,11 @@
type t = Dom.trackEvent;
type track; /* TODO: VideoTrack or AudioTrack or TextTrack */
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "TrackEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "TrackEvent";
+[@new] external make: string => t = "TrackEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "TrackEvent";
-[@bs.get] external track : t => track = "";
+[@get] external track: t => track;
diff --git a/src/Webapi/Dom/Webapi__Dom__TransitionEvent.re b/src/Webapi/Dom/Webapi__Dom__TransitionEvent.re
index d0766c19..4bd1359b 100644
--- a/src/Webapi/Dom/Webapi__Dom__TransitionEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__TransitionEvent.re
@@ -1,10 +1,12 @@
type t = Dom.transitionEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "TransitionEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "TransitionEvent";
+[@new] external make: string => t = "TransitionEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "TransitionEvent";
-[@bs.get] external propertyName : t => string = "";
-[@bs.get] external elapsedTime : t => float = "";
-[@bs.get] external pseudoElement : t => string /* enum-ish */ = "";
+[@get] external propertyName: t => string;
+[@get] external elapsedTime: t => float;
+[@get] external pseudoElement: t => string /* enum-ish */;
diff --git a/src/Webapi/Dom/Webapi__Dom__TreeWalker.re b/src/Webapi/Dom/Webapi__Dom__TreeWalker.re
index a992ca7b..a667c203 100644
--- a/src/Webapi/Dom/Webapi__Dom__TreeWalker.re
+++ b/src/Webapi/Dom/Webapi__Dom__TreeWalker.re
@@ -1,15 +1,15 @@
type t = Dom.treeWalker;
-[@bs.get] external root : t => Dom.node = "";
-[@bs.get] external whatToShow : t => Webapi__Dom__Types.WhatToShow.t = "";
-[@bs.get] [@bs.return nullable] external filter : t => option(Dom.nodeFilter) = "";
-[@bs.get] external currentNode : t => Dom.node = "";
-[@bs.set] external setCurrentNode : (t, Dom.node) => unit = "";
+[@get] external root: t => Dom.node;
+[@get] external whatToShow: t => Webapi__Dom__Types.WhatToShow.t;
+[@get] [@return nullable] external filter: t => option(Dom.nodeFilter);
+[@get] external currentNode: t => Dom.node;
+[@set] external setCurrentNode: (t, Dom.node) => unit;
-[@bs.send.pipe : t] [@bs.return nullable] external parentNode : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external firstChild : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external lastChild : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external previousSibling : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external nextSibling : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external previousNode : option(Dom.node) = "";
-[@bs.send.pipe : t] [@bs.return nullable] external nextNode : option(Dom.node) = "";
+[@send] [@return nullable] external parentNode: t => option(Dom.node);
+[@send] [@return nullable] external firstChild: t => option(Dom.node);
+[@send] [@return nullable] external lastChild: t => option(Dom.node);
+[@send] [@return nullable] external previousSibling: t => option(Dom.node);
+[@send] [@return nullable] external nextSibling: t => option(Dom.node);
+[@send] [@return nullable] external previousNode: t => option(Dom.node);
+[@send] [@return nullable] external nextNode: t => option(Dom.node);
diff --git a/src/Webapi/Dom/Webapi__Dom__Types.re b/src/Webapi/Dom/Webapi__Dom__Types.re
index 8d77cc7e..88ef2d1c 100644
--- a/src/Webapi/Dom/Webapi__Dom__Types.re
+++ b/src/Webapi/Dom/Webapi__Dom__Types.re
@@ -121,12 +121,7 @@ module EventPhase = {
};
[@deprecated "Use EventPhase.t"]
-type eventPhase = EventPhase.t =
- | None
- | CapturingPhase
- | AtTarget
- | BubblingPhase
- | Unknown;
+type eventPhase = EventPhase.t = | None | CapturingPhase | AtTarget | BubblingPhase | Unknown;
type filterAction =
| Accept
diff --git a/src/Webapi/Dom/Webapi__Dom__UiEvent.re b/src/Webapi/Dom/Webapi__Dom__UiEvent.re
index 877f4fbb..74183b61 100644
--- a/src/Webapi/Dom/Webapi__Dom__UiEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__UiEvent.re
@@ -1,12 +1,16 @@
module Impl = (T: {type t;}) => {
- [@bs.get] external detail : T.t => int = "";
- [@bs.get] external view : T.t => Dom.window = ""; /* technically returns a `WindowProxy` */
+ [@get] external detail: T.t => int;
+ [@get] external view: T.t => Dom.window; /* technically returns a `WindowProxy` */
};
type t = Dom.uiEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "UIEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "UIEvent";
+[@new] external make: string => t = "UIEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "UIEvent";
diff --git a/src/Webapi/Dom/Webapi__Dom__ValidityState.re b/src/Webapi/Dom/Webapi__Dom__ValidityState.re
index a00d0922..816f1768 100644
--- a/src/Webapi/Dom/Webapi__Dom__ValidityState.re
+++ b/src/Webapi/Dom/Webapi__Dom__ValidityState.re
@@ -1,13 +1,13 @@
type t;
-[@bs.get] external valueMissing : t => bool = "";
-[@bs.get] external typeMismatch : t => bool = "";
-[@bs.get] external patternMismatch : t => bool = "";
-[@bs.get] external tooLong : t => bool = "";
-[@bs.get] external tooShort : t => bool = "";
-[@bs.get] external rangeUnderflow : t => bool = "";
-[@bs.get] external rangeOverflow : t => bool = "";
-[@bs.get] external stepMismatch : t => bool = "";
-[@bs.get] external badInput : t => bool = "";
-[@bs.get] external customError : t => bool = "";
-[@bs.get] external valid : t => bool = "";
+[@get] external valueMissing: t => bool;
+[@get] external typeMismatch: t => bool;
+[@get] external patternMismatch: t => bool;
+[@get] external tooLong: t => bool;
+[@get] external tooShort: t => bool;
+[@get] external rangeUnderflow: t => bool;
+[@get] external rangeOverflow: t => bool;
+[@get] external stepMismatch: t => bool;
+[@get] external badInput: t => bool;
+[@get] external customError: t => bool;
+[@get] external valid: t => bool;
diff --git a/src/Webapi/Dom/Webapi__Dom__WebGlContextEvent.re b/src/Webapi/Dom/Webapi__Dom__WebGlContextEvent.re
index a67b9e47..fbbcd584 100644
--- a/src/Webapi/Dom/Webapi__Dom__WebGlContextEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__WebGlContextEvent.re
@@ -1,8 +1,10 @@
type t = Dom.webGlContextEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "WebGLContextEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "WebGLContextEvent";
+[@new] external make: string => t = "WebGLContextEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "WebGLContextEvent";
-[@bs.get] external statusMessage : t => string = "";
+[@get] external statusMessage: t => string;
diff --git a/src/Webapi/Dom/Webapi__Dom__WheelEvent.re b/src/Webapi/Dom/Webapi__Dom__WheelEvent.re
index 595d2e22..84c37d09 100644
--- a/src/Webapi/Dom/Webapi__Dom__WheelEvent.re
+++ b/src/Webapi/Dom/Webapi__Dom__WheelEvent.re
@@ -1,15 +1,21 @@
type t = Dom.wheelEvent;
-include Webapi__Dom__Event.Impl({ type nonrec t = t; });
-include Webapi__Dom__UiEvent.Impl({ type nonrec t = t; });
-include Webapi__Dom__MouseEvent.Impl({ type nonrec t = t; });
+include Webapi__Dom__Event.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__UiEvent.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__MouseEvent.Impl({
+ type nonrec t = t;
+});
-[@bs.new] external make : string => t = "WheelEvent";
-[@bs.new] external makeWithOptions : (string, Js.t({..})) => t = "WheelEvent";
+[@new] external make: string => t = "WheelEvent";
+[@new] external makeWithOptions: (string, Js.t({..})) => t = "WheelEvent";
-[@bs.get] external deltaX : t => float = "";
-[@bs.get] external deltaY : t => float = "";
-[@bs.get] external deltaZ : t => float = "";
-[@bs.get] external deltaMode : t => int = "";
-let deltaMode: t => Webapi__Dom__Types.deltaMode = (self) =>
- Webapi__Dom__Types.decodeDeltaMode(deltaMode(self));
+[@get] external deltaX: t => float;
+[@get] external deltaY: t => float;
+[@get] external deltaZ: t => float;
+[@get] external deltaMode: t => int;
+let deltaMode: t => Webapi__Dom__Types.deltaMode =
+ self => Webapi__Dom__Types.decodeDeltaMode(deltaMode(self));
diff --git a/src/Webapi/Dom/Webapi__Dom__Window.re b/src/Webapi/Dom/Webapi__Dom__Window.re
index a7eb609d..b0bc0469 100644
--- a/src/Webapi/Dom/Webapi__Dom__Window.re
+++ b/src/Webapi/Dom/Webapi__Dom__Window.re
@@ -21,86 +21,110 @@ module Impl = (T: {type t;}) => {
/* A lot of this isn't really "dom", but rather global exports */
- [@bs.get] external console : t_window => console = "";
- [@bs.get] external crypto : t_window => crypto = "";
- [@bs.get] external document : t_window => Dom.document = "";
- [@bs.get] [@bs.return nullable] external frameElement : t_window => option(Dom.element) = ""; /* experimental? */
- [@bs.get] external frames : t_window => frameList = "";
- [@bs.get] external fullScreen : t_window => bool = "";
- [@bs.get] external history : t_window => Dom.history = "";
- [@bs.get] external innerWidth : t_window => int = "";
- [@bs.get] external innerHeight : t_window => int = "";
- [@bs.get] external isSecureContext : t_window => bool = "";
- [@bs.get] external length : t_window => int = "";
- [@bs.get] external location : t_window => Dom.location = "";
- [@bs.set] external setLocation : (t_window, string) => unit = "location";
- [@bs.get] external locationbar : t_window => locationbar = "";
+ [@get] external console: t_window => console;
+ [@get] external crypto: t_window => crypto;
+ [@get] external document: t_window => Dom.document;
+ [@get] [@return nullable] external frameElement: t_window => option(Dom.element); /* experimental? */
+ [@get] external frames: t_window => frameList;
+ [@get] external fullScreen: t_window => bool;
+ [@get] external history: t_window => Dom.history;
+ [@get] external innerWidth: t_window => int;
+ [@get] external innerHeight: t_window => int;
+ [@get] external isSecureContext: t_window => bool;
+ [@get] external length: t_window => int;
+ [@get] external location: t_window => Dom.location;
+ [@set] external setLocation: (t_window, string) => unit = "location";
+ [@get] external locationbar: t_window => locationbar;
/* localStorage: accessed directly via Dom.Storage.localStorage */
- [@bs.get] external menubar : t_window => menubar = "";
- [@bs.get] external name : t_window => string = "";
- [@bs.set] external setName : (t_window, string) => unit = "name";
- [@bs.get] external navigator : t_window => navigator = "";
- [@bs.get] [@bs.return nullable] external opener : t_window => option(Dom.window) = "";
- [@bs.get] external outerWidth : t_window => int = "";
- [@bs.get] external outerHeight : t_window => int = "";
- [@bs.get] external pageXOffset : t_window => float = ""; /* alias for scrollX */
- [@bs.get] external pageYOffset : t_window => float = ""; /* alias for scrollY */
- [@bs.get] external parent : t_window => Dom.window = "";
- [@bs.get] external performance : t_window => Webapi__Performance.t = "";
- [@bs.get] external personalbar : t_window => personalbar = "";
- [@bs.get] external screen : t_window => screen = "";
- [@bs.get] external screenX : t_window => int = "";
- [@bs.get] external screenY : t_window => int = "";
- [@bs.get] external scrollbars : t_window => scrollbars = "";
- [@bs.get] external scrollX : t_window => float = "";
- [@bs.get] external scrollY : t_window => float = "";
- [@bs.get] external self : t_window => Dom.window = ""; /* alias for window, but apparently convenient because self (stand-alone) resolves to WorkerGlobalScope in a web worker. Probably poitnless here though */
+ [@get] external menubar: t_window => menubar;
+ [@get] external name: t_window => string;
+ [@set] external setName: (t_window, string) => unit = "name";
+ [@get] external navigator: t_window => navigator;
+ [@get] [@return nullable] external opener: t_window => option(Dom.window);
+ [@get] external outerWidth: t_window => int;
+ [@get] external outerHeight: t_window => int;
+ [@get] external pageXOffset: t_window => float; /* alias for scrollX */
+ [@get] external pageYOffset: t_window => float; /* alias for scrollY */
+ [@get] external parent: t_window => Dom.window;
+ [@get] external performance: t_window => Webapi__Performance.t;
+ [@get] external personalbar: t_window => personalbar;
+ [@get] external screen: t_window => screen;
+ [@get] external screenX: t_window => int;
+ [@get] external screenY: t_window => int;
+ [@get] external scrollbars: t_window => scrollbars;
+ [@get] external scrollX: t_window => float;
+ [@get] external scrollY: t_window => float;
+ [@get] external self: t_window => Dom.window; /* alias for window, but apparently convenient because self (stand-alone) resolves to WorkerGlobalScope in a web worker. Probably poitnless here though */
/* sessionStorage: accessed directly via Dom.Storage.sessionStorage */
- [@bs.get] external speechSynthesis : t_window => speechSynthesis = ""; /* experimental */
- [@bs.get] external status : t_window => string = "";
- [@bs.set] external setStatus : (t_window, string) => unit = "status";
- [@bs.get] external statusbar : t_window => statusbar = "";
- [@bs.get] external toolbar : t_window => toolbar = "";
- [@bs.get] external top : t_window => Dom.window = "";
- [@bs.get] external window : t_window => t_window = ""; /* This is pointless I think, it's just here because window is the implicit global scope, and it's needed to be able to get a reference to it */
+ [@get] external speechSynthesis: t_window => speechSynthesis; /* experimental */
+ [@get] external status: t_window => string;
+ [@set] external setStatus: (t_window, string) => unit = "status";
+ [@get] external statusbar: t_window => statusbar;
+ [@get] external toolbar: t_window => toolbar;
+ [@get] external top: t_window => Dom.window;
+ [@get] external window: t_window => t_window; /* This is pointless I think, it's just here because window is the implicit global scope, and it's needed to be able to get a reference to it */
- [@bs.send.pipe : t_window] external alert : string => unit = "";
- [@bs.send.pipe : t_window] external blur : unit = "";
- [@bs.send.pipe : t_window] external cancelIdleCallback : idleCallbackId => unit = ""; /* experimental, Cooperative Scheduling of Background Tasks */
- [@bs.send.pipe : t_window] external close : unit = "";
- [@bs.send.pipe : t_window] external confirm : string => bool = "";
- [@bs.send.pipe : t_window] external focus : unit = "";
- [@bs.send.pipe : t_window] external getComputedStyle : Dom.element => Dom.cssStyleDeclaration = "";
- [@bs.send.pipe : t_window] external getComputedStyleWithPseudoElement : (Dom.element, string) => Dom.cssStyleDeclaration = "getComputedStyle";
- [@bs.send.pipe : t_window] external getSelection : Dom.selection = "";
- [@bs.send.pipe : t_window] external matchMedia : string => mediaQueryList = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external moveBy : (int, int) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external moveTo : (int, int) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] [@bs.return nullable] external open_ : (~url: string, ~name: string, ~features: string=?) => option(Dom.window) = "open"; /* yes, features is a stringly typed list of key value pairs, sigh */
- [@bs.send.pipe : t_window] external postMessage : ('a, string) => unit = ""; /* experimental-ish?, Web Messaging */
- [@bs.send.pipe : t_window] external postMessageWithTransfers : ('a, string, array(transferable)) => unit = "postMessage"; /* experimental-ish?, Web Messaging */
- [@bs.send.pipe : t_window] external print : unit = "";
- [@bs.send.pipe : t_window] external prompt : string => string = "";
- [@bs.send.pipe : t_window] external promptWithDefault : (string, string) => string = "prompt";
+ [@send] external alert: (t_window, string) => unit;
+ [@send] external blur: t_window => unit;
+ [@send] external cancelIdleCallback: (t_window, idleCallbackId) => unit; /* experimental, Cooperative Scheduling of Background Tasks */
+ [@send] external close: t_window => unit;
+ [@send] external confirm: (t_window, string) => bool;
+ [@send] external focus: t_window => unit;
+ [@send] external getComputedStyle: (t_window, Dom.element) => Dom.cssStyleDeclaration;
+ [@send]
+ external getComputedStyleWithPseudoElement:
+ (t_window, Dom.element, string) => Dom.cssStyleDeclaration =
+ "getComputedStyle";
+ [@send] external getSelection: t_window => Dom.selection;
+ [@send] external matchMedia: (t_window, string) => mediaQueryList; /* experimental, CSSOM View module */
+ [@send] external moveBy: (t_window, int, int) => unit; /* experimental, CSSOM View module */
+ [@send] external moveTo: (t_window, int, int) => unit; /* experimental, CSSOM View module */
+ [@send] [@return nullable]
+ external open_:
+ (t_window, ~url: string, ~name: string, ~features: string=?, [@ignore] unit) =>
+ option(Dom.window) =
+ "open"; /* yes, features is a stringly typed list of key value pairs, sigh */
+ [@send] external postMessage: (t_window, 'a, string) => unit; /* experimental-ish?, Web Messaging */
+ [@send]
+ external postMessageWithTransfers: (t_window, 'a, string, array(transferable)) => unit =
+ "postMessage"; /* experimental-ish?, Web Messaging */
+ [@send] external print: t_window => unit;
+ [@send] external prompt: (t_window, string) => string;
+ [@send] external promptWithDefault: (t_window, string, string) => string = "prompt";
/* requestAnimationFrame: accessed directly via Webapi */
- [@bs.send.pipe : t_window] external requestIdleCallback : (idleDeadline => unit) => idleCallbackId = ""; /* experimental, Cooperative Scheduling of Background Tasks */
- [@bs.send.pipe : t_window] external requestIdleCallbackWithOptions : (idleDeadline => unit, {. "timeout": int}) => idleCallbackId = "requestIdleCallback"; /* experimental, Cooperative Scheduling of Background Tasks */
- [@bs.send.pipe : t_window] external resizeBy : (int, int) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external resizeTo : (int, int) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external scroll : (float, float) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external scrollBy : (float, float) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external scrollTo : (float, float) => unit = ""; /* experimental, CSSOM View module */
- [@bs.send.pipe : t_window] external stop : unit = "";
+ [@send] external requestIdleCallback: (t_window, idleDeadline => unit) => idleCallbackId; /* experimental, Cooperative Scheduling of Background Tasks */
+ [@send]
+ external requestIdleCallbackWithOptions:
+ (t_window, idleDeadline => unit, {. "timeout": int}) => idleCallbackId =
+ "requestIdleCallback"; /* experimental, Cooperative Scheduling of Background Tasks */
+ [@send] external resizeBy: (t_window, int, int) => unit; /* experimental, CSSOM View module */
+ [@send] external resizeTo: (t_window, int, int) => unit; /* experimental, CSSOM View module */
+ [@send] external scroll: (t_window, float, float) => unit; /* experimental, CSSOM View module */
+ [@send] external scrollBy: (t_window, float, float) => unit; /* experimental, CSSOM View module */
+ [@send] external scrollTo: (t_window, float, float) => unit; /* experimental, CSSOM View module */
+ [@send] external stop: t_window => unit;
- [@bs.send.pipe : t_window] external addPopStateEventListener : ([@bs.as "popstate"] _, Dom.popStateEvent => unit) => unit = "addEventListener";
- [@bs.send.pipe : t_window] external removePopStateEventListener : ([@bs.as "popstate"] _, Dom.popStateEvent => unit) => unit= "removeEventListener";
+ [@send]
+ external addPopStateEventListener:
+ (t_window, [@as "popstate"] _, Dom.popStateEvent => unit) => unit =
+ "addEventListener";
+ [@send]
+ external removePopStateEventListener:
+ (t_window, [@as "popstate"] _, Dom.popStateEvent => unit) => unit =
+ "removeEventListener";
- [@bs.set] external setOnLoad : (t_window, unit => unit) => unit = "onload"; /* use addEventListener instead? */
+ [@set] external setOnLoad: (t_window, unit => unit) => unit = "onload"; /* use addEventListener instead? */
};
type t = Dom.window;
/* include WindowOrWorkerGlobalScope? not really "dom" though */
-include Webapi__Dom__EventTarget.Impl({ type nonrec t = t; });
-include Webapi__Dom__GlobalEventHandlers.Impl({ type nonrec t = t; });
-include Impl({ type nonrec t = t; });
+include Webapi__Dom__EventTarget.Impl({
+ type nonrec t = t;
+});
+include Webapi__Dom__GlobalEventHandlers.Impl({
+ type nonrec t = t;
+});
+include Impl({
+ type nonrec t = t;
+});
diff --git a/src/Webapi/ResizeObserver/Webapi__ResizeObserver__ResizeObserverEntry.re b/src/Webapi/ResizeObserver/Webapi__ResizeObserver__ResizeObserverEntry.re
index ca235441..e218f47d 100644
--- a/src/Webapi/ResizeObserver/Webapi__ResizeObserver__ResizeObserverEntry.re
+++ b/src/Webapi/ResizeObserver/Webapi__ResizeObserver__ResizeObserverEntry.re
@@ -1,4 +1,4 @@
type t;
-[@bs.get] external contentRect: t => Dom.domRect = "";
-[@bs.get] external target: t => Dom.element = "";
+[@get] external contentRect: t => Dom.domRect;
+[@get] external target: t => Dom.element;
diff --git a/src/Webapi/Webapi__Base64.re b/src/Webapi/Webapi__Base64.re
index 7c477506..2c3d991f 100644
--- a/src/Webapi/Webapi__Base64.re
+++ b/src/Webapi/Webapi__Base64.re
@@ -1,2 +1,2 @@
-[@bs.val] external btoa : string => string = "";
-[@bs.val] external atob : string => string = "";
+[@val] external btoa: string => string;
+[@val] external atob: string => string;
diff --git a/src/Webapi/Webapi__Blob.re b/src/Webapi/Webapi__Blob.re
index 205ea2da..9801a08e 100644
--- a/src/Webapi/Webapi__Blob.re
+++ b/src/Webapi/Webapi__Blob.re
@@ -1,26 +1,25 @@
-module Impl = (T: {type t}) => {
- [@bs.send] external arrayBuffer: T.t => Js.Promise.t(Js.Typed_array.ArrayBuffer.t) =
- "";
+module Impl = (T: {type t;}) => {
+ [@send] external arrayBuffer: T.t => Js.Promise.t(Js.Typed_array.ArrayBuffer.t);
- [@bs.get] external size: T.t => float = "";
+ [@get] external size: T.t => float;
- [@bs.send.pipe: T.t] external slice: (~start: int=?, ~end_: int=?, ~contentType: string=?) => T.t =
- "";
+ [@send] external slice: (T.t, ~start: int=?, ~end_: int=?, ~contentType: string=?, unit) => T.t;
- /** @since 0.19.0 */
- [@bs.send] external stream: T.t => Webapi__ReadableStream.t = "";
+ /** @since 0.19.0 */ [@send] external stream: T.t => Webapi__ReadableStream.t;
- [@bs.send] external text: T.t => Js.Promise.t(string) = "";
+ [@send] external text: T.t => Js.Promise.t(string);
- [@bs.get] external type_: T.t => string = "type";
+ [@get] external type_: T.t => string = "type";
/** Deprecated, use [type_] instead. */
- [@deprecated "Use [type_] instead"]
- [@bs.get] external _type: T.t => string = "type";
+ [@deprecated "Use [type_] instead"] [@get]
+ external _type: T.t => string = "type";
};
type t = Fetch.blob;
-include Impl({type nonrec t = t});
+include Impl({
+ type nonrec t = t;
+});
-// [@bs.new] external make: ... = "Blob";
+// [@new] external make: ... = "Blob";
diff --git a/src/Webapi/Webapi__Canvas.re b/src/Webapi/Webapi__Canvas.re
index 28088e7c..b445b2ed 100644
--- a/src/Webapi/Webapi__Canvas.re
+++ b/src/Webapi/Webapi__Canvas.re
@@ -2,10 +2,10 @@ module Canvas2d = Webapi__Canvas__Canvas2d;
module WebGl = Webapi__Canvas__WebGl;
module CanvasElement = {
- [@bs.send] external getContext2d : (Dom.element, [@bs.as "2d"] _) => Canvas2d.t = "getContext";
- [@bs.send] external getContextWebGl : (Dom.element, [@bs.as "webgl"] _) => WebGl.glT = "getContext";
- [@bs.get] external height : Dom.element => int = "height";
- [@bs.set] external setHeight : (Dom.element, int) => unit = "height";
- [@bs.get] external width : Dom.element => int = "width";
- [@bs.set] external setWidth : (Dom.element, int) => unit = "width";
+ [@send] external getContext2d: (Dom.element, [@as "2d"] _) => Canvas2d.t = "getContext";
+ [@send] external getContextWebGl: (Dom.element, [@as "webgl"] _) => WebGl.glT = "getContext";
+ [@get] external height: Dom.element => int = "height";
+ [@set] external setHeight: (Dom.element, int) => unit = "height";
+ [@get] external width: Dom.element => int = "width";
+ [@set] external setWidth: (Dom.element, int) => unit = "width";
};
diff --git a/src/Webapi/Webapi__Dom.re b/src/Webapi/Webapi__Dom.re
index 8d658660..dd9444bf 100644
--- a/src/Webapi/Webapi__Dom.re
+++ b/src/Webapi/Webapi__Dom.re
@@ -67,11 +67,10 @@ module Window = Webapi__Dom__Window;
include Webapi__Dom__Types;
-[@bs.val] external window : Dom.window = "window";
-[@bs.val] external document : Dom.document = "document";
-[@bs.val] [@bs.scope "window"] external history : Dom.history = "history";
-[@bs.val] [@bs.scope "window"] external location : Dom.location = "location";
-
+[@val] external window: Dom.window = "window";
+[@val] external document: Dom.document = "document";
+[@val] [@scope "window"] external history: Dom.history = "history";
+[@val] [@scope "window"] external location: Dom.location = "location";
/* Unimplemented interfaces (aka. "The TODO list")
diff --git a/src/Webapi/Webapi__File.re b/src/Webapi/Webapi__File.re
index f63bdabc..1a585670 100644
--- a/src/Webapi/Webapi__File.re
+++ b/src/Webapi/Webapi__File.re
@@ -2,15 +2,16 @@ type t = Fetch.file;
[@text "{1 Blob superclass}"];
-include Webapi__Blob.Impl({type nonrec t = t});
+include Webapi__Blob.Impl({
+ type nonrec t = t;
+});
[@text "{1 File class}"];
-/** @since 0.18.0 */
-[@bs.get] external lastModified: t => float = "";
+/** @since 0.18.0 */ [@get] external lastModified: t => float;
-// [@bs.new] external make: ... = "File";
+// [@new] external make: ... = "File";
-[@bs.get] external name: t => string = "";
+[@get] external name: t => string;
-[@bs.get] external preview: t => string = "";
+[@get] external preview: t => string;
diff --git a/src/Webapi/Webapi__Performance.re b/src/Webapi/Webapi__Performance.re
index aa7d67d0..da90b77e 100644
--- a/src/Webapi/Webapi__Performance.re
+++ b/src/Webapi/Webapi__Performance.re
@@ -1,3 +1,3 @@
type t;
-[@bs.send] external now : t => float = "";
+[@send] external now: t => float;
diff --git a/src/Webapi/Webapi__ReadableStream.re b/src/Webapi/Webapi__ReadableStream.re
index 758e7b03..6ef4bd75 100644
--- a/src/Webapi/Webapi__ReadableStream.re
+++ b/src/Webapi/Webapi__ReadableStream.re
@@ -2,27 +2,28 @@ module type Reader = {
type t;
type closed;
- [@bs.send] external closed: t => Js.Promise.t(closed) = "";
- [@bs.send] external cancel: t => Js.Promise.t(unit) = "";
- [@bs.send.pipe: t] external cancelWith: string => Js.Promise.t(string) = "cancel";
- [@bs.send] external releaseLock: t => unit = "";
+ [@send] external closed: t => Js.Promise.t(closed);
+ [@send] external cancel: t => Js.Promise.t(unit);
+ [@send] external cancelWith: (t, string) => Js.Promise.t(string) = "cancel";
+ [@send] external releaseLock: t => unit;
};
module rec DefaultReader: {
include Reader;
- [@bs.send] external read: t => Js.Promise.t(Fetch__Iterator.Next.t(string)) = "";
+ [@send] external read: t => Js.Promise.t(Fetch__Iterator.Next.t(string));
} = DefaultReader;
module rec BYOBReader: {
include Reader;
- // [@bs.send.pipe: t] external read: view => Js.Promise.t(Fetch__Iterator.Next.t(string)) = "read";
+ // [@send] external read: t => view => Js.Promise.t(Fetch__Iterator.Next.t(string)) = "read";
} = BYOBReader;
type t = Fetch.readableStream;
-[@bs.get] external locked: t => bool = "";
-[@bs.send] external cancel: t => Js.Promise.t(unit) = "";
-[@bs.send.pipe: t] external cancelWith: string => Js.Promise.t(string) = "cancel";
-[@bs.send] external getReader: t => DefaultReader.t = "";
-[@bs.send] external getReaderBYOB: (t, [@bs.as {json|{"mode": "byob"}|json}] _) => BYOBReader.t = "getReader";
-[@bs.send] external tee: t => (t, t) = "";
+[@get] external locked: t => bool;
+[@send] external cancel: t => Js.Promise.t(unit);
+[@send] external cancelWith: (t, string) => Js.Promise.t(string) = "cancel";
+[@send] external getReader: t => DefaultReader.t;
+[@send]
+external getReaderBYOB: (t, [@as {json|{"mode": "byob"}|json}] _) => BYOBReader.t = "getReader";
+[@send] external tee: t => (t, t);
diff --git a/src/Webapi/Webapi__ResizeObserver.re b/src/Webapi/Webapi__ResizeObserver.re
index 7ea6f104..0ae6a996 100644
--- a/src/Webapi/Webapi__ResizeObserver.re
+++ b/src/Webapi/Webapi__ResizeObserver.re
@@ -2,12 +2,10 @@ module ResizeObserverEntry = Webapi__ResizeObserver__ResizeObserverEntry;
type t;
-[@bs.new]
-external make: (array(ResizeObserverEntry.t) => unit) => t = "ResizeObserver";
-[@bs.new]
-external makeWithObserver: ((array(ResizeObserverEntry.t), t) => unit) => t =
- "ResizeObserver";
+[@new] external make: (array(ResizeObserverEntry.t) => unit) => t = "ResizeObserver";
+[@new]
+external makeWithObserver: ((array(ResizeObserverEntry.t), t) => unit) => t = "ResizeObserver";
-[@bs.send] external disconnect: t => unit = "";
-[@bs.send] external observe: (t, Dom.element) => unit = "";
-[@bs.send] external unobserve: (t, Dom.element) => unit = "";
+[@send] external disconnect: t => unit;
+[@send] external observe: (t, Dom.element) => unit;
+[@send] external unobserve: (t, Dom.element) => unit;
diff --git a/src/Webapi/Webapi__Url.re b/src/Webapi/Webapi__Url.re
index e4690511..e292ea99 100644
--- a/src/Webapi/Webapi__Url.re
+++ b/src/Webapi/Webapi__Url.re
@@ -1,57 +1,56 @@
module URLSearchParams = {
type t;
- [@bs.new] external make: string => t = "URLSearchParams";
- [@bs.new] external makeWithDict: Js.Dict.t(string) => t = "URLSearchParams";
- [@bs.new] external makeWithArray: array((string, string)) => t = "URLSearchParams";
- [@bs.send.pipe : t] external append: (string, string) => unit = "";
- [@bs.send.pipe : t] external delete: string => unit = "";
- [@bs.send.pipe : t] external entries: Js.Array.array_like((string, string)) = "";
- [@bs.send.pipe : t] external forEach: ([@bs.uncurry] (string, string) => unit) => unit = "";
- [@bs.return nullable][@bs.send.pipe : t] external get: string => option(string) = "";
- [@bs.send.pipe : t] external getAll: string => array(string) = "";
- [@bs.send.pipe : t] external has: string => bool = "";
- [@bs.send.pipe : t] external keys: Js.Array.array_like(string) = "";
- [@bs.send.pipe : t] external set: (string, string) => unit = "";
- [@bs.send.pipe : t] external sort: unit = "";
- [@bs.send.pipe : t] external toString: string = "";
- [@bs.send.pipe : t] external values: Js.Array.array_like(string) = "";
+ [@new] external make: string => t = "URLSearchParams";
+ [@new] external makeWithDict: Js.Dict.t(string) => t = "URLSearchParams";
+ [@new] external makeWithArray: array((string, string)) => t = "URLSearchParams";
+ [@send] external append: (t, string, string) => unit;
+ [@send] external delete: (t, string) => unit;
+ [@send] external entries: t => Js.Array.array_like((string, string));
+ [@send] external forEach: (t, [@uncurry] ((string, string) => unit)) => unit;
+ [@return nullable] [@send] external get: (t, string) => option(string);
+ [@send] external getAll: (t, string) => array(string);
+ [@send] external has: (t, string) => bool;
+ [@send] external keys: t => Js.Array.array_like(string);
+ [@send] external set: (t, string, string) => unit;
+ [@send] external sort: t => unit;
+ [@send] external toString: t => string;
+ [@send] external values: t => Js.Array.array_like(string);
};
type t;
-[@bs.new] external make: string => t = "URL";
+[@new] external make: string => t = "URL";
/** Deprecated, use [makeWith] instead. */
-[@deprecated "Use [makeWith] instead."]
-[@bs.new] external makeWithBase: (string, string) => t = "URL";
+[@deprecated "Use [makeWith] instead."] [@new]
+external makeWithBase: (string, string) => t = "URL";
-/** @since 0.19.0 */
-[@bs.new] external makeWith: (string, ~base: string) => t = "URL";
+/** @since 0.19.0 */ [@new] external makeWith: (string, ~base: string) => t = "URL";
-[@bs.get] external hash: t => string = "";
-[@bs.set] external setHash: (t, string) => unit = "hash";
-[@bs.get] external host: t => string = "";
-[@bs.set] external setHost: (t, string) => unit = "host";
-[@bs.get] external hostname: t => string = "";
-[@bs.set] external setHostname: (t, string) => unit = "hostname";
-[@bs.get] external href: t => string = "";
-[@bs.set] external setHref: (t, string) => unit = "href";
-[@bs.get] external origin: t => string = "";
-[@bs.get] external password: t => string = "";
-[@bs.set] external setPassword: (t, string) => unit = "password";
-[@bs.get] external pathname: t => string = "";
-[@bs.set] external setPathname: (t, string) => unit = "pathname";
-[@bs.get] external port: t => string = "";
-[@bs.set] external setPort: (t, string) => unit = "port";
-[@bs.get] external protocol: t => string = "";
-[@bs.set] external setProtocol: (t, string) => unit = "protocol";
-[@bs.get] external search: t => string = "";
-[@bs.set] external setSearch: (t, string) => unit = "search";
-[@bs.get] external searchParams: t => URLSearchParams.t = "";
-[@bs.get] external username: t => string = "";
-[@bs.set] external setUsername: (t, string) => unit = "username";
-[@bs.get] external toJson: t => string = "";
+[@get] external hash: t => string;
+[@set] external setHash: (t, string) => unit = "hash";
+[@get] external host: t => string;
+[@set] external setHost: (t, string) => unit = "host";
+[@get] external hostname: t => string;
+[@set] external setHostname: (t, string) => unit = "hostname";
+[@get] external href: t => string;
+[@set] external setHref: (t, string) => unit = "href";
+[@get] external origin: t => string;
+[@get] external password: t => string;
+[@set] external setPassword: (t, string) => unit = "password";
+[@get] external pathname: t => string;
+[@set] external setPathname: (t, string) => unit = "pathname";
+[@get] external port: t => string;
+[@set] external setPort: (t, string) => unit = "port";
+[@get] external protocol: t => string;
+[@set] external setProtocol: (t, string) => unit = "protocol";
+[@get] external search: t => string;
+[@set] external setSearch: (t, string) => unit = "search";
+[@get] external searchParams: t => URLSearchParams.t;
+[@get] external username: t => string;
+[@set] external setUsername: (t, string) => unit = "username";
+[@get] external toJson: t => string;
-[@bs.val] [@bs.scope "URL"] external createObjectURL : Webapi__File.t => string = "";
-[@bs.val] [@bs.scope "URL"] external revokeObjectURL : string => unit = "";
+[@val] [@scope "URL"] external createObjectURL: Webapi__File.t => string;
+[@val] [@scope "URL"] external revokeObjectURL: string => unit;
diff --git a/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.re b/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.re
index 06570f50..75594b7e 100644
--- a/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.re
+++ b/tests/Webapi/Canvas/Webapi__Canvas__Canvas2d__test.re
@@ -2,16 +2,16 @@ open Webapi.Canvas;
open Webapi.Canvas.Canvas2d;
open Webapi.Dom;
-let canvasEl = Document.createElement("canvas", document);
-let ctx = CanvasElement.getContext2d(canvasEl);
+let canvasEl = document->Document.createElement("canvas");
+let ctx = canvasEl->CanvasElement.getContext2d;
-ctx |> save;
-ctx |> restore;
+ctx->save;
+ctx->restore;
-ctx |> scale(~x=1., ~y=2.);
-ctx |> rotate(2.);
-ctx |> translate(~x=2., ~y=3.);
-ctx |> transform(~m11=1., ~m12=2., ~m21=1., ~m22=1., ~dx=1., ~dy=1.);
+ctx->scale(~x=1., ~y=2.);
+ctx->rotate(2.);
+ctx->translate(~x=2., ~y=3.);
+ctx->transform(~m11=1., ~m12=2., ~m21=1., ~m22=1., ~dx=1., ~dy=1.);
globalAlpha(ctx, 0.9);
globalCompositeOperation(ctx, Composite.sourceOver);
@@ -25,13 +25,13 @@ setStrokeStyle(ctx, String, "red");
setFillStyle(ctx, String, "red");
switch (fillStyle(ctx)) {
-| (Gradient, g) => g |> addColorStop(0.0, "red")
+| (Gradient, g) => g->addColorStop(0.0, "red")
| (String, s) => Js.log(s)
| (Pattern, _) => ()
};
switch (strokeStyle(ctx)) {
-| (Gradient, g) => g |> addColorStop(1.2, "blue")
+| (Gradient, g) => g->addColorStop(1.2, "blue")
| (String, s) => Js.log(s)
| (Pattern, _) => ()
};
@@ -41,49 +41,59 @@ shadowOffsetY(ctx, 1.);
shadowBlur(ctx, 1.);
shadowColor(ctx, "red");
-ctx |> beginPath;
-ctx |> closePath;
-ctx |> fill;
-ctx |> stroke;
-ctx |> clip;
-ctx |> moveTo(~x=1., ~y=1.);
-ctx |> lineTo(~x=1., ~y=2.);
-ctx |> quadraticCurveTo(~cp1x=1., ~cp1y=1., ~x=1., ~y=1.);
-ctx |> bezierCurveTo(~cp1x=1., ~cp1y=1., ~cp2x=2., ~cp2y=2., ~x=4., ~y=4.);
-ctx |> arcTo(~x1=1., ~y1=1., ~x2=2., ~y2=2., ~r=4.);
-ctx |> arc(~x=1., ~y=1., ~r=4., ~startAngle=1., ~endAngle=3., ~anticw=true);
-ctx |> rect(~x=0., ~y=0., ~w=10., ~h=10.);
-let _ = ctx |> isPointInPath(~x=0., ~y=0.);
+ctx->beginPath;
+ctx->closePath;
+ctx->fill;
+ctx->stroke;
+ctx->clip;
+ctx->moveTo(~x=1., ~y=1.);
+ctx->lineTo(~x=1., ~y=2.);
+ctx->quadraticCurveTo(~cp1x=1., ~cp1y=1., ~x=1., ~y=1.);
+ctx->bezierCurveTo(~cp1x=1., ~cp1y=1., ~cp2x=2., ~cp2y=2., ~x=4., ~y=4.);
+ctx->arcTo(~x1=1., ~y1=1., ~x2=2., ~y2=2., ~r=4.);
+ctx->arc(~x=1., ~y=1., ~r=4., ~startAngle=1., ~endAngle=3., ~anticw=true);
+ctx->rect(~x=0., ~y=0., ~w=10., ~h=10.);
+let _ = ctx->isPointInPath(~x=0., ~y=0.);
-let linearGradient = ctx |> createLinearGradient(~x0=0.0, ~y0=0.0, ~x1=0.0, ~y1=0.0);
+let linearGradient = ctx->createLinearGradient(~x0=0.0, ~y0=0.0, ~x1=0.0, ~y1=0.0);
setStrokeStyle(ctx, Gradient, linearGradient);
-let _ = ctx |> createRadialGradient(~x0=0.0, ~y0=0.0, ~x1=0.0, ~y1=0.0, ~r0=0.0, ~r1=0.0);
-linearGradient |> addColorStop(0.0, "red");
+let _ = ctx->createRadialGradient(~x0=0.0, ~y0=0.0, ~x1=0.0, ~y1=0.0, ~r0=0.0, ~r1=0.0);
+linearGradient->addColorStop(0.0, "red");
let _ =
List.map(
- createPattern(ctx, Document.createElement("img", document)),
- [`noRepeat, `repeat, `repeatX, `repeatY]
+ ctx->createPattern(document->Document.createElement("img")),
+ [`noRepeat, `repeat, `repeatX, `repeatY],
);
-let measureText = ctx |> measureText("foo");
+let measureText = ctx->measureText("foo");
let width = width(measureText);
-ctx |> fillText("foo!", ~x=0.0, ~y=0.0, ~maxWidth=width);
-ctx |> strokeText("foo!", ~x=0.0, ~y=0.0, ~maxWidth=width);
+ctx->fillText("foo!", ~x=0.0, ~y=0.0, ~maxWidth=width, ());
+ctx->strokeText("foo!", ~x=0.0, ~y=0.0, ~maxWidth=width, ());
let imageData = createImageDataCoords(ctx, ~width=0.0, ~height=0.0);
-createImageDataFromImage(ctx, imageData);
-Image.width(imageData);
-Image.height(imageData);
+let _ = createImageDataFromImage(ctx, imageData);
+let _ = Image.width(imageData);
+let _ = Image.height(imageData);
-getImageData(ctx, ~sx=0.0, ~sy=0.0, ~sw=0.0, ~sh=0.0);
+let _ = getImageData(ctx, ~sx=0.0, ~sy=0.0, ~sw=0.0, ~sh=0.0);
let _: unit = putImageData(ctx, ~imageData, ~dx=0.0, ~dy=0.0);
-let _: unit = putImageDataWithDirtyRect(ctx, ~imageData, ~dx=0.0, ~dy=0.0, ~dirtyX=0.0, ~dirtyY=0.0, ~dirtyWidth=0.0, ~dirtyHeight=0.0);
+let _: unit =
+ putImageDataWithDirtyRect(
+ ctx,
+ ~imageData,
+ ~dx=0.0,
+ ~dy=0.0,
+ ~dirtyX=0.0,
+ ~dirtyY=0.0,
+ ~dirtyWidth=0.0,
+ ~dirtyHeight=0.0,
+ );
font(ctx, "10px Courier");
textAlign(ctx, "left");
textBaseline(ctx, "top");
-ctx |> fillText("hi", ~x=1., ~y=0.);
-ctx |> strokeText("hi", ~x=1., ~y=0.);
+ctx->fillText("hi", ~x=1., ~y=0., ());
+ctx->strokeText("hi", ~x=1., ~y=0., ());
-ctx |> fillRect(~x=1., ~y=0., ~w=10., ~h=10.);
-ctx |> strokeRect(~x=1., ~y=0., ~w=10., ~h=10.);
-ctx |> clearRect(~x=1., ~y=0., ~w=10., ~h=10.);
+ctx->fillRect(~x=1., ~y=0., ~w=10., ~h=10.);
+ctx->strokeRect(~x=1., ~y=0., ~w=10., ~h=10.);
+ctx->clearRect(~x=1., ~y=0., ~w=10., ~h=10.);
diff --git a/tests/Webapi/Dom/Webapi__Dom__Document__test.re b/tests/Webapi/Dom/Webapi__Dom__Document__test.re
index 4df531d3..7bb6b819 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Document__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Document__test.re
@@ -1,57 +1,67 @@
open Webapi.Dom;
open Document;
-let el = document |> createElement("strong");
+let el = document->createElement("strong");
-let _ = characterSet(document);
-let _ = compatMode(document);
-let _ = doctype(document);
-let _ = documentElement(document);
-let _ = documentURI(document);
-let _ = hidden(document);
-let _ = implementation(document);
-let _ = lastStyleSheetSet(document);
-let _ = pointerLockElement(document);
-let _ = preferredStyleSheetSet(document);
-let _ = scrollingElement(document);
-let _ = selectedStyleSheetSet(document);
+let _ = document->characterSet;
+let _ = document->compatMode;
+let _ = document->doctype;
+let _ = document->documentElement;
+let _ = document->documentURI;
+let _ = document->hidden;
+let _ = document->implementation;
+let _ = document->lastStyleSheetSet;
+let _ = document->pointerLockElement;
+let _ = document->preferredStyleSheetSet;
+let _ = document->scrollingElement;
+let _ = document->selectedStyleSheetSet;
let _ = setSelectedStyleSheetSet(document, "muh-stylesheet");
-let _ = styleSheets(document);
-let _ = styleSheetSets(document);
-let _ = visibilityState(document);
+let _ = document->styleSheets;
+let _ = document->styleSheetSets;
+let _ = document->visibilityState;
-let _ = adoptNode(el, document);
-let _ = createAttribute("data-foo", document);
-let _ = createAttributeNS("http://...", "foo", document);
-let _ = createComment("witty comment", document);
-let _ = createDocumentFragment(document);
-let _ = createElement("div", document);
-let _ = createElementWithOptions("div", [%bs.raw "{}"], document); /* I've no idea what this options object is supposed to be, even the spec doesn't seem to bother explaining it */
-let _ = createElementNS("http://...", "foo", document);
-let _ = createElementNSWithOptions("http://...", "div", [%bs.raw "{}"], document); /* I've no idea what this options object is supposed to be, even the spec doesn't seem to bother explaining it */
-let _ = createEvent("MyCustomEvent", document);
-let _ = createNodeIterator(el, document);
-let _ = createNodeIteratorWithWhatToShow(el, WhatToShow._All, document);
-let _ = createNodeIteratorWithWhatToShowFilter(el, WhatToShow.(many([_Element, _Attribute])), NodeFilter.make((_) => 0), document);
-let _ = createRange(document);
-let _ = createTextNode("Very reasonable!", document);
-let _ = createTreeWalker(el, document);
-let _ = createTreeWalkerWithWhatToShow(el, WhatToShow._All, document);
-let _ = createTreeWalkerWithWhatToShowFilter(el, WhatToShow.(many([_Element, _Attribute])), NodeFilter.make((_) => 0), document);
-let _ = elementFromPoint(0, 0, document);
-let _ = elementsFromPoint(0, 0, document);
-let _ = enableStyleSheetsForSet("my-stylesheet-set", document);
-let _ = exitPointerLock(document);
-let _ = getAnimations(document);
-let _ = getElementsByClassName("lstlisting", document);
-let _ = getElementsByTagName("code", document);
-let _ = getElementsByTagNameNS("http://...", "foo", document);
-let _ = importNode(el, document);
-let _ = importNodeDeep(el, document);
+let _ = document->adoptNode(el);
+let _ = document->createAttribute("data-foo");
+let _ = document->createAttributeNS("http://...", "foo");
+let _ = document->createComment("witty comment");
+let _ = document->createDocumentFragment;
+let _ = document->createElement("div");
+let _ = document->createElementWithOptions("div", [%bs.raw "{}"]); /* I've no idea what this options object is supposed to be, even the spec doesn't seem to bother explaining it */
+let _ = document->createElementNS("http://...", "foo");
+let _ = document->createElementNSWithOptions("http://...", "div", [%bs.raw "{}"]); /* I've no idea what this options object is supposed to be, even the spec doesn't seem to bother explaining it */
+let _ = document->createEvent("MyCustomEvent");
+let _ = document->createNodeIterator(el);
+let _ = document->createNodeIteratorWithWhatToShow(el, WhatToShow._All);
+let _ =
+ document->createNodeIteratorWithWhatToShowFilter(
+ el,
+ WhatToShow.(many([_Element, _Attribute])),
+ NodeFilter.make(_ => 0),
+ );
+let _ = document->createRange;
+let _ = document->createTextNode("Very reasonable!");
+let _ = document->createTreeWalker(el);
+let _ = document->createTreeWalkerWithWhatToShow(el, WhatToShow._All);
+let _ =
+ document->createTreeWalkerWithWhatToShowFilter(
+ el,
+ WhatToShow.(many([_Element, _Attribute])),
+ NodeFilter.make(_ => 0),
+ );
+let _ = document->elementFromPoint(0, 0);
+let _ = document->elementsFromPoint(0, 0);
+let _ = document->enableStyleSheetsForSet("my-stylesheet-set");
+let _ = document->exitPointerLock;
+let _ = document->getAnimations;
+let _ = document->getElementsByClassName("lstlisting");
+let _ = document->getElementsByTagName("code");
+let _ = document->getElementsByTagNameNS("http://...", "foo");
+let _ = document->importNode(el);
+let _ = document->importNodeDeep(el);
/* TODO: These get dead code eliminated
-let _ = registerElement(document, "my-component");
-let _ = registerElementWithOptions(document, "my-component", [%bs.raw "{}"]);
-*/
-let _ = getElementById("root", document);
-let _ = querySelector(".lstlisting", document);
-let _ = querySelectorAll(".lstlisting", document);
+ let _ = registerElement(document, "my-component");
+ let _ = registerElementWithOptions(document, "my-component", [%bs.raw "{}"]);
+ */
+let _ = document->getElementById("root");
+let _ = document->querySelector(".lstlisting");
+let _ = document->querySelectorAll(".lstlisting");
diff --git a/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.re b/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.re
index 6719f654..8372cc3a 100644
--- a/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__DomStringMap__test.re
@@ -3,14 +3,15 @@ open Webapi.Dom.DomStringMap;
let dataset =
document
- |> Document.createElement("div")
- |> Element.asHtmlElement
- |> Belt.Option.map(_, HtmlElement.dataset);
+ ->Document.createElement("div")
+ ->Element.asHtmlElement
+ ->Belt.Option.map(_, HtmlElement.dataset);
-let () = switch (dataset) {
+let () =
+ switch (dataset) {
| Some(dataset) =>
- set("fooKey", "barValue", dataset);
- dataset |> get("fooKey") |> ignore;
- unsafeDeleteKey("fooKey", dataset);
+ dataset->set("fooKey", "barValue");
+ dataset->get("fooKey")->ignore;
+ dataset->unsafeDeleteKey("fooKey");
| None => ()
-};
+ };
diff --git a/tests/Webapi/Dom/Webapi__Dom__DomTokenList__test.re b/tests/Webapi/Dom/Webapi__Dom__DomTokenList__test.re
index 86269011..b96cc681 100644
--- a/tests/Webapi/Dom/Webapi__Dom__DomTokenList__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__DomTokenList__test.re
@@ -1,23 +1,21 @@
open Webapi.Dom;
open DomTokenList;
-let tlist =
- document |> Document.createElement("div")
- |> Element.classList;
+let tlist = document->Document.createElement("div")->Element.classList;
-let _ = length(tlist);
-let _ = item(3, tlist);
+let _ = tlist->length;
+let _ = tlist->item(3);
-add("my-class", tlist);
-addMany([|"my-class", "my-other-class"|], tlist);
-let _ = contains("my-class", tlist);
-forEach((item, _) => print_endline(item), tlist);
-remove("my-class", tlist);
-removeMany([|"my-class", "my-other-class"|], tlist);
-replace("my-class", "my-other-class", tlist);
-let _ = supports("my-class", tlist);
-let _ = toggle("my-class", tlist);
-let _ = toggleForced("my-class", tlist);
-let _ = toString(tlist);
-let _ = value(tlist);
-let _ = setValue(tlist, "foo");
+tlist->add("my-class");
+tlist->addMany([|"my-class", "my-other-class"|]);
+let _ = tlist->contains("my-class");
+tlist->forEach((item, _) => print_endline(item));
+tlist->remove("my-class");
+tlist->removeMany([|"my-class", "my-other-class"|]);
+tlist->replace("my-class", "my-other-class");
+let _ = tlist->supports("my-class");
+let _ = tlist->toggle("my-class");
+let _ = tlist->toggleForced("my-class");
+let _ = tlist->toString;
+let _ = tlist->value;
+let _ = tlist->setValue("foo");
diff --git a/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.re b/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.re
index 8770161f..e97b4ed4 100644
--- a/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__DragEvent__test.re
@@ -4,47 +4,47 @@ open DragEvent;
let event = make("my-event");
/* Event */
-let _ = bubbles(event);
-let _ = cancelable(event);
-let _ = composed(event);
-let _ = currentTarget(event);
-let _ = defaultPrevented(event);
-let _ = eventPhase(event);
-let _ = target(event);
-let _ = timeStamp(event);
-let _ = type_(event);
-let _ = isTrusted(event);
+let _ = event->bubbles;
+let _ = event->cancelable;
+let _ = event->composed;
+let _ = event->currentTarget;
+let _ = event->defaultPrevented;
+let _ = event->eventPhase;
+let _ = event->target;
+let _ = event->timeStamp;
+let _ = event->type_;
+let _ = event->isTrusted;
-preventDefault(event);
-stopImmediatePropagation(event);
-stopPropagation(event);
+event->preventDefault;
+event->stopImmediatePropagation;
+event->stopPropagation;
/* UIEvent */
-let _ = detail(event);
-let _ = view(event);
+let _ = event->detail;
+let _ = event->view;
/* MouseEvent */
-let _ = altKey(event);
-let _ = button(event);
-let _ = buttons(event);
-let _ = clientX(event);
-let _ = clientY(event);
-let _ = ctrlKey(event);
-let _ = metaKey(event);
-let _ = movementX(event);
-let _ = movementY(event);
-let _ = offsetX(event);
-let _ = offsetY(event);
-let _ = pageX(event);
-let _ = pageY(event);
-let _ = region(event);
-let _ = relatedTarget(event);
-let _ = screenX(event);
-let _ = screenY(event);
-let _ = shiftKey(event);
-let _ = x(event);
-let _ = y(event);
-let _ = getModifierState(Alt, event);
+let _ = event->altKey;
+let _ = event->button;
+let _ = event->buttons;
+let _ = event->clientX;
+let _ = event->clientY;
+let _ = event->ctrlKey;
+let _ = event->metaKey;
+let _ = event->movementX;
+let _ = event->movementY;
+let _ = event->offsetX;
+let _ = event->offsetY;
+let _ = event->pageX;
+let _ = event->pageY;
+let _ = event->region;
+let _ = event->relatedTarget;
+let _ = event->screenX;
+let _ = event->screenY;
+let _ = event->shiftKey;
+let _ = event->x;
+let _ = event->y;
+let _ = event->getModifierState(Alt);
/* DragEvent */
-let _ = dataTransfer(event);
+let _ = event->dataTransfer;
diff --git a/tests/Webapi/Dom/Webapi__Dom__Element__test.re b/tests/Webapi/Dom/Webapi__Dom__Element__test.re
index 33d82a5a..872a0664 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Element__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Element__test.re
@@ -1,73 +1,73 @@
open Webapi.Dom;
open Element;
-let el = document |> Document.createElement("strong");
-let el2 = document |> Document.createElement("small");
+let el = document->Document.createElement("strong");
+let el2 = document->Document.createElement("small");
let event = PointerEvent.make("my-event");
-let _ = assignedSlot(el);
-let _ = attributes(el);
-let _ = classList(el);
-let _ = className(el);
-let _ = setClassName(el, "my-class-name");
-let _ = clientHeight(el);
-let _ = clientLeft(el);
-let _ = clientTop(el);
-let _ = clientWidth(el);
-let _ = id(el);
-let _ = setId(el, "my-id");
-let _ = innerHTML(el);
-let _ = setInnerHTML(el, "stuff");
-let _ = localName(el);
-let _ = namespaceURI(el);
-let _ = nextElementSibling(el);
-let _ = outerHTML(el);
-let _ = setOuterHTML(el, "stuff");
-let _ = prefix(el);
-let _ = previousElementSibling(el);
-let _ = scrollHeight(el);
-let _ = scrollLeft(el);
-let _ = setScrollLeft(el, 0.0);
-let _ = scrollTop(el);
-let _ = setScrollTop(el, 0.0);
-let _ = scrollWidth(el);
-let _ = shadowRoot(el);
-let _ = slot(el);
-let _ = setSlot(el, "stuff");
-let _ = tagName(el);
+let _ = el->assignedSlot;
+let _ = el->attributes;
+let _ = el->classList;
+let _ = el->className;
+let _ = el->setClassName("my-class-name");
+let _ = el->clientHeight;
+let _ = el->clientLeft;
+let _ = el->clientTop;
+let _ = el->clientWidth;
+let _ = el->id;
+let _ = el->setId("my-id");
+let _ = el->innerHTML;
+let _ = el->setInnerHTML("stuff");
+let _ = el->localName;
+let _ = el->namespaceURI;
+let _ = el->nextElementSibling;
+let _ = el->outerHTML;
+let _ = el->setOuterHTML("stuff");
+let _ = el->prefix;
+let _ = el->previousElementSibling;
+let _ = el->scrollHeight;
+let _ = el->scrollLeft;
+let _ = el->setScrollLeft(0.0);
+let _ = el->scrollTop;
+let _ = el->setScrollTop(0.0);
+let _ = el->scrollWidth;
+let _ = el->shadowRoot;
+let _ = el->slot;
+let _ = el->setSlot("stuff");
+let _ = el->tagName;
-let _ = attachShadow({"mode": "open"}, el);
-let _ = attachShadowOpen(el);
-let _ = attachShadowClosed(el);
-let _ = animate({"transform": "translateT(0px)"}, {"duration": 1000}, el);
-let _ = closest("input", el);
-let _ = createShadowRoot(el);
-let _ = getAttribute("href", el);
-let _ = getAttributeNS("http://...", "foo", el);
-let _ = getBoundingClientRect(el);
-let _ = getClientRects(el);
-let _ = getElementsByClassName("some-class-name", el);
-let _ = getElementsByTagName("pre", el);
-let _ = getElementsByTagNameNS("http://...", "td", el);
-let _ = hasAttribute("data-my-value", el);
-let _ = hasAttributeNS("http://...", "foo", el);
-let _ = hasAttributes(el);
-let _ = insertAdjacentElement(BeforeBegin, el2, el);
-let _ = insertAdjacentHTML(AfterBegin, "text", el);
-let _ = insertAdjacentText(AfterEnd, "text", el);
-let _ = matches("input", el);
-let _ = querySelector("input", el);
-let _ = querySelectorAll("input", el);
-let _ = releasePointerCapture(PointerEvent.pointerId(event), el);
-let _ = remove(el);
-let _ = removeAttribute("href", el);
-let _ = removeAttributeNS("http://...", "foo", el);
-let _ = requestFullscreen(el);
-let _ = requestPointerLock(el);
-let _ = scrollIntoView(el);
-/*let _ = scrollIntoViewNoAlignToTop(el);*/
-let _ = scrollIntoViewNoAlignToTop(el);
-let _ = scrollIntoViewWithOptions({"block": "end", "behavior": "smooth"}, el);
-let _ = setAttribute("href", "http://...", el);
-let _ = setAttributeNS("http://...", "foo", "bar", el);
-let _ = setPointerCapture(PointerEvent.pointerId(event), el);
+let _ = el->attachShadow({"mode": "open"});
+let _ = el->attachShadowOpen;
+let _ = el->attachShadowClosed;
+let _ = el->animate({"transform": "translateT(0px)"}, {"duration": 1000});
+let _ = el->closest("input");
+let _ = el->createShadowRoot;
+let _ = el->getAttribute("href");
+let _ = el->getAttributeNS("http://...", "foo");
+let _ = el->getBoundingClientRect;
+let _ = el->getClientRects;
+let _ = el->getElementsByClassName("some-class-name");
+let _ = el->getElementsByTagName("pre");
+let _ = el->getElementsByTagNameNS("http://...", "td");
+let _ = el->hasAttribute("data-my-value");
+let _ = el->hasAttributeNS("http://...", "foo");
+let _ = el->hasAttributes;
+let _ = el->insertAdjacentElement(BeforeBegin, el2);
+let _ = el->insertAdjacentHTML(AfterBegin, "text");
+let _ = el->insertAdjacentText(AfterEnd, "text");
+let _ = el->matches("input");
+let _ = el->querySelector("input");
+let _ = el->querySelectorAll("input");
+let _ = el->releasePointerCapture(PointerEvent.pointerId(event));
+let _ = el->remove;
+let _ = el->removeAttribute("href");
+let _ = el->removeAttributeNS("http://...", "foo");
+let _ = el->requestFullscreen;
+let _ = el->requestPointerLock;
+let _ = el->scrollIntoView;
+/*let _ el->= scrollIntoViewNoAlignToTop;*/
+let _ = el->scrollIntoViewNoAlignToTop;
+let _ = el->scrollIntoViewWithOptions({"block": "end", "behavior": "smooth"});
+let _ = el->setAttribute("href", "http://...");
+let _ = el->setAttributeNS("http://...", "foo", "bar");
+let _ = el->setPointerCapture(PointerEvent.pointerId(event));
diff --git a/tests/Webapi/Dom/Webapi__Dom__EventTarget__test.re b/tests/Webapi/Dom/Webapi__Dom__EventTarget__test.re
index 37d9c07f..b48de72b 100644
--- a/tests/Webapi/Dom/Webapi__Dom__EventTarget__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__EventTarget__test.re
@@ -1,20 +1,30 @@
open Webapi.Dom;
open EventTarget;
-let target =
- document |> Document.createElement("strong")
- |> Element.asEventTarget;
+let target = document->Document.createElement("strong")->Element.asEventTarget;
let event = Event.make("my-event");
-let handleClick = (_) => print_endline("asd");
+let handleClick = _ => print_endline("asd");
-addEventListener("click", handleClick, target);
-addEventListenerWithOptions("click",handleClick, {"passive": true, "once": true, "capture": false}, target);
-addEventListenerUseCapture("click", handleClick, target);
-removeEventListener("click", handleClick, target);
-removeEventListenerWithOptions("click", handleClick, {"passive": true, "capture": false}, target);
-removeEventListenerUseCapture("click", handleClick, target);
-let _ = dispatchEvent(event, target);
+target->addEventListener("click", handleClick);
+target->addEventListenerWithOptions(
+ "click",
+ handleClick,
+ {"passive": true, "once": true, "capture": false},
+);
+target->addEventListenerUseCapture("click", handleClick);
+target->removeEventListener("click", handleClick);
+target->removeEventListenerWithOptions(
+ "click",
+ handleClick,
+ {"passive": true, "capture": false},
+);
+target->removeEventListenerUseCapture("click", handleClick);
+let _ = target->dispatchEvent(event);
/* https://github.com/reasonml-community/bs-webapi-incubator/issues/103 */
-let customEvent = CustomEvent.makeWithOptions("custom-event", {"detail": {"test": "test"}});
-dispatchEvent(customEvent, target);
+let customEvent = CustomEvent.makeWithOptions("custom-event", {
+ "detail": {
+ "test": "test",
+ },
+ });
+let _ = target->dispatchEvent(customEvent);
diff --git a/tests/Webapi/Dom/Webapi__Dom__GlobalEventHandlers__test.re b/tests/Webapi/Dom/Webapi__Dom__GlobalEventHandlers__test.re
index ac2b14fb..2c9bf895 100644
--- a/tests/Webapi/Dom/Webapi__Dom__GlobalEventHandlers__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__GlobalEventHandlers__test.re
@@ -1,33 +1,61 @@
open Webapi.Dom;
-let handleSelection = (_) => print_endline("change");
-
-let elm = document |> Document.createElement("strong");
-
-Element.addSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "once": true, "capture": false}, elm);
-Element.addSelectionChangeEventListenerUseCapture(handleSelection, elm);
-Element.removeSelectionChangeEventListener(handleSelection, elm);
-Element.removeSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "capture": false}, elm);
-Element.removeSelectionChangeEventListenerUseCapture(handleSelection, elm);
-
-let htmlElm = document |> Document.createElement("strong") |> HtmlElement.ofElement |> TestHelpers.unsafelyUnwrapOption;
-
-HtmlElement.addSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "once": true, "capture": false}, htmlElm);
-HtmlElement.addSelectionChangeEventListenerUseCapture(handleSelection, htmlElm);
-HtmlElement.removeSelectionChangeEventListener(handleSelection, htmlElm);
-HtmlElement.removeSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "capture": false}, htmlElm);
-HtmlElement.removeSelectionChangeEventListenerUseCapture(handleSelection, htmlElm);
-
-let htmlDoc = document |> Document.asHtmlDocument |> TestHelpers.unsafelyUnwrapOption;
-
-HtmlDocument.addSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "once": true, "capture": false}, htmlDoc);
-HtmlDocument.addSelectionChangeEventListenerUseCapture(handleSelection, htmlDoc);
-HtmlDocument.removeSelectionChangeEventListener(handleSelection, htmlDoc);
-HtmlDocument.removeSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "capture": false}, htmlDoc);
-HtmlDocument.removeSelectionChangeEventListenerUseCapture(handleSelection, htmlDoc);
-
-Window.addSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "once": true, "capture": false}, window);
-Window.addSelectionChangeEventListenerUseCapture(handleSelection, window);
-Window.removeSelectionChangeEventListener(handleSelection, window);
-Window.removeSelectionChangeEventListenerWithOptions(handleSelection, {"passive": true, "capture": false}, window);
-Window.removeSelectionChangeEventListenerUseCapture(handleSelection, window);
+let handleSelection = _ => print_endline("change");
+
+let elm = document->Document.createElement("strong");
+
+elm->Element.addSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "once": true, "capture": false},
+);
+elm->Element.addSelectionChangeEventListenerUseCapture(handleSelection);
+elm->Element.removeSelectionChangeEventListener(handleSelection);
+elm->Element.removeSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "capture": false},
+);
+elm->Element.removeSelectionChangeEventListenerUseCapture(handleSelection);
+
+let htmlElm =
+ document
+ ->Document.createElement("strong")
+ ->HtmlElement.ofElement
+ ->TestHelpers.unsafelyUnwrapOption;
+
+htmlElm->HtmlElement.addSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "once": true, "capture": false},
+);
+htmlElm->HtmlElement.addSelectionChangeEventListenerUseCapture(handleSelection);
+htmlElm->HtmlElement.removeSelectionChangeEventListener(handleSelection);
+htmlElm->HtmlElement.removeSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "capture": false},
+);
+htmlElm->HtmlElement.removeSelectionChangeEventListenerUseCapture(handleSelection);
+
+let htmlDoc = document->Document.asHtmlDocument->TestHelpers.unsafelyUnwrapOption;
+
+htmlDoc->HtmlDocument.addSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "once": true, "capture": false},
+);
+htmlDoc->HtmlDocument.addSelectionChangeEventListenerUseCapture(handleSelection);
+htmlDoc->HtmlDocument.removeSelectionChangeEventListener(handleSelection);
+htmlDoc->HtmlDocument.removeSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "capture": false},
+);
+htmlDoc->HtmlDocument.removeSelectionChangeEventListenerUseCapture(handleSelection);
+
+window->Window.addSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "once": true, "capture": false},
+);
+window->Window.addSelectionChangeEventListenerUseCapture(handleSelection);
+window->Window.removeSelectionChangeEventListener(handleSelection);
+window->Window.removeSelectionChangeEventListenerWithOptions(
+ handleSelection,
+ {"passive": true, "capture": false},
+);
+window->Window.removeSelectionChangeEventListenerUseCapture(handleSelection);
diff --git a/tests/Webapi/Dom/Webapi__Dom__History__test.re b/tests/Webapi/Dom/Webapi__Dom__History__test.re
index bb9be35a..4f127829 100644
--- a/tests/Webapi/Dom/Webapi__Dom__History__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__History__test.re
@@ -1,13 +1,13 @@
open Webapi.Dom;
open History;
-let _ = length(history);
-let _ = scrollRestoration(history);
-let _ = setScrollRestoration(history, true);
-let _ = state(history);
+let _ = history->length;
+let _ = history->scrollRestoration;
+let _ = history->setScrollRestoration(true);
+let _ = history->state;
-back(history);
-forward(history);
-go((-2), history);
-pushState(state(history), "My title", "http://...", history);
-replaceState(state(history), "My title", "http://...", history);
+history->back;
+history->forward;
+history->go(-2);
+history->pushState(history->state, "My title", "http://...");
+history->replaceState(history->state, "My title", "http://...");
diff --git a/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.re b/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.re
index ff8a1dc7..ba8d3665 100644
--- a/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__HtmlDocument__test.re
@@ -1,48 +1,46 @@
open Webapi.Dom;
open! HtmlDocument;
-let el = document |> Document.createElement("strong");
-let htmlDocument =
- document |> Document.asHtmlDocument
- |> TestHelpers.unsafelyUnwrapOption;
+let el = document->Document.createElement("strong");
+let htmlDocument = document->Document.asHtmlDocument->TestHelpers.unsafelyUnwrapOption;
-let _ = activeElement(htmlDocument);
-let _ = body(htmlDocument);
-let _ = setBody(htmlDocument, el);
-let _ = cookie(htmlDocument);
-let _ = setCookie(htmlDocument, "foo=bar;reason=ml");
-let _ = defaultView(htmlDocument);
-let _ = designMode(htmlDocument);
-let _ = setDesignMode(htmlDocument, On);
-let _ = dir(htmlDocument);
-let _ = setDir(htmlDocument, Ltr);
-let _ = domain(htmlDocument);
-let _ = setDomain(htmlDocument, "reason.ml");
-let _ = embeds(htmlDocument);
-let _ = forms(htmlDocument);
-let _ = head(htmlDocument);
-let _ = images(htmlDocument);
-let _ = lastModified(htmlDocument);
-let _ = links(htmlDocument);
-let _ = location(htmlDocument);
-let _ = setLocation(htmlDocument, "http://reason.ml");
-let _ = plugins(htmlDocument);
-let _ = readyState(htmlDocument);
-let _ = referrer(htmlDocument);
-let _ = scripts(htmlDocument);
-let _ = title(htmlDocument);
-let _ = setTitle(htmlDocument, "Reason: Rapid Expressive Systems Programming.");
-let _ = url(htmlDocument);
+let _ = htmlDocument->activeElement;
+let _ = htmlDocument->body;
+let _ = htmlDocument->setBody(el);
+let _ = htmlDocument->cookie;
+let _ = htmlDocument->setCookie("foo=bar;reason=ml");
+let _ = htmlDocument->defaultView;
+let _ = htmlDocument->designMode;
+let _ = htmlDocument->setDesignMode(On);
+let _ = htmlDocument->dir;
+let _ = htmlDocument->setDir(Ltr);
+let _ = htmlDocument->domain;
+let _ = htmlDocument->setDomain("reason.ml");
+let _ = htmlDocument->embeds;
+let _ = htmlDocument->forms;
+let _ = htmlDocument->head;
+let _ = htmlDocument->images;
+let _ = htmlDocument->lastModified;
+let _ = htmlDocument->links;
+let _ = htmlDocument->location;
+let _ = htmlDocument->setLocation("http://reason.ml");
+let _ = htmlDocument->plugins;
+let _ = htmlDocument->readyState;
+let _ = htmlDocument->referrer;
+let _ = htmlDocument->scripts;
+let _ = htmlDocument->title;
+let _ = htmlDocument->setTitle("Reason: Rapid Expressive Systems Programming.");
+let _ = htmlDocument->url;
-close(htmlDocument);
-let _ = execCommand("copy", false, None, htmlDocument);
-let _ = getElementsByName("angry-joe", htmlDocument);
-let _ = getSelection(htmlDocument);
-let _ = hasFocus(htmlDocument);
-open_(htmlDocument);
-let _ = queryCommandEnabled("copy", htmlDocument);
-let _ = queryCommandIndeterm("cut", htmlDocument);
-let _ = queryCommandSupported("paste", htmlDocument);
-let _ = queryCommandValue("fontName", htmlDocument);
-write("Hello World!", htmlDocument);
-writeln("Hello Newline!", htmlDocument);
+htmlDocument->close;
+let _ = htmlDocument->execCommand("copy", false, None);
+let _ = htmlDocument->getElementsByName("angry-joe");
+let _ = htmlDocument->getSelection;
+let _ = htmlDocument->hasFocus;
+htmlDocument->open_;
+let _ = htmlDocument->queryCommandEnabled("copy");
+let _ = htmlDocument->queryCommandIndeterm("cut");
+let _ = htmlDocument->queryCommandSupported("paste");
+let _ = htmlDocument->queryCommandValue("fontName");
+htmlDocument->write("Hello World!");
+htmlDocument->writeln("Hello Newline!");
diff --git a/tests/Webapi/Dom/Webapi__Dom__HtmlElement__test.re b/tests/Webapi/Dom/Webapi__Dom__HtmlElement__test.re
index 587cb9e4..881bc1da 100644
--- a/tests/Webapi/Dom/Webapi__Dom__HtmlElement__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__HtmlElement__test.re
@@ -2,59 +2,61 @@ open Webapi.Dom;
open HtmlElement;
let el =
- document |> Document.createElement("strong")
- |> Element.asHtmlElement
- |> TestHelpers.unsafelyUnwrapOption;
+ document
+ ->Document.createElement("strong")
+ ->Element.asHtmlElement
+ ->TestHelpers.unsafelyUnwrapOption;
let el2 =
- document |> Document.createElement("small")
- |> Element.asHtmlElement
- |> TestHelpers.unsafelyUnwrapOption;
-let event = document |> Document.createEvent("my-event");
+ document
+ ->Document.createElement("small")
+ ->Element.asHtmlElement
+ ->TestHelpers.unsafelyUnwrapOption;
+let event = document->Document.createEvent("my-event");
-let _ = accessKey(el);
-let _ = setAccessKey(el, "");
-let _ = accessKeyLabel(el);
-let _ = contentEditable(el);
-let _ = setContentEditable(el, Inherit);
-let _ = isContentEditable(el);
-let _ = contextMenu(el);
-let _ = setContextMenu(el, el2);
-let _ = dataset(el);
-let _ = dir(el);
-let _ = setDir(el, Rtl);
-let _ = draggable(el);
-let _ = setDraggable(el, true);
-let _ = dropzone(el);
-let _ = hidden(el);
-let _ = setHidden(el, true);
-let _ = itemScope(el);
-let _ = setItemScope(el, true);
-let _ = itemType(el);
-let _ = itemId(el);
-let _ = setItemId(el, "my-id");
-let _ = itemRef(el);
-let _ = itemProp(el);
-let _ = itemValue(el);
-let _ = setItemValue(el, [%bs.raw "{}"]);
-let _ = lang(el);
-let _ = setLang(el, "en");
-let _ = offsetHeight(el);
-let _ = offsetLeft(el);
-let _ = offsetParent(el);
-let _ = offsetTop(el);
-let _ = offsetWidth(el);
-let _ = spellcheck(el);
-let _ = setSpellcheck(el, true);
-let _ = style(el);
+let _ = el->accessKey;
+let _ = el->setAccessKey("");
+let _ = el->accessKeyLabel;
+let _ = el->contentEditable;
+let _ = el->setContentEditable(Inherit);
+let _ = el->isContentEditable;
+let _ = el->contextMenu;
+let _ = el->setContextMenu(el2);
+let _ = el->dataset;
+let _ = el->dir;
+let _ = el->setDir(Rtl);
+let _ = el->draggable;
+let _ = el->setDraggable(true);
+let _ = el->dropzone;
+let _ = el->hidden;
+let _ = el->setHidden(true);
+let _ = el->itemScope;
+let _ = el->setItemScope(true);
+let _ = el->itemType;
+let _ = el->itemId;
+let _ = el->setItemId("my-id");
+let _ = el->itemRef;
+let _ = el->itemProp;
+let _ = el->itemValue;
+let _ = el->setItemValue([%bs.raw "{}"]);
+let _ = el->lang;
+let _ = el->setLang("en");
+let _ = el->offsetHeight;
+let _ = el->offsetLeft;
+let _ = el->offsetParent;
+let _ = el->offsetTop;
+let _ = el->offsetWidth;
+let _ = el->spellcheck;
+let _ = el->setSpellcheck(true);
+let _ = el->style;
/* let _ = setStyle el CSSStyleDeclaration.t; /* TODO: No way to make a CSSStyleDeclaration at the moment */*/
-let _ = tabIndex(el);
-let _ = setTabIndex(el, 42);
-let _ = title(el);
-let _ = setTitle(el, "hovertext!");
-let _ = translate(el);
-let _ = setTranslate(el, true);
+let _ = el->tabIndex;
+let _ = el->setTabIndex(42);
+let _ = el->title;
+let _ = el->setTitle("hovertext!");
+let _ = el->translate;
+let _ = el->setTranslate(true);
-blur(el);
-click(el);
-focus(el);
-forceSpellCheck(el);
+el->blur;
+el->click;
+el->focus;
+el->forceSpellCheck;
diff --git a/tests/Webapi/Dom/Webapi__Dom__HtmlFormElement__test.re b/tests/Webapi/Dom/Webapi__Dom__HtmlFormElement__test.re
index fe0ab98e..438db5ea 100644
--- a/tests/Webapi/Dom/Webapi__Dom__HtmlFormElement__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__HtmlFormElement__test.re
@@ -1,4 +1,4 @@
open Webapi.FormData;
open Webapi.Dom.HtmlFormElement;
-let test_data = formElement => formElement |> data |> get("foo");
+let test_data = formElement => formElement->data |> get("foo");
diff --git a/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.re b/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.re
index 2168d53a..d134dd87 100644
--- a/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__KeyboardEvent__test.re
@@ -4,34 +4,34 @@ open! KeyboardEvent;
let event = make("my-event");
/* Event */
-let _ = bubbles(event);
-let _ = cancelable(event);
-let _ = composed(event);
-let _ = currentTarget(event);
-let _ = defaultPrevented(event);
-let _ = eventPhase(event);
-let _ = target(event);
-let _ = timeStamp(event);
-let _ = type_(event);
-let _ = isTrusted(event);
+let _ = event->bubbles;
+let _ = event->cancelable;
+let _ = event->composed;
+let _ = event->currentTarget;
+let _ = event->defaultPrevented;
+let _ = event->eventPhase;
+let _ = event->target;
+let _ = event->timeStamp;
+let _ = event->type_;
+let _ = event->isTrusted;
-preventDefault(event);
-stopImmediatePropagation(event);
-stopPropagation(event);
+event->preventDefault;
+event->stopImmediatePropagation;
+event->stopPropagation;
/* UIEvent */
-let _ = detail(event);
-let _ = view(event);
+let _ = event->detail;
+let _ = event->view;
/* KeyboardEvent */
-let _ = altKey(event);
-let _ = code(event);
-let _ = ctrlKey(event);
-let _ = isComposing(event);
-let _ = key(event);
-let _ = locale(event);
-let _ = location(event);
-let _ = metaKey(event);
-let _ = repeat(event);
-let _ = shiftKey(event);
-let _ = getModifierState(Alt, event);
+let _ = event->altKey;
+let _ = event->code;
+let _ = event->ctrlKey;
+let _ = event->isComposing;
+let _ = event->key;
+let _ = event->locale;
+let _ = event->location;
+let _ = event->metaKey;
+let _ = event->repeat;
+let _ = event->shiftKey;
+let _ = event->getModifierState(Alt);
diff --git a/tests/Webapi/Dom/Webapi__Dom__Location__test.re b/tests/Webapi/Dom/Webapi__Dom__Location__test.re
index d64e4731..f0b45a2c 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Location__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Location__test.re
@@ -1,30 +1,30 @@
open Webapi.Dom;
open Location;
-let _ = href(location);
-let _ = setHref(location, "http://reason.ml");
-let _ = protocol(location);
-let _ = setProtocol(location, "https");
-let _ = host(location);
-let _ = setHost(location, "reason.ml");
-let _ = hostname(location);
-let _ = setHostname(location, "reason.ml");
-let _ = port(location);
-let _ = setPort(location, "443");
-let _ = pathname(location);
-let _ = setPathname(location, "/reason/tools.html");
-let _ = search(location);
-let _ = setSearch(location, "q=reasonml");
-let _ = hash(location);
-let _ = setHash(location, "merlin-atom");
-let _ = username(location);
-let _ = setUsername(location, "alonzo.church");
-let _ = password(location);
-let _ = setPassword(location, "lambda-the-ultimate");
-let _ = origin(location);
+let _ = location->href;
+let _ = location->setHref("http://reason.ml");
+let _ = location->protocol;
+let _ = location->setProtocol("https");
+let _ = location->host;
+let _ = location->setHost("reason.ml");
+let _ = location->hostname;
+let _ = location->setHostname("reason.ml");
+let _ = location->port;
+let _ = location->setPort("443");
+let _ = location->pathname;
+let _ = location->setPathname("/reason/tools.html");
+let _ = location->search;
+let _ = location->setSearch("q=reasonml");
+let _ = location->hash;
+let _ = location->setHash("merlin-atom");
+let _ = location->username;
+let _ = location->setUsername("alonzo.church");
+let _ = location->password;
+let _ = location->setPassword("lambda-the-ultimate");
+let _ = location->origin;
-assign("http://reason.ml", location);
-reload(location);
-reloadWithForce(location);
-replace("http://reason.ml", location);
-let _ = toString(location);
+location->assign("http://reason.ml");
+location->reload;
+location->reloadWithForce;
+location->replace("http://reason.ml");
+let _ = location->toString;
diff --git a/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.re b/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.re
index 71b04fd3..11d41be4 100644
--- a/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__MouseEvent__test.re
@@ -4,44 +4,44 @@ open MouseEvent;
let event = make("my-event");
/* Event */
-let _ = bubbles(event);
-let _ = cancelable(event);
-let _ = composed(event);
-let _ = currentTarget(event);
-let _ = defaultPrevented(event);
-let _ = eventPhase(event);
-let _ = target(event);
-let _ = timeStamp(event);
-let _ = type_(event);
-let _ = isTrusted(event);
+let _ = event->bubbles;
+let _ = event->cancelable;
+let _ = event->composed;
+let _ = event->currentTarget;
+let _ = event->defaultPrevented;
+let _ = event->eventPhase;
+let _ = event->target;
+let _ = event->timeStamp;
+let _ = event->type_;
+let _ = event->isTrusted;
-preventDefault(event);
-stopImmediatePropagation(event);
-stopPropagation(event);
+event->preventDefault;
+event->stopImmediatePropagation;
+event->stopPropagation;
/* UIEvent */
-let _ = detail(event);
-let _ = view(event);
+let _ = event->detail;
+let _ = event->view;
/* MouseEvent */
-let _ = altKey(event);
-let _ = button(event);
-let _ = buttons(event);
-let _ = clientX(event);
-let _ = clientY(event);
-let _ = ctrlKey(event);
-let _ = metaKey(event);
-let _ = movementX(event);
-let _ = movementY(event);
-let _ = offsetX(event);
-let _ = offsetY(event);
-let _ = pageX(event);
-let _ = pageY(event);
-let _ = region(event);
-let _ = relatedTarget(event);
-let _ = screenX(event);
-let _ = screenY(event);
-let _ = shiftKey(event);
-let _ = x(event);
-let _ = y(event);
-let _ = getModifierState(Alt, event);
+let _ = event->altKey;
+let _ = event->button;
+let _ = event->buttons;
+let _ = event->clientX;
+let _ = event->clientY;
+let _ = event->ctrlKey;
+let _ = event->metaKey;
+let _ = event->movementX;
+let _ = event->movementY;
+let _ = event->offsetX;
+let _ = event->offsetY;
+let _ = event->pageX;
+let _ = event->pageY;
+let _ = event->region;
+let _ = event->relatedTarget;
+let _ = event->screenX;
+let _ = event->screenY;
+let _ = event->shiftKey;
+let _ = event->x;
+let _ = event->y;
+let _ = event->getModifierState(Alt);
diff --git a/tests/Webapi/Dom/Webapi__Dom__NodeList__test.re b/tests/Webapi/Dom/Webapi__Dom__NodeList__test.re
index 29a6f572..8d8a907e 100644
--- a/tests/Webapi/Dom/Webapi__Dom__NodeList__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__NodeList__test.re
@@ -1,6 +1,6 @@
open Webapi.Dom;
open NodeList;
-let items = document |> Document.querySelectorAll(".item");
+let items = document->Document.querySelectorAll(".item");
-forEach((item, _) => Js.log(item), items);
+items->forEach((item, _) => Js.log(item));
diff --git a/tests/Webapi/Dom/Webapi__Dom__Node__test.re b/tests/Webapi/Dom/Webapi__Dom__Node__test.re
index 5d1a9130..863dc74d 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Node__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Node__test.re
@@ -1,46 +1,46 @@
open Webapi.Dom;
open Node;
-let node = document |> Document.createElement("strong") |> Element.rootNode;
-let node2 = document |> Document.createElement("small") |> Element.rootNode;
-let node3 = document |> Document.createElement("small") |> Element.rootNode;
+let node = document->Document.createElement("strong")->Element.rootNode;
+let node2 = document->Document.createElement("small")->Element.rootNode;
+let node3 = document->Document.createElement("small")->Element.rootNode;
-let _ = childNodes(node);
-let _ = firstChild(node);
-let _ = lastChild(node);
-let _ = nextSibling(node);
-let _ = nodeName(node);
-let _ = nodeType(node);
-let _ = nodeValue(node);
-let _ = setNodeValue(node, Js.Null.return("foo"));
+let _ = node->childNodes;
+let _ = node->firstChild;
+let _ = node->lastChild;
+let _ = node->nextSibling;
+let _ = node->nodeName;
+let _ = node->nodeType;
+let _ = node->nodeValue;
+let _ = node->setNodeValue(Js.Null.return("foo"));
/* Not supported yet
-let _ = setNodeValue(node, "foo");
-let _ = clearNodeValue(node);
-*/
-let _ = ownerDocument(node);
-let _ = parentNode(node);
-let _ = parentElement(node);
-let _ = previousSibling(node);
-let _ = rootNode(node);
-let _ = textContent(node);
-let _ = setTextContent(node, "foo");
+ let _ = node->setNodeValue("foo");
+ let _ = node->clearNodeValue;
+ */
+let _ = node->ownerDocument;
+let _ = node->parentNode;
+let _ = node->parentElement;
+let _ = node->previousSibling;
+let _ = node->rootNode;
+let _ = node->textContent;
+let _ = node->setTextContent("foo");
-let _ = appendChild(node2, node);
-let _ = cloneNode(node);
-let _ = cloneNodeDeep(node);
-let _ = compareDocumentPosition(node2, node);
-let _ = contains(node2, node);
-let _ = getRootNode(node);
-let _ = getRootNodeComposed(node);
-let _ = hasChildNodes(node);
-let _ = insertBefore(node2, node3, node);
-/***let _ = insertBefore(node2, None, node);*/
-let _ = isDefaultNamespace("http://...", node);
-let _ = isEqualNode(node2, node);
-let _ = isSameNode(node2, node);
-let _ = lookupPrefix(node);
-let _ = lookupNamespaceURI("https://...", node);
-let _ = lookupDefaultNamespaceURI(node);
-let _ = normalize(node);
-let _ = removeChild(node2, node);
-let _ = replaceChild(node3, node2, node);
+let _ = node->appendChild(node2);
+let _ = node->cloneNode;
+let _ = node->cloneNodeDeep;
+let _ = node->compareDocumentPosition(node2);
+let _ = node->contains(node2);
+let _ = node->getRootNode;
+let _ = node->getRootNodeComposed;
+let _ = node->hasChildNodes;
+let _ = node->insertBefore(node2, node3);
+/***let _ node->= insertBefore(node2, None);*/
+let _ = node->isDefaultNamespace("http://...");
+let _ = node->isEqualNode(node2);
+let _ = node->isSameNode(node2);
+let _ = node->lookupPrefix;
+let _ = node->lookupNamespaceURI("https://...");
+let _ = node->lookupDefaultNamespaceURI;
+let _ = node->normalize;
+let _ = node->removeChild(node2);
+let _ = node->replaceChild(node3, node2);
diff --git a/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.re b/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.re
index 676df6ac..059207b2 100644
--- a/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__PointerEvent__test.re
@@ -4,54 +4,54 @@ open PointerEvent;
let event = make("my-event");
/* Event */
-let _ = bubbles(event);
-let _ = cancelable(event);
-let _ = composed(event);
-let _ = currentTarget(event);
-let _ = defaultPrevented(event);
-let _ = eventPhase(event);
-let _ = target(event);
-let _ = timeStamp(event);
-let _ = type_(event);
-let _ = isTrusted(event);
+let _ = event->bubbles;
+let _ = event->cancelable;
+let _ = event->composed;
+let _ = event->currentTarget;
+let _ = event->defaultPrevented;
+let _ = event->eventPhase;
+let _ = event->target;
+let _ = event->timeStamp;
+let _ = event->type_;
+let _ = event->isTrusted;
-preventDefault(event);
-stopImmediatePropagation(event);
-stopPropagation(event);
+event->preventDefault;
+event->stopImmediatePropagation;
+event->stopPropagation;
/* UIEvent */
-let _ = detail(event);
-let _ = view(event);
+let _ = event->detail;
+let _ = event->view;
/* MouseEvent */
-let _ = altKey(event);
-let _ = button(event);
-let _ = buttons(event);
-let _ = clientX(event);
-let _ = clientY(event);
-let _ = ctrlKey(event);
-let _ = metaKey(event);
-let _ = movementX(event);
-let _ = movementY(event);
-let _ = offsetX(event);
-let _ = offsetY(event);
-let _ = pageX(event);
-let _ = pageY(event);
-let _ = region(event);
-let _ = relatedTarget(event);
-let _ = screenX(event);
-let _ = screenY(event);
-let _ = shiftKey(event);
-let _ = x(event);
-let _ = y(event);
-let _ = getModifierState(Alt, event);
+let _ = event->altKey;
+let _ = event->button;
+let _ = event->buttons;
+let _ = event->clientX;
+let _ = event->clientY;
+let _ = event->ctrlKey;
+let _ = event->metaKey;
+let _ = event->movementX;
+let _ = event->movementY;
+let _ = event->offsetX;
+let _ = event->offsetY;
+let _ = event->pageX;
+let _ = event->pageY;
+let _ = event->region;
+let _ = event->relatedTarget;
+let _ = event->screenX;
+let _ = event->screenY;
+let _ = event->shiftKey;
+let _ = event->x;
+let _ = event->y;
+let _ = event->getModifierState(Alt);
/* PointerEvent */
-let _ = pointerId(event);
-let _ = width(event);
-let _ = height(event);
-let _ = pressure(event);
-let _ = tiltX(event);
-let _ = tiltY(event);
-let _ = pointerType(event);
-let _ = isPrimary(event);
+let _ = event->pointerId;
+let _ = event->width;
+let _ = event->height;
+let _ = event->pressure;
+let _ = event->tiltX;
+let _ = event->tiltY;
+let _ = event->pointerType;
+let _ = event->isPrimary;
diff --git a/tests/Webapi/Dom/Webapi__Dom__Range__test.re b/tests/Webapi/Dom/Webapi__Dom__Range__test.re
index e705039d..9c21cffb 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Range__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Range__test.re
@@ -1,39 +1,39 @@
open Webapi.Dom;
open Range;
-let node = document |> Document.createElement("strong");
+let node = document->Document.createElement("strong");
let range = make();
-let _ = collapsed(range);
-let _ = commonAncestorContainer(range);
-let _ = endContainer(range);
-let _ = endOffset(range);
-let _ = startContainer(range);
-let _ = startOffset(range);
+let _ = range->collapsed;
+let _ = range->commonAncestorContainer;
+let _ = range->endContainer;
+let _ = range->endOffset;
+let _ = range->startContainer;
+let _ = range->startOffset;
-setStart(node, 0, range);
-setEnd(node, 0, range);
-setStartBefore(node, range);
-setStartAfter(node, range);
-setEndBefore(node, range);
-setEndAfter(node, range);
-selectNode(node, range);
-selectNodeContents(node, range);
-collapse(range);
-collapseToStart(range);
-let _ = cloneContents(range);
-deleteContents(range);
-let _ = extractContents(range);
-insertNode(node, range);
-surroundContents(node, range);
-let _ = compareBoundaryPoints(0, range, range);
-let _ = cloneRange(range);
-detach(range);
-let _ = toString(range);
-let _ = comparePoint(node, 0, range);
-let _ = createContextualFragment("stuff", range);
-let _ = getBoundingClientRect(range);
-let _ = getClientRects(range);
-let _ = intersectsNode(node, range);
-let _ = isPointInRange(node, 0, range);
+range->setStart(node, 0);
+range->setEnd(node, 0);
+range->setStartBefore(node);
+range->setStartAfter(node);
+range->setEndBefore(node);
+range->setEndAfter(node);
+range->selectNode(node);
+range->selectNodeContents(node);
+range->collapse;
+range->collapseToStart;
+let _ = range->cloneContents;
+range->deleteContents;
+let _ = range->extractContents;
+range->insertNode(node);
+range->surroundContents(node);
+let _ = range->compareBoundaryPoints(0, range);
+let _ = range->cloneRange;
+range->detach;
+let _ = range->toString;
+let _ = range->comparePoint(node, 0);
+let _ = range->createContextualFragment("stuff");
+let _ = range->getBoundingClientRect;
+let _ = range->getClientRects;
+let _ = range->intersectsNode(node);
+let _ = range->isPointInRange(node, 0);
diff --git a/tests/Webapi/Dom/Webapi__Dom__Selection__test.re b/tests/Webapi/Dom/Webapi__Dom__Selection__test.re
index 5050ed1d..7d19d993 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Selection__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Selection__test.re
@@ -1,32 +1,30 @@
open Webapi.Dom;
open Selection;
-let node = document |> Document.createElement("strong");
+let node = document->Document.createElement("strong");
let sel =
- document |> Document.asHtmlDocument
- |> TestHelpers.unsafelyUnwrapOption
- |> HtmlDocument.getSelection;
+ document->Document.asHtmlDocument->TestHelpers.unsafelyUnwrapOption->HtmlDocument.getSelection;
let range = Range.make();
-let _ = anchorNode(sel);
-let _ = anchorOffset(sel);
-let _ = focusNode(sel);
-let _ = focusOffset(sel);
-let _ = isCollapsed(sel);
-let _ = rangeCount(sel);
-let _ = getRangeAt(0, sel);
+let _ = sel->anchorNode;
+let _ = sel->anchorOffset;
+let _ = sel->focusNode;
+let _ = sel->focusOffset;
+let _ = sel->isCollapsed;
+let _ = sel->rangeCount;
+let _ = sel->getRangeAt(0);
-collapse(node, 0, sel);
-extend(node, 0, sel);
-collapseToStart(sel);
-collapseToEnd(sel);
-selectAllChildren(node, sel);
-addRange(range, sel);
-removeRange(range, sel);
-removeAllRanges(sel);
-deleteFromDocument(sel);
-setBaseAndExtent(node, 0, node, 0, sel);
-let _ = toString(sel);
-let _ = containsNode(node, sel);
-let _ = containsNodePartly(node, sel);
+sel->collapse(node, 0);
+sel->extend(node, 0);
+sel->collapseToStart;
+sel->collapseToEnd;
+sel->selectAllChildren(node);
+sel->addRange(range);
+sel->removeRange(range);
+sel->removeAllRanges;
+sel->deleteFromDocument;
+sel->setBaseAndExtent(node, 0, node, 0);
+let _ = sel->toString;
+let _ = sel->containsNode(node);
+let _ = sel->containsNodePartly(node);
diff --git a/tests/Webapi/Dom/Webapi__Dom__Text__test.re b/tests/Webapi/Dom/Webapi__Dom__Text__test.re
index 602106e0..af248c7f 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Text__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Text__test.re
@@ -1,7 +1,5 @@
open Webapi.Dom;
-let node =
- document |> Document.createTextNode("text")
- |> Text.asNode;
+let node = document->Document.createTextNode("text")->Text.asNode;
let text = Text.ofNode(node);
diff --git a/tests/Webapi/Dom/Webapi__Dom__Window__test.re b/tests/Webapi/Dom/Webapi__Dom__Window__test.re
index 57d495d5..20a76e8f 100644
--- a/tests/Webapi/Dom/Webapi__Dom__Window__test.re
+++ b/tests/Webapi/Dom/Webapi__Dom__Window__test.re
@@ -1,8 +1,8 @@
open Webapi.Dom;
-let el = document |> Document.createElement("strong");
-let event = document |> Document.createEvent("my-event");
-let handleClick = (_) => print_endline("asd");
+let el = document->Document.createElement("strong");
+let event = document->Document.createEvent("my-event");
+let handleClick = _ => print_endline("asd");
let _ = Window.console(window);
let _ = Window.crypto(window);
@@ -45,30 +45,31 @@ let _ = Window.toolbar(window);
let _ = Window.top(window);
let _ = Window.window(window);
-Window.alert("hello!", window);
+window->Window.alert("hello!");
Window.blur(window);
-let idleId = Window.requestIdleCallback((_) => (), window); /* out of order */
-Window.cancelIdleCallback(idleId, window);
+let idleId = window->Window.requestIdleCallback(_ => ()); /* out of order */
+window->Window.cancelIdleCallback(idleId);
Window.close(window);
-let _ = Window.confirm("is ok?", window);
+let _ = window->Window.confirm("is ok?");
Window.focus(window);
-let _ = Window.getComputedStyle(el, window);
-let _ = Window.getComputedStyleWithPseudoElement(el, "hover", window);
+let _ = window->Window.getComputedStyle(el);
+let _ = window->Window.getComputedStyleWithPseudoElement(el, "hover");
let _ = Window.getSelection(window);
-let _ = Window.matchMedia("max-height: 400", window);
-let _ = Window.moveBy(10, (-10), window);
-let _ = Window.moveTo(120, 300, window);
-let _ = Window.open_(~url="http://...", ~name="my window", ~features="menubar=yes", window);
-let _ = Window.open_(~url="http://...", ~name="my window", window);
-Window.postMessage("my message", "*", window) /* Currently no way to make transferables */; /*Window.postMessageWithTransfers "my message" "*" transfers window;*/
+let _ = window->Window.matchMedia("max-height: 400");
+let _ = window->Window.moveBy(10, -10);
+let _ = window->Window.moveTo(120, 300);
+let _: option(Dom.window) =
+ window->Window.open_(~url="http://...", ~name="my window", ~features="menubar=yes", ());
+let _: option(Dom.window) = window->Window.open_(~url="http://...", ~name="my window", ());
+window->Window.postMessage("my message", "*");
Window.print(window);
-let _ = Window.prompt("type you password, please?", window);
-let _ = Window.promptWithDefault("type password or use this?", "password", window);
-let _ = Window.requestIdleCallbackWithOptions((_) => (), {"timeout": 1000}, window);
-let _ = Window.resizeBy(10, (-10), window);
-let _ = Window.resizeTo(120, 300, window);
-let _ = Window.scroll(0.0, 0.0, window);
-let _ = Window.scrollBy(10.0, (-10.0), window);
-let _ = Window.scrollTo(120.5, 300.3, window);
+let _ = window->Window.prompt("type you password, please?");
+let _ = window->Window.promptWithDefault("type password or use this?", "password");
+let _ = window->Window.requestIdleCallbackWithOptions(_ => (), {"timeout": 1000});
+let _ = window->Window.resizeBy(10, -10);
+let _ = window->Window.resizeTo(120, 300);
+let _ = window->Window.scroll(0.0, 0.0);
+let _ = window->Window.scrollBy(10.0, -10.0);
+let _ = window->Window.scrollTo(120.5, 300.3);
Window.stop(window);
Window.setOnLoad(window, () => print_endline("load"));
diff --git a/tests/Webapi/Webapi__Blob__test.re b/tests/Webapi/Webapi__Blob__test.re
index cd42b4f6..22b8da8b 100644
--- a/tests/Webapi/Webapi__Blob__test.re
+++ b/tests/Webapi/Webapi__Blob__test.re
@@ -1,20 +1,18 @@
open Webapi.Blob;
-let test_arrayBuffer = blob => blob |> arrayBuffer |> Js.Promise.then_(buffer =>
- buffer
- |> Js.Typed_array.ArrayBuffer.byteLength
- |> Js.log
- |> Js.Promise.resolve);
+let test_arrayBuffer = blob =>
+ blob->arrayBuffer
+ |> Js.Promise.then_(buffer =>
+ buffer->Js.Typed_array.ArrayBuffer.byteLength->Js.log->Js.Promise.resolve
+ );
-let test_size = blob => blob |> size |> Js.log;
+let test_size = blob => blob->size->Js.log;
-let test_slice = blob => test_size(slice(~start=0, blob));
+let test_slice = blob => test_size(blob->slice(~start=0, ()));
-let test_stream = blob => blob |> stream;
+let test_stream = blob => blob->stream;
-let test_text = blob => blob |> text |> Js.Promise.then_(string =>
- string
- |> Js.log
- |> Js.Promise.resolve);
+let test_text = blob =>
+ blob->text |> Js.Promise.then_(string => string->Js.log->Js.Promise.resolve);
-let test_type = blob => blob |> type_ |> Js.log;
+let test_type = blob => blob->type_->Js.log;
diff --git a/tests/Webapi/Webapi__File__test.re b/tests/Webapi/Webapi__File__test.re
index da0bbc66..519ba2b6 100644
--- a/tests/Webapi/Webapi__File__test.re
+++ b/tests/Webapi/Webapi__File__test.re
@@ -1,5 +1,5 @@
open Webapi.File;
-let test_lastModified = file => file |> lastModified |> Js.log;
-let test_name = file => file |> name |> Js.log;
-let test_preview = file => file |> preview |> Js.log;
+let test_lastModified = file => file->lastModified->Js.log;
+let test_name = file => file->name->Js.log;
+let test_preview = file => file->preview->Js.log;
diff --git a/tests/Webapi/Webapi__Performace__test.re b/tests/Webapi/Webapi__Performace__test.re
index 2f8d1b41..7a7135b4 100644
--- a/tests/Webapi/Webapi__Performace__test.re
+++ b/tests/Webapi/Webapi__Performace__test.re
@@ -1,4 +1 @@
-let _ =
- Webapi.Dom.window
- |> Webapi.Dom.Window.performance
- |> Webapi.Performance.now;
+let _ = Webapi.Dom.window->Webapi.Dom.Window.performance->Webapi.Performance.now;
diff --git a/tests/Webapi/Webapi__ReadableStream__test.re b/tests/Webapi/Webapi__ReadableStream__test.re
index b07d51fd..23c0a38b 100644
--- a/tests/Webapi/Webapi__ReadableStream__test.re
+++ b/tests/Webapi/Webapi__ReadableStream__test.re
@@ -6,38 +6,25 @@ module DefaultReader__test = {
let test_closed = reader => closed(reader);
let test_cancel = reader =>
- reader
- |> cancel
- |> Js.Promise.then_(() =>
- "cancelled"
- |> Js.log
- |> Js.Promise.resolve);
+ reader->cancel |> Js.Promise.then_(() => "cancelled"->Js.log->Js.Promise.resolve);
let test_cancelWith = reader =>
- reader
- |> cancelWith("reason")
- |> Js.Promise.then_(reason =>
- reason
- |> Js.log
- |> Js.Promise.resolve);
+ reader->cancelWith("reason") |> Js.Promise.then_(reason => reason->Js.log->Js.Promise.resolve);
let test_releaseLock = reader => releaseLock(reader);
let test_read = reader =>
- reader
- |> read
+ reader->read
|> Js.Promise.then_(next =>
- next
- |> Fetch__Iterator.Next.value
- |> Belt.Option.forEach(_, Js.log)
- |> Js.Promise.resolve);
+ next->Fetch__Iterator.Next.value->Belt.Option.forEach(_, Js.log)->Js.Promise.resolve
+ );
};
let test_locked = stream => locked(stream);
let test_cancel = stream => cancel(stream);
-let test_cancelWith = stream => cancelWith("reason", stream);
+let test_cancelWith = stream => stream->cancelWith("reason");
let test_getReader = stream => getReader(stream);
@@ -46,6 +33,6 @@ let test_getReaderBYOB = stream => getReaderBYOB(stream);
let test_tee = stream => {
let (stream1, stream2) = tee(stream);
- stream1 |> cancel |> ignore;
- stream2 |> cancel |> ignore;
+ stream1->cancel->ignore;
+ stream2->cancel->ignore;
};
diff --git a/tests/Webapi/Webapi__ResizeObserver__test.re b/tests/Webapi/Webapi__ResizeObserver__test.re
index fb839bba..e634848a 100644
--- a/tests/Webapi/Webapi__ResizeObserver__test.re
+++ b/tests/Webapi/Webapi__ResizeObserver__test.re
@@ -1,13 +1,14 @@
-let el = Webapi.Dom.document |> Webapi.Dom.Document.createElement("strong");
+let el = Webapi.Dom.document->Webapi.Dom.Document.createElement("strong");
-let handler = (entries) => {
+let handler = entries => {
let entry = entries[0];
- let _: Dom.domRect = Webapi.ResizeObserver.ResizeObserverEntry.contentRect(entry);
- let _: Dom.element = Webapi.ResizeObserver.ResizeObserverEntry.target(entry);
-}
+ let _: Dom.domRect = entry->Webapi.ResizeObserver.ResizeObserverEntry.contentRect;
+ let _: Dom.element = entry->Webapi.ResizeObserver.ResizeObserverEntry.target;
+ ();
+};
let observer = Webapi.ResizeObserver.make(handler);
-Webapi.ResizeObserver.observe(observer, el);
-Webapi.ResizeObserver.unobserve(observer, el);
-Webapi.ResizeObserver.disconnect(observer);
+observer->Webapi.ResizeObserver.observe(el);
+observer->Webapi.ResizeObserver.unobserve(el);
+observer->Webapi.ResizeObserver.disconnect;
diff --git a/tests/Webapi/Webapi__Url__test.re b/tests/Webapi/Webapi__Url__test.re
index 73befaec..746b484c 100644
--- a/tests/Webapi/Webapi__Url__test.re
+++ b/tests/Webapi/Webapi__Url__test.re
@@ -1,6 +1,6 @@
open Webapi.Url;
let params = URLSearchParams.make("key1=value1&key2=value2");
-URLSearchParams.forEach(Js.log2, params);
-let test_entries = params => params |> URLSearchParams.entries |> Js.Array.from;
+params->URLSearchParams.forEach(Js.log2);
+let test_entries = params => params->URLSearchParams.entries->Js.Array.from;
Js.log(test_entries(params));
diff --git a/tests/testHelpers.re b/tests/testHelpers.re
index 7a9e4c71..88c765dd 100644
--- a/tests/testHelpers.re
+++ b/tests/testHelpers.re
@@ -1,3 +1,4 @@
let unsafelyUnwrapOption =
- fun | Some(v) => v
- | None => raise(Invalid_argument("Passed `None` to unsafelyUnwrapOption"));
+ fun
+ | Some(v) => v
+ | None => raise(Invalid_argument("Passed `None` to unsafelyUnwrapOption"));