@cloudflare/realtimekit-react-native 0.1.4-staging.1 → 0.1.4-staging.2

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 (79) hide show
  1. package/lib/commonjs/AudioSampleHandler.js +61 -0
  2. package/lib/commonjs/AudioSampleHandler.js.map +1 -0
  3. package/lib/commonjs/BackgroundHandler.js +109 -0
  4. package/lib/commonjs/BackgroundHandler.js.map +1 -0
  5. package/lib/commonjs/DeviceInfo.js +39 -0
  6. package/lib/commonjs/DeviceInfo.js.map +1 -0
  7. package/lib/commonjs/LocalMediaError.js +18 -0
  8. package/lib/commonjs/LocalMediaError.js.map +1 -0
  9. package/lib/commonjs/LocalMediaHandler.js +785 -0
  10. package/lib/commonjs/LocalMediaHandler.js.map +1 -0
  11. package/lib/commonjs/LocalMediaInterfaces.js +2 -0
  12. package/lib/commonjs/LocalMediaInterfaces.js.map +1 -0
  13. package/lib/commonjs/LocalMediaUtils.js +298 -0
  14. package/lib/commonjs/LocalMediaUtils.js.map +1 -0
  15. package/lib/commonjs/NativeAudioManager.js +72 -0
  16. package/lib/commonjs/NativeAudioManager.js.map +1 -0
  17. package/lib/commonjs/PermissionHandler.js +157 -0
  18. package/lib/commonjs/PermissionHandler.js.map +1 -0
  19. package/lib/commonjs/ReactContext.js +116 -0
  20. package/lib/commonjs/ReactContext.js.map +1 -0
  21. package/lib/commonjs/ReactHooks.js +99 -0
  22. package/lib/commonjs/ReactHooks.js.map +1 -0
  23. package/lib/commonjs/index.js +95 -0
  24. package/lib/commonjs/index.js.map +1 -0
  25. package/lib/commonjs/utils/crypto.js +76 -0
  26. package/lib/commonjs/utils/crypto.js.map +1 -0
  27. package/lib/module/AudioSampleHandler.js +54 -0
  28. package/lib/module/AudioSampleHandler.js.map +1 -0
  29. package/lib/module/BackgroundHandler.js +103 -0
  30. package/lib/module/BackgroundHandler.js.map +1 -0
  31. package/lib/module/DeviceInfo.js +32 -0
  32. package/lib/module/DeviceInfo.js.map +1 -0
  33. package/lib/module/LocalMediaError.js +11 -0
  34. package/lib/module/LocalMediaError.js.map +1 -0
  35. package/lib/module/LocalMediaHandler.js +778 -0
  36. package/lib/module/LocalMediaHandler.js.map +1 -0
  37. package/lib/module/LocalMediaInterfaces.js +2 -0
  38. package/lib/module/LocalMediaInterfaces.js.map +1 -0
  39. package/lib/module/LocalMediaUtils.js +290 -0
  40. package/lib/module/LocalMediaUtils.js.map +1 -0
  41. package/lib/module/NativeAudioManager.js +65 -0
  42. package/lib/module/NativeAudioManager.js.map +1 -0
  43. package/lib/module/PermissionHandler.js +149 -0
  44. package/lib/module/PermissionHandler.js.map +1 -0
  45. package/lib/module/ReactContext.js +107 -0
  46. package/lib/module/ReactContext.js.map +1 -0
  47. package/lib/module/ReactHooks.js +75 -0
  48. package/lib/module/ReactHooks.js.map +1 -0
  49. package/lib/{src → module}/index.js +32 -32
  50. package/lib/module/index.js.map +1 -0
  51. package/lib/module/utils/crypto.js +74 -0
  52. package/lib/module/utils/crypto.js.map +1 -0
  53. package/lib/{src → typescript/src}/LocalMediaHandler.d.ts +0 -4
  54. package/package.json +5 -4
  55. package/lib/package.json +0 -168
  56. package/lib/src/AudioSampleHandler.js +0 -57
  57. package/lib/src/BackgroundHandler.js +0 -100
  58. package/lib/src/DeviceInfo.js +0 -27
  59. package/lib/src/LocalMediaError.js +0 -6
  60. package/lib/src/LocalMediaHandler.js +0 -860
  61. package/lib/src/LocalMediaInterfaces.js +0 -1
  62. package/lib/src/LocalMediaUtils.js +0 -288
  63. package/lib/src/NativeAudioManager.js +0 -93
  64. package/lib/src/PermissionHandler.js +0 -179
  65. package/lib/src/ReactContext.js +0 -90
  66. package/lib/src/ReactHooks.js +0 -80
  67. package/lib/src/utils/crypto.js +0 -82
  68. /package/lib/{src → typescript/src}/AudioSampleHandler.d.ts +0 -0
  69. /package/lib/{src → typescript/src}/BackgroundHandler.d.ts +0 -0
  70. /package/lib/{src → typescript/src}/DeviceInfo.d.ts +0 -0
  71. /package/lib/{src → typescript/src}/LocalMediaError.d.ts +0 -0
  72. /package/lib/{src → typescript/src}/LocalMediaInterfaces.d.ts +0 -0
  73. /package/lib/{src → typescript/src}/LocalMediaUtils.d.ts +0 -0
  74. /package/lib/{src → typescript/src}/NativeAudioManager.d.ts +0 -0
  75. /package/lib/{src → typescript/src}/PermissionHandler.d.ts +0 -0
  76. /package/lib/{src → typescript/src}/ReactContext.d.ts +0 -0
  77. /package/lib/{src → typescript/src}/ReactHooks.d.ts +0 -0
  78. /package/lib/{src → typescript/src}/index.d.ts +0 -0
  79. /package/lib/{src → typescript/src}/utils/crypto.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["base64Decode","require","NativeModules","TypeMismatchError","Error","QuotaExceededError","warned","insecureRandomValues","array","console","warn","i","r","length","Math","random","getRandomBase64","byteLength","Core","ExpoRandom","getRandomBase64String","global","ExpoModules","getRandomValues","Int8Array","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Uint8ClampedArray","expo","modules","ExpoCrypto","__DEV__","nativeCallSyncHook","buffer","byteOffset","crypto"],"sources":["crypto.ts"],"sourcesContent":["const base64Decode = require('fast-base64-decode');\nconst { NativeModules } = require('react-native');\n\nclass TypeMismatchError extends Error {}\nclass QuotaExceededError extends Error {}\n\nlet warned = false;\nfunction insecureRandomValues(array) {\n if (!warned) {\n console.warn(\n 'Using an insecure random number generator, this should only happen when running in a debugger without support for crypto.getRandomValues'\n );\n warned = true;\n }\n\n for (let i = 0, r; i < array.length; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n array[i] = (r >>> ((i & 0x03) << 3)) & 0xff;\n }\n\n return array;\n}\n\n/**\n * @param {number} byteLength\n * @returns {string}\n */\nfunction getRandomBase64(byteLength) {\n if (NativeModules.Core) {\n return NativeModules.Core.getRandomBase64(byteLength);\n } else if (NativeModules.ExpoRandom) {\n // Expo SDK 41-44\n return NativeModules.ExpoRandom.getRandomBase64String(byteLength);\n } else if (global.ExpoModules) {\n // Expo SDK 45+\n return global.ExpoModules.ExpoRandom.getRandomBase64String(byteLength);\n } else {\n throw new Error('Native module not found');\n }\n}\n\n/**\n * @param {Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Uint8ClampedArray} array\n */\nfunction getRandomValues(array) {\n if (\n !(\n array instanceof Int8Array ||\n array instanceof Uint8Array ||\n array instanceof Int16Array ||\n array instanceof Uint16Array ||\n array instanceof Int32Array ||\n array instanceof Uint32Array ||\n array instanceof Uint8ClampedArray\n )\n ) {\n throw new TypeMismatchError('Expected an integer array');\n }\n\n if (array.byteLength > 65536) {\n throw new QuotaExceededError('Can only request a maximum of 65536 bytes');\n }\n\n // Expo SDK 48+\n if (\n global.expo &&\n global.expo.modules &&\n global.expo.modules.ExpoCrypto &&\n global.expo.modules.ExpoCrypto.getRandomValues\n ) {\n // ExpoCrypto.getRandomValues doesn't return the array\n global.expo.modules.ExpoCrypto.getRandomValues(array);\n return array;\n }\n\n // Calling getRandomBase64 in debug mode leads to the error\n // \"Calling synchronous methods on native modules is not supported in Chrome\".\n // So in that specific case we fall back to just using Math.random.\n if (__DEV__) {\n if (typeof global.nativeCallSyncHook === 'undefined') {\n return insecureRandomValues(array);\n }\n }\n\n base64Decode(\n getRandomBase64(array.byteLength),\n new Uint8Array(array.buffer, array.byteOffset, array.byteLength)\n );\n\n return array;\n}\n\nif (typeof global.crypto !== 'object') {\n // @ts-ignore\n global.crypto = {};\n}\n\nif (typeof global.crypto.getRandomValues !== 'function') {\n global.crypto.getRandomValues = getRandomValues;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
5
+ import { EventEmitter } from 'events';
6
+ const {
7
+ WebRTCModule
8
+ } = NativeModules;
9
+ export default class AudioSampleHandler extends EventEmitter {
10
+ constructor() {
11
+ super();
12
+ _defineProperty(this, "webRTCModuleEmitter", void 0);
13
+ _defineProperty(this, "_audioSamplesListener", void 0);
14
+ _defineProperty(this, "_isListening", false);
15
+ _defineProperty(this, "_currentSamples", void 0);
16
+ this.webRTCModuleEmitter = new NativeEventEmitter(WebRTCModule);
17
+ this._audioSampleHandler = this._audioSampleHandler.bind(this);
18
+ this._currentSamples = new Float32Array(1024);
19
+ this.initialiseSampler();
20
+ }
21
+ static async init() {
22
+ return new AudioSampleHandler();
23
+ }
24
+ _audioSampleHandler(audioData) {
25
+ this._currentSamples.fill(0);
26
+ if (Platform.OS === 'android') {
27
+ this._currentSamples.set(audioData);
28
+ } else {
29
+ this._currentSamples.set(audioData.samples);
30
+ }
31
+ }
32
+ initialiseSampler() {
33
+ this._audioSamplesListener = this.webRTCModuleEmitter.addListener('audioSamples', this._audioSampleHandler);
34
+ this._isListening = true;
35
+ }
36
+ getFloatTimeDomainData(samples) {
37
+ if (!this._isListening) {
38
+ this.initialiseSampler();
39
+ }
40
+ samples.set(this._currentSamples);
41
+ }
42
+ stopListening() {
43
+ if (this._audioSamplesListener) {
44
+ this._audioSamplesListener.remove();
45
+ this._audioSamplesListener = undefined;
46
+ this._isListening = false;
47
+ this._currentSamples.fill(0);
48
+ }
49
+ }
50
+ destructor() {
51
+ this.stopListening();
52
+ }
53
+ }
54
+ //# sourceMappingURL=AudioSampleHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","EventEmitter","WebRTCModule","AudioSampleHandler","constructor","_defineProperty","webRTCModuleEmitter","_audioSampleHandler","bind","_currentSamples","Float32Array","initialiseSampler","init","audioData","fill","OS","set","samples","_audioSamplesListener","addListener","_isListening","getFloatTimeDomainData","stopListening","remove","undefined","destructor"],"sources":["AudioSampleHandler.ts"],"sourcesContent":["import {\n NativeEventEmitter,\n NativeEventSubscription,\n NativeModules,\n Platform,\n} from 'react-native';\nimport { EventEmitter } from 'events';\n\nconst { WebRTCModule } = NativeModules;\n\nexport default class AudioSampleHandler extends EventEmitter {\n private webRTCModuleEmitter: NativeEventEmitter;\n private _audioSamplesListener?: NativeEventSubscription;\n private _isListening = false;\n private _currentSamples: Float32Array;\n\n constructor() {\n super();\n this.webRTCModuleEmitter = new NativeEventEmitter(WebRTCModule);\n this._audioSampleHandler = this._audioSampleHandler.bind(this);\n this._currentSamples = new Float32Array(1024);\n this.initialiseSampler();\n }\n\n public static async init() {\n return new AudioSampleHandler();\n }\n\n private _audioSampleHandler(audioData: any) {\n this._currentSamples.fill(0);\n if (Platform.OS === 'android') {\n this._currentSamples.set(audioData);\n } else {\n this._currentSamples.set(audioData.samples);\n }\n }\n\n private initialiseSampler() {\n this._audioSamplesListener = this.webRTCModuleEmitter.addListener(\n 'audioSamples',\n this._audioSampleHandler\n );\n this._isListening = true;\n }\n\n public getFloatTimeDomainData(samples: Float32Array) {\n if (!this._isListening) {\n this.initialiseSampler();\n }\n samples.set(this._currentSamples);\n }\n\n public stopListening() {\n if (this._audioSamplesListener) {\n this._audioSamplesListener.remove();\n this._audioSamplesListener = undefined;\n this._isListening = false;\n this._currentSamples.fill(0);\n }\n }\n\n public destructor() {\n this.stopListening();\n }\n}\n"],"mappings":";;;AAAA,SACEA,kBAAkB,EAElBC,aAAa,EACbC,QAAQ,QACH,cAAc;AACrB,SAASC,YAAY,QAAQ,QAAQ;AAErC,MAAM;EAAEC;AAAa,CAAC,GAAGH,aAAa;AAEtC,eAAe,MAAMI,kBAAkB,SAASF,YAAY,CAAC;EAM3DG,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAJa,KAAK;IAAAA,eAAA;IAK1B,IAAI,CAACC,mBAAmB,GAAG,IAAIR,kBAAkB,CAACI,YAAY,CAAC;IAC/D,IAAI,CAACK,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACC,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACC,eAAe,GAAG,IAAIC,YAAY,CAAC,IAAI,CAAC;IAC7C,IAAI,CAACC,iBAAiB,CAAC,CAAC;EAC1B;EAEA,aAAoBC,IAAIA,CAAA,EAAG;IACzB,OAAO,IAAIT,kBAAkB,CAAC,CAAC;EACjC;EAEQI,mBAAmBA,CAACM,SAAc,EAAE;IAC1C,IAAI,CAACJ,eAAe,CAACK,IAAI,CAAC,CAAC,CAAC;IAC5B,IAAId,QAAQ,CAACe,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,CAACN,eAAe,CAACO,GAAG,CAACH,SAAS,CAAC;IACrC,CAAC,MAAM;MACL,IAAI,CAACJ,eAAe,CAACO,GAAG,CAACH,SAAS,CAACI,OAAO,CAAC;IAC7C;EACF;EAEQN,iBAAiBA,CAAA,EAAG;IAC1B,IAAI,CAACO,qBAAqB,GAAG,IAAI,CAACZ,mBAAmB,CAACa,WAAW,CAC/D,cAAc,EACd,IAAI,CAACZ,mBACP,CAAC;IACD,IAAI,CAACa,YAAY,GAAG,IAAI;EAC1B;EAEOC,sBAAsBA,CAACJ,OAAqB,EAAE;IACnD,IAAI,CAAC,IAAI,CAACG,YAAY,EAAE;MACtB,IAAI,CAACT,iBAAiB,CAAC,CAAC;IAC1B;IACAM,OAAO,CAACD,GAAG,CAAC,IAAI,CAACP,eAAe,CAAC;EACnC;EAEOa,aAAaA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACJ,qBAAqB,EAAE;MAC9B,IAAI,CAACA,qBAAqB,CAACK,MAAM,CAAC,CAAC;MACnC,IAAI,CAACL,qBAAqB,GAAGM,SAAS;MACtC,IAAI,CAACJ,YAAY,GAAG,KAAK;MACzB,IAAI,CAACX,eAAe,CAACK,IAAI,CAAC,CAAC,CAAC;IAC9B;EACF;EAEOW,UAAUA,CAAA,EAAG;IAClB,IAAI,CAACH,aAAa,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import { DeviceEventEmitter, NativeAppEventEmitter, NativeEventEmitter, NativeModules, Platform } from 'react-native';
5
+ const {
6
+ RTKRNBackgroundTimer
7
+ } = NativeModules;
8
+ const Emitter = new NativeEventEmitter(RTKRNBackgroundTimer);
9
+ class BackgroundTimer {
10
+ constructor() {
11
+ _defineProperty(this, "uniqueId", void 0);
12
+ _defineProperty(this, "callbacks", void 0);
13
+ _defineProperty(this, "backgroundTimer", void 0);
14
+ _defineProperty(this, "backgroundListener", void 0);
15
+ this.uniqueId = 0;
16
+ this.callbacks = {};
17
+ Emitter.addListener('backgroundTimer.timeout', id => {
18
+ if (this.callbacks[id]) {
19
+ const callbackById = this.callbacks[id];
20
+ const {
21
+ callback
22
+ } = callbackById;
23
+ if (!this.callbacks[id].interval) {
24
+ delete this.callbacks[id];
25
+ } else {
26
+ Platform.OS === 'android' ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(id, this.callbacks[id].timeout) : RTKRNBackgroundTimer.setTimeout(id, this.callbacks[id].timeout);
27
+ }
28
+ callback();
29
+ }
30
+ });
31
+ }
32
+ init() {
33
+ return new BackgroundTimer();
34
+ }
35
+
36
+ // Original API
37
+ start(delay = 0) {
38
+ return Platform.OS === 'android' ? RTKRNBackgroundTimer.backgroundTimerStart(delay) : RTKRNBackgroundTimer.start(delay);
39
+ }
40
+ stop() {
41
+ Emitter.removeAllListeners('backgroundTimer.timeout');
42
+ return Platform.OS === 'android' ? RTKRNBackgroundTimer.backgroundTimerStop() : RTKRNBackgroundTimer.stop();
43
+ }
44
+ runBackgroundTimer(callback, delay) {
45
+ const EventEmitter = Platform.select({
46
+ ios: () => NativeAppEventEmitter,
47
+ android: () => DeviceEventEmitter
48
+ })();
49
+ this.start(0);
50
+ this.backgroundListener = EventEmitter.addListener('backgroundTimer', () => {
51
+ this.backgroundListener.remove();
52
+ this.backgroundClockMethod(callback, delay);
53
+ });
54
+ }
55
+ backgroundClockMethod(callback, delay) {
56
+ this.backgroundTimer = this.setTimeout(() => {
57
+ callback();
58
+ this.backgroundClockMethod(callback, delay);
59
+ }, delay);
60
+ }
61
+ stopBackgroundTimer() {
62
+ this.stop();
63
+ this.clearTimeout(this.backgroundTimer);
64
+ }
65
+
66
+ // New API, allowing for multiple timers
67
+ setTimeout(callback, timeout) {
68
+ this.uniqueId += 1;
69
+ const timeoutId = this.uniqueId;
70
+ this.callbacks[timeoutId] = {
71
+ callback,
72
+ interval: false,
73
+ timeout
74
+ };
75
+ Platform.OS === 'android' ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(timeoutId, timeout) : RTKRNBackgroundTimer.setTimeout(timeoutId, timeout);
76
+ return timeoutId;
77
+ }
78
+ clearTimeout(timeoutId) {
79
+ if (this.callbacks[timeoutId]) {
80
+ delete this.callbacks[timeoutId];
81
+ // RTKRNBackgroundTimer.clearTimeout(timeoutId);
82
+ }
83
+ }
84
+ setInterval(callback, timeout) {
85
+ this.uniqueId += 1;
86
+ const intervalId = this.uniqueId;
87
+ this.callbacks[intervalId] = {
88
+ callback,
89
+ interval: true,
90
+ timeout
91
+ };
92
+ Platform.OS === 'android' ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(intervalId, timeout) : RTKRNBackgroundTimer.setTimeout(intervalId, timeout);
93
+ return intervalId;
94
+ }
95
+ clearInterval(intervalId) {
96
+ if (this.callbacks[intervalId]) {
97
+ delete this.callbacks[intervalId];
98
+ // RTKRNBackgroundTimer.clearTimeout(intervalId);
99
+ }
100
+ }
101
+ }
102
+ export default new BackgroundTimer();
103
+ //# sourceMappingURL=BackgroundHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeviceEventEmitter","NativeAppEventEmitter","NativeEventEmitter","NativeModules","Platform","RTKRNBackgroundTimer","Emitter","BackgroundTimer","constructor","_defineProperty","uniqueId","callbacks","addListener","id","callbackById","callback","interval","OS","backgroundTimerSetTimeout","timeout","setTimeout","init","start","delay","backgroundTimerStart","stop","removeAllListeners","backgroundTimerStop","runBackgroundTimer","EventEmitter","select","ios","android","backgroundListener","remove","backgroundClockMethod","backgroundTimer","stopBackgroundTimer","clearTimeout","timeoutId","setInterval","intervalId","clearInterval"],"sources":["BackgroundHandler.ts"],"sourcesContent":["import {\n DeviceEventEmitter,\n NativeAppEventEmitter,\n NativeEventEmitter,\n NativeModules,\n Platform,\n} from 'react-native';\n\nconst { RTKRNBackgroundTimer } = NativeModules;\nconst Emitter = new NativeEventEmitter(RTKRNBackgroundTimer);\n\nclass BackgroundTimer {\n uniqueId: number;\n\n callbacks: { [key: string]: any };\n\n backgroundTimer: number | NodeJS.Timeout | null;\n\n backgroundListener: any;\n\n constructor() {\n this.uniqueId = 0;\n this.callbacks = {};\n\n Emitter.addListener('backgroundTimer.timeout', (id) => {\n if (this.callbacks[id]) {\n const callbackById = this.callbacks[id];\n const { callback } = callbackById;\n if (!this.callbacks[id].interval) {\n delete this.callbacks[id];\n } else {\n Platform.OS === 'android'\n ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(\n id,\n this.callbacks[id].timeout\n )\n : RTKRNBackgroundTimer.setTimeout(id, this.callbacks[id].timeout);\n }\n callback();\n }\n });\n }\n\n init() {\n return new BackgroundTimer();\n }\n\n // Original API\n start(delay = 0) {\n return Platform.OS === 'android'\n ? RTKRNBackgroundTimer.backgroundTimerStart(delay)\n : RTKRNBackgroundTimer.start(delay);\n }\n\n stop() {\n Emitter.removeAllListeners('backgroundTimer.timeout');\n return Platform.OS === 'android'\n ? RTKRNBackgroundTimer.backgroundTimerStop()\n : RTKRNBackgroundTimer.stop();\n }\n\n runBackgroundTimer(callback, delay) {\n const EventEmitter = Platform.select({\n ios: () => NativeAppEventEmitter,\n android: () => DeviceEventEmitter,\n })();\n this.start(0);\n this.backgroundListener = EventEmitter.addListener(\n 'backgroundTimer',\n () => {\n this.backgroundListener.remove();\n this.backgroundClockMethod(callback, delay);\n }\n );\n }\n\n backgroundClockMethod(callback, delay) {\n this.backgroundTimer = this.setTimeout(() => {\n callback();\n this.backgroundClockMethod(callback, delay);\n }, delay);\n }\n\n stopBackgroundTimer() {\n this.stop();\n this.clearTimeout(this.backgroundTimer);\n }\n\n // New API, allowing for multiple timers\n setTimeout(callback, timeout) {\n this.uniqueId += 1;\n const timeoutId = this.uniqueId;\n this.callbacks[timeoutId] = {\n callback,\n interval: false,\n timeout,\n };\n Platform.OS === 'android'\n ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(timeoutId, timeout)\n : RTKRNBackgroundTimer.setTimeout(timeoutId, timeout);\n return timeoutId;\n }\n\n clearTimeout(timeoutId) {\n if (this.callbacks[timeoutId]) {\n delete this.callbacks[timeoutId];\n // RTKRNBackgroundTimer.clearTimeout(timeoutId);\n }\n }\n\n setInterval(callback, timeout) {\n this.uniqueId += 1;\n const intervalId = this.uniqueId;\n this.callbacks[intervalId] = {\n callback,\n interval: true,\n timeout,\n };\n Platform.OS === 'android'\n ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(intervalId, timeout)\n : RTKRNBackgroundTimer.setTimeout(intervalId, timeout);\n return intervalId;\n }\n\n clearInterval(intervalId) {\n if (this.callbacks[intervalId]) {\n delete this.callbacks[intervalId];\n // RTKRNBackgroundTimer.clearTimeout(intervalId);\n }\n }\n}\n\nexport default new BackgroundTimer();\n"],"mappings":";;;AAAA,SACEA,kBAAkB,EAClBC,qBAAqB,EACrBC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AAErB,MAAM;EAAEC;AAAqB,CAAC,GAAGF,aAAa;AAC9C,MAAMG,OAAO,GAAG,IAAIJ,kBAAkB,CAACG,oBAAoB,CAAC;AAE5D,MAAME,eAAe,CAAC;EASpBC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACZ,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;IAEnBL,OAAO,CAACM,WAAW,CAAC,yBAAyB,EAAGC,EAAE,IAAK;MACrD,IAAI,IAAI,CAACF,SAAS,CAACE,EAAE,CAAC,EAAE;QACtB,MAAMC,YAAY,GAAG,IAAI,CAACH,SAAS,CAACE,EAAE,CAAC;QACvC,MAAM;UAAEE;QAAS,CAAC,GAAGD,YAAY;QACjC,IAAI,CAAC,IAAI,CAACH,SAAS,CAACE,EAAE,CAAC,CAACG,QAAQ,EAAE;UAChC,OAAO,IAAI,CAACL,SAAS,CAACE,EAAE,CAAC;QAC3B,CAAC,MAAM;UACLT,QAAQ,CAACa,EAAE,KAAK,SAAS,GACrBZ,oBAAoB,CAACa,yBAAyB,CAC5CL,EAAE,EACF,IAAI,CAACF,SAAS,CAACE,EAAE,CAAC,CAACM,OACrB,CAAC,GACDd,oBAAoB,CAACe,UAAU,CAACP,EAAE,EAAE,IAAI,CAACF,SAAS,CAACE,EAAE,CAAC,CAACM,OAAO,CAAC;QACrE;QACAJ,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC,CAAC;EACJ;EAEAM,IAAIA,CAAA,EAAG;IACL,OAAO,IAAId,eAAe,CAAC,CAAC;EAC9B;;EAEA;EACAe,KAAKA,CAACC,KAAK,GAAG,CAAC,EAAE;IACf,OAAOnB,QAAQ,CAACa,EAAE,KAAK,SAAS,GAC5BZ,oBAAoB,CAACmB,oBAAoB,CAACD,KAAK,CAAC,GAChDlB,oBAAoB,CAACiB,KAAK,CAACC,KAAK,CAAC;EACvC;EAEAE,IAAIA,CAAA,EAAG;IACLnB,OAAO,CAACoB,kBAAkB,CAAC,yBAAyB,CAAC;IACrD,OAAOtB,QAAQ,CAACa,EAAE,KAAK,SAAS,GAC5BZ,oBAAoB,CAACsB,mBAAmB,CAAC,CAAC,GAC1CtB,oBAAoB,CAACoB,IAAI,CAAC,CAAC;EACjC;EAEAG,kBAAkBA,CAACb,QAAQ,EAAEQ,KAAK,EAAE;IAClC,MAAMM,YAAY,GAAGzB,QAAQ,CAAC0B,MAAM,CAAC;MACnCC,GAAG,EAAEA,CAAA,KAAM9B,qBAAqB;MAChC+B,OAAO,EAAEA,CAAA,KAAMhC;IACjB,CAAC,CAAC,CAAC,CAAC;IACJ,IAAI,CAACsB,KAAK,CAAC,CAAC,CAAC;IACb,IAAI,CAACW,kBAAkB,GAAGJ,YAAY,CAACjB,WAAW,CAChD,iBAAiB,EACjB,MAAM;MACJ,IAAI,CAACqB,kBAAkB,CAACC,MAAM,CAAC,CAAC;MAChC,IAAI,CAACC,qBAAqB,CAACpB,QAAQ,EAAEQ,KAAK,CAAC;IAC7C,CACF,CAAC;EACH;EAEAY,qBAAqBA,CAACpB,QAAQ,EAAEQ,KAAK,EAAE;IACrC,IAAI,CAACa,eAAe,GAAG,IAAI,CAAChB,UAAU,CAAC,MAAM;MAC3CL,QAAQ,CAAC,CAAC;MACV,IAAI,CAACoB,qBAAqB,CAACpB,QAAQ,EAAEQ,KAAK,CAAC;IAC7C,CAAC,EAAEA,KAAK,CAAC;EACX;EAEAc,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAACZ,IAAI,CAAC,CAAC;IACX,IAAI,CAACa,YAAY,CAAC,IAAI,CAACF,eAAe,CAAC;EACzC;;EAEA;EACAhB,UAAUA,CAACL,QAAQ,EAAEI,OAAO,EAAE;IAC5B,IAAI,CAACT,QAAQ,IAAI,CAAC;IAClB,MAAM6B,SAAS,GAAG,IAAI,CAAC7B,QAAQ;IAC/B,IAAI,CAACC,SAAS,CAAC4B,SAAS,CAAC,GAAG;MAC1BxB,QAAQ;MACRC,QAAQ,EAAE,KAAK;MACfG;IACF,CAAC;IACDf,QAAQ,CAACa,EAAE,KAAK,SAAS,GACrBZ,oBAAoB,CAACa,yBAAyB,CAACqB,SAAS,EAAEpB,OAAO,CAAC,GAClEd,oBAAoB,CAACe,UAAU,CAACmB,SAAS,EAAEpB,OAAO,CAAC;IACvD,OAAOoB,SAAS;EAClB;EAEAD,YAAYA,CAACC,SAAS,EAAE;IACtB,IAAI,IAAI,CAAC5B,SAAS,CAAC4B,SAAS,CAAC,EAAE;MAC7B,OAAO,IAAI,CAAC5B,SAAS,CAAC4B,SAAS,CAAC;MAChC;IACF;EACF;EAEAC,WAAWA,CAACzB,QAAQ,EAAEI,OAAO,EAAE;IAC7B,IAAI,CAACT,QAAQ,IAAI,CAAC;IAClB,MAAM+B,UAAU,GAAG,IAAI,CAAC/B,QAAQ;IAChC,IAAI,CAACC,SAAS,CAAC8B,UAAU,CAAC,GAAG;MAC3B1B,QAAQ;MACRC,QAAQ,EAAE,IAAI;MACdG;IACF,CAAC;IACDf,QAAQ,CAACa,EAAE,KAAK,SAAS,GACrBZ,oBAAoB,CAACa,yBAAyB,CAACuB,UAAU,EAAEtB,OAAO,CAAC,GACnEd,oBAAoB,CAACe,UAAU,CAACqB,UAAU,EAAEtB,OAAO,CAAC;IACxD,OAAOsB,UAAU;EACnB;EAEAC,aAAaA,CAACD,UAAU,EAAE;IACxB,IAAI,IAAI,CAAC9B,SAAS,CAAC8B,UAAU,CAAC,EAAE;MAC9B,OAAO,IAAI,CAAC9B,SAAS,CAAC8B,UAAU,CAAC;MACjC;IACF;EACF;AACF;AAEA,eAAe,IAAIlC,eAAe,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import { Platform } from 'react-native';
5
+ import sdk_package from '../package.json';
6
+ class DeviceInfo {
7
+ constructor() {
8
+ _defineProperty(this, "deviceInfo", void 0);
9
+ this.deviceInfo = {
10
+ isMobile: true,
11
+ isReactNative: true,
12
+ osName: Platform.OS,
13
+ osVersion: Platform.Version,
14
+ reactNativeVersion: this.getReactNativeVersion(),
15
+ sdkType: 'realtimekit-react-native',
16
+ reactNativeSdkVersion: this.getSdkVersion()
17
+ };
18
+ }
19
+ getSdkVersion() {
20
+ const version = sdk_package.version;
21
+ return '0.1.4' + version.slice(5);
22
+ }
23
+ getReactNativeVersion() {
24
+ const version = Platform.constants.reactNativeVersion;
25
+ return version.major + '.' + version.minor + '.' + version.patch;
26
+ }
27
+ getDeviceInfo() {
28
+ return this.deviceInfo;
29
+ }
30
+ }
31
+ export default new DeviceInfo();
32
+ //# sourceMappingURL=DeviceInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","sdk_package","DeviceInfo","constructor","_defineProperty","deviceInfo","isMobile","isReactNative","osName","OS","osVersion","Version","reactNativeVersion","getReactNativeVersion","sdkType","reactNativeSdkVersion","getSdkVersion","version","slice","constants","major","minor","patch","getDeviceInfo"],"sources":["DeviceInfo.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport sdk_package from '../package.json';\n\nclass DeviceInfo {\n private deviceInfo: any;\n\n constructor() {\n this.deviceInfo = {\n isMobile: true,\n isReactNative: true,\n osName: Platform.OS,\n osVersion: Platform.Version,\n reactNativeVersion: this.getReactNativeVersion(),\n sdkType: 'realtimekit-react-native',\n reactNativeSdkVersion: this.getSdkVersion(),\n };\n }\n\n private getSdkVersion() {\n const version = sdk_package.version;\n return '0.1.4' + version.slice(5);\n }\n\n private getReactNativeVersion() {\n const version = Platform.constants.reactNativeVersion;\n return version.major + '.' + version.minor + '.' + version.patch;\n }\n\n getDeviceInfo() {\n return this.deviceInfo;\n }\n}\n\nexport default new DeviceInfo();\n"],"mappings":";;;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,WAAW,MAAM,iBAAiB;AAEzC,MAAMC,UAAU,CAAC;EAGfC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IACZ,IAAI,CAACC,UAAU,GAAG;MAChBC,QAAQ,EAAE,IAAI;MACdC,aAAa,EAAE,IAAI;MACnBC,MAAM,EAAER,QAAQ,CAACS,EAAE;MACnBC,SAAS,EAAEV,QAAQ,CAACW,OAAO;MAC3BC,kBAAkB,EAAE,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAChDC,OAAO,EAAE,0BAA0B;MACnCC,qBAAqB,EAAE,IAAI,CAACC,aAAa,CAAC;IAC5C,CAAC;EACH;EAEQA,aAAaA,CAAA,EAAG;IACtB,MAAMC,OAAO,GAAGhB,WAAW,CAACgB,OAAO;IACnC,OAAO,OAAO,GAAGA,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC;EACnC;EAEQL,qBAAqBA,CAAA,EAAG;IAC9B,MAAMI,OAAO,GAAGjB,QAAQ,CAACmB,SAAS,CAACP,kBAAkB;IACrD,OAAOK,OAAO,CAACG,KAAK,GAAG,GAAG,GAAGH,OAAO,CAACI,KAAK,GAAG,GAAG,GAAGJ,OAAO,CAACK,KAAK;EAClE;EAEAC,aAAaA,CAAA,EAAG;IACd,OAAO,IAAI,CAAClB,UAAU;EACxB;AACF;AAEA,eAAe,IAAIH,UAAU,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ export default class LocalMediaError extends Error {
5
+ constructor(message, code) {
6
+ super(message);
7
+ _defineProperty(this, "code", void 0);
8
+ this.code = code;
9
+ }
10
+ }
11
+ //# sourceMappingURL=LocalMediaError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LocalMediaError","Error","constructor","message","code","_defineProperty"],"sources":["LocalMediaError.ts"],"sourcesContent":["export default class LocalMediaError extends Error {\n code: string;\n\n constructor(message: string, code: string) {\n super(message);\n this.code = code;\n }\n}\n"],"mappings":";;;AAAA,eAAe,MAAMA,eAAe,SAASC,KAAK,CAAC;EAGjDC,WAAWA,CAACC,OAAe,EAAEC,IAAY,EAAE;IACzC,KAAK,CAACD,OAAO,CAAC;IAACE,eAAA;IACf,IAAI,CAACD,IAAI,GAAGA,IAAI;EAClB;AACF","ignoreList":[]}