@rescript/webapi 0.1.0-alpha-b1d58f9

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 (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/package.json +61 -0
  4. package/rescript.json +557 -0
  5. package/src/animation/Animation.res +149 -0
  6. package/src/animation/AnimationEffect.res +71 -0
  7. package/src/animation/DocumentTimeline.res +8 -0
  8. package/src/canvas/Canvas.res +179 -0
  9. package/src/canvas/CanvasGradient.res +11 -0
  10. package/src/canvas/CanvasPattern.res +11 -0
  11. package/src/canvas/CanvasRenderingContext2D.res +868 -0
  12. package/src/canvas/CanvasTypes.res +452 -0
  13. package/src/canvas/FillStyle.res +25 -0
  14. package/src/canvas/HTMLCanvasElement.res +101 -0
  15. package/src/canvas/ImageBitmap.res +6 -0
  16. package/src/canvas/ImageBitmapRenderingContext.res +9 -0
  17. package/src/canvas/ImageData.res +17 -0
  18. package/src/canvas/OffscreenCanvas.res +87 -0
  19. package/src/canvas/Path2D.res +186 -0
  20. package/src/canvas/VideoColorSpace.res +11 -0
  21. package/src/canvas/VideoFrame.res +217 -0
  22. package/src/core/ArrayBufferTypedArrayOrDataView.res +4 -0
  23. package/src/core/DOM.res +1026 -0
  24. package/src/core/EventType.res +108 -0
  25. package/src/crypto/Crypto.res +11 -0
  26. package/src/crypto/SubtleCrypto.res +173 -0
  27. package/src/crypto/WebCryptoTypes.res +71 -0
  28. package/src/css-font-loading/BaseCSSFontLoading.res +24 -0
  29. package/src/css-font-loading/CssFontLoadingTypes.res +92 -0
  30. package/src/css-font-loading/FontFace.res +62 -0
  31. package/src/css-font-loading/FontFaceSet.res +38 -0
  32. package/src/cssom/CSSRuleList.res +5 -0
  33. package/src/cssom/CSSStyleDeclaration.res +1734 -0
  34. package/src/cssom/CSSStyleValue.res +17 -0
  35. package/src/cssom/MediaList.res +29 -0
  36. package/src/cssom/MediaQueryList.res +18 -0
  37. package/src/cssom/StylePropertyMap.res +56 -0
  38. package/src/cssom/StylePropertyMapReadOnly.res +22 -0
  39. package/src/cssom/StyleSheet.res +152 -0
  40. package/src/cssom/StyleSheetList.res +17 -0
  41. package/src/device/GamepadHapticActuator.res +16 -0
  42. package/src/device/GamepadTypes.res +86 -0
  43. package/src/device/Geolocation.res +31 -0
  44. package/src/device/GeolocationCoordinates.res +5 -0
  45. package/src/device/GeolocationPosition.res +5 -0
  46. package/src/device/GeolocationTypes.res +81 -0
  47. package/src/device/LockManager.res +26 -0
  48. package/src/device/ScreenOrientation.res +7 -0
  49. package/src/device/ScreenWakeLockTypes.res +26 -0
  50. package/src/device/WakeLock.res +8 -0
  51. package/src/device/WakeLockSentinel.res +7 -0
  52. package/src/device/WebLocksTypes.res +45 -0
  53. package/src/device/WebMIDI.res +7 -0
  54. package/src/device/WebMidiTypes.res +36 -0
  55. package/src/dom-nodes/AbstractRange.res +30 -0
  56. package/src/dom-nodes/Attr.res +101 -0
  57. package/src/dom-nodes/CDATASection.res +7 -0
  58. package/src/dom-nodes/CaretPosition.res +2 -0
  59. package/src/dom-nodes/CharacterData.res +199 -0
  60. package/src/dom-nodes/Comment.res +15 -0
  61. package/src/dom-nodes/DOMImplementation.res +131 -0
  62. package/src/dom-nodes/DOMTree.res +1653 -0
  63. package/src/dom-nodes/DocumentFragment.res +96 -0
  64. package/src/dom-nodes/Element.res +509 -0
  65. package/src/dom-nodes/ElementInternals.res +39 -0
  66. package/src/dom-nodes/HTML.res +11 -0
  67. package/src/dom-nodes/HTMLCollection.res +25 -0
  68. package/src/dom-nodes/NamedNodeMap.res +46 -0
  69. package/src/dom-nodes/Node.res +114 -0
  70. package/src/dom-nodes/NodeFilter.res +4 -0
  71. package/src/dom-nodes/NodeIterator.res +38 -0
  72. package/src/dom-nodes/NodeList.res +6 -0
  73. package/src/dom-nodes/ProcessingInstruction.res +15 -0
  74. package/src/dom-nodes/Range.res +156 -0
  75. package/src/dom-nodes/Selection.res +137 -0
  76. package/src/dom-nodes/ShadowRoot.res +23 -0
  77. package/src/dom-nodes/StaticRange.res +6 -0
  78. package/src/dom-nodes/Text.res +31 -0
  79. package/src/dom-nodes/TreeWalker.res +65 -0
  80. package/src/dom-platform/DOMException.res +7 -0
  81. package/src/dom-platform/DOMStringList.res +15 -0
  82. package/src/dom-platform/DOMStringMap.res +5 -0
  83. package/src/dom-platform/DOMTokenList.res +70 -0
  84. package/src/event/AbortController.res +9 -0
  85. package/src/event/AbortSignal.res +25 -0
  86. package/src/event/Event.res +76 -0
  87. package/src/event/EventTarget.res +91 -0
  88. package/src/event/ExtendableEvent.res +14 -0
  89. package/src/fetch/BodyInit.res +46 -0
  90. package/src/fetch/Fetch.res +12 -0
  91. package/src/fetch/FetchTypes.res +282 -0
  92. package/src/fetch/FormData.res +71 -0
  93. package/src/fetch/FormDataEntryValue.res +2 -0
  94. package/src/fetch/Headers.res +59 -0
  95. package/src/fetch/HeadersInit.res +16 -0
  96. package/src/fetch/Request.res +61 -0
  97. package/src/fetch/Response.res +127 -0
  98. package/src/file/BaseFileAndDirectoryEntries.res +72 -0
  99. package/src/file/Blob.res +48 -0
  100. package/src/file/File.res +15 -0
  101. package/src/file/FileAndDirectoryEntriesTypes.res +35 -0
  102. package/src/file/FileList.res +16 -0
  103. package/src/file/FileSystemDirectoryEntry.res +42 -0
  104. package/src/file/FileSystemDirectoryHandle.res +49 -0
  105. package/src/file/FileSystemDirectoryReader.res +9 -0
  106. package/src/file/FileSystemEntry.res +9 -0
  107. package/src/file/FileSystemFileHandle.res +25 -0
  108. package/src/file/FileSystemHandle.res +6 -0
  109. package/src/file/FileSystemWritableFileStream.res +65 -0
  110. package/src/file/FileTypes.res +225 -0
  111. package/src/file/ReadableStream.res +79 -0
  112. package/src/file/WritableStream.res +27 -0
  113. package/src/file/WritableStreamDefaultController.res +5 -0
  114. package/src/geometry/DOMMatrix.res +206 -0
  115. package/src/geometry/DOMMatrixReadOnly.res +140 -0
  116. package/src/geometry/DOMPoint.res +28 -0
  117. package/src/geometry/DOMPointReadOnly.res +22 -0
  118. package/src/geometry/DOMRect.res +22 -0
  119. package/src/geometry/DOMRectList.res +2 -0
  120. package/src/geometry/DOMRectReadOnly.res +19 -0
  121. package/src/html/HTMLAnchorElement.res +373 -0
  122. package/src/html/HTMLAreaElement.res +353 -0
  123. package/src/html/HTMLBRElement.res +9 -0
  124. package/src/html/HTMLBaseElement.res +20 -0
  125. package/src/html/HTMLBodyElement.res +9 -0
  126. package/src/html/HTMLButtonElement.res +98 -0
  127. package/src/html/HTMLDListElement.res +9 -0
  128. package/src/html/HTMLDataElement.res +14 -0
  129. package/src/html/HTMLDataListElement.res +14 -0
  130. package/src/html/HTMLDialogElement.res +40 -0
  131. package/src/html/HTMLDivElement.res +9 -0
  132. package/src/html/HTMLElement.res +108 -0
  133. package/src/html/HTMLEmbedElement.res +275 -0
  134. package/src/html/HTMLFieldSetElement.res +70 -0
  135. package/src/html/HTMLFormControlsCollection.res +21 -0
  136. package/src/html/HTMLFormElement.res +39 -0
  137. package/src/html/HTMLFrameSetElement.res +9 -0
  138. package/src/html/HTMLHRElement.res +9 -0
  139. package/src/html/HTMLHeadElement.res +256 -0
  140. package/src/html/HTMLHeadingElement.res +9 -0
  141. package/src/html/HTMLHtmlElement.res +9 -0
  142. package/src/html/HTMLIFrameElement.res +69 -0
  143. package/src/html/HTMLImageElement.res +349 -0
  144. package/src/html/HTMLInputElement.res +310 -0
  145. package/src/html/HTMLLIElement.res +9 -0
  146. package/src/html/HTMLLabelElement.res +25 -0
  147. package/src/html/HTMLLegendElement.res +14 -0
  148. package/src/html/HTMLLinkElement.res +69 -0
  149. package/src/html/HTMLMapElement.res +20 -0
  150. package/src/html/HTMLMenuElement.res +8 -0
  151. package/src/html/HTMLMetaElement.res +29 -0
  152. package/src/html/HTMLMeterElement.res +38 -0
  153. package/src/html/HTMLModElement.res +9 -0
  154. package/src/html/HTMLOListElement.res +24 -0
  155. package/src/html/HTMLObjectElement.res +89 -0
  156. package/src/html/HTMLOptGroupElement.res +19 -0
  157. package/src/html/HTMLOptionElement.res +49 -0
  158. package/src/html/HTMLOptionsCollection.res +35 -0
  159. package/src/html/HTMLOutputElement.res +73 -0
  160. package/src/html/HTMLParagraphElement.res +9 -0
  161. package/src/html/HTMLPictureElement.res +9 -0
  162. package/src/html/HTMLPreElement.res +9 -0
  163. package/src/html/HTMLProgressElement.res +29 -0
  164. package/src/html/HTMLQuoteElement.res +9 -0
  165. package/src/html/HTMLScriptElement.res +310 -0
  166. package/src/html/HTMLSelectElement.res +157 -0
  167. package/src/html/HTMLSlotElement.res +34 -0
  168. package/src/html/HTMLSourceElement.res +18 -0
  169. package/src/html/HTMLSpanElement.res +9 -0
  170. package/src/html/HTMLStyleElement.res +24 -0
  171. package/src/html/HTMLTableCaptionElement.res +9 -0
  172. package/src/html/HTMLTableCellElement.res +40 -0
  173. package/src/html/HTMLTableElement.res +100 -0
  174. package/src/html/HTMLTableRowElement.res +40 -0
  175. package/src/html/HTMLTableSectionElement.res +30 -0
  176. package/src/html/HTMLTemplateElement.res +31 -0
  177. package/src/html/HTMLTextAreaElement.res +177 -0
  178. package/src/html/HTMLTimeElement.res +14 -0
  179. package/src/html/HTMLTitleElement.res +15 -0
  180. package/src/html/HTMLUListElement.res +9 -0
  181. package/src/html/HTMLUnknownElement.res +9 -0
  182. package/src/media/BaseEncryptedMediaExtensions.res +97 -0
  183. package/src/media/DomHTMLMediaElement.res +206 -0
  184. package/src/media/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
  185. package/src/media/EncryptedMediaExtensionsTypes.res +43 -0
  186. package/src/media/HTMLAudioElement.res +9 -0
  187. package/src/media/HTMLTrackElement.res +14 -0
  188. package/src/media/HTMLVideoElement.res +78 -0
  189. package/src/media/MediaCapabilities.res +19 -0
  190. package/src/media/MediaCapabilitiesTypes.res +83 -0
  191. package/src/media/MediaCaptureAndStreamsTypes.res +197 -0
  192. package/src/media/MediaDeviceInfo.res +9 -0
  193. package/src/media/MediaDevices.res +40 -0
  194. package/src/media/MediaError.res +14 -0
  195. package/src/media/MediaKeySession.res +53 -0
  196. package/src/media/MediaKeyStatusMap.res +11 -0
  197. package/src/media/MediaKeySystemAccess.res +14 -0
  198. package/src/media/MediaKeys.res +35 -0
  199. package/src/media/MediaMetadata.res +10 -0
  200. package/src/media/MediaSession.res +25 -0
  201. package/src/media/MediaSessionTypes.res +85 -0
  202. package/src/media/MediaStream.res +89 -0
  203. package/src/media/MediaStreamTrack.res +51 -0
  204. package/src/media/PictureInPicture.res +7 -0
  205. package/src/media/PictureInPictureTypes.res +17 -0
  206. package/src/media/RemotePlayback.res +25 -0
  207. package/src/media/RemotePlaybackTypes.res +20 -0
  208. package/src/media/SpeechSynthesis.res +33 -0
  209. package/src/media/SpeechSynthesisUtterance.res +8 -0
  210. package/src/media/TextTrack.res +15 -0
  211. package/src/media/TextTrackCueList.res +9 -0
  212. package/src/media/TextTrackList.res +17 -0
  213. package/src/media/TimeRanges.res +29 -0
  214. package/src/media/VideoPlaybackQuality.res +18 -0
  215. package/src/media/WebSpeechTypes.res +83 -0
  216. package/src/media/WebVttTypes.res +123 -0
  217. package/src/messaging/ApplicationServerKey.res +2 -0
  218. package/src/messaging/ChannelMessagingTypes.res +12 -0
  219. package/src/messaging/CloseEvent.res +10 -0
  220. package/src/messaging/MessageEvent.res +43 -0
  221. package/src/messaging/MessagePort.res +38 -0
  222. package/src/messaging/Notification.res +46 -0
  223. package/src/messaging/NotificationTypes.res +107 -0
  224. package/src/messaging/PushEvent.res +3 -0
  225. package/src/messaging/PushManager.res +24 -0
  226. package/src/messaging/PushMessageData.res +15 -0
  227. package/src/messaging/PushSubscription.res +20 -0
  228. package/src/messaging/PushTypes.res +88 -0
  229. package/src/messaging/WebSocket.res +74 -0
  230. package/src/messaging/WebSocketsTypes.res +124 -0
  231. package/src/navigator/Clipboard.res +29 -0
  232. package/src/navigator/ClipboardItem.res +20 -0
  233. package/src/navigator/ClipboardTypes.res +31 -0
  234. package/src/navigator/CredentialManagementTypes.res +138 -0
  235. package/src/navigator/CredentialsContainer.res +33 -0
  236. package/src/navigator/Navigator.res +166 -0
  237. package/src/navigator/Permissions.res +10 -0
  238. package/src/navigator/PermissionsTypes.res +38 -0
  239. package/src/observers/IntersectionObserver.res +36 -0
  240. package/src/observers/IntersectionObserverRoot.res +23 -0
  241. package/src/observers/IntersectionObserverTypes.res +67 -0
  242. package/src/observers/MutationObserver.res +94 -0
  243. package/src/observers/ResizeObserver.res +30 -0
  244. package/src/observers/ResizeObserverTypes.res +56 -0
  245. package/src/performance/Performance.res +101 -0
  246. package/src/performance/PerformanceEntry.res +5 -0
  247. package/src/performance/PerformanceMark.res +16 -0
  248. package/src/performance/PerformanceTypes.res +86 -0
  249. package/src/storage/Cache.res +117 -0
  250. package/src/storage/CacheStorage.res +43 -0
  251. package/src/storage/CacheTypes.res +24 -0
  252. package/src/storage/IDBDatabase.res +54 -0
  253. package/src/storage/IDBFactory.res +34 -0
  254. package/src/storage/IDBIndex.res +83 -0
  255. package/src/storage/IDBObjectStore.res +183 -0
  256. package/src/storage/IDBTransaction.res +22 -0
  257. package/src/storage/IndexedDbTypes.res +213 -0
  258. package/src/storage/Storage.res +42 -0
  259. package/src/storage/StorageEvent.res +10 -0
  260. package/src/storage/StorageManager.res +24 -0
  261. package/src/storage/StorageTypes.res +11 -0
  262. package/src/storage/WebStorageTypes.res +57 -0
  263. package/src/svg/SVGElement.res +115 -0
  264. package/src/svg/SVGGraphicsElement.res +16 -0
  265. package/src/svg/SVGLength.res +9 -0
  266. package/src/ui-events/CompositionEvent.res +10 -0
  267. package/src/ui-events/DataTransfer.res +38 -0
  268. package/src/ui-events/DataTransferItem.res +21 -0
  269. package/src/ui-events/DataTransferItemList.res +34 -0
  270. package/src/ui-events/FocusEvent.res +10 -0
  271. package/src/ui-events/InputEvent.res +16 -0
  272. package/src/ui-events/KeyboardEvent.res +16 -0
  273. package/src/ui-events/MouseEvent.res +26 -0
  274. package/src/ui-events/PointerEvent.res +24 -0
  275. package/src/ui-events/Touch.res +5 -0
  276. package/src/ui-events/TouchEvent.res +10 -0
  277. package/src/ui-events/TouchList.res +5 -0
  278. package/src/ui-events/UIEvent.res +20 -0
  279. package/src/ui-events/UiEventsTypes.res +590 -0
  280. package/src/ui-events/WheelEvent.res +10 -0
  281. package/src/url/URL.res +38 -0
  282. package/src/url/URLSearchParams.res +104 -0
  283. package/src/url/UrlTypes.res +69 -0
  284. package/src/view-transitions/ViewTransition.res +5 -0
  285. package/src/view-transitions/ViewTransitionsTypes.res +22 -0
  286. package/src/web-audio/AnalyserNode.res +38 -0
  287. package/src/web-audio/AudioBuffer.res +33 -0
  288. package/src/web-audio/AudioBufferSourceNode.res +21 -0
  289. package/src/web-audio/AudioContext.res +59 -0
  290. package/src/web-audio/AudioDestinationNode.res +1 -0
  291. package/src/web-audio/AudioNode.res +76 -0
  292. package/src/web-audio/AudioParam.res +65 -0
  293. package/src/web-audio/AudioProcessingEvent.res +10 -0
  294. package/src/web-audio/AudioScheduledSourceNode.res +23 -0
  295. package/src/web-audio/AudioWorkletNode.res +11 -0
  296. package/src/web-audio/BaseAudioContext.res +141 -0
  297. package/src/web-audio/BiquadFilterNode.res +21 -0
  298. package/src/web-audio/ChannelMergerNode.res +10 -0
  299. package/src/web-audio/ChannelSplitterNode.res +10 -0
  300. package/src/web-audio/ConstantSourceNode.res +10 -0
  301. package/src/web-audio/ConvolverNode.res +10 -0
  302. package/src/web-audio/DelayNode.res +10 -0
  303. package/src/web-audio/DynamicsCompressorNode.res +10 -0
  304. package/src/web-audio/GainNode.res +10 -0
  305. package/src/web-audio/IIRFilterNode.res +21 -0
  306. package/src/web-audio/MediaElementAudioSourceNode.res +10 -0
  307. package/src/web-audio/MediaStreamAudioDestinationNode.res +10 -0
  308. package/src/web-audio/MediaStreamAudioSourceNode.res +10 -0
  309. package/src/web-audio/OfflineAudioCompletionEvent.res +10 -0
  310. package/src/web-audio/OfflineAudioContext.res +58 -0
  311. package/src/web-audio/OscillatorNode.res +17 -0
  312. package/src/web-audio/PannerNode.res +10 -0
  313. package/src/web-audio/PeriodicWave.res +8 -0
  314. package/src/web-audio/StereoPannerNode.res +10 -0
  315. package/src/web-audio/WaveShaperNode.res +10 -0
  316. package/src/web-audio/WebAudioTypes.res +1309 -0
  317. package/src/web-audio/Worklet.res +14 -0
  318. package/src/window/CustomElementRegistry.res +30 -0
  319. package/src/window/Document.res +470 -0
  320. package/src/window/DomGlobal.res +459 -0
  321. package/src/window/History.res +37 -0
  322. package/src/window/HistoryTypes.res +26 -0
  323. package/src/window/IdleDeadline.res +5 -0
  324. package/src/window/Location.res +108 -0
  325. package/src/window/VisualViewport.res +5 -0
  326. package/src/window/VisualViewportTypes.res +37 -0
  327. package/src/window/Window.res +556 -0
  328. package/src/window/XPathExpression.res +16 -0
  329. package/src/window/XPathResult.res +46 -0
  330. package/src/workers/Clients.res +39 -0
  331. package/src/workers/NavigationPreloadManager.res +26 -0
  332. package/src/workers/ServiceWorker.res +38 -0
  333. package/src/workers/ServiceWorkerContainer.res +34 -0
  334. package/src/workers/ServiceWorkerRegistration.res +32 -0
  335. package/src/workers/ServiceWorkerScope.res +12 -0
  336. package/src/workers/ServiceWorkerTypes.res +153 -0
  337. package/src/workers/SharedWorker.res +68 -0
  338. package/src/workers/SharedWorkerScope.res +29 -0
  339. package/src/workers/WebWorkersTypes.res +46 -0
  340. package/src/workers/Worker.res +48 -0
  341. package/src/workers/WorkerLocation.res +18 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/item)
