@zoom/meetingsdk-react-native 6.4.10 → 6.7.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 (34) hide show
  1. package/android/build.gradle +57 -52
  2. package/android/gradle/verification-metadata.xml +3769 -0
  3. package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  4. package/android/gradle.properties +4 -4
  5. package/android/gradlew +251 -0
  6. package/android/gradlew.bat +94 -0
  7. package/android/src/main/java/com/reactnativezoom/sdk/RNZoomSDKModule.java +15 -3
  8. package/android/versions.gradle +318 -0
  9. package/ios/RNZoomSDK.m +37 -9
  10. package/lib/commonjs/Context.js +2 -1
  11. package/lib/commonjs/Context.js.map +1 -1
  12. package/lib/commonjs/hooks/useSDKHandler.js +5 -1
  13. package/lib/commonjs/hooks/useSDKHandler.js.map +1 -1
  14. package/lib/commonjs/native/ZoomSDK.js +5 -4
  15. package/lib/commonjs/native/ZoomSDK.js.map +1 -1
  16. package/lib/commonjs/utils/validation.js +8 -1
  17. package/lib/commonjs/utils/validation.js.map +1 -1
  18. package/lib/module/Context.js +2 -1
  19. package/lib/module/Context.js.map +1 -1
  20. package/lib/module/hooks/useSDKHandler.js +5 -1
  21. package/lib/module/hooks/useSDKHandler.js.map +1 -1
  22. package/lib/module/native/ZoomSDK.js +6 -5
  23. package/lib/module/native/ZoomSDK.js.map +1 -1
  24. package/lib/module/utils/validation.js +6 -0
  25. package/lib/module/utils/validation.js.map +1 -1
  26. package/lib/typescript/Context.d.ts +1 -0
  27. package/lib/typescript/native/ZoomSDK.d.ts +2 -1
  28. package/lib/typescript/utils/validation.d.ts +1 -0
  29. package/meetingsdk-react-native.podspec +2 -2
  30. package/package.json +2 -9
  31. package/src/Context.ts +2 -0
  32. package/src/hooks/useSDKHandler.ts +5 -0
  33. package/src/native/ZoomSDK.ts +8 -6
  34. package/src/utils/validation.ts +24 -0
