@rescript/webapi 0.1.0-alpha-b1d58f9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/package.json +61 -0
  4. package/rescript.json +557 -0
  5. package/src/animation/Animation.res +149 -0
  6. package/src/animation/AnimationEffect.res +71 -0
  7. package/src/animation/DocumentTimeline.res +8 -0
  8. package/src/canvas/Canvas.res +179 -0
  9. package/src/canvas/CanvasGradient.res +11 -0
  10. package/src/canvas/CanvasPattern.res +11 -0
  11. package/src/canvas/CanvasRenderingContext2D.res +868 -0
  12. package/src/canvas/CanvasTypes.res +452 -0
  13. package/src/canvas/FillStyle.res +25 -0
  14. package/src/canvas/HTMLCanvasElement.res +101 -0
  15. package/src/canvas/ImageBitmap.res +6 -0
  16. package/src/canvas/ImageBitmapRenderingContext.res +9 -0
  17. package/src/canvas/ImageData.res +17 -0
  18. package/src/canvas/OffscreenCanvas.res +87 -0
  19. package/src/canvas/Path2D.res +186 -0
  20. package/src/canvas/VideoColorSpace.res +11 -0
  21. package/src/canvas/VideoFrame.res +217 -0
  22. package/src/core/ArrayBufferTypedArrayOrDataView.res +4 -0
  23. package/src/core/DOM.res +1026 -0
  24. package/src/core/EventType.res +108 -0
  25. package/src/crypto/Crypto.res +11 -0
  26. package/src/crypto/SubtleCrypto.res +173 -0
  27. package/src/crypto/WebCryptoTypes.res +71 -0
  28. package/src/css-font-loading/BaseCSSFontLoading.res +24 -0
  29. package/src/css-font-loading/CssFontLoadingTypes.res +92 -0
  30. package/src/css-font-loading/FontFace.res +62 -0
  31. package/src/css-font-loading/FontFaceSet.res +38 -0
  32. package/src/cssom/CSSRuleList.res +5 -0
  33. package/src/cssom/CSSStyleDeclaration.res +1734 -0
  34. package/src/cssom/CSSStyleValue.res +17 -0
  35. package/src/cssom/MediaList.res +29 -0
  36. package/src/cssom/MediaQueryList.res +18 -0
  37. package/src/cssom/StylePropertyMap.res +56 -0
  38. package/src/cssom/StylePropertyMapReadOnly.res +22 -0
  39. package/src/cssom/StyleSheet.res +152 -0
  40. package/src/cssom/StyleSheetList.res +17 -0
  41. package/src/device/GamepadHapticActuator.res +16 -0
  42. package/src/device/GamepadTypes.res +86 -0
  43. package/src/device/Geolocation.res +31 -0
  44. package/src/device/GeolocationCoordinates.res +5 -0
  45. package/src/device/GeolocationPosition.res +5 -0
  46. package/src/device/GeolocationTypes.res +81 -0
  47. package/src/device/LockManager.res +26 -0
  48. package/src/device/ScreenOrientation.res +7 -0
  49. package/src/device/ScreenWakeLockTypes.res +26 -0
  50. package/src/device/WakeLock.res +8 -0
  51. package/src/device/WakeLockSentinel.res +7 -0
  52. package/src/device/WebLocksTypes.res +45 -0
  53. package/src/device/WebMIDI.res +7 -0
  54. package/src/device/WebMidiTypes.res +36 -0
  55. package/src/dom-nodes/AbstractRange.res +30 -0
  56. package/src/dom-nodes/Attr.res +101 -0
  57. package/src/dom-nodes/CDATASection.res +7 -0
  58. package/src/dom-nodes/CaretPosition.res +2 -0
  59. package/src/dom-nodes/CharacterData.res +199 -0
  60. package/src/dom-nodes/Comment.res +15 -0
  61. package/src/dom-nodes/DOMImplementation.res +131 -0
  62. package/src/dom-nodes/DOMTree.res +1653 -0
  63. package/src/dom-nodes/DocumentFragment.res +96 -0
  64. package/src/dom-nodes/Element.res +509 -0
  65. package/src/dom-nodes/ElementInternals.res +39 -0
  66. package/src/dom-nodes/HTML.res +11 -0
  67. package/src/dom-nodes/HTMLCollection.res +25 -0
  68. package/src/dom-nodes/NamedNodeMap.res +46 -0
  69. package/src/dom-nodes/Node.res +114 -0
  70. package/src/dom-nodes/NodeFilter.res +4 -0
  71. package/src/dom-nodes/NodeIterator.res +38 -0
  72. package/src/dom-nodes/NodeList.res +6 -0
  73. package/src/dom-nodes/ProcessingInstruction.res +15 -0
  74. package/src/dom-nodes/Range.res +156 -0
  75. package/src/dom-nodes/Selection.res +137 -0
  76. package/src/dom-nodes/ShadowRoot.res +23 -0
  77. package/src/dom-nodes/StaticRange.res +6 -0
  78. package/src/dom-nodes/Text.res +31 -0
  79. package/src/dom-nodes/TreeWalker.res +65 -0
  80. package/src/dom-platform/DOMException.res +7 -0
  81. package/src/dom-platform/DOMStringList.res +15 -0
  82. package/src/dom-platform/DOMStringMap.res +5 -0
  83. package/src/dom-platform/DOMTokenList.res +70 -0
  84. package/src/event/AbortController.res +9 -0
  85. package/src/event/AbortSignal.res +25 -0
  86. package/src/event/Event.res +76 -0
  87. package/src/event/EventTarget.res +91 -0
  88. package/src/event/ExtendableEvent.res +14 -0
  89. package/src/fetch/BodyInit.res +46 -0
  90. package/src/fetch/Fetch.res +12 -0
  91. package/src/fetch/FetchTypes.res +282 -0
  92. package/src/fetch/FormData.res +71 -0
  93. package/src/fetch/FormDataEntryValue.res +2 -0
  94. package/src/fetch/Headers.res +59 -0
  95. package/src/fetch/HeadersInit.res +16 -0
  96. package/src/fetch/Request.res +61 -0
  97. package/src/fetch/Response.res +127 -0
  98. package/src/file/BaseFileAndDirectoryEntries.res +72 -0
  99. package/src/file/Blob.res +48 -0
  100. package/src/file/File.res +15 -0
  101. package/src/file/FileAndDirectoryEntriesTypes.res +35 -0
  102. package/src/file/FileList.res +16 -0
  103. package/src/file/FileSystemDirectoryEntry.res +42 -0
  104. package/src/file/FileSystemDirectoryHandle.res +49 -0
  105. package/src/file/FileSystemDirectoryReader.res +9 -0
  106. package/src/file/FileSystemEntry.res +9 -0
  107. package/src/file/FileSystemFileHandle.res +25 -0
  108. package/src/file/FileSystemHandle.res +6 -0
  109. package/src/file/FileSystemWritableFileStream.res +65 -0
  110. package/src/file/FileTypes.res +225 -0
  111. package/src/file/ReadableStream.res +79 -0
  112. package/src/file/WritableStream.res +27 -0
  113. package/src/file/WritableStreamDefaultController.res +5 -0
  114. package/src/geometry/DOMMatrix.res +206 -0
  115. package/src/geometry/DOMMatrixReadOnly.res +140 -0
  116. package/src/geometry/DOMPoint.res +28 -0
  117. package/src/geometry/DOMPointReadOnly.res +22 -0
  118. package/src/geometry/DOMRect.res +22 -0
  119. package/src/geometry/DOMRectList.res +2 -0
  120. package/src/geometry/DOMRectReadOnly.res +19 -0
  121. package/src/html/HTMLAnchorElement.res +373 -0
  122. package/src/html/HTMLAreaElement.res +353 -0
  123. package/src/html/HTMLBRElement.res +9 -0
  124. package/src/html/HTMLBaseElement.res +20 -0
  125. package/src/html/HTMLBodyElement.res +9 -0
  126. package/src/html/HTMLButtonElement.res +98 -0
  127. package/src/html/HTMLDListElement.res +9 -0
  128. package/src/html/HTMLDataElement.res +14 -0
  129. package/src/html/HTMLDataListElement.res +14 -0
  130. package/src/html/HTMLDialogElement.res +40 -0
  131. package/src/html/HTMLDivElement.res +9 -0
  132. package/src/html/HTMLElement.res +108 -0
  133. package/src/html/HTMLEmbedElement.res +275 -0
  134. package/src/html/HTMLFieldSetElement.res +70 -0
  135. package/src/html/HTMLFormControlsCollection.res +21 -0
  136. package/src/html/HTMLFormElement.res +39 -0
  137. package/src/html/HTMLFrameSetElement.res +9 -0
  138. package/src/html/HTMLHRElement.res +9 -0
  139. package/src/html/HTMLHeadElement.res +256 -0
  140. package/src/html/HTMLHeadingElement.res +9 -0
  141. package/src/html/HTMLHtmlElement.res +9 -0
  142. package/src/html/HTMLIFrameElement.res +69 -0
  143. package/src/html/HTMLImageElement.res +349 -0
  144. package/src/html/HTMLInputElement.res +310 -0
  145. package/src/html/HTMLLIElement.res +9 -0
  146. package/src/html/HTMLLabelElement.res +25 -0
  147. package/src/html/HTMLLegendElement.res +14 -0
  148. package/src/html/HTMLLinkElement.res +69 -0
  149. package/src/html/HTMLMapElement.res +20 -0
  150. package/src/html/HTMLMenuElement.res +8 -0
  151. package/src/html/HTMLMetaElement.res +29 -0
  152. package/src/html/HTMLMeterElement.res +38 -0
  153. package/src/html/HTMLModElement.res +9 -0
  154. package/src/html/HTMLOListElement.res +24 -0
  155. package/src/html/HTMLObjectElement.res +89 -0
  156. package/src/html/HTMLOptGroupElement.res +19 -0
  157. package/src/html/HTMLOptionElement.res +49 -0
  158. package/src/html/HTMLOptionsCollection.res +35 -0
  159. package/src/html/HTMLOutputElement.res +73 -0
  160. package/src/html/HTMLParagraphElement.res +9 -0
  161. package/src/html/HTMLPictureElement.res +9 -0
  162. package/src/html/HTMLPreElement.res +9 -0
  163. package/src/html/HTMLProgressElement.res +29 -0
  164. package/src/html/HTMLQuoteElement.res +9 -0
  165. package/src/html/HTMLScriptElement.res +310 -0
  166. package/src/html/HTMLSelectElement.res +157 -0
  167. package/src/html/HTMLSlotElement.res +34 -0
  168. package/src/html/HTMLSourceElement.res +18 -0
  169. package/src/html/HTMLSpanElement.res +9 -0
  170. package/src/html/HTMLStyleElement.res +24 -0
  171. package/src/html/HTMLTableCaptionElement.res +9 -0
  172. package/src/html/HTMLTableCellElement.res +40 -0
  173. package/src/html/HTMLTableElement.res +100 -0
  174. package/src/html/HTMLTableRowElement.res +40 -0
  175. package/src/html/HTMLTableSectionElement.res +30 -0
  176. package/src/html/HTMLTemplateElement.res +31 -0
  177. package/src/html/HTMLTextAreaElement.res +177 -0
  178. package/src/html/HTMLTimeElement.res +14 -0
  179. package/src/html/HTMLTitleElement.res +15 -0
  180. package/src/html/HTMLUListElement.res +9 -0
  181. package/src/html/HTMLUnknownElement.res +9 -0
  182. package/src/media/BaseEncryptedMediaExtensions.res +97 -0
  183. package/src/media/DomHTMLMediaElement.res +206 -0
  184. package/src/media/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
  185. package/src/media/EncryptedMediaExtensionsTypes.res +43 -0
  186. package/src/media/HTMLAudioElement.res +9 -0
  187. package/src/media/HTMLTrackElement.res +14 -0
  188. package/src/media/HTMLVideoElement.res +78 -0
  189. package/src/media/MediaCapabilities.res +19 -0
  190. package/src/media/MediaCapabilitiesTypes.res +83 -0
  191. package/src/media/MediaCaptureAndStreamsTypes.res +197 -0
  192. package/src/media/MediaDeviceInfo.res +9 -0
  193. package/src/media/MediaDevices.res +40 -0
  194. package/src/media/MediaError.res +14 -0
  195. package/src/media/MediaKeySession.res +53 -0
  196. package/src/media/MediaKeyStatusMap.res +11 -0
  197. package/src/media/MediaKeySystemAccess.res +14 -0
  198. package/src/media/MediaKeys.res +35 -0
  199. package/src/media/MediaMetadata.res +10 -0
  200. package/src/media/MediaSession.res +25 -0
  201. package/src/media/MediaSessionTypes.res +85 -0
  202. package/src/media/MediaStream.res +89 -0
  203. package/src/media/MediaStreamTrack.res +51 -0
  204. package/src/media/PictureInPicture.res +7 -0
  205. package/src/media/PictureInPictureTypes.res +17 -0
  206. package/src/media/RemotePlayback.res +25 -0
  207. package/src/media/RemotePlaybackTypes.res +20 -0
  208. package/src/media/SpeechSynthesis.res +33 -0
  209. package/src/media/SpeechSynthesisUtterance.res +8 -0
  210. package/src/media/TextTrack.res +15 -0
  211. package/src/media/TextTrackCueList.res +9 -0
  212. package/src/media/TextTrackList.res +17 -0
  213. package/src/media/TimeRanges.res +29 -0
  214. package/src/media/VideoPlaybackQuality.res +18 -0
  215. package/src/media/WebSpeechTypes.res +83 -0
  216. package/src/media/WebVttTypes.res +123 -0
  217. package/src/messaging/ApplicationServerKey.res +2 -0
  218. package/src/messaging/ChannelMessagingTypes.res +12 -0
  219. package/src/messaging/CloseEvent.res +10 -0
  220. package/src/messaging/MessageEvent.res +43 -0
  221. package/src/messaging/MessagePort.res +38 -0
  222. package/src/messaging/Notification.res +46 -0
  223. package/src/messaging/NotificationTypes.res +107 -0
  224. package/src/messaging/PushEvent.res +3 -0
  225. package/src/messaging/PushManager.res +24 -0
  226. package/src/messaging/PushMessageData.res +15 -0
  227. package/src/messaging/PushSubscription.res +20 -0
  228. package/src/messaging/PushTypes.res +88 -0
  229. package/src/messaging/WebSocket.res +74 -0
  230. package/src/messaging/WebSocketsTypes.res +124 -0
  231. package/src/navigator/Clipboard.res +29 -0
  232. package/src/navigator/ClipboardItem.res +20 -0
  233. package/src/navigator/ClipboardTypes.res +31 -0
  234. package/src/navigator/CredentialManagementTypes.res +138 -0
  235. package/src/navigator/CredentialsContainer.res +33 -0
  236. package/src/navigator/Navigator.res +166 -0
  237. package/src/navigator/Permissions.res +10 -0
  238. package/src/navigator/PermissionsTypes.res +38 -0
  239. package/src/observers/IntersectionObserver.res +36 -0
  240. package/src/observers/IntersectionObserverRoot.res +23 -0
  241. package/src/observers/IntersectionObserverTypes.res +67 -0
  242. package/src/observers/MutationObserver.res +94 -0
  243. package/src/observers/ResizeObserver.res +30 -0
  244. package/src/observers/ResizeObserverTypes.res +56 -0
  245. package/src/performance/Performance.res +101 -0
  246. package/src/performance/PerformanceEntry.res +5 -0
  247. package/src/performance/PerformanceMark.res +16 -0
  248. package/src/performance/PerformanceTypes.res +86 -0
  249. package/src/storage/Cache.res +117 -0
  250. package/src/storage/CacheStorage.res +43 -0
  251. package/src/storage/CacheTypes.res +24 -0
  252. package/src/storage/IDBDatabase.res +54 -0
  253. package/src/storage/IDBFactory.res +34 -0
  254. package/src/storage/IDBIndex.res +83 -0
  255. package/src/storage/IDBObjectStore.res +183 -0
  256. package/src/storage/IDBTransaction.res +22 -0
  257. package/src/storage/IndexedDbTypes.res +213 -0
  258. package/src/storage/Storage.res +42 -0
  259. package/src/storage/StorageEvent.res +10 -0
  260. package/src/storage/StorageManager.res +24 -0
  261. package/src/storage/StorageTypes.res +11 -0
  262. package/src/storage/WebStorageTypes.res +57 -0
  263. package/src/svg/SVGElement.res +115 -0
  264. package/src/svg/SVGGraphicsElement.res +16 -0
  265. package/src/svg/SVGLength.res +9 -0
  266. package/src/ui-events/CompositionEvent.res +10 -0
  267. package/src/ui-events/DataTransfer.res +38 -0
  268. package/src/ui-events/DataTransferItem.res +21 -0
  269. package/src/ui-events/DataTransferItemList.res +34 -0
  270. package/src/ui-events/FocusEvent.res +10 -0
  271. package/src/ui-events/InputEvent.res +16 -0
  272. package/src/ui-events/KeyboardEvent.res +16 -0
  273. package/src/ui-events/MouseEvent.res +26 -0
  274. package/src/ui-events/PointerEvent.res +24 -0
  275. package/src/ui-events/Touch.res +5 -0
  276. package/src/ui-events/TouchEvent.res +10 -0
  277. package/src/ui-events/TouchList.res +5 -0
  278. package/src/ui-events/UIEvent.res +20 -0
  279. package/src/ui-events/UiEventsTypes.res +590 -0
  280. package/src/ui-events/WheelEvent.res +10 -0
  281. package/src/url/URL.res +38 -0
  282. package/src/url/URLSearchParams.res +104 -0
  283. package/src/url/UrlTypes.res +69 -0
  284. package/src/view-transitions/ViewTransition.res +5 -0
  285. package/src/view-transitions/ViewTransitionsTypes.res +22 -0
  286. package/src/web-audio/AnalyserNode.res +38 -0
  287. package/src/web-audio/AudioBuffer.res +33 -0
  288. package/src/web-audio/AudioBufferSourceNode.res +21 -0
  289. package/src/web-audio/AudioContext.res +59 -0
  290. package/src/web-audio/AudioDestinationNode.res +1 -0
  291. package/src/web-audio/AudioNode.res +76 -0
  292. package/src/web-audio/AudioParam.res +65 -0
  293. package/src/web-audio/AudioProcessingEvent.res +10 -0
  294. package/src/web-audio/AudioScheduledSourceNode.res +23 -0
  295. package/src/web-audio/AudioWorkletNode.res +11 -0
  296. package/src/web-audio/BaseAudioContext.res +141 -0
  297. package/src/web-audio/BiquadFilterNode.res +21 -0
  298. package/src/web-audio/ChannelMergerNode.res +10 -0
  299. package/src/web-audio/ChannelSplitterNode.res +10 -0
  300. package/src/web-audio/ConstantSourceNode.res +10 -0
  301. package/src/web-audio/ConvolverNode.res +10 -0
  302. package/src/web-audio/DelayNode.res +10 -0
  303. package/src/web-audio/DynamicsCompressorNode.res +10 -0
  304. package/src/web-audio/GainNode.res +10 -0
  305. package/src/web-audio/IIRFilterNode.res +21 -0
  306. package/src/web-audio/MediaElementAudioSourceNode.res +10 -0
  307. package/src/web-audio/MediaStreamAudioDestinationNode.res +10 -0
  308. package/src/web-audio/MediaStreamAudioSourceNode.res +10 -0
  309. package/src/web-audio/OfflineAudioCompletionEvent.res +10 -0
  310. package/src/web-audio/OfflineAudioContext.res +58 -0
  311. package/src/web-audio/OscillatorNode.res +17 -0
  312. package/src/web-audio/PannerNode.res +10 -0
  313. package/src/web-audio/PeriodicWave.res +8 -0
  314. package/src/web-audio/StereoPannerNode.res +10 -0
  315. package/src/web-audio/WaveShaperNode.res +10 -0
  316. package/src/web-audio/WebAudioTypes.res +1309 -0
  317. package/src/web-audio/Worklet.res +14 -0
  318. package/src/window/CustomElementRegistry.res +30 -0
  319. package/src/window/Document.res +470 -0
  320. package/src/window/DomGlobal.res +459 -0
  321. package/src/window/History.res +37 -0
  322. package/src/window/HistoryTypes.res +26 -0
  323. package/src/window/IdleDeadline.res +5 -0
  324. package/src/window/Location.res +108 -0
  325. package/src/window/VisualViewport.res +5 -0
  326. package/src/window/VisualViewportTypes.res +37 -0
  327. package/src/window/Window.res +556 -0
  328. package/src/window/XPathExpression.res +16 -0
  329. package/src/window/XPathResult.res +46 -0
  330. package/src/workers/Clients.res +39 -0
  331. package/src/workers/NavigationPreloadManager.res +26 -0
  332. package/src/workers/ServiceWorker.res +38 -0
  333. package/src/workers/ServiceWorkerContainer.res +34 -0
  334. package/src/workers/ServiceWorkerRegistration.res +32 -0
  335. package/src/workers/ServiceWorkerScope.res +12 -0
  336. package/src/workers/ServiceWorkerTypes.res +153 -0
  337. package/src/workers/SharedWorker.res +68 -0
  338. package/src/workers/SharedWorkerScope.res +29 -0
  339. package/src/workers/WebWorkersTypes.res +46 -0
  340. package/src/workers/Worker.res +48 -0
  341. package/src/workers/WorkerLocation.res +18 -0
