@rescript/webapi 0.1.0-experimental-61b1074 → 0.1.0-experimental-0781ac8

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 (480) hide show
  1. package/README.md +10 -5
  2. package/package.json +6 -4
  3. package/rescript.json +591 -4
  4. package/src/Base/ArrayBufferTypedArrayOrDataView.res +4 -0
  5. package/src/Base/BaseCSSFontLoading.res +25 -0
  6. package/src/{EncryptedMediaExtensionsAPI.res → Base/BaseEncryptedMediaExtensions.res} +12 -18
  7. package/src/Base/BaseEvent.res +6 -0
  8. package/src/Base/BaseFile.res +37 -0
  9. package/src/{FileAndDirectoryEntriesAPI.res → Base/BaseFileAndDirectoryEntries.res} +5 -22
  10. package/src/{DOMAPI.res → Base/DOM.res} +225 -2237
  11. package/src/{CSSFontLoadingAPI.res → CSSFontLoading/CssFontLoadingTypes.res} +4 -15
  12. package/src/CSSFontLoading/FontFace.res +62 -0
  13. package/src/CSSFontLoading/FontFaceSet.res +38 -0
  14. package/src/Canvas/Canvas.res +179 -0
  15. package/src/{CanvasAPI → Canvas}/CanvasGradient.res +2 -3
  16. package/src/{CanvasAPI → Canvas}/CanvasPattern.res +3 -3
  17. package/src/{DOMAPI → Canvas}/CanvasRenderingContext2D.res +178 -140
  18. package/src/{CanvasAPI.res → Canvas/CanvasTypes.res} +9 -11
  19. package/src/Canvas/FillStyle.res +25 -0
  20. package/src/{DOMAPI → Canvas}/HTMLCanvasElement.res +21 -23
  21. package/src/{CanvasAPI → Canvas}/ImageBitmap.res +1 -3
  22. package/src/{CanvasAPI → Canvas}/ImageBitmapRenderingContext.res +4 -4
  23. package/src/{CanvasAPI → Canvas}/OffscreenCanvas.res +19 -19
  24. package/src/{CanvasAPI → Canvas}/Path2D.res +63 -19
  25. package/src/Canvas/VideoFrame.res +223 -0
  26. package/src/{ChannelMessagingAPI.res → ChannelMessaging/ChannelMessagingTypes.res} +2 -4
  27. package/src/{ChannelMessagingAPI → ChannelMessaging}/MessagePort.res +8 -10
  28. package/src/Clipboard/Clipboard.res +29 -0
  29. package/src/{ClipboardAPI → Clipboard}/ClipboardItem.res +5 -6
  30. package/src/{ClipboardAPI.res → Clipboard/ClipboardTypes.res} +5 -7
  31. package/src/{CredentialManagementAPI.res → CredentialManagement/CredentialManagementTypes.res} +10 -13
  32. package/src/CredentialManagement/CredentialsContainer.res +33 -0
  33. package/src/{DOMAPI → DOM}/Animation.res +13 -13
  34. package/src/{DOMAPI → DOM}/AnimationEffect.res +7 -5
  35. package/src/{DOMAPI → DOM}/CSSRuleList.res +1 -3
  36. package/src/{DOMAPI → DOM}/CSSStyleDeclaration.res +6 -7
  37. package/src/DOM/CSSStyleSheet.res +30 -0
  38. package/src/{DOMAPI → DOM}/CSSStyleValue.res +3 -4
  39. package/src/DOM/CaretPosition.res +2 -0
  40. package/src/{DOMAPI → DOM}/CharacterData.res +5 -7
  41. package/src/DOM/Comment.res +7 -0
  42. package/src/{DOMAPI → DOM}/CustomElementRegistry.res +10 -9
  43. package/src/DOM/DOMException.res +7 -0
  44. package/src/{DOMAPI → DOM}/DOMImplementation.res +6 -8
  45. package/src/DOM/DOMMatrix.res +228 -0
  46. package/src/DOM/DOMMatrixReadOnly.res +147 -0
  47. package/src/DOM/DOMPoint.res +31 -0
  48. package/src/{DOMAPI → DOM}/DOMPointReadOnly.res +7 -7
  49. package/src/{DOMAPI → DOM}/DOMRect.res +6 -7
  50. package/src/DOM/DOMRectList.res +2 -0
  51. package/src/DOM/DOMRectReadOnly.res +19 -0
  52. package/src/{Prelude → DOM}/DOMStringList.res +3 -3
  53. package/src/{DOMAPI → DOM}/DOMTokenList.res +7 -9
  54. package/src/{DOMAPI → DOM}/Document.res +94 -80
  55. package/src/{DOMAPI → DOM}/DocumentFragment.res +10 -11
  56. package/src/DOM/DocumentTimeline.res +8 -0
  57. package/src/{Global.res → DOM/DomGlobal.res} +62 -285
  58. package/src/{DOMAPI/HTMLMediaElement.res → DOM/DomHTMLMediaElement.res} +6 -16
  59. package/src/DOM/DomTypes.res +2105 -0
  60. package/src/{DOMAPI → DOM}/Element.res +53 -44
  61. package/src/{DOMAPI → DOM}/ElementInternals.res +6 -8
  62. package/src/{DOMAPI → DOM}/FileList.res +2 -5
  63. package/src/DOM/HTMLAnchorElement.res +1 -0
  64. package/src/DOM/HTMLAreaElement.res +1 -0
  65. package/src/DOM/HTMLAudioElement.res +1 -0
  66. package/src/DOM/HTMLBRElement.res +1 -0
  67. package/src/DOM/HTMLBaseElement.res +1 -0
  68. package/src/DOM/HTMLBodyElement.res +1 -0
  69. package/src/{DOMAPI → DOM}/HTMLButtonElement.res +4 -6
  70. package/src/{DOMAPI → DOM}/HTMLCollection.res +2 -4
  71. package/src/DOM/HTMLDListElement.res +1 -0
  72. package/src/DOM/HTMLDataElement.res +1 -0
  73. package/src/DOM/HTMLDataListElement.res +1 -0
  74. package/src/{DOMAPI → DOM}/HTMLDialogElement.res +4 -6
  75. package/src/DOM/HTMLDivElement.res +1 -0
  76. package/src/{DOMAPI → DOM}/HTMLElement.res +5 -5
  77. package/src/DOM/HTMLEmbedElement.res +4 -0
  78. package/src/{DOMAPI → DOM}/HTMLFieldSetElement.res +4 -6
  79. package/src/DOM/HTMLFormControlsCollection.res +16 -0
  80. package/src/{DOMAPI → DOM}/HTMLFormElement.res +7 -7
  81. package/src/DOM/HTMLFrameSetElement.res +1 -0
  82. package/src/DOM/HTMLHRElement.res +1 -0
  83. package/src/DOM/HTMLHeadElement.res +1 -0
  84. package/src/DOM/HTMLHeadingElement.res +1 -0
  85. package/src/DOM/HTMLHtmlElement.res +1 -0
  86. package/src/DOM/HTMLIFrameElement.res +4 -0
  87. package/src/DOM/HTMLImageElement.res +7 -0
  88. package/src/{DOMAPI → DOM}/HTMLInputElement.res +12 -14
  89. package/src/DOM/HTMLLIElement.res +1 -0
  90. package/src/DOM/HTMLLabelElement.res +1 -0
  91. package/src/DOM/HTMLLegendElement.res +1 -0
  92. package/src/DOM/HTMLLinkElement.res +1 -0
  93. package/src/DOM/HTMLMapElement.res +1 -0
  94. package/src/DOM/HTMLMenuElement.res +1 -0
  95. package/src/DOM/HTMLMetaElement.res +1 -0
  96. package/src/DOM/HTMLMeterElement.res +1 -0
  97. package/src/DOM/HTMLModElement.res +1 -0
  98. package/src/DOM/HTMLOListElement.res +1 -0
  99. package/src/{DOMAPI → DOM}/HTMLObjectElement.res +5 -7
  100. package/src/DOM/HTMLOptGroupElement.res +1 -0
  101. package/src/DOM/HTMLOptionElement.res +1 -0
  102. package/src/{DOMAPI → DOM}/HTMLOptionsCollection.res +4 -5
  103. package/src/{DOMAPI → DOM}/HTMLOutputElement.res +4 -6
  104. package/src/DOM/HTMLParagraphElement.res +1 -0
  105. package/src/DOM/HTMLPictureElement.res +1 -0
  106. package/src/DOM/HTMLPreElement.res +1 -0
  107. package/src/DOM/HTMLProgressElement.res +1 -0
  108. package/src/DOM/HTMLQuoteElement.res +1 -0
  109. package/src/{DOMAPI → DOM}/HTMLScriptElement.res +1 -3
  110. package/src/{DOMAPI → DOM}/HTMLSelectElement.res +10 -12
  111. package/src/DOM/HTMLSlotElement.res +31 -0
  112. package/src/DOM/HTMLSourceElement.res +1 -0
  113. package/src/DOM/HTMLSpanElement.res +1 -0
  114. package/src/DOM/HTMLStyleElement.res +1 -0
  115. package/src/DOM/HTMLTableCaptionElement.res +1 -0
  116. package/src/DOM/HTMLTableCellElement.res +1 -0
  117. package/src/{DOMAPI → DOM}/HTMLTableElement.res +12 -12
  118. package/src/{DOMAPI → DOM}/HTMLTableRowElement.res +6 -5
  119. package/src/{DOMAPI → DOM}/HTMLTableSectionElement.res +6 -5
  120. package/src/DOM/HTMLTemplateElement.res +1 -0
  121. package/src/{DOMAPI → DOM}/HTMLTextAreaElement.res +9 -11
  122. package/src/DOM/HTMLTimeElement.res +1 -0
  123. package/src/DOM/HTMLTitleElement.res +1 -0
  124. package/src/DOM/HTMLTrackElement.res +1 -0
  125. package/src/DOM/HTMLUListElement.res +1 -0
  126. package/src/DOM/HTMLVideoElement.res +32 -0
  127. package/src/{DOMAPI → DOM}/IdleDeadline.res +1 -3
  128. package/src/{DOMAPI → DOM}/ImageData.res +4 -5
  129. package/src/{DOMAPI → DOM}/Location.res +3 -5
  130. package/src/{DOMAPI → DOM}/MediaList.res +3 -5
  131. package/src/DOM/MediaQueryList.res +1 -0
  132. package/src/{DOMAPI → DOM}/NamedNodeMap.res +15 -11
  133. package/src/DOM/Navigator.res +166 -0
  134. package/src/{DOMAPI → DOM}/Node.res +10 -11
  135. package/src/DOM/NodeFilter.res +2 -0
  136. package/src/{DOMAPI → DOM}/NodeIterator.res +2 -4
  137. package/src/{DOMAPI → DOM}/NodeList.res +1 -3
  138. package/src/{DOMAPI → DOM}/Range.res +27 -27
  139. package/src/DOM/SVGGraphicsElement.res +18 -0
  140. package/src/{DOMAPI → DOM}/SVGLength.res +2 -4
  141. package/src/DOM/ScreenOrientation.res +7 -0
  142. package/src/{DOMAPI → DOM}/Selection.res +22 -20
  143. package/src/DOM/ShadowRoot.res +19 -0
  144. package/src/DOM/StylePropertyMap.res +57 -0
  145. package/src/{DOMAPI → DOM}/StylePropertyMapReadOnly.res +3 -4
  146. package/src/{DOMAPI → DOM}/StyleSheetList.res +1 -3
  147. package/src/{DOMAPI → DOM}/Text.res +3 -5
  148. package/src/DOM/TextTrackList.res +7 -0
  149. package/src/{DOMAPI → DOM}/TimeRanges.res +2 -4
  150. package/src/{DOMAPI → DOM}/TreeWalker.res +7 -9
  151. package/src/{DOMAPI → DOM}/VideoColorSpace.res +3 -4
  152. package/src/DOM/Window.res +557 -0
  153. package/src/{DOMAPI → DOM}/XPathExpression.res +4 -6
  154. package/src/{DOMAPI → DOM}/XPathResult.res +2 -4
  155. package/src/EncryptedMediaExtensions/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
  156. package/src/EncryptedMediaExtensions/EncryptedMediaExtensionsTypes.res +43 -0
  157. package/src/{EncryptedMediaExtensionsAPI → EncryptedMediaExtensions}/MediaKeySession.res +10 -10
  158. package/src/{EncryptedMediaExtensionsAPI → EncryptedMediaExtensions}/MediaKeyStatusMap.res +2 -4
  159. package/src/EncryptedMediaExtensions/MediaKeySystemAccess.res +14 -0
  160. package/src/EncryptedMediaExtensions/MediaKeys.res +35 -0
  161. package/src/{EventAPI → Event}/AbortController.res +2 -4
  162. package/src/{EventAPI → Event}/AbortSignal.res +5 -7
  163. package/src/{EventAPI → Event}/Event.res +5 -6
  164. package/src/{EventAPI → Event}/EventTarget.res +14 -16
  165. package/src/{EventAPI.res → Event/EventTypes.res} +10 -10
  166. package/src/{EventAPI → Event}/ExtendableEvent.res +2 -4
  167. package/src/{FetchAPI → Fetch}/BodyInit.res +10 -12
  168. package/src/Fetch/Fetch.res +12 -0
  169. package/src/{FetchAPI.res → Fetch/FetchTypes.res} +19 -21
  170. package/src/{FetchAPI → Fetch}/FormData.res +16 -15
  171. package/src/Fetch/FormDataEntryValue.res +2 -0
  172. package/src/{FetchAPI → Fetch}/Headers.res +10 -12
  173. package/src/{FetchAPI → Fetch}/HeadersInit.res +4 -4
  174. package/src/{FetchAPI → Fetch}/Request.res +16 -11
  175. package/src/{FetchAPI → Fetch}/Response.res +27 -23
  176. package/src/{FileAPI → File}/Blob.res +9 -7
  177. package/src/{FileAPI → File}/File.res +5 -5
  178. package/src/File/FileSystemDirectoryHandle.res +49 -0
  179. package/src/File/FileSystemFileHandle.res +25 -0
  180. package/src/File/FileSystemHandle.res +6 -0
  181. package/src/File/FileSystemWritableFileStream.res +65 -0
  182. package/src/{FileAPI.res → File/FileTypes.res} +22 -23
  183. package/src/File/ReadableStream.res +79 -0
  184. package/src/File/WritableStream.res +27 -0
  185. package/src/{FileAPI → File}/WritableStreamDefaultController.res +1 -3
  186. package/src/FileAndDirectoryEntries/FileAndDirectoryEntriesTypes.res +35 -0
  187. package/src/FileAndDirectoryEntries/FileSystemDirectoryEntry.res +42 -0
  188. package/src/FileAndDirectoryEntries/FileSystemDirectoryReader.res +9 -0
  189. package/src/FileAndDirectoryEntries/FileSystemEntry.res +9 -0
  190. package/src/Gamepad/GamepadHapticActuator.res +16 -0
  191. package/src/{GamepadAPI.res → Gamepad/GamepadTypes.res} +4 -4
  192. package/src/Geolocation/Geolocation.res +31 -0
  193. package/src/{GeolocationAPI → Geolocation}/GeolocationCoordinates.res +1 -3
  194. package/src/{GeolocationAPI → Geolocation}/GeolocationPosition.res +1 -3
  195. package/src/{GeolocationAPI.res → Geolocation/GeolocationTypes.res} +5 -5
  196. package/src/{HistoryAPI → History}/History.res +13 -8
  197. package/src/{HistoryAPI.res → History/HistoryTypes.res} +3 -2
  198. package/src/{IndexedDBAPI → IndexedDB}/IDBDatabase.res +14 -16
  199. package/src/{IndexedDBAPI → IndexedDB}/IDBFactory.res +10 -6
  200. package/src/{IndexedDBAPI → IndexedDB}/IDBIndex.res +22 -17
  201. package/src/{IndexedDBAPI → IndexedDB}/IDBObjectStore.res +44 -33
  202. package/src/{IndexedDBAPI → IndexedDB}/IDBTransaction.res +5 -6
  203. package/src/{IndexedDBAPI.res → IndexedDB/IndexedDbTypes.res} +16 -17
  204. package/src/IntersectionObserver/IntersectionObserver.res +39 -0
  205. package/src/IntersectionObserver/IntersectionObserverRoot.res +21 -0
  206. package/src/{IntersectionObserverAPI.res → IntersectionObserver/IntersectionObserverTypes.res} +7 -9
  207. package/src/MediaCapabilities/MediaCapabilities.res +19 -0
  208. package/src/{MediaCapabilitiesAPI.res → MediaCapabilities/MediaCapabilitiesTypes.res} +3 -3
  209. package/src/{MediaCaptureAndStreamsAPI.res → MediaCaptureAndStreams/MediaCaptureAndStreamsTypes.res} +7 -8
  210. package/src/MediaCaptureAndStreams/MediaDeviceInfo.res +9 -0
  211. package/src/MediaCaptureAndStreams/MediaDevices.res +40 -0
  212. package/src/MediaCaptureAndStreams/MediaStream.res +89 -0
  213. package/src/MediaCaptureAndStreams/MediaStreamTrack.res +51 -0
  214. package/src/MediaSession/MediaMetadata.res +10 -0
  215. package/src/MediaSession/MediaSession.res +25 -0
  216. package/src/{MediaSessionAPI.res → MediaSession/MediaSessionTypes.res} +4 -2
  217. package/src/MutationObserver/MutationObserver.res +31 -0
  218. package/src/{MutationObserverAPI.res → MutationObserver/MutationObserverTypes.res} +3 -5
  219. package/src/Notification/Notification.res +46 -0
  220. package/src/{NotificationAPI.res → Notification/NotificationTypes.res} +5 -7
  221. package/src/Performance/Performance.res +101 -0
  222. package/src/{PerformanceAPI → Performance}/PerformanceEntry.res +1 -3
  223. package/src/Performance/PerformanceMark.res +16 -0
  224. package/src/{PerformanceAPI.res → Performance/PerformanceTypes.res} +9 -12
  225. package/src/Permissions/Permissions.res +10 -0
  226. package/src/{PermissionsAPI.res → Permissions/PermissionsTypes.res} +4 -6
  227. package/src/PictureInPicture/PictureInPicture.res +7 -0
  228. package/src/{PictureInPictureAPI.res → PictureInPicture/PictureInPictureTypes.res} +1 -3
  229. package/src/Push/ApplicationServerKey.res +2 -0
  230. package/src/Push/PushEvent.res +3 -0
  231. package/src/Push/PushManager.res +24 -0
  232. package/src/{PushAPI → Push}/PushMessageData.res +3 -3
  233. package/src/{PushAPI → Push}/PushSubscription.res +4 -5
  234. package/src/{PushAPI.res → Push/PushTypes.res} +6 -8
  235. package/src/RemotePlayback/RemotePlayback.res +25 -0
  236. package/src/{RemotePlaybackAPI.res → RemotePlayback/RemotePlaybackTypes.res} +4 -6
  237. package/src/ResizeObserver/ResizeObserver.res +30 -0
  238. package/src/{ResizeObserverAPI.res → ResizeObserver/ResizeObserverTypes.res} +5 -7
  239. package/src/{ScreenWakeLockAPI.res → ScreenWakeLock/ScreenWakeLockTypes.res} +3 -5
  240. package/src/ScreenWakeLock/WakeLock.res +8 -0
  241. package/src/ScreenWakeLock/WakeLockSentinel.res +7 -0
  242. package/src/ServiceWorker/Cache.res +117 -0
  243. package/src/{ServiceWorkerAPI → ServiceWorker}/Clients.res +14 -7
  244. package/src/{ServiceWorkerAPI → ServiceWorker}/NavigationPreloadManager.res +7 -6
  245. package/src/ServiceWorker/ServiceWorker.res +38 -0
  246. package/src/ServiceWorker/ServiceWorkerContainer.res +34 -0
  247. package/src/{ServiceWorkerAPI → ServiceWorker}/ServiceWorkerRegistration.res +8 -11
  248. package/src/ServiceWorker/ServiceWorkerScope.res +12 -0
  249. package/src/{ServiceWorkerAPI.res → ServiceWorker/ServiceWorkerTypes.res} +18 -23
  250. package/src/{StorageAPI → Storage}/StorageManager.res +5 -7
  251. package/src/{StorageAPI.res → Storage/StorageTypes.res} +1 -1
  252. package/src/UIEvents/CompositionEvent.res +10 -0
  253. package/src/{UIEventsAPI → UIEvents}/DataTransfer.res +10 -8
  254. package/src/{UIEventsAPI → UIEvents}/DataTransferItem.res +5 -8
  255. package/src/{UIEventsAPI → UIEvents}/DataTransferItemList.res +11 -7
  256. package/src/UIEvents/FocusEvent.res +10 -0
  257. package/src/UIEvents/InputEvent.res +16 -0
  258. package/src/UIEvents/KeyboardEvent.res +16 -0
  259. package/src/{UIEventsAPI → UIEvents}/MouseEvent.res +6 -5
  260. package/src/UIEvents/PointerEvent.res +24 -0
  261. package/src/{UIEventsAPI → UIEvents}/Touch.res +1 -3
  262. package/src/UIEvents/TouchEvent.res +10 -0
  263. package/src/{UIEventsAPI → UIEvents}/TouchList.res +1 -3
  264. package/src/UIEvents/UIEvent.res +20 -0
  265. package/src/{UIEventsAPI.res → UIEvents/UiEventsTypes.res} +28 -30
  266. package/src/UIEvents/WheelEvent.res +10 -0
  267. package/src/{URLAPI → URL}/URL.res +6 -5
  268. package/src/{URLAPI → URL}/URLSearchParams.res +20 -17
  269. package/src/{URLAPI.res → URL/UrlTypes.res} +5 -4
  270. package/src/{ViewTransitionsAPI → ViewTransitions}/ViewTransition.res +1 -3
  271. package/src/{ViewTransitionsAPI.res → ViewTransitions/ViewTransitionsTypes.res} +1 -1
  272. package/src/VisualViewport/VisualViewport.res +5 -0
  273. package/src/{VisualViewportAPI.res → VisualViewport/VisualViewportTypes.res} +2 -4
  274. package/src/WebAudio/AnalyserNode.res +38 -0
  275. package/src/{WebAudioAPI → WebAudio}/AudioBuffer.res +4 -6
  276. package/src/{WebAudioAPI → WebAudio}/AudioBufferSourceNode.res +5 -7
  277. package/src/WebAudio/AudioContext.res +59 -0
  278. package/src/WebAudio/AudioDestinationNode.res +1 -0
  279. package/src/{WebAudioAPI → WebAudio}/AudioNode.res +21 -12
  280. package/src/{WebAudioAPI → WebAudio}/AudioParam.res +23 -14
  281. package/src/WebAudio/AudioProcessingEvent.res +10 -0
  282. package/src/{WebAudioAPI → WebAudio}/AudioScheduledSourceNode.res +2 -4
  283. package/src/WebAudio/AudioWorkletNode.res +11 -0
  284. package/src/{WebAudioAPI → WebAudio}/BaseAudioContext.res +26 -25
  285. package/src/{WebAudioAPI → WebAudio}/BiquadFilterNode.res +6 -6
  286. package/src/WebAudio/ChannelMergerNode.res +10 -0
  287. package/src/WebAudio/ChannelSplitterNode.res +10 -0
  288. package/src/WebAudio/ConstantSourceNode.res +10 -0
  289. package/src/WebAudio/ConvolverNode.res +10 -0
  290. package/src/WebAudio/DelayNode.res +10 -0
  291. package/src/WebAudio/DynamicsCompressorNode.res +10 -0
  292. package/src/WebAudio/GainNode.res +10 -0
  293. package/src/{WebAudioAPI → WebAudio}/IIRFilterNode.res +6 -6
  294. package/src/WebAudio/MediaElementAudioSourceNode.res +10 -0
  295. package/src/WebAudio/MediaStreamAudioDestinationNode.res +10 -0
  296. package/src/WebAudio/MediaStreamAudioSourceNode.res +10 -0
  297. package/src/WebAudio/OfflineAudioCompletionEvent.res +10 -0
  298. package/src/WebAudio/OfflineAudioContext.res +58 -0
  299. package/src/WebAudio/OscillatorNode.res +17 -0
  300. package/src/WebAudio/PannerNode.res +10 -0
  301. package/src/WebAudio/PeriodicWave.res +8 -0
  302. package/src/WebAudio/StereoPannerNode.res +10 -0
  303. package/src/WebAudio/WaveShaperNode.res +10 -0
  304. package/src/{WebAudioAPI.res → WebAudio/WebAudioTypes.res} +55 -42
  305. package/src/{WebAudioAPI → WebAudio}/Worklet.res +5 -4
  306. package/src/{WebCryptoAPI → WebCrypto}/Crypto.res +2 -4
  307. package/src/WebCrypto/SubtleCrypto.res +173 -0
  308. package/src/{WebCryptoAPI.res → WebCrypto/WebCryptoTypes.res} +3 -5
  309. package/src/WebLocks/LockManager.res +26 -0
  310. package/src/{WebLocksAPI.res → WebLocks/WebLocksTypes.res} +2 -4
  311. package/src/WebMIDI/WebMIDI.res +7 -0
  312. package/src/{WebMIDIAPI.res → WebMIDI/WebMidiTypes.res} +1 -3
  313. package/src/WebSockets/CloseEvent.res +10 -0
  314. package/src/{WebSocketsAPI → WebSockets}/MessageEvent.res +14 -9
  315. package/src/WebSockets/WebSocket.res +71 -0
  316. package/src/{WebSocketsAPI.res → WebSockets/WebSocketsTypes.res} +12 -15
  317. package/src/{WebSpeechAPI → WebSpeech}/SpeechSynthesis.res +8 -8
  318. package/src/WebSpeech/SpeechSynthesisUtterance.res +8 -0
  319. package/src/{WebSpeechAPI.res → WebSpeech/WebSpeechTypes.res} +4 -5
  320. package/src/{WebStorageAPI → WebStorage}/Storage.res +8 -10
  321. package/src/WebStorage/StorageEvent.res +10 -0
  322. package/src/{WebStorageAPI.res → WebStorage/WebStorageTypes.res} +9 -11
  323. package/src/{WebVTTAPI → WebVTT}/TextTrack.res +3 -5
  324. package/src/{WebVTTAPI → WebVTT}/TextTrackCueList.res +2 -3
  325. package/src/{WebVTTAPI.res → WebVTT/WebVttTypes.res} +5 -5
  326. package/src/WebWorkers/CacheStorage.res +43 -0
  327. package/src/{WebWorkersAPI → WebWorkers}/SharedWorker.res +13 -12
  328. package/src/{WebWorkersAPI/SharedWorkerGlobalScope.res → WebWorkers/SharedWorkerScope.res} +6 -4
  329. package/src/{WebWorkersAPI.res → WebWorkers/WebWorkersTypes.res} +7 -10
  330. package/src/{WebWorkersAPI/WorkerGlobalScope.res → WebWorkers/Worker.res} +8 -8
  331. package/src/CSSFontLoadingAPI/FontFace.res +0 -34
  332. package/src/CSSFontLoadingAPI/FontFaceSet.res +0 -33
  333. package/src/CanvasAPI/FillStyle.res +0 -24
  334. package/src/ClipboardAPI/Clipboard.res +0 -27
  335. package/src/CredentialManagementAPI/CredentialsContainer.res +0 -29
  336. package/src/DOMAPI/CSSStyleSheet.res +0 -32
  337. package/src/DOMAPI/CaretPosition.res +0 -4
  338. package/src/DOMAPI/Comment.res +0 -9
  339. package/src/DOMAPI/DOMMatrix.res +0 -169
  340. package/src/DOMAPI/DOMMatrixReadOnly.res +0 -103
  341. package/src/DOMAPI/DOMPoint.res +0 -29
  342. package/src/DOMAPI/DOMRectList.res +0 -4
  343. package/src/DOMAPI/DOMRectReadOnly.res +0 -17
  344. package/src/DOMAPI/DocumentTimeline.res +0 -9
  345. package/src/DOMAPI/HTMLAnchorElement.res +0 -3
  346. package/src/DOMAPI/HTMLAreaElement.res +0 -3
  347. package/src/DOMAPI/HTMLAudioElement.res +0 -3
  348. package/src/DOMAPI/HTMLBRElement.res +0 -3
  349. package/src/DOMAPI/HTMLBaseElement.res +0 -3
  350. package/src/DOMAPI/HTMLBodyElement.res +0 -3
  351. package/src/DOMAPI/HTMLDListElement.res +0 -3
  352. package/src/DOMAPI/HTMLDataElement.res +0 -3
  353. package/src/DOMAPI/HTMLDataListElement.res +0 -3
  354. package/src/DOMAPI/HTMLDivElement.res +0 -3
  355. package/src/DOMAPI/HTMLEmbedElement.res +0 -6
  356. package/src/DOMAPI/HTMLFormControlsCollection.res +0 -16
  357. package/src/DOMAPI/HTMLFrameSetElement.res +0 -3
  358. package/src/DOMAPI/HTMLHRElement.res +0 -3
  359. package/src/DOMAPI/HTMLHeadElement.res +0 -3
  360. package/src/DOMAPI/HTMLHeadingElement.res +0 -3
  361. package/src/DOMAPI/HTMLHtmlElement.res +0 -3
  362. package/src/DOMAPI/HTMLIFrameElement.res +0 -6
  363. package/src/DOMAPI/HTMLImageElement.res +0 -9
  364. package/src/DOMAPI/HTMLLIElement.res +0 -3
  365. package/src/DOMAPI/HTMLLabelElement.res +0 -3
  366. package/src/DOMAPI/HTMLLegendElement.res +0 -3
  367. package/src/DOMAPI/HTMLLinkElement.res +0 -3
  368. package/src/DOMAPI/HTMLMapElement.res +0 -3
  369. package/src/DOMAPI/HTMLMenuElement.res +0 -3
  370. package/src/DOMAPI/HTMLMetaElement.res +0 -3
  371. package/src/DOMAPI/HTMLMeterElement.res +0 -3
  372. package/src/DOMAPI/HTMLModElement.res +0 -3
  373. package/src/DOMAPI/HTMLOListElement.res +0 -3
  374. package/src/DOMAPI/HTMLOptGroupElement.res +0 -3
  375. package/src/DOMAPI/HTMLOptionElement.res +0 -3
  376. package/src/DOMAPI/HTMLParagraphElement.res +0 -3
  377. package/src/DOMAPI/HTMLPictureElement.res +0 -3
  378. package/src/DOMAPI/HTMLPreElement.res +0 -3
  379. package/src/DOMAPI/HTMLProgressElement.res +0 -3
  380. package/src/DOMAPI/HTMLQuoteElement.res +0 -3
  381. package/src/DOMAPI/HTMLSlotElement.res +0 -29
  382. package/src/DOMAPI/HTMLSourceElement.res +0 -3
  383. package/src/DOMAPI/HTMLSpanElement.res +0 -3
  384. package/src/DOMAPI/HTMLStyleElement.res +0 -3
  385. package/src/DOMAPI/HTMLTableCaptionElement.res +0 -3
  386. package/src/DOMAPI/HTMLTableCellElement.res +0 -3
  387. package/src/DOMAPI/HTMLTemplateElement.res +0 -3
  388. package/src/DOMAPI/HTMLTimeElement.res +0 -3
  389. package/src/DOMAPI/HTMLTitleElement.res +0 -3
  390. package/src/DOMAPI/HTMLTrackElement.res +0 -3
  391. package/src/DOMAPI/HTMLUListElement.res +0 -3
  392. package/src/DOMAPI/HTMLVideoElement.res +0 -31
  393. package/src/DOMAPI/MediaQueryList.res +0 -3
  394. package/src/DOMAPI/Navigator.res +0 -115
  395. package/src/DOMAPI/NodeFilter.res +0 -4
  396. package/src/DOMAPI/SVGGraphicsElement.res +0 -17
  397. package/src/DOMAPI/ScreenOrientation.res +0 -9
  398. package/src/DOMAPI/ShadowRoot.res +0 -21
  399. package/src/DOMAPI/StylePropertyMap.res +0 -50
  400. package/src/DOMAPI/TextTrackList.res +0 -10
  401. package/src/DOMAPI/VideoFrame.res +0 -111
  402. package/src/DOMAPI/Window.res +0 -517
  403. package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +0 -13
  404. package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +0 -27
  405. package/src/FetchAPI/FormDataEntryValue.res +0 -22
  406. package/src/FileAPI/FileSystemDirectoryHandle.res +0 -45
  407. package/src/FileAPI/FileSystemFileHandle.res +0 -23
  408. package/src/FileAPI/FileSystemHandle.res +0 -7
  409. package/src/FileAPI/FileSystemWritableFileStream.res +0 -62
  410. package/src/FileAPI/ReadableStream.res +0 -60
  411. package/src/FileAPI/WritableStream.res +0 -28
  412. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +0 -42
  413. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +0 -11
  414. package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +0 -11
  415. package/src/GamepadAPI/GamepadHapticActuator.res +0 -17
  416. package/src/GeolocationAPI/Geolocation.res +0 -29
  417. package/src/IntersectionObserverAPI/IntersectionObserver.res +0 -35
  418. package/src/IntersectionObserverAPI/IntersectionObserverRoot.res +0 -22
  419. package/src/MediaCapabilitiesAPI/MediaCapabilities.res +0 -19
  420. package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +0 -7
  421. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +0 -34
  422. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +0 -63
  423. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +0 -42
  424. package/src/MediaSessionAPI/MediaMetadata.res +0 -7
  425. package/src/MediaSessionAPI/MediaSession.res +0 -17
  426. package/src/MutationObserverAPI/MutationObserver.res +0 -27
  427. package/src/NotificationAPI/Notification.res +0 -29
  428. package/src/PerformanceAPI/Performance.res +0 -90
  429. package/src/PerformanceAPI/PerformanceMark.res +0 -15
  430. package/src/PermissionsAPI/Permissions.res +0 -7
  431. package/src/Prelude/DOMException.res +0 -7
  432. package/src/Prelude.res +0 -37
  433. package/src/PushAPI/ApplicationServerKey.res +0 -4
  434. package/src/PushAPI/PushEvent.res +0 -3
  435. package/src/PushAPI/PushManager.res +0 -25
  436. package/src/RemotePlaybackAPI/RemotePlayback.res +0 -23
  437. package/src/ResizeObserverAPI/ResizeObserver.res +0 -27
  438. package/src/ScreenWakeLockAPI/WakeLock.res +0 -7
  439. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +0 -9
  440. package/src/ServiceWorkerAPI/Cache.res +0 -100
  441. package/src/ServiceWorkerAPI/ServiceWorker.res +0 -21
  442. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +0 -35
  443. package/src/ServiceWorkerAPI/ServiceWorkerGlobalScope.res +0 -10
  444. package/src/UIEventsAPI/CompositionEvent.res +0 -10
  445. package/src/UIEventsAPI/FocusEvent.res +0 -9
  446. package/src/UIEventsAPI/InputEvent.res +0 -16
  447. package/src/UIEventsAPI/KeyboardEvent.res +0 -16
  448. package/src/UIEventsAPI/PointerEvent.res +0 -21
  449. package/src/UIEventsAPI/TouchEvent.res +0 -9
  450. package/src/UIEventsAPI/UIEvent.res +0 -19
  451. package/src/UIEventsAPI/WheelEvent.res +0 -9
  452. package/src/WebAudioAPI/AnalyserNode.res +0 -34
  453. package/src/WebAudioAPI/AudioContext.res +0 -56
  454. package/src/WebAudioAPI/AudioDestinationNode.res +0 -3
  455. package/src/WebAudioAPI/AudioProcessingEvent.res +0 -10
  456. package/src/WebAudioAPI/AudioWorkletNode.res +0 -13
  457. package/src/WebAudioAPI/ChannelMergerNode.res +0 -10
  458. package/src/WebAudioAPI/ChannelSplitterNode.res +0 -12
  459. package/src/WebAudioAPI/ConstantSourceNode.res +0 -12
  460. package/src/WebAudioAPI/ConvolverNode.res +0 -10
  461. package/src/WebAudioAPI/DelayNode.res +0 -9
  462. package/src/WebAudioAPI/DynamicsCompressorNode.res +0 -12
  463. package/src/WebAudioAPI/GainNode.res +0 -9
  464. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +0 -12
  465. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +0 -12
  466. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +0 -12
  467. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +0 -12
  468. package/src/WebAudioAPI/OfflineAudioContext.res +0 -34
  469. package/src/WebAudioAPI/OscillatorNode.res +0 -16
  470. package/src/WebAudioAPI/PannerNode.res +0 -9
  471. package/src/WebAudioAPI/PeriodicWave.res +0 -8
  472. package/src/WebAudioAPI/StereoPannerNode.res +0 -10
  473. package/src/WebAudioAPI/WaveShaperNode.res +0 -10
  474. package/src/WebCryptoAPI/SubtleCrypto.res +0 -173
  475. package/src/WebLocksAPI/LockManager.res +0 -25
  476. package/src/WebSocketsAPI/CloseEvent.res +0 -9
  477. package/src/WebSocketsAPI/WebSocket.res +0 -51
  478. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +0 -9
  479. package/src/WebStorageAPI/StorageEvent.res +0 -9
  480. package/src/WebWorkersAPI/CacheStorage.res +0 -46
