@rescript/webapi 0.1.0-experimental-a0d5168 → 0.1.0-experimental-47c6b2c

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 (133) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/CSSFontLoadingAPI/FontFaceSet.res +3 -79
  4. package/src/CanvasAPI/OffscreenCanvas.res +3 -79
  5. package/src/ChannelMessagingAPI/MessagePort.res +3 -81
  6. package/src/ClipboardAPI/Clipboard.res +3 -80
  7. package/src/DOMAPI/Animation.res +3 -80
  8. package/src/DOMAPI/CharacterData.res +68 -231
  9. package/src/DOMAPI/Comment.res +4 -271
  10. package/src/DOMAPI/Document.res +4 -178
  11. package/src/DOMAPI/DocumentFragment.res +58 -220
  12. package/src/DOMAPI/Element.res +313 -477
  13. package/src/DOMAPI/HTMLAnchorElement.res +3 -691
  14. package/src/DOMAPI/HTMLAreaElement.res +3 -685
  15. package/src/DOMAPI/HTMLAudioElement.res +3 -748
  16. package/src/DOMAPI/HTMLBRElement.res +3 -684
  17. package/src/DOMAPI/HTMLBaseElement.res +3 -685
  18. package/src/DOMAPI/HTMLBodyElement.res +3 -685
  19. package/src/DOMAPI/HTMLButtonElement.res +3 -691
  20. package/src/DOMAPI/HTMLCanvasElement.res +3 -691
  21. package/src/DOMAPI/HTMLDListElement.res +3 -688
  22. package/src/DOMAPI/HTMLDataElement.res +3 -685
  23. package/src/DOMAPI/HTMLDataListElement.res +3 -695
  24. package/src/DOMAPI/HTMLDialogElement.res +3 -691
  25. package/src/DOMAPI/HTMLDivElement.res +3 -684
  26. package/src/DOMAPI/HTMLElement.res +40 -666
  27. package/src/DOMAPI/HTMLEmbedElement.res +3 -688
  28. package/src/DOMAPI/HTMLFieldSetElement.res +3 -695
  29. package/src/DOMAPI/HTMLFormElement.res +3 -685
  30. package/src/DOMAPI/HTMLFrameSetElement.res +3 -695
  31. package/src/DOMAPI/HTMLHRElement.res +3 -684
  32. package/src/DOMAPI/HTMLHeadElement.res +3 -685
  33. package/src/DOMAPI/HTMLHeadingElement.res +3 -691
  34. package/src/DOMAPI/HTMLHtmlElement.res +3 -685
  35. package/src/DOMAPI/HTMLIFrameElement.res +3 -691
  36. package/src/DOMAPI/HTMLImageElement.res +3 -688
  37. package/src/DOMAPI/HTMLInputElement.res +3 -688
  38. package/src/DOMAPI/HTMLLIElement.res +3 -684
  39. package/src/DOMAPI/HTMLLabelElement.res +3 -688
  40. package/src/DOMAPI/HTMLLegendElement.res +3 -691
  41. package/src/DOMAPI/HTMLLinkElement.res +3 -685
  42. package/src/DOMAPI/HTMLMapElement.res +3 -684
  43. package/src/DOMAPI/HTMLMediaElement.res +49 -722
  44. package/src/DOMAPI/HTMLMenuElement.res +3 -685
  45. package/src/DOMAPI/HTMLMetaElement.res +3 -685
  46. package/src/DOMAPI/HTMLMeterElement.res +3 -688
  47. package/src/DOMAPI/HTMLModElement.res +3 -684
  48. package/src/DOMAPI/HTMLOListElement.res +3 -688
  49. package/src/DOMAPI/HTMLObjectElement.res +3 -691
  50. package/src/DOMAPI/HTMLOptGroupElement.res +3 -695
  51. package/src/DOMAPI/HTMLOptionElement.res +3 -691
  52. package/src/DOMAPI/HTMLOutputElement.res +3 -691
  53. package/src/DOMAPI/HTMLParagraphElement.res +3 -699
  54. package/src/DOMAPI/HTMLPictureElement.res +3 -691
  55. package/src/DOMAPI/HTMLPreElement.res +3 -684
  56. package/src/DOMAPI/HTMLProgressElement.res +3 -695
  57. package/src/DOMAPI/HTMLQuoteElement.res +3 -688
  58. package/src/DOMAPI/HTMLScriptElement.res +3 -691
  59. package/src/DOMAPI/HTMLSelectElement.res +4 -692
  60. package/src/DOMAPI/HTMLSlotElement.res +3 -685
  61. package/src/DOMAPI/HTMLSourceElement.res +3 -691
  62. package/src/DOMAPI/HTMLSpanElement.res +3 -685
  63. package/src/DOMAPI/HTMLStyleElement.res +3 -688
  64. package/src/DOMAPI/HTMLTableCaptionElement.res +3 -712
  65. package/src/DOMAPI/HTMLTableCellElement.res +3 -699
  66. package/src/DOMAPI/HTMLTableElement.res +3 -688
  67. package/src/DOMAPI/HTMLTableRowElement.res +3 -695
  68. package/src/DOMAPI/HTMLTableSectionElement.res +3 -712
  69. package/src/DOMAPI/HTMLTemplateElement.res +3 -695
  70. package/src/DOMAPI/HTMLTextAreaElement.res +3 -695
  71. package/src/DOMAPI/HTMLTimeElement.res +3 -685
  72. package/src/DOMAPI/HTMLTitleElement.res +3 -688
  73. package/src/DOMAPI/HTMLTrackElement.res +3 -688
  74. package/src/DOMAPI/HTMLUListElement.res +3 -688
  75. package/src/DOMAPI/HTMLVideoElement.res +3 -748
  76. package/src/DOMAPI/MediaQueryList.res +3 -80
  77. package/src/DOMAPI/Node.res +59 -124
  78. package/src/DOMAPI/SVGGraphicsElement.res +4 -660
  79. package/src/DOMAPI/ScreenOrientation.res +3 -79
  80. package/src/DOMAPI/ShadowRoot.res +4 -255
  81. package/src/DOMAPI/Text.res +4 -271
  82. package/src/DOMAPI/TextTrackList.res +3 -79
  83. package/src/DOMAPI/Window.res +4 -80
  84. package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +3 -80
  85. package/src/EventAPI/AbortSignal.res +3 -80
  86. package/src/EventAPI/Event.res +28 -16
  87. package/src/EventAPI/EventTarget.res +51 -39
  88. package/src/FileAPI/Blob.res +26 -15
  89. package/src/FileAPI/File.res +4 -31
  90. package/src/IndexedDBAPI/IDBDatabase.res +3 -79
  91. package/src/IndexedDBAPI/IDBTransaction.res +3 -80
  92. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +3 -79
  93. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +3 -80
  94. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +3 -81
  95. package/src/NotificationAPI/Notification.res +3 -80
  96. package/src/PerformanceAPI/Performance.res +3 -79
  97. package/src/RemotePlaybackAPI/RemotePlayback.res +3 -80
  98. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +3 -79
  99. package/src/ServiceWorkerAPI/ServiceWorker.res +3 -79
  100. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +3 -79
  101. package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +3 -79
  102. package/src/WebAudioAPI/AnalyserNode.res +4 -148
  103. package/src/WebAudioAPI/AudioBufferSourceNode.res +4 -162
  104. package/src/WebAudioAPI/AudioContext.res +4 -212
  105. package/src/WebAudioAPI/AudioNode.res +39 -113
  106. package/src/WebAudioAPI/AudioProcessingEvent.res +4 -30
  107. package/src/WebAudioAPI/AudioScheduledSourceNode.res +20 -162
  108. package/src/WebAudioAPI/AudioWorkletNode.res +4 -149
  109. package/src/WebAudioAPI/BaseAudioContext.res +85 -155
  110. package/src/WebAudioAPI/BiquadFilterNode.res +4 -149
  111. package/src/WebAudioAPI/ChannelMergerNode.res +4 -149
  112. package/src/WebAudioAPI/ChannelSplitterNode.res +4 -149
  113. package/src/WebAudioAPI/ConstantSourceNode.res +4 -162
  114. package/src/WebAudioAPI/ConvolverNode.res +4 -149
  115. package/src/WebAudioAPI/DelayNode.res +4 -143
  116. package/src/WebAudioAPI/DynamicsCompressorNode.res +4 -152
  117. package/src/WebAudioAPI/GainNode.res +4 -142
  118. package/src/WebAudioAPI/IIRFilterNode.res +4 -149
  119. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +4 -158
  120. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +4 -158
  121. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +4 -158
  122. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +4 -30
  123. package/src/WebAudioAPI/OfflineAudioContext.res +4 -214
  124. package/src/WebAudioAPI/OscillatorNode.res +4 -162
  125. package/src/WebAudioAPI/PannerNode.res +4 -143
  126. package/src/WebAudioAPI/StereoPannerNode.res +4 -149
  127. package/src/WebAudioAPI/WaveShaperNode.res +4 -149
  128. package/src/WebSocketsAPI/CloseEvent.res +4 -30
  129. package/src/WebSocketsAPI/WebSocket.res +3 -79
  130. package/src/WebSpeechAPI/SpeechSynthesis.res +3 -79
  131. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +4 -81
  132. package/src/WebStorageAPI/StorageEvent.res +4 -30
  133. package/src/WebVTTAPI/TextTrack.res +3 -79
