@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
@@ -1,20 +1,20 @@
1
- open WebAudioAPI
2
-
3
- include AudioNode.Impl({type t = iirFilterNode})
1
+ include AudioNode.Impl({type t = WebAudioTypes.iirFilterNode})
4
2
 
5
3
  /**
6
4
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/IIRFilterNode)
7
5
  */
8
6
  @new
9
- external make: (~context: baseAudioContext, ~options: iirFilterOptions) => iirFilterNode =
10
- "IIRFilterNode"
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.iirFilterOptions,
10
+ ) => WebAudioTypes.iirFilterNode = "IIRFilterNode"
11
11
 
12
12
  /**
13
13
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/IIRFilterNode/getFrequencyResponse)
14
14
  */
15
15
  @send
16
16
  external getFrequencyResponse: (
17
- iirFilterNode,
17
+ WebAudioTypes.iirFilterNode,
18
18
  ~frequencyHz: array<float>,
19
19
  ~magResponse: array<float>,
20
20
  ~phaseResponse: array<float>,
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.mediaElementAudioSourceNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaElementAudioSourceNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.audioContext,
9
+ ~options: WebAudioTypes.mediaElementAudioSourceOptions,
10
+ ) => WebAudioTypes.mediaElementAudioSourceNode = "MediaElementAudioSourceNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.mediaStreamAudioDestinationNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioDestinationNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.audioContext,
9
+ ~options: WebAudioTypes.audioNodeOptions=?,
10
+ ) => WebAudioTypes.mediaStreamAudioDestinationNode = "MediaStreamAudioDestinationNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.mediaStreamAudioSourceNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioSourceNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.audioContext,
9
+ ~options: WebAudioTypes.mediaStreamAudioSourceOptions,
10
+ ) => WebAudioTypes.mediaStreamAudioSourceNode = "MediaStreamAudioSourceNode"
@@ -0,0 +1,10 @@
1
+ include Event.Impl({type t = WebAudioTypes.offlineAudioCompletionEvent})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioCompletionEvent)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~type_: string,
9
+ ~eventInitDict: WebAudioTypes.offlineAudioCompletionEventInit,
10
+ ) => WebAudioTypes.offlineAudioCompletionEvent = "OfflineAudioCompletionEvent"
@@ -0,0 +1,58 @@
1
+ include BaseAudioContext.Impl({type t = WebAudioTypes.offlineAudioContext})
2
+
3
+ /**
4
+ `fromOptions(offlineAudioContextOptions)`
5
+
6
+ Creates a new `OfflineAudioContext` from `offlineAudioContextOptions`.
7
+
8
+ ```res
9
+ let context = OfflineAudioContext.fromOptions(myOfflineAudioContextOptions)
10
+ ```
11
+
12
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext)
13
+ */
14
+ @new
15
+ external fromOptions: WebAudioTypes.offlineAudioContextOptions => WebAudioTypes.offlineAudioContext =
16
+ "OfflineAudioContext"
17
+
18
+ /**
19
+ `fromChannelCountLengthAndSampleRate(~numberOfChannels: int, ~length: int, ~sampleRate: float)`
20
+
21
+ Creates a new `OfflineAudioContext` from explicit channel, length, and sample-rate values.
22
+
23
+ ```res
24
+ let context =
25
+ OfflineAudioContext.fromChannelCountLengthAndSampleRate(
26
+ ~numberOfChannels=2,
27
+ ~length=44_100,
28
+ ~sampleRate=44_100.,
29
+ )
30
+ ```
31
+
32
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext)
33
+ */
34
+ @new
35
+ external fromChannelCountLengthAndSampleRate: (
36
+ ~numberOfChannels: int,
37
+ ~length: int,
38
+ ~sampleRate: float,
39
+ ) => WebAudioTypes.offlineAudioContext = "OfflineAudioContext"
40
+
41
+ /**
42
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/startRendering)
43
+ */
44
+ @send
45
+ external startRendering: WebAudioTypes.offlineAudioContext => promise<WebAudioTypes.audioBuffer> =
46
+ "startRendering"
47
+
48
+ /**
49
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/resume)
50
+ */
51
+ @send
52
+ external resume: WebAudioTypes.offlineAudioContext => promise<unit> = "resume"
53
+
54
+ /**
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/suspend)
56
+ */
57
+ @send
58
+ external suspend: (WebAudioTypes.offlineAudioContext, float) => promise<unit> = "suspend"
@@ -0,0 +1,17 @@
1
+ include AudioScheduledSourceNode.Impl({type t = WebAudioTypes.oscillatorNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OscillatorNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.oscillatorOptions=?,
10
+ ) => WebAudioTypes.oscillatorNode = "OscillatorNode"
11
+
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OscillatorNode/setPeriodicWave)
14
+ */
15
+ @send
16
+ external setPeriodicWave: (WebAudioTypes.oscillatorNode, WebAudioTypes.periodicWave) => unit =
17
+ "setPeriodicWave"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.pannerNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PannerNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.pannerOptions=?,
10
+ ) => WebAudioTypes.pannerNode = "PannerNode"
@@ -0,0 +1,8 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PeriodicWave)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~context: WebAudioTypes.baseAudioContext,
7
+ ~options: WebAudioTypes.periodicWaveOptions=?,
8
+ ) => WebAudioTypes.periodicWave = "PeriodicWave"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.stereoPannerNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StereoPannerNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.stereoPannerOptions=?,
10
+ ) => WebAudioTypes.stereoPannerNode = "StereoPannerNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.waveShaperNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/WaveShaperNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.waveShaperOptions=?,
10
+ ) => WebAudioTypes.waveShaperNode = "WaveShaperNode"
@@ -1,11 +1,5 @@
1
1
  @@warning("-30")
