react-native-audio-api 0.10.1 → 0.10.3

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 (66) hide show
  1. package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +2 -0
  2. package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +1 -0
  3. package/ios/audioapi/ios/core/IOSAudioRecorder.h +2 -1
  4. package/lib/commonjs/AudioAPIModule/AudioAPIModule.js +90 -0
  5. package/lib/commonjs/AudioAPIModule/AudioAPIModule.js.map +1 -0
  6. package/lib/commonjs/AudioAPIModule/globals.d.js +6 -0
  7. package/lib/commonjs/AudioAPIModule/globals.d.js.map +1 -0
  8. package/lib/commonjs/AudioAPIModule/index.js +14 -0
  9. package/lib/commonjs/AudioAPIModule/index.js.map +1 -0
  10. package/lib/commonjs/api.js +14 -24
  11. package/lib/commonjs/api.js.map +1 -1
  12. package/lib/commonjs/core/AudioContext.js +4 -7
  13. package/lib/commonjs/core/AudioContext.js.map +1 -1
  14. package/lib/commonjs/core/BaseAudioContext.js +8 -7
  15. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  16. package/lib/commonjs/core/OfflineAudioContext.js +3 -6
  17. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -1
  18. package/lib/commonjs/system/AudioManager.js +1 -7
  19. package/lib/commonjs/system/AudioManager.js.map +1 -1
  20. package/lib/commonjs/utils/index.js +9 -22
  21. package/lib/commonjs/utils/index.js.map +1 -1
  22. package/lib/module/AudioAPIModule/AudioAPIModule.js +87 -0
  23. package/lib/module/AudioAPIModule/AudioAPIModule.js.map +1 -0
  24. package/lib/module/AudioAPIModule/globals.d.js +4 -0
  25. package/lib/module/AudioAPIModule/globals.d.js.map +1 -0
  26. package/lib/module/AudioAPIModule/index.js +4 -0
  27. package/lib/module/AudioAPIModule/index.js.map +1 -0
  28. package/lib/module/api.js +17 -28
  29. package/lib/module/api.js.map +1 -1
  30. package/lib/module/core/AudioContext.js +4 -7
  31. package/lib/module/core/AudioContext.js.map +1 -1
  32. package/lib/module/core/BaseAudioContext.js +9 -8
  33. package/lib/module/core/BaseAudioContext.js.map +1 -1
  34. package/lib/module/core/OfflineAudioContext.js +3 -6
  35. package/lib/module/core/OfflineAudioContext.js.map +1 -1
  36. package/lib/module/system/AudioManager.js +1 -7
  37. package/lib/module/system/AudioManager.js.map +1 -1
  38. package/lib/module/utils/index.js +8 -21
  39. package/lib/module/utils/index.js.map +1 -1
  40. package/lib/typescript/AudioAPIModule/AudioAPIModule.d.ts +36 -0
  41. package/lib/typescript/AudioAPIModule/AudioAPIModule.d.ts.map +1 -0
  42. package/lib/typescript/AudioAPIModule/index.d.ts +2 -0
  43. package/lib/typescript/AudioAPIModule/index.d.ts.map +1 -0
  44. package/lib/typescript/api.d.ts +17 -26
  45. package/lib/typescript/api.d.ts.map +1 -1
  46. package/lib/typescript/core/AudioContext.d.ts +1 -1
  47. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  48. package/lib/typescript/core/BaseAudioContext.d.ts +4 -4
  49. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  50. package/lib/typescript/core/OfflineAudioContext.d.ts +1 -1
  51. package/lib/typescript/core/OfflineAudioContext.d.ts.map +1 -1
  52. package/lib/typescript/system/AudioManager.d.ts +2 -2
  53. package/lib/typescript/system/AudioManager.d.ts.map +1 -1
  54. package/lib/typescript/utils/index.d.ts +1 -11
  55. package/lib/typescript/utils/index.d.ts.map +1 -1
  56. package/package.json +5 -8
  57. package/scripts/validate-worklets-version.js +4 -5
  58. package/src/AudioAPIModule/AudioAPIModule.ts +122 -0
  59. package/src/AudioAPIModule/globals.d.ts +35 -0
  60. package/src/AudioAPIModule/index.ts +1 -0
  61. package/src/api.ts +20 -72
  62. package/src/core/AudioContext.ts +4 -7
  63. package/src/core/BaseAudioContext.ts +58 -47
  64. package/src/core/OfflineAudioContext.ts +4 -7
  65. package/src/system/AudioManager.ts +9 -19
  66. package/src/utils/index.ts +9 -35
@@ -1,46 +1,20 @@
1
- import type { ShareableWorkletCallback } from '../interfaces';
2
-
3
- interface SimplifiedWorkletModule {
4
- makeShareableCloneRecursive: (
5
- workletCallback: ShareableWorkletCallback
6
- ) => ShareableWorkletCallback;
7
-
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- createWorkletRuntime: (options?: any) => any;
10
- }
11
-
12
- export function clamp(value: number, min: number, max: number): number {
13
- return Math.min(Math.max(value, min), max);
14
- }
15
-
16
- let isWorkletsAvailable = false;
17
- export let isWorkletsVersionSupported = false;
18
- export let workletsVersion = 'unknown';
19
- export const supportedWorkletsVersions = ['0.6.0', '0.6.1'];
20
- export let workletsModule: SimplifiedWorkletModule;
1
+ import AudioAPIModule from '../AudioAPIModule';
21
2
 
22
3
  export function assertWorkletsEnabled() {
23
- if (!isWorkletsAvailable) {
4
+ if (!AudioAPIModule.areWorkletsAvailable) {
24
5
  throw new Error(
25
6
  '[react-native-audio-api]: Worklets are not available. Please install react-native-worklets to use this feature.'
26
7
  );
27
- } else if (!isWorkletsVersionSupported) {
8
+ }
9
+
10
+ if (!AudioAPIModule.isWorkletsVersionSupported) {
28
11
  throw new Error(
29
- `[react-native-audio-api]: Worklets version ${workletsVersion} is not supported.
30
- Please install react-native-worklets of one of the following versions: [${supportedWorkletsVersions.join(', ')}] to use this feature.`
12
+ `[react-native-audio-api]: Worklets version ${AudioAPIModule.workletsVersion} is not supported.
13
+ Please install react-native-worklets of one of the following versions: [${AudioAPIModule.supportedWorkletsVersion.join(', ')}] to use this feature.`
31
14
  );
32
15
  }
33
16
  }
34
17
 
35
- try {
36
- workletsModule = require('react-native-worklets');
37
- const workletsModuleJson = require('react-native-worklets/package.json');
38
- isWorkletsVersionSupported = supportedWorkletsVersions.includes(
39
- workletsModuleJson.version
40
- );
41
- isWorkletsAvailable = true;
42
- workletsVersion = workletsModuleJson.version;
43
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
- } catch (error) {
45
- isWorkletsAvailable = false;
18
+ export function clamp(value: number, min: number, max: number): number {
19
+ return Math.min(Math.max(value, min), max);
46
20
  }