@rescript/webapi 0.1.0-experimental-29b94b3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -0
  3. package/package.json +38 -0
  4. package/rescript.json +19 -0
  5. package/src/CSSFontLoadingAPI/FontFace.res +34 -0
  6. package/src/CSSFontLoadingAPI/FontFaceSet.res +112 -0
  7. package/src/CSSFontLoadingAPI.res +101 -0
  8. package/src/CanvasAPI/ImageBitmap.res +8 -0
  9. package/src/CanvasAPI/OffscreenCanvas.res +123 -0
  10. package/src/CanvasAPI.res +55 -0
  11. package/src/ChannelMessagingAPI/MessagePort.res +120 -0
  12. package/src/ChannelMessagingAPI.res +13 -0
  13. package/src/ClipboardAPI/Clipboard.res +106 -0
  14. package/src/ClipboardAPI/ClipboardItem.res +21 -0
  15. package/src/ClipboardAPI.res +31 -0
  16. package/src/CredentialManagementAPI/CredentialsContainer.res +31 -0
  17. package/src/CredentialManagementAPI.res +140 -0
  18. package/src/DOMAPI/Animation.res +137 -0
  19. package/src/DOMAPI/AnimationEffect.res +19 -0
  20. package/src/DOMAPI/CSSRuleList.res +7 -0
  21. package/src/DOMAPI/CSSStyleDeclaration.res +36 -0
  22. package/src/DOMAPI/CSSStyleSheet.res +32 -0
  23. package/src/DOMAPI/CSSStyleValue.res +13 -0
  24. package/src/DOMAPI/CaretPosition.res +4 -0
  25. package/src/DOMAPI/CharacterData.res +272 -0
  26. package/src/DOMAPI/Comment.res +278 -0
  27. package/src/DOMAPI/CustomElementRegistry.res +31 -0
  28. package/src/DOMAPI/DOMImplementation.res +30 -0
  29. package/src/DOMAPI/DOMMatrix.res +169 -0
  30. package/src/DOMAPI/DOMMatrixReadOnly.res +103 -0
  31. package/src/DOMAPI/DOMPoint.res +29 -0
  32. package/src/DOMAPI/DOMPointReadOnly.res +24 -0
  33. package/src/DOMAPI/DOMRect.res +23 -0
  34. package/src/DOMAPI/DOMRectList.res +4 -0
  35. package/src/DOMAPI/DOMRectReadOnly.res +17 -0
  36. package/src/DOMAPI/DOMTokenList.res +72 -0
  37. package/src/DOMAPI/Document.res +634 -0
  38. package/src/DOMAPI/DocumentFragment.res +261 -0
  39. package/src/DOMAPI/DocumentTimeline.res +9 -0
  40. package/src/DOMAPI/Element.res +634 -0
  41. package/src/DOMAPI/ElementInternals.res +39 -0
  42. package/src/DOMAPI/FileList.res +8 -0
  43. package/src/DOMAPI/HTMLAnchorElement.res +693 -0
  44. package/src/DOMAPI/HTMLAreaElement.res +687 -0
  45. package/src/DOMAPI/HTMLAudioElement.res +750 -0
  46. package/src/DOMAPI/HTMLBRElement.res +686 -0
  47. package/src/DOMAPI/HTMLBaseElement.res +687 -0
  48. package/src/DOMAPI/HTMLBodyElement.res +687 -0
  49. package/src/DOMAPI/HTMLButtonElement.res +714 -0
  50. package/src/DOMAPI/HTMLCanvasElement.res +741 -0
  51. package/src/DOMAPI/HTMLCollection.res +15 -0
  52. package/src/DOMAPI/HTMLCollectionOf.res +16 -0
  53. package/src/DOMAPI/HTMLDListElement.res +690 -0
  54. package/src/DOMAPI/HTMLDataElement.res +687 -0
  55. package/src/DOMAPI/HTMLDataListElement.res +697 -0
  56. package/src/DOMAPI/HTMLDialogElement.res +715 -0
  57. package/src/DOMAPI/HTMLDivElement.res +686 -0
  58. package/src/DOMAPI/HTMLElement.res +685 -0
  59. package/src/DOMAPI/HTMLEmbedElement.res +693 -0
  60. package/src/DOMAPI/HTMLFieldSetElement.res +718 -0
  61. package/src/DOMAPI/HTMLFormControlsCollection.res +16 -0
  62. package/src/DOMAPI/HTMLFormElement.res +720 -0
  63. package/src/DOMAPI/HTMLFrameSetElement.res +697 -0
  64. package/src/DOMAPI/HTMLHRElement.res +686 -0
  65. package/src/DOMAPI/HTMLHeadElement.res +687 -0
  66. package/src/DOMAPI/HTMLHeadingElement.res +693 -0
  67. package/src/DOMAPI/HTMLHtmlElement.res +687 -0
  68. package/src/DOMAPI/HTMLIFrameElement.res +696 -0
  69. package/src/DOMAPI/HTMLImageElement.res +696 -0
  70. package/src/DOMAPI/HTMLInputElement.res +773 -0
  71. package/src/DOMAPI/HTMLLIElement.res +686 -0
  72. package/src/DOMAPI/HTMLLabelElement.res +690 -0
  73. package/src/DOMAPI/HTMLLegendElement.res +693 -0
  74. package/src/DOMAPI/HTMLLinkElement.res +687 -0
  75. package/src/DOMAPI/HTMLMapElement.res +686 -0
  76. package/src/DOMAPI/HTMLMediaElement.res +749 -0
  77. package/src/DOMAPI/HTMLMenuElement.res +687 -0
  78. package/src/DOMAPI/HTMLMetaElement.res +687 -0
  79. package/src/DOMAPI/HTMLMeterElement.res +690 -0
  80. package/src/DOMAPI/HTMLModElement.res +686 -0
  81. package/src/DOMAPI/HTMLOListElement.res +690 -0
  82. package/src/DOMAPI/HTMLObjectElement.res +717 -0
  83. package/src/DOMAPI/HTMLOptGroupElement.res +697 -0
  84. package/src/DOMAPI/HTMLOptionElement.res +693 -0
  85. package/src/DOMAPI/HTMLOptionsCollection.res +21 -0
  86. package/src/DOMAPI/HTMLOutputElement.res +711 -0
  87. package/src/DOMAPI/HTMLParagraphElement.res +701 -0
  88. package/src/DOMAPI/HTMLPictureElement.res +693 -0
  89. package/src/DOMAPI/HTMLPreElement.res +686 -0
  90. package/src/DOMAPI/HTMLProgressElement.res +697 -0
  91. package/src/DOMAPI/HTMLQuoteElement.res +690 -0
  92. package/src/DOMAPI/HTMLScriptElement.res +699 -0
  93. package/src/DOMAPI/HTMLSelectElement.res +762 -0
  94. package/src/DOMAPI/HTMLSlotElement.res +713 -0
  95. package/src/DOMAPI/HTMLSourceElement.res +693 -0
  96. package/src/DOMAPI/HTMLSpanElement.res +687 -0
  97. package/src/DOMAPI/HTMLStyleElement.res +690 -0
  98. package/src/DOMAPI/HTMLTableCaptionElement.res +714 -0
  99. package/src/DOMAPI/HTMLTableCellElement.res +701 -0
  100. package/src/DOMAPI/HTMLTableElement.res +755 -0
  101. package/src/DOMAPI/HTMLTableRowElement.res +713 -0
  102. package/src/DOMAPI/HTMLTableSectionElement.res +730 -0
  103. package/src/DOMAPI/HTMLTemplateElement.res +697 -0
  104. package/src/DOMAPI/HTMLTextAreaElement.res +758 -0
  105. package/src/DOMAPI/HTMLTimeElement.res +687 -0
  106. package/src/DOMAPI/HTMLTitleElement.res +690 -0
  107. package/src/DOMAPI/HTMLTrackElement.res +690 -0
  108. package/src/DOMAPI/HTMLUListElement.res +690 -0
  109. package/src/DOMAPI/HTMLVideoElement.res +778 -0
  110. package/src/DOMAPI/IdleDeadline.res +7 -0
  111. package/src/DOMAPI/ImageData.res +18 -0
  112. package/src/DOMAPI/Location.res +22 -0
  113. package/src/DOMAPI/MediaList.res +19 -0
  114. package/src/DOMAPI/MediaQueryList.res +82 -0
  115. package/src/DOMAPI/NamedNodeMap.res +45 -0
  116. package/src/DOMAPI/Navigator.res +114 -0
  117. package/src/DOMAPI/Node.res +179 -0
  118. package/src/DOMAPI/NodeFilter.res +4 -0
  119. package/src/DOMAPI/NodeIterator.res +13 -0
  120. package/src/DOMAPI/NodeList.res +8 -0
  121. package/src/DOMAPI/NodeListOf.res +9 -0
  122. package/src/DOMAPI/Range.res +149 -0
  123. package/src/DOMAPI/SVGGraphicsElement.res +675 -0
  124. package/src/DOMAPI/SVGLength.res +11 -0
  125. package/src/DOMAPI/ScreenOrientation.res +88 -0
  126. package/src/DOMAPI/Selection.res +103 -0
  127. package/src/DOMAPI/ShadowRoot.res +274 -0
  128. package/src/DOMAPI/StylePropertyMap.res +50 -0
  129. package/src/DOMAPI/StylePropertyMapReadOnly.res +13 -0
  130. package/src/DOMAPI/StyleSheetList.res +7 -0
  131. package/src/DOMAPI/Text.res +285 -0
  132. package/src/DOMAPI/TextTrackList.res +89 -0
  133. package/src/DOMAPI/TimeRanges.res +19 -0
  134. package/src/DOMAPI/TreeWalker.res +43 -0
  135. package/src/DOMAPI/VideoColorSpace.res +13 -0
  136. package/src/DOMAPI/VideoFrame.res +111 -0
  137. package/src/DOMAPI/Window.res +582 -0
  138. package/src/DOMAPI/XPathExpression.res +12 -0
  139. package/src/DOMAPI/XPathResult.res +13 -0
  140. package/src/DOMAPI.res +9668 -0
  141. package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +132 -0
  142. package/src/EncryptedMediaExtensionsAPI/MediaKeyStatusMap.res +13 -0
  143. package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +13 -0
  144. package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +28 -0
  145. package/src/EncryptedMediaExtensionsAPI.res +100 -0
  146. package/src/EventAPI/AbortController.res +15 -0
  147. package/src/EventAPI/AbortSignal.res +106 -0
  148. package/src/EventAPI/Event.res +35 -0
  149. package/src/EventAPI/EventTarget.res +86 -0
  150. package/src/EventAPI.res +215 -0
  151. package/src/FetchAPI/FormData.res +58 -0
  152. package/src/FetchAPI/Headers.res +50 -0
  153. package/src/FetchAPI/Request.res +57 -0
  154. package/src/FetchAPI/Response.res +105 -0
  155. package/src/FetchAPI/URLSearchParams.res +68 -0
  156. package/src/FetchAPI.res +287 -0
  157. package/src/FileAPI/Blob.res +37 -0
  158. package/src/FileAPI/File.res +42 -0
  159. package/src/FileAPI/FileSystemDirectoryHandle.res +46 -0
  160. package/src/FileAPI/FileSystemFileHandle.res +23 -0
  161. package/src/FileAPI/FileSystemHandle.res +7 -0
  162. package/src/FileAPI/FileSystemWritableFileStream.res +63 -0
  163. package/src/FileAPI/ReadableStream.res +61 -0
  164. package/src/FileAPI/WritableStream.res +29 -0
  165. package/src/FileAPI/WritableStreamDefaultController.res +8 -0
  166. package/src/FileAPI.res +218 -0
  167. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +42 -0
  168. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +12 -0
  169. package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +11 -0
  170. package/src/FileAndDirectoryEntriesAPI.res +87 -0
  171. package/src/GamepadAPI/GamepadHapticActuator.res +17 -0
  172. package/src/GamepadAPI.res +85 -0
  173. package/src/GeolocationAPI/Geolocation.res +29 -0
  174. package/src/GeolocationAPI/GeolocationCoordinates.res +7 -0
  175. package/src/GeolocationAPI/GeolocationPosition.res +7 -0
  176. package/src/GeolocationAPI.res +78 -0
  177. package/src/Global.res +302 -0
  178. package/src/HistoryAPI/History.res +33 -0
  179. package/src/HistoryAPI.res +26 -0
  180. package/src/IndexedDBAPI/IDBDatabase.res +135 -0
  181. package/src/IndexedDBAPI/IDBFactory.res +31 -0
  182. package/src/IndexedDBAPI/IDBIndex.res +74 -0
  183. package/src/IndexedDBAPI/IDBObjectStore.res +167 -0
  184. package/src/IndexedDBAPI/IDBTransaction.res +102 -0
  185. package/src/IndexedDBAPI.res +205 -0
  186. package/src/MediaCapabilitiesAPI/MediaCapabilities.res +19 -0
  187. package/src/MediaCapabilitiesAPI.res +81 -0
  188. package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +7 -0
  189. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +113 -0
  190. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +142 -0
  191. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +122 -0
  192. package/src/MediaCaptureAndStreamsAPI.res +194 -0
  193. package/src/MediaSessionAPI/MediaMetadata.res +7 -0
  194. package/src/MediaSessionAPI/MediaSession.res +17 -0
  195. package/src/MediaSessionAPI.res +83 -0
  196. package/src/NotificationAPI/Notification.res +102 -0
  197. package/src/NotificationAPI.res +82 -0
  198. package/src/PerformanceAPI/Performance.res +169 -0
  199. package/src/PerformanceAPI/PerformanceEntry.res +7 -0
  200. package/src/PerformanceAPI/PerformanceMark.res +15 -0
  201. package/src/PerformanceAPI.res +86 -0
  202. package/src/PermissionsAPI/Permissions.res +7 -0
  203. package/src/PermissionsAPI.res +39 -0
  204. package/src/PictureInPicture.res +18 -0
  205. package/src/PictureInPictureAPI.res +18 -0
  206. package/src/Prelude/DOMException.res +7 -0
  207. package/src/Prelude/DOMStringList.res +15 -0
  208. package/src/Prelude.res +39 -0
  209. package/src/PushManagerAPI/PushManager.res +25 -0
  210. package/src/PushManagerAPI/PushSubscription.res +19 -0
  211. package/src/PushManagerAPI.res +67 -0
  212. package/src/RemotePlaybackAPI/RemotePlayback.res +102 -0
  213. package/src/RemotePlaybackAPI.res +21 -0
  214. package/src/ResizeObserverAPI/ResizeObserver.res +27 -0
  215. package/src/ResizeObserverAPI.res +58 -0
  216. package/src/ScreenWakeLockAPI/WakeLock.res +7 -0
  217. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +88 -0
  218. package/src/ScreenWakeLockAPI.res +26 -0
  219. package/src/ServiceWorkerAPI/Cache.res +100 -0
  220. package/src/ServiceWorkerAPI/CacheStorage.res +46 -0
  221. package/src/ServiceWorkerAPI/NavigationPreloadManager.res +25 -0
  222. package/src/ServiceWorkerAPI/ServiceWorker.res +101 -0
  223. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +114 -0
  224. package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +114 -0
  225. package/src/ServiceWorkerAPI.res +134 -0
  226. package/src/StorageAPI/StorageManager.res +26 -0
  227. package/src/StorageAPI.res +10 -0
  228. package/src/ViewTransitionsAPI/ViewTransition.res +7 -0
  229. package/src/ViewTransitionsAPI.res +23 -0
  230. package/src/VisualViewportAPI.res +38 -0
  231. package/src/WebAudioAPI/AnalyserNode.res +180 -0
  232. package/src/WebAudioAPI/AudioBuffer.res +35 -0
  233. package/src/WebAudioAPI/AudioBufferSourceNode.res +183 -0
  234. package/src/WebAudioAPI/AudioContext.res +266 -0
  235. package/src/WebAudioAPI/AudioListener.res +1 -0
  236. package/src/WebAudioAPI/AudioNode.res +143 -0
  237. package/src/WebAudioAPI/AudioParam.res +56 -0
  238. package/src/WebAudioAPI/AudioProcessingEvent.res +38 -0
  239. package/src/WebAudioAPI/AudioScheduledSourceNode.res +171 -0
  240. package/src/WebAudioAPI/AudioWorkletNode.res +160 -0
  241. package/src/WebAudioAPI/BaseAudioContext.res +212 -0
  242. package/src/WebAudioAPI/BiquadFilterNode.res +168 -0
  243. package/src/WebAudioAPI/ChannelMergerNode.res +157 -0
  244. package/src/WebAudioAPI/ChannelSplitterNode.res +159 -0
  245. package/src/WebAudioAPI/ConstantSourceNode.res +172 -0
  246. package/src/WebAudioAPI/ConvolverNode.res +157 -0
  247. package/src/WebAudioAPI/DelayNode.res +150 -0
  248. package/src/WebAudioAPI/DynamicsCompressorNode.res +162 -0
  249. package/src/WebAudioAPI/GainNode.res +149 -0
  250. package/src/WebAudioAPI/IIRFilterNode.res +168 -0
  251. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +168 -0
  252. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +168 -0
  253. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +168 -0
  254. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +40 -0
  255. package/src/WebAudioAPI/OfflineAudioContext.res +246 -0
  256. package/src/WebAudioAPI/OscillatorNode.res +176 -0
  257. package/src/WebAudioAPI/PannerNode.res +150 -0
  258. package/src/WebAudioAPI/PeriodicWave.res +8 -0
  259. package/src/WebAudioAPI/StereoPannerNode.res +157 -0
  260. package/src/WebAudioAPI/WaveShaperNode.res +157 -0
  261. package/src/WebAudioAPI/Worklet.res +13 -0
  262. package/src/WebAudioAPI.res +1271 -0
  263. package/src/WebCryptoAPI/Crypto.res +13 -0
  264. package/src/WebCryptoAPI/SubtleCrypto.res +173 -0
  265. package/src/WebCryptoAPI.res +71 -0
  266. package/src/WebLocksAPI/LockManager.res +29 -0
  267. package/src/WebLocksAPI.res +47 -0
  268. package/src/WebMIDIAPI.res +37 -0
  269. package/src/WebSocketsAPI/CloseEvent.res +37 -0
  270. package/src/WebSocketsAPI/MessageEvent.res +38 -0
  271. package/src/WebSocketsAPI/WebSocket.res +130 -0
  272. package/src/WebSocketsAPI.res +125 -0
  273. package/src/WebSpeechAPI/SpeechSynthesis.res +112 -0
  274. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +88 -0
  275. package/src/WebSpeechAPI.res +82 -0
  276. package/src/WebStorageAPI/Storage.res +44 -0
  277. package/src/WebStorageAPI/StorageEvent.res +37 -0
  278. package/src/WebStorageAPI.res +57 -0
  279. package/src/WebVTTAPI/TextTrack.res +96 -0
  280. package/src/WebVTTAPI/TextTrackCueList.res +10 -0
  281. package/src/WebVTTAPI.res +122 -0