@@ -1,23 +1,20 @@
1
- open UIEventsAPI
2
- open FileAPI
3
- open FileAndDirectoryEntriesAPI
4
-
5
1
  /**
6
2
  Invokes the callback with the string data as the argument, if the drag data item kind is text.
7
3
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsString)
8
4
  */
9
5
  @send
10
- external getAsString: (dataTransferItem, string => unit) => unit = "getAsString"
6
+ external getAsString: (UiEventsTypes.dataTransferItem, string => unit) => unit = "getAsString"
11
7
 
12
8
  /**
13
- Returns a File object, if the drag data item kind is File.
9
+ Returns a WebApiFile object, if the drag data item kind is File.
14
10
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsFile)
15
11
  */
16
12
  @send
17
- external getAsFile: dataTransferItem => file = "getAsFile"
13
+ external getAsFile: UiEventsTypes.dataTransferItem => FileTypes.file = "getAsFile"
18
14
 
19
15
  /**
20
16
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/webkitGetAsEntry)
21
17
  */
22
18
  @send
23
- external webkitGetAsEntry: dataTransferItem => fileSystemEntry = "webkitGetAsEntry"
19
+ external webkitGetAsEntry: UiEventsTypes.dataTransferItem => FileAndDirectoryEntriesTypes.fileSystemEntry =
20
+ "webkitGetAsEntry"
@@ -1,30 +1,34 @@
1
- open UIEventsAPI
2
- open FileAPI
3
-
4
1
  /**
5
2
  Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be provided also.
6
3
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add)
7
4
  */