3
+ */
4
+ @send
5
+ external item: (DOM.namedNodeMap, int) => Null.t<Attr.t> = "item"
6
+
7
+ /**
8
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/getNamedItem)
9
+ */
10
+ @send
11
+ external getNamedItem: (DOM.namedNodeMap, string) => Null.t<Attr.t> = "getNamedItem"
12
+
13
+ /**
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/getNamedItemNS)
15
+ */
16
+ @send
17
+ external getNamedItemNS: (
18
+ DOM.namedNodeMap,
19
+ ~namespace: string,
20
+ ~localName: string,
21
+ ) => Null.t<Attr.t> = "getNamedItemNS"
22
+
23
+ /**
24
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/setNamedItem)
25
+ */
26
+ @throws(JsExn) @send
27
+ external setNamedItem: (DOM.namedNodeMap, Attr.t) => Null.t<Attr.t> = "setNamedItem"
28
+
29
+ /**
30
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/setNamedItemNS)
31
+ */
32
+ @throws(JsExn) @send
33
+ external setNamedItemNS: (DOM.namedNodeMap, Attr.t) => Null.t<Attr.t> = "setNamedItemNS"
34
+
35
+ /**
36
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/removeNamedItem)
37
+ */
38
+ @throws(JsExn) @send
39
+ external removeNamedItem: (DOM.namedNodeMap, string) => Attr.t = "removeNamedItem"
40
+
41
+ /**
42
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/removeNamedItemNS)
43
+ */
44
+ @throws(JsExn) @send
45
+ external removeNamedItemNS: (DOM.namedNodeMap, ~namespace: string, ~localName: string) => Attr.t =
46
+ "removeNamedItemNS"
@@ -0,0 +1,114 @@
1
+ type t = DOMTree.node = private {
2
+ ...DOMTree.node,
3
+ }
4
+
5
+ module Impl = (
6
+ T: {
7
+ type t
8
+ },
9
+ ) => {
10
+ include EventTarget.Impl({type t = T.t})
11
+
12
+ external asNode: T.t => DOMTree.node = "%identity"
13
+
14
+ type getRootNodeOptions = {mutable composed?: bool}
15
+
16
+ /**
17
+ Returns node's root.
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/getRootNode)
19
+ */
20
+ @send
21
+ external getRootNode: (T.t, ~options: getRootNodeOptions=?) => DOMTree.node = "getRootNode"
22
+
23
+ /**
24
+ Returns whether node has children.
25
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/hasChildNodes)
26
+ */
27
+ @send
28
+ external hasChildNodes: T.t => bool = "hasChildNodes"
29
+
30
+ /**
31
+ Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.
32
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/normalize)
33
+ */
34
+ @send
35
+ external normalize: T.t => unit = "normalize"
36
+
37
+ /**
38
+ Returns a copy of node. If deep is true, the copy also includes the node's descendants.
39
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/cloneNode)
40
+ */
41
+ @send
42
+ external cloneNode: (T.t, ~deep: bool=?) => T.t = "cloneNode"
43
+
44
+ /**
45
+ Returns whether node and otherNode have the same properties.
46
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isEqualNode)
47
+ */
48
+ @send
49
+ external isEqualNode: (T.t, DOMTree.node) => bool = "isEqualNode"
50
+
51
+ /**
52
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isSameNode)
53
+ */
54
+ @send
55
+ external isSameNode: (T.t, DOMTree.node) => bool = "isSameNode"
56
+
57
+ /**
58
+ Returns a bitmask indicating the position of other relative to node.
59
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/compareDocumentPosition)
60
+ */
61
+ @send
62
+ external compareDocumentPosition: (T.t, DOMTree.node) => int = "compareDocumentPosition"
63
+
64
+ /**
65
+ Returns true if other is an inclusive descendant of node, and false otherwise.
66
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/contains)
67
+ */
68
+ @send
69
+ external contains: (T.t, DOMTree.node) => bool = "contains"
70
+
71
+ /**
72
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix)
73
+ */
74
+ @send
75
+ external lookupPrefix: (T.t, string) => Null.t<string> = "lookupPrefix"
76
+
77
+ /**
78
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI)
79
+ */
80
+ @send
81
+ external lookupNamespaceURI: (T.t, string) => Null.t<string> = "lookupNamespaceURI"
82
+
83
+ /**
84
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isDefaultNamespace)
85
+ */
86
+ @send
87
+ external isDefaultNamespace: (T.t, string) => bool = "isDefaultNamespace"
88
+
89
+ /**
90
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/insertBefore)
91
+ */
92
+ @throws(JsExn) @send
93
+ external insertBefore: (T.t, 't, ~child: DOMTree.node) => 't = "insertBefore"
94
+
95
+ /**
96
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/appendChild)
97
+ */
98
+ @throws(JsExn) @send
99
+ external appendChild: (T.t, 't) => 't = "appendChild"
100
+
101
+ /**
102
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/replaceChild)
103
+ */
104
+ @throws(JsExn) @send
105
+ external replaceChild: (T.t, ~node: DOMTree.node, 't) => 't = "replaceChild"
106
+
107
+ /**
108
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/removeChild)
109
+ */
110
+ @throws(JsExn) @send
111
+ external removeChild: (T.t, 't) => 't = "removeChild"
112
+ }
113
+
114
+ include Impl({type t = t})
@@ -0,0 +1,4 @@
1
+ type t = private {}
2
+
3
+ @send
4
+ external acceptNode: (t, DOMTree.node) => int = "acceptNode"
@@ -0,0 +1,38 @@
1
+ /**
2
+ An iterator over the members of a list of the nodes in a subtree of the DOM. The nodes will be returned in document order.
3
+ [See NodeIterator on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator)
4
+ */
5
+ type t = private {
6
+ /**
7
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/root)
8
+ */
9
+ root: DOMTree.node,
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/referenceNode)
12
+ */
13
+ referenceNode: DOMTree.node,
14
+ /**
15
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/pointerBeforeReferenceNode)
16
+ */
17
+ pointerBeforeReferenceNode: bool,
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/whatToShow)
20
+ */
21
+ whatToShow: int,
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/filter)
24
+ */
25
+ filter: Null.t<NodeFilter.t>,
26
+ }
27
+
28
+ /**
29
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/nextNode)
30
+ */
31
+ @send
32
+ external nextNode: t => Null.t<DOMTree.node> = "nextNode"
33
+
34
+ /**
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeIterator/previousNode)
36
+ */
37
+ @send
38
+ external previousNode: t => Null.t<DOMTree.node> = "previousNode"
@@ -0,0 +1,6 @@
1
+ /**
2
+ Returns the node with index index from the collection. The nodes are sorted in tree order.
3
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeList/item)
4
+ */
5
+ @send
6
+ external item: (DOM.nodeList<'tNode>, int) => Null.t<'tNode> = "item"
@@ -0,0 +1,15 @@
1
+ /**
2
+ A processing instruction embeds application-specific instructions in XML which can be ignored by other applications that don't recognize them.
3
+ [See ProcessingInstruction on MDN](https://developer.mozilla.org/docs/Web/API/ProcessingInstruction)
4
+ */
5
+ type t = {
6
+ ...CharacterData.t,
7
+ /**
8
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ProcessingInstruction/target)
9
+ */
10
+ target: string,
11
+ /**
12
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/sheet)
13
+ */
14
+ sheet: Null.t<StyleSheet.cssStyleSheet>,
15
+ }
@@ -0,0 +1,156 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range)
3
+ */
4
+ type t = private {
5
+ ...AbstractRange.t,
6
+ /**
7
+ Returns the node, furthest away from the document, that is an ancestor of both range's start node and end node.
8
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/commonAncestorContainer)
9
+ */
10
+ commonAncestorContainer: DOMTree.node,
11
+ }
12
+
13
+ @new
14
+ external make: unit => t = "Range"
15
+
16
+ external asAbstractRange: t => AbstractRange.t = "%identity"
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/setStart)
19
+ */
20
+ @send
21
+ external setStart: (t, ~node: DOMTree.node, ~offset: int) => unit = "setStart"
22
+
23
+ /**
24
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/setEnd)
25
+ */
26
+ @throws(JsExn) @send
27
+ external setEnd: (t, ~node: DOMTree.node, ~offset: int) => unit = "setEnd"
28
+
29
+ /**
30
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/setStartBefore)
31
+ */
32
+ @send
33
+ external setStartBefore: (t, DOMTree.node) => unit = "setStartBefore"
34
+
35
+ /**
36
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/setStartAfter)
37
+ */
38
+ @send
39
+ external setStartAfter: (t, DOMTree.node) => unit = "setStartAfter"
40
+
41
+ /**
42
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/setEndBefore)
43
+ */
44
+ @send
45
+ external setEndBefore: (t, DOMTree.node) => unit = "setEndBefore"
46
+
47
+ /**
48
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/setEndAfter)
49
+ */
50
+ @send
51
+ external setEndAfter: (t, DOMTree.node) => unit = "setEndAfter"
52
+
53
+ /**
54
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/collapse)
55
+ */
56
+ @send
57
+ external collapse: (t, ~toStart: bool=?) => unit = "collapse"
58
+
59
+ /**
60
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/selectNode)
61
+ */
62
+ @send
63
+ external selectNode: (t, DOMTree.node) => unit = "selectNode"
64
+
65
+ /**
66
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/selectNodeContents)
67
+ */
68
+ @send
69
+ external selectNodeContents: (t, DOMTree.node) => unit = "selectNodeContents"
70
+
71
+ /**
72
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/compareBoundaryPoints)
73
+ */
74
+ @throws(JsExn) @send
75
+ external compareBoundaryPoints: (t, ~how: int, ~sourceRange: t) => int = "compareBoundaryPoints"
76
+
77
+ /**
78
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/deleteContents)
79
+ */
80
+ @send
81
+ external deleteContents: t => unit = "deleteContents"
82
+
83
+ /**
84
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/extractContents)
85
+ */
86
+ @send
87
+ external extractContents: t => DOMTree.documentFragment = "extractContents"
88
+
89
+ /**
90
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/cloneContents)
91
+ */
92
+ @send
93
+ external cloneContents: t => DOMTree.documentFragment = "cloneContents"
94
+
95
+ /**
96
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/insertNode)
97
+ */
98
+ @send
99
+ external insertNode: (t, DOMTree.node) => unit = "insertNode"
100
+
101
+ /**
102
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/surroundContents)
103
+ */
104
+ @throws(JsExn) @send
105
+ external surroundContents: (t, DOMTree.node) => unit = "surroundContents"
106
+
107
+ /**
108
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/cloneRange)
109
+ */
110
+ @send
111
+ external cloneRange: t => t = "cloneRange"
112
+
113
+ /**
114
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/detach)
115
+ */
116
+ @send
117
+ external detach: t => unit = "detach"
118
+
119
+ /**
120
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/isPointInRange)
121
+ */
122
+ @send
123
+ external isPointInRange: (t, ~node: DOMTree.node, ~offset: int) => bool = "isPointInRange"
124
+
125
+ /**
126
+ Returns −1 if the point is before the range, 0 if the point is in the range, and 1 if the point is after the range.
127
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/comparePoint)
128
+ */
129
+ @send
130
+ external comparePoint: (t, ~node: DOMTree.node, ~offset: int) => int = "comparePoint"
131
+
132
+ /**
133
+ Returns whether range intersects node.
134
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/intersectsNode)
135
+ */
136
+ @send
137
+ external intersectsNode: (t, DOMTree.node) => bool = "intersectsNode"
138
+
139
+ /**
140
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/getClientRects)
141
+ */
142
+ @send
143
+ external getClientRects: t => DOM.domRectList = "getClientRects"
144
+
145
+ /**
146
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/getBoundingClientRect)
147
+ */
148
+ @send
149
+ external getBoundingClientRect: t => DOM.domRect = "getBoundingClientRect"
150
+
151
+ /**
152
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Range/createContextualFragment)
153
+ */
154
+ @throws(JsExn) @send
155
+ external createContextualFragment: (t, string) => DOMTree.documentFragment =
156
+ "createContextualFragment"
@@ -0,0 +1,137 @@
1
+ /**
2
+ A Selection object represents the range of text selected by the user or the current position of the caret. To obtain a Selection object for examination or modification, call Window.getSelection().
3
+ [See Selection on MDN](https://developer.mozilla.org/docs/Web/API/Selection)
4
+ */
5
+ type t = private {
6
+ /**
7
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/anchorNode)
8
+ */
9
+ anchorNode: Null.t<DOMTree.node>,
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/anchorOffset)
12
+ */
13
+ anchorOffset: int,
14
+ /**
15
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/focusNode)
16
+ */
17
+ focusNode: Null.t<DOMTree.node>,
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/focusOffset)
20
+ */
21
+ focusOffset: int,
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/isCollapsed)
24
+ */
25
+ isCollapsed: bool,
26
+ /**
27
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/rangeCount)
28
+ */
29
+ rangeCount: int,
30
+ /**
31
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/type)
32
+ */
33
+ @as("type")
34
+ type_: string,
35
+ /**
36
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/direction)
37
+ */
38
+ direction: string,
39
+ }
40
+
41
+ /**
42
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/getRangeAt)
43
+ */
44
+ @send
45
+ external getRangeAt: (t, int) => Range.t = "getRangeAt"
46
+
47
+ /**
48
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/addRange)
49
+ */
50
+ @send
51
+ external addRange: (t, Range.t) => unit = "addRange"
52
+
53
+ /**
54
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/removeRange)
55
+ */
56
+ @send
57
+ external removeRange: (t, Range.t) => unit = "removeRange"
58
+
59
+ /**
60
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/removeAllRanges)
61
+ */
62
+ @send
63
+ external removeAllRanges: t => unit = "removeAllRanges"
64
+
65
+ /**
66
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/removeAllRanges)
67
+ */
68
+ @send
69
+ external empty: t => unit = "empty"
70
+
71
+ /**
72
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/collapse)
73
+ */
74
+ @send
75
+ external collapse: (t, ~node: DOMTree.node, ~offset: int=?) => unit = "collapse"
76
+
77
+ /**
78
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/collapse)
79
+ */
80
+ @send
81
+ external setPosition: (t, ~node: DOMTree.node, ~offset: int=?) => unit = "setPosition"
82
+
83
+ /**
84
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/collapseToStart)
85
+ */
86
+ @send
87
+ external collapseToStart: t => unit = "collapseToStart"
88
+
89
+ /**
90
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/collapseToEnd)
91
+ */
92
+ @send
93
+ external collapseToEnd: t => unit = "collapseToEnd"
94
+
95
+ /**
96
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/extend)
97
+ */
98
+ @send
99
+ external extend: (t, ~node: DOMTree.node, ~offset: int=?) => unit = "extend"
100
+
101
+ /**
102
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/setBaseAndExtent)
103
+ */
104
+ @throws(JsExn) @send
105
+ external setBaseAndExtent: (
106
+ t,
107
+ ~anchorNode: DOMTree.node,
108
+ ~anchorOffset: int,
109
+ ~focusNode: DOMTree.node,
110
+ ~focusOffset: int,
111
+ ) => unit = "setBaseAndExtent"
112
+
113
+ /**
114
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/selectAllChildren)
115
+ */
116
+ @send
117
+ external selectAllChildren: (t, DOMTree.node) => unit = "selectAllChildren"
118
+
119
+ /**
120
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/modify)
121
+ */
122
+ @send
123
+ external modify: (t, ~alter: string=?, ~direction: string=?, ~granularity: string=?) => unit =
124
+ "modify"
125
+
126
+ /**
127
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/deleteFromDocument)
128
+ */
129
+ @send
130
+ external deleteFromDocument: t => unit = "deleteFromDocument"
131
+
132
+ /**
133
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Selection/containsNode)
134
+ */
135
+ @send
136
+ external containsNode: (t, ~node: DOMTree.node, ~allowPartialContainment: bool=?) => bool =
137
+ "containsNode"
@@ -0,0 +1,23 @@
1
+ type t = DOMTree.shadowRoot = private {
2
+ ...DOMTree.shadowRoot,
3
+ }
4
+
5
+ include DocumentFragment.Impl({type t = t})
6
+
7
+ /**
8
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/getAnimations)
9
+ */
10
+ @send
11
+ external getAnimations: DOMTree.shadowRoot => array<Animation.t> = "getAnimations"
12
+
13
+ /**
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/setHTMLUnsafe)
15
+ */
16
+ @throws(JsExn) @send
17
+ external setHTMLUnsafe: (DOMTree.shadowRoot, string) => unit = "setHTMLUnsafe"
18
+
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/getHTML)
21
+ */
22
+ @send
23
+ external getHTML: (DOMTree.shadowRoot, ~options: HTML.getHTMLOptions=?) => string = "getHTML"
@@ -0,0 +1,6 @@
1
+ /**
2
+ [See StaticRange on MDN](https://developer.mozilla.org/docs/Web/API/StaticRange)
3
+ */
4
+ type t = AbstractRange.t = private {
5
+ ...AbstractRange.t,
6
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ The textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.
3
+ [See Text on MDN](https://developer.mozilla.org/docs/Web/API/Text)
4
+ */
5
+ type t = private {
6
+ ...CharacterData.t,
7
+ /**
8
+ Returns the combined data of all direct Text node siblings.
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Text/wholeText)
10
+ */
11
+ wholeText: string,
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/assignedSlot)
14
+ */
15
+ assignedSlot: Null.t<DOMTree.htmlSlotElement>,
16
+ }
17
+
18
+ include CharacterData.Impl({type t = t})
19
+
20
+ /**
21
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Text)
22
+ */
23
+ @new
24
+ external make: (~data: string=?) => t = "Text"
25
+
26
+ /**
27
+ Splits data at the given offset and returns the remainder as Text node.
28
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Text/splitText)
29
+ */
30
+ @throws(JsExn) @send
31
+ external splitText: (t, int) => t = "splitText"
@@ -0,0 +1,65 @@
1
+ /**
2
+ The nodes of a document subtree and a position within them.
3
+ [See TreeWalker on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker)
4
+ TODO: mark as private once mutating fields of private records is allowed
5
+ */
6
+ type t = {
7
+ /**
8
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/root)
9
+ */
10
+ root: DOMTree.node,
11
+ /**
12
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/whatToShow)
13
+ */
14
+ whatToShow: int,
15
+ /**
16
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/filter)
17
+ */
18
+ filter: Null.t<NodeFilter.t>,
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/currentNode)
21
+ */
22
+ mutable currentNode: DOMTree.node,
23
+ }
24
+
25
+ /**
26
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/parentNode)
27
+ */
28
+ @send
29
+ external parentNode: t => Null.t<DOMTree.node> = "parentNode"
30
+
31
+ /**
32
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/firstChild)
33
+ */
34
+ @send
35
+ external firstChild: t => Null.t<DOMTree.node> = "firstChild"
36
+
37
+ /**
38
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/lastChild)
39
+ */
40
+ @send
41
+ external lastChild: t => Null.t<DOMTree.node> = "lastChild"
42
+
43
+ /**
44
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/previousSibling)
45
+ */
46
+ @send
47
+ external previousSibling: t => Null.t<DOMTree.node> = "previousSibling"
48
+
49
+ /**
50
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/nextSibling)
51
+ */
52
+ @send
53
+ external nextSibling: t => Null.t<DOMTree.node> = "nextSibling"
54
+
55
+ /**
56
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/previousNode)
57
+ */
58
+ @send
59
+ external previousNode: t => Null.t<DOMTree.node> = "previousNode"
60
+
61
+ /**
62
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TreeWalker/nextNode)
63
+ */
64
+ @send
65
+ external nextNode: t => Null.t<DOMTree.node> = "nextNode"
@@ -0,0 +1,7 @@
1
+ type t = DOM.domException
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMException)
5
+ */
6
+ @new
7
+ external make: (~message: string=?, ~name: string=?) => t = "DOMException"
@@ -0,0 +1,15 @@
1
+ type t = DOM.domStringList
2
+
3
+ /**
4
+ Returns the string with index index from strings.
5
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList/item)
6
+ */
7
+ @send
8
+ external item: (t, int) => Null.t<string> = "item"
9
+
10
+ /**
11
+ Returns true if strings contains string, and false otherwise.
12
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList/contains)
13
+ */
14
+ @send
15
+ external contains: (t, string) => bool = "contains"
@@ -0,0 +1,5 @@
1
+ /**
2
+ Used by the dataset HTML attribute to represent data for custom attributes added to elements.
3
+ [See DOMStringMap on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
4
+ */
5
+ type t = private {}