react-native-audio-api 0.4.8-rc1 → 0.4.8

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 (135) hide show
  1. package/android/build.gradle +25 -2
  2. package/android/src/main/cpp/core/AudioDecoder.cpp +10 -1
  3. package/android/src/main/cpp/core/AudioPlayer.cpp +6 -3
  4. package/common/cpp/core/AnalyserNode.cpp +2 -6
  5. package/common/cpp/core/AudioBuffer.cpp +1 -1
  6. package/common/cpp/core/AudioBufferSourceNode.cpp +26 -16
  7. package/common/cpp/core/AudioBus.cpp +105 -13
  8. package/common/cpp/core/AudioBus.h +6 -4
  9. package/common/cpp/core/AudioContext.cpp +4 -3
  10. package/common/cpp/core/AudioContext.h +4 -4
  11. package/common/cpp/core/AudioDestinationNode.cpp +2 -3
  12. package/common/cpp/core/AudioNode.cpp +78 -58
  13. package/common/cpp/core/AudioNode.h +10 -1
  14. package/common/cpp/core/AudioNodeManager.cpp +13 -1
  15. package/common/cpp/core/AudioNodeManager.h +2 -0
  16. package/common/cpp/core/AudioScheduledSourceNode.cpp +5 -1
  17. package/common/cpp/core/BaseAudioContext.cpp +4 -1
  18. package/common/cpp/core/BaseAudioContext.h +4 -2
  19. package/common/cpp/core/StereoPannerNode.cpp +9 -12
  20. package/ios/core/AudioDecoder.mm +10 -1
  21. package/ios/core/AudioPlayer.m +4 -24
  22. package/ios/core/IOSAudioPlayer.mm +3 -3
  23. package/lib/module/core/AudioBufferSourceNode.js +2 -2
  24. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  25. package/lib/module/index.js +19 -335
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/index.web.js +18 -0
  28. package/lib/module/index.web.js.map +1 -0
  29. package/lib/module/types.js.map +1 -0
  30. package/lib/module/web-core/AnalyserNode.js +48 -0
  31. package/lib/module/web-core/AnalyserNode.js.map +1 -0
  32. package/lib/module/web-core/AudioBuffer.js +43 -0
  33. package/lib/module/web-core/AudioBuffer.js.map +1 -0
  34. package/lib/module/web-core/AudioBufferSourceNode.js +62 -0
  35. package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -0
  36. package/lib/module/web-core/AudioContext.js +69 -0
  37. package/lib/module/web-core/AudioContext.js.map +1 -0
  38. package/lib/module/web-core/AudioDestinationNode.js +5 -0
  39. package/lib/module/web-core/AudioDestinationNode.js.map +1 -0
  40. package/lib/module/web-core/AudioNode.js +27 -0
  41. package/lib/module/web-core/AudioNode.js.map +1 -0
  42. package/lib/module/web-core/AudioParam.js +60 -0
  43. package/lib/module/web-core/AudioParam.js.map +1 -0
  44. package/lib/module/web-core/AudioScheduledSourceNode.js +27 -0
  45. package/lib/module/web-core/AudioScheduledSourceNode.js.map +1 -0
  46. package/lib/module/web-core/BaseAudioContext.js +2 -0
  47. package/lib/module/{core/types.js.map → web-core/BaseAudioContext.js.map} +1 -1
  48. package/lib/module/web-core/BiquadFilterNode.js +35 -0
  49. package/lib/module/web-core/BiquadFilterNode.js.map +1 -0
  50. package/lib/module/web-core/GainNode.js +11 -0
  51. package/lib/module/web-core/GainNode.js.map +1 -0
  52. package/lib/module/web-core/OscillatorNode.js +25 -0
  53. package/lib/module/web-core/OscillatorNode.js.map +1 -0
  54. package/lib/module/web-core/PeriodicWave.js +10 -0
  55. package/lib/module/web-core/PeriodicWave.js.map +1 -0
  56. package/lib/module/web-core/StereoPannerNode.js +11 -0
  57. package/lib/module/web-core/StereoPannerNode.js.map +1 -0
  58. package/lib/typescript/core/AnalyserNode.d.ts +1 -1
  59. package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
  60. package/lib/typescript/core/AudioNode.d.ts +1 -1
  61. package/lib/typescript/core/AudioNode.d.ts.map +1 -1
  62. package/lib/typescript/core/BaseAudioContext.d.ts +1 -1
  63. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  64. package/lib/typescript/core/BiquadFilterNode.d.ts +1 -1
  65. package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
  66. package/lib/typescript/core/OscillatorNode.d.ts +1 -1
  67. package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
  68. package/lib/typescript/index.d.ts +15 -126
  69. package/lib/typescript/index.d.ts.map +1 -1
  70. package/lib/typescript/index.web.d.ts +16 -0
  71. package/lib/typescript/index.web.d.ts.map +1 -0
  72. package/lib/typescript/interfaces.d.ts +1 -1
  73. package/lib/typescript/interfaces.d.ts.map +1 -1
  74. package/lib/typescript/types.d.ts.map +1 -0
  75. package/lib/typescript/web-core/AnalyserNode.d.ts +18 -0
  76. package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -0
  77. package/lib/typescript/web-core/AudioBuffer.d.ts +13 -0
  78. package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -0
  79. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +19 -0
  80. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -0
  81. package/lib/typescript/web-core/AudioContext.d.ts +30 -0
  82. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -0
  83. package/lib/typescript/web-core/AudioDestinationNode.d.ts +4 -0
  84. package/lib/typescript/web-core/AudioDestinationNode.d.ts.map +1 -0
  85. package/lib/typescript/web-core/AudioNode.d.ts +15 -0
  86. package/lib/typescript/web-core/AudioNode.d.ts.map +1 -0
  87. package/lib/typescript/web-core/AudioParam.d.ts +17 -0
  88. package/lib/typescript/web-core/AudioParam.d.ts.map +1 -0
  89. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts +7 -0
  90. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts.map +1 -0
  91. package/lib/typescript/web-core/BaseAudioContext.d.ts +27 -0
  92. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -0
  93. package/lib/typescript/web-core/BiquadFilterNode.d.ts +15 -0
  94. package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -0
  95. package/lib/typescript/web-core/GainNode.d.ts +8 -0
  96. package/lib/typescript/web-core/GainNode.d.ts.map +1 -0
  97. package/lib/typescript/web-core/OscillatorNode.d.ts +14 -0
  98. package/lib/typescript/web-core/OscillatorNode.d.ts.map +1 -0
  99. package/lib/typescript/web-core/PeriodicWave.d.ts +6 -0
  100. package/lib/typescript/web-core/PeriodicWave.d.ts.map +1 -0
  101. package/lib/typescript/web-core/StereoPannerNode.d.ts +8 -0
  102. package/lib/typescript/web-core/StereoPannerNode.d.ts.map +1 -0
  103. package/package.json +1 -1
  104. package/src/core/AnalyserNode.ts +1 -1
  105. package/src/core/AudioBufferSourceNode.ts +2 -2
  106. package/src/core/AudioNode.ts +1 -1
  107. package/src/core/BaseAudioContext.ts +1 -1
  108. package/src/core/BiquadFilterNode.ts +1 -1
  109. package/src/core/OscillatorNode.ts +1 -1
  110. package/src/index.ts +30 -568
  111. package/src/index.web.ts +30 -0
  112. package/src/interfaces.ts +1 -1
  113. package/src/web-core/AnalyserNode.tsx +69 -0
  114. package/src/web-core/AudioBuffer.tsx +79 -0
  115. package/src/web-core/AudioBufferSourceNode.tsx +94 -0
  116. package/src/web-core/AudioContext.tsx +114 -0
  117. package/src/web-core/AudioDestinationNode.tsx +3 -0
  118. package/src/web-core/AudioNode.tsx +40 -0
  119. package/src/web-core/AudioParam.tsx +106 -0
  120. package/src/web-core/AudioScheduledSourceNode.tsx +37 -0
  121. package/src/web-core/BaseAudioContext.tsx +37 -0
  122. package/src/web-core/BiquadFilterNode.tsx +62 -0
  123. package/src/web-core/GainNode.tsx +12 -0
  124. package/src/web-core/OscillatorNode.tsx +36 -0
  125. package/src/web-core/PeriodicWave.tsx +8 -0
  126. package/src/web-core/StereoPannerNode.tsx +12 -0
  127. package/lib/module/index.native.js +0 -21
  128. package/lib/module/index.native.js.map +0 -1
  129. package/lib/typescript/core/types.d.ts.map +0 -1
  130. package/lib/typescript/index.native.d.ts +0 -15
  131. package/lib/typescript/index.native.d.ts.map +0 -1
  132. package/src/index.native.ts +0 -27
  133. /package/lib/module/{core/types.js → types.js} +0 -0
  134. /package/lib/typescript/{core/types.d.ts → types.d.ts} +0 -0
  135. /package/src/{core/types.ts → types.ts} +0 -0