@@ -0,0 +1,141 @@
1
+ module Impl = (
2
+ T: {
3
+ type t
4
+ },
5
+ ) => {
6
+ include EventTarget.Impl({type t = T.t})
7
+
8
+ external asBaseAudioContext: T.t => WebAudioTypes.baseAudioContext = "%identity"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser)
12
+ */
13
+ @send
14
+ external createAnalyser: T.t => WebAudioTypes.analyserNode = "createAnalyser"
15
+
16
+ /**
17
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter)
18
+ */
19
+ @send
20
+ external createBiquadFilter: T.t => WebAudioTypes.biquadFilterNode = "createBiquadFilter"
21
+
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer)
24
+ */
25
+ @throws(JsExn) @send
26
+ external createBuffer: (
27
+ T.t,
28
+ ~numberOfChannels: int,
29
+ ~length: int,
30
+ ~sampleRate: float,
31
+ ) => WebAudioTypes.audioBuffer = "createBuffer"
32
+
33
+ /**
34
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource)
35
+ */
36
+ @send
37
+ external createBufferSource: T.t => WebAudioTypes.audioBufferSourceNode = "createBufferSource"
38
+
39
+ /**
40
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger)
41
+ */
42
+ @send
43
+ external createChannelMerger: (T.t, ~numberOfInputs: int=?) => WebAudioTypes.channelMergerNode =
44
+ "createChannelMerger"
45
+
46
+ /**
47
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter)
48
+ */
49
+ @send
50
+ external createChannelSplitter: (
51
+ T.t,
52
+ ~numberOfOutputs: int=?,
53
+ ) => WebAudioTypes.channelSplitterNode = "createChannelSplitter"
54
+
55
+ /**
56
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource)
57
+ */
58
+ @send
59
+ external createConstantSource: T.t => WebAudioTypes.constantSourceNode = "createConstantSource"
60
+
61
+ /**
62
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver)
63
+ */
64
+ @send
65
+ external createConvolver: T.t => WebAudioTypes.convolverNode = "createConvolver"
66
+
67
+ /**
68
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay)
69
+ */
70
+ @send
71
+ external createDelay: (T.t, ~maxDelayTime: float=?) => WebAudioTypes.delayNode = "createDelay"
72
+
73
+ /**
74
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor)
75
+ */
76
+ @send
77
+ external createDynamicsCompressor: T.t => WebAudioTypes.dynamicsCompressorNode =
78
+ "createDynamicsCompressor"
79
+
80
+ /**
81
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain)
82
+ */
83
+ @send
84
+ external createGain: T.t => WebAudioTypes.gainNode = "createGain"
85
+
86
+ /**
87
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter)
88
+ */
89
+ @throws(JsExn) @send
90
+ external createIIRFilter: (
91
+ T.t,
92
+ ~feedforward: array<float>,
93
+ ~feedback: array<float>,
94
+ ) => WebAudioTypes.iirFilterNode = "createIIRFilter"
95
+
96
+ /**
97
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator)
98
+ */
99
+ @send
100
+ external createOscillator: T.t => WebAudioTypes.oscillatorNode = "createOscillator"
101
+
102
+ /**
103
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner)
104
+ */
105
+ @send
106
+ external createPanner: T.t => WebAudioTypes.pannerNode = "createPanner"
107
+
108
+ /**
109
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave)
110
+ */
111
+ @throws(JsExn) @send
112
+ external createPeriodicWave: (
113
+ T.t,
114
+ ~real: array<float>,
115
+ ~imag: array<float>,
116
+ ~constraints: WebAudioTypes.periodicWaveConstraints=?,
117
+ ) => WebAudioTypes.periodicWave = "createPeriodicWave"
118
+
119
+ /**
120
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner)
121
+ */
122
+ @send
123
+ external createStereoPanner: T.t => WebAudioTypes.stereoPannerNode = "createStereoPanner"
124
+
125
+ /**
126
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper)
127
+ */
128
+ @send
129
+ external createWaveShaper: T.t => WebAudioTypes.waveShaperNode = "createWaveShaper"
130
+
131
+ /**
132
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData)
133
+ */
134
+ @send
135
+ external decodeAudioData: (
136
+ T.t,
137
+ ~audioData: ArrayBuffer.t,
138
+ ~successCallback: WebAudioTypes.decodeSuccessCallback=?,
139
+ ~errorCallback: WebAudioTypes.decodeErrorCallback=?,
140
+ ) => promise<WebAudioTypes.audioBuffer> = "decodeAudioData"
141
+ }
@@ -0,0 +1,21 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.biquadFilterNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.biquadFilterOptions=?,
10
+ ) => WebAudioTypes.biquadFilterNode = "BiquadFilterNode"
11
+
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BiquadFilterNode/getFrequencyResponse)
14
+ */
15
+ @throws(JsExn) @send
16
+ external getFrequencyResponse: (
17
+ WebAudioTypes.biquadFilterNode,
18
+ ~frequencyHz: array<float>,
19
+ ~magResponse: array<float>,
20
+ ~phaseResponse: array<float>,
21
+ ) => unit = "getFrequencyResponse"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.channelMergerNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ChannelMergerNode)
5
+ */
6
+ @throws(JsExn) @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.channelMergerOptions=?,
10
+ ) => WebAudioTypes.channelMergerNode = "ChannelMergerNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.channelSplitterNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ChannelSplitterNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.channelSplitterOptions=?,
10
+ ) => WebAudioTypes.channelSplitterNode = "ChannelSplitterNode"
@@ -0,0 +1,10 @@
1
+ include AudioScheduledSourceNode.Impl({type t = WebAudioTypes.constantSourceNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ConstantSourceNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.constantSourceOptions=?,
10
+ ) => WebAudioTypes.constantSourceNode = "ConstantSourceNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.convolverNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ConvolverNode)
5
+ */
6
+ @throws(JsExn) @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.convolverOptions=?,
10
+ ) => WebAudioTypes.convolverNode = "ConvolverNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.delayNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DelayNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.delayOptions=?,
10
+ ) => WebAudioTypes.delayNode = "DelayNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.dynamicsCompressorNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DynamicsCompressorNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.dynamicsCompressorOptions=?,
10
+ ) => WebAudioTypes.dynamicsCompressorNode = "DynamicsCompressorNode"
@@ -0,0 +1,10 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.gainNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/GainNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.gainOptions=?,
10
+ ) => WebAudioTypes.gainNode = "GainNode"
@@ -0,0 +1,21 @@
1
+ include AudioNode.Impl({type t = WebAudioTypes.iirFilterNode})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/IIRFilterNode)
5
+ */
6
+ @new
7
+ external make: (
8
+ ~context: WebAudioTypes.baseAudioContext,
9
+ ~options: WebAudioTypes.iirFilterOptions,
10
+ ) => WebAudioTypes.iirFilterNode = "IIRFilterNode"
11
+
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/IIRFilterNode/getFrequencyResponse)
14
+ */
15
+ @throws(JsExn) @send
16
+ external getFrequencyResponse: (
17
+ WebAudioTypes.iirFilterNode,
18
+ ~frequencyHz: array<float>,
19
+ ~magResponse: array<float>,
20
+ ~phaseResponse: array<float>,
21
+ ) => unit = "getFrequencyResponse"
@@ -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
+ @throws(JsExn) @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
+ @throws(JsExn) @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"