8
5
  @send
9
- external add: (dataTransferItemList, ~data: string, ~type_: string) => dataTransferItem = "add"
6
+ external add: (
7
+ UiEventsTypes.dataTransferItemList,
8
+ ~data: string,
9
+ ~type_: string,
10
+ ) => UiEventsTypes.dataTransferItem = "add"
10
11
 
11
12
  /**
12
13
  Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be provided also.
13
14
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add)
14
15
  */
15
16
  @send
16
- external addFile: (dataTransferItemList, file) => dataTransferItem = "add"
17
+ external addFile: (
18
+ UiEventsTypes.dataTransferItemList,
19
+ FileTypes.file,
20
+ ) => UiEventsTypes.dataTransferItem = "add"
17
21
 
18
22
  /**
19
23
  Removes the indexth entry in the drag data store.
20
24
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/remove)
21
25
  */
22
26
  @send
23
- external remove: (dataTransferItemList, int) => unit = "remove"
27
+ external remove: (UiEventsTypes.dataTransferItemList, int) => unit = "remove"
24
28
 
25
29
  /**
26
30
  Removes all the entries in the drag data store.
27
31
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/clear)
28
32
  */
29
33
  @send
30
- external clear: dataTransferItemList => unit = "clear"
34
+ external clear: UiEventsTypes.dataTransferItemList => unit = "clear"
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/FocusEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.focusEventInit=?,
8
+ ) => UiEventsTypes.focusEvent = "FocusEvent"
9
+
10
+ include UIEvent.Impl({type t = UiEventsTypes.focusEvent})
@@ -0,0 +1,16 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/InputEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.inputEventInit=?,
8
+ ) => UiEventsTypes.inputEvent = "InputEvent"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/InputEvent/getTargetRanges)
12
+ */
13
+ @send
14
+ external getTargetRanges: UiEventsTypes.inputEvent => array<DOM.staticRange> = "getTargetRanges"
15
+
16
+ include UIEvent.Impl({type t = UiEventsTypes.inputEvent})
@@ -0,0 +1,16 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/KeyboardEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.keyboardEventInit=?,
8
+ ) => UiEventsTypes.keyboardEvent = "KeyboardEvent"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState)
12
+ */
13
+ @send
14
+ external getModifierState: (UiEventsTypes.keyboardEvent, string) => bool = "getModifierState"
15
+
16
+ include UIEvent.Impl({type t = UiEventsTypes.keyboardEvent})
@@ -1,17 +1,18 @@
1
- open UIEventsAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent)
5
3
  */