@@ -1,338 +1,22 @@
1
1
  "use strict";
2
2
 
3
- import { InvalidStateError } from "./errors/index.js";
4
- export class AudioBuffer {
5
- /** @internal */
6
-
7
- constructor(buffer) {
8
- this.buffer = buffer;
9
- this.length = buffer.length;
10
- this.duration = buffer.duration;
11
- this.sampleRate = buffer.sampleRate;
12
- this.numberOfChannels = buffer.numberOfChannels;
13
- }
14
- getChannelData(channel) {
15
- if (channel < 0 || channel >= this.numberOfChannels) {
16
- throw new Error(`The channel number provided (${channel}) is outside the range [0, ${this.numberOfChannels - 1}]`);
17
- }
18
-
19
- // TODO: we probably will want to move to Float32Array on native side too
20
- return Array.from(this.buffer.getChannelData(channel));
21
- }
22
- copyFromChannel(destination, channelNumber, startInChannel = 0) {
23
- if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
24
- throw new Error(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
25
- }
26
- if (startInChannel < 0 || startInChannel >= this.length) {
27
- throw new Error(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
28
- }
29
- const array = new Float32Array(destination);
30
- this.buffer.copyFromChannel(array, channelNumber, startInChannel);
31
- for (let i = 0; i < destination.length; i++) {
32
- destination[i] = array[i];
33
- }
34
- }
35
- copyToChannel(source, channelNumber, startInChannel = 0) {
36
- if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
37
- throw new Error(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
38
- }
39
- if (startInChannel < 0 || startInChannel >= this.length) {
40
- throw new Error(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
41
- }
42
- this.buffer.copyToChannel(new Float32Array(source), channelNumber, startInChannel);
43
- }
44
- }
45
- export class AudioNode {
46
- constructor(context, node) {
47
- this.context = context;
48
- this.node = node;
49
- this.numberOfInputs = this.node.numberOfInputs;
50
- this.numberOfOutputs = this.node.numberOfOutputs;
51
- this.channelCount = this.node.channelCount;
52
- this.channelCountMode = this.node.channelCountMode;
53
- this.channelInterpretation = this.node.channelInterpretation;
54
- }
55
- connect(destination) {
56
- if (this.context !== destination.context) {
57
- throw new Error('The AudioNodes are from different BaseAudioContexts');
58
- }
59
- this.node.connect(destination.node);
60
- }
61
- disconnect(destination) {
62
- if (destination === undefined) {
63
- this.node.disconnect();
64
- return;
65
- }
66
- this.node.disconnect(destination.node);
67
- }
68
- }
69
- export class AnalyserNode extends AudioNode {
70
- constructor(context, node) {
71
- super(context, node);
72
- this.fftSize = node.fftSize;
73
- this.frequencyBinCount = node.frequencyBinCount;
74
- this.minDecibels = node.minDecibels;
75
- this.maxDecibels = node.maxDecibels;
76
- this.smoothingTimeConstant = node.smoothingTimeConstant;
77
- }
78
- get window() {
79
- return 'blackman';
80
- }
81
- set window(value) {
82
- console.log('React Native Audio API: setting window is not supported on web');
83
- }
84
- getByteFrequencyData(array) {
85
- const data = new Uint8Array(array);
86
- this.node.getByteFrequencyData(data);
87
- for (let i = 0; i < array.length; i++) {
88
- array[i] = data[i];
89
- }
90
- }
91
- getByteTimeDomainData(array) {
92
- const data = new Uint8Array(array);
93
- this.node.getByteTimeDomainData(data);
94
- for (let i = 0; i < array.length; i++) {
95
- array[i] = data[i];
96
- }
97
- }
98
- getFloatFrequencyData(array) {
99
- const data = new Float32Array(array);
100
- this.node.getFloatFrequencyData(data);
101
- for (let i = 0; i < array.length; i++) {
102
- array[i] = data[i];
103
- }
104
- }
105
- getFloatTimeDomainData(array) {
106
- const data = new Float32Array(array);
107
- this.node.getFloatTimeDomainData(data);
108
- for (let i = 0; i < array.length; i++) {
109
- array[i] = data[i];
110
- }
111
- }
112
- }
113
- export class AudioScheduledSourceNode extends AudioNode {
114
- hasBeenStarted = false;
115
- start(when = 0) {
116
- if (when < 0) {
117
- throw new RangeError(`Time must be a finite non-negative number: ${when}`);
118
- }
119
- if (this.hasBeenStarted) {
120
- throw new Error('Cannot call start more than once');
121
- }
122
- this.hasBeenStarted = true;
123
- this.node.start(when);
124
- }
125
- stop(when = 0) {
126
- if (when < 0) {
127
- throw new RangeError(`Time must be a finite non-negative number: ${when}`);
128
- }
129
- if (!this.hasBeenStarted) {
130
- throw new Error('Cannot call stop without calling start first');
131
- }
132
- this.node.stop(when);
133
- }
134
- }
135
- export class AudioBufferSourceNode extends AudioScheduledSourceNode {
136
- constructor(context, node) {
137
- super(context, node);
138
- this.detune = new AudioParam(node.detune);
139
- this.playbackRate = new AudioParam(node.playbackRate);
140
- }
141
- get buffer() {
142
- const buffer = this.node.buffer;
143
- if (!buffer) {
144
- return null;
145
- }
146
- return new AudioBuffer(buffer);
147
- }
148
- set buffer(buffer) {
149
- if (!buffer) {
150
- this.node = null;
151
- return;
152
- }
153
- this.node.buffer = buffer.buffer;
154
- }
155
- get loop() {
156
- return this.node.loop;
157
- }
158
- set loop(value) {
159
- this.node.loop = value;
160
- }
161
- get loopStart() {
162
- return this.node.loopStart;
163
- }
164
- set loopStart(value) {
165
- this.node.loopStart = value;
166
- }
167
- get loopEnd() {
168
- return this.node.loopEnd;
169
- }
170
- set loopEnd(value) {
171
- this.node.loopEnd = value;
172
- }
173
- start(when, offset, duration) {
174
- if (when && when < 0) {
175
- throw new RangeError(`when must be a finite non-negative number: ${when}`);
176
- }
177
- if (offset && offset < 0) {
178
- throw new RangeError(`offset must be a finite non-negative number: ${when}`);
179
- }
180
- if (duration && duration < 0) {
181
- throw new RangeError(`duration must be a finite non-negative number: ${when}`);
182
- }
183
- if (this.hasBeenStarted) {
184
- throw new InvalidStateError('Cannot call start more than once');
185
- }
186
- this.hasBeenStarted = true;
187
- this.node.start(when, offset, duration);
188
- }
189
- }
190
- export class AudioDestinationNode extends AudioNode {}
191
- export class AudioParam {
192
- constructor(param) {
193
- this.param = param;
194
- this.defaultValue = param.defaultValue;
195
- this.minValue = param.minValue;
196
- this.maxValue = param.maxValue;
197
- }
198
- get value() {
199
- return this.param.value;
200
- }
201
- set value(value) {
202
- this.param.value = value;
203
- }
204
- setValueAtTime(value, startTime) {
205
- this.param.setValueAtTime(value, startTime);
206
- }
207
- linearRampToValueAtTime(value, endTime) {
208
- this.param.linearRampToValueAtTime(value, endTime);
209
- }
210
- exponentialRampToValueAtTime(value, endTime) {
211
- this.param.exponentialRampToValueAtTime(value, endTime);
212
- }
213
- setTargetAtTime(target, startTime, timeConstant) {
214
- this.param.setTargetAtTime(target, startTime, timeConstant);
215
- }
216
- setValueCurveAtTime(values, startTime, duration) {
217
- this.param.setValueCurveAtTime(new Float32Array(values), startTime, duration);
218
- }
219
- cancelScheduledValues(startTime) {
220
- this.param.cancelScheduledValues(startTime);
221
- }
222
- cancelAndHoldAtTime(cancelTime) {
223
- this.param.cancelAndHoldAtTime(cancelTime);
224
- }
225
- }
226
- export class BiquadFilterNode extends AudioNode {
227
- constructor(context, biquadFilter) {
228
- super(context, biquadFilter);
229
- this.frequency = new AudioParam(biquadFilter.frequency);
230
- this.detune = new AudioParam(biquadFilter.detune);
231
- this.Q = new AudioParam(biquadFilter.Q);
232
- this.gain = new AudioParam(biquadFilter.gain);
233
- }
234
- get type() {
235
- return this.node.type;
236
- }
237
- set type(value) {
238
- this.node.type = value;
239
- }
240
- getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput) {
241
- if (frequencyArray.length !== magResponseOutput.length || frequencyArray.length !== phaseResponseOutput.length) {
242
- throw new Error(`The lengths of the arrays are not the same frequencyArray: ${frequencyArray.length}, magResponseOutput: ${magResponseOutput.length}, phaseResponseOutput: ${phaseResponseOutput.length}`);
243
- }
244
- const magData = new Float32Array(magResponseOutput);
245
- const phaseData = new Float32Array(phaseResponseOutput);
246
- this.node.getFrequencyResponse(new Float32Array(frequencyArray), magData, phaseData);
247
- for (let i = 0; i < magData.length; i++) {
248
- magResponseOutput[i] = magData[i];
249
- }
250
- for (let i = 0; i < phaseData.length; i++) {
251
- phaseResponseOutput[i] = phaseData[i];
252
- }
253
- }
254
- }
255
- export class PeriodicWave {
256
- /** @internal */
257
-
258
- constructor(periodicWave) {
259
- this.periodicWave = periodicWave;
260
- }
261
- }
262
- export class OscillatorNode extends AudioScheduledSourceNode {
263
- constructor(context, node) {
264
- super(context, node);
265
- this.detune = new AudioParam(node.detune);
266
- this.frequency = new AudioParam(node.frequency);
267
- }
268
- get type() {
269
- return this.node.type;
270
- }
271
- set type(value) {
272
- if (value === 'custom') {
273
- throw new Error("'type' cannot be set directly to 'custom'. Use setPeriodicWave() to create a custom Oscillator type.");
274
- }
275
- this.node.type = value;
276
- }
277
- setPeriodicWave(wave) {
278
- this.node.setPeriodicWave(wave.periodicWave);
279
- }
280
- }
281
- export class GainNode extends AudioNode {
282
- constructor(context, gain) {
283
- super(context, gain);
284
- this.gain = new AudioParam(gain.gain);
285
- }
286
- }
287
- export class StereoPannerNode extends AudioNode {
288
- constructor(context, pan) {
289
- super(context, pan);
290
- this.pan = new AudioParam(pan.pan);
291
- }
292
- }
293
- export class AudioContext {
294
- constructor(_sampleRate) {
295
- this.context = new window.AudioContext();
296
- this.sampleRate = this.context.sampleRate;
297
- this.destination = new AudioDestinationNode(this, this.context.destination);
298
- }
299
- get currentTime() {
300
- return this.context.currentTime;
301
- }
302
- get state() {
303
- return this.context.state;
304
- }
305
- createOscillator() {
306
- return new OscillatorNode(this, this.context.createOscillator());
307
- }
308
- createGain() {
309
- return new GainNode(this, this.context.createGain());
310
- }
311
- createStereoPanner() {
312
- return new StereoPannerNode(this, this.context.createStereoPanner());
313
- }
314
- createBiquadFilter() {
315
- return new BiquadFilterNode(this, this.context.createBiquadFilter());
316
- }
317
- createBufferSource() {
318
- return new AudioBufferSourceNode(this, this.context.createBufferSource());
319
- }
320
- createBuffer(numOfChannels, length, sampleRate) {
321
- return new AudioBuffer(this.context.createBuffer(numOfChannels, length, sampleRate));
322
- }
323
- createPeriodicWave(real, imag, constraints) {
324
- return new PeriodicWave(this.context.createPeriodicWave(real, imag, constraints));
325
- }
326
- createAnalyser() {
327
- return new AnalyserNode(this, this.context.createAnalyser());
328
- }
329
- async decodeAudioDataSource(source) {
330
- const arrayBuffer = await fetch(source).then(response => response.arrayBuffer());
331
- return new AudioBuffer(await this.context.decodeAudioData(arrayBuffer));
332
- }
333
- async close() {
334
- await this.context.close();
335
- }
336
- }
337
- export { ContextState, OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation } from "./core/types.js";
3
+ import { installModule } from "./specs/install.js";
4
+ if (global.__AudioAPIInstaller == null) {
5
+ installModule();
6
+ }
7
+ export { default as AudioBuffer } from "./core/AudioBuffer.js";
8
+ export { default as AudioBufferSourceNode } from "./core/AudioBufferSourceNode.js";
9
+ export { default as AudioContext } from "./core/AudioContext.js";
10
+ export { default as AudioDestinationNode } from "./core/AudioDestinationNode.js";
11
+ export { default as AudioNode } from "./core/AudioNode.js";
12
+ export { default as AnalyserNode } from "./core/AnalyserNode.js";
13
+ export { default as AudioParam } from "./core/AudioParam.js";
14
+ export { default as AudioScheduledSourceNode } from "./core/AudioScheduledSourceNode.js";
15
+ export { default as BaseAudioContext } from "./core/BaseAudioContext.js";
16
+ export { default as BiquadFilterNode } from "./core/BiquadFilterNode.js";
17
+ export { default as GainNode } from "./core/GainNode.js";
18
+ export { default as OscillatorNode } from "./core/OscillatorNode.js";
19
+ export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
20
+ export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
21
+ export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError } from "./errors/index.js";
338
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["InvalidStateError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","array","Float32Array","i","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","data","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","loopStart","loopEnd","offset","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","magData","phaseData","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["installModule","global","__AudioAPIInstaller","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAE/C,IAAIC,MAAM,CAACC,mBAAmB,IAAI,IAAI,EAAE;EACtCF,aAAa,CAAC,CAAC;AACjB;AAEA,SAASG,OAAO,IAAIC,WAAW,QAAQ,uBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,wBAAqB;AAC7D,SAASH,OAAO,IAAII,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASJ,OAAO,IAAIK,SAAS,QAAQ,qBAAkB;AACvD,SAASL,OAAO,IAAIM,YAAY,QAAQ,wBAAqB;AAC7D,SAASN,OAAO,IAAIO,UAAU,QAAQ,sBAAmB;AACzD,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,oCAAiC;AACrF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,4BAAyB;AACrE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,4BAAyB;AACrE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,oBAAiB;AACrD,SAASX,OAAO,IAAIY,cAAc,QAAQ,0BAAuB;AACjE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AAErE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,QACL,mBAAU","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ export { default as AudioBuffer } from "./web-core/AudioBuffer.js";
4
+ export { default as AudioBufferSourceNode } from "./web-core/AudioBufferSourceNode.js";
5
+ export { default as AudioContext } from "./web-core/AudioContext.js";
6
+ export { default as AudioDestinationNode } from "./web-core/AudioDestinationNode.js";
7
+ export { default as AudioNode } from "./web-core/AudioNode.js";
8
+ export { default as AnalyserNode } from "./web-core/AnalyserNode.js";
9
+ export { default as AudioParam } from "./web-core/AudioParam.js";
10
+ export { default as AudioScheduledSourceNode } from "./web-core/AudioScheduledSourceNode.js";
11
+ export { default as BaseAudioContext } from "./web-core/BaseAudioContext.js";
12
+ export { default as BiquadFilterNode } from "./web-core/BiquadFilterNode.js";
13
+ export { default as GainNode } from "./web-core/GainNode.js";
14
+ export { default as OscillatorNode } from "./web-core/OscillatorNode.js";
15
+ export { default as StereoPannerNode } from "./web-core/StereoPannerNode.js";
16
+ export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
17
+ export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError } from "./errors/index.js";
18
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAAwB;AAC/D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,qCAAkC;AACnF,SAASF,OAAO,IAAIG,YAAY,QAAQ,4BAAyB;AACjE,SAASH,OAAO,IAAII,oBAAoB,QAAQ,oCAAiC;AACjF,SAASJ,OAAO,IAAIK,SAAS,QAAQ,yBAAsB;AAC3D,SAASL,OAAO,IAAIM,YAAY,QAAQ,4BAAyB;AACjE,SAASN,OAAO,IAAIO,UAAU,QAAQ,0BAAuB;AAC7D,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,wCAAqC;AACzF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,gCAA6B;AACzE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,gCAA6B;AACzE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,wBAAqB;AACzD,SAASX,OAAO,IAAIY,cAAc,QAAQ,8BAA2B;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,gCAA6B;AAEzE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,QACL,mBAAU","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import AudioNode from "./AudioNode.js";
4
+ export default class AnalyserNode extends AudioNode {
5
+ constructor(context, node) {
6
+ super(context, node);
7
+ this.fftSize = node.fftSize;
8
+ this.frequencyBinCount = node.frequencyBinCount;
9
+ this.minDecibels = node.minDecibels;
10
+ this.maxDecibels = node.maxDecibels;
11
+ this.smoothingTimeConstant = node.smoothingTimeConstant;
12
+ }
13
+ get window() {
14
+ return 'blackman';
15
+ }
16
+ set window(value) {
17
+ console.log('React Native Audio API: setting window is not supported on web');
18
+ }
19
+ getByteFrequencyData(array) {
20
+ const data = new Uint8Array(array);
21
+ this.node.getByteFrequencyData(data);
22
+ for (let i = 0; i < array.length; i++) {
23
+ array[i] = data[i];
24
+ }
25
+ }
26
+ getByteTimeDomainData(array) {
27
+ const data = new Uint8Array(array);
28
+ this.node.getByteTimeDomainData(data);
29
+ for (let i = 0; i < array.length; i++) {
30
+ array[i] = data[i];
31
+ }
32
+ }
33
+ getFloatFrequencyData(array) {
34
+ const data = new Float32Array(array);
35
+ this.node.getFloatFrequencyData(data);
36
+ for (let i = 0; i < array.length; i++) {
37
+ array[i] = data[i];
38
+ }
39
+ }
40
+ getFloatTimeDomainData(array) {
41
+ const data = new Float32Array(array);
42
+ this.node.getFloatTimeDomainData(data);
43
+ for (let i = 0; i < array.length; i++) {
44
+ array[i] = data[i];
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=AnalyserNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioNode","AnalyserNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","data","Uint8Array","i","length","getByteTimeDomainData","getFloatFrequencyData","Float32Array","getFloatTimeDomainData"],"sourceRoot":"../../../src","sources":["web-core/AnalyserNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAInC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAOlDE,WAAWA,CAACC,OAAyB,EAAEC,IAA6B,EAAE;IACpE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,OAAO,GAAGD,IAAI,CAACC,OAAO;IAC3B,IAAI,CAACC,iBAAiB,GAAGF,IAAI,CAACE,iBAAiB;IAC/C,IAAI,CAACC,WAAW,GAAGH,IAAI,CAACG,WAAW;IACnC,IAAI,CAACC,WAAW,GAAGJ,IAAI,CAACI,WAAW;IACnC,IAAI,CAACC,qBAAqB,GAAGL,IAAI,CAACK,qBAAqB;EACzD;EAEA,IAAWC,MAAMA,CAAA,EAAe;IAC9B,OAAO,UAAU;EACnB;EAEA,IAAWA,MAAMA,CAACC,KAAiB,EAAE;IACnCC,OAAO,CAACC,GAAG,CACT,gEACF,CAAC;EACH;EAEOC,oBAAoBA,CAACC,KAAe,EAAQ;IACjD,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACF,KAAK,CAAC;IAEjC,IAAI,CAACX,IAAI,CAA6BU,oBAAoB,CAACE,IAAI,CAAC;IAEjE,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MACrCH,KAAK,CAACG,CAAC,CAAC,GAAGF,IAAI,CAACE,CAAC,CAAC;IACpB;EACF;EAEOE,qBAAqBA,CAACL,KAAe,EAAQ;IAClD,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACF,KAAK,CAAC;IAEjC,IAAI,CAACX,IAAI,CAA6BgB,qBAAqB,CAACJ,IAAI,CAAC;IAElE,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MACrCH,KAAK,CAACG,CAAC,CAAC,GAAGF,IAAI,CAACE,CAAC,CAAC;IACpB;EACF;EAEOG,qBAAqBA,CAACN,KAAe,EAAQ;IAClD,MAAMC,IAAI,GAAG,IAAIM,YAAY,CAACP,KAAK,CAAC;IACnC,IAAI,CAACX,IAAI,CAA6BiB,qBAAqB,CAACL,IAAI,CAAC;IAElE,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MACrCH,KAAK,CAACG,CAAC,CAAC,GAAGF,IAAI,CAACE,CAAC,CAAC;IACpB;EACF;EAEOK,sBAAsBA,CAACR,KAAe,EAAQ;IACnD,MAAMC,IAAI,GAAG,IAAIM,YAAY,CAACP,KAAK,CAAC;IACnC,IAAI,CAACX,IAAI,CAA6BmB,sBAAsB,CAACP,IAAI,CAAC;IAEnE,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MACrCH,KAAK,CAACG,CAAC,CAAC,GAAGF,IAAI,CAACE,CAAC,CAAC;IACpB;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ import { IndexSizeError } from "../errors/index.js";
4
+ export default class AudioBuffer {
5
+ /** @internal */
6
+
7
+ constructor(buffer) {
8
+ this.buffer = buffer;
9
+ this.length = buffer.length;
10
+ this.duration = buffer.duration;
11
+ this.sampleRate = buffer.sampleRate;
12
+ this.numberOfChannels = buffer.numberOfChannels;
13
+ }
14
+ getChannelData(channel) {
15
+ if (channel < 0 || channel >= this.numberOfChannels) {
16
+ throw new IndexSizeError(`The channel number provided (${channel}) is outside the range [0, ${this.numberOfChannels - 1}]`);
17
+ }
18
+ return Array.from(this.buffer.getChannelData(channel));
19
+ }
20
+ copyFromChannel(destination, channelNumber, startInChannel = 0) {
21
+ if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
22
+ throw new IndexSizeError(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
23
+ }
24
+ if (startInChannel < 0 || startInChannel >= this.length) {
25
+ throw new IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
26
+ }
27
+ const array = new Float32Array(destination);
28
+ this.buffer.copyFromChannel(array, channelNumber, startInChannel);
29
+ for (let i = 0; i < destination.length; i++) {
30
+ destination[i] = array[i];
31
+ }
32
+ }
33
+ copyToChannel(source, channelNumber, startInChannel = 0) {
34
+ if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
35
+ throw new IndexSizeError(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
36
+ }
37
+ if (startInChannel < 0 || startInChannel >= this.length) {
38
+ throw new IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
39
+ }
40
+ this.buffer.copyToChannel(new Float32Array(source), channelNumber, startInChannel);
41
+ }
42
+ }
43
+ //# sourceMappingURL=AudioBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Array","from","copyFromChannel","destination","channelNumber","startInChannel","array","Float32Array","i","copyToChannel","source"],"sourceRoot":"../../../src","sources":["web-core/AudioBuffer.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAM/B;;EAGAC,WAAWA,CAACC,MAA8B,EAAE;IAC1C,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAY;IAC/C,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IAEA,OAAOG,KAAK,CAACC,IAAI,CAAC,IAAI,CAACR,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC,CAAC;EACxD;EAEOG,eAAeA,CACpBC,WAAqB,EACrBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACP,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCc,aAAa,8BAA8B,IAAI,CAACP,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIQ,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACX,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCe,cAAc,8BAA8B,IAAI,CAACX,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,MAAMY,KAAK,GAAG,IAAIC,YAAY,CAACJ,WAAW,CAAC;IAE3C,IAAI,CAACV,MAAM,CAACS,eAAe,CAACI,KAAK,EAAEF,aAAa,EAAEC,cAAc,CAAC;IAEjE,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,WAAW,CAACT,MAAM,EAAEc,CAAC,EAAE,EAAE;MAC3CL,WAAW,CAACK,CAAC,CAAC,GAAGF,KAAK,CAACE,CAAC,CAAC;IAC3B;EACF;EAEOC,aAAaA,CAClBC,MAAgB,EAChBN,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACP,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCc,aAAa,8BAA8B,IAAI,CAACP,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIQ,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACX,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCe,cAAc,8BAA8B,IAAI,CAACX,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACgB,aAAa,CACvB,IAAIF,YAAY,CAACG,MAAM,CAAC,EACxBN,aAAa,EACbC,cACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
4
+ import AudioParam from "./AudioParam.js";
5
+ import AudioBuffer from "./AudioBuffer.js";
6
+ import { InvalidStateError, RangeError } from "../errors/index.js";
7
+ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
8
+ constructor(context, node) {
9
+ super(context, node);
10
+ this.detune = new AudioParam(node.detune);
11
+ this.playbackRate = new AudioParam(node.playbackRate);
12
+ }
13
+ get buffer() {
14
+ const buffer = this.node.buffer;
15
+ if (!buffer) {
16
+ return null;
17
+ }
18
+ return new AudioBuffer(buffer);
19
+ }
20
+ set buffer(buffer) {
21
+ if (!buffer) {
22
+ this.node = null;
23
+ return;
24
+ }
25
+ this.node.buffer = buffer.buffer;
26
+ }
27
+ get loop() {
28
+ return this.node.loop;
29
+ }
30
+ set loop(value) {
31
+ this.node.loop = value;
32
+ }
33
+ get loopStart() {
34
+ return this.node.loopStart;
35
+ }
36
+ set loopStart(value) {
37
+ this.node.loopStart = value;
38
+ }
39
+ get loopEnd() {
40
+ return this.node.loopEnd;
41
+ }
42
+ set loopEnd(value) {
43
+ this.node.loopEnd = value;
44
+ }
45
+ start(when, offset, duration) {
46
+ if (when && when < 0) {
47
+ throw new RangeError(`when must be a finite non-negative number: ${when}`);
48
+ }
49
+ if (offset && offset < 0) {
50
+ throw new RangeError(`offset must be a finite non-negative number: ${offset}`);
51
+ }
52
+ if (duration && duration < 0) {
53
+ throw new RangeError(`duration must be a finite non-negative number: ${duration}`);
54
+ }
55
+ if (this.hasBeenStarted) {
56
+ throw new InvalidStateError('Cannot call start more than once');
57
+ }
58
+ this.hasBeenStarted = true;
59
+ this.node.start(when, offset, duration);
60
+ }
61
+ }
62
+ //# sourceMappingURL=AudioBufferSourceNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioScheduledSourceNode","AudioParam","AudioBuffer","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":";;AAAA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AACrC,OAAOC,WAAW,MAAM,kBAAe;AACvC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAGzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CACTC,OAAyB,EACzBC,IAAsC,EACtC;IACA,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIR,UAAU,CAACO,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIT,UAAU,CAACO,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAAsCG,MAAM;IAErE,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IAEA,OAAO,IAAIT,WAAW,CAACS,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,GAA+C,IAAI;MAC7D;IACF;IAEC,IAAI,CAACA,IAAI,CAAsCG,MAAM,GAAGA,MAAM,CAACA,MAAM;EACxE;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAAsCI,IAAI;EAC7D;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAAsCI,IAAI,GAAGC,KAAK;EAC9D;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAAsCM,SAAS;EAClE;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAAsCM,SAAS,GAAGD,KAAK;EACnE;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAAsCO,OAAO;EAChE;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAAsCO,OAAO,GAAGF,KAAK;EACjE;EAEOG,KAAKA,CAACC,IAAa,EAAEC,MAAe,EAAEC,QAAiB,EAAQ;IACpE,IAAIF,IAAI,IAAIA,IAAI,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIb,UAAU,CAClB,8CAA8Ca,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,IAAIA,MAAM,GAAG,CAAC,EAAE;MACxB,MAAM,IAAId,UAAU,CAClB,gDAAgDc,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDe,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACZ,IAAI,CAAsCQ,KAAK,CACnDC,IAAI,EACJC,MAAM,EACNC,QACF,CAAC;EACH;AACF","ignoreList":[]}