@rescript/webapi 0.1.0-experimental-29b94b3

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 (281) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -0
  3. package/package.json +38 -0
  4. package/rescript.json +19 -0
  5. package/src/CSSFontLoadingAPI/FontFace.res +34 -0
  6. package/src/CSSFontLoadingAPI/FontFaceSet.res +112 -0
  7. package/src/CSSFontLoadingAPI.res +101 -0
  8. package/src/CanvasAPI/ImageBitmap.res +8 -0
  9. package/src/CanvasAPI/OffscreenCanvas.res +123 -0
  10. package/src/CanvasAPI.res +55 -0
  11. package/src/ChannelMessagingAPI/MessagePort.res +120 -0
  12. package/src/ChannelMessagingAPI.res +13 -0
  13. package/src/ClipboardAPI/Clipboard.res +106 -0
  14. package/src/ClipboardAPI/ClipboardItem.res +21 -0
  15. package/src/ClipboardAPI.res +31 -0
  16. package/src/CredentialManagementAPI/CredentialsContainer.res +31 -0
  17. package/src/CredentialManagementAPI.res +140 -0
  18. package/src/DOMAPI/Animation.res +137 -0
  19. package/src/DOMAPI/AnimationEffect.res +19 -0
  20. package/src/DOMAPI/CSSRuleList.res +7 -0
  21. package/src/DOMAPI/CSSStyleDeclaration.res +36 -0
  22. package/src/DOMAPI/CSSStyleSheet.res +32 -0
  23. package/src/DOMAPI/CSSStyleValue.res +13 -0
  24. package/src/DOMAPI/CaretPosition.res +4 -0
  25. package/src/DOMAPI/CharacterData.res +272 -0
  26. package/src/DOMAPI/Comment.res +278 -0
  27. package/src/DOMAPI/CustomElementRegistry.res +31 -0
  28. package/src/DOMAPI/DOMImplementation.res +30 -0
  29. package/src/DOMAPI/DOMMatrix.res +169 -0
  30. package/src/DOMAPI/DOMMatrixReadOnly.res +103 -0
  31. package/src/DOMAPI/DOMPoint.res +29 -0
  32. package/src/DOMAPI/DOMPointReadOnly.res +24 -0
  33. package/src/DOMAPI/DOMRect.res +23 -0
  34. package/src/DOMAPI/DOMRectList.res +4 -0
  35. package/src/DOMAPI/DOMRectReadOnly.res +17 -0
  36. package/src/DOMAPI/DOMTokenList.res +72 -0
  37. package/src/DOMAPI/Document.res +634 -0
  38. package/src/DOMAPI/DocumentFragment.res +261 -0
  39. package/src/DOMAPI/DocumentTimeline.res +9 -0
  40. package/src/DOMAPI/Element.res +634 -0
  41. package/src/DOMAPI/ElementInternals.res +39 -0
  42. package/src/DOMAPI/FileList.res +8 -0
  43. package/src/DOMAPI/HTMLAnchorElement.res +693 -0
  44. package/src/DOMAPI/HTMLAreaElement.res +687 -0
  45. package/src/DOMAPI/HTMLAudioElement.res +750 -0
  46. package/src/DOMAPI/HTMLBRElement.res +686 -0
  47. package/src/DOMAPI/HTMLBaseElement.res +687 -0
  48. package/src/DOMAPI/HTMLBodyElement.res +687 -0
  49. package/src/DOMAPI/HTMLButtonElement.res +714 -0
  50. package/src/DOMAPI/HTMLCanvasElement.res +741 -0
  51. package/src/DOMAPI/HTMLCollection.res +15 -0
  52. package/src/DOMAPI/HTMLCollectionOf.res +16 -0
  53. package/src/DOMAPI/HTMLDListElement.res +690 -0
  54. package/src/DOMAPI/HTMLDataElement.res +687 -0
  55. package/src/DOMAPI/HTMLDataListElement.res +697 -0
  56. package/src/DOMAPI/HTMLDialogElement.res +715 -0
  57. package/src/DOMAPI/HTMLDivElement.res +686 -0
  58. package/src/DOMAPI/HTMLElement.res +685 -0
  59. package/src/DOMAPI/HTMLEmbedElement.res +693 -0
  60. package/src/DOMAPI/HTMLFieldSetElement.res +718 -0
  61. package/src/DOMAPI/HTMLFormControlsCollection.res +16 -0
  62. package/src/DOMAPI/HTMLFormElement.res +720 -0
  63. package/src/DOMAPI/HTMLFrameSetElement.res +697 -0
  64. package/src/DOMAPI/HTMLHRElement.res +686 -0
  65. package/src/DOMAPI/HTMLHeadElement.res +687 -0
  66. package/src/DOMAPI/HTMLHeadingElement.res +693 -0
  67. package/src/DOMAPI/HTMLHtmlElement.res +687 -0
  68. package/src/DOMAPI/HTMLIFrameElement.res +696 -0
  69. package/src/DOMAPI/HTMLImageElement.res +696 -0
  70. package/src/DOMAPI/HTMLInputElement.res +773 -0
  71. package/src/DOMAPI/HTMLLIElement.res +686 -0
  72. package/src/DOMAPI/HTMLLabelElement.res +690 -0
  73. package/src/DOMAPI/HTMLLegendElement.res +693 -0
  74. package/src/DOMAPI/HTMLLinkElement.res +687 -0
  75. package/src/DOMAPI/HTMLMapElement.res +686 -0
  76. package/src/DOMAPI/HTMLMediaElement.res +749 -0
  77. package/src/DOMAPI/HTMLMenuElement.res +687 -0
  78. package/src/DOMAPI/HTMLMetaElement.res +687 -0
  79. package/src/DOMAPI/HTMLMeterElement.res +690 -0
  80. package/src/DOMAPI/HTMLModElement.res +686 -0
  81. package/src/DOMAPI/HTMLOListElement.res +690 -0
  82. package/src/DOMAPI/HTMLObjectElement.res +717 -0
  83. package/src/DOMAPI/HTMLOptGroupElement.res +697 -0
  84. package/src/DOMAPI/HTMLOptionElement.res +693 -0
  85. package/src/DOMAPI/HTMLOptionsCollection.res +21 -0
  86. package/src/DOMAPI/HTMLOutputElement.res +711 -0
  87. package/src/DOMAPI/HTMLParagraphElement.res +701 -0
  88. package/src/DOMAPI/HTMLPictureElement.res +693 -0
  89. package/src/DOMAPI/HTMLPreElement.res +686 -0
  90. package/src/DOMAPI/HTMLProgressElement.res +697 -0
  91. package/src/DOMAPI/HTMLQuoteElement.res +690 -0
  92. package/src/DOMAPI/HTMLScriptElement.res +699 -0
  93. package/src/DOMAPI/HTMLSelectElement.res +762 -0
  94. package/src/DOMAPI/HTMLSlotElement.res +713 -0
  95. package/src/DOMAPI/HTMLSourceElement.res +693 -0
  96. package/src/DOMAPI/HTMLSpanElement.res +687 -0
  97. package/src/DOMAPI/HTMLStyleElement.res +690 -0
  98. package/src/DOMAPI/HTMLTableCaptionElement.res +714 -0
  99. package/src/DOMAPI/HTMLTableCellElement.res +701 -0
  100. package/src/DOMAPI/HTMLTableElement.res +755 -0
  101. package/src/DOMAPI/HTMLTableRowElement.res +713 -0
  102. package/src/DOMAPI/HTMLTableSectionElement.res +730 -0
  103. package/src/DOMAPI/HTMLTemplateElement.res +697 -0
  104. package/src/DOMAPI/HTMLTextAreaElement.res +758 -0
  105. package/src/DOMAPI/HTMLTimeElement.res +687 -0
  106. package/src/DOMAPI/HTMLTitleElement.res +690 -0
  107. package/src/DOMAPI/HTMLTrackElement.res +690 -0
  108. package/src/DOMAPI/HTMLUListElement.res +690 -0
  109. package/src/DOMAPI/HTMLVideoElement.res +778 -0
  110. package/src/DOMAPI/IdleDeadline.res +7 -0
  111. package/src/DOMAPI/ImageData.res +18 -0
  112. package/src/DOMAPI/Location.res +22 -0
  113. package/src/DOMAPI/MediaList.res +19 -0
  114. package/src/DOMAPI/MediaQueryList.res +82 -0
  115. package/src/DOMAPI/NamedNodeMap.res +45 -0
  116. package/src/DOMAPI/Navigator.res +114 -0
  117. package/src/DOMAPI/Node.res +179 -0
  118. package/src/DOMAPI/NodeFilter.res +4 -0
  119. package/src/DOMAPI/NodeIterator.res +13 -0
  120. package/src/DOMAPI/NodeList.res +8 -0
  121. package/src/DOMAPI/NodeListOf.res +9 -0
  122. package/src/DOMAPI/Range.res +149 -0
  123. package/src/DOMAPI/SVGGraphicsElement.res +675 -0
  124. package/src/DOMAPI/SVGLength.res +11 -0
  125. package/src/DOMAPI/ScreenOrientation.res +88 -0
  126. package/src/DOMAPI/Selection.res +103 -0
  127. package/src/DOMAPI/ShadowRoot.res +274 -0
  128. package/src/DOMAPI/StylePropertyMap.res +50 -0
  129. package/src/DOMAPI/StylePropertyMapReadOnly.res +13 -0
  130. package/src/DOMAPI/StyleSheetList.res +7 -0
  131. package/src/DOMAPI/Text.res +285 -0
  132. package/src/DOMAPI/TextTrackList.res +89 -0
  133. package/src/DOMAPI/TimeRanges.res +19 -0
  134. package/src/DOMAPI/TreeWalker.res +43 -0
  135. package/src/DOMAPI/VideoColorSpace.res +13 -0
  136. package/src/DOMAPI/VideoFrame.res +111 -0
  137. package/src/DOMAPI/Window.res +582 -0
  138. package/src/DOMAPI/XPathExpression.res +12 -0
  139. package/src/DOMAPI/XPathResult.res +13 -0
  140. package/src/DOMAPI.res +9668 -0
  141. package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +132 -0
  142. package/src/EncryptedMediaExtensionsAPI/MediaKeyStatusMap.res +13 -0
  143. package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +13 -0
  144. package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +28 -0
  145. package/src/EncryptedMediaExtensionsAPI.res +100 -0
  146. package/src/EventAPI/AbortController.res +15 -0
  147. package/src/EventAPI/AbortSignal.res +106 -0
  148. package/src/EventAPI/Event.res +35 -0
  149. package/src/EventAPI/EventTarget.res +86 -0
  150. package/src/EventAPI.res +215 -0
  151. package/src/FetchAPI/FormData.res +58 -0
  152. package/src/FetchAPI/Headers.res +50 -0
  153. package/src/FetchAPI/Request.res +57 -0
  154. package/src/FetchAPI/Response.res +105 -0
  155. package/src/FetchAPI/URLSearchParams.res +68 -0
  156. package/src/FetchAPI.res +287 -0
  157. package/src/FileAPI/Blob.res +37 -0
  158. package/src/FileAPI/File.res +42 -0
  159. package/src/FileAPI/FileSystemDirectoryHandle.res +46 -0
  160. package/src/FileAPI/FileSystemFileHandle.res +23 -0
  161. package/src/FileAPI/FileSystemHandle.res +7 -0
  162. package/src/FileAPI/FileSystemWritableFileStream.res +63 -0
  163. package/src/FileAPI/ReadableStream.res +61 -0
  164. package/src/FileAPI/WritableStream.res +29 -0
  165. package/src/FileAPI/WritableStreamDefaultController.res +8 -0
  166. package/src/FileAPI.res +218 -0
  167. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +42 -0
  168. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +12 -0
  169. package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +11 -0
  170. package/src/FileAndDirectoryEntriesAPI.res +87 -0
  171. package/src/GamepadAPI/GamepadHapticActuator.res +17 -0
  172. package/src/GamepadAPI.res +85 -0
  173. package/src/GeolocationAPI/Geolocation.res +29 -0
  174. package/src/GeolocationAPI/GeolocationCoordinates.res +7 -0
  175. package/src/GeolocationAPI/GeolocationPosition.res +7 -0
  176. package/src/GeolocationAPI.res +78 -0
  177. package/src/Global.res +302 -0
  178. package/src/HistoryAPI/History.res +33 -0
  179. package/src/HistoryAPI.res +26 -0
  180. package/src/IndexedDBAPI/IDBDatabase.res +135 -0
  181. package/src/IndexedDBAPI/IDBFactory.res +31 -0
  182. package/src/IndexedDBAPI/IDBIndex.res +74 -0
  183. package/src/IndexedDBAPI/IDBObjectStore.res +167 -0
  184. package/src/IndexedDBAPI/IDBTransaction.res +102 -0
  185. package/src/IndexedDBAPI.res +205 -0
  186. package/src/MediaCapabilitiesAPI/MediaCapabilities.res +19 -0
  187. package/src/MediaCapabilitiesAPI.res +81 -0
  188. package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +7 -0
  189. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +113 -0
  190. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +142 -0
  191. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +122 -0
  192. package/src/MediaCaptureAndStreamsAPI.res +194 -0
  193. package/src/MediaSessionAPI/MediaMetadata.res +7 -0
  194. package/src/MediaSessionAPI/MediaSession.res +17 -0
  195. package/src/MediaSessionAPI.res +83 -0
  196. package/src/NotificationAPI/Notification.res +102 -0
  197. package/src/NotificationAPI.res +82 -0
  198. package/src/PerformanceAPI/Performance.res +169 -0
  199. package/src/PerformanceAPI/PerformanceEntry.res +7 -0
  200. package/src/PerformanceAPI/PerformanceMark.res +15 -0
  201. package/src/PerformanceAPI.res +86 -0
  202. package/src/PermissionsAPI/Permissions.res +7 -0
  203. package/src/PermissionsAPI.res +39 -0
  204. package/src/PictureInPicture.res +18 -0
  205. package/src/PictureInPictureAPI.res +18 -0
  206. package/src/Prelude/DOMException.res +7 -0
  207. package/src/Prelude/DOMStringList.res +15 -0
  208. package/src/Prelude.res +39 -0
  209. package/src/PushManagerAPI/PushManager.res +25 -0
  210. package/src/PushManagerAPI/PushSubscription.res +19 -0
  211. package/src/PushManagerAPI.res +67 -0
  212. package/src/RemotePlaybackAPI/RemotePlayback.res +102 -0
  213. package/src/RemotePlaybackAPI.res +21 -0
  214. package/src/ResizeObserverAPI/ResizeObserver.res +27 -0
  215. package/src/ResizeObserverAPI.res +58 -0
  216. package/src/ScreenWakeLockAPI/WakeLock.res +7 -0
  217. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +88 -0
  218. package/src/ScreenWakeLockAPI.res +26 -0
  219. package/src/ServiceWorkerAPI/Cache.res +100 -0
  220. package/src/ServiceWorkerAPI/CacheStorage.res +46 -0
  221. package/src/ServiceWorkerAPI/NavigationPreloadManager.res +25 -0
  222. package/src/ServiceWorkerAPI/ServiceWorker.res +101 -0
  223. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +114 -0
  224. package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +114 -0
  225. package/src/ServiceWorkerAPI.res +134 -0
  226. package/src/StorageAPI/StorageManager.res +26 -0
  227. package/src/StorageAPI.res +10 -0
  228. package/src/ViewTransitionsAPI/ViewTransition.res +7 -0
  229. package/src/ViewTransitionsAPI.res +23 -0
  230. package/src/VisualViewportAPI.res +38 -0
  231. package/src/WebAudioAPI/AnalyserNode.res +180 -0
  232. package/src/WebAudioAPI/AudioBuffer.res +35 -0
  233. package/src/WebAudioAPI/AudioBufferSourceNode.res +183 -0
  234. package/src/WebAudioAPI/AudioContext.res +266 -0
  235. package/src/WebAudioAPI/AudioListener.res +1 -0
  236. package/src/WebAudioAPI/AudioNode.res +143 -0
  237. package/src/WebAudioAPI/AudioParam.res +56 -0
  238. package/src/WebAudioAPI/AudioProcessingEvent.res +38 -0
  239. package/src/WebAudioAPI/AudioScheduledSourceNode.res +171 -0
  240. package/src/WebAudioAPI/AudioWorkletNode.res +160 -0
  241. package/src/WebAudioAPI/BaseAudioContext.res +212 -0
  242. package/src/WebAudioAPI/BiquadFilterNode.res +168 -0
  243. package/src/WebAudioAPI/ChannelMergerNode.res +157 -0
  244. package/src/WebAudioAPI/ChannelSplitterNode.res +159 -0
  245. package/src/WebAudioAPI/ConstantSourceNode.res +172 -0
  246. package/src/WebAudioAPI/ConvolverNode.res +157 -0
  247. package/src/WebAudioAPI/DelayNode.res +150 -0
  248. package/src/WebAudioAPI/DynamicsCompressorNode.res +162 -0
  249. package/src/WebAudioAPI/GainNode.res +149 -0
  250. package/src/WebAudioAPI/IIRFilterNode.res +168 -0
  251. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +168 -0
  252. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +168 -0
  253. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +168 -0
  254. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +40 -0
  255. package/src/WebAudioAPI/OfflineAudioContext.res +246 -0
  256. package/src/WebAudioAPI/OscillatorNode.res +176 -0
  257. package/src/WebAudioAPI/PannerNode.res +150 -0
  258. package/src/WebAudioAPI/PeriodicWave.res +8 -0
  259. package/src/WebAudioAPI/StereoPannerNode.res +157 -0
  260. package/src/WebAudioAPI/WaveShaperNode.res +157 -0
  261. package/src/WebAudioAPI/Worklet.res +13 -0
  262. package/src/WebAudioAPI.res +1271 -0
  263. package/src/WebCryptoAPI/Crypto.res +13 -0
  264. package/src/WebCryptoAPI/SubtleCrypto.res +173 -0
  265. package/src/WebCryptoAPI.res +71 -0
  266. package/src/WebLocksAPI/LockManager.res +29 -0
  267. package/src/WebLocksAPI.res +47 -0
  268. package/src/WebMIDIAPI.res +37 -0
  269. package/src/WebSocketsAPI/CloseEvent.res +37 -0
  270. package/src/WebSocketsAPI/MessageEvent.res +38 -0
  271. package/src/WebSocketsAPI/WebSocket.res +130 -0
  272. package/src/WebSocketsAPI.res +125 -0
  273. package/src/WebSpeechAPI/SpeechSynthesis.res +112 -0
  274. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +88 -0
  275. package/src/WebSpeechAPI.res +82 -0
  276. package/src/WebStorageAPI/Storage.res +44 -0
  277. package/src/WebStorageAPI/StorageEvent.res +37 -0
  278. package/src/WebStorageAPI.res +57 -0
  279. package/src/WebVTTAPI/TextTrack.res +96 -0
  280. package/src/WebVTTAPI/TextTrackCueList.res +10 -0
  281. package/src/WebVTTAPI.res +122 -0