6
4
  @new
7
- external make: (~type_: string, ~eventInitDict: mouseEventInit=?) => mouseEvent = "MouseEvent"
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.mouseEventInit=?,
8
+ ) => UiEventsTypes.mouseEvent = "MouseEvent"
8
9
 
9
10
  module Impl = (
10
11
  T: {
11
12
  type t
12
13
  },
13
14
  ) => {
14
- external asMouseEvent: T.t => mouseEvent = "%identity"
15
+ external asMouseEvent: T.t => UiEventsTypes.mouseEvent = "%identity"
15
16
 
16
17
  include UIEvent.Impl({type t = T.t})
17
18
 
@@ -22,4 +23,4 @@ module Impl = (
22
23
  external getModifierState: (T.t, string) => bool = "getModifierState"
23
24
  }
24
25
 
25
- include Impl({type t = mouseEvent})
26
+ include Impl({type t = UiEventsTypes.mouseEvent})
@@ -0,0 +1,24 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.pointerEventInit=?,
8
+ ) => UiEventsTypes.pointerEvent = "PointerEvent"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent/getCoalescedEvents)
12
+ */
13
+ @send
14
+ external getCoalescedEvents: UiEventsTypes.pointerEvent => array<UiEventsTypes.pointerEvent> =
15
+ "getCoalescedEvents"
16
+
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent/getPredictedEvents)
19
+ */
20
+ @send
21
+ external getPredictedEvents: UiEventsTypes.pointerEvent => array<UiEventsTypes.pointerEvent> =
22
+ "getPredictedEvents"
23
+
24
+ include MouseEvent.Impl({type t = UiEventsTypes.pointerEvent})
@@ -1,7 +1,5 @@
1
- open UIEventsAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Touch)
5
3
  */
