@rescript/webapi 0.1.0-experimental-2d6efc2 → 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
@@ -0,0 +1,51 @@
1
+ type t = MediaCaptureAndStreamsTypes.mediaStreamTrack = private {
2
+ ...MediaCaptureAndStreamsTypes.mediaStreamTrack,
3
+ }
4
+ type mediaTrackCapabilities = MediaCaptureAndStreamsTypes.mediaTrackCapabilities = {
5
+ ...MediaCaptureAndStreamsTypes.mediaTrackCapabilities,
6
+ }
7
+ type mediaTrackConstraints = MediaCaptureAndStreamsTypes.mediaTrackConstraints = {
8
+ ...MediaCaptureAndStreamsTypes.mediaTrackConstraints,
9
+ }
10
+ type mediaTrackSettings = MediaCaptureAndStreamsTypes.mediaTrackSettings = {
11
+ ...MediaCaptureAndStreamsTypes.mediaTrackSettings,
12
+ }
13
+
14
+ include EventTarget.Impl({type t = t})
15
+
16
+ /**
17
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/clone)
18
+ */
19
+ @send
20
+ external clone: t => t = "clone"
21
+
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/stop)
24
+ */
25
+ @send
26
+ external stop: t => unit = "stop"
27
+
28
+ /**
29
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getCapabilities)
30
+ */
31
+ @send
32
+ external getCapabilities: t => mediaTrackCapabilities = "getCapabilities"
33
+
34
+ /**
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getConstraints)
36
+ */
37
+ @send
38
+ external getConstraints: t => mediaTrackConstraints = "getConstraints"
39
+
40
+ /**
41
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getSettings)
42
+ */
43
+ @send
44
+ external getSettings: t => mediaTrackSettings = "getSettings"
45
+
46
+ /**
47
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/applyConstraints)
48
+ */
49
+ @send
50
+ external applyConstraints: (t, ~constraints: mediaTrackConstraints=?) => promise<unit> =
51
+ "applyConstraints"
@@ -0,0 +1,10 @@
1
+ type t = MediaSessionTypes.mediaMetadata = private {...MediaSessionTypes.mediaMetadata}
2
+ type mediaMetadataInit = MediaSessionTypes.mediaMetadataInit = {
3
+ ...MediaSessionTypes.mediaMetadataInit,
4
+ }
5
+
6
+ /**
7
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata)
8
+ */
9
+ @new
10
+ external make: (~init: mediaMetadataInit=?) => t = "MediaMetadata"
@@ -0,0 +1,25 @@
1
+ type t = MediaSessionTypes.mediaSession = private {...MediaSessionTypes.mediaSession}
2
+ type mediaSessionAction = MediaSessionTypes.mediaSessionAction
3
+ type mediaPositionState = MediaSessionTypes.mediaPositionState = {
4
+ ...MediaSessionTypes.mediaPositionState,
5
+ }
6
+ type mediaSessionActionHandler = MediaSessionTypes.mediaSessionActionHandler
7
+
8
+ /**
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/setActionHandler)
10
+ */
11
+ @send
12
+ external setActionHandler: (
13
+ t,
14
+ ~action: mediaSessionAction,
15
+ ~handler: mediaSessionActionHandler,
16
+ ) => unit = "setActionHandler"
17
+
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/setPositionState)
20
+ */
21
+ @send
22
+ external setPositionState: (t, ~state: mediaPositionState=?) => unit = "setPositionState"
23
+
24
+ module MediaMetadata = MediaMetadata
25
+ module Types = MediaSessionTypes
@@ -24,6 +24,7 @@ type mediaImage = {
24
24
 
25
25
  /**
26
26
  [See MediaMetadata on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata)
27
+ TODO: mark as private once mutating fields of private records is allowed
27
28
  */
28
29
  @editor.completeFrom(MediaMetadata)
29
30
  type mediaMetadata = {
@@ -46,9 +47,10 @@ type mediaMetadata = {
46
47
  }
47
48
 
48
49
  /**
49
- [See MediaSession on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession)
50
+ [See WebApiMediaSession on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession)
51
+ TODO: mark as private once mutating fields of private records is allowed
50
52
  */
51
- @editor.completeFrom(MediaSession)
53
+ @editor.completeFrom(WebApiMediaSession)
52
54
  type mediaSession = {
53
55
  /**
54
56
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/metadata)
@@ -0,0 +1,31 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MutationObserver)
3
+ */
4
+ @new
5
+ external make: MutationObserverTypes.mutationObserverCallback => MutationObserverTypes.mutationObserver =
6
+ "MutationObserver"
7
+
8
+ /**
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MutationObserver/observe)
10
+ */
11
+ @send
12
+ external observe: (
13
+ MutationObserverTypes.mutationObserver,
14
+ ~target: DomTypes.node,
15
+ ~options: MutationObserverTypes.mutationObserverInit=?,
16
+ ) => unit = "observe"
17
+
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MutationObserver/disconnect)
20
+ */
21
+ @send
22
+ external disconnect: MutationObserverTypes.mutationObserver => unit = "disconnect"
23
+
24
+ /**
25
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MutationObserver/takeRecords)
26
+ */
27
+ @send
28
+ external takeRecords: MutationObserverTypes.mutationObserver => array<DOM.mutationRecord> =
29
+ "takeRecords"
30
+
31
+ module Types = MutationObserverTypes
@@ -1,9 +1,7 @@
1
- open DOMAPI
2
-
3
1
  /**
4
- [See MutationObserver on MDN](https://developer.mozilla.org/docs/Web/API/MutationObserver)
2
+ [See WebApiMutationObserver on MDN](https://developer.mozilla.org/docs/Web/API/MutationObserver)
5
3
  */
6
- @editor.completeFrom(MutationObserver)
4
+ @editor.completeFrom(WebApiMutationObserver)
7
5
  type mutationObserver
8
6
 
9
7
  type mutationObserverInit = {
@@ -16,4 +14,4 @@ type mutationObserverInit = {
16
14
  mutable attributeFilter?: array<string>,
17
15
  }
18
16
 
19
- type mutationObserverCallback = (array<mutationRecord>, mutationObserver) => unit
17
+ type mutationObserverCallback = (array<DOM.mutationRecord>, mutationObserver) => unit
@@ -0,0 +1,46 @@
1
+ type t = NotificationTypes.notification = private {...NotificationTypes.notification}
2
+ type notificationDirection = NotificationTypes.notificationDirection
3
+ type notificationPermission = NotificationTypes.notificationPermission
4
+ type notificationAction = NotificationTypes.notificationAction = {
5
+ ...NotificationTypes.notificationAction,
6
+ }
7
+ type notificationOptions = NotificationTypes.notificationOptions = {
8
+ ...NotificationTypes.notificationOptions,
9
+ }
10
+ type getNotificationOptions = NotificationTypes.getNotificationOptions = {
11
+ ...NotificationTypes.getNotificationOptions,
12
+ }
13
+ type notificationPermissionCallback = NotificationTypes.notificationPermissionCallback
14
+ type notificationEvent = NotificationTypes.notificationEvent = {
15
+ ...NotificationTypes.notificationEvent,
16
+ }
17
+
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification)
20
+ */
21
+ @new
22
+ external make: (~title: string, ~options: notificationOptions=?) => t = "Notification"
23
+
24
+ include EventTarget.Impl({type t = t})
25
+
26
+ /**
27
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/requestPermission_static)
28
+ */
29
+ @scope("Notification")
30
+ external requestPermission: (
31
+ ~deprecatedCallback: notificationPermissionCallback=?,
32
+ ) => promise<notificationPermission> = "requestPermission"
33
+
34
+ /**
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/close)
36
+ */
37
+ @send
38
+ external close: t => unit = "close"
39
+
40
+ /**
41
+ [Read more on MDN](https://developer.mozilla.org/en-US/docs/Web/API/Notification/permission_static)
42
+ */
43
+ @scope("Notification") @val
44
+ external permission: notificationPermission = "permission"
45
+
46
+ module Types = NotificationTypes
@@ -1,7 +1,5 @@
1
1
  @@warning("-30")
2
2
 
3
- open EventAPI
4
-
5
3
  type notificationDirection =
6
4
  | @as("auto") Auto
7
5
  | @as("ltr") Ltr
@@ -14,11 +12,11 @@ type notificationPermission =
14
12
 
15
13
  /**
16
14
  This Notifications API interface is used to configure and display desktop notifications to the user.
17
- [See Notification on MDN](https://developer.mozilla.org/docs/Web/API/Notification)
15
+ [See WebApiNotification on MDN](https://developer.mozilla.org/docs/Web/API/Notification)
18
16
  */
19
- @editor.completeFrom(Notification)
20
- type notification = {
21
- ...eventTarget,
17
+ @editor.completeFrom(WebApiNotification)
18
+ type notification = private {
19
+ ...EventTypes.eventTarget,
22
20
  /**
23
21
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/permission_static)
24
22
  */
@@ -97,7 +95,7 @@ type getNotificationOptions = {mutable tag?: string}
97
95
  type notificationPermissionCallback = notificationPermission => unit
98
96
 
99
97
  type notificationEvent = {
100
- ...extendableEvent,
98
+ ...EventTypes.extendableEvent,
101
99
  /**
102
100
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/NotificationEvent/action)
103
101
  */
@@ -0,0 +1,101 @@
1
+ include EventTarget.Impl({type t = PerformanceTypes.performance})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/now)
5
+ */
6
+ @send
7
+ external now: PerformanceTypes.performance => float = "now"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/toJSON)
11
+ */
12
+ @send
13
+ external toJSON: PerformanceTypes.performance => Dict.t<string> = "toJSON"
14
+
15
+ /**
16
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/getEntries)
17
+ */
18
+ @send
19
+ external getEntries: PerformanceTypes.performance => PerformanceTypes.performanceEntryList =
20
+ "getEntries"
21
+
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType)
24
+ */
25
+ @send
26
+ external getEntriesByType: (
27
+ PerformanceTypes.performance,
28
+ string,
29
+ ) => PerformanceTypes.performanceEntryList = "getEntriesByType"
30
+
31
+ /**
32
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName)
33
+ */
34
+ @send
35
+ external getEntriesByName: (
36
+ PerformanceTypes.performance,
37
+ ~name: string,
38
+ ~type_: string=?,
39
+ ) => PerformanceTypes.performanceEntryList = "getEntriesByName"
40
+
41
+ /**
42
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/clearResourceTimings)
43
+ */
44
+ @send
45
+ external clearResourceTimings: PerformanceTypes.performance => unit = "clearResourceTimings"
46
+
47
+ /**
48
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/setResourceTimingBufferSize)
49
+ */
50
+ @send
51
+ external setResourceTimingBufferSize: (PerformanceTypes.performance, int) => unit =
52
+ "setResourceTimingBufferSize"
53
+
54
+ /**
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/mark)
56
+ */
57
+ @send
58
+ external mark: (
59
+ PerformanceTypes.performance,
60
+ ~markName: string,
61
+ ~markOptions: PerformanceTypes.performanceMarkOptions=?,
62
+ ) => PerformanceTypes.performanceMark = "mark"
63
+
64
+ /**
65
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/clearMarks)
66
+ */
67
+ @send
68
+ external clearMarks: (PerformanceTypes.performance, ~markName: string=?) => unit = "clearMarks"
69
+
70
+ /**
71
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/measure)
72
+ */
73
+ @send
74
+ external measure: (
75
+ PerformanceTypes.performance,
76
+ ~measureName: string,
77
+ ~startOrMeasureOptions: string=?,
78
+ ~endMark: string=?,
79
+ ) => PerformanceTypes.performanceMeasure = "measure"
80
+
81
+ /**
82
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/measure)
83
+ */
84
+ @send
85
+ external measure2: (
86
+ PerformanceTypes.performance,
87
+ ~measureName: string,
88
+ ~startOrMeasureOptions: PerformanceTypes.performanceMeasureOptions=?,
89
+ ~endMark: string=?,
90
+ ) => PerformanceTypes.performanceMeasure = "measure"
91
+
92
+ /**
93
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/clearMeasures)
94
+ */
95
+ @send
96
+ external clearMeasures: (PerformanceTypes.performance, ~measureName: string=?) => unit =
97
+ "clearMeasures"
98
+
99
+ module PerformanceEntry = PerformanceEntry
100
+ module PerformanceMark = PerformanceMark
101
+ module Types = PerformanceTypes
@@ -1,7 +1,5 @@
1
- open PerformanceAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/toJSON)
5
3
  */
6
4
  @send
7
- external toJSON: performanceEntry => Dict.t<string> = "toJSON"
5
+ external toJSON: PerformanceTypes.performanceEntry => Dict.t<string> = "toJSON"
@@ -0,0 +1,16 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMark)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~markName: string,
7
+ ~markOptions: PerformanceTypes.performanceMarkOptions=?,
8
+ ) => PerformanceTypes.performanceMark = "PerformanceMark"
9
+
10
+ external asPerformanceEntry: PerformanceTypes.performanceMark => PerformanceTypes.performanceEntry =
11
+ "%identity"
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/toJSON)
14
+ */
15
+ @send
16
+ external toJSON: PerformanceTypes.performanceMark => Dict.t<string> = "toJSON"
@@ -1,20 +1,17 @@
1
1
  @@warning("-30")
