1
- open Webapi . Dom ;
2
- open Belt . Option ;
1
+ open Webapi .Dom
2
+ open Belt .Option
3
3
4
4
/* Adapted from https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Examples#Example_7:_Displaying_Event_Object_Properties */
5
5
6
- let unwrapUnsafely =
7
- fun
6
+ let unwrapUnsafely = x =>
7
+ switch x {
8
8
| Some (v ) => v
9
- | None => raise (Invalid_argument ("Passed `None` to unwrapUnsafely" ));
9
+ | None => raise (Invalid_argument ("Passed `None` to unwrapUnsafely" ))
10
+ }
10
11
11
12
/*
12
13
* These SHOULD type check
13
14
*/
14
- let _ = document-> Document . createElement("div" )-> Element . className;
15
+ let _ = document -> Document .createElement ("div" )-> Element .className
15
16
16
17
let _ =
17
- document-> Document . createElement("div" )-> Element . nextElementSibling-> map(Element . innerText); /* innerText is a function that accepts a Node */
18
+ document
19
+ -> Document .createElement ("div" )
20
+ -> Element .nextElementSibling
21
+ -> map (Element .innerText ) /* innerText is a function that accepts a Node */
18
22
19
23
/* Before subtyping:
20
24
document->Document.createElement("div")
21
25
->Element.asNode
22
26
->Node.parentElement /* inherited from Node, returns DomRe.element */
23
27
->map(Element.innerText); /* inherited from Node */
24
- */
28
+ */
25
29
26
30
/* After subtyping: */
27
31
let _ =
28
32
document
29
33
-> Document .createElement ("div" )
30
34
-> Element .parentElement /* inherited from Node, returns DomRe.element */
31
- -> map(Element . innerText); /* inherited from Node */
35
+ -> map (Element .innerText ) /* inherited from Node */
32
36
33
- let el = document-> Document . createElement("div" )-> Element . asHtmlElement-> unwrapUnsafely;
37
+ let el = document -> Document .createElement ("div" )-> Element .asHtmlElement -> unwrapUnsafely
34
38
35
- /*
39
+ /*
36
40
document->Document.asHtmlDocument
37
41
->flatMap(HtmlDocument.body)
38
42
->map(Element.appendChild(el));
@@ -42,14 +46,14 @@ let el = document->Document.createElement("div")->Element.asHtmlElement->unwrapU
42
46
document->Document.asHtmlDocument
43
47
->flatMap(HtmlDocument.body)
44
48
->map(Element.appendChild (el->HtmlElement.asNode));
45
- */
49
+ */
46
50
47
51
/* After subtyping: */
48
52
let _ =
49
53
document
50
54
-> Document .asHtmlDocument
51
55
-> flatMap (HtmlDocument .body )
52
- -> map(body => body-> Element . appendChild(el));
56
+ -> map (body => body -> Element .appendChild (el ))
53
57
54
58
/*
55
59
/*
@@ -84,6 +88,4 @@ let _ =
84
88
/* non-standard event-specific listener API - log screen coordinates of mouse cursor when moved */
85
89
document
86
90
-> Document .createElement ("div" )
87
- -> Element . addMouseMoveEventListener(e =>
88
- (MouseEvent . screenX(e), MouseEvent . screenY(e))-> Js . log
89
- );
91
+ -> Element .addMouseMoveEventListener (e => (MouseEvent .screenX (e ), MouseEvent .screenY (e ))-> Js .log )
0 commit comments