@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.
- package/LICENSE +21 -0
- package/README.md +35 -0
- package/package.json +61 -0
- package/rescript.json +557 -0
- package/src/animation/Animation.res +149 -0
- package/src/animation/AnimationEffect.res +71 -0
- package/src/animation/DocumentTimeline.res +8 -0
- package/src/canvas/Canvas.res +179 -0
- package/src/canvas/CanvasGradient.res +11 -0
- package/src/canvas/CanvasPattern.res +11 -0
- package/src/canvas/CanvasRenderingContext2D.res +868 -0
- package/src/canvas/CanvasTypes.res +452 -0
- package/src/canvas/FillStyle.res +25 -0
- package/src/canvas/HTMLCanvasElement.res +101 -0
- package/src/canvas/ImageBitmap.res +6 -0
- package/src/canvas/ImageBitmapRenderingContext.res +9 -0
- package/src/canvas/ImageData.res +17 -0
- package/src/canvas/OffscreenCanvas.res +87 -0
- package/src/canvas/Path2D.res +186 -0
- package/src/canvas/VideoColorSpace.res +11 -0
- package/src/canvas/VideoFrame.res +217 -0
- package/src/core/ArrayBufferTypedArrayOrDataView.res +4 -0
- package/src/core/DOM.res +1026 -0
- package/src/core/EventType.res +108 -0
- package/src/crypto/Crypto.res +11 -0
- package/src/crypto/SubtleCrypto.res +173 -0
- package/src/crypto/WebCryptoTypes.res +71 -0
- package/src/css-font-loading/BaseCSSFontLoading.res +24 -0
- package/src/css-font-loading/CssFontLoadingTypes.res +92 -0
- package/src/css-font-loading/FontFace.res +62 -0
- package/src/css-font-loading/FontFaceSet.res +38 -0
- package/src/cssom/CSSRuleList.res +5 -0
- package/src/cssom/CSSStyleDeclaration.res +1734 -0
- package/src/cssom/CSSStyleValue.res +17 -0
- package/src/cssom/MediaList.res +29 -0
- package/src/cssom/MediaQueryList.res +18 -0
- package/src/cssom/StylePropertyMap.res +56 -0
- package/src/cssom/StylePropertyMapReadOnly.res +22 -0
- package/src/cssom/StyleSheet.res +152 -0
- package/src/cssom/StyleSheetList.res +17 -0
- package/src/device/GamepadHapticActuator.res +16 -0
- package/src/device/GamepadTypes.res +86 -0
- package/src/device/Geolocation.res +31 -0
- package/src/device/GeolocationCoordinates.res +5 -0
- package/src/device/GeolocationPosition.res +5 -0
- package/src/device/GeolocationTypes.res +81 -0
- package/src/device/LockManager.res +26 -0
- package/src/device/ScreenOrientation.res +7 -0
- package/src/device/ScreenWakeLockTypes.res +26 -0
- package/src/device/WakeLock.res +8 -0
- package/src/device/WakeLockSentinel.res +7 -0
- package/src/device/WebLocksTypes.res +45 -0
- package/src/device/WebMIDI.res +7 -0
- package/src/device/WebMidiTypes.res +36 -0
- package/src/dom-nodes/AbstractRange.res +30 -0
- package/src/dom-nodes/Attr.res +101 -0
- package/src/dom-nodes/CDATASection.res +7 -0
- package/src/dom-nodes/CaretPosition.res +2 -0
- package/src/dom-nodes/CharacterData.res +199 -0
- package/src/dom-nodes/Comment.res +15 -0
- package/src/dom-nodes/DOMImplementation.res +131 -0
- package/src/dom-nodes/DOMTree.res +1653 -0
- package/src/dom-nodes/DocumentFragment.res +96 -0
- package/src/dom-nodes/Element.res +509 -0
- package/src/dom-nodes/ElementInternals.res +39 -0
- package/src/dom-nodes/HTML.res +11 -0
- package/src/dom-nodes/HTMLCollection.res +25 -0
- package/src/dom-nodes/NamedNodeMap.res +46 -0
- package/src/dom-nodes/Node.res +114 -0
- package/src/dom-nodes/NodeFilter.res +4 -0
- package/src/dom-nodes/NodeIterator.res +38 -0
- package/src/dom-nodes/NodeList.res +6 -0
- package/src/dom-nodes/ProcessingInstruction.res +15 -0
- package/src/dom-nodes/Range.res +156 -0
- package/src/dom-nodes/Selection.res +137 -0
- package/src/dom-nodes/ShadowRoot.res +23 -0
- package/src/dom-nodes/StaticRange.res +6 -0
- package/src/dom-nodes/Text.res +31 -0
- package/src/dom-nodes/TreeWalker.res +65 -0
- package/src/dom-platform/DOMException.res +7 -0
- package/src/dom-platform/DOMStringList.res +15 -0
- package/src/dom-platform/DOMStringMap.res +5 -0
- package/src/dom-platform/DOMTokenList.res +70 -0
- package/src/event/AbortController.res +9 -0
- package/src/event/AbortSignal.res +25 -0
- package/src/event/Event.res +76 -0
- package/src/event/EventTarget.res +91 -0
- package/src/event/ExtendableEvent.res +14 -0
- package/src/fetch/BodyInit.res +46 -0
- package/src/fetch/Fetch.res +12 -0
- package/src/fetch/FetchTypes.res +282 -0
- package/src/fetch/FormData.res +71 -0
- package/src/fetch/FormDataEntryValue.res +2 -0
- package/src/fetch/Headers.res +59 -0
- package/src/fetch/HeadersInit.res +16 -0
- package/src/fetch/Request.res +61 -0
- package/src/fetch/Response.res +127 -0
- package/src/file/BaseFileAndDirectoryEntries.res +72 -0
- package/src/file/Blob.res +48 -0
- package/src/file/File.res +15 -0
- package/src/file/FileAndDirectoryEntriesTypes.res +35 -0
- package/src/file/FileList.res +16 -0
- package/src/file/FileSystemDirectoryEntry.res +42 -0
- package/src/file/FileSystemDirectoryHandle.res +49 -0
- package/src/file/FileSystemDirectoryReader.res +9 -0
- package/src/file/FileSystemEntry.res +9 -0
- package/src/file/FileSystemFileHandle.res +25 -0
- package/src/file/FileSystemHandle.res +6 -0
- package/src/file/FileSystemWritableFileStream.res +65 -0
- package/src/file/FileTypes.res +225 -0
- package/src/file/ReadableStream.res +79 -0
- package/src/file/WritableStream.res +27 -0
- package/src/file/WritableStreamDefaultController.res +5 -0
- package/src/geometry/DOMMatrix.res +206 -0
- package/src/geometry/DOMMatrixReadOnly.res +140 -0
- package/src/geometry/DOMPoint.res +28 -0
- package/src/geometry/DOMPointReadOnly.res +22 -0
- package/src/geometry/DOMRect.res +22 -0
- package/src/geometry/DOMRectList.res +2 -0
- package/src/geometry/DOMRectReadOnly.res +19 -0
- package/src/html/HTMLAnchorElement.res +373 -0
- package/src/html/HTMLAreaElement.res +353 -0
- package/src/html/HTMLBRElement.res +9 -0
- package/src/html/HTMLBaseElement.res +20 -0
- package/src/html/HTMLBodyElement.res +9 -0
- package/src/html/HTMLButtonElement.res +98 -0
- package/src/html/HTMLDListElement.res +9 -0
- package/src/html/HTMLDataElement.res +14 -0
- package/src/html/HTMLDataListElement.res +14 -0
- package/src/html/HTMLDialogElement.res +40 -0
- package/src/html/HTMLDivElement.res +9 -0
- package/src/html/HTMLElement.res +108 -0
- package/src/html/HTMLEmbedElement.res +275 -0
- package/src/html/HTMLFieldSetElement.res +70 -0
- package/src/html/HTMLFormControlsCollection.res +21 -0
- package/src/html/HTMLFormElement.res +39 -0
- package/src/html/HTMLFrameSetElement.res +9 -0
- package/src/html/HTMLHRElement.res +9 -0
- package/src/html/HTMLHeadElement.res +256 -0
- package/src/html/HTMLHeadingElement.res +9 -0
- package/src/html/HTMLHtmlElement.res +9 -0
- package/src/html/HTMLIFrameElement.res +69 -0
- package/src/html/HTMLImageElement.res +349 -0
- package/src/html/HTMLInputElement.res +310 -0
- package/src/html/HTMLLIElement.res +9 -0
- package/src/html/HTMLLabelElement.res +25 -0
- package/src/html/HTMLLegendElement.res +14 -0
- package/src/html/HTMLLinkElement.res +69 -0
- package/src/html/HTMLMapElement.res +20 -0
- package/src/html/HTMLMenuElement.res +8 -0
- package/src/html/HTMLMetaElement.res +29 -0
- package/src/html/HTMLMeterElement.res +38 -0
- package/src/html/HTMLModElement.res +9 -0
- package/src/html/HTMLOListElement.res +24 -0
- package/src/html/HTMLObjectElement.res +89 -0
- package/src/html/HTMLOptGroupElement.res +19 -0
- package/src/html/HTMLOptionElement.res +49 -0
- package/src/html/HTMLOptionsCollection.res +35 -0
- package/src/html/HTMLOutputElement.res +73 -0
- package/src/html/HTMLParagraphElement.res +9 -0
- package/src/html/HTMLPictureElement.res +9 -0
- package/src/html/HTMLPreElement.res +9 -0
- package/src/html/HTMLProgressElement.res +29 -0
- package/src/html/HTMLQuoteElement.res +9 -0
- package/src/html/HTMLScriptElement.res +310 -0
- package/src/html/HTMLSelectElement.res +157 -0
- package/src/html/HTMLSlotElement.res +34 -0
- package/src/html/HTMLSourceElement.res +18 -0
- package/src/html/HTMLSpanElement.res +9 -0
- package/src/html/HTMLStyleElement.res +24 -0
- package/src/html/HTMLTableCaptionElement.res +9 -0
- package/src/html/HTMLTableCellElement.res +40 -0
- package/src/html/HTMLTableElement.res +100 -0
- package/src/html/HTMLTableRowElement.res +40 -0
- package/src/html/HTMLTableSectionElement.res +30 -0
- package/src/html/HTMLTemplateElement.res +31 -0
- package/src/html/HTMLTextAreaElement.res +177 -0
- package/src/html/HTMLTimeElement.res +14 -0
- package/src/html/HTMLTitleElement.res +15 -0
- package/src/html/HTMLUListElement.res +9 -0
- package/src/html/HTMLUnknownElement.res +9 -0
- package/src/media/BaseEncryptedMediaExtensions.res +97 -0
- package/src/media/DomHTMLMediaElement.res +206 -0
- package/src/media/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
- package/src/media/EncryptedMediaExtensionsTypes.res +43 -0
- package/src/media/HTMLAudioElement.res +9 -0
- package/src/media/HTMLTrackElement.res +14 -0
- package/src/media/HTMLVideoElement.res +78 -0
- package/src/media/MediaCapabilities.res +19 -0
- package/src/media/MediaCapabilitiesTypes.res +83 -0
- package/src/media/MediaCaptureAndStreamsTypes.res +197 -0
- package/src/media/MediaDeviceInfo.res +9 -0
- package/src/media/MediaDevices.res +40 -0
- package/src/media/MediaError.res +14 -0
- package/src/media/MediaKeySession.res +53 -0
- package/src/media/MediaKeyStatusMap.res +11 -0
- package/src/media/MediaKeySystemAccess.res +14 -0
- package/src/media/MediaKeys.res +35 -0
- package/src/media/MediaMetadata.res +10 -0
- package/src/media/MediaSession.res +25 -0
- package/src/media/MediaSessionTypes.res +85 -0
- package/src/media/MediaStream.res +89 -0
- package/src/media/MediaStreamTrack.res +51 -0
- package/src/media/PictureInPicture.res +7 -0
- package/src/media/PictureInPictureTypes.res +17 -0
- package/src/media/RemotePlayback.res +25 -0
- package/src/media/RemotePlaybackTypes.res +20 -0
- package/src/media/SpeechSynthesis.res +33 -0
- package/src/media/SpeechSynthesisUtterance.res +8 -0
- package/src/media/TextTrack.res +15 -0
- package/src/media/TextTrackCueList.res +9 -0
- package/src/media/TextTrackList.res +17 -0
- package/src/media/TimeRanges.res +29 -0
- package/src/media/VideoPlaybackQuality.res +18 -0
- package/src/media/WebSpeechTypes.res +83 -0
- package/src/media/WebVttTypes.res +123 -0
- package/src/messaging/ApplicationServerKey.res +2 -0
- package/src/messaging/ChannelMessagingTypes.res +12 -0
- package/src/messaging/CloseEvent.res +10 -0
- package/src/messaging/MessageEvent.res +43 -0
- package/src/messaging/MessagePort.res +38 -0
- package/src/messaging/Notification.res +46 -0
- package/src/messaging/NotificationTypes.res +107 -0
- package/src/messaging/PushEvent.res +3 -0
- package/src/messaging/PushManager.res +24 -0
- package/src/messaging/PushMessageData.res +15 -0
- package/src/messaging/PushSubscription.res +20 -0
- package/src/messaging/PushTypes.res +88 -0
- package/src/messaging/WebSocket.res +74 -0
- package/src/messaging/WebSocketsTypes.res +124 -0
- package/src/navigator/Clipboard.res +29 -0
- package/src/navigator/ClipboardItem.res +20 -0
- package/src/navigator/ClipboardTypes.res +31 -0
- package/src/navigator/CredentialManagementTypes.res +138 -0
- package/src/navigator/CredentialsContainer.res +33 -0
- package/src/navigator/Navigator.res +166 -0
- package/src/navigator/Permissions.res +10 -0
- package/src/navigator/PermissionsTypes.res +38 -0
- package/src/observers/IntersectionObserver.res +36 -0
- package/src/observers/IntersectionObserverRoot.res +23 -0
- package/src/observers/IntersectionObserverTypes.res +67 -0
- package/src/observers/MutationObserver.res +94 -0
- package/src/observers/ResizeObserver.res +30 -0
- package/src/observers/ResizeObserverTypes.res +56 -0
- package/src/performance/Performance.res +101 -0
- package/src/performance/PerformanceEntry.res +5 -0
- package/src/performance/PerformanceMark.res +16 -0
- package/src/performance/PerformanceTypes.res +86 -0
- package/src/storage/Cache.res +117 -0
- package/src/storage/CacheStorage.res +43 -0
- package/src/storage/CacheTypes.res +24 -0
- package/src/storage/IDBDatabase.res +54 -0
- package/src/storage/IDBFactory.res +34 -0
- package/src/storage/IDBIndex.res +83 -0
- package/src/storage/IDBObjectStore.res +183 -0
- package/src/storage/IDBTransaction.res +22 -0
- package/src/storage/IndexedDbTypes.res +213 -0
- package/src/storage/Storage.res +42 -0
- package/src/storage/StorageEvent.res +10 -0
- package/src/storage/StorageManager.res +24 -0
- package/src/storage/StorageTypes.res +11 -0
- package/src/storage/WebStorageTypes.res +57 -0
- package/src/svg/SVGElement.res +115 -0
- package/src/svg/SVGGraphicsElement.res +16 -0
- package/src/svg/SVGLength.res +9 -0
- package/src/ui-events/CompositionEvent.res +10 -0
- package/src/ui-events/DataTransfer.res +38 -0
- package/src/ui-events/DataTransferItem.res +21 -0
- package/src/ui-events/DataTransferItemList.res +34 -0
- package/src/ui-events/FocusEvent.res +10 -0
- package/src/ui-events/InputEvent.res +16 -0
- package/src/ui-events/KeyboardEvent.res +16 -0
- package/src/ui-events/MouseEvent.res +26 -0
- package/src/ui-events/PointerEvent.res +24 -0
- package/src/ui-events/Touch.res +5 -0
- package/src/ui-events/TouchEvent.res +10 -0
- package/src/ui-events/TouchList.res +5 -0
- package/src/ui-events/UIEvent.res +20 -0
- package/src/ui-events/UiEventsTypes.res +590 -0
- package/src/ui-events/WheelEvent.res +10 -0
- package/src/url/URL.res +38 -0
- package/src/url/URLSearchParams.res +104 -0
- package/src/url/UrlTypes.res +69 -0
- package/src/view-transitions/ViewTransition.res +5 -0
- package/src/view-transitions/ViewTransitionsTypes.res +22 -0
- package/src/web-audio/AnalyserNode.res +38 -0
- package/src/web-audio/AudioBuffer.res +33 -0
- package/src/web-audio/AudioBufferSourceNode.res +21 -0
- package/src/web-audio/AudioContext.res +59 -0
- package/src/web-audio/AudioDestinationNode.res +1 -0
- package/src/web-audio/AudioNode.res +76 -0
- package/src/web-audio/AudioParam.res +65 -0
- package/src/web-audio/AudioProcessingEvent.res +10 -0
- package/src/web-audio/AudioScheduledSourceNode.res +23 -0
- package/src/web-audio/AudioWorkletNode.res +11 -0
- package/src/web-audio/BaseAudioContext.res +141 -0
- package/src/web-audio/BiquadFilterNode.res +21 -0
- package/src/web-audio/ChannelMergerNode.res +10 -0
- package/src/web-audio/ChannelSplitterNode.res +10 -0
- package/src/web-audio/ConstantSourceNode.res +10 -0
- package/src/web-audio/ConvolverNode.res +10 -0
- package/src/web-audio/DelayNode.res +10 -0
- package/src/web-audio/DynamicsCompressorNode.res +10 -0
- package/src/web-audio/GainNode.res +10 -0
- package/src/web-audio/IIRFilterNode.res +21 -0
- package/src/web-audio/MediaElementAudioSourceNode.res +10 -0
- package/src/web-audio/MediaStreamAudioDestinationNode.res +10 -0
- package/src/web-audio/MediaStreamAudioSourceNode.res +10 -0
- package/src/web-audio/OfflineAudioCompletionEvent.res +10 -0
- package/src/web-audio/OfflineAudioContext.res +58 -0
- package/src/web-audio/OscillatorNode.res +17 -0
- package/src/web-audio/PannerNode.res +10 -0
- package/src/web-audio/PeriodicWave.res +8 -0
- package/src/web-audio/StereoPannerNode.res +10 -0
- package/src/web-audio/WaveShaperNode.res +10 -0
- package/src/web-audio/WebAudioTypes.res +1309 -0
- package/src/web-audio/Worklet.res +14 -0
- package/src/window/CustomElementRegistry.res +30 -0
- package/src/window/Document.res +470 -0
- package/src/window/DomGlobal.res +459 -0
- package/src/window/History.res +37 -0
- package/src/window/HistoryTypes.res +26 -0
- package/src/window/IdleDeadline.res +5 -0
- package/src/window/Location.res +108 -0
- package/src/window/VisualViewport.res +5 -0
- package/src/window/VisualViewportTypes.res +37 -0
- package/src/window/Window.res +556 -0
- package/src/window/XPathExpression.res +16 -0
- package/src/window/XPathResult.res +46 -0
- package/src/workers/Clients.res +39 -0
- package/src/workers/NavigationPreloadManager.res +26 -0
- package/src/workers/ServiceWorker.res +38 -0
- package/src/workers/ServiceWorkerContainer.res +34 -0
- package/src/workers/ServiceWorkerRegistration.res +32 -0
- package/src/workers/ServiceWorkerScope.res +12 -0
- package/src/workers/ServiceWorkerTypes.res +153 -0
- package/src/workers/SharedWorker.res +68 -0
- package/src/workers/SharedWorkerScope.res +29 -0
- package/src/workers/WebWorkersTypes.res +46 -0
- package/src/workers/Worker.res +48 -0
- 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,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"
|