@@ -0,0 +1,318 @@
1
+ // Shared version catalog referencing libs.versions.toml
2
+ ext.libs = [
3
+ // Core Android libraries
4
+ gsonVersion: '2.11.0',
5
+ glideVersion: '4.11.0',
6
+ lifecycleVersion: '2.9.1',
7
+ protobufJavaVersion: '4.28.2',
8
+ lottieVersion: '4.0.0',
9
+ exoplayer: '2.17.1',
10
+ materialVersion: '1.11.0',
11
+ windowVersion: '1.1.0',
12
+ fragmentVersion: '1.4.1',
13
+ fragmentXVersion: '1.4.1',
14
+ activityxVersion: '1.11.0',
15
+ activityKtxVersion: '1.11.0',
16
+ lifecycleCommonJavaVersion: '2.5.1',
17
+
18
+ // Compose versions
19
+ composeBomVersion: '2025.10.01',
20
+ composeConstraintLayoutVersion: '1.1.1',
21
+ composeNavigationVersion: '2.9.2',
22
+ composePagingVersion: '3.3.5',
23
+ composeActivityVersion: '1.11.0',
24
+ composeLifecycleVersion: '2.9.4',
25
+ composeSavedStateVersion: '1.3.3',
26
+ composeUIToolingVersion: '1.9.4',
27
+ composeUITextVersion: '1.9.4',
28
+ composeUIUnitVersion: '1.9.4',
29
+ composeFoundationVersion: '1.9.4',
30
+ composeAnimationVersion: '1.9.4',
31
+ composeRuntimeVersion: '1.9.4',
32
+ composeMaterialVersion: '1.9.4',
33
+ composeUIVersion: '1.9.4',
34
+ composeMaterial3Version: '1.5.0-alpha07', // From reference build.gradle GXR section
35
+ composeMediaVersion: '1.6.0',
36
+ composeProfileInstallerVersion: '1.4.0',
37
+
38
+ // Compose specific artifacts vars
39
+ composeMaterial3AndroidVersion: '1.5.0-alpha07',
40
+ composeMaterial3WindowSizeAndroidVersion: '1.5.0-alpha07',
41
+ composeSavedStateAndroidVersion: '1.3.0',
42
+ coilVersion: '2.3.0',
43
+
44
+ // Testing versions
45
+ testMonitorVersion: '1.6.1',
46
+ coroutinesTestVersion: '1.9.0',
47
+ coilComposeVersion: '2.3.0',
48
+ webkitVersion: '1.9.0',
49
+ savedstateVersion: '1.3.0',
50
+ emoji2Version: '1.4.0',
51
+ exifinterfaceVersion: '1.3.6',
52
+ lifecycleProcessVersion: '2.9.1',
53
+ concurrentFuturesVersion: '1.1.0',
54
+ constraintlayoutCoreVersion: '1.1.1',
55
+ playServicesBaseVersion: '18.5.0',
56
+ credentialsVersion: '1.2.2',
57
+
58
+ // Kotlin and coroutines
59
+ collectionVersion: '1.5.0',
60
+ kotlinxCoroutinesAndroidVersion: '1.9.0',
61
+ errorProneAnnotationsVersion: '2.3.4',
62
+ profileInstallerVersion: '1.4.0',
63
+ okioVersion: '3.9.0',
64
+ androidxCoreKtxVersion: '1.8.0',
65
+ androidxWebkitKtxVersion: '1.9.0',
66
+ rxandroidVersion: '3.0.2',
67
+
68
+ // Google services
69
+ playServiceBasementVersion: '18.4.0',
70
+ playServiceTaskVersion: '18.0.1',
71
+
72
+ // UI components
73
+ drawerlayoutVersion: '1.1.1',
74
+ customviewVersion: '1.1.0',
75
+
76
+ // Kotlin coroutines
77
+ kotlinxCoroutinesSwingVersion: '1.9.0',
78
+ kotlinxCoroutinesCoreJvmVersion: '1.9.0',
79
+ jetbrainAnnotationVersion: '23.0.0',
80
+
81
+ // Testing and tools
82
+ archCoreVersion: '2.2.0',
83
+ multidexVersion: '2.0.1',
84
+ scaleImageViewVersion: '3.10.0',
85
+ kotlinVersion: '2.2.20',
86
+ securityCryptoVersion: '1.1.0-alpha05',
87
+ cryptoTinkVersion: '1.7.0',
88
+ androidxCoreVersion: '1.13.0',
89
+ swiperefreshlayoutVersion: '1.1.0',
90
+ annotationVersion: '1.3.0',
91
+ annotationExperimentalVersion: '1.1.0',
92
+ listenablefutureVersion: '9999.0-empty-to-avoid-conflict-with-guava',
93
+ guavaVersion: '33.2.0-jre',
94
+ appcompatVersion: '1.6.1',
95
+ recyclerviewVersion: '1.2.1',
96
+ constraintlayoutVersion: '2.2.1',
97
+ vectordrawableVersion: '1.1.0',
98
+ startupVersion: '1.2.0-alpha02',
99
+ splashScreenVersion: '1.0.1',
100
+ workMangrVersion: '2.9.0',
101
+ emdkVersion: '9.1.1',
102
+
103
+ // Firebase and ML Kit
104
+ dataTransportApiVersion: '3.0.0',
105
+ dataTransportRuntimeVersion: '3.1.8',
106
+ firebaseEncodersVersion: '17.0.0',
107
+ androidxTrackingVersion: '1.0.0',
108
+ mlkitCommonVersion: '18.11.0',
109
+ mlkitTextRecognitionVersion: '16.0.1',
110
+ cameraXVersion: '1.4.1',
111
+
112
+ // Additional libraries
113
+ kotlinxAtomicfuVersion: '0.17.0',
114
+ blueparrottsdkVersion: '4.8.2',
115
+ nimbusdsVersion: '9.40',
116
+ browserVersion: '1.4.0',
117
+ viewBindingXVersion: '7.1.2',
118
+ coordinatorlayoutVersion: '1.1.0',
119
+ firebaseAnnotationVersion: '16.1.0',
120
+ playServiceFidoVersion: '21.1.0',
121
+ protobufLiteVersion: '4.28.2',
122
+ rxandroidForceVersion: '3.1.5',
123
+ reactiveStreamVersion: '1.0.4',
124
+ okhttpVersion: '4.12.0',
125
+ dataTransportBackendCctVersion: '3.1.8',
126
+ firebaseCommentsVersion: '17.0.1',
127
+ firebaseEncodersJsonVersion: '18.0.0',
128
+ apmReleaseVersion: '1.0.17',
129
+ apmDebugVersion: '1.0.21',
130
+ javapoetVersion: '1.13.0',
131
+ mediaVersion: '1.4.3',
132
+ supportWindowVersion: '1.1.0',
133
+ kotlinParcelizeVersion: '2.2.20',
134
+ coilGifVersion: '2.7.0',
135
+ ]
136
+
137
+ // Library definitions with versions
138
+ ext.libraries = [
139
+ // Core Android libraries
140
+ swiperefreshlayout: "androidx.swiperefreshlayout:swiperefreshlayout:${libs.swiperefreshlayoutVersion}",
141
+ supportAnnotation: "androidx.annotation:annotation:${libs.annotationVersion}",
142
+ annotationExperimental: "androidx.annotation:annotation-experimental:${libs.annotationExperimentalVersion}",
143
+ supportAppcompat: "androidx.appcompat:appcompat:${libs.appcompatVersion}",
144
+ supportDesign: "com.google.android.material:material:${libs.materialVersion}",
145
+ recyclerview: "androidx.recyclerview:recyclerview:${libs.recyclerviewVersion}",
146
+ constraintlayout: "androidx.constraintlayout:constraintlayout:${libs.constraintlayoutVersion}",
147
+ drawerlayout: "androidx.drawerlayout:drawerlayout:${libs.drawerlayoutVersion}",
148
+ customview: "androidx.customview:customview:${libs.customviewVersion}",
149
+ constraintlayoutCore: "androidx.constraintlayout:constraintlayout-core:${libs.constraintlayoutCoreVersion}",
150
+ archCoreCommon: "androidx.arch.core:core-common:${libs.archCoreVersion}",
151
+ archCoreRuntime: "androidx.arch.core:core-runtime:${libs.archCoreVersion}",
152
+ listenablefuture: "com.google.guava:listenablefuture:${libs.listenablefutureVersion}",
153
+ guava: "com.google.guava:guava:${libs.guavaVersion}",
154
+ androidxCore: "androidx.core:core:${libs.androidxCoreVersion}",
155
+ securityCrypto: "androidx.security:security-crypto:${libs.securityCryptoVersion}",
156
+ cryptoTink: "com.google.crypto.tink:tink-android:${libs.cryptoTinkVersion}",
157
+ multidex: "androidx.multidex:multidex:${libs.multidexVersion}",
158
+ scaleImageView: "com.davemorrissey.labs:subsampling-scale-image-view:${libs.scaleImageViewVersion}",
159
+ gson: "com.google.code.gson:gson:${libs.gsonVersion}",
160
+
161
+ // Firebase and messaging
162
+ workerManager: "androidx.work:work-runtime:${libs.workMangrVersion}",
163
+ lifecycleService: "androidx.lifecycle:lifecycle-service:${libs.lifecycleVersion}",
164
+
165
+ // Google Play Services
166
+ playServiceBasement: "com.google.android.gms:play-services-basement:${libs.playServiceBasementVersion}",
167
+ playServiceTask: "com.google.android.gms:play-services-tasks:${libs.playServiceTaskVersion}",
168
+
169
+ // Glide
170
+ glideAnnotations: "com.github.bumptech.glide:annotations:${libs.glideVersion}",
171
+ glideGlide: "com.github.bumptech.glide:glide:${libs.glideVersion}",
172
+
173
+ // RxJava
174
+ rxAndroid: "io.reactivex.rxjava3:rxandroid:${libs.rxandroidVersion}",
175
+
176
+ // AndroidX libraries
177
+ androidxCoreKtx: "androidx.core:core-ktx:${libs.androidxCoreKtxVersion}",
178
+ androidxWebkitKtx: "androidx.webkit:webkit:${libs.androidxWebkitKtxVersion}",
179
+ fragmentx: "androidx.fragment:fragment:${libs.fragmentXVersion}",
180
+ activityx: "androidx.activity:activity:${libs.activityxVersion}",
181
+ activityKtx: "androidx.activity:activity-ktx:${libs.activityKtxVersion}",
182
+ collection: "androidx.collection:collection:${libs.collectionVersion}",
183
+ collectionKtx: "androidx.collection:collection-ktx:${libs.collectionVersion}",
184
+ fragmentKtx: "androidx.fragment:fragment-ktx:${libs.fragmentVersion}",
185
+
186
+ // Lifecycle libraries
187
+ viewmodelKtx: "androidx.lifecycle:lifecycle-viewmodel-ktx:${libs.lifecycleVersion}",
188
+ viewmodel: "androidx.lifecycle:lifecycle-viewmodel:${libs.lifecycleVersion}",
189
+ lifecycleKtx: "androidx.lifecycle:lifecycle-runtime-ktx:${libs.lifecycleVersion}",
190
+ livedataKtx: "androidx.lifecycle:lifecycle-livedata-ktx:${libs.lifecycleVersion}",
191
+ livedataCoreKtx: "androidx.lifecycle:lifecycle-livedata-core-ktx:${libs.lifecycleVersion}",
192
+ lifecycle: "androidx.lifecycle:lifecycle-runtime:${libs.lifecycleVersion}",
193
+ livedataCore: "androidx.lifecycle:lifecycle-livedata-core:${libs.lifecycleVersion}",
194
+ livedata: "androidx.lifecycle:lifecycle-livedata:${libs.lifecycleVersion}",
195
+ lifecycleCommon: "androidx.lifecycle:lifecycle-common:${libs.lifecycleVersion}",
196
+ lifecycleViewModelSavedState: "androidx.lifecycle:lifecycle-viewmodel-savedstate:${libs.lifecycleVersion}",
197
+ lifecycleCommonJava: "androidx.lifecycle:lifecycle-common-java8:${libs.lifecycleCommonJavaVersion}",
198
+
199
+ // Play Services
200
+ playServicesBase: "com.google.android.gms:play-services-base:${libs.playServicesBaseVersion}",
201
+
202
+ // Kotlin coroutines
203
+ kotlinxCoroutinesAndroid: "org.jetbrains.kotlinx:kotlinx-coroutines-android:${libs.kotlinxCoroutinesAndroidVersion}",
204
+ kotlinxCoroutinesCore: "org.jetbrains.kotlinx:kotlinx-coroutines-core:${libs.kotlinxCoroutinesAndroidVersion}",
205
+ kotlinxCoroutinesSwing: "org.jetbrains.kotlinx:kotlinx-coroutines-swing:${libs.kotlinxCoroutinesSwingVersion}",
206
+ kotlinxCoroutinesCoreJvm: "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:${libs.kotlinxCoroutinesCoreJvmVersion}",
207
+ jetbrainsAnnotations: "org.jetbrains:annotations:${libs.jetbrainAnnotationVersion}",
208
+
209
+ // Kotlin stdlib
210
+ jetbrainskotlin: "org.jetbrains.kotlin:kotlin-stdlib:${libs.kotlinVersion}",
211
+ kotlinStdlibCommon: "org.jetbrains.kotlin:kotlin-stdlib-common:${libs.kotlinVersion}",
212
+ kotlinStdlibJdk: "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${libs.kotlinVersion}",
213
+ kotlinStdlibJdk7: "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${libs.kotlinVersion}",
214
+
215
+ // Other libraries
216
+ profileinstaller: "androidx.profileinstaller:profileinstaller:${libs.profileInstallerVersion}",
217
+ errorProneAnnotations: "com.google.errorprone:error_prone_annotations:${libs.errorProneAnnotationsVersion}",
218
+ okio: "com.squareup.okio:okio:${libs.okioVersion}",
219
+ vectordrawableAnimated: "androidx.vectordrawable:vectordrawable-animated:${libs.vectordrawableVersion}",
220
+ vectordrawable: "androidx.vectordrawable:vectordrawable:${libs.vectordrawableVersion}",
221
+ protobufJava: "com.google.protobuf:protobuf-java:${libs.protobufJavaVersion}",
222
+ lottie: "com.airbnb.android:lottie:${libs.lottieVersion}",
223
+ exoplayerCore: "com.google.android.exoplayer:exoplayer-core:${libs.exoplayer}",
224
+ exoplayerUI: "com.google.android.exoplayer:exoplayer-ui:${libs.exoplayer}",
225
+ supportWindow: "androidx.window:window:${libs.windowVersion}",
226
+ windowJava: "androidx.window:window-java:${libs.windowVersion}",
227
+ startup: "androidx.startup:startup-runtime:${libs.startupVersion}",
228
+
229
+ // Compose libraries
230
+ composeBom: "androidx.compose:compose-bom:${libs.composeBomVersion}",
231
+ coil: "io.coil-kt:coil-compose:${libs.coilVersion}",
232
+ composeConstraintlayout: "androidx.constraintlayout:constraintlayout-compose:${libs.composeConstraintLayoutVersion}",
233
+ composeActivity: "androidx.activity:activity-compose:${libs.composeActivityVersion}",
234
+ composeLifecycle: "androidx.lifecycle:lifecycle-runtime-compose:${libs.composeLifecycleVersion}",
235
+ composeLifecycleViewmodel: "androidx.lifecycle:lifecycle-viewmodel-compose:${libs.composeLifecycleVersion}",
236
+ composeSavedState: "androidx.savedstate:savedstate-compose:${libs.composeSavedStateVersion}",
237
+ composeSavedStateAndroid: "androidx.savedstate:savedstate-compose:${libs.composeSavedStateAndroidVersion}",
238
+ composeMaterial: "androidx.compose.material:material:${libs.composeMaterialVersion}",
239
+ composeMaterialRipple: "androidx.compose.material:material-ripple:${libs.composeMaterialVersion}",
240
+ composeMaterial3: "androidx.compose.material3:material3:${libs.composeMaterial3Version}",
241
+ composeMaterial3WindowSize: "androidx.compose.material3:material3-window-size-class:${libs.composeMaterial3Version}",
242
+ // Android specific artifacts
243
+ composeMaterial3Android: "androidx.compose.material3:material3-android:${libs.composeMaterial3AndroidVersion}",
244
+ composeMaterial3WindowSizeAndroid: "androidx.compose.material3:material3-window-size-class-android:${libs.composeMaterial3WindowSizeAndroidVersion}",
245
+
246
+ composeAnimation: "androidx.compose.animation:animation:${libs.composeAnimationVersion}",
247
+ composeAnimationCore: "androidx.compose.animation:animation-core:${libs.composeAnimationVersion}",
248
+ composeNavigation: "androidx.navigation:navigation-compose:${libs.composeNavigationVersion}",
249
+ composePaging: "androidx.paging:paging-compose:${libs.composePagingVersion}",
250
+ composeRuntime: "androidx.compose.runtime:runtime:${libs.composeRuntimeVersion}",
251
+ composeRuntimeSaveable: "androidx.compose.runtime:runtime-saveable:${libs.composeRuntimeVersion}",
252
+ composeUI: "androidx.compose.ui:ui:${libs.composeUIVersion}",
253
+ composeUIViewBinding: "androidx.compose.ui:ui-viewbinding:${libs.composeUIVersion}",
254
+ composeUIGeometry: "androidx.compose.ui:ui-geometry:${libs.composeUIVersion}",
255
+ composeUIGraphics: "androidx.compose.ui:ui-graphics:${libs.composeUIVersion}",
256
+ composeUIText: "androidx.compose.ui:ui-text:${libs.composeUITextVersion}",
257
+ composeUIUnit: "androidx.compose.ui:ui-unit:${libs.composeUIUnitVersion}",
258
+ composeUIUtil: "androidx.compose.ui:ui-util:${libs.composeUIVersion}",
259
+ composeUIToolingPreview: "androidx.compose.ui:ui-tooling-preview:${libs.composeUIToolingVersion}",
260
+ composeUITooling: "androidx.compose.ui:ui-tooling:${libs.composeUIToolingVersion}",
261
+ composeUITestManifest: "androidx.compose.ui:ui-test-manifest:${libs.composeUIVersion}",
262
+ composeUITestJunit4: "androidx.compose.ui:ui-test-junit4:${libs.composeUIVersion}",
263
+ composeFoundation: "androidx.compose.foundation:foundation:${libs.composeFoundationVersion}",
264
+ composeFoundationLayout: "androidx.compose.foundation:foundation-layout:${libs.composeFoundationVersion}",
265
+ savedstateKtx: "androidx.savedstate:savedstate-ktx:${libs.savedstateVersion}",
266
+ savedstate: "androidx.savedstate:savedstate:${libs.savedstateVersion}",
267
+ emoji2: "androidx.emoji2:emoji2:${libs.emoji2Version}",
268
+ emoji2ViewsHelper: "androidx.emoji2:emoji2-views-helper:${libs.emoji2Version}",
269
+ exifinterface: "androidx.exifinterface:exifinterface:${libs.exifinterfaceVersion}",
270
+ lifecycleProcess: "androidx.lifecycle:lifecycle-process:${libs.lifecycleProcessVersion}",
271
+ concurrentFutures: "androidx.concurrent:concurrent-futures:${libs.concurrentFuturesVersion}",
272
+ splashScreenLib: "androidx.core:core-splashscreen:${libs.splashScreenVersion}",
273
+
274
+ // Data transport and Firebase
275
+ dataTransportApi: "com.google.android.datatransport:transport-api:${libs.dataTransportApiVersion}",
276
+ dataTrasnsportRuntime: "com.google.android.datatransport:transport-runtime:${libs.dataTransportRuntimeVersion}",
277
+ firebaseEncoders: "com.google.firebase:firebase-encoders:${libs.firebaseEncodersVersion}",
278
+ androidxTracing: "androidx.tracing:tracing:${libs.androidxTrackingVersion}",
279
+ mlkitCommon: "com.google.mlkit:common:${libs.mlkitCommonVersion}",
280
+ mlkitTextRecognition: "com.google.mlkit:text-recognition:${libs.mlkitTextRecognitionVersion}",
281
+
282
+ // CameraX
283
+ cameraXCore: "androidx.camera:camera-core:${libs.cameraXVersion}",
284
+ cameraXCamera2: "androidx.camera:camera-camera2:${libs.cameraXVersion}",
285
+ cameraXLifecycle: "androidx.camera:camera-lifecycle:${libs.cameraXVersion}",
286
+ cameraXView: "androidx.camera:camera-view:${libs.cameraXVersion}",
287
+ kotlinxAtomicfu: "org.jetbrains.kotlinx:atomicfu:${libs.kotlinxAtomicfuVersion}",
288
+ emdk: "com.symbol:emdk:${libs.emdkVersion}",
289
+ blueparrottsdk: "com.blueparrott:blueparrottsdk:${libs.blueparrottsdkVersion}",
290
+ nimbusds: "com.nimbusds:nimbus-jose-jwt:${libs.nimbusdsVersion}",
291
+ browser: "androidx.browser:browser:${libs.browserVersion}",
292
+ viewBindingX: "androidx.databinding:viewbinding:${libs.viewBindingXVersion}",
293
+ coordinatorlayout: "androidx.coordinatorlayout:coordinatorlayout:${libs.coordinatorlayoutVersion}",
294
+ firebaseAnnotation: "com.google.firebase:firebase-annotations:${libs.firebaseAnnotationVersion}",
295
+ playServiceFido: "com.google.android.gms:play-services-fido:${libs.playServiceFidoVersion}",
296
+ protobufJavalite: "com.google.protobuf:protobuf-javalite:${libs.protobufLiteVersion}",
297
+ rxAndroidForce: "io.reactivex.rxjava3:rxjava:${libs.rxandroidForceVersion}",
298
+ reactiveStream: "org.reactivestreams:reactive-streams:${libs.reactiveStreamVersion}",
299
+ okhttp: "com.squareup.okhttp3:okhttp:${libs.okhttpVersion}",
300
+ dataTrasnsportBackendCct: "com.google.android.datatransport:transport-backend-cct:${libs.dataTransportBackendCctVersion}",
301
+ firebaseComponenets: "com.google.firebase:firebase-components:${libs.firebaseCommentsVersion}",
302
+ firebaseEncodersJson: "com.google.firebase:firebase-encoders-json:${libs.firebaseEncodersJsonVersion}",
303
+ apmCommon: "us.zoom.android.apm:common:${libs.apmDebugVersion}",
304
+ apmApis: "us.zoom.android.apm:apis:${libs.apmReleaseVersion}",
305
+ javapoet: "com.squareup:javapoet:${libs.javapoetVersion}",
306
+ media: "androidx.media:media:${libs.mediaVersion}",
307
+ kotlinParcelize: "org.jetbrains.kotlin:kotlin-parcelize-runtime:${libs.kotlinParcelizeVersion}",
308
+ composeUITest: "androidx.compose.ui:ui-test:${libs.composeUITestVersion}",
309
+ composeUITooling: "androidx.compose.ui:ui-tooling:${libs.composeUIToolingVersion}",
310
+ coilGif: "io.coil-kt:coil-gif:${libs.coilGifVersion}",
311
+ credentials: "androidx.credentials:credentials:${libs.credentialsVersion}",
312
+ credentialsAuth: "androidx.credentials:credentials-play-services-auth:${libs.credentialsVersion}",
313
+
314
+ // Test libs for conflict resolution
315
+ testMonitor: "androidx.test:monitor:${libs.testMonitorVersion}",
316
+ coroutinesTest: "org.jetbrains.kotlinx:kotlinx-coroutines-test:${libs.coroutinesTestVersion}",
317
+ coroutinesTestJvm: "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:${libs.coroutinesTestVersion}",
318
+ ]
package/ios/RNZoomSDK.m CHANGED
@@ -27,21 +27,16 @@ RCT_REMAP_METHOD(initSDK,
27
27
  initParams.enableLog = [[config objectForKey:@"enableLog"] boolValue];
28
28
  initParams.wrapperType = 2;
29
29
  if ([config objectForKey:@"bundleResPath"]) {
30
- initParams.appGroupId = [config valueForKey:@"bundleResPath"];
30
+ initParams.bundleResPath = [config valueForKey:@"bundleResPath"];
31
31
  }
32
32
  if ([config objectForKey:@"appGroupId"]) {
33
33
  initParams.appGroupId = [config valueForKey:@"appGroupId"];
34
34
  }
35
35
  if ([config objectForKey:@"replaykitBundleIdentifier"]) {
36
- initParams.appGroupId = [config valueForKey:@"replaykitBundleIdentifier"];
36
+ initParams.replaykitBundleIdentifier = [config valueForKey:@"replaykitBundleIdentifier"];
37
37
  }
38
38
 
39
39
  BOOL sdkInitRes = [[MobileRTC sharedRTC] initialize:initParams];
40
- if (sdkInitRes) {
41
- NSLog(@"initialize result = true" );
42
- } else {
43
- NSLog(@"initialize result = false" );
44
- }
45
40
 
46
41
  if (sdkInitRes) {
47
42
  MobileRTCAuthService *authService = [[MobileRTC sharedRTC] getAuthService];
@@ -101,7 +96,7 @@ RCT_REMAP_METHOD(joinMeeting,
101
96
  MobileRTCMeetError res = [meetService joinMeetingWithJoinParam: params];
102
97
  switch (res) {
103
98
  case MobileRTCMeetError_Success:
104
- NSLog(@"joined meeting successfully");
99
+ NSLog(@"joinMeeting called");
105
100
  resolve(0);
106
101
  break;
107
102
  default:
@@ -112,6 +107,14 @@ RCT_REMAP_METHOD(joinMeeting,
112
107
  });
113
108
  }
114
109
 
110
+ RCT_REMAP_METHOD(isInitialized,
111
+ withResolver:(RCTPromiseResolveBlock)resolve
112
+ withRejecter:(RCTPromiseRejectBlock)reject)
113
+ {
114
+ BOOL isInitialized = [[MobileRTC sharedRTC] isRTCAuthorized];
115
+ resolve(@(isInitialized));
116
+ }
117
+
115
118
  RCT_REMAP_METHOD(startMeeting,
116
119
  startMeetingWithConfig: (NSDictionary *)config
117
120
  withResolver: (RCTPromiseResolveBlock)resolve
@@ -132,7 +135,7 @@ RCT_REMAP_METHOD(startMeeting,
132
135
  MobileRTCMeetError res = [meetService startMeetingWithStartParam: params];
133
136
  switch (res) {
134
137
  case MobileRTCMeetError_Success:
135
- NSLog(@"started meeting successfully");
138
+ NSLog(@"startMeeting called ");
136
139
  resolve(0);
137
140
  break;
138
141
  default:
@@ -143,6 +146,31 @@ RCT_REMAP_METHOD(startMeeting,
143
146
  });
144
147
  }
145
148
 
149
+ RCT_REMAP_METHOD(updateMeetingSetting,
150
+ updateMeetingSettingWithConfig: (NSDictionary *)config
151
+ withResolver: (RCTPromiseResolveBlock)resolve
152
+ withRejecter: (RCTPromiseRejectBlock)reject)
153
+ {
154
+ MobileRTCMeetingSettings *meetingSetting = [[MobileRTC sharedRTC] getMeetingSettings];
155
+ if (meetingSetting) {
156
+ if ([config objectForKey:@"disableVideoPreview"]) {
157
+ [meetingSetting disableShowVideoPreviewWhenJoinMeeting:[[config valueForKey:@"disableVideoPreview"] boolValue]];
158
+ }
159
+ if ([config objectForKey:@"disableClearWebKitCache"]) {
160
+ [meetingSetting disableClearWebKitCache:[[config valueForKey:@"disableClearWebKitCache"] boolValue]];
161
+ }
162
+ }
163
+ }
164
+
165
+ RCT_REMAP_METHOD(cleanup,
166
+ cleanupWithResolver:(RCTPromiseResolveBlock)resolve
167
+ withRejecter:(RCTPromiseRejectBlock)reject)
168
+ {
169
+ dispatch_async(dispatch_get_main_queue(), ^{
170
+ [[MobileRTC sharedRTC] cleanup];
171
+ });
172
+ }
173
+
146
174
  - (void)onMobileRTCAuthReturn:(MobileRTCAuthError)returnValue {
147
175
  switch (returnValue) {
148
176
  case MobileRTCAuthError_Success:
@@ -12,6 +12,7 @@ const Context = exports.Context = /*#__PURE__*/(0, _react.createContext)({
12
12
  joinMeeting: throwProviderError,
13
13
  startMeeting: throwProviderError,
14
14
  updateMeetingSetting: throwProviderError,
15
- isInitialized: throwProviderError
15
+ isInitialized: throwProviderError,
16
+ cleanup: throwProviderError
16
17
  });
17
18
  //# sourceMappingURL=Context.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","throwProviderError","Error","Context","exports","createContext","joinMeeting","startMeeting","updateMeetingSetting","isInitialized"],"sources":["Context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport type { StartMeetingConfig, JoinMeetingConfig, MeetingSettingsConfig } from './native/ZoomSDK';\n\nfunction throwProviderError() {\n throw new Error(\n 'Cannot access the Zoom SDK without a ZoomSDKProvider component wrapping your entire application.'\n );\n}\n\nexport interface ZoomSDKContext {\n joinMeeting: (config: JoinMeetingConfig) => Promise<number>;\n startMeeting: (config: StartMeetingConfig) => Promise<number>;\n updateMeetingSetting: (config: MeetingSettingsConfig) => void;\n isInitialized: () => Promise<boolean>;\n}\n\nexport const Context = createContext<ZoomSDKContext>({\n joinMeeting: throwProviderError as any,\n startMeeting: throwProviderError as any,\n updateMeetingSetting: throwProviderError as any,\n isInitialized: throwProviderError as any,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,SAASC,kBAAkBA,CAAA,EAAG;EAC5B,MAAM,IAAIC,KAAK,CACb,kGACF,CAAC;AACH;AASO,MAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAa,EAAiB;EACnDC,WAAW,EAAEL,kBAAyB;EACtCM,YAAY,EAAEN,kBAAyB;EACvCO,oBAAoB,EAAEP,kBAAyB;EAC/CQ,aAAa,EAAER;AACjB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","throwProviderError","Error","Context","exports","createContext","joinMeeting","startMeeting","updateMeetingSetting","isInitialized","cleanup"],"sources":["Context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport type { StartMeetingConfig, JoinMeetingConfig, MeetingSettingsConfig } from './native/ZoomSDK';\n\nfunction throwProviderError() {\n throw new Error(\n 'Cannot access the Zoom SDK without a ZoomSDKProvider component wrapping your entire application.'\n );\n}\n\nexport interface ZoomSDKContext {\n joinMeeting: (config: JoinMeetingConfig) => Promise<number>;\n startMeeting: (config: StartMeetingConfig) => Promise<number>;\n updateMeetingSetting: (config: MeetingSettingsConfig) => void;\n isInitialized: () => Promise<boolean>;\n cleanup: () => void;\n}\n\nexport const Context = createContext<ZoomSDKContext>({\n joinMeeting: throwProviderError as any,\n startMeeting: throwProviderError as any,\n updateMeetingSetting: throwProviderError as any,\n isInitialized: throwProviderError as any,\n cleanup: throwProviderError as any,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,SAASC,kBAAkBA,CAAA,EAAG;EAC5B,MAAM,IAAIC,KAAK,CACb,kGACF,CAAC;AACH;AAUO,MAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,oBAAa,EAAiB;EACnDC,WAAW,EAAEL,kBAAyB;EACtCM,YAAY,EAAEN,kBAAyB;EACvCO,oBAAoB,EAAEP,kBAAyB;EAC/CQ,aAAa,EAAER,kBAAyB;EACxCS,OAAO,EAAET;AACX,CAAC,CAAC","ignoreList":[]}
@@ -35,11 +35,15 @@ function useSDKHandler(config = {}) {
35
35
  const startMeeting = (0, _react.useCallback)(config => {
36
36
  return SDKHandler.current.startMeeting(config);
37
37
  }, []);
38
+ const cleanup = (0, _react.useCallback)(() => {
39
+ SDKHandler.current.cleanup();
40
+ }, []);
38
41
  return {
39
42
  isInitialized,
40
43
  updateMeetingSetting,
41
44
  joinMeeting,
42
- startMeeting
45
+ startMeeting,
46
+ cleanup
43
47
  };
44
48
  }
45
49
  //# sourceMappingURL=useSDKHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_ZoomSDK","DEFAULT_CONFIG","domain","enableLog","logSize","useSDKHandler","config","SDKHandler","useRef","ZoomSDK","isInited","setIsInited","useState","useEffect","current","initSDK","isInitialized","useCallback","updateMeetingSetting","joinMeeting","startMeeting"],"sources":["useSDKHandler.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { ZoomSDKContext } from '../Context';\n\nimport {\n InitConfig,\n MeetingSettingsConfig,\n JoinMeetingConfig,\n StartMeetingConfig,\n ZoomSDK,\n} from '../native/ZoomSDK';\n\nconst DEFAULT_CONFIG: InitConfig = {\n domain: 'zoom.us',\n enableLog: true,\n logSize: 5,\n};\n\nexport function useSDKHandler(config: InitConfig = {}): ZoomSDKContext {\n const SDKHandler = useRef(new ZoomSDK());\n\n const [isInited, setIsInited] = useState(false);\n\n useEffect(() => {\n if (!isInited) {\n SDKHandler.current.initSDK({ ...DEFAULT_CONFIG, ...config });\n setIsInited(true);\n }\n }, [config, isInited]);\n\n const isInitialized = useCallback(() => {\n return SDKHandler.current.isInitialized();\n }, []);\n\n const updateMeetingSetting = useCallback((config: MeetingSettingsConfig) => {\n SDKHandler.current.updateMeetingSetting(config);\n }, []);\n\n const joinMeeting = useCallback((config: JoinMeetingConfig) => {\n return SDKHandler.current.joinMeeting(config);\n }, []);\n\n const startMeeting = useCallback((config: StartMeetingConfig) => {\n return SDKHandler.current.startMeeting(config);\n }, []);\n\n return {\n isInitialized,\n updateMeetingSetting,\n joinMeeting,\n startMeeting,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AAQA,MAAME,cAA0B,GAAG;EACjCC,MAAM,EAAE,SAAS;EACjBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE;AACX,CAAC;AAEM,SAASC,aAAaA,CAACC,MAAkB,GAAG,CAAC,CAAC,EAAkB;EACrE,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAC,IAAIC,gBAAO,CAAC,CAAC,CAAC;EAExC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE/C,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACH,QAAQ,EAAE;MACbH,UAAU,CAACO,OAAO,CAACC,OAAO,CAAC;QAAE,GAAGd,cAAc;QAAE,GAAGK;MAAO,CAAC,CAAC;MAC5DK,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACL,MAAM,EAAEI,QAAQ,CAAC,CAAC;EAEtB,MAAMM,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtC,OAAOV,UAAU,CAACO,OAAO,CAACE,aAAa,CAAC,CAAC;EAC3C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,oBAAoB,GAAG,IAAAD,kBAAW,EAAEX,MAA6B,IAAK;IAC1EC,UAAU,CAACO,OAAO,CAACI,oBAAoB,CAACZ,MAAM,CAAC;EACjD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,WAAW,GAAG,IAAAF,kBAAW,EAAEX,MAAyB,IAAK;IAC7D,OAAOC,UAAU,CAACO,OAAO,CAACK,WAAW,CAACb,MAAM,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMc,YAAY,GAAG,IAAAH,kBAAW,EAAEX,MAA0B,IAAK;IAC/D,OAAOC,UAAU,CAACO,OAAO,CAACM,YAAY,CAACd,MAAM,CAAC;EAChD,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLU,aAAa;IACbE,oBAAoB;IACpBC,WAAW;IACXC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_ZoomSDK","DEFAULT_CONFIG","domain","enableLog","logSize","useSDKHandler","config","SDKHandler","useRef","ZoomSDK","isInited","setIsInited","useState","useEffect","current","initSDK","isInitialized","useCallback","updateMeetingSetting","joinMeeting","startMeeting","cleanup"],"sources":["useSDKHandler.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { ZoomSDKContext } from '../Context';\n\nimport {\n InitConfig,\n MeetingSettingsConfig,\n JoinMeetingConfig,\n StartMeetingConfig,\n ZoomSDK,\n} from '../native/ZoomSDK';\n\nconst DEFAULT_CONFIG: InitConfig = {\n domain: 'zoom.us',\n enableLog: true,\n logSize: 5,\n};\n\nexport function useSDKHandler(config: InitConfig = {}): ZoomSDKContext {\n const SDKHandler = useRef(new ZoomSDK());\n\n const [isInited, setIsInited] = useState(false);\n\n useEffect(() => {\n if (!isInited) {\n SDKHandler.current.initSDK({ ...DEFAULT_CONFIG, ...config });\n setIsInited(true);\n }\n }, [config, isInited]);\n\n const isInitialized = useCallback(() => {\n return SDKHandler.current.isInitialized();\n }, []);\n\n const updateMeetingSetting = useCallback((config: MeetingSettingsConfig) => {\n SDKHandler.current.updateMeetingSetting(config);\n }, []);\n\n const joinMeeting = useCallback((config: JoinMeetingConfig) => {\n return SDKHandler.current.joinMeeting(config);\n }, []);\n\n const startMeeting = useCallback((config: StartMeetingConfig) => {\n return SDKHandler.current.startMeeting(config);\n }, []);\n\n const cleanup = useCallback(() => {\n SDKHandler.current.cleanup();\n }, []);\n\n return {\n isInitialized,\n updateMeetingSetting,\n joinMeeting,\n startMeeting,\n cleanup\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AAQA,MAAME,cAA0B,GAAG;EACjCC,MAAM,EAAE,SAAS;EACjBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE;AACX,CAAC;AAEM,SAASC,aAAaA,CAACC,MAAkB,GAAG,CAAC,CAAC,EAAkB;EACrE,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAC,IAAIC,gBAAO,CAAC,CAAC,CAAC;EAExC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE/C,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACH,QAAQ,EAAE;MACbH,UAAU,CAACO,OAAO,CAACC,OAAO,CAAC;QAAE,GAAGd,cAAc;QAAE,GAAGK;MAAO,CAAC,CAAC;MAC5DK,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACL,MAAM,EAAEI,QAAQ,CAAC,CAAC;EAEtB,MAAMM,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtC,OAAOV,UAAU,CAACO,OAAO,CAACE,aAAa,CAAC,CAAC;EAC3C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,oBAAoB,GAAG,IAAAD,kBAAW,EAAEX,MAA6B,IAAK;IAC1EC,UAAU,CAACO,OAAO,CAACI,oBAAoB,CAACZ,MAAM,CAAC;EACjD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,WAAW,GAAG,IAAAF,kBAAW,EAAEX,MAAyB,IAAK;IAC7D,OAAOC,UAAU,CAACO,OAAO,CAACK,WAAW,CAACb,MAAM,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMc,YAAY,GAAG,IAAAH,kBAAW,EAAEX,MAA0B,IAAK;IAC/D,OAAOC,UAAU,CAACO,OAAO,CAACM,YAAY,CAACd,MAAM,CAAC;EAChD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMe,OAAO,GAAG,IAAAJ,kBAAW,EAAC,MAAM;IAChCV,UAAU,CAACO,OAAO,CAACO,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLL,aAAa;IACbE,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC;EACF,CAAC;AACH","ignoreList":[]}
@@ -16,6 +16,7 @@ class ZoomSDK {
16
16
  constructor() {
17
17
  _defineProperty(this, "updateMeetingSetting", RNZoomSDK.updateMeetingSetting);
18
18
  _defineProperty(this, "isInitialized", RNZoomSDK.isInitialized);
19
+ _defineProperty(this, "cleanup", RNZoomSDK.cleanup);
19
20
  }
20
21
  initSDK(config) {
21
22
  (0, _validation.validateNonEmptyStringProp)(config, 'initConfig', 'domain');
@@ -23,13 +24,13 @@ class ZoomSDK {
23
24
  return RNZoomSDK.initSDK(config);
24
25
  }
25
26
  joinMeeting(config) {
26
- (0, _validation.validateNonEmptyStringProp)(config, 'JoinMeetingConfig', 'userName');
27
- (0, _validation.validateNonEmptyStringProp)(config, 'JoinMeetingConfig', 'meetingNumber');
27
+ (0, _validation.validateRequiredStringProp)(config, 'JoinMeetingConfig', 'userName');
28
+ (0, _validation.validateRequiredStringProp)(config, 'JoinMeetingConfig', 'meetingNumber');
28
29
  return RNZoomSDK.joinMeeting(config);
29
30
  }
30
31
  startMeeting(config) {
31
- (0, _validation.validateNonEmptyStringProp)(config, 'StartMeetingConfig', 'userName');
32
- (0, _validation.validateNonEmptyStringProp)(config, 'StartMeetingConfig', 'zoomAccessToken');
32
+ (0, _validation.validateRequiredStringProp)(config, 'StartMeetingConfig', 'userName');
33
+ (0, _validation.validateRequiredStringProp)(config, 'StartMeetingConfig', 'zoomAccessToken');
33
34
  return RNZoomSDK.startMeeting(config);
34
35
  }
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_validation","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","RNZoomSDK","NativeModules","ZoomSDK","constructor","updateMeetingSetting","isInitialized","initSDK","config","validateNonEmptyStringProp","validateBooleanProp","joinMeeting","startMeeting","exports"],"sources":["ZoomSDK.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport {\n validateNonEmptyStringProp,\n validateBooleanProp,\n} from '../utils/validation';\n\nconst { RNZoomSDK } = NativeModules;\n\nexport type InitConfig = {\n jwtToken?: string;\n domain?: string;\n enableLog?: boolean;\n logSize?: number; //Android only\n bundleResPath?: string; //iOS only\n appGroupId?: string; //iOS only\n replaykitBundleIdentifier?: string; //iOS only\n};\n\nexport type MeetingSettingsConfig = {\n disableVideoPreview?: boolean;\n enableCustomizedMeetingUI?: boolean;\n disableClearWebKitCache?: boolean;\n language?: string;\n};\n\nexport type JoinMeetingConfig = {\n userName: string;\n meetingNumber: string;\n password?: string;\n zoomAccessToken?: string;\n vanityID?: string;\n webinarToken?: string;\n joinToken?: string;\n appPrivilegeToken?: string;\n isMyVoiceInMix?: boolean;\n isAudioRawDataStereo?: boolean;\n\n noDrivingMode?: boolean;\n noInvite?: boolean;\n noMeetingEndMessage?: boolean;\n noMeetingErrorMessage?: boolean;\n noTitleBar?: boolean;\n noBottomToolbar?: boolean;\n noPhoneDialIn?: boolean;\n noPhoneDialOut?: boolean;\n noRecord?: boolean;\n noShare?: boolean;\n noVideo?: boolean;\n inviteOptions?: number;\n customerKey?: string;\n customMeetingId?: string;\n noUnmuteConfirmDialog?: boolean;\n noWebinarRegisterDialog?: boolean;\n noChatMsgToast?: boolean;\n noAudio?: boolean;\n meetingViewsOptions?: string;\n userType?: number;\n};\n\nexport type StartMeetingConfig = {\n userName: string;\n meetingNumber?: string;\n userType?: number;\n inviteContactId?: string;\n zoomAccessToken: string;\n vanityID?: string;\n isMyVoiceInMix?: boolean;\n isAudioRawDataStereo?: boolean;\n\n noDrivingMode?: boolean;\n noInvite?: boolean;\n noMeetingEndMessage?: boolean;\n noMeetingErrorMessage?: boolean;\n noTitleBar?: boolean;\n noBottomToolbar?: boolean;\n noPhoneDialIn?: boolean;\n noPhoneDialOut?: boolean;\n noRecord?: boolean;\n noShare?: boolean;\n noVideo?: boolean;\n inviteOptions?: number;\n customerKey?: string;\n customMeetingId?: string;\n noUnmuteConfirmDialog?: boolean;\n noWebinarRegisterDialog?: boolean;\n noChatMsgToast?: boolean;\n noAudio?: boolean;\n meetingViewsOptions?: string;\n};\n\nexport type ZoomSDKType = {\n // Methods\n initSDK: (config: InitConfig) => Promise<boolean>;\n joinMeeting: (config: JoinMeetingConfig) => Promise<number>;\n startMeeting: (config: StartMeetingConfig) => Promise<number>;\n updateMeetingSetting: (config: MeetingSettingsConfig) => void;\n isInitialized: () => Promise<boolean>;\n};\n\nexport class ZoomSDK implements ZoomSDKType {\n initSDK(config: InitConfig) {\n validateNonEmptyStringProp(config, 'initConfig', 'domain');\n validateBooleanProp(config, 'initConfig', 'enableLog');\n return RNZoomSDK.initSDK(config);\n }\n\n joinMeeting(config: JoinMeetingConfig) {\n validateNonEmptyStringProp(config, 'JoinMeetingConfig', 'userName');\n validateNonEmptyStringProp(config, 'JoinMeetingConfig', 'meetingNumber');\n return RNZoomSDK.joinMeeting(config);\n }\n\n startMeeting(config: StartMeetingConfig) {\n validateNonEmptyStringProp(config, 'StartMeetingConfig', 'userName');\n validateNonEmptyStringProp(config, 'StartMeetingConfig', 'zoomAccessToken');\n return RNZoomSDK.startMeeting(config);\n }\n\n updateMeetingSetting = RNZoomSDK.updateMeetingSetting;\n isInitialized = RNZoomSDK.isInitialized;\n}"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAG6B,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7B,MAAM;EAAEgB;AAAU,CAAC,GAAGC,0BAAa;AA6F5B,MAAMC,OAAO,CAAwB;EAAAC,YAAA;IAAAtB,eAAA,+BAmBnBmB,SAAS,CAACI,oBAAoB;IAAAvB,eAAA,wBACrCmB,SAAS,CAACK,aAAa;EAAA;EAnBvCC,OAAOA,CAACC,MAAkB,EAAE;IAC1B,IAAAC,sCAA0B,EAACD,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC1D,IAAAE,+BAAmB,EAACF,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;IACtD,OAAOP,SAAS,CAACM,OAAO,CAACC,MAAM,CAAC;EAClC;EAEAG,WAAWA,CAACH,MAAyB,EAAE;IACrC,IAAAC,sCAA0B,EAACD,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC;IACnE,IAAAC,sCAA0B,EAACD,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC;IACxE,OAAOP,SAAS,CAACU,WAAW,CAACH,MAAM,CAAC;EACtC;EAEAI,YAAYA,CAACJ,MAA0B,EAAE;IACvC,IAAAC,sCAA0B,EAACD,MAAM,EAAE,oBAAoB,EAAE,UAAU,CAAC;IACpE,IAAAC,sCAA0B,EAACD,MAAM,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;IAC3E,OAAOP,SAAS,CAACW,YAAY,CAACJ,MAAM,CAAC;EACvC;AAIF;AAACK,OAAA,CAAAV,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_validation","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","RNZoomSDK","NativeModules","ZoomSDK","constructor","updateMeetingSetting","isInitialized","cleanup","initSDK","config","validateNonEmptyStringProp","validateBooleanProp","joinMeeting","validateRequiredStringProp","startMeeting","exports"],"sources":["ZoomSDK.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport {\n validateNonEmptyStringProp,\n validateRequiredStringProp,\n validateBooleanProp,\n} from '../utils/validation';\n\nconst { RNZoomSDK } = NativeModules;\n\nexport type InitConfig = {\n jwtToken?: string;\n domain?: string;\n enableLog?: boolean;\n logSize?: number; //Android only\n bundleResPath?: string; //iOS only\n appGroupId?: string; //iOS only\n replaykitBundleIdentifier?: string; //iOS only\n};\n\nexport type MeetingSettingsConfig = {\n disableVideoPreview?: boolean;\n disableClearWebKitCache?: boolean;\n language?: string; //Android only\n};\n\nexport type JoinMeetingConfig = {\n userName: string;\n meetingNumber: string;\n password?: string;\n zoomAccessToken?: string;\n vanityID?: string;\n webinarToken?: string;\n joinToken?: string;\n appPrivilegeToken?: string;\n isMyVoiceInMix?: boolean;\n isAudioRawDataStereo?: boolean;\n\n noDrivingMode?: boolean;\n noInvite?: boolean;\n noMeetingEndMessage?: boolean;\n noMeetingErrorMessage?: boolean;\n noTitleBar?: boolean;\n noBottomToolbar?: boolean;\n noPhoneDialIn?: boolean;\n noPhoneDialOut?: boolean;\n noRecord?: boolean;\n noShare?: boolean;\n noVideo?: boolean;\n inviteOptions?: number;\n customerKey?: string;\n customMeetingId?: string;\n noUnmuteConfirmDialog?: boolean;\n noWebinarRegisterDialog?: boolean;\n noChatMsgToast?: boolean;\n noAudio?: boolean;\n meetingViewsOptions?: string;\n userType?: number;\n};\n\nexport type StartMeetingConfig = {\n userName: string;\n meetingNumber?: string;\n userType?: number;\n inviteContactId?: string;\n zoomAccessToken: string;\n vanityID?: string;\n isMyVoiceInMix?: boolean;\n isAudioRawDataStereo?: boolean;\n\n noDrivingMode?: boolean;\n noInvite?: boolean;\n noMeetingEndMessage?: boolean;\n noMeetingErrorMessage?: boolean;\n noTitleBar?: boolean;\n noBottomToolbar?: boolean;\n noPhoneDialIn?: boolean;\n noPhoneDialOut?: boolean;\n noRecord?: boolean;\n noShare?: boolean;\n noVideo?: boolean;\n inviteOptions?: number;\n customerKey?: string;\n customMeetingId?: string;\n noUnmuteConfirmDialog?: boolean;\n noWebinarRegisterDialog?: boolean;\n noChatMsgToast?: boolean;\n noAudio?: boolean;\n meetingViewsOptions?: string;\n};\n\nexport type ZoomSDKType = {\n // Methods\n initSDK: (config: InitConfig) => Promise<boolean>;\n joinMeeting: (config: JoinMeetingConfig) => Promise<number>;\n startMeeting: (config: StartMeetingConfig) => Promise<number>;\n updateMeetingSetting: (config: MeetingSettingsConfig) => void;\n isInitialized: () => Promise<boolean>;\n cleanup: () => void;\n};\n\nexport class ZoomSDK implements ZoomSDKType {\n initSDK(config: InitConfig) {\n validateNonEmptyStringProp(config, 'initConfig', 'domain');\n validateBooleanProp(config, 'initConfig', 'enableLog');\n return RNZoomSDK.initSDK(config);\n }\n\n joinMeeting(config: JoinMeetingConfig) {\n validateRequiredStringProp(config, 'JoinMeetingConfig', 'userName');\n validateRequiredStringProp(config, 'JoinMeetingConfig', 'meetingNumber');\n return RNZoomSDK.joinMeeting(config);\n }\n\n startMeeting(config: StartMeetingConfig) {\n validateRequiredStringProp(config, 'StartMeetingConfig', 'userName');\n validateRequiredStringProp(config, 'StartMeetingConfig', 'zoomAccessToken');\n return RNZoomSDK.startMeeting(config);\n }\n\n updateMeetingSetting = RNZoomSDK.updateMeetingSetting;\n isInitialized = RNZoomSDK.isInitialized;\n cleanup = RNZoomSDK.cleanup;\n}"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAI6B,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7B,MAAM;EAAEgB;AAAU,CAAC,GAAGC,0BAAa;AA6F5B,MAAMC,OAAO,CAAwB;EAAAC,YAAA;IAAAtB,eAAA,+BAmBnBmB,SAAS,CAACI,oBAAoB;IAAAvB,eAAA,wBACrCmB,SAAS,CAACK,aAAa;IAAAxB,eAAA,kBAC7BmB,SAAS,CAACM,OAAO;EAAA;EApB3BC,OAAOA,CAACC,MAAkB,EAAE;IAC1B,IAAAC,sCAA0B,EAACD,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;IAC1D,IAAAE,+BAAmB,EAACF,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;IACtD,OAAOR,SAAS,CAACO,OAAO,CAACC,MAAM,CAAC;EAClC;EAEAG,WAAWA,CAACH,MAAyB,EAAE;IACrC,IAAAI,sCAA0B,EAACJ,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC;IACnE,IAAAI,sCAA0B,EAACJ,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC;IACxE,OAAOR,SAAS,CAACW,WAAW,CAACH,MAAM,CAAC;EACtC;EAEAK,YAAYA,CAACL,MAA0B,EAAE;IACvC,IAAAI,sCAA0B,EAACJ,MAAM,EAAE,oBAAoB,EAAE,UAAU,CAAC;IACpE,IAAAI,sCAA0B,EAACJ,MAAM,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;IAC3E,OAAOR,SAAS,CAACa,YAAY,CAACL,MAAM,CAAC;EACvC;AAKF;AAACM,OAAA,CAAAZ,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.validateNonEmptyStringProp = exports.validateBooleanProp = void 0;
6
+ exports.validateRequiredStringProp = exports.validateNonEmptyStringProp = exports.validateBooleanProp = void 0;
7
7
  var _assert = _interopRequireDefault(require("assert"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  const validateNonEmptyStringProp = (config, errorLabel, propName) => {
@@ -14,6 +14,13 @@ const validateNonEmptyStringProp = (config, errorLabel, propName) => {
14
14
  }
15
15
  };
16
16
  exports.validateNonEmptyStringProp = validateNonEmptyStringProp;
17
+ const validateRequiredStringProp = (config, errorLabel, propName) => {
18
+ const prop = config[propName];
19
+ _assert.default.ok(typeof prop !== 'undefined' && prop !== null, `${errorLabel}: ${propName} is required`);
20
+ _assert.default.strictEqual(typeof prop, 'string', `${errorLabel}: ${propName} must be a string`);
21
+ _assert.default.ok(prop.length > 0, `${errorLabel}: ${propName} must have more then 0 characters`);
22
+ };
23
+ exports.validateRequiredStringProp = validateRequiredStringProp;
17
24
  const validateBooleanProp = (config, errorLabel, propName) => {
18
25
  const prop = config[propName];
19
26
  if (typeof prop !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"names":["_assert","_interopRequireDefault","require","e","__esModule","default","validateNonEmptyStringProp","config","errorLabel","propName","prop","assert","strictEqual","ok","length","exports","validateBooleanProp"],"sources":["validation.ts"],"sourcesContent":["import assert from 'assert';\n\nexport const validateNonEmptyStringProp = (\n config: any,\n errorLabel: string,\n propName: string\n) => {\n const prop = config[propName];\n if (typeof prop !== 'undefined') {\n assert.strictEqual(\n typeof prop,\n 'string',\n `${errorLabel}: ${propName} must be a string`\n );\n\n assert.ok(\n prop.length > 0,\n `${errorLabel}: ${propName} must have more then 0 characters`\n );\n }\n};\n\nexport const validateBooleanProp = (\n config: any,\n errorLabel: string,\n propName: string\n) => {\n const prop = config[propName];\n if (typeof prop !== 'undefined') {\n assert.strictEqual(\n typeof prop,\n 'boolean',\n `${errorLabel}: ${propName} must be a boolean`\n );\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,MAAMG,0BAA0B,GAAGA,CACxCC,MAAW,EACXC,UAAkB,EAClBC,QAAgB,KACb;EACH,MAAMC,IAAI,GAAGH,MAAM,CAACE,QAAQ,CAAC;EAC7B,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/BC,eAAM,CAACC,WAAW,CAChB,OAAOF,IAAI,EACX,QAAQ,EACR,GAAGF,UAAU,KAAKC,QAAQ,mBAC5B,CAAC;IAEDE,eAAM,CAACE,EAAE,CACPH,IAAI,CAACI,MAAM,GAAG,CAAC,EACf,GAAGN,UAAU,KAAKC,QAAQ,mCAC5B,CAAC;EACH;AACF,CAAC;AAACM,OAAA,CAAAT,0BAAA,GAAAA,0BAAA;AAEK,MAAMU,mBAAmB,GAAGA,CACjCT,MAAW,EACXC,UAAkB,EAClBC,QAAgB,KACb;EACH,MAAMC,IAAI,GAAGH,MAAM,CAACE,QAAQ,CAAC;EAC7B,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/BC,eAAM,CAACC,WAAW,CAChB,OAAOF,IAAI,EACX,SAAS,EACT,GAAGF,UAAU,KAAKC,QAAQ,oBAC5B,CAAC;EACH;AACF,CAAC;AAACM,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_assert","_interopRequireDefault","require","e","__esModule","default","validateNonEmptyStringProp","config","errorLabel","propName","prop","assert","strictEqual","ok","length","exports","validateRequiredStringProp","validateBooleanProp"],"sources":["validation.ts"],"sourcesContent":["import assert from 'assert';\n\nexport const validateNonEmptyStringProp = (\n config: any,\n errorLabel: string,\n propName: string\n) => {\n const prop = config[propName];\n if (typeof prop !== 'undefined') {\n assert.strictEqual(\n typeof prop,\n 'string',\n `${errorLabel}: ${propName} must be a string`\n );\n\n assert.ok(\n prop.length > 0,\n `${errorLabel}: ${propName} must have more then 0 characters`\n );\n }\n};\n\nexport const validateRequiredStringProp = (\n config: any,\n errorLabel: string,\n propName: string\n) => {\n const prop = config[propName];\n \n assert.ok(\n typeof prop !== 'undefined' && prop !== null,\n `${errorLabel}: ${propName} is required`\n );\n \n assert.strictEqual(\n typeof prop,\n 'string',\n `${errorLabel}: ${propName} must be a string`\n );\n\n assert.ok(\n prop.length > 0,\n `${errorLabel}: ${propName} must have more then 0 characters`\n );\n};\n\nexport const validateBooleanProp = (\n config: any,\n errorLabel: string,\n propName: string\n) => {\n const prop = config[propName];\n if (typeof prop !== 'undefined') {\n assert.strictEqual(\n typeof prop,\n 'boolean',\n `${errorLabel}: ${propName} must be a boolean`\n );\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,MAAMG,0BAA0B,GAAGA,CACxCC,MAAW,EACXC,UAAkB,EAClBC,QAAgB,KACb;EACH,MAAMC,IAAI,GAAGH,MAAM,CAACE,QAAQ,CAAC;EAC7B,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/BC,eAAM,CAACC,WAAW,CAChB,OAAOF,IAAI,EACX,QAAQ,EACR,GAAGF,UAAU,KAAKC,QAAQ,mBAC5B,CAAC;IAEDE,eAAM,CAACE,EAAE,CACPH,IAAI,CAACI,MAAM,GAAG,CAAC,EACf,GAAGN,UAAU,KAAKC,QAAQ,mCAC5B,CAAC;EACH;AACF,CAAC;AAACM,OAAA,CAAAT,0BAAA,GAAAA,0BAAA;AAEK,MAAMU,0BAA0B,GAAGA,CACxCT,MAAW,EACXC,UAAkB,EAClBC,QAAgB,KACb;EACH,MAAMC,IAAI,GAAGH,MAAM,CAACE,QAAQ,CAAC;EAE7BE,eAAM,CAACE,EAAE,CACP,OAAOH,IAAI,KAAK,WAAW,IAAIA,IAAI,KAAK,IAAI,EAC5C,GAAGF,UAAU,KAAKC,QAAQ,cAC5B,CAAC;EAEDE,eAAM,CAACC,WAAW,CAChB,OAAOF,IAAI,EACX,QAAQ,EACR,GAAGF,UAAU,KAAKC,QAAQ,mBAC5B,CAAC;EAEDE,eAAM,CAACE,EAAE,CACPH,IAAI,CAACI,MAAM,GAAG,CAAC,EACf,GAAGN,UAAU,KAAKC,QAAQ,mCAC5B,CAAC;AACH,CAAC;AAACM,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AAEK,MAAMC,mBAAmB,GAAGA,CACjCV,MAAW,EACXC,UAAkB,EAClBC,QAAgB,KACb;EACH,MAAMC,IAAI,GAAGH,MAAM,CAACE,QAAQ,CAAC;EAC7B,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/BC,eAAM,CAACC,WAAW,CAChB,OAAOF,IAAI,EACX,SAAS,EACT,GAAGF,UAAU,KAAKC,QAAQ,oBAC5B,CAAC;EACH;AACF,CAAC;AAACM,OAAA,CAAAE,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -6,6 +6,7 @@ export const Context = /*#__PURE__*/createContext({
6
6
  joinMeeting: throwProviderError,
7
7
  startMeeting: throwProviderError,
8
8
  updateMeetingSetting: throwProviderError,
9
- isInitialized: throwProviderError
9
+ isInitialized: throwProviderError,
10
+ cleanup: throwProviderError
10
11
  });
11
12
  //# sourceMappingURL=Context.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","throwProviderError","Error","Context","joinMeeting","startMeeting","updateMeetingSetting","isInitialized"],"sources":["Context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport type { StartMeetingConfig, JoinMeetingConfig, MeetingSettingsConfig } from './native/ZoomSDK';\n\nfunction throwProviderError() {\n throw new Error(\n 'Cannot access the Zoom SDK without a ZoomSDKProvider component wrapping your entire application.'\n );\n}\n\nexport interface ZoomSDKContext {\n joinMeeting: (config: JoinMeetingConfig) => Promise<number>;\n startMeeting: (config: StartMeetingConfig) => Promise<number>;\n updateMeetingSetting: (config: MeetingSettingsConfig) => void;\n isInitialized: () => Promise<boolean>;\n}\n\nexport const Context = createContext<ZoomSDKContext>({\n joinMeeting: throwProviderError as any,\n startMeeting: throwProviderError as any,\n updateMeetingSetting: throwProviderError as any,\n isInitialized: throwProviderError as any,\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,SAASC,kBAAkBA,CAAA,EAAG;EAC5B,MAAM,IAAIC,KAAK,CACb,kGACF,CAAC;AACH;AASA,OAAO,MAAMC,OAAO,gBAAGH,aAAa,CAAiB;EACnDI,WAAW,EAAEH,kBAAyB;EACtCI,YAAY,EAAEJ,kBAAyB;EACvCK,oBAAoB,EAAEL,kBAAyB;EAC/CM,aAAa,EAAEN;AACjB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","throwProviderError","Error","Context","joinMeeting","startMeeting","updateMeetingSetting","isInitialized","cleanup"],"sources":["Context.ts"],"sourcesContent":["import { createContext } from 'react';\nimport type { StartMeetingConfig, JoinMeetingConfig, MeetingSettingsConfig } from './native/ZoomSDK';\n\nfunction throwProviderError() {\n throw new Error(\n 'Cannot access the Zoom SDK without a ZoomSDKProvider component wrapping your entire application.'\n );\n}\n\nexport interface ZoomSDKContext {\n joinMeeting: (config: JoinMeetingConfig) => Promise<number>;\n startMeeting: (config: StartMeetingConfig) => Promise<number>;\n updateMeetingSetting: (config: MeetingSettingsConfig) => void;\n isInitialized: () => Promise<boolean>;\n cleanup: () => void;\n}\n\nexport const Context = createContext<ZoomSDKContext>({\n joinMeeting: throwProviderError as any,\n startMeeting: throwProviderError as any,\n updateMeetingSetting: throwProviderError as any,\n isInitialized: throwProviderError as any,\n cleanup: throwProviderError as any,\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,SAASC,kBAAkBA,CAAA,EAAG;EAC5B,MAAM,IAAIC,KAAK,CACb,kGACF,CAAC;AACH;AAUA,OAAO,MAAMC,OAAO,gBAAGH,aAAa,CAAiB;EACnDI,WAAW,EAAEH,kBAAyB;EACtCI,YAAY,EAAEJ,kBAAyB;EACvCK,oBAAoB,EAAEL,kBAAyB;EAC/CM,aAAa,EAAEN,kBAAyB;EACxCO,OAAO,EAAEP;AACX,CAAC,CAAC","ignoreList":[]}
@@ -29,11 +29,15 @@ export function useSDKHandler(config = {}) {
29
29
  const startMeeting = useCallback(config => {
30
30
  return SDKHandler.current.startMeeting(config);
31
31
  }, []);
32
+ const cleanup = useCallback(() => {
33
+ SDKHandler.current.cleanup();
34
+ }, []);
32
35
  return {
33
36
  isInitialized,
34
37
  updateMeetingSetting,
35
38
  joinMeeting,
36
- startMeeting
39
+ startMeeting,
40
+ cleanup
37
41
  };
38
42
  }
39
43
  //# sourceMappingURL=useSDKHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","ZoomSDK","DEFAULT_CONFIG","domain","enableLog","logSize","useSDKHandler","config","SDKHandler","isInited","setIsInited","current","initSDK","isInitialized","updateMeetingSetting","joinMeeting","startMeeting"],"sources":["useSDKHandler.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { ZoomSDKContext } from '../Context';\n\nimport {\n InitConfig,\n MeetingSettingsConfig,\n JoinMeetingConfig,\n StartMeetingConfig,\n ZoomSDK,\n} from '../native/ZoomSDK';\n\nconst DEFAULT_CONFIG: InitConfig = {\n domain: 'zoom.us',\n enableLog: true,\n logSize: 5,\n};\n\nexport function useSDKHandler(config: InitConfig = {}): ZoomSDKContext {\n const SDKHandler = useRef(new ZoomSDK());\n\n const [isInited, setIsInited] = useState(false);\n\n useEffect(() => {\n if (!isInited) {\n SDKHandler.current.initSDK({ ...DEFAULT_CONFIG, ...config });\n setIsInited(true);\n }\n }, [config, isInited]);\n\n const isInitialized = useCallback(() => {\n return SDKHandler.current.isInitialized();\n }, []);\n\n const updateMeetingSetting = useCallback((config: MeetingSettingsConfig) => {\n SDKHandler.current.updateMeetingSetting(config);\n }, []);\n\n const joinMeeting = useCallback((config: JoinMeetingConfig) => {\n return SDKHandler.current.joinMeeting(config);\n }, []);\n\n const startMeeting = useCallback((config: StartMeetingConfig) => {\n return SDKHandler.current.startMeeting(config);\n }, []);\n\n return {\n isInitialized,\n updateMeetingSetting,\n joinMeeting,\n startMeeting,\n };\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAGhE,SAKEC,OAAO,QACF,mBAAmB;AAE1B,MAAMC,cAA0B,GAAG;EACjCC,MAAM,EAAE,SAAS;EACjBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,SAASC,aAAaA,CAACC,MAAkB,GAAG,CAAC,CAAC,EAAkB;EACrE,MAAMC,UAAU,GAAGT,MAAM,CAAC,IAAIE,OAAO,CAAC,CAAC,CAAC;EAExC,MAAM,CAACQ,QAAQ,EAAEC,WAAW,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAE/CF,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,QAAQ,EAAE;MACbD,UAAU,CAACG,OAAO,CAACC,OAAO,CAAC;QAAE,GAAGV,cAAc;QAAE,GAAGK;MAAO,CAAC,CAAC;MAC5DG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACH,MAAM,EAAEE,QAAQ,CAAC,CAAC;EAEtB,MAAMI,aAAa,GAAGhB,WAAW,CAAC,MAAM;IACtC,OAAOW,UAAU,CAACG,OAAO,CAACE,aAAa,CAAC,CAAC;EAC3C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,oBAAoB,GAAGjB,WAAW,CAAEU,MAA6B,IAAK;IAC1EC,UAAU,CAACG,OAAO,CAACG,oBAAoB,CAACP,MAAM,CAAC;EACjD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,WAAW,GAAGlB,WAAW,CAAEU,MAAyB,IAAK;IAC7D,OAAOC,UAAU,CAACG,OAAO,CAACI,WAAW,CAACR,MAAM,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMS,YAAY,GAAGnB,WAAW,CAAEU,MAA0B,IAAK;IAC/D,OAAOC,UAAU,CAACG,OAAO,CAACK,YAAY,CAACT,MAAM,CAAC;EAChD,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLM,aAAa;IACbC,oBAAoB;IACpBC,WAAW;IACXC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","ZoomSDK","DEFAULT_CONFIG","domain","enableLog","logSize","useSDKHandler","config","SDKHandler","isInited","setIsInited","current","initSDK","isInitialized","updateMeetingSetting","joinMeeting","startMeeting","cleanup"],"sources":["useSDKHandler.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { ZoomSDKContext } from '../Context';\n\nimport {\n InitConfig,\n MeetingSettingsConfig,\n JoinMeetingConfig,\n StartMeetingConfig,\n ZoomSDK,\n} from '../native/ZoomSDK';\n\nconst DEFAULT_CONFIG: InitConfig = {\n domain: 'zoom.us',\n enableLog: true,\n logSize: 5,\n};\n\nexport function useSDKHandler(config: InitConfig = {}): ZoomSDKContext {\n const SDKHandler = useRef(new ZoomSDK());\n\n const [isInited, setIsInited] = useState(false);\n\n useEffect(() => {\n if (!isInited) {\n SDKHandler.current.initSDK({ ...DEFAULT_CONFIG, ...config });\n setIsInited(true);\n }\n }, [config, isInited]);\n\n const isInitialized = useCallback(() => {\n return SDKHandler.current.isInitialized();\n }, []);\n\n const updateMeetingSetting = useCallback((config: MeetingSettingsConfig) => {\n SDKHandler.current.updateMeetingSetting(config);\n }, []);\n\n const joinMeeting = useCallback((config: JoinMeetingConfig) => {\n return SDKHandler.current.joinMeeting(config);\n }, []);\n\n const startMeeting = useCallback((config: StartMeetingConfig) => {\n return SDKHandler.current.startMeeting(config);\n }, []);\n\n const cleanup = useCallback(() => {\n SDKHandler.current.cleanup();\n }, []);\n\n return {\n isInitialized,\n updateMeetingSetting,\n joinMeeting,\n startMeeting,\n cleanup\n };\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAGhE,SAKEC,OAAO,QACF,mBAAmB;AAE1B,MAAMC,cAA0B,GAAG;EACjCC,MAAM,EAAE,SAAS;EACjBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,SAASC,aAAaA,CAACC,MAAkB,GAAG,CAAC,CAAC,EAAkB;EACrE,MAAMC,UAAU,GAAGT,MAAM,CAAC,IAAIE,OAAO,CAAC,CAAC,CAAC;EAExC,MAAM,CAACQ,QAAQ,EAAEC,WAAW,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAE/CF,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,QAAQ,EAAE;MACbD,UAAU,CAACG,OAAO,CAACC,OAAO,CAAC;QAAE,GAAGV,cAAc;QAAE,GAAGK;MAAO,CAAC,CAAC;MAC5DG,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACH,MAAM,EAAEE,QAAQ,CAAC,CAAC;EAEtB,MAAMI,aAAa,GAAGhB,WAAW,CAAC,MAAM;IACtC,OAAOW,UAAU,CAACG,OAAO,CAACE,aAAa,CAAC,CAAC;EAC3C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,oBAAoB,GAAGjB,WAAW,CAAEU,MAA6B,IAAK;IAC1EC,UAAU,CAACG,OAAO,CAACG,oBAAoB,CAACP,MAAM,CAAC;EACjD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,WAAW,GAAGlB,WAAW,CAAEU,MAAyB,IAAK;IAC7D,OAAOC,UAAU,CAACG,OAAO,CAACI,WAAW,CAACR,MAAM,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMS,YAAY,GAAGnB,WAAW,CAAEU,MAA0B,IAAK;IAC/D,OAAOC,UAAU,CAACG,OAAO,CAACK,YAAY,CAACT,MAAM,CAAC;EAChD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,OAAO,GAAGpB,WAAW,CAAC,MAAM;IAChCW,UAAU,CAACG,OAAO,CAACM,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLJ,aAAa;IACbC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC;EACF,CAAC;AACH","ignoreList":[]}