2
2
 
3
- open Prelude
4
- open EventAPI
5
-
6
3
  /**
7
4
  [See EventCounts on MDN](https://developer.mozilla.org/docs/Web/API/EventCounts)
8
5
  */
9
6
  type eventCounts = {}
10
7
 
11
8
  /**
12
- Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.
13
- [See Performance on MDN](https://developer.mozilla.org/docs/Web/API/Performance)
9
+ Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the WebApiPerformance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.
10
+ [See WebApiPerformance on MDN](https://developer.mozilla.org/docs/Web/API/Performance)
14
11
  */
15
- @editor.completeFrom(Performance)
16
- type performance = {
17
- ...eventTarget,
12
+ @editor.completeFrom(WebApiPerformance)
13
+ type performance = private {
14
+ ...EventTypes.eventTarget,
18
15
  /**
19
16
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/timeOrigin)
20
17
  */
@@ -26,11 +23,11 @@ type performance = {
26
23
  }
27
24
 
28
25
  /**
29
- Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image).
26
+ Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. WebApiPerformance entries are also created in indirect ways such as loading a resource (such as an image).
30
27
  [See PerformanceEntry on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry)
31
28
  */
32
29
  @editor.completeFrom(PerformanceEntry)
33
- type performanceEntry = {
30
+ type performanceEntry = private {
34
31
  /**
35
32
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/name)
36
33
  */
@@ -54,7 +51,7 @@ PerformanceMark is an abstract interface for PerformanceEntry objects with an e
54
51
  [See PerformanceMark on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMark)
55
52
  */
56
53
  @editor.completeFrom(PerformanceMark)
57
- type performanceMark = {
54
+ type performanceMark = private {
58
55
  ...performanceEntry,
59
56
  /**
60
57
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMark/detail)
@@ -74,7 +71,7 @@ type performanceMeasure = {
74
71
  detail: JSON.t,
75
72
  }
76
73
 
77
- type performanceEntryList = any
74
+ type performanceEntryList = unknown
78
75
 
79
76
  type performanceMarkOptions = {
80
77
  mutable detail?: JSON.t,
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Permissions/query)
3
+ */
4
+ @send
5
+ external query: (
6
+ PermissionsTypes.permissions,
7
+ PermissionsTypes.permissionDescriptor,
8
+ ) => promise<PermissionsTypes.permissionStatus> = "query"
9
+
10
+ module Types = PermissionsTypes
@@ -1,7 +1,5 @@
1
1
  @@warning("-30")
2
2
 
3
- open EventAPI
4
-
5
3
  type permissionName =
6
4
  | @as("geolocation") Geolocation
7
5
  | @as("midi") Midi
@@ -17,16 +15,16 @@ type permissionState =
17
15
  | @as("prompt") Prompt
18
16
 
19
17
  /**
20
- [See Permissions on MDN](https://developer.mozilla.org/docs/Web/API/Permissions)
18
+ [See WebApiPermissions on MDN](https://developer.mozilla.org/docs/Web/API/Permissions)
21
19
  */
22
- @editor.completeFrom(Permissions)
23
- type permissions = {}
20
+ @editor.completeFrom(WebApiPermissions)
21
+ type permissions = private {}
24
22
 
25
23
  /**
26
24
  [See PermissionStatus on MDN](https://developer.mozilla.org/docs/Web/API/PermissionStatus)
27
25
  */
28
26
  type permissionStatus = {
29
- ...eventTarget,
27
+ ...EventTypes.eventTarget,
30
28
  /**
31
29
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PermissionStatus/state)
32
30
  */
@@ -0,0 +1,7 @@
1
+ type t = PictureInPictureTypes.pictureInPictureWindow = {
2
+ ...PictureInPictureTypes.pictureInPictureWindow,
3
+ }
4
+
5
+ include EventTarget.Impl({type t = t})
6
+
7
+ module Types = PictureInPictureTypes
@@ -1,12 +1,10 @@
1
1
  @@warning("-30")
2
2
 
3
- open EventAPI
4
-
5
3
  /**
6
4
  [See PictureInPictureWindow on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow)
7
5
  */
8
6
  type pictureInPictureWindow = {
9
- ...eventTarget,
7
+ ...EventTypes.eventTarget,
10
8
  /**
11
9
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/width)
12
10
  */
@@ -0,0 +1,2 @@
1
+ external fromString: string => PushTypes.applicationServerKey = "%identity"
2
+ external fromUint8Array: Uint8Array.t => PushTypes.applicationServerKey = "%identity"
@@ -0,0 +1,3 @@
1
+ type t = PushTypes.pushEvent = private {...PushTypes.pushEvent}
2
+
3
+ include ExtendableEvent.Impl({type t = t})
@@ -0,0 +1,24 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/subscribe)
3
+ */
4
+ @send
5
+ external subscribe: (
6
+ PushTypes.pushManager,
7
+ ~options: PushTypes.pushSubscriptionOptionsInit=?,
8
+ ) => promise<PushTypes.pushSubscription> = "subscribe"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription)
12
+ */
13
+ @send
14
+ external getSubscription: PushTypes.pushManager => promise<PushTypes.pushSubscription> =
15
+ "getSubscription"
16
+
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/permissionState)
19
+ */
20
+ @send
21
+ external permissionState: (
22
+ PushTypes.pushManager,
23
+ ~options: PushTypes.pushSubscriptionOptionsInit=?,
24
+ ) => promise<PushTypes.permissionState> = "permissionState"
@@ -1,15 +1,15 @@
1
- open PushAPI
1
+ type t = PushTypes.pushMessageData
2
2
 
3
3
  /**
4
4
  The json() method of the PushMessageData interface extracts push message data by parsing it as a JSON string and returning the result.
5
5
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushMessageData/json)
6
6
  */
7
7
  @send
8
- external json: pushMessageData => JSON.t = "json"
8
+ external json: t => JSON.t = "json"
9
9
 
10
10
  /**
11
11
  The text() method of the PushMessageData interface extracts push message data as a plain text string.
12
12
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushMessageData/text)
13
13
  */
14
14
  @send
15
- external text: pushMessageData => string = "text"
15
+ external text: t => string = "text"
@@ -1,19 +1,18 @@
1
- open PushAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/getKey)
5
3
  */
6
4
  @send
7
- external getKey: (pushSubscription, pushEncryptionKeyName) => ArrayBuffer.t = "getKey"
5
+ external getKey: (PushTypes.pushSubscription, PushTypes.pushEncryptionKeyName) => ArrayBuffer.t =
6
+ "getKey"
8
7
 
9
8
  /**
10
9
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/unsubscribe)
11
10
  */
12
11
  @send
13
- external unsubscribe: pushSubscription => promise<bool> = "unsubscribe"
12
+ external unsubscribe: PushTypes.pushSubscription => promise<bool> = "unsubscribe"
14
13
 
15
14
  /**
16
15
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/toJSON)
17
16
  */
18
17
  @send
19
- external toJSON: pushSubscription => pushSubscriptionJSON = "toJSON"
18
+ external toJSON: PushTypes.pushSubscription => PushTypes.pushSubscriptionJSON = "toJSON"
@@ -1,7 +1,5 @@
1
1
  @@warning("-30")
2
2
 
3
- open EventAPI
4
-
5
3
  type permissionState =
6
4
  | @as("denied") Denied
7
5
  | @as("granted") Granted
@@ -12,11 +10,11 @@ type pushEncryptionKeyName =
12
10
  | @as("p256dh") P256dh
13
11
 
14
12
  /**
15
- This Push API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications.
13
+ This WebApiPush API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications.
16
14
  [See PushManager on MDN](https://developer.mozilla.org/docs/Web/API/PushManager)
17
15
  */
18
16
  @editor.completeFrom(PushManager)
19
- type pushManager = {
17
+ type pushManager = private {
20
18
  /**
21
19
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/supportedContentEncodings_static)
22
20
  */
@@ -40,11 +38,11 @@ type pushSubscriptionOptions = {
40
38
  }
41
39
 
42
40
  /**
43
- This Push API interface provides a subcription's URL endpoint and allows unsubscription from a push service.
41
+ This WebApiPush API interface provides a subcription's WebApiURL endpoint and allows unsubscription from a push service.
44
42
  [See PushSubscription on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription)
45
43
  */
46
44
  @editor.completeFrom(PushSubscription)
47
- type pushSubscription = {
45
+ type pushSubscription = private {
48
46
  /**
49
47
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/endpoint)
50
48
  */
@@ -81,8 +79,8 @@ type pushSubscriptionJSON = {
81
79
  type pushMessageData
82
80
 
83
81
  @editor.completeFrom(PushEvent)
84
- type pushEvent = {
85
- ...extendableEvent,
82
+ type pushEvent = private {
83
+ ...EventTypes.extendableEvent,
86
84
  /**
87
85
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushEvent/data)
88
86
  */
@@ -0,0 +1,25 @@
1
+ type t = RemotePlaybackTypes.remotePlayback = private {...RemotePlaybackTypes.remotePlayback}
2
+ type remotePlaybackAvailabilityCallback = RemotePlaybackTypes.remotePlaybackAvailabilityCallback
3
+
4
+ include EventTarget.Impl({type t = t})
5
+
6
+ /**
7
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/watchAvailability)
8
+ */
9
+ @send
10
+ external watchAvailability: (t, remotePlaybackAvailabilityCallback) => promise<int> =
11
+ "watchAvailability"
12
+
13
+ /**
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/cancelWatchAvailability)
15
+ */
16
+ @send
17
+ external cancelWatchAvailability: (t, ~id: int=?) => promise<unit> = "cancelWatchAvailability"
18
+
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/prompt)
21
+ */
22
+ @send
23
+ external prompt: t => promise<unit> = "prompt"
24
+
25
+ module Types = RemotePlaybackTypes