@cloudflare/realtimekit-react-native 0.3.2-staging.1 → 1.0.0-staging.0

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.
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_realtimekit","_interopRequireDefault","_ReactContext","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_BackgroundHandler","_AudioSampleHandler","_LocalMediaUtils","_LocalMediaHandler","e","__esModule","default","useRealtimeKitClient","client","setClient","useState","initClient","options","cleanUpEvents","cli","RealtimeKitClient","init","shouldUpdate","slice","newSlice","Array","isArray","length","useRTKSelector","selector","useRealtimeKitSelector","meeting","updates","useContext","RealtimeKitContext","Error","state","useRef","forceUpdate","useReducer","c","useEffect","currentState","listener","newStateSlice","current","addListener","removeListener","RTKHelper","NativeModules","webRTCModuleEmitter","removeAllListeners","deviceChangeListener","BackgroundTimer","stop","Platform","OS","isForegroundServiceRunning","then","val","stopService","broadcastEmitter","_err"],"sources":["ReactHooks.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport RealtimeKitClient, {\n RealtimeKitClientOptions,\n} from '@cloudflare/realtimekit';\nimport { RealtimeKitContext } from './ReactContext';\nimport BackgroundTimer from './BackgroundHandler';\nimport { webRTCModuleEmitter } from './AudioSampleHandler';\nimport { deviceChangeListener } from './LocalMediaUtils';\nimport { broadcastEmitter } from './LocalMediaHandler';\n\n/**\n * Hook which manages a RealtimeKitClient instance\n */\nexport const useRealtimeKitClient = (): [\n RealtimeKitClient | undefined,\n (options: RealtimeKitClientOptions) => Promise<RealtimeKitClient>\n] => {\n const [client, setClient] = useState<RealtimeKitClient>();\n const initClient = async (\n options: RealtimeKitClientOptions\n ): Promise<RealtimeKitClient> => {\n if (client) cleanUpEvents();\n const cli = await RealtimeKitClient.init(options);\n setClient(cli);\n return cli;\n };\n return [client, initClient];\n};\n\n/**\n * Utility function which determines whether to trigger update or not\n */\nconst shouldUpdate = <StateSlice,>(\n slice: StateSlice,\n newSlice: StateSlice\n): boolean => {\n if (slice !== newSlice) {\n return true;\n }\n if (Array.isArray(slice) && Array.isArray(newSlice)) {\n if (slice.length !== newSlice.length) {\n return true;\n }\n }\n\n return false;\n};\n\ntype StateSelector<T extends object, U> = (state: T) => U;\n\n/**\n * @deprecated Use `useRealtimeKitSelector` instead.\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRTKSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n return useRealtimeKitSelector(selector);\n};\n\n/**\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRealtimeKitSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n const { meeting, updates } = useContext(RealtimeKitContext);\n if (!meeting)\n throw new Error(\n 'useRealtimeKitSelector must be used within the RealtimeKitProvider'\n );\n const state = useRef(selector(meeting));\n const [, forceUpdate] = useReducer((c) => c + 1, 0) as [never, () => void];\n\n useEffect(() => {\n const currentState = meeting && selector(meeting);\n const listener = () => {\n const newStateSlice = meeting && selector(meeting);\n if (shouldUpdate(state.current, newStateSlice)) {\n state.current = newStateSlice;\n forceUpdate();\n }\n };\n if (\n currentState &&\n typeof currentState === 'object' &&\n 'addListener' in currentState\n ) {\n (currentState as any).addListener('*', forceUpdate);\n return () => {\n (currentState as any).removeListener('*', forceUpdate);\n };\n }\n updates?.addListener(listener);\n return () => {\n updates?.removeListener(listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [meeting, updates]);\n return state.current;\n};\n\nfunction cleanUpEvents() {\n const { RTKHelper } = NativeModules;\n\n webRTCModuleEmitter.removeAllListeners('audioSamples');\n deviceChangeListener.removeAllListeners('onAudioDeviceChanged');\n BackgroundTimer.stop();\n\n try {\n if (Platform.OS === 'android') {\n RTKHelper.isForegroundServiceRunning().then((val) => {\n if (val) {\n RTKHelper.stopService();\n }\n });\n } else {\n broadcastEmitter.removeAllListeners('iOS_BroadcastStarted');\n broadcastEmitter.removeAllListeners('iOS_BroadcastStopped');\n }\n } catch (_err) {}\n}\nexport * from './ReactContext';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_realtimekit","_interopRequireDefault","_ReactContext","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_BackgroundHandler","_AudioSampleHandler","_LocalMediaUtils","_LocalMediaHandler","e","__esModule","default","useRealtimeKitClient","client","setClient","useState","initClient","options","cleanUpEvents","cli","RealtimeKitClient","init","shouldUpdate","slice","newSlice","Array","isArray","length","useRTKSelector","selector","useRealtimeKitSelector","meeting","updates","useContext","RealtimeKitContext","Error","state","useRef","forceUpdate","useReducer","c","useEffect","currentState","listener","newStateSlice","current","addListener","removeListener","RTKHelper","NativeModules","webRTCModuleEmitter","removeAllListeners","deviceChangeListener","BackgroundTimer","stop","Platform","OS","isForegroundServiceRunning","then","val","stopService","broadcastEmitter","_err"],"sources":["ReactHooks.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport RealtimeKitClient, { RTKClientOptions } from '@cloudflare/realtimekit';\nimport { RealtimeKitContext } from './ReactContext';\nimport BackgroundTimer from './BackgroundHandler';\nimport { webRTCModuleEmitter } from './AudioSampleHandler';\nimport { deviceChangeListener } from './LocalMediaUtils';\nimport { broadcastEmitter } from './LocalMediaHandler';\n\n/**\n * Hook which manages a RealtimeKitClient instance\n */\nexport const useRealtimeKitClient = (): [\n RealtimeKitClient | undefined,\n (options: RTKClientOptions) => Promise<RealtimeKitClient>\n] => {\n const [client, setClient] = useState<RealtimeKitClient>();\n const initClient = async (\n options: RTKClientOptions\n ): Promise<RealtimeKitClient> => {\n if (client) cleanUpEvents();\n const cli = await RealtimeKitClient.init(options);\n setClient(cli);\n return cli;\n };\n return [client, initClient];\n};\n\n/**\n * Utility function which determines whether to trigger update or not\n */\nconst shouldUpdate = <StateSlice,>(\n slice: StateSlice,\n newSlice: StateSlice\n): boolean => {\n if (slice !== newSlice) {\n return true;\n }\n if (Array.isArray(slice) && Array.isArray(newSlice)) {\n if (slice.length !== newSlice.length) {\n return true;\n }\n }\n\n return false;\n};\n\ntype StateSelector<T extends object, U> = (state: T) => U;\n\n/**\n * @deprecated Use `useRealtimeKitSelector` instead.\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRTKSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n return useRealtimeKitSelector(selector);\n};\n\n/**\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRealtimeKitSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n const { meeting, updates } = useContext(RealtimeKitContext);\n if (!meeting)\n throw new Error(\n 'useRealtimeKitSelector must be used within the RealtimeKitProvider'\n );\n const state = useRef(selector(meeting));\n const [, forceUpdate] = useReducer((c) => c + 1, 0) as [never, () => void];\n\n useEffect(() => {\n const currentState = meeting && selector(meeting);\n const listener = () => {\n const newStateSlice = meeting && selector(meeting);\n if (shouldUpdate(state.current, newStateSlice)) {\n state.current = newStateSlice;\n forceUpdate();\n }\n };\n if (\n currentState &&\n typeof currentState === 'object' &&\n 'addListener' in currentState\n ) {\n (currentState as any).addListener('*', forceUpdate);\n return () => {\n (currentState as any).removeListener('*', forceUpdate);\n };\n }\n updates?.addListener(listener);\n return () => {\n updates?.removeListener(listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [meeting, updates]);\n return state.current;\n};\n\nfunction cleanUpEvents() {\n const { RTKHelper } = NativeModules;\n\n webRTCModuleEmitter.removeAllListeners('audioSamples');\n deviceChangeListener.removeAllListeners('onAudioDeviceChanged');\n BackgroundTimer.stop();\n\n try {\n if (Platform.OS === 'android') {\n RTKHelper.isForegroundServiceRunning().then((val) => {\n if (val) {\n RTKHelper.stopService();\n }\n });\n } else {\n broadcastEmitter.removeAllListeners('iOS_BroadcastStarted');\n broadcastEmitter.removeAllListeners('iOS_BroadcastStopped');\n }\n } catch (_err) {}\n}\nexport * from './ReactContext';\n"],"mappings":"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","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SDK_VERSION = void 0;
7
- const SDK_VERSION = exports.SDK_VERSION = '0.3.2-staging.1';
7
+ const SDK_VERSION = exports.SDK_VERSION = '1.0.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SDK_VERSION","exports"],"sources":["version.ts"],"sourcesContent":["export const SDK_VERSION = '0.3.2-staging.1';\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["SDK_VERSION","exports"],"sources":["version.ts"],"sourcesContent":["export const SDK_VERSION = '1.0.0';\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,OAAO","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useRef","useReducer","useContext","NativeModules","Platform","RealtimeKitClient","RealtimeKitContext","BackgroundTimer","webRTCModuleEmitter","deviceChangeListener","broadcastEmitter","useRealtimeKitClient","client","setClient","initClient","options","cleanUpEvents","cli","init","shouldUpdate","slice","newSlice","Array","isArray","length","useRTKSelector","selector","useRealtimeKitSelector","meeting","updates","Error","state","forceUpdate","c","currentState","listener","newStateSlice","current","addListener","removeListener","RTKHelper","removeAllListeners","stop","OS","isForegroundServiceRunning","then","val","stopService","_err"],"sources":["ReactHooks.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport RealtimeKitClient, {\n RealtimeKitClientOptions,\n} from '@cloudflare/realtimekit';\nimport { RealtimeKitContext } from './ReactContext';\nimport BackgroundTimer from './BackgroundHandler';\nimport { webRTCModuleEmitter } from './AudioSampleHandler';\nimport { deviceChangeListener } from './LocalMediaUtils';\nimport { broadcastEmitter } from './LocalMediaHandler';\n\n/**\n * Hook which manages a RealtimeKitClient instance\n */\nexport const useRealtimeKitClient = (): [\n RealtimeKitClient | undefined,\n (options: RealtimeKitClientOptions) => Promise<RealtimeKitClient>\n] => {\n const [client, setClient] = useState<RealtimeKitClient>();\n const initClient = async (\n options: RealtimeKitClientOptions\n ): Promise<RealtimeKitClient> => {\n if (client) cleanUpEvents();\n const cli = await RealtimeKitClient.init(options);\n setClient(cli);\n return cli;\n };\n return [client, initClient];\n};\n\n/**\n * Utility function which determines whether to trigger update or not\n */\nconst shouldUpdate = <StateSlice,>(\n slice: StateSlice,\n newSlice: StateSlice\n): boolean => {\n if (slice !== newSlice) {\n return true;\n }\n if (Array.isArray(slice) && Array.isArray(newSlice)) {\n if (slice.length !== newSlice.length) {\n return true;\n }\n }\n\n return false;\n};\n\ntype StateSelector<T extends object, U> = (state: T) => U;\n\n/**\n * @deprecated Use `useRealtimeKitSelector` instead.\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRTKSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n return useRealtimeKitSelector(selector);\n};\n\n/**\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRealtimeKitSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n const { meeting, updates } = useContext(RealtimeKitContext);\n if (!meeting)\n throw new Error(\n 'useRealtimeKitSelector must be used within the RealtimeKitProvider'\n );\n const state = useRef(selector(meeting));\n const [, forceUpdate] = useReducer((c) => c + 1, 0) as [never, () => void];\n\n useEffect(() => {\n const currentState = meeting && selector(meeting);\n const listener = () => {\n const newStateSlice = meeting && selector(meeting);\n if (shouldUpdate(state.current, newStateSlice)) {\n state.current = newStateSlice;\n forceUpdate();\n }\n };\n if (\n currentState &&\n typeof currentState === 'object' &&\n 'addListener' in currentState\n ) {\n (currentState as any).addListener('*', forceUpdate);\n return () => {\n (currentState as any).removeListener('*', forceUpdate);\n };\n }\n updates?.addListener(listener);\n return () => {\n updates?.removeListener(listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [meeting, updates]);\n return state.current;\n};\n\nfunction cleanUpEvents() {\n const { RTKHelper } = NativeModules;\n\n webRTCModuleEmitter.removeAllListeners('audioSamples');\n deviceChangeListener.removeAllListeners('onAudioDeviceChanged');\n BackgroundTimer.stop();\n\n try {\n if (Platform.OS === 'android') {\n RTKHelper.isForegroundServiceRunning().then((val) => {\n if (val) {\n RTKHelper.stopService();\n }\n });\n } else {\n broadcastEmitter.removeAllListeners('iOS_BroadcastStarted');\n broadcastEmitter.removeAllListeners('iOS_BroadcastStopped');\n }\n } catch (_err) {}\n}\nexport * from './ReactContext';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useRef","useReducer","useContext","NativeModules","Platform","RealtimeKitClient","RealtimeKitContext","BackgroundTimer","webRTCModuleEmitter","deviceChangeListener","broadcastEmitter","useRealtimeKitClient","client","setClient","initClient","options","cleanUpEvents","cli","init","shouldUpdate","slice","newSlice","Array","isArray","length","useRTKSelector","selector","useRealtimeKitSelector","meeting","updates","Error","state","forceUpdate","c","currentState","listener","newStateSlice","current","addListener","removeListener","RTKHelper","removeAllListeners","stop","OS","isForegroundServiceRunning","then","val","stopService","_err"],"sources":["ReactHooks.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport RealtimeKitClient, { RTKClientOptions } from '@cloudflare/realtimekit';\nimport { RealtimeKitContext } from './ReactContext';\nimport BackgroundTimer from './BackgroundHandler';\nimport { webRTCModuleEmitter } from './AudioSampleHandler';\nimport { deviceChangeListener } from './LocalMediaUtils';\nimport { broadcastEmitter } from './LocalMediaHandler';\n\n/**\n * Hook which manages a RealtimeKitClient instance\n */\nexport const useRealtimeKitClient = (): [\n RealtimeKitClient | undefined,\n (options: RTKClientOptions) => Promise<RealtimeKitClient>\n] => {\n const [client, setClient] = useState<RealtimeKitClient>();\n const initClient = async (\n options: RTKClientOptions\n ): Promise<RealtimeKitClient> => {\n if (client) cleanUpEvents();\n const cli = await RealtimeKitClient.init(options);\n setClient(cli);\n return cli;\n };\n return [client, initClient];\n};\n\n/**\n * Utility function which determines whether to trigger update or not\n */\nconst shouldUpdate = <StateSlice,>(\n slice: StateSlice,\n newSlice: StateSlice\n): boolean => {\n if (slice !== newSlice) {\n return true;\n }\n if (Array.isArray(slice) && Array.isArray(newSlice)) {\n if (slice.length !== newSlice.length) {\n return true;\n }\n }\n\n return false;\n};\n\ntype StateSelector<T extends object, U> = (state: T) => U;\n\n/**\n * @deprecated Use `useRealtimeKitSelector` instead.\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRTKSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n return useRealtimeKitSelector(selector);\n};\n\n/**\n * Hook which extracts data from the RealtimeKitClient object\n */\nexport const useRealtimeKitSelector = <StateSlice,>(\n selector: StateSelector<RealtimeKitClient, StateSlice>\n) => {\n const { meeting, updates } = useContext(RealtimeKitContext);\n if (!meeting)\n throw new Error(\n 'useRealtimeKitSelector must be used within the RealtimeKitProvider'\n );\n const state = useRef(selector(meeting));\n const [, forceUpdate] = useReducer((c) => c + 1, 0) as [never, () => void];\n\n useEffect(() => {\n const currentState = meeting && selector(meeting);\n const listener = () => {\n const newStateSlice = meeting && selector(meeting);\n if (shouldUpdate(state.current, newStateSlice)) {\n state.current = newStateSlice;\n forceUpdate();\n }\n };\n if (\n currentState &&\n typeof currentState === 'object' &&\n 'addListener' in currentState\n ) {\n (currentState as any).addListener('*', forceUpdate);\n return () => {\n (currentState as any).removeListener('*', forceUpdate);\n };\n }\n updates?.addListener(listener);\n return () => {\n updates?.removeListener(listener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [meeting, updates]);\n return state.current;\n};\n\nfunction cleanUpEvents() {\n const { RTKHelper } = NativeModules;\n\n webRTCModuleEmitter.removeAllListeners('audioSamples');\n deviceChangeListener.removeAllListeners('onAudioDeviceChanged');\n BackgroundTimer.stop();\n\n try {\n if (Platform.OS === 'android') {\n RTKHelper.isForegroundServiceRunning().then((val) => {\n if (val) {\n RTKHelper.stopService();\n }\n });\n } else {\n broadcastEmitter.removeAllListeners('iOS_BroadcastStarted');\n broadcastEmitter.removeAllListeners('iOS_BroadcastStopped');\n }\n } catch (_err) {}\n}\nexport * from './ReactContext';\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const SDK_VERSION = '0.3.2-staging.1';
1
+ export const SDK_VERSION = '1.0.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SDK_VERSION"],"sources":["version.ts"],"sourcesContent":["export const SDK_VERSION = '0.3.2-staging.1';\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["SDK_VERSION"],"sources":["version.ts"],"sourcesContent":["export const SDK_VERSION = '1.0.0';\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,OAAO","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import RealtimeKitClient, { RealtimeKitClientOptions } from '@cloudflare/realtimekit';
1
+ import RealtimeKitClient, { RTKClientOptions } from '@cloudflare/realtimekit';
2
2
  /**
3
3
  * Hook which manages a RealtimeKitClient instance
4
4
  */
5
- export declare const useRealtimeKitClient: () => [RealtimeKitClient | undefined, (options: RealtimeKitClientOptions) => Promise<RealtimeKitClient>];
5
+ export declare const useRealtimeKitClient: () => [RealtimeKitClient | undefined, (options: RTKClientOptions) => Promise<RealtimeKitClient>];
6
6
  type StateSelector<T extends object, U> = (state: T) => U;
7
7
  /**
8
8
  * @deprecated Use `useRealtimeKitSelector` instead.
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.3.2-staging.1";
1
+ export declare const SDK_VERSION = "1.0.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/realtimekit-react-native",
3
- "version": "0.3.2-staging.1",
3
+ "version": "1.0.0-staging.0",
4
4
  "description": "Cloudflare RealtimeKit SDK for react native",
5
5
  "main": "lib/commonjs/index",
6
6
  "author": "Cloudflare",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "private": false,
28
28
  "dependencies": {
29
- "@cloudflare/realtimekit": "1.1.7",
29
+ "@cloudflare/realtimekit": "1.4.0",
30
30
  "base-64": "^1.0.0",
31
31
  "events": "^3.3.0",
32
32
  "react-native-url-polyfill": "1.3.0",