2
2
 
3
- open Prelude
4
- open ChannelMessagingAPI
5
- open EventAPI
6
- open DOMAPI
7
- open MediaCaptureAndStreamsAPI
8
-
9
3
  type audioContextState =
10
4
  | @as("closed") Closed
11
5
  | @as("running") Running
@@ -61,7 +55,7 @@ A short audio asset residing in memory, created from an audio file using the Aud
61
55
  [See AudioBuffer on MDN](https://developer.mozilla.org/docs/Web/API/AudioBuffer)
62
56
  */
63
57
  @editor.completeFrom(AudioBuffer)
64
- type audioBuffer = {
58
+ type audioBuffer = private {
65
59
  /**
66
60
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBuffer/sampleRate)
67
61
  */
@@ -85,8 +79,8 @@ The Web Audio API events that occur when a ScriptProcessorNode input buffer is r
85
79
  [See AudioProcessingEvent on MDN](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent)
86
80
  */
87
81
  @editor.completeFrom(AudioProcessingEvent)
88
- type audioProcessingEvent = {
89
- ...event,
82
+ type audioProcessingEvent = private {
83
+ ...EventTypes.event,
90
84
  }
91
85
 
92
86
  /**
@@ -94,8 +88,8 @@ The Web Audio API OfflineAudioCompletionEvent interface represents events that o
94
88
  [See OfflineAudioCompletionEvent on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioCompletionEvent)
95
89
  */
96
90
  @editor.completeFrom(OfflineAudioCompletionEvent)
97
- type offlineAudioCompletionEvent = {
98
- ...event,
91
+ type offlineAudioCompletionEvent = private {
92
+ ...EventTypes.event,
99
93
  /**
100
94
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioCompletionEvent/renderedBuffer)
101
95
  */
@@ -106,15 +100,16 @@ type offlineAudioCompletionEvent = {
106
100
  [See Worklet on MDN](https://developer.mozilla.org/docs/Web/API/Worklet)
107
101
  */
108
102
  @editor.completeFrom(Worklet)
109
- type worklet = {}
103
+ type worklet = private {}
110
104
 
111
105
  /**
112
106
  A generic interface for representing an audio processing module. Examples include:
113
107
  [See AudioNode on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode)
108
+ TODO: mark as private once mutating fields of private records is allowed
114
109
  */
115
110
  @editor.completeFrom(AudioNode)
116
111
  type rec audioNode = {
117
- ...eventTarget,
112
+ ...EventTypes.eventTarget,
118
113
  /**
119
114
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/context)
120
115
  */
@@ -182,8 +177,8 @@ and audioDestinationNode = {
182
177
  /**
183
178
  [See BaseAudioContext on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext)
184
179
  */
185
- @editor.completeFrom(BaseAudioContext) and baseAudioContext = {
186
- ...eventTarget,
180
+ @editor.completeFrom(BaseAudioContext) and baseAudioContext = private {
181
+ ...EventTypes.eventTarget,
187
182
  /**
188
183
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/destination)
189
184
  */
@@ -213,6 +208,7 @@ and audioDestinationNode = {
213
208
  /**
214
209
  A simple low-order filter, and is created using the AudioContext.createBiquadFilter() method. It is an AudioNode that can represent different kinds of filters, tone control devices, and graphic equalizers.
215
210
  [See BiquadFilterNode on MDN](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode)
211
+ TODO: mark as private once mutating fields of private records is allowed
216
212
  */
217
213
  @editor.completeFrom(BiquadFilterNode) and biquadFilterNode = {
218
214
  // Base properties from AudioNode
@@ -319,6 +315,7 @@ and audioWorklet = {
319
315
  /**
320
316
  The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain).
321
317
  [See AudioParam on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam)
318
+ TODO: mark as private once mutating fields of private records is allowed
322
319
  */
323
320
  @editor.completeFrom(AudioParam) and audioParam = {
324
321
  /**
@@ -341,6 +338,7 @@ The Web Audio API's AudioParam interface represents an audio-related parameter,
341
338
 
342
339
  /**
343
340
  [See AudioScheduledSourceNode on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode)
341
+ TODO: mark as private once mutating fields of private records is allowed
344
342
  */
345
343
  @editor.completeFrom(AudioScheduledSourceNode) and audioScheduledSourceNode = {
346
344
  // Base properties from AudioNode
@@ -374,6 +372,7 @@ The Web Audio API's AudioParam interface represents an audio-related parameter,
374
372
  /**
375
373
  An AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network.
376
374
  [See AudioBufferSourceNode on MDN](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode)
375
+ TODO: mark as private once mutating fields of private records is allowed
377
376
  */
378
377
  @editor.completeFrom(AudioBufferSourceNode) and audioBufferSourceNode = {
379
378
  // Base properties from AudioScheduledSourceNode
@@ -435,6 +434,7 @@ An AudioScheduledSourceNode which represents an audio source consisting of in-me
435
434
  /**
436
435
  The ChannelMergerNode interface, often used in conjunction with its opposite, ChannelSplitterNode, reunites different mono inputs into a single output. Each input is used to fill a channel of the output. This is useful for accessing each channels separately, e.g. for performing channel mixing where gain must be separately controlled on each channel.
437
436
  [See ChannelMergerNode on MDN](https://developer.mozilla.org/docs/Web/API/ChannelMergerNode)
437
+ TODO: mark as private once mutating fields of private records is allowed
438
438
  */
439
439
  @editor.completeFrom(ChannelMergerNode) and channelMergerNode = {
440
440
  // Base properties from AudioNode
@@ -468,6 +468,7 @@ The ChannelMergerNode interface, often used in conjunction with its opposite, Ch
468
468
  /**
469
469
  The ChannelSplitterNode interface, often used in conjunction with its opposite, ChannelMergerNode, separates the different channels of an audio source into a set of mono outputs. This is useful for accessing each channel separately, e.g. for performing channel mixing where gain must be separately controlled on each channel.
470
470
  [See ChannelSplitterNode on MDN](https://developer.mozilla.org/docs/Web/API/ChannelSplitterNode)
471
+ TODO: mark as private once mutating fields of private records is allowed
471
472
  */
472
473
  @editor.completeFrom(ChannelSplitterNode) and channelSplitterNode = {
473
474
  // Base properties from AudioNode
@@ -500,6 +501,7 @@ The ChannelSplitterNode interface, often used in conjunction with its opposite,
500
501
 
501
502
  /**
502
503
  [See ConstantSourceNode on MDN](https://developer.mozilla.org/docs/Web/API/ConstantSourceNode)
504
+ TODO: mark as private once mutating fields of private records is allowed
503
505
  */
504
506
  @editor.completeFrom(ConstantSourceNode) and constantSourceNode = {
505
507
  // Base properties from AudioScheduledSourceNode
@@ -541,6 +543,7 @@ The ChannelSplitterNode interface, often used in conjunction with its opposite,
541
543
  /**
542
544
  An AudioNode that performs a Linear Convolution on a given AudioBuffer, often used to achieve a reverb effect. A ConvolverNode always has exactly one input and one output.
543
545
  [See ConvolverNode on MDN](https://developer.mozilla.org/docs/Web/API/ConvolverNode)
546
+ TODO: mark as private once mutating fields of private records is allowed
544
547
  */
545
548
  @editor.completeFrom(ConvolverNode) and convolverNode = {
546
549
  // Base properties from AudioNode
@@ -583,6 +586,7 @@ An AudioNode that performs a Linear Convolution on a given AudioBuffer, often us
583
586
  /**
584
587
  A delay-line; an AudioNode audio-processing module that causes a delay between the arrival of an input data and its propagation to the output.
585
588
  [See DelayNode on MDN](https://developer.mozilla.org/docs/Web/API/DelayNode)
589
+ TODO: mark as private once mutating fields of private records is allowed
586
590
  */
587
591
  @editor.completeFrom(DelayNode) and delayNode = {
588
592
  // Base properties from AudioNode
@@ -621,6 +625,7 @@ A delay-line; an AudioNode audio-processing module that causes a delay between t
621
625
  /**
622
626
  Inherits properties from its parent, AudioNode.
623
627
  [See DynamicsCompressorNode on MDN](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode)
628
+ TODO: mark as private once mutating fields of private records is allowed
624
629
  */
625
630
  @editor.completeFrom(DynamicsCompressorNode) and dynamicsCompressorNode = {
626
631
  // Base properties from AudioNode
@@ -679,6 +684,7 @@ Inherits properties from its parent, AudioNode.
679
684
  /**
680
685
  A change in volume. It is an AudioNode audio-processing module that causes a given gain to be applied to the input data before its propagation to the output. A GainNode always has exactly one input and one output, both with the same number of channels.
681
686
  [See GainNode on MDN](https://developer.mozilla.org/docs/Web/API/GainNode)
687
+ TODO: mark as private once mutating fields of private records is allowed
682
688
  */
683
689
  @editor.completeFrom(GainNode) and gainNode = {
684
690
  // Base properties from AudioNode
@@ -717,6 +723,7 @@ A change in volume. It is an AudioNode audio-processing module that causes a giv
717
723
  /**
718
724
  The IIRFilterNode interface of the Web Audio API is a AudioNode processor which implements a general infinite impulse response (IIR)  filter; this type of filter can be used to implement tone control devices and graphic equalizers as well. It lets the parameters of the filter response be specified, so that it can be tuned as needed.
719
725
  [See IIRFilterNode on MDN](https://developer.mozilla.org/docs/Web/API/IIRFilterNode)
726
+ TODO: mark as private once mutating fields of private records is allowed
720
727
  */
721
728
  @editor.completeFrom(IIRFilterNode) and iirFilterNode = {
722
729
  // Base properties from AudioNode
@@ -750,6 +757,7 @@ The IIRFilterNode interface of the Web Audio API is a AudioNode processor wh
750
757
  /**
751
758
  The OscillatorNode interface represents a periodic waveform, such as a sine wave. It is an AudioScheduledSourceNode audio-processing module that causes a specified frequency of a given wave to be created—in effect, a constant tone.
752
759
  [See OscillatorNode on MDN](https://developer.mozilla.org/docs/Web/API/OscillatorNode)
760
+ TODO: mark as private once mutating fields of private records is allowed
753
761
  */
754
762
  @editor.completeFrom(OscillatorNode) and oscillatorNode = {
755
763
  // Base properties from AudioScheduledSourceNode
@@ -800,6 +808,7 @@ The OscillatorNode interface represents a periodic waveform, such as a sine wav
800
808
  /**
801
809
  A PannerNode always has exactly one input and one output: the input can be mono or stereo but the output is always stereo (2 channels); you can't have panning effects without at least two audio channels!
802
810
  [See PannerNode on MDN](https://developer.mozilla.org/docs/Web/API/PannerNode)
811
+ TODO: mark as private once mutating fields of private records is allowed
803
812
  */
804
813
  @editor.completeFrom(PannerNode) and pannerNode = {
805
814
  // Base properties from AudioNode
@@ -890,6 +899,7 @@ A PannerNode always has exactly one input and one output: the input can be mono
890
899
  /**
891
900
  A node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations.
892
901
  [See AnalyserNode on MDN](https://developer.mozilla.org/docs/Web/API/AnalyserNode)
902
+ TODO: mark as private once mutating fields of private records is allowed
893
903
  */
894
904
  @editor.completeFrom(AnalyserNode)
895
905
  type analyserNode = {
@@ -921,14 +931,14 @@ PeriodicWave has no inputs or outputs; it is used to define custom oscillators w
921
931
  [See PeriodicWave on MDN](https://developer.mozilla.org/docs/Web/API/PeriodicWave)
922
932
  */
923
933
  @editor.completeFrom(PeriodicWave)
924
- type periodicWave = {}
934
+ type periodicWave = private {}
925
935
 
926
936
  /**
927
937
  The pan property takes a unitless value between -1 (full left pan) and 1 (full right pan). This interface was introduced as a much simpler way to apply a simple panning effect than having to use a full PannerNode.
928
938
  [See StereoPannerNode on MDN](https://developer.mozilla.org/docs/Web/API/StereoPannerNode)
929
939
  */
930
940
  @editor.completeFrom(StereoPannerNode)
931
- type stereoPannerNode = {
941
+ type stereoPannerNode = private {
932
942
  ...audioNode,
933
943
  /**
934
944
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StereoPannerNode/pan)
@@ -939,6 +949,7 @@ type stereoPannerNode = {
939
949
  /**
940
950
  A WaveShaperNode always has exactly one input and one output.
941
951
  [See WaveShaperNode on MDN](https://developer.mozilla.org/docs/Web/API/WaveShaperNode)
952
+ TODO: mark as private once mutating fields of private records is allowed
942
953
  */
943
954
  @editor.completeFrom(WaveShaperNode)
944
955
  type waveShaperNode = {
@@ -958,7 +969,7 @@ An audio-processing graph built from audio modules linked together, each represe
958
969
  [See AudioContext on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext)
959
970
  */
960
971
  @editor.completeFrom(AudioContext)
961
- type audioContext = {
972
+ type audioContext = private {
962
973
  ...baseAudioContext,
963
974
  /**
964
975
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/baseLatency)
@@ -975,12 +986,12 @@ A MediaElementSourceNode has no inputs and exactly one output, and is created us
975
986
  [See MediaElementAudioSourceNode on MDN](https://developer.mozilla.org/docs/Web/API/MediaElementAudioSourceNode)
976
987
  */
977
988
  @editor.completeFrom(MediaElementAudioSourceNode)
978
- type mediaElementAudioSourceNode = {
989
+ type mediaElementAudioSourceNode = private {
979
990
  ...audioNode,
980
991
  /**
981
992
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaElementAudioSourceNode/mediaElement)
982
993
  */
983
- mediaElement: htmlMediaElement,
994
+ mediaElement: DomTypes.htmlMediaElement,
984
995
  }
985
996
 
986
997
  /**
@@ -988,24 +999,24 @@ A type of AudioNode which operates as an audio source whose media is received fr
988
999
  [See MediaStreamAudioSourceNode on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioSourceNode)
989
1000
  */
990
1001
  @editor.completeFrom(MediaStreamAudioSourceNode)
991
- type mediaStreamAudioSourceNode = {
1002
+ type mediaStreamAudioSourceNode = private {
992
1003
  ...audioNode,
993
1004
  /**
994
1005
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioSourceNode/mediaStream)
995
1006
  */
996
- mediaStream: mediaStream,
1007
+ mediaStream: MediaCaptureAndStreamsTypes.mediaStream,
997
1008
  }
998
1009
 
999
1010
  /**
1000
1011
  [See MediaStreamAudioDestinationNode on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioDestinationNode)
1001
1012
  */
1002
1013
  @editor.completeFrom(MediaStreamAudioDestinationNode)
1003
- type mediaStreamAudioDestinationNode = {
1014
+ type mediaStreamAudioDestinationNode = private {
1004
1015
  ...audioNode,
1005
1016
  /**
1006
1017
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamAudioDestinationNode/stream)
1007
1018
  */
1008
- stream: mediaStream,
1019
+ stream: MediaCaptureAndStreamsTypes.mediaStream,
1009
1020
  }
1010
1021
 
1011
1022
  /**
@@ -1017,7 +1028,7 @@ type audioParamMap = {}
1017
1028
  [See AudioWorkletNode on MDN](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode)
1018
1029
  */
1019
1030
  @editor.completeFrom(AudioWorkletNode)
1020
- type audioWorkletNode = {
1031
+ type audioWorkletNode = private {
1021
1032
  ...audioNode,
1022
1033
  /**
1023
1034
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/parameters)
@@ -1026,7 +1037,7 @@ type audioWorkletNode = {
1026
1037
  /**
1027
1038
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/port)
1028
1039
  */
1029
- port: messagePort,
1040
+ port: ChannelMessagingTypes.messagePort,
1030
1041
  }
1031
1042
 
1032
1043
  /**
@@ -1034,7 +1045,7 @@ An AudioContext interface representing an audio-processing graph built from link
1034
1045
  [See OfflineAudioContext on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext)
1035
1046
  */
1036
1047
  @editor.completeFrom(OfflineAudioContext)
1037
- type offlineAudioContext = {
1048
+ type offlineAudioContext = private {
1038
1049
  ...baseAudioContext,
1039
1050
  /**
1040
1051
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OfflineAudioContext/length)
@@ -1060,17 +1071,17 @@ type doubleRange = {
1060
1071
  }
1061
1072
 
1062
1073
  type mediaTrackCapabilities = {
1063
- mutable width?: uLongRange,
1064
- mutable height?: uLongRange,
1065
- mutable aspectRatio?: doubleRange,
1066
- mutable frameRate?: doubleRange,
1074
+ mutable width?: MediaCaptureAndStreamsTypes.uLongRange,
1075
+ mutable height?: MediaCaptureAndStreamsTypes.uLongRange,
1076
+ mutable aspectRatio?: MediaCaptureAndStreamsTypes.doubleRange,
1077
+ mutable frameRate?: MediaCaptureAndStreamsTypes.doubleRange,
1067
1078
  mutable facingMode?: array<string>,
1068
- mutable sampleRate?: uLongRange,
1069
- mutable sampleSize?: uLongRange,
1079
+ mutable sampleRate?: MediaCaptureAndStreamsTypes.uLongRange,
1080
+ mutable sampleSize?: MediaCaptureAndStreamsTypes.uLongRange,
1070
1081
  mutable echoCancellation?: array<bool>,
1071
1082
  mutable autoGainControl?: array<bool>,
1072
1083
  mutable noiseSuppression?: array<bool>,
1073
- mutable channelCount?: uLongRange,
1084
+ mutable channelCount?: MediaCaptureAndStreamsTypes.uLongRange,
1074
1085
  mutable deviceId?: string,
1075
1086
  mutable groupId?: string,
1076
1087
  mutable backgroundBlur?: array<bool>,
@@ -1096,8 +1107,8 @@ type mediaTrackConstraintSet = {
1096
1107
  }
1097
1108
 
1098
1109
  type mediaTrackConstraints = {
1099
- ...mediaTrackConstraintSet,
1100
- mutable advanced?: array<mediaTrackConstraintSet>,
1110
+ ...MediaCaptureAndStreamsTypes.mediaTrackConstraintSet,
1111
+ mutable advanced?: array<MediaCaptureAndStreamsTypes.mediaTrackConstraintSet>,
1101
1112
  }
1102
1113
 
1103
1114
  type mediaTrackSettings = {
@@ -1125,14 +1136,14 @@ type audioBufferOptions = {
1125
1136
  }
1126
1137
 
1127
1138
  type audioProcessingEventInit = {
1128
- ...eventInit,
1139
+ ...EventTypes.eventInit,
1129
1140
  mutable playbackTime: float,
1130
1141
  mutable inputBuffer: audioBuffer,
1131
1142
  mutable outputBuffer: audioBuffer,
1132
1143
  }
1133
1144
 
1134
1145
  type offlineAudioCompletionEventInit = {
1135
- ...eventInit,
1146
+ ...EventTypes.eventInit,
1136
1147
  mutable renderedBuffer: audioBuffer,
1137
1148
  }
1138
1149
 
@@ -1260,16 +1271,18 @@ type audioContextOptions = {
1260
1271
  mutable sampleRate?: float,
1261
1272
  }
1262
1273
 
1263
- type mediaElementAudioSourceOptions = {mutable mediaElement: htmlMediaElement}
1274
+ type mediaElementAudioSourceOptions = {mutable mediaElement: DomTypes.htmlMediaElement}
1264
1275
 
1265
- type mediaStreamAudioSourceOptions = {mutable mediaStream: mediaStream}
1276
+ type mediaStreamAudioSourceOptions = {
1277
+ mutable mediaStream: MediaCaptureAndStreamsTypes.mediaStream,
1278
+ }
1266
1279
 
1267
1280
  type audioWorkletNodeOptions = {
1268
1281
  ...audioNodeOptions,
1269
1282
  mutable numberOfInputs?: int,
1270
1283
  mutable numberOfOutputs?: int,
1271
1284
  mutable outputChannelCount?: array<int>,
1272
- mutable parameterData?: any,
1285
+ mutable parameterData?: unknown,
1273
1286
  mutable processorOptions?: Dict.t<string>,
1274
1287
  }
1275
1288
 
@@ -1283,4 +1296,4 @@ type workletOptions = {mutable credentials?: requestCredentials}
1283
1296
 
1284
1297
  type decodeSuccessCallback = audioBuffer => unit
1285
1298
 
1286
- type decodeErrorCallback = domException => unit
1299
+ type decodeErrorCallback = DOM.domException => unit
@@ -1,5 +1,3 @@
1
- open WebAudioAPI
2
-
3
1
  /**
4
2
  Loads and executes the module script given by moduleURL into all of worklet's global scopes. It can also create additional global scopes as part of this process, depending on the worklet type. The returned promise will fulfill once the script has been successfully loaded and run in all global scopes.
5
3
 
@@ -9,5 +7,8 @@ Any failures in fetching the script or its dependencies will cause the returned
9
7
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Worklet/addModule)
10
8
  */
11
9
  @send
12
- external addModule: (worklet, ~moduleURL: string, ~options: workletOptions=?) => promise<unit> =
13
- "addModule"
10
+ external addModule: (
11
+ WebAudioTypes.worklet,
12
+ ~moduleURL: string,
13
+ ~options: WebAudioTypes.workletOptions=?,
14
+ ) => promise<unit> = "addModule"
@@ -1,13 +1,11 @@
1
- open WebCryptoAPI
2
-
3
1
  /**
4
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Crypto/getRandomValues)
5
3
  */
6
4
  @send
7
- external getRandomValues: (crypto, 't) => 't = "getRandomValues"
5
+ external getRandomValues: (WebCryptoTypes.crypto, 't) => 't = "getRandomValues"
8
6
 
9
7
  /**
10
8
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Crypto/randomUUID)
11
9
  */
12
10
  @send
13
- external randomUUID: crypto => string = "randomUUID"
11
+ external randomUUID: WebCryptoTypes.crypto => string = "randomUUID"