@@ -0,0 +1,38 @@
1
+ open EventAPI
2
+ open WebAudioAPI
3
+
4
+ /**
5
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent)
6
+ */
7
+ @new
8
+ external make: (~type_: string, ~eventInitDict: audioProcessingEventInit) => audioProcessingEvent =
9
+ "AudioProcessingEvent"
10
+
11
+ external asEvent: audioProcessingEvent => event = "%identity"
12
+ /**
13
+ Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is "closed" that are not reachable from event's currentTarget.
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/composedPath)
15
+ */
16
+ @send
17
+ external composedPath: audioProcessingEvent => array<eventTarget> = "composedPath"
18
+
19
+ /**
20
+ When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.
21
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/stopPropagation)
22
+ */
23
+ @send
24
+ external stopPropagation: audioProcessingEvent => unit = "stopPropagation"
25
+
26
+ /**
27
+ Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.
28
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation)
29
+ */
30
+ @send
31
+ external stopImmediatePropagation: audioProcessingEvent => unit = "stopImmediatePropagation"
32
+
33
+ /**
34
+ If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/preventDefault)
36
+ */
37
+ @send
38
+ external preventDefault: audioProcessingEvent => unit = "preventDefault"
@@ -0,0 +1,171 @@
1
+ open EventAPI
2
+ open WebAudioAPI
3
+
4
+ external asAudioNode: audioScheduledSourceNode => audioNode = "%identity"
5
+ external asEventTarget: audioScheduledSourceNode => eventTarget = "%identity"
6
+ /**
7
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
8
+
9
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
10
+
11
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
12
+
13
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
14
+
15
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
16
+
17
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
18
+
19
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
21
+ */
22
+ @send
23
+ external addEventListener: (
24
+ audioScheduledSourceNode,
25
+ ~type_: eventType,
26
+ ~callback: eventListener<'event>,
27
+ ~options: addEventListenerOptions=?,
28
+ ) => unit = "addEventListener"
29
+
30
+ /**
31
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
32
+
33
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
34
+
35
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
36
+
37
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
38
+
39
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
40
+
41
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
42
+
43
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
44
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
45
+ */
46
+ @send
47
+ external addEventListener2: (
48
+ audioScheduledSourceNode,
49
+ ~type_: eventType,
50
+ ~callback: eventListener<'event>,
51
+ ~options: bool=?,
52
+ ) => unit = "addEventListener"
53
+
54
+ /**
55
+ Removes the event listener in target's event listener list with the same type, callback, and options.
56
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
57
+ */
58
+ @send
59
+ external removeEventListener: (
60
+ audioScheduledSourceNode,
61
+ ~type_: eventType,
62
+ ~callback: eventListener<'event>,
63
+ ~options: eventListenerOptions=?,
64
+ ) => unit = "removeEventListener"
65
+
66
+ /**
67
+ Removes the event listener in target's event listener list with the same type, callback, and options.
68
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
69
+ */
70
+ @send
71
+ external removeEventListener2: (
72
+ audioScheduledSourceNode,
73
+ ~type_: eventType,
74
+ ~callback: eventListener<'event>,
75
+ ~options: bool=?,
76
+ ) => unit = "removeEventListener"
77
+
78
+ /**
79
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
80
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
81
+ */
82
+ @send
83
+ external dispatchEvent: (audioScheduledSourceNode, event) => bool = "dispatchEvent"
84
+
85
+ /**
86
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
87
+ */
88
+ @send
89
+ external connect: (
90
+ audioScheduledSourceNode,
91
+ ~destinationNode: audioNode,
92
+ ~output: int=?,
93
+ ~input: int=?,
94
+ ) => audioNode = "connect"
95
+
96
+ /**
97
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
98
+ */
99
+ @send
100
+ external connect2: (
101
+ audioScheduledSourceNode,
102
+ ~destinationParam: audioParam,
103
+ ~output: int=?,
104
+ ) => unit = "connect"
105
+
106
+ /**
107
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
108
+ */
109
+ @send
110
+ external disconnect: audioScheduledSourceNode => unit = "disconnect"
111
+
112
+ /**
113
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
114
+ */
115
+ @send
116
+ external disconnect2: (audioScheduledSourceNode, int) => unit = "disconnect"
117
+
118
+ /**
119
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
120
+ */
121
+ @send
122
+ external disconnect3: (audioScheduledSourceNode, audioNode) => unit = "disconnect"
123
+
124
+ /**
125
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
126
+ */
127
+ @send
128
+ external disconnect4: (
129
+ audioScheduledSourceNode,
130
+ ~destinationNode: audioNode,
131
+ ~output: int,
132
+ ) => unit = "disconnect"
133
+
134
+ /**
135
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
136
+ */
137
+ @send
138
+ external disconnect5: (
139
+ audioScheduledSourceNode,
140
+ ~destinationNode: audioNode,
141
+ ~output: int,
142
+ ~input: int,
143
+ ) => unit = "disconnect"
144
+
145
+ /**
146
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
147
+ */
148
+ @send
149
+ external disconnect6: (audioScheduledSourceNode, audioParam) => unit = "disconnect"
150
+
151
+ /**
152
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
153
+ */
154
+ @send
155
+ external disconnect7: (
156
+ audioScheduledSourceNode,
157
+ ~destinationParam: audioParam,
158
+ ~output: int,
159
+ ) => unit = "disconnect"
160
+
161
+ /**
162
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/start)
163
+ */
164
+ @send
165
+ external start: (audioScheduledSourceNode, ~when_: float=?) => unit = "start"
166
+
167
+ /**
168
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/stop)
169
+ */
170
+ @send
171
+ external stop: (audioScheduledSourceNode, ~when_: float=?) => unit = "stop"
@@ -0,0 +1,160 @@
1
+ open EventAPI
2
+ open WebAudioAPI
3
+
4
+ /**
5
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode)
6
+ */
7
+ @new
8
+ external make: (
9
+ ~context: baseAudioContext,
10
+ ~name: string,
11
+ ~options: audioWorkletNodeOptions=?,
12
+ ) => audioWorkletNode = "AudioWorkletNode"
13
+
14
+ external asAudioNode: audioWorkletNode => audioNode = "%identity"
15
+ external asEventTarget: audioWorkletNode => eventTarget = "%identity"
16
+ /**
17
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
18
+
19
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
20
+
21
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
22
+
23
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
24
+
25
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
26
+
27
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
28
+
29
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
30
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
31
+ */
32
+ @send
33
+ external addEventListener: (
34
+ audioWorkletNode,
35
+ ~type_: eventType,
36
+ ~callback: eventListener<'event>,
37
+ ~options: addEventListenerOptions=?,
38
+ ) => unit = "addEventListener"
39
+
40
+ /**
41
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
42
+
43
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
44
+
45
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
46
+
47
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
48
+
49
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
50
+
51
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
52
+
53
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
54
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
55
+ */
56
+ @send
57
+ external addEventListener2: (
58
+ audioWorkletNode,
59
+ ~type_: eventType,
60
+ ~callback: eventListener<'event>,
61
+ ~options: bool=?,
62
+ ) => unit = "addEventListener"
63
+
64
+ /**
65
+ Removes the event listener in target's event listener list with the same type, callback, and options.
66
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
67
+ */
68
+ @send
69
+ external removeEventListener: (
70
+ audioWorkletNode,
71
+ ~type_: eventType,
72
+ ~callback: eventListener<'event>,
73
+ ~options: eventListenerOptions=?,
74
+ ) => unit = "removeEventListener"
75
+
76
+ /**
77
+ Removes the event listener in target's event listener list with the same type, callback, and options.
78
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
79
+ */
80
+ @send
81
+ external removeEventListener2: (
82
+ audioWorkletNode,
83
+ ~type_: eventType,
84
+ ~callback: eventListener<'event>,
85
+ ~options: bool=?,
86
+ ) => unit = "removeEventListener"
87
+
88
+ /**
89
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
90
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
91
+ */
92
+ @send
93
+ external dispatchEvent: (audioWorkletNode, event) => bool = "dispatchEvent"
94
+
95
+ /**
96
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
97
+ */
98
+ @send
99
+ external connect: (
100
+ audioWorkletNode,
101
+ ~destinationNode: audioNode,
102
+ ~output: int=?,
103
+ ~input: int=?,
104
+ ) => audioNode = "connect"
105
+
106
+ /**
107
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
108
+ */
109
+ @send
110
+ external connect2: (audioWorkletNode, ~destinationParam: audioParam, ~output: int=?) => unit =
111
+ "connect"
112
+
113
+ /**
114
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
115
+ */
116
+ @send
117
+ external disconnect: audioWorkletNode => unit = "disconnect"
118
+
119
+ /**
120
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
121
+ */
122
+ @send
123
+ external disconnect2: (audioWorkletNode, int) => unit = "disconnect"
124
+
125
+ /**
126
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
127
+ */
128
+ @send
129
+ external disconnect3: (audioWorkletNode, audioNode) => unit = "disconnect"
130
+
131
+ /**
132
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
133
+ */
134
+ @send
135
+ external disconnect4: (audioWorkletNode, ~destinationNode: audioNode, ~output: int) => unit =
136
+ "disconnect"
137
+
138
+ /**
139
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
140
+ */
141
+ @send
142
+ external disconnect5: (
143
+ audioWorkletNode,
144
+ ~destinationNode: audioNode,
145
+ ~output: int,
146
+ ~input: int,
147
+ ) => unit = "disconnect"
148
+
149
+ /**
150
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
151
+ */
152
+ @send
153
+ external disconnect6: (audioWorkletNode, audioParam) => unit = "disconnect"
154
+
155
+ /**
156
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
157
+ */
158
+ @send
159
+ external disconnect7: (audioWorkletNode, ~destinationParam: audioParam, ~output: int) => unit =
160
+ "disconnect"
@@ -0,0 +1,212 @@
1
+ open EventAPI
2
+ open WebAudioAPI
3
+
4
+ external asEventTarget: baseAudioContext => eventTarget = "%identity"
5
+ /**
6
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
7
+
8
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
9
+
10
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
11
+
12
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
13
+
14
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
15
+
16
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
17
+
18
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
20
+ */
21
+ @send
22
+ external addEventListener: (
23
+ baseAudioContext,
24
+ ~type_: eventType,
25
+ ~callback: eventListener<'event>,
26
+ ~options: addEventListenerOptions=?,
27
+ ) => unit = "addEventListener"
28
+
29
+ /**
30
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
31
+
32
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
33
+
34
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
35
+
36
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
37
+
38
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
39
+
40
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
41
+
42
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
43
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
44
+ */
45
+ @send
46
+ external addEventListener2: (
47
+ baseAudioContext,
48
+ ~type_: eventType,
49
+ ~callback: eventListener<'event>,
50
+ ~options: bool=?,
51
+ ) => unit = "addEventListener"
52
+
53
+ /**
54
+ Removes the event listener in target's event listener list with the same type, callback, and options.
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
56
+ */
57
+ @send
58
+ external removeEventListener: (
59
+ baseAudioContext,
60
+ ~type_: eventType,
61
+ ~callback: eventListener<'event>,
62
+ ~options: eventListenerOptions=?,
63
+ ) => unit = "removeEventListener"
64
+
65
+ /**
66
+ Removes the event listener in target's event listener list with the same type, callback, and options.
67
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
68
+ */
69
+ @send
70
+ external removeEventListener2: (
71
+ baseAudioContext,
72
+ ~type_: eventType,
73
+ ~callback: eventListener<'event>,
74
+ ~options: bool=?,
75
+ ) => unit = "removeEventListener"
76
+
77
+ /**
78
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
79
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
80
+ */
81
+ @send
82
+ external dispatchEvent: (baseAudioContext, event) => bool = "dispatchEvent"
83
+
84
+ /**
85
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser)
86
+ */
87
+ @send
88
+ external createAnalyser: baseAudioContext => analyserNode = "createAnalyser"
89
+
90
+ /**
91
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter)
92
+ */
93
+ @send
94
+ external createBiquadFilter: baseAudioContext => biquadFilterNode = "createBiquadFilter"
95
+
96
+ /**
97
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer)
98
+ */
99
+ @send
100
+ external createBuffer: (
101
+ baseAudioContext,
102
+ ~numberOfChannels: int,
103
+ ~length: int,
104
+ ~sampleRate: float,
105
+ ) => audioBuffer = "createBuffer"
106
+
107
+ /**
108
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource)
109
+ */
110
+ @send
111
+ external createBufferSource: baseAudioContext => audioBufferSourceNode = "createBufferSource"
112
+
113
+ /**
114
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger)
115
+ */
116
+ @send
117
+ external createChannelMerger: (baseAudioContext, ~numberOfInputs: int=?) => channelMergerNode =
118
+ "createChannelMerger"
119
+
120
+ /**
121
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter)
122
+ */
123
+ @send
124
+ external createChannelSplitter: (baseAudioContext, ~numberOfOutputs: int=?) => channelSplitterNode =
125
+ "createChannelSplitter"
126
+
127
+ /**
128
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource)
129
+ */
130
+ @send
131
+ external createConstantSource: baseAudioContext => constantSourceNode = "createConstantSource"
132
+
133
+ /**
134
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver)
135
+ */
136
+ @send
137
+ external createConvolver: baseAudioContext => convolverNode = "createConvolver"
138
+
139
+ /**
140
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay)
141
+ */
142
+ @send
143
+ external createDelay: (baseAudioContext, ~maxDelayTime: float=?) => delayNode = "createDelay"
144
+
145
+ /**
146
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor)
147
+ */
148
+ @send
149
+ external createDynamicsCompressor: baseAudioContext => dynamicsCompressorNode =
150
+ "createDynamicsCompressor"
151
+
152
+ /**
153
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain)
154
+ */
155
+ @send
156
+ external createGain: baseAudioContext => gainNode = "createGain"
157
+
158
+ /**
159
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter)
160
+ */
161
+ @send
162
+ external createIIRFilter: (
163
+ baseAudioContext,
164
+ ~feedforward: array<float>,
165
+ ~feedback: array<float>,
166
+ ) => iirFilterNode = "createIIRFilter"
167
+
168
+ /**
169
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator)
170
+ */
171
+ @send
172
+ external createOscillator: baseAudioContext => oscillatorNode = "createOscillator"
173
+
174
+ /**
175
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner)
176
+ */
177
+ @send
178
+ external createPanner: baseAudioContext => pannerNode = "createPanner"
179
+
180
+ /**
181
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave)
182
+ */
183
+ @send
184
+ external createPeriodicWave: (
185
+ baseAudioContext,
186
+ ~real: array<float>,
187
+ ~imag: array<float>,
188
+ ~constraints: periodicWaveConstraints=?,
189
+ ) => periodicWave = "createPeriodicWave"
190
+
191
+ /**
192
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner)
193
+ */
194
+ @send
195
+ external createStereoPanner: baseAudioContext => stereoPannerNode = "createStereoPanner"
196
+
197
+ /**
198
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper)
199
+ */
200
+ @send
201
+ external createWaveShaper: baseAudioContext => waveShaperNode = "createWaveShaper"
202
+
203
+ /**
204
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData)
205
+ */
206
+ @send
207
+ external decodeAudioData: (
208
+ baseAudioContext,
209
+ ~audioData: ArrayBuffer.t,
210
+ ~successCallback: decodeSuccessCallback=?,
211
+ ~errorCallback: decodeErrorCallback=?,
212
+ ) => Promise.t<audioBuffer> = "decodeAudioData"