@@ -1,171 +1,29 @@
1
- open EventAPI
2
1
  open WebAudioAPI
3
2
 
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.
3
+ module Impl = (
4
+ T: {
5
+ type t
6
+ },
7
+ ) => {
8
+ include AudioNode.Impl({
9
+ type t = audioScheduledSourceNode
10
+ })
8
11
 
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.
12
+ external asAudioScheduledSourceNode: T.t => audioScheduledSourceNode = "%identity"
10
13
 
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
- /**
14
+ /**
162
15
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/start)
163
16
  */
164
- @send
165
- external start: (audioScheduledSourceNode, ~when_: float=?) => unit = "start"
17
+ @send
18
+ external start: (T.t, ~when_: float=?) => unit = "start"
166
19
 
167
- /**
20
+ /**
168
21
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/stop)
169
22
  */
170
- @send
171
- external stop: (audioScheduledSourceNode, ~when_: float=?) => unit = "stop"
23
+ @send
24
+ external stop: (T.t, ~when_: float=?) => unit = "stop"
25
+ }
26
+
27
+ include Impl({
28
+ type t = audioScheduledSourceNode
29
+ })
@@ -1,6 +1,9 @@
1
- open EventAPI
2
1
  open WebAudioAPI
3
2
 
3
+ include AudioNode.Impl({
4
+ type t = audioWorkletNode
5
+ })
6
+
4
7
  /**
5
8
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode)
6
9
  */
@@ -10,151 +13,3 @@ external make: (
10
13
  ~name: string,
11
14
  ~options: audioWorkletNodeOptions=?,
12
15
  ) => 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"
@@ -1,212 +1,142 @@
1
- open EventAPI
2
1
  open WebAudioAPI
3
2
 
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.
3
+ module Impl = (
4
+ T: {
5
+ type t
6
+ },
7
+ ) => {
8
+ include EventTarget.Impl({
9
+ type t = T.t
10
+ })
7
11
 
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.
12
+ external asBaseAudioContext: T.t => baseAudioContext = "%identity"
9
13
 
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
- /**
14
+ /**
85
15
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser)
86
16
  */
87
- @send
88
- external createAnalyser: baseAudioContext => analyserNode = "createAnalyser"
17
+ @send
18
+ external createAnalyser: T.t => analyserNode = "createAnalyser"
89
19
 
90
- /**
20
+ /**
91
21
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter)
92
22
  */
93
- @send
94
- external createBiquadFilter: baseAudioContext => biquadFilterNode = "createBiquadFilter"
23
+ @send
24
+ external createBiquadFilter: T.t => biquadFilterNode = "createBiquadFilter"
95
25
 
96
- /**
26
+ /**
97
27
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer)
98
28
  */
99
- @send
100
- external createBuffer: (
101
- baseAudioContext,
102
- ~numberOfChannels: int,
103
- ~length: int,
104
- ~sampleRate: float,
105
- ) => audioBuffer = "createBuffer"
29
+ @send
30
+ external createBuffer: (
31
+ T.t,
32
+ ~numberOfChannels: int,
33
+ ~length: int,
34
+ ~sampleRate: float,
35
+ ) => audioBuffer = "createBuffer"
106
36
 
107
- /**
37
+ /**
108
38
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource)
109
39
  */
110
- @send
111
- external createBufferSource: baseAudioContext => audioBufferSourceNode = "createBufferSource"
40
+ @send
41
+ external createBufferSource: T.t => audioBufferSourceNode = "createBufferSource"
112
42
 
113
- /**
43
+ /**
114
44
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger)
115
45
  */
116
- @send
117
- external createChannelMerger: (baseAudioContext, ~numberOfInputs: int=?) => channelMergerNode =
118
- "createChannelMerger"
46
+ @send
47
+ external createChannelMerger: (T.t, ~numberOfInputs: int=?) => channelMergerNode =
48
+ "createChannelMerger"
119
49
 
120
- /**
50
+ /**
121
51
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter)
122
52
  */
123
- @send
124
- external createChannelSplitter: (baseAudioContext, ~numberOfOutputs: int=?) => channelSplitterNode =
125
- "createChannelSplitter"
53
+ @send
54
+ external createChannelSplitter: (T.t, ~numberOfOutputs: int=?) => channelSplitterNode =
55
+ "createChannelSplitter"
126
56
 
127
- /**
57
+ /**
128
58
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource)
129
59
  */
130
- @send
131
- external createConstantSource: baseAudioContext => constantSourceNode = "createConstantSource"
60
+ @send
61
+ external createConstantSource: T.t => constantSourceNode = "createConstantSource"
132
62
 
133
- /**
63
+ /**
134
64
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver)
135
65
  */
136
- @send
137
- external createConvolver: baseAudioContext => convolverNode = "createConvolver"
66
+ @send
67
+ external createConvolver: T.t => convolverNode = "createConvolver"
138
68
 
139
- /**
69
+ /**
140
70
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay)
141
71
  */
142
- @send
143
- external createDelay: (baseAudioContext, ~maxDelayTime: float=?) => delayNode = "createDelay"
72
+ @send
73
+ external createDelay: (T.t, ~maxDelayTime: float=?) => delayNode = "createDelay"
144
74
 
145
- /**
75
+ /**
146
76
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor)
147
77
  */
148
- @send
149
- external createDynamicsCompressor: baseAudioContext => dynamicsCompressorNode =
150
- "createDynamicsCompressor"
78
+ @send
79
+ external createDynamicsCompressor: T.t => dynamicsCompressorNode = "createDynamicsCompressor"
151
80
 
152
- /**
81
+ /**
153
82
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain)
154
83
  */
155
- @send
156
- external createGain: baseAudioContext => gainNode = "createGain"
84
+ @send
85
+ external createGain: T.t => gainNode = "createGain"
157
86
 
158
- /**
87
+ /**
159
88
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter)
160
89
  */
161
- @send
162
- external createIIRFilter: (
163
- baseAudioContext,
164
- ~feedforward: array<float>,
165
- ~feedback: array<float>,
166
- ) => iirFilterNode = "createIIRFilter"
90
+ @send
91
+ external createIIRFilter: (
92
+ T.t,
93
+ ~feedforward: array<float>,
94
+ ~feedback: array<float>,
95
+ ) => iirFilterNode = "createIIRFilter"
167
96
 
168
- /**
97
+ /**
169
98
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator)
170
99
  */
171
- @send
172
- external createOscillator: baseAudioContext => oscillatorNode = "createOscillator"
100
+ @send
101
+ external createOscillator: T.t => oscillatorNode = "createOscillator"
173
102
 
174
- /**
103
+ /**
175
104
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner)
176
105
  */
177
- @send
178
- external createPanner: baseAudioContext => pannerNode = "createPanner"
106
+ @send
107
+ external createPanner: T.t => pannerNode = "createPanner"
179
108
 
180
- /**
109
+ /**
181
110
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave)
182
111
  */
183
- @send
184
- external createPeriodicWave: (
185
- baseAudioContext,
186
- ~real: array<float>,
187
- ~imag: array<float>,
188
- ~constraints: periodicWaveConstraints=?,
189
- ) => periodicWave = "createPeriodicWave"
112
+ @send
113
+ external createPeriodicWave: (
114
+ T.t,
115
+ ~real: array<float>,
116
+ ~imag: array<float>,
117
+ ~constraints: periodicWaveConstraints=?,
118
+ ) => periodicWave = "createPeriodicWave"
190
119
 
191
- /**
120
+ /**
192
121
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner)
193
122
  */
194
- @send
195
- external createStereoPanner: baseAudioContext => stereoPannerNode = "createStereoPanner"
123
+ @send
124
+ external createStereoPanner: T.t => stereoPannerNode = "createStereoPanner"
196
125
 
197
- /**
126
+ /**
198
127
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper)
199
128
  */
200
- @send
201
- external createWaveShaper: baseAudioContext => waveShaperNode = "createWaveShaper"
129
+ @send
130
+ external createWaveShaper: T.t => waveShaperNode = "createWaveShaper"
202
131
 
203
- /**
132
+ /**
204
133
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData)
205
134
  */
206
- @send
207
- external decodeAudioData: (
208
- baseAudioContext,
209
- ~audioData: ArrayBuffer.t,
210
- ~successCallback: decodeSuccessCallback=?,
211
- ~errorCallback: decodeErrorCallback=?,
212
- ) => Promise.t<audioBuffer> = "decodeAudioData"
135
+ @send
136
+ external decodeAudioData: (
137
+ T.t,
138
+ ~audioData: ArrayBuffer.t,
139
+ ~successCallback: decodeSuccessCallback=?,
140
+ ~errorCallback: decodeErrorCallback=?,
141
+ ) => Promise.t<audioBuffer> = "decodeAudioData"
142
+ }