6
4
  @new
7
- external make: touchInit => touch = "Touch"
5
+ external make: UiEventsTypes.touchInit => UiEventsTypes.touch = "Touch"
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TouchEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.touchEventInit=?,
8
+ ) => UiEventsTypes.touchEvent = "TouchEvent"
9
+
10
+ include UIEvent.Impl({type t = UiEventsTypes.touchEvent})
@@ -1,7 +1,5 @@
1
- open UIEventsAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TouchList/item)
5
3
  */
6
4
  @send
7
- external item: (touchList, int) => touch = "item"
5
+ external item: (UiEventsTypes.touchList, int) => UiEventsTypes.touch = "item"
@@ -0,0 +1,20 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/UIEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.uiEventInit=?,
8
+ ) => UiEventsTypes.uiEvent = "UIEvent"
9
+
10
+ module Impl = (
11
+ T: {
12
+ type t
13
+ },
14
+ ) => {
15
+ external asUIEvent: T.t => UiEventsTypes.uiEvent = "%identity"
16
+
17
+ include Event.Impl({type t = T.t})
18
+ }
19
+
20
+ include Impl({type t = UiEventsTypes.uiEvent})
@@ -1,8 +1,5 @@
1
1
  @@warning("-30")
2
2
 
3
- open EventAPI
4
- open DOMAPI
5
-
6
3
  type touchType =
7
4
  | @as("direct") Direct
8
5
  | @as("stylus") Stylus
@@ -12,12 +9,12 @@ Simple user interface events.
12
9
  [See UIEvent on MDN](https://developer.mozilla.org/docs/Web/API/UIEvent)
13
10
  */
14
11
  @editor.completeFrom(UIEvent)
15
- type uiEvent = {
16
- ...event,
12
+ type uiEvent = private {
13
+ ...EventTypes.event,
17
14
  /**
18
15
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/UIEvent/view)
19
16
  */
20
- view: Null.t<window>,
17
+ view: Null.t<DOM.window>,
21
18
  /**
22
19
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/UIEvent/detail)
23
20
  */
@@ -25,11 +22,11 @@ type uiEvent = {
25
22
  }
26
23
 
27
24
  /**
28
- The DOM CompositionEvent represents events that occur due to the user indirectly entering text.
25
+ The WebApiDOM CompositionEvent represents events that occur due to the user indirectly entering text.
29
26
  [See CompositionEvent on MDN](https://developer.mozilla.org/docs/Web/API/CompositionEvent)
30
27
  */
31
28
  @editor.completeFrom(CompositionEvent)
32
- type compositionEvent = {
29
+ type compositionEvent = private {
33
30
  ...uiEvent,
34
31
  /**
35
32
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CompositionEvent/data)
@@ -42,12 +39,12 @@ Focus-related events like focus, blur, focusin, or focusout.
42
39
  [See FocusEvent on MDN](https://developer.mozilla.org/docs/Web/API/FocusEvent)
43
40
  */
44
41
  @editor.completeFrom(FocusEvent)
45
- type focusEvent = {
42
+ type focusEvent = private {
46
43
  ...uiEvent,
47
44
  /**
48
45
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/FocusEvent/relatedTarget)
49
46
  */
50
- relatedTarget: Null.t<eventTarget>,
47
+ relatedTarget: Null.t<EventTypes.eventTarget>,
51
48
  }
52
49
 
53
50
  /**
@@ -55,7 +52,7 @@ One drag data item. During a drag operation, each drag event has a dataTransfer
55
52
  [See DataTransferItem on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem)
56
53
  */
57
54
  @editor.completeFrom(DataTransferItem)
58
- type dataTransferItem = {
55
+ type dataTransferItem = private {
59
56
  /**
60
57
  Returns the drag data item kind, one of: "string", "file".
61
58
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/kind)
@@ -74,7 +71,7 @@ A list of DataTransferItem objects representing items being dragged. During a dr
74
71
  [See DataTransferItemList on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList)
75
72
  */
76
73
  @editor.completeFrom(DataTransferItemList)
77
- type dataTransferItemList = {
74
+ type dataTransferItemList = private {
78
75
  /**
79
76
  Returns the number of items in the drag data store.
80
77
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/length)
@@ -85,6 +82,7 @@ type dataTransferItemList = {
85
82
  /**
86
83
  Used to hold the data that is being dragged during a drag and drop operation. It may hold one or more data items, each of one or more data types. For more information about drag and drop, see HTML Drag and Drop API.
87
84
  [See DataTransfer on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer)
85
+ TODO: mark as private once mutating fields of private records is allowed
88
86
  */
89
87
  @editor.completeFrom(DataTransfer)
90
88
  type dataTransfer = {
@@ -120,14 +118,14 @@ The possible values are "none", "copy", "copyLink", "copyMove", "link", "linkMov
120
118
  Returns a FileList of the files being dragged, if any.
121
119
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer/files)
122
120
  */
123
- files: fileList,
121
+ files: DomTypes.fileList,
124
122
  }
125
123
 
126
124
  /**
127
125
  [See InputEvent on MDN](https://developer.mozilla.org/docs/Web/API/InputEvent)
128
126
  */
129
127
  @editor.completeFrom(InputEvent)
130
- type inputEvent = {
128
+ type inputEvent = private {
131
129
  ...uiEvent,
132
130
  /**
133
131
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/InputEvent/data)
@@ -152,7 +150,7 @@ KeyboardEvent objects describe a user interaction with the keyboard; each event
152
150
  [See KeyboardEvent on MDN](https://developer.mozilla.org/docs/Web/API/KeyboardEvent)
153
151
  */
154
152
  @editor.completeFrom(KeyboardEvent)
155
- type keyboardEvent = {
153
+ type keyboardEvent = private {
156
154
  ...uiEvent,
157
155
  /**
158
156
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key)
@@ -197,7 +195,7 @@ Events that occur due to the user interacting with a pointing device (such as a
197
195
  [See MouseEvent on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent)
198
196
  */
199
197
  @editor.completeFrom(MouseEvent)
200
- type mouseEvent = {
198
+ type mouseEvent = private {
201
199
  ...uiEvent,
202
200
  /**
203
201
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX)
@@ -250,7 +248,7 @@ type mouseEvent = {
250
248
  /**
251
249
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget)
252
250
  */
253
- relatedTarget: Null.t<eventTarget>,
251
+ relatedTarget: Null.t<EventTypes.eventTarget>,
254
252
  /**
255
253
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX)
256
254
  */
@@ -290,7 +288,7 @@ Events that occur due to the user moving a mouse wheel or similar input device.
290
288
  [See WheelEvent on MDN](https://developer.mozilla.org/docs/Web/API/WheelEvent)
291
289
  */
292
290
  @editor.completeFrom(WheelEvent)
293
- type wheelEvent = {
291
+ type wheelEvent = private {
294
292
  ...mouseEvent,
295
293
  /**
296
294
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaX)
@@ -315,7 +313,7 @@ A single contact point on a touch-sensitive device. The contact point is commonl
315
313
  [See Touch on MDN](https://developer.mozilla.org/docs/Web/API/Touch)
316
314
  */
317
315
  @editor.completeFrom(Touch)
318
- type touch = {
316
+ type touch = private {
319
317
  /**
320
318
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Touch/identifier)
321
319
  */
@@ -323,7 +321,7 @@ type touch = {
323
321
  /**
324
322
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Touch/target)
325
323
  */
326
- target: eventTarget,
324
+ target: EventTypes.eventTarget,
327
325
  /**
328
326
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Touch/screenX)
329
327
  */
@@ -371,7 +369,7 @@ A list of contact points on a touch surface. For example, if the user has three
371
369
  [See TouchList on MDN](https://developer.mozilla.org/docs/Web/API/TouchList)
372
370
  */
373
371
  @editor.completeFrom(TouchList)
374
- type touchList = {
372
+ type touchList = private {
375
373
  /**
376
374
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TouchList/length)
377
375
  */
@@ -383,7 +381,7 @@ An event sent when the state of contacts with a touch-sensitive surface changes.
383
381
  [See TouchEvent on MDN](https://developer.mozilla.org/docs/Web/API/TouchEvent)
384
382
  */
385
383
  @editor.completeFrom(TouchEvent)
386
- type touchEvent = {
384
+ type touchEvent = private {
387
385
  ...uiEvent,
388
386
  /**
389
387
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TouchEvent/touches)
@@ -416,11 +414,11 @@ type touchEvent = {
416
414
  }
417
415
 
418
416
  /**
419
- The state of a DOM event produced by a pointer such as the geometry of the contact point, the device type that generated the event, the amount of pressure that was applied on the contact surface, etc.
417
+ The state of a WebApiDOM event produced by a pointer such as the geometry of the contact point, the device type that generated the event, the amount of pressure that was applied on the contact surface, etc.
420
418
  [See PointerEvent on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent)
421
419
  */
422
420
  @editor.completeFrom(PointerEvent)
423
- type pointerEvent = {
421
+ type pointerEvent = private {
424
422
  ...mouseEvent,
425
423
  /**
426
424
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerId)
@@ -473,8 +471,8 @@ type pointerEvent = {
473
471
  }
474
472
 
475
473
  type uiEventInit = {
476
- ...eventInit,
477
- mutable view?: Null.t<window>,
474
+ ...EventTypes.eventInit,
475
+ mutable view?: Null.t<DOM.window>,
478
476
  mutable detail?: int,
479
477
  mutable which?: int,
480
478
  }
@@ -505,14 +503,14 @@ type mouseEventInit = {
505
503
  mutable clientY?: int,
506
504
  mutable button?: int,
507
505
  mutable buttons?: int,
508
- mutable relatedTarget?: Null.t<eventTarget>,
506
+ mutable relatedTarget?: Null.t<EventTypes.eventTarget>,
509
507
  mutable movementX?: float,
510
508
  mutable movementY?: float,
511
509
  }
512
510
 
513
511
  type focusEventInit = {
514
512
  ...uiEventInit,
515
- mutable relatedTarget?: Null.t<eventTarget>,
513
+ mutable relatedTarget?: Null.t<EventTypes.eventTarget>,
516
514
  }
517
515
 
518
516
  type compositionEventInit = {
@@ -545,12 +543,12 @@ type inputEventInit = {
545
543
  mutable isComposing?: bool,
546
544
  mutable inputType?: string,
547
545
  mutable dataTransfer?: Null.t<dataTransfer>,
548
- mutable targetRanges?: array<staticRange>,
546
+ mutable targetRanges?: array<DOM.staticRange>,
549
547
  }
550
548
 
551
549
  type touchInit = {
552
550
  mutable identifier: int,
553
- mutable target: eventTarget,
551
+ mutable target: EventTypes.eventTarget,
554
552
  mutable clientX?: float,
555
553
  mutable clientY?: float,
556
554
  mutable screenX?: float,
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/WheelEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.wheelEventInit=?,
8
+ ) => UiEventsTypes.wheelEvent = "WheelEvent"
9
+
10
+ include MouseEvent.Impl({type t = UiEventsTypes.wheelEvent})
@@ -1,16 +1,14 @@
1
- open URLAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URL)
5
3
  */
6
4
  @new
7
- external make: (~url: string, ~base: string=?) => url = "URL"
5
+ external make: (~url: string, ~base: string=?) => UrlTypes.url = "URL"
8
6
 
9
7
  /**
10
8
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URL/parse_static)
11
9
  */
12
10
  @scope("URL")
13
- external parse: (~url: string, ~base: string=?) => url = "parse"
11
+ external parse: (~url: string, ~base: string=?) => UrlTypes.url = "parse"
14
12
 
15
13
  /**
16
14
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URL/canParse_static)
@@ -22,7 +20,7 @@ external canParse: (~url: string, ~base: string=?) => bool = "canParse"
22
20
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URL/toJSON)
23
21
  */
24
22
  @send
25
- external toJSON: url => string = "toJSON"
23
+ external toJSON: UrlTypes.url => string = "toJSON"
26
24
 
27
25
  /**
28
26
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static)
@@ -35,3 +33,6 @@ external createObjectURL: unknown => string = "createObjectURL"
35
33
  */
36
34
  @scope("URL")
37
35
  external revokeObjectURL: string => unit = "revokeObjectURL"
36
+
37
+ module URLSearchParams = URLSearchParams
38
+ module Types = UrlTypes
@@ -1,101 +1,104 @@
1
- open URLAPI
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
3
+ */
4
+ type t = UrlTypes.urlSearchParams = private {...UrlTypes.urlSearchParams}
2
5
 
3
6
  /**
4
7
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
5
8
  */
6
9
  @new
7
- external make: unit => urlSearchParams = "URLSearchParams"
10
+ external make: unit => t = "URLSearchParams"
8
11
 
9
12
  /**
10
13
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
11
14
  */
12
15
  @new
13
- external fromKeyValueArray: array<(string, string)> => urlSearchParams = "URLSearchParams"
16
+ external fromKeyValueArray: array<(string, string)> => t = "URLSearchParams"
14
17
 
15
18
  /**
16
19
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
17
20
  */
18
21
  @new
19
- external fromDict: dict<string> => urlSearchParams = "URLSearchParams"
22
+ external fromDict: dict<string> => t = "URLSearchParams"
20
23
 
21
24
  /**
22
25
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
23
26
  */
24
27
  @new
25
- external fromString: string => urlSearchParams = "URLSearchParams"
28
+ external fromString: string => t = "URLSearchParams"
26
29
 
27
30
  /**
28
31
  Appends a specified key/value pair as a new search parameter.
29
32
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/append)
30
33
  */
31
34
  @send
32
- external append: (urlSearchParams, ~name: string, ~value: string) => unit = "append"
35
+ external append: (t, ~name: string, ~value: string) => unit = "append"
33
36
 
34
37
  /**
35
38
  Deletes the given search parameter, and its associated value, from the list of all search parameters.
36
39
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/delete)
37
40
  */
38
41
  @send
39
- external delete: (urlSearchParams, ~name: string, ~value: string=?) => unit = "delete"
42
+ external delete: (t, ~name: string, ~value: string=?) => unit = "delete"
40
43
 
41
44
  /**
42
45
  Returns key/value pairs in the same order as they appear in the query string.
43
46
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/entries)
44
47
  */
45
48
  @send
46
- external entries: urlSearchParams => Iterator.t<(string, string)> = "entries"
49
+ external entries: t => Iterator.t<(string, string)> = "entries"
47
50
 
48
51
  /**
49
52
  Returns the first value associated to the given search parameter.
50
53
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/get)
51
54
  */
52
55
  @send
53
- external get: (urlSearchParams, string) => null<string> = "get"
56
+ external get: (t, string) => null<string> = "get"
54
57
 
55
58
  /**
56
59
  Returns all the values association with a given search parameter.
57
60
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/getAll)
58
61
  */
59
62
  @send
60
- external getAll: (urlSearchParams, string) => array<string> = "getAll"
63
+ external getAll: (t, string) => array<string> = "getAll"
61
64
 
62
65
  /**
63
66
  Returns a Boolean indicating if such a search parameter exists.
64
67
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/has)
65
68
  */
66
69
  @send
67
- external has: (urlSearchParams, ~name: string, ~value: string=?) => bool = "has"
70
+ external has: (t, ~name: string, ~value: string=?) => bool = "has"
68
71
 
69
72
  /**
70
73
  Returns an iterator allowing iteration through all keys contained in this object.
71
74
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/keys)
72
75
  */
73
76
  @send
74
- external keys: urlSearchParams => Iterator.t<string> = "keys"
77
+ external keys: t => Iterator.t<string> = "keys"
75
78
 
76
79
  /**
77
80
  Sets the value associated to a given search parameter to the given value. If there were several values, delete the others.
78
81
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/set)
79
82
  */
80
83
  @send
81
- external set: (urlSearchParams, ~name: string, ~value: string) => unit = "set"
84
+ external set: (t, ~name: string, ~value: string) => unit = "set"
82
85
 
83
86
  /**
84
87
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/sort)
85
88
  */
86
89
  @send
87
- external sort: urlSearchParams => unit = "sort"
90
+ external sort: t => unit = "sort"
88
91
 
89
92
  /**
90
- Returns the query string suitable for use in a URL, without the question mark.
93
+ Returns the query string suitable for use in a WebApiURL, without the question mark.
91
94
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/toString)
92
95
  */
93
96
  @send
94
- external toString: urlSearchParams => string = "toString"
97
+ external toString: t => string = "toString"
95
98
 
96
99
  /**
97
100
  Returns an iterator allowing iteration through all values contained in this object.
98
101
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/values)
99
102
  */
100
103
  @send
101
- external values: urlSearchParams => Iterator.t<string> = "values"
104
+ external values: t => Iterator.t<string> = "values"
@@ -4,7 +4,7 @@
4
4
  [See URLSearchParams on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)
5
5
  */
6
6
  @editor.completeFrom(URLSearchParams)
7
- type urlSearchParams = {
7
+ type urlSearchParams = private {
8
8
  /**
9
9
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams/size)
10
10
  */
@@ -12,10 +12,11 @@ type urlSearchParams = {
12
12
  }
13
13
 
14
14
  /**
15
- The URL interface represents an object providing static methods used for creating object URLs.
16
- [See URL on MDN](https://developer.mozilla.org/docs/Web/API/URL)
15
+ The WebApiURL interface represents an object providing static methods used for creating object URLs.
16
+ [See WebApiURL on MDN](https://developer.mozilla.org/docs/Web/API/URL)
17
+ TODO: mark as private once mutating fields of private records is allowed
17
18
  */
18
- @editor.completeFrom(URL)
19
+ @editor.completeFrom(WebApiURL)
19
20
  type url = {
20
21
  /**
21
22
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/URL/href)
@@ -1,7 +1,5 @@
1
- open ViewTransitionsAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ViewTransition/skipTransition)
5
3
  */
6
4
  @send
7
- external skipTransition: viewTransition => unit = "skipTransition"
5
+ external skipTransition: ViewTransitionsTypes.viewTransition => unit = "skipTransition"
@@ -4,7 +4,7 @@
4
4
  [See ViewTransition on MDN](https://developer.mozilla.org/docs/Web/API/ViewTransition)
5
5
  */
6
6
  @editor.completeFrom(ViewTransition)
7
- type viewTransition = {
7
+ type viewTransition = private {
8
8
  /**
9
9
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ViewTransition/updateCallbackDone)
10
10
  */
@@ -0,0 +1,5 @@
1
+ type t = VisualViewportTypes.visualViewport = private {
2
+ ...VisualViewportTypes.visualViewport,
3
+ }
4
+
5
+ include EventTarget.Impl({type t = t})