@@ -0,0 +1,582 @@
1
+ open Prelude
2
+ open DOMAPI
3
+ open CanvasAPI
4
+ open FileAPI
5
+ open ChannelMessagingAPI
6
+ open FetchAPI
7
+ open EventAPI
8
+
9
+ external asEventTarget: window => eventTarget = "%identity"
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/reportError)
12
+ */
13
+ @send
14
+ external reportError: (window, JSON.t) => unit = "reportError"
15
+
16
+ /**
17
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/btoa)
18
+ */
19
+ @send
20
+ external btoa: (window, string) => string = "btoa"
21
+
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/atob)
24
+ */
25
+ @send
26
+ external atob: (window, string) => string = "atob"
27
+
28
+ /**
29
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/setTimeout)
30
+ */
31
+ @send
32
+ external setTimeout: (window, ~handler: string, ~timeout: int=?) => int = "setTimeout"
33
+
34
+ /**
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/setTimeout)
36
+ */
37
+ @send
38
+ external setTimeout2: (window, ~handler: unit => unit, ~timeout: int=?) => int = "setTimeout"
39
+
40
+ /**
41
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/clearTimeout)
42
+ */
43
+ @send
44
+ external clearTimeout: (window, int) => unit = "clearTimeout"
45
+
46
+ /**
47
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/setInterval)
48
+ */
49
+ @send
50
+ external setInterval: (window, ~handler: string, ~timeout: int=?) => int = "setInterval"
51
+
52
+ /**
53
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/setInterval)
54
+ */
55
+ @send
56
+ external setInterval2: (window, ~handler: unit => unit, ~timeout: int=?) => int = "setInterval"
57
+
58
+ /**
59
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/clearInterval)
60
+ */
61
+ @send
62
+ external clearInterval: (window, int) => unit = "clearInterval"
63
+
64
+ /**
65
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/queueMicrotask)
66
+ */
67
+ @send
68
+ external queueMicrotask: (window, voidFunction) => unit = "queueMicrotask"
69
+
70
+ /**
71
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
72
+ */
73
+ @send
74
+ external createImageBitmap: (
75
+ window,
76
+ ~image: htmlImageElement,
77
+ ~options: imageBitmapOptions=?,
78
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
79
+
80
+ /**
81
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
82
+ */
83
+ @send
84
+ external createImageBitmap2: (
85
+ window,
86
+ ~image: svgImageElement,
87
+ ~options: imageBitmapOptions=?,
88
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
89
+
90
+ /**
91
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
92
+ */
93
+ @send
94
+ external createImageBitmap3: (
95
+ window,
96
+ ~image: htmlVideoElement,
97
+ ~options: imageBitmapOptions=?,
98
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
99
+
100
+ /**
101
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
102
+ */
103
+ @send
104
+ external createImageBitmap4: (
105
+ window,
106
+ ~image: htmlCanvasElement,
107
+ ~options: imageBitmapOptions=?,
108
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
109
+
110
+ /**
111
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
112
+ */
113
+ @send
114
+ external createImageBitmap5: (
115
+ window,
116
+ ~image: imageBitmap,
117
+ ~options: imageBitmapOptions=?,
118
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
119
+
120
+ /**
121
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
122
+ */
123
+ @send
124
+ external createImageBitmap6: (
125
+ window,
126
+ ~image: offscreenCanvas,
127
+ ~options: imageBitmapOptions=?,
128
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
129
+
130
+ /**
131
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
132
+ */
133
+ @send
134
+ external createImageBitmap7: (
135
+ window,
136
+ ~image: videoFrame,
137
+ ~options: imageBitmapOptions=?,
138
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
139
+
140
+ /**
141
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
142
+ */
143
+ @send
144
+ external createImageBitmap8: (
145
+ window,
146
+ ~image: blob,
147
+ ~options: imageBitmapOptions=?,
148
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
149
+
150
+ /**
151
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
152
+ */
153
+ @send
154
+ external createImageBitmap9: (
155
+ window,
156
+ ~image: imageData,
157
+ ~options: imageBitmapOptions=?,
158
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
159
+
160
+ /**
161
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
162
+ */
163
+ @send
164
+ external createImageBitmap10: (
165
+ window,
166
+ ~image: htmlImageElement,
167
+ ~sx: int,
168
+ ~sy: int,
169
+ ~sw: int,
170
+ ~sh: int,
171
+ ~options: imageBitmapOptions=?,
172
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
173
+
174
+ /**
175
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
176
+ */
177
+ @send
178
+ external createImageBitmap11: (
179
+ window,
180
+ ~image: svgImageElement,
181
+ ~sx: int,
182
+ ~sy: int,
183
+ ~sw: int,
184
+ ~sh: int,
185
+ ~options: imageBitmapOptions=?,
186
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
187
+
188
+ /**
189
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
190
+ */
191
+ @send
192
+ external createImageBitmap12: (
193
+ window,
194
+ ~image: htmlVideoElement,
195
+ ~sx: int,
196
+ ~sy: int,
197
+ ~sw: int,
198
+ ~sh: int,
199
+ ~options: imageBitmapOptions=?,
200
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
201
+
202
+ /**
203
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
204
+ */
205
+ @send
206
+ external createImageBitmap13: (
207
+ window,
208
+ ~image: htmlCanvasElement,
209
+ ~sx: int,
210
+ ~sy: int,
211
+ ~sw: int,
212
+ ~sh: int,
213
+ ~options: imageBitmapOptions=?,
214
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
215
+
216
+ /**
217
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
218
+ */
219
+ @send
220
+ external createImageBitmap14: (
221
+ window,
222
+ ~image: imageBitmap,
223
+ ~sx: int,
224
+ ~sy: int,
225
+ ~sw: int,
226
+ ~sh: int,
227
+ ~options: imageBitmapOptions=?,
228
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
229
+
230
+ /**
231
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
232
+ */
233
+ @send
234
+ external createImageBitmap15: (
235
+ window,
236
+ ~image: offscreenCanvas,
237
+ ~sx: int,
238
+ ~sy: int,
239
+ ~sw: int,
240
+ ~sh: int,
241
+ ~options: imageBitmapOptions=?,
242
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
243
+
244
+ /**
245
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
246
+ */
247
+ @send
248
+ external createImageBitmap16: (
249
+ window,
250
+ ~image: videoFrame,
251
+ ~sx: int,
252
+ ~sy: int,
253
+ ~sw: int,
254
+ ~sh: int,
255
+ ~options: imageBitmapOptions=?,
256
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
257
+
258
+ /**
259
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
260
+ */
261
+ @send
262
+ external createImageBitmap17: (
263
+ window,
264
+ ~image: blob,
265
+ ~sx: int,
266
+ ~sy: int,
267
+ ~sw: int,
268
+ ~sh: int,
269
+ ~options: imageBitmapOptions=?,
270
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
271
+
272
+ /**
273
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/createImageBitmap)
274
+ */
275
+ @send
276
+ external createImageBitmap18: (
277
+ window,
278
+ ~image: imageData,
279
+ ~sx: int,
280
+ ~sy: int,
281
+ ~sw: int,
282
+ ~sh: int,
283
+ ~options: imageBitmapOptions=?,
284
+ ) => Promise.t<imageBitmap> = "createImageBitmap"
285
+
286
+ /**
287
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/structuredClone)
288
+ */
289
+ @send
290
+ external structuredClone: (window, 't, ~options: structuredSerializeOptions=?) => 't =
291
+ "structuredClone"
292
+
293
+ /**
294
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/fetch)
295
+ */
296
+ @send
297
+ external fetch: (window, ~input: request, ~init: requestInit=?) => Promise.t<response> = "fetch"
298
+
299
+ /**
300
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/fetch)
301
+ */
302
+ @send
303
+ external fetch2: (window, ~input: string, ~init: requestInit=?) => Promise.t<response> = "fetch"
304
+
305
+ /**
306
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame)
307
+ */
308
+ @send
309
+ external requestAnimationFrame: (window, frameRequestCallback) => int = "requestAnimationFrame"
310
+
311
+ /**
312
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame)
313
+ */
314
+ @send
315
+ external cancelAnimationFrame: (window, int) => unit = "cancelAnimationFrame"
316
+
317
+ /**
318
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
319
+
320
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
321
+
322
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
323
+
324
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
325
+
326
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
327
+
328
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
329
+
330
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
331
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
332
+ */
333
+ @send
334
+ external addEventListener: (
335
+ window,
336
+ ~type_: eventType,
337
+ ~callback: eventListener<'event>,
338
+ ~options: addEventListenerOptions=?,
339
+ ) => unit = "addEventListener"
340
+
341
+ /**
342
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
343
+
344
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
345
+
346
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
347
+
348
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
349
+
350
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
351
+
352
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
353
+
354
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
355
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
356
+ */
357
+ @send
358
+ external addEventListener2: (
359
+ window,
360
+ ~type_: eventType,
361
+ ~callback: eventListener<'event>,
362
+ ~options: bool=?,
363
+ ) => unit = "addEventListener"
364
+
365
+ /**
366
+ Removes the event listener in target's event listener list with the same type, callback, and options.
367
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
368
+ */
369
+ @send
370
+ external removeEventListener: (
371
+ window,
372
+ ~type_: eventType,
373
+ ~callback: eventListener<'event>,
374
+ ~options: eventListenerOptions=?,
375
+ ) => unit = "removeEventListener"
376
+
377
+ /**
378
+ Removes the event listener in target's event listener list with the same type, callback, and options.
379
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
380
+ */
381
+ @send
382
+ external removeEventListener2: (
383
+ window,
384
+ ~type_: eventType,
385
+ ~callback: eventListener<'event>,
386
+ ~options: bool=?,
387
+ ) => unit = "removeEventListener"
388
+
389
+ /**
390
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
391
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
392
+ */
393
+ @send
394
+ external dispatchEvent: (window, event) => bool = "dispatchEvent"
395
+
396
+ /**
397
+ Closes the window.
398
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/close)
399
+ */
400
+ @send
401
+ external close: window => unit = "close"
402
+
403
+ /**
404
+ Cancels the document load.
405
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/stop)
406
+ */
407
+ @send
408
+ external stop: window => unit = "stop"
409
+
410
+ /**
411
+ Moves the focus to the window's browsing context, if any.
412
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/focus)
413
+ */
414
+ @send
415
+ external focus: window => unit = "focus"
416
+
417
+ /**
418
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/open)
419
+ */
420
+ @send
421
+ external open_: (window, ~url: string=?, ~target: string=?, ~features: string=?) => window = "open"
422
+
423
+ /**
424
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/alert)
425
+ */
426
+ @send
427
+ external alert: window => unit = "alert"
428
+
429
+ /**
430
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/alert)
431
+ */
432
+ @send
433
+ external alert2: (window, string) => unit = "alert"
434
+
435
+ /**
436
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/confirm)
437
+ */
438
+ @send
439
+ external confirm: (window, ~message: string=?) => bool = "confirm"
440
+
441
+ /**
442
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/prompt)
443
+ */
444
+ @send
445
+ external prompt: (window, ~message: string=?, ~default: string=?) => string = "prompt"
446
+
447
+ /**
448
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/print)
449
+ */
450
+ @send
451
+ external print: window => unit = "print"
452
+
453
+ /**
454
+ Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, Date objects, etc), and can contain certain data objects such as File Blob, FileList, and ArrayBuffer objects.
455
+
456
+ Objects listed in the transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side.
457
+
458
+ A target origin can be specified using the targetOrigin member of options. If not provided, it defaults to "/". This default restricts the message to same-origin targets only.
459
+
460
+ If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to "*".
461
+
462
+ Throws a "DataCloneError" DOMException if transfer array contains duplicate objects or if message could not be cloned.
463
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/postMessage)
464
+ */
465
+ @send
466
+ external postMessage: (
467
+ window,
468
+ ~message: JSON.t,
469
+ ~targetOrigin: string,
470
+ ~transfer: array<Dict.t<string>>=?,
471
+ ) => unit = "postMessage"
472
+
473
+ /**
474
+ Posts a message to the given window. Messages can be structured objects, e.g. nested objects and arrays, can contain JavaScript values (strings, numbers, Date objects, etc), and can contain certain data objects such as File Blob, FileList, and ArrayBuffer objects.
475
+
476
+ Objects listed in the transfer member of options are transferred, not just cloned, meaning that they are no longer usable on the sending side.
477
+
478
+ A target origin can be specified using the targetOrigin member of options. If not provided, it defaults to "/". This default restricts the message to same-origin targets only.
479
+
480
+ If the origin of the target window doesn't match the given target origin, the message is discarded, to avoid information leakage. To send the message to the target regardless of origin, set the target origin to "*".
481
+
482
+ Throws a "DataCloneError" DOMException if transfer array contains duplicate objects or if message could not be cloned.
483
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/postMessage)
484
+ */
485
+ @send
486
+ external postMessage2: (window, ~message: JSON.t, ~options: windowPostMessageOptions=?) => unit =
487
+ "postMessage"
488
+
489
+ /**
490
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/matchMedia)
491
+ */
492
+ @send
493
+ external matchMedia: (window, string) => mediaQueryList = "matchMedia"
494
+
495
+ /**
496
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/moveTo)
497
+ */
498
+ @send
499
+ external moveTo: (window, ~x: int, ~y: int) => unit = "moveTo"
500
+
501
+ /**
502
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/moveBy)
503
+ */
504
+ @send
505
+ external moveBy: (window, ~x: int, ~y: int) => unit = "moveBy"
506
+
507
+ /**
508
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/resizeTo)
509
+ */
510
+ @send
511
+ external resizeTo: (window, ~width: int, ~height: int) => unit = "resizeTo"
512
+
513
+ /**
514
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/resizeBy)
515
+ */
516
+ @send
517
+ external resizeBy: (window, ~x: int, ~y: int) => unit = "resizeBy"
518
+
519
+ /**
520
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/scroll)
521
+ */
522
+ @send
523
+ external scroll: (window, ~options: scrollToOptions=?) => unit = "scroll"
524
+
525
+ /**
526
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/scroll)
527
+ */
528
+ @send
529
+ external scroll2: (window, ~x: float, ~y: float) => unit = "scroll"
530
+
531
+ /**
532
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/scrollTo)
533
+ */
534
+ @send
535
+ external scrollTo: (window, ~options: scrollToOptions=?) => unit = "scrollTo"
536
+
537
+ /**
538
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/scrollTo)
539
+ */
540
+ @send
541
+ external scrollTo2: (window, ~x: float, ~y: float) => unit = "scrollTo"
542
+
543
+ /**
544
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/scrollBy)
545
+ */
546
+ @send
547
+ external scrollBy: (window, ~options: scrollToOptions=?) => unit = "scrollBy"
548
+
549
+ /**
550
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/scrollBy)
551
+ */
552
+ @send
553
+ external scrollBy2: (window, ~x: float, ~y: float) => unit = "scrollBy"
554
+
555
+ /**
556
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/getComputedStyle)
557
+ */
558
+ @send
559
+ external getComputedStyle: (window, ~elt: element, ~pseudoElt: string=?) => cssStyleDeclaration =
560
+ "getComputedStyle"
561
+
562
+ /**
563
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/requestIdleCallback)
564
+ */
565
+ @send
566
+ external requestIdleCallback: (
567
+ window,
568
+ ~callback: idleRequestCallback,
569
+ ~options: idleRequestOptions=?,
570
+ ) => int = "requestIdleCallback"
571
+
572
+ /**
573
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/cancelIdleCallback)
574
+ */
575
+ @send
576
+ external cancelIdleCallback: (window, int) => unit = "cancelIdleCallback"
577
+
578
+ /**
579
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Window/getSelection)
580
+ */
581
+ @send
582
+ external getSelection: window => selection = "getSelection"
@@ -0,0 +1,12 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/XPathExpression/evaluate)
5
+ */
6
+ @send
7
+ external evaluate: (
8
+ xPathExpression,
9
+ ~contextNode: node,
10
+ ~type_: int=?,
11
+ ~result: xPathResult=?,
12
+ ) => xPathResult = "evaluate"
@@ -0,0 +1,13 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/XPathResult/iterateNext)
5
+ */
6
+ @send
7
+ external iterateNext: xPathResult => node = "iterateNext"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotItem)
11
+ */
12
+ @send
13
+ external snapshotItem: (xPathResult, int) => node = "snapshotItem"