@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,1026 @@
1
+ @@warning("-30")
2
+
3
+ /**
4
+ Any web page loaded in the browser that serves as an entry point into the page's DOM tree.
5
+ [See Document on MDN](https://developer.mozilla.org/docs/Web/API/Document)
6
+ */
7
+ type document = private {}
8
+
9
+ /**
10
+ An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API.
11
+ [See DOMException on MDN](https://developer.mozilla.org/docs/Web/API/DOMException)
12
+ */
13
+ @editor.completeFrom(DOMException)
14
+ type domException = {
15
+ /**
16
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMException/name)
17
+ */
18
+ name: string,
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMException/message)
21
+ */
22
+ message: string,
23
+ }
24
+
25
+ /**
26
+ A type returned by some APIs which contains a list of DOMString (strings).
27
+ [See DOMStringList on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList)
28
+ */
29
+ @editor.completeFrom(DOMStringList)
30
+ type domStringList = {
31
+ /**
32
+ Returns the number of strings in strings.
33
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList/length)
34
+ */
35
+ length: int,
36
+ }
37
+
38
+ @editor.completeFrom(Window)
39
+ type window = private {}
40
+ external window: window = "window"
41
+
42
+ type autoFillBase =
43
+ | @as("off") Off
44
+ | @as("on") On
45
+
46
+ type documentReadyState =
47
+ | @as("complete") Complete
48
+ | @as("interactive") Interactive
49
+ | @as("loading") Loading
50
+
51
+ type documentVisibilityState =
52
+ | @as("hidden") Hidden
53
+ | @as("visible") Visible
54
+
55
+ type orientationType =
56
+ | @as("landscape-primary") LandscapePrimary
57
+ | @as("landscape-secondary") LandscapeSecondary
58
+ | @as("portrait-primary") PortraitPrimary
59
+ | @as("portrait-secondary") PortraitSecondary
60
+
61
+ type insertPosition =
62
+ | @as("afterbegin") Afterbegin
63
+ | @as("afterend") Afterend
64
+ | @as("beforebegin") Beforebegin
65
+ | @as("beforeend") Beforeend
66
+
67
+ type scrollBehavior =
68
+ | @as("auto") Auto
69
+ | @as("instant") Instant
70
+ | @as("smooth") Smooth
71
+
72
+ type fullscreenNavigationUI =
73
+ | @as("auto") Auto
74
+ | @as("hide") Hide
75
+ | @as("show") Show
76
+
77
+ type remotePlaybackState =
78
+ | @as("connected") Connected
79
+ | @as("connecting") Connecting
80
+ | @as("disconnected") Disconnected
81
+
82
+ type referrerPolicy =
83
+ | @as("no-referrer") NoReferrer
84
+ | @as("no-referrer-when-downgrade") NoReferrerWhenDowngrade
85
+ | @as("origin") Origin
86
+ | @as("origin-when-cross-origin") OriginWhenCrossOrigin
87
+ | @as("same-origin") SameOrigin
88
+ | @as("strict-origin") StrictOrigin
89
+ | @as("strict-origin-when-cross-origin") StrictOriginWhenCrossOrigin
90
+ | @as("unsafe-url") UnsafeUrl
91
+
92
+ type fillMode =
93
+ | @as("auto") Auto
94
+ | @as("backwards") Backwards
95
+ | @as("both") Both
96
+ | @as("forwards") Forwards
97
+ | @as("none") None
98
+
99
+ type playbackDirection =
100
+ | @as("alternate") Alternate
101
+ | @as("alternate-reverse") AlternateReverse
102
+ | @as("normal") Normal
103
+ | @as("reverse") Reverse
104
+
105
+ type imageOrientation =
106
+ | @as("flipY") FlipY
107
+ | @as("from-image") FromImage
108
+ | @as("none") None
109
+
110
+ type premultiplyAlpha =
111
+ | @as("default") Default
112
+ | @as("none") None
113
+ | @as("premultiply") Premultiply
114
+
115
+ type colorSpaceConversion =
116
+ | @as("default") Default
117
+ | @as("none") None
118
+
119
+ type resizeQuality =
120
+ | @as("high") High
121
+ | @as("low") Low
122
+ | @as("medium") Medium
123
+ | @as("pixelated") Pixelated
124
+
125
+ type scrollLogicalPosition =
126
+ | @as("center") Center
127
+ | @as("end") End
128
+ | @as("nearest") Nearest
129
+ | @as("start") Start
130
+
131
+ type selectionMode =
132
+ | @as("end") End
133
+ | @as("preserve") Preserve
134
+ | @as("select") Select
135
+ | @as("start") Start
136
+
137
+ type videoPixelFormat =
138
+ | BGRA
139
+ | BGRX
140
+ | I420
141
+ | I420A
142
+ | I422
143
+ | I444
144
+ | NV12
145
+ | RGBA
146
+ | RGBX
147
+
148
+ type videoColorPrimaries =
149
+ | @as("bt470bg") Bt470bg
150
+ | @as("bt709") Bt709
151
+ | @as("smpte170m") Smpte170m
152
+
153
+ type videoTransferCharacteristics =
154
+ | @as("bt709") Bt709
155
+ | @as("iec61966-2-1") Iec6196621
156
+ | @as("smpte170m") Smpte170m
157
+
158
+ type videoMatrixCoefficients =
159
+ | @as("bt470bg") Bt470bg
160
+ | @as("bt709") Bt709
161
+ | @as("rgb") Rgb
162
+ | @as("smpte170m") Smpte170m
163
+
164
+ type alphaOption =
165
+ | @as("discard") Discard
166
+ | @as("keep") Keep
167
+
168
+ type predefinedColorSpace =
169
+ | @as("display-p3") DisplayP3
170
+ | @as("srgb") Srgb
171
+
172
+ /**
173
+ A file-like object of immutable, raw data.
174
+ [See Blob on MDN](https://developer.mozilla.org/docs/Web/API/Blob)
175
+ */
176
+ type blob = private {
177
+ size: int,
178
+ @as("type")
179
+ type_: string,
180
+ }
181
+
182
+ /**
183
+ Provides information about a file selected by or available to the user.
184
+ [See File on MDN](https://developer.mozilla.org/docs/Web/API/File)
185
+ */
186
+ type file = private {
187
+ ...blob,
188
+ name: string,
189
+ lastModified: int,
190
+ webkitRelativePath: string,
191
+ }
192
+
193
+ type shareData = {
194
+ mutable files?: array<file>,
195
+ mutable title?: string,
196
+ mutable text?: string,
197
+ mutable url?: string,
198
+ }
199
+
200
+ /**
201
+ [See UserActivation on MDN](https://developer.mozilla.org/docs/Web/API/UserActivation)
202
+ */
203
+ type userActivation = {
204
+ /**
205
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/UserActivation/hasBeenActive)
206
+ */
207
+ hasBeenActive: bool,
208
+ /**
209
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/UserActivation/isActive)
210
+ */
211
+ isActive: bool,
212
+ }
213
+
214
+ /**
215
+ The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities.
216
+ [See Navigator on MDN](https://developer.mozilla.org/docs/Web/API/Navigator)
217
+ */
218
+ @editor.completeFrom(Navigator)
219
+ type navigator
220
+
221
+ // TODO: mark as private once mutating fields of private records is allowed
222
+ @editor.completeFrom(DOMTokenList)
223
+ type domTokenList = {
224
+ /**
225
+ Returns the number of tokens.
226
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMTokenList/length)
227
+ */
228
+ length: int,
229
+ /**
230
+ Returns the associated set as string.
231
+
232
+ Can be set, to change the associated attribute.
233
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMTokenList/value)
234
+ */
235
+ mutable value: string,
236
+ }
237
+
238
+ /**
239
+ [See FragmentDirective on MDN](https://developer.mozilla.org/docs/Web/API/FragmentDirective)
240
+ */
241
+ type fragmentDirective = {}
242
+
243
+ /**
244
+ [See CustomElementRegistry on MDN](https://developer.mozilla.org/docs/Web/API/CustomElementRegistry)
245
+ */
246
+ @editor.completeFrom(CustomElementRegistry)
247
+ type customElementRegistry = private {}
248
+
249
+ /**
250
+ [See BarProp on MDN](https://developer.mozilla.org/docs/Web/API/BarProp)
251
+ */
252
+ type barProp = {
253
+ /**
254
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BarProp/visible)
255
+ */
256
+ visible: bool,
257
+ }
258
+
259
+ /**
260
+ EventTarget is a WebApiDOM interface implemented by objects that can receive events and may have listeners for them.
261
+ [See EventTarget on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget)
262
+ */
263
+ @editor.completeFrom(EventTarget)
264
+ type eventTarget = private {}
265
+
266
+ /**
267
+ An event which takes place in the DOM.
268
+ [See WebApiEvent on MDN](https://developer.mozilla.org/docs/Web/API/Event)
269
+ */
270
+ @editor.completeFrom(Event)
271
+ type event = private {
272
+ /**
273
+ Returns the type of event, e.g. "click", "hashchange", or "submit".
274
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/type)
275
+ */
276
+ @as("type")
277
+ type_: EventType.t,
278
+ /**
279
+ Returns the object to which event is dispatched (its target).
280
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/target)
281
+ */
282
+ target: Null.t<eventTarget>,
283
+ /**
284
+ Returns the object whose event listener's callback is currently being invoked.
285
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/currentTarget)
286
+ */
287
+ currentTarget: Null.t<eventTarget>,
288
+ /**
289
+ Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE.
290
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/eventPhase)
291
+ */
292
+ eventPhase: int,
293
+ /**
294
+ Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise.
295
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/bubbles)
296
+ */
297
+ bubbles: bool,
298
+ /**
299
+ Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method.
300
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/cancelable)
301
+ */
302
+ cancelable: bool,
303
+ /**
304
+ Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise.
305
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/defaultPrevented)
306
+ */
307
+ defaultPrevented: bool,
308
+ /**
309
+ Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise.
310
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/composed)
311
+ */
312
+ composed: bool,
313
+ /**
314
+ Returns true if event was dispatched by the user agent, and false otherwise.
315
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/isTrusted)
316
+ */
317
+ isTrusted: bool,
318
+ /**
319
+ Returns the event's timestamp as the number of milliseconds measured relative to the time origin.
320
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/timeStamp)
321
+ */
322
+ timeStamp: float,
323
+ }
324
+
325
+ type eventInit = {
326
+ mutable bubbles?: bool,
327
+ mutable cancelable?: bool,
328
+ mutable composed?: bool,
329
+ }
330
+
331
+ /**
332
+ The ExtendableEvent interface extends the lifetime of the install and activate events dispatched on the global scope as part of the service worker lifecycle.
333
+ [See ExtendableEvent on MDN](https://developer.mozilla.org/docs/Web/API/ExtendableEvent)
334
+ */
335
+ @editor.completeFrom(ExtendableEvent)
336
+ type extendableEvent = private {
337
+ ...event,
338
+ }
339
+
340
+ /**
341
+ A controller object that allows you to abort one or more WebApiDOM requests as and when desired.
342
+ [See AbortController on MDN](https://developer.mozilla.org/docs/Web/API/AbortController)
343
+ */
344
+ @editor.completeFrom(AbortController)
345
+ type rec abortController = private {
346
+ /**
347
+ Returns the AbortSignal object associated with this object.
348
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortController/signal)
349
+ */
350
+ signal: abortSignal,
351
+ }
352
+ /**
353
+ A signal object that allows you to communicate with a WebApiDOM request (such as a WebApiFetch) and abort it if required via an AbortController object.
354
+ [See AbortSignal on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal)
355
+ */
356
+ @editor.completeFrom(AbortSignal) and abortSignal = private {
357
+ ...eventTarget,
358
+ /**
359
+ Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.
360
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted)
361
+ */
362
+ aborted: bool,
363
+ /**
364
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal/reason)
365
+ */
366
+ reason: JSON.t,
367
+ }
368
+
369
+ module EventListener = {
370
+ type t<'event> = 'event => unit
371
+
372
+ type options = {mutable capture?: bool}
373
+
374
+ type addEventListenerOptions = {
375
+ ...options,
376
+ mutable passive?: bool,
377
+ mutable once?: bool,
378
+ mutable signal?: abortSignal,
379
+ }
380
+ }
381
+
382
+ /**
383
+ [See ScreenOrientation on MDN](https://developer.mozilla.org/docs/Web/API/ScreenOrientation)
384
+ */
385
+ @editor.completeFrom(ScreenOrientation)
386
+ type screenOrientation = private {
387
+ ...eventTarget,
388
+ /**
389
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/type)
390
+ */
391
+ @as("type")
392
+ type_: orientationType,
393
+ /**
394
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/angle)
395
+ */
396
+ angle: int,
397
+ }
398
+
399
+ /**
400
+ A screen, usually the one on which the current window is being rendered, and is obtained using window.screen.
401
+ [See Screen on MDN](https://developer.mozilla.org/docs/Web/API/Screen)
402
+ */
403
+ type screen = {
404
+ /**
405
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/availWidth)
406
+ */
407
+ availWidth: int,
408
+ /**
409
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/availHeight)
410
+ */
411
+ availHeight: int,
412
+ /**
413
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/width)
414
+ */
415
+ width: int,
416
+ /**
417
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/height)
418
+ */
419
+ height: int,
420
+ /**
421
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/colorDepth)
422
+ */
423
+ colorDepth: int,
424
+ /**
425
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/pixelDepth)
426
+ */
427
+ pixelDepth: int,
428
+ /**
429
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Screen/orientation)
430
+ */
431
+ orientation: screenOrientation,
432
+ }
433
+
434
+ @unboxed
435
+ type vibratePattern =
436
+ | Int(int)
437
+ | IntArray(array<int>)
438
+
439
+ type renderingContext = unknown
440
+
441
+ type offscreenRenderingContext = unknown
442
+
443
+ /**
444
+ [See DocumentTimeline on MDN](https://developer.mozilla.org/docs/Web/API/DocumentTimeline)
445
+ */
446
+ @editor.completeFrom(DocumentTimeline) and documentTimeline = private {
447
+ /**
448
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AnimationTimeline/currentTime)
449
+ */
450
+ currentTime: Null.t<float>,
451
+ }
452
+
453
+ /**
454
+ NodeList objects are collections of nodes, usually returned by properties such as Node.childNodes and methods such as document.querySelectorAll().
455
+ [See NodeList on MDN](https://developer.mozilla.org/docs/Web/API/NodeList)
456
+ */
457
+ @editor.completeFrom(NodeList) and nodeList<'tNode> = private {
458
+ /**
459
+ Returns the number of nodes in the collection.
460
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NodeList/length)
461
+ */
462
+ length: int,
463
+ }
464
+
465
+ /**
466
+ [See DOMRectReadOnly on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly)
467
+ */
468
+ @editor.completeFrom(DOMRectReadOnly)
469
+ type domRectReadOnly = private {
470
+ /**
471
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/x)
472
+ */
473
+ x: float,
474
+ /**
475
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/y)
476
+ */
477
+ y: float,
478
+ /**
479
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/width)
480
+ */
481
+ width: float,
482
+ /**
483
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/height)
484
+ */
485
+ height: float,
486
+ /**
487
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/top)
488
+ */
489
+ top: float,
490
+ /**
491
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/right)
492
+ */
493
+ right: float,
494
+ /**
495
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/bottom)
496
+ */
497
+ bottom: float,
498
+ /**
499
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/left)
500
+ */
501
+ left: float,
502
+ }
503
+
504
+ /**
505
+ [See DOMRect on MDN](https://developer.mozilla.org/docs/Web/API/DOMRect)
506
+ */
507
+ @editor.completeFrom(DOMRect)
508
+ type domRect = private {
509
+ ...domRectReadOnly,
510
+ }
511
+
512
+ @editor.completeFrom(DOMRectList) type domRectList = private {}
513
+
514
+ /**
515
+ The validity states that an element can be in, with respect to constraint validation. Together, they help explain why an element's value fails to validate, if it's not valid.
516
+ [See ValidityState on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState)
517
+ */
518
+ type validityState = {
519
+ /**
520
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/valueMissing)
521
+ */
522
+ valueMissing: bool,
523
+ /**
524
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/typeMismatch)
525
+ */
526
+ typeMismatch: bool,
527
+ /**
528
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/patternMismatch)
529
+ */
530
+ patternMismatch: bool,
531
+ /**
532
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/tooLong)
533
+ */
534
+ tooLong: bool,
535
+ /**
536
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/tooShort)
537
+ */
538
+ tooShort: bool,
539
+ /**
540
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/rangeUnderflow)
541
+ */
542
+ rangeUnderflow: bool,
543
+ /**
544
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/rangeOverflow)
545
+ */
546
+ rangeOverflow: bool,
547
+ /**
548
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/stepMismatch)
549
+ */
550
+ stepMismatch: bool,
551
+ /**
552
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/badInput)
553
+ */
554
+ badInput: bool,
555
+ /**
556
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/customError)
557
+ */
558
+ customError: bool,
559
+ /**
560
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ValidityState/valid)
561
+ */
562
+ valid: bool,
563
+ }
564
+
565
+ /**
566
+ [See CaretPosition on MDN](https://developer.mozilla.org/docs/Web/API/CaretPosition)
567
+ */
568
+ @editor.completeFrom(CaretPosition)
569
+ type caretPosition = private {}
570
+
571
+ /**
572
+ [See IdleDeadline on MDN](https://developer.mozilla.org/docs/Web/API/IdleDeadline)
573
+ */
574
+ @editor.completeFrom(IdleDeadline)
575
+ type idleDeadline = private {
576
+ /**
577
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/IdleDeadline/didTimeout)
578
+ */
579
+ didTimeout: bool,
580
+ }
581
+
582
+ /**
583
+ An object of this type is returned by the files property of the HTML <input> element; this lets you access the list of files selected with the <input type="file"> element. It's also used for a list of files dropped into web content when using the drag and drop API; see the DataTransfer object for details on this usage.
584
+ [See FileList on MDN](https://developer.mozilla.org/docs/Web/API/FileList)
585
+ */
586
+ @editor.completeFrom(FileList)
587
+ type fileList = private {
588
+ /**
589
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/FileList/length)
590
+ */
591
+ length: int,
592
+ }
593
+
594
+ /**
595
+ A collection of Attr objects. Objects inside a NamedNodeMap are not in any particular order, unlike NodeList, although they may be accessed by an index as in an array.
596
+ [See NamedNodeMap on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap)
597
+ */
598
+ type namedNodeMap = private {
599
+ /**
600
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NamedNodeMap/length)
601
+ */
602
+ length: int,
603
+ }
604
+
605
+ type structuredSerializeOptions = {mutable transfer?: array<Dict.t<string>>}
606
+
607
+ type slotAssignmentMode =
608
+ | @as("manual") Manual
609
+ | @as("named") Named
610
+
611
+ type animationPlayState =
612
+ | @as("finished") Finished
613
+ | @as("idle") Idle
614
+ | @as("paused") Paused
615
+ | @as("running") Running
616
+
617
+ type animationReplaceState =
618
+ | @as("active") Active
619
+ | @as("persisted") Persisted
620
+ | @as("removed") Removed
621
+
622
+ /**
623
+ [See DOMMatrixReadOnly on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly)
624
+ */
625
+ @editor.completeFrom(DOMMatrixReadOnly)
626
+ type domMatrixReadOnly = private {
627
+ /**
628
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
629
+ */
630
+ a: float,
631
+ /**
632
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
633
+ */
634
+ b: float,
635
+ /**
636
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
637
+ */
638
+ c: float,
639
+ /**
640
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
641
+ */
642
+ d: float,
643
+ /**
644
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
645
+ */
646
+ e: float,
647
+ /**
648
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
649
+ */
650
+ f: float,
651
+ /**
652
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
653
+ */
654
+ m11: float,
655
+ /**
656
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
657
+ */
658
+ m12: float,
659
+ /**
660
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
661
+ */
662
+ m13: float,
663
+ /**
664
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
665
+ */
666
+ m14: float,
667
+ /**
668
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
669
+ */
670
+ m21: float,
671
+ /**
672
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
673
+ */
674
+ m22: float,
675
+ /**
676
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
677
+ */
678
+ m23: float,
679
+ /**
680
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
681
+ */
682
+ m24: float,
683
+ /**
684
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
685
+ */
686
+ m31: float,
687
+ /**
688
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
689
+ */
690
+ m32: float,
691
+ /**
692
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
693
+ */
694
+ m33: float,
695
+ /**
696
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
697
+ */
698
+ m34: float,
699
+ /**
700
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
701
+ */
702
+ m41: float,
703
+ /**
704
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
705
+ */
706
+ m42: float,
707
+ /**
708
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
709
+ */
710
+ m43: float,
711
+ /**
712
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly#instance_properties)
713
+ */
714
+ m44: float,
715
+ }
716
+
717
+ /**
718
+ [See DOMMatrix on MDN](https://developer.mozilla.org/docs/Web/API/DOMMatrix)
719
+ */
720
+ @editor.completeFrom(DOMMatrix)
721
+ type domMatrix = private {
722
+ ...domMatrixReadOnly,
723
+ }
724
+
725
+ /**
726
+ [See VideoColorSpace on MDN](https://developer.mozilla.org/docs/Web/API/VideoColorSpace)
727
+ */
728
+ @editor.completeFrom(VideoColorSpace)
729
+ type videoColorSpace = private {
730
+ /**
731
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/primaries)
732
+ */
733
+ primaries: Null.t<videoColorPrimaries>,
734
+ /**
735
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/transfer)
736
+ */
737
+ transfer: Null.t<videoTransferCharacteristics>,
738
+ /**
739
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/matrix)
740
+ */
741
+ matrix: Null.t<videoMatrixCoefficients>,
742
+ /**
743
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoColorSpace/fullRange)
744
+ */
745
+ fullRange: Null.t<bool>,
746
+ }
747
+
748
+ /**
749
+ [See VideoFrame on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame)
750
+ */
751
+ @editor.completeFrom(VideoFrame)
752
+ type videoFrame = private {
753
+ /**
754
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/format)
755
+ */
756
+ format: Null.t<videoPixelFormat>,
757
+ /**
758
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedWidth)
759
+ */
760
+ codedWidth: int,
761
+ /**
762
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedHeight)
763
+ */
764
+ codedHeight: int,
765
+ /**
766
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/codedRect)
767
+ */
768
+ codedRect: Null.t<domRectReadOnly>,
769
+ /**
770
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/visibleRect)
771
+ */
772
+ visibleRect: Null.t<domRectReadOnly>,
773
+ /**
774
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/displayWidth)
775
+ */
776
+ displayWidth: int,
777
+ /**
778
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/displayHeight)
779
+ */
780
+ displayHeight: int,
781
+ /**
782
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/duration)
783
+ */
784
+ duration: Null.t<int>,
785
+ /**
786
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/timestamp)
787
+ */
788
+ timestamp: int,
789
+ /**
790
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoFrame/colorSpace)
791
+ */
792
+ colorSpace: videoColorSpace,
793
+ }
794
+
795
+ /**
796
+ The underlying pixel data of an area of a <canvas> element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData().
797
+ [See ImageData on MDN](https://developer.mozilla.org/docs/Web/API/ImageData)
798
+ */
799
+ @editor.completeFrom(ImageData)
800
+ type imageData = private {
801
+ /**
802
+ Returns the actual dimensions of the data in the ImageData object, in pixels.
803
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageData/width)
804
+ */
805
+ width: int,
806
+ /**
807
+ Returns the actual dimensions of the data in the ImageData object, in pixels.
808
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageData/height)
809
+ */
810
+ height: int,
811
+ /**
812
+ Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.
813
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageData/data)
814
+ */
815
+ data: Uint8ClampedArray.t,
816
+ /**
817
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageData/colorSpace)
818
+ */
819
+ colorSpace: predefinedColorSpace,
820
+ }
821
+
822
+ /**
823
+ [See DOMPointReadOnly on MDN](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly)
824
+ */
825
+ @editor.completeFrom(DOMPointReadOnly)
826
+ type domPointReadOnly = private {
827
+ /**
828
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/x)
829
+ */
830
+ x: float,
831
+ /**
832
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/y)
833
+ */
834
+ y: float,
835
+ /**
836
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/z)
837
+ */
838
+ z: float,
839
+ /**
840
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/w)
841
+ */
842
+ w: float,
843
+ }
844
+
845
+ /**
846
+ [See DOMPoint on MDN](https://developer.mozilla.org/docs/Web/API/DOMPoint)
847
+ */
848
+ @editor.completeFrom(DOMPoint)
849
+ type domPoint = private {
850
+ ...domPointReadOnly,
851
+ }
852
+
853
+ /**
854
+ [Read more on MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext#contextattributes)
855
+ */
856
+ type canvasContext2DAttributes = {
857
+ alpha: bool,
858
+ colorspace?: predefinedColorSpace,
859
+ desynchronized: bool,
860
+ willReadFrequently: bool,
861
+ }
862
+
863
+ /**
864
+ The CanvasRenderingContext2D interface, part of the WebApiCanvas API, provides the 2D rendering context for the drawing surface of a <canvas> element. It is used for drawing shapes, text, images, and other objects.
865
+ [See CanvasRenderingContext2D on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D)
866
+ */
867
+ @editor.completeFrom(CanvasRenderingContext2D)
868
+ type canvasRenderingContext2D
869
+
870
+ type elementDefinitionOptions = {mutable extends?: string}
871
+
872
+ type documentTimelineOptions = {mutable originTime?: float}
873
+
874
+ type checkVisibilityOptions = {
875
+ mutable checkOpacity?: bool,
876
+ mutable checkVisibilityCSS?: bool,
877
+ mutable contentVisibilityAuto?: bool,
878
+ mutable opacityProperty?: bool,
879
+ mutable visibilityProperty?: bool,
880
+ }
881
+
882
+ type scrollOptions = {mutable behavior?: scrollBehavior}
883
+
884
+ type scrollToOptions = {
885
+ ...scrollOptions,
886
+ mutable left?: float,
887
+ mutable top?: float,
888
+ }
889
+
890
+ type fullscreenOptions = {mutable navigationUI?: fullscreenNavigationUI}
891
+
892
+ type pointerLockOptions = {mutable unadjustedMovement?: bool}
893
+
894
+ type idleRequestOptions = {mutable timeout?: int}
895
+
896
+ type domRectInit = {
897
+ mutable x?: float,
898
+ mutable y?: float,
899
+ mutable width?: float,
900
+ mutable height?: float,
901
+ }
902
+
903
+ type validityStateFlags = {
904
+ mutable valueMissing?: bool,
905
+ mutable typeMismatch?: bool,
906
+ mutable patternMismatch?: bool,
907
+ mutable tooLong?: bool,
908
+ mutable tooShort?: bool,
909
+ mutable rangeUnderflow?: bool,
910
+ mutable rangeOverflow?: bool,
911
+ mutable stepMismatch?: bool,
912
+ mutable badInput?: bool,
913
+ mutable customError?: bool,
914
+ }
915
+
916
+ type assignedNodesOptions = {mutable flatten?: bool}
917
+
918
+ type focusOptions = {mutable preventScroll?: bool}
919
+
920
+ type imageBitmapOptions = {
921
+ mutable imageOrientation?: imageOrientation,
922
+ mutable premultiplyAlpha?: premultiplyAlpha,
923
+ mutable colorSpaceConversion?: colorSpaceConversion,
924
+ mutable resizeWidth?: int,
925
+ mutable resizeHeight?: int,
926
+ mutable resizeQuality?: resizeQuality,
927
+ }
928
+
929
+ type scrollIntoViewOptions = {
930
+ ...scrollOptions,
931
+ mutable block?: scrollLogicalPosition,
932
+ mutable inline?: scrollLogicalPosition,
933
+ }
934
+
935
+ type windowPostMessageOptions = {
936
+ ...structuredSerializeOptions,
937
+ mutable targetOrigin?: string,
938
+ }
939
+
940
+ type domMatrix2DInit = {
941
+ mutable a?: float,
942
+ mutable b?: float,
943
+ mutable c?: float,
944
+ mutable d?: float,
945
+ mutable e?: float,
946
+ mutable f?: float,
947
+ mutable m11?: float,
948
+ mutable m12?: float,
949
+ mutable m21?: float,
950
+ mutable m22?: float,
951
+ mutable m41?: float,
952
+ mutable m42?: float,
953
+ }
954
+
955
+ type domMatrixInit = {
956
+ ...domMatrix2DInit,
957
+ mutable m13?: float,
958
+ mutable m14?: float,
959
+ mutable m23?: float,
960
+ mutable m24?: float,
961
+ mutable m31?: float,
962
+ mutable m32?: float,
963
+ mutable m33?: float,
964
+ mutable m34?: float,
965
+ mutable m43?: float,
966
+ mutable m44?: float,
967
+ mutable is2D?: bool,
968
+ }
969
+
970
+ type videoFrameInit = {
971
+ mutable duration?: int,
972
+ mutable timestamp?: int,
973
+ mutable alpha?: alphaOption,
974
+ mutable visibleRect?: domRectInit,
975
+ mutable displayWidth?: int,
976
+ mutable displayHeight?: int,
977
+ }
978
+
979
+ type videoColorSpaceInit = {
980
+ mutable primaries?: Nullable.t<videoColorPrimaries>,
981
+ mutable transfer?: Nullable.t<videoTransferCharacteristics>,
982
+ mutable matrix?: Nullable.t<videoMatrixCoefficients>,
983
+ mutable fullRange?: Nullable.t<bool>,
984
+ }
985
+
986
+ type planeLayout = {
987
+ mutable offset: int,
988
+ mutable stride: int,
989
+ }
990
+
991
+ type videoFrameBufferInit = {
992
+ mutable format: videoPixelFormat,
993
+ mutable codedWidth: int,
994
+ mutable codedHeight: int,
995
+ mutable timestamp: int,
996
+ mutable duration?: int,
997
+ mutable layout?: array<planeLayout>,
998
+ mutable visibleRect?: domRectInit,
999
+ mutable displayWidth?: int,
1000
+ mutable displayHeight?: int,
1001
+ mutable colorSpace?: videoColorSpaceInit,
1002
+ }
1003
+
1004
+ type imageDataSettings = {mutable colorSpace?: predefinedColorSpace}
1005
+
1006
+ type videoFrameCopyToOptions = {
1007
+ mutable rect?: domRectInit,
1008
+ mutable layout?: array<planeLayout>,
1009
+ mutable format?: videoPixelFormat,
1010
+ mutable colorSpace?: predefinedColorSpace,
1011
+ }
1012
+
1013
+ type domPointInit = {
1014
+ mutable x?: float,
1015
+ mutable y?: float,
1016
+ mutable z?: float,
1017
+ mutable w?: float,
1018
+ }
1019
+
1020
+ type xPathNSResolver
1021
+
1022
+ type imageBitmapSource
1023
+
1024
+ type customElementConstructor
1025
+
1026
+ type timeoutId