@rescript/webapi 0.1.0-experimental-d3d4b5f → 0.1.0-experimental-fb395c3

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 (132) hide show
  1. package/package.json +2 -2
  2. package/src/CSSFontLoadingAPI/FontFaceSet.res +3 -79
  3. package/src/CanvasAPI/OffscreenCanvas.res +3 -79
  4. package/src/ChannelMessagingAPI/MessagePort.res +3 -81
  5. package/src/ClipboardAPI/Clipboard.res +3 -80
  6. package/src/DOMAPI/Animation.res +3 -80
  7. package/src/DOMAPI/CharacterData.res +68 -231
  8. package/src/DOMAPI/Comment.res +4 -271
  9. package/src/DOMAPI/Document.res +4 -178
  10. package/src/DOMAPI/DocumentFragment.res +58 -220
  11. package/src/DOMAPI/Element.res +313 -477
  12. package/src/DOMAPI/HTMLAnchorElement.res +3 -691
  13. package/src/DOMAPI/HTMLAreaElement.res +3 -685
  14. package/src/DOMAPI/HTMLAudioElement.res +3 -748
  15. package/src/DOMAPI/HTMLBRElement.res +3 -684
  16. package/src/DOMAPI/HTMLBaseElement.res +3 -685
  17. package/src/DOMAPI/HTMLBodyElement.res +3 -685
  18. package/src/DOMAPI/HTMLButtonElement.res +3 -691
  19. package/src/DOMAPI/HTMLCanvasElement.res +3 -691
  20. package/src/DOMAPI/HTMLDListElement.res +3 -688
  21. package/src/DOMAPI/HTMLDataElement.res +3 -685
  22. package/src/DOMAPI/HTMLDataListElement.res +3 -695
  23. package/src/DOMAPI/HTMLDialogElement.res +3 -691
  24. package/src/DOMAPI/HTMLDivElement.res +3 -684
  25. package/src/DOMAPI/HTMLElement.res +40 -666
  26. package/src/DOMAPI/HTMLEmbedElement.res +3 -688
  27. package/src/DOMAPI/HTMLFieldSetElement.res +3 -695
  28. package/src/DOMAPI/HTMLFormElement.res +3 -685
  29. package/src/DOMAPI/HTMLFrameSetElement.res +3 -695
  30. package/src/DOMAPI/HTMLHRElement.res +3 -684
  31. package/src/DOMAPI/HTMLHeadElement.res +3 -685
  32. package/src/DOMAPI/HTMLHeadingElement.res +3 -691
  33. package/src/DOMAPI/HTMLHtmlElement.res +3 -685
  34. package/src/DOMAPI/HTMLIFrameElement.res +3 -691
  35. package/src/DOMAPI/HTMLImageElement.res +3 -688
  36. package/src/DOMAPI/HTMLInputElement.res +3 -688
  37. package/src/DOMAPI/HTMLLIElement.res +3 -684
  38. package/src/DOMAPI/HTMLLabelElement.res +3 -688
  39. package/src/DOMAPI/HTMLLegendElement.res +3 -691
  40. package/src/DOMAPI/HTMLLinkElement.res +3 -685
  41. package/src/DOMAPI/HTMLMapElement.res +3 -684
  42. package/src/DOMAPI/HTMLMediaElement.res +49 -722
  43. package/src/DOMAPI/HTMLMenuElement.res +3 -685
  44. package/src/DOMAPI/HTMLMetaElement.res +3 -685
  45. package/src/DOMAPI/HTMLMeterElement.res +3 -688
  46. package/src/DOMAPI/HTMLModElement.res +3 -684
  47. package/src/DOMAPI/HTMLOListElement.res +3 -688
  48. package/src/DOMAPI/HTMLObjectElement.res +3 -691
  49. package/src/DOMAPI/HTMLOptGroupElement.res +3 -695
  50. package/src/DOMAPI/HTMLOptionElement.res +3 -691
  51. package/src/DOMAPI/HTMLOutputElement.res +3 -691
  52. package/src/DOMAPI/HTMLParagraphElement.res +3 -699
  53. package/src/DOMAPI/HTMLPictureElement.res +3 -691
  54. package/src/DOMAPI/HTMLPreElement.res +3 -684
  55. package/src/DOMAPI/HTMLProgressElement.res +3 -695
  56. package/src/DOMAPI/HTMLQuoteElement.res +3 -688
  57. package/src/DOMAPI/HTMLScriptElement.res +3 -691
  58. package/src/DOMAPI/HTMLSelectElement.res +4 -692
  59. package/src/DOMAPI/HTMLSlotElement.res +3 -685
  60. package/src/DOMAPI/HTMLSourceElement.res +3 -691
  61. package/src/DOMAPI/HTMLSpanElement.res +3 -685
  62. package/src/DOMAPI/HTMLStyleElement.res +3 -688
  63. package/src/DOMAPI/HTMLTableCaptionElement.res +3 -712
  64. package/src/DOMAPI/HTMLTableCellElement.res +3 -699
  65. package/src/DOMAPI/HTMLTableElement.res +3 -688
  66. package/src/DOMAPI/HTMLTableRowElement.res +3 -695
  67. package/src/DOMAPI/HTMLTableSectionElement.res +3 -712
  68. package/src/DOMAPI/HTMLTemplateElement.res +3 -695
  69. package/src/DOMAPI/HTMLTextAreaElement.res +3 -695
  70. package/src/DOMAPI/HTMLTimeElement.res +3 -685
  71. package/src/DOMAPI/HTMLTitleElement.res +3 -688
  72. package/src/DOMAPI/HTMLTrackElement.res +3 -688
  73. package/src/DOMAPI/HTMLUListElement.res +3 -688
  74. package/src/DOMAPI/HTMLVideoElement.res +3 -748
  75. package/src/DOMAPI/MediaQueryList.res +3 -80
  76. package/src/DOMAPI/Node.res +59 -124
  77. package/src/DOMAPI/SVGGraphicsElement.res +4 -660
  78. package/src/DOMAPI/ScreenOrientation.res +3 -79
  79. package/src/DOMAPI/ShadowRoot.res +4 -255
  80. package/src/DOMAPI/Text.res +4 -271
  81. package/src/DOMAPI/TextTrackList.res +3 -79
  82. package/src/DOMAPI/Window.res +4 -80
  83. package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +3 -80
  84. package/src/EventAPI/AbortSignal.res +3 -80
  85. package/src/EventAPI/Event.res +28 -16
  86. package/src/EventAPI/EventTarget.res +51 -39
  87. package/src/FileAPI/Blob.res +26 -15
  88. package/src/FileAPI/File.res +4 -31
  89. package/src/IndexedDBAPI/IDBDatabase.res +3 -79
  90. package/src/IndexedDBAPI/IDBTransaction.res +3 -80
  91. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +3 -79
  92. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +3 -80
  93. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +3 -81
  94. package/src/NotificationAPI/Notification.res +3 -80
  95. package/src/PerformanceAPI/Performance.res +3 -79
  96. package/src/RemotePlaybackAPI/RemotePlayback.res +3 -80
  97. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +3 -79
  98. package/src/ServiceWorkerAPI/ServiceWorker.res +3 -79
  99. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +3 -79
  100. package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +3 -79
  101. package/src/WebAudioAPI/AnalyserNode.res +4 -148
  102. package/src/WebAudioAPI/AudioBufferSourceNode.res +4 -162
  103. package/src/WebAudioAPI/AudioContext.res +4 -212
  104. package/src/WebAudioAPI/AudioNode.res +39 -113
  105. package/src/WebAudioAPI/AudioProcessingEvent.res +4 -30
  106. package/src/WebAudioAPI/AudioScheduledSourceNode.res +20 -162
  107. package/src/WebAudioAPI/AudioWorkletNode.res +4 -149
  108. package/src/WebAudioAPI/BaseAudioContext.res +85 -155
  109. package/src/WebAudioAPI/BiquadFilterNode.res +4 -149
  110. package/src/WebAudioAPI/ChannelMergerNode.res +4 -149
  111. package/src/WebAudioAPI/ChannelSplitterNode.res +4 -149
  112. package/src/WebAudioAPI/ConstantSourceNode.res +4 -162
  113. package/src/WebAudioAPI/ConvolverNode.res +4 -149
  114. package/src/WebAudioAPI/DelayNode.res +4 -143
  115. package/src/WebAudioAPI/DynamicsCompressorNode.res +4 -152
  116. package/src/WebAudioAPI/GainNode.res +4 -142
  117. package/src/WebAudioAPI/IIRFilterNode.res +4 -149
  118. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +4 -158
  119. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +4 -158
  120. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +4 -158
  121. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +4 -30
  122. package/src/WebAudioAPI/OfflineAudioContext.res +4 -214
  123. package/src/WebAudioAPI/OscillatorNode.res +4 -162
  124. package/src/WebAudioAPI/PannerNode.res +4 -143
  125. package/src/WebAudioAPI/StereoPannerNode.res +4 -149
  126. package/src/WebAudioAPI/WaveShaperNode.res +4 -149
  127. package/src/WebSocketsAPI/CloseEvent.res +4 -30
  128. package/src/WebSocketsAPI/WebSocket.res +3 -79
  129. package/src/WebSpeechAPI/SpeechSynthesis.res +3 -79
  130. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +4 -81
  131. package/src/WebStorageAPI/StorageEvent.res +4 -30
  132. 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
+ }