@100mslive/react-native-hms 1.10.4 → 1.10.6-beta.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.
- package/android/build.gradle +9 -2
- package/android/local.properties +1 -8
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +8 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +52 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +6 -4
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +50 -25
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +69 -1
- package/ios/HMSConstants.swift +1 -0
- package/ios/HMSDecoder.swift +9 -1
- package/ios/HMSHLSPlayerManager.swift +4 -1
- package/ios/HMSHelper.swift +28 -2
- package/ios/HMSInteractivityDecoder.swift +41 -0
- package/ios/HMSManager.m +34 -0
- package/ios/HMSManager.swift +66 -1
- package/ios/HMSRNInteractivityCenter.swift +41 -0
- package/ios/HMSRNSDK.swift +201 -3
- package/lib/commonjs/classes/HMSInteractivityCenter.js +58 -4
- package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -1
- package/lib/commonjs/classes/HMSInteractivityEncoder.js +6 -0
- package/lib/commonjs/classes/HMSInteractivityEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js +2 -0
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js +3 -2
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/whiteboard/HMSWhiteboard.js +6 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboard.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboardListenerActions.js +11 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboardListenerActions.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboardState.js +12 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboardState.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboardUpdateType.js +12 -0
- package/lib/commonjs/classes/whiteboard/HMSWhiteboardUpdateType.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/index.js +39 -0
- package/lib/commonjs/classes/whiteboard/index.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/registerCallbacks.js +26 -0
- package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -0
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSInteractivityCenter.js +58 -4
- package/lib/module/classes/HMSInteractivityCenter.js.map +1 -1
- package/lib/module/classes/HMSInteractivityEncoder.js +6 -0
- package/lib/module/classes/HMSInteractivityEncoder.js.map +1 -1
- package/lib/module/classes/HMSPermissions.js +2 -0
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSSessionStore.js +1 -1
- package/lib/module/classes/HMSSessionStore.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js +3 -2
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/whiteboard/HMSWhiteboard.js +2 -0
- package/lib/module/classes/whiteboard/HMSWhiteboard.js.map +1 -0
- package/lib/module/classes/whiteboard/HMSWhiteboardListenerActions.js +5 -0
- package/lib/module/classes/whiteboard/HMSWhiteboardListenerActions.js.map +1 -0
- package/lib/module/classes/whiteboard/HMSWhiteboardState.js +6 -0
- package/lib/module/classes/whiteboard/HMSWhiteboardState.js.map +1 -0
- package/lib/module/classes/whiteboard/HMSWhiteboardUpdateType.js +6 -0
- package/lib/module/classes/whiteboard/HMSWhiteboardUpdateType.js.map +1 -0
- package/lib/module/classes/whiteboard/index.js +4 -0
- package/lib/module/classes/whiteboard/index.js.map +1 -0
- package/lib/module/classes/whiteboard/registerCallbacks.js +18 -0
- package/lib/module/classes/whiteboard/registerCallbacks.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSInteractivityCenter.d.ts +19 -2
- package/lib/typescript/classes/HMSInteractivityEncoder.d.ts +2 -0
- package/lib/typescript/classes/HMSPermissions.d.ts +7 -0
- package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +11 -0
- package/lib/typescript/classes/whiteboard/HMSWhiteboard.d.ts +10 -0
- package/lib/typescript/classes/whiteboard/HMSWhiteboardListenerActions.d.ts +3 -0
- package/lib/typescript/classes/whiteboard/HMSWhiteboardState.d.ts +4 -0
- package/lib/typescript/classes/whiteboard/HMSWhiteboardUpdateType.d.ts +4 -0
- package/lib/typescript/classes/whiteboard/index.d.ts +3 -0
- package/lib/typescript/classes/whiteboard/registerCallbacks.d.ts +8 -0
- package/lib/typescript/index.d.ts +1 -0
- package/package.json +1 -1
- package/sdk-versions.json +2 -2
- package/src/classes/HMSInteractivityCenter.ts +89 -10
- package/src/classes/HMSInteractivityEncoder.ts +8 -0
- package/src/classes/HMSPermissions.ts +9 -0
- package/src/classes/HMSSessionStore.ts +0 -3
- package/src/classes/HMSVideoTrackSettings.ts +15 -0
- package/src/classes/whiteboard/HMSWhiteboard.tsx +16 -0
- package/src/classes/whiteboard/HMSWhiteboardListenerActions.ts +3 -0
- package/src/classes/whiteboard/HMSWhiteboardState.tsx +4 -0
- package/src/classes/whiteboard/HMSWhiteboardUpdateType.tsx +4 -0
- package/src/classes/whiteboard/index.ts +3 -0
- package/src/classes/whiteboard/registerCallbacks.ts +34 -0
- package/src/index.ts +1 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
package/ios/HMSRNSDK.swift
CHANGED
|
@@ -33,6 +33,8 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
33
33
|
private var peerListIterators = [String: HMSPeerListIterator]()
|
|
34
34
|
private var roomMutedLocally = false
|
|
35
35
|
private var noiseCancellationPlugin: HMSNoiseCancellationPlugin?
|
|
36
|
+
private var videoFilterPlugin: HMSVideoFilterPlugin?
|
|
37
|
+
private var virtualBackgroundPlugin: HMSVideoPlugin?
|
|
36
38
|
|
|
37
39
|
// MARK: - Setup
|
|
38
40
|
init(data: NSDictionary?, delegate manager: HMSManager?, uid id: String) {
|
|
@@ -41,19 +43,42 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
41
43
|
self.id = id
|
|
42
44
|
DispatchQueue.main.async { [weak self] in
|
|
43
45
|
var noiseCancellationPlugin: HMSNoiseCancellationPlugin?
|
|
46
|
+
var videoFilterPlugin: HMSVideoFilterPlugin?
|
|
47
|
+
var virtualBackgroundPlugin: HMSVideoPlugin?
|
|
44
48
|
|
|
45
49
|
self?.hms = HMSSDK.build { sdk in
|
|
46
50
|
sdk.appGroup = data?.value(forKey: "appGroup") as? String
|
|
47
51
|
sdk.frameworkInfo = HMSHelper.getFrameworkInfo(data?.value(forKey: "frameworkInfo") as? NSDictionary)
|
|
48
|
-
let
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
let trackSettingsDict = data?.value(forKey: "trackSettings") as? NSDictionary
|
|
53
|
+
|
|
54
|
+
// Video track settings
|
|
55
|
+
let videoSettingsDict = trackSettingsDict?.value(forKey: "video") as? NSDictionary
|
|
56
|
+
let videoPluginDict = videoSettingsDict?.value(forKey: "videoPlugin") as? NSDictionary
|
|
57
|
+
let videoPlugin = HMSHelper.getHMSVideoPlugin(videoPluginDict)
|
|
58
|
+
|
|
59
|
+
if let asVideoFilterPlugin = videoPlugin as? HMSVideoFilterPlugin {
|
|
60
|
+
videoFilterPlugin = asVideoFilterPlugin
|
|
61
|
+
} else if #available(iOS 15.0, *) {
|
|
62
|
+
let asVirtualBGPlugin = videoPlugin as? HMSVirtualBackgroundPlugin
|
|
63
|
+
virtualBackgroundPlugin = asVirtualBGPlugin
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
let videoSettings = HMSHelper.getLocalVideoSettings(videoSettingsDict, videoPlugin)
|
|
67
|
+
|
|
68
|
+
// Audio track settings
|
|
69
|
+
let audioSettingsDict = trackSettingsDict?.value(forKey: "audio") as? NSDictionary
|
|
70
|
+
|
|
51
71
|
let value = audioSettingsDict?.value(forKey: "noiseCancellationPlugin") as? NSDictionary
|
|
52
72
|
noiseCancellationPlugin = HMSHelper.getHMSNoiseCancellationPlugin(value)
|
|
73
|
+
|
|
53
74
|
let audioSettings = HMSHelper.getLocalAudioSettings(audioSettingsDict, noiseCancellationPlugin, sdk, self?.delegate, id)
|
|
75
|
+
|
|
76
|
+
// Track Settings
|
|
54
77
|
sdk.trackSettings = HMSTrackSettings(videoSettings: videoSettings, audioSettings: audioSettings)
|
|
55
78
|
}
|
|
56
79
|
self?.noiseCancellationPlugin = noiseCancellationPlugin
|
|
80
|
+
self?.virtualBackgroundPlugin = virtualBackgroundPlugin
|
|
81
|
+
self?.videoFilterPlugin = videoFilterPlugin
|
|
57
82
|
if let hms = self?.hms {
|
|
58
83
|
self?.interactivity = HMSRNInteractivityCenter(
|
|
59
84
|
hmssdk: hms,
|
|
@@ -2153,6 +2178,179 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
2153
2178
|
resolve?(isAvailable)
|
|
2154
2179
|
}
|
|
2155
2180
|
|
|
2181
|
+
// MARK: - Video Plugins Functions
|
|
2182
|
+
|
|
2183
|
+
func enableVideoPlugin(_ data: NSDictionary,
|
|
2184
|
+
_ resolve: RCTPromiseResolveBlock?,
|
|
2185
|
+
_ reject: RCTPromiseRejectBlock?) {
|
|
2186
|
+
guard let videoPluginType = data.value(forKey: "type") as? String else {
|
|
2187
|
+
let errorMessage = "\(#function) HMSVideoPlugin type not passed!"
|
|
2188
|
+
reject?("6004", errorMessage, nil)
|
|
2189
|
+
return
|
|
2190
|
+
}
|
|
2191
|
+
switch videoPluginType {
|
|
2192
|
+
case "HMSVirtualBackgroundPlugin":
|
|
2193
|
+
if #available(iOS 15.0, *) {
|
|
2194
|
+
guard let virtualBackgroundPlugin = self.virtualBackgroundPlugin as? HMSVirtualBackgroundPlugin else {
|
|
2195
|
+
let errorMessage = "\(#function) Unable to cast `var virtualBackgroundPlugin` to type `HMSVirtualBackgroundPlugin`, It is \(String(describing: virtualBackgroundPlugin))"
|
|
2196
|
+
reject?("6004", errorMessage, nil)
|
|
2197
|
+
return
|
|
2198
|
+
}
|
|
2199
|
+
virtualBackgroundPlugin.activate()
|
|
2200
|
+
resolve?(true)
|
|
2201
|
+
} else {
|
|
2202
|
+
let errorMessage = "\(#function) HMSVirtualBackgroundPlugin not available below iOS 15.0"
|
|
2203
|
+
reject?("6004", errorMessage, nil)
|
|
2204
|
+
return
|
|
2205
|
+
}
|
|
2206
|
+
case "HMSVideoFilterPlugin":
|
|
2207
|
+
guard let videoFilterPlugin = self.videoFilterPlugin else {
|
|
2208
|
+
let errorMessage = "\(#function) `videoFilterPlugin` is `nil`, Make sure you are passing `HMSVideoFilterPlugin` instance to `videoTrackSettings` in `HMSSDK.build`"
|
|
2209
|
+
reject?("6004", errorMessage, nil)
|
|
2210
|
+
return
|
|
2211
|
+
}
|
|
2212
|
+
videoFilterPlugin.activate()
|
|
2213
|
+
resolve?(true)
|
|
2214
|
+
default:
|
|
2215
|
+
let errorMessage = "\(#function) Unknown HMSVideoPlugin type passed!"
|
|
2216
|
+
reject?("6004", errorMessage, nil)
|
|
2217
|
+
return
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
func disableVideoPlugin(_ data: NSDictionary,
|
|
2222
|
+
_ resolve: RCTPromiseResolveBlock?,
|
|
2223
|
+
_ reject: RCTPromiseRejectBlock?) {
|
|
2224
|
+
guard let videoPluginType = data.value(forKey: "type") as? String else {
|
|
2225
|
+
let errorMessage = "\(#function) HMSVideoPlugin `type` not passed!"
|
|
2226
|
+
reject?("6004", errorMessage, nil)
|
|
2227
|
+
return
|
|
2228
|
+
}
|
|
2229
|
+
switch videoPluginType {
|
|
2230
|
+
case "HMSVirtualBackgroundPlugin":
|
|
2231
|
+
if #available(iOS 15.0, *) {
|
|
2232
|
+
guard let virtualBackgroundPlugin = self.virtualBackgroundPlugin as? HMSVirtualBackgroundPlugin else {
|
|
2233
|
+
let errorMessage = "\(#function) Unable to cast `var virtualBackgroundPlugin` to type `HMSVirtualBackgroundPlugin`, It is \(String(describing: virtualBackgroundPlugin))"
|
|
2234
|
+
reject?("6004", errorMessage, nil)
|
|
2235
|
+
return
|
|
2236
|
+
}
|
|
2237
|
+
virtualBackgroundPlugin.deactivate()
|
|
2238
|
+
resolve?(true)
|
|
2239
|
+
} else {
|
|
2240
|
+
let errorMessage = "\(#function) HMSVirtualBackgroundPlugin not available below iOS 15.0"
|
|
2241
|
+
reject?("6004", errorMessage, nil)
|
|
2242
|
+
return
|
|
2243
|
+
}
|
|
2244
|
+
case "HMSVideoFilterPlugin":
|
|
2245
|
+
guard let videoFilterPlugin = self.videoFilterPlugin else {
|
|
2246
|
+
let errorMessage = "\(#function) `videoFilterPlugin` is `nil`, Make sure you are passing `HMSVideoFilterPlugin` instance to `videoTrackSettings` in `HMSSDK.build`"
|
|
2247
|
+
reject?("6004", errorMessage, nil)
|
|
2248
|
+
return
|
|
2249
|
+
}
|
|
2250
|
+
videoFilterPlugin.deactivate()
|
|
2251
|
+
resolve?(true)
|
|
2252
|
+
default:
|
|
2253
|
+
let errorMessage = "\(#function) Unknown HMSVideoPlugin `type` passed!"
|
|
2254
|
+
reject?("6004", errorMessage, nil)
|
|
2255
|
+
return
|
|
2256
|
+
}
|
|
2257
|
+
}
|
|
2258
|
+
|
|
2259
|
+
func changeVirtualBackground(_ data: NSDictionary,
|
|
2260
|
+
_ resolve: RCTPromiseResolveBlock?,
|
|
2261
|
+
_ reject: RCTPromiseRejectBlock?) {
|
|
2262
|
+
if #available(iOS 15.0, *) {
|
|
2263
|
+
guard let backgroundDict = data.value(forKey: "background") as? NSDictionary
|
|
2264
|
+
else {
|
|
2265
|
+
let errorMessage = "\(#function) No background object passed!"
|
|
2266
|
+
reject?("6004", errorMessage, nil)
|
|
2267
|
+
return
|
|
2268
|
+
}
|
|
2269
|
+
guard let backgroundType = backgroundDict.value(forKey: "type") as? String
|
|
2270
|
+
else {
|
|
2271
|
+
let errorMessage = "\(#function) No background `type` passed!"
|
|
2272
|
+
reject?("6004", errorMessage, nil)
|
|
2273
|
+
return
|
|
2274
|
+
}
|
|
2275
|
+
guard let virtualBackgroundPlugin = self.virtualBackgroundPlugin as? HMSVirtualBackgroundPlugin else {
|
|
2276
|
+
let errorMessage = "\(#function) Unable to cast `var virtualBackgroundPlugin` to type `HMSVirtualBackgroundPlugin`, It is \(String(describing: virtualBackgroundPlugin))"
|
|
2277
|
+
reject?("6004", errorMessage, nil)
|
|
2278
|
+
return
|
|
2279
|
+
}
|
|
2280
|
+
switch backgroundType {
|
|
2281
|
+
case "blur":
|
|
2282
|
+
virtualBackgroundPlugin.backgroundImage = nil
|
|
2283
|
+
resolve?(true)
|
|
2284
|
+
case "image":
|
|
2285
|
+
guard let imageSource = backgroundDict.value(forKey: "source") as? NSDictionary else {
|
|
2286
|
+
let errorMessage = "\(#function) No background `source` passed for image!"
|
|
2287
|
+
reject?("6004", errorMessage, nil)
|
|
2288
|
+
return
|
|
2289
|
+
}
|
|
2290
|
+
DispatchQueue.main.async {
|
|
2291
|
+
guard let image = RCTConvert.uiImage(imageSource) else {
|
|
2292
|
+
let errorMessage = "\(#function) Unable to create `UIImage` from given background `source` object!"
|
|
2293
|
+
reject?("6004", errorMessage, nil)
|
|
2294
|
+
return
|
|
2295
|
+
}
|
|
2296
|
+
virtualBackgroundPlugin.backgroundImage = image
|
|
2297
|
+
resolve?(true)
|
|
2298
|
+
}
|
|
2299
|
+
default:
|
|
2300
|
+
let errorMessage = "\(#function) Unknown background `type` passed!"
|
|
2301
|
+
reject?("6004", errorMessage, nil)
|
|
2302
|
+
return
|
|
2303
|
+
}
|
|
2304
|
+
} else {
|
|
2305
|
+
let errorMessage = "\(#function) HMSVirtualBackgroundPlugin not available below iOS 15.0"
|
|
2306
|
+
reject?("6004", errorMessage, nil)
|
|
2307
|
+
return
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
func setVideoFilterParameter(_ data: NSDictionary,
|
|
2312
|
+
_ resolve: RCTPromiseResolveBlock?,
|
|
2313
|
+
_ reject: RCTPromiseRejectBlock?) {
|
|
2314
|
+
guard let videoFilterPlugin = self.videoFilterPlugin else {
|
|
2315
|
+
let errorMessage = "\(#function) `videoFilterPlugin` is `nil`, Make sure you are passing `HMSVideoFilterPlugin` instance to `videoTrackSettings` in `HMSSDK.build`"
|
|
2316
|
+
reject?("6004", errorMessage, nil)
|
|
2317
|
+
return
|
|
2318
|
+
}
|
|
2319
|
+
guard let filterType = data.value(forKey: "filter") as? String else {
|
|
2320
|
+
let errorMessage = "\(#function) `filter` property not passed!"
|
|
2321
|
+
reject?("6004", errorMessage, nil)
|
|
2322
|
+
return
|
|
2323
|
+
}
|
|
2324
|
+
guard let filterValue = data.value(forKey: "value") as? NSNumber else {
|
|
2325
|
+
let errorMessage = "\(#function) `value` property not passed!"
|
|
2326
|
+
reject?("6004", errorMessage, nil)
|
|
2327
|
+
return
|
|
2328
|
+
}
|
|
2329
|
+
switch filterType {
|
|
2330
|
+
case "brightness":
|
|
2331
|
+
videoFilterPlugin.brightness = CGFloat(truncating: filterValue)
|
|
2332
|
+
case "contrast":
|
|
2333
|
+
videoFilterPlugin.contrast = CGFloat(truncating: filterValue)
|
|
2334
|
+
case "exposure":
|
|
2335
|
+
videoFilterPlugin.exposure = CGFloat(truncating: filterValue)
|
|
2336
|
+
case "hue":
|
|
2337
|
+
videoFilterPlugin.hue = CGFloat(truncating: filterValue)
|
|
2338
|
+
case "redness":
|
|
2339
|
+
videoFilterPlugin.redness = CGFloat(truncating: filterValue)
|
|
2340
|
+
case "saturation":
|
|
2341
|
+
videoFilterPlugin.saturation = CGFloat(truncating: filterValue)
|
|
2342
|
+
case "sharpness":
|
|
2343
|
+
videoFilterPlugin.sharpness = CGFloat(truncating: filterValue)
|
|
2344
|
+
case "smoothness":
|
|
2345
|
+
videoFilterPlugin.smoothness = CGFloat(truncating: filterValue)
|
|
2346
|
+
default:
|
|
2347
|
+
let errorMessage = "\(#function) Unknown `filter` type passed!"
|
|
2348
|
+
reject?("6004", errorMessage, nil)
|
|
2349
|
+
return
|
|
2350
|
+
}
|
|
2351
|
+
resolve?(true)
|
|
2352
|
+
}
|
|
2353
|
+
|
|
2156
2354
|
// MARK: - Helper Functions
|
|
2157
2355
|
|
|
2158
2356
|
// Handle resetting states and data cleanup
|
|
@@ -12,6 +12,8 @@ var _HMSPollsListenerActions = require("./HMSPollsListenerActions");
|
|
|
12
12
|
var _HMSNativeEventListener = _interopRequireDefault(require("./HMSNativeEventListener"));
|
|
13
13
|
var _HMSInteractivityEncoder = require("./HMSInteractivityEncoder");
|
|
14
14
|
var _HMSHelper = require("./HMSHelper");
|
|
15
|
+
var _HMSWhiteboardListenerActions = require("./whiteboard/HMSWhiteboardListenerActions");
|
|
16
|
+
var _registerCallbacks = require("./whiteboard/registerCallbacks");
|
|
15
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
18
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
@@ -31,8 +33,18 @@ function unregisterPollUpdateListener() {
|
|
|
31
33
|
pollUpdateSubscription = null;
|
|
32
34
|
}
|
|
33
35
|
class HMSInteractivityCenter {
|
|
36
|
+
onUpdateListenerRemoved(eventType) {
|
|
37
|
+
if (eventType === _HMSPollsListenerActions.HMSPollsListenerActions.ON_POLL_UPDATE) {
|
|
38
|
+
unregisterPollUpdateListener();
|
|
39
|
+
} else if (eventType === _HMSWhiteboardListenerActions.HMSWhiteboardListenerActions.ON_WHITEBOARD_UPDATE) {
|
|
40
|
+
(0, _registerCallbacks.unregisterWhiteboardUpdateListener)();
|
|
41
|
+
} else {
|
|
42
|
+
console.warn('Unknown update listener removed: ', eventType);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
34
45
|
constructor() {
|
|
35
46
|
_defineProperty(this, "_eventEmitter", new _utils.EventEmitter());
|
|
47
|
+
//#region Poll Methods & Listeners
|
|
36
48
|
_defineProperty(this, "_pollUpdateListener", (...args) => {
|
|
37
49
|
const {
|
|
38
50
|
updatedPoll,
|
|
@@ -44,12 +56,21 @@ class HMSInteractivityCenter {
|
|
|
44
56
|
});
|
|
45
57
|
this._eventEmitter.emit(_HMSPollsListenerActions.HMSPollsListenerActions.ON_POLL_UPDATE, _HMSInteractivityEncoder.HMSInteractivityEncoder.transformPoll(updatedPoll), update);
|
|
46
58
|
});
|
|
47
|
-
|
|
48
|
-
|
|
59
|
+
//#endregion Poll Methods & Listeners
|
|
60
|
+
//#region Whiteboard Methods & Listeners
|
|
61
|
+
_defineProperty(this, "_whiteboardUpdateListener", (...args) => {
|
|
62
|
+
const {
|
|
63
|
+
hmsWhiteboard,
|
|
64
|
+
updateType
|
|
65
|
+
} = args[0];
|
|
66
|
+
_HMSLogger.logger === null || _HMSLogger.logger === void 0 || _HMSLogger.logger.verbose('#Listener ON_WHITEBOARD_UPDATE', {
|
|
67
|
+
updateType,
|
|
68
|
+
hmsWhiteboard
|
|
69
|
+
});
|
|
70
|
+
this._eventEmitter.emit(_HMSWhiteboardListenerActions.HMSWhiteboardListenerActions.ON_WHITEBOARD_UPDATE, _HMSInteractivityEncoder.HMSInteractivityEncoder.transformHMSWhiteboard(hmsWhiteboard), updateType);
|
|
49
71
|
});
|
|
50
|
-
this._eventEmitter.registerOnAllListenersRemoved(this.
|
|
72
|
+
this._eventEmitter.registerOnAllListenersRemoved(this.onUpdateListenerRemoved);
|
|
51
73
|
}
|
|
52
|
-
|
|
53
74
|
/**
|
|
54
75
|
* Adds a listener for poll updates
|
|
55
76
|
* @param listener - Callback to be called when a poll is updated
|
|
@@ -115,6 +136,39 @@ class HMSInteractivityCenter {
|
|
|
115
136
|
const response = await _HMSManagerModule.default.fetchLeaderboard(data);
|
|
116
137
|
return _HMSInteractivityEncoder.HMSInteractivityEncoder.transformPollLeaderboardResponse(response);
|
|
117
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Adds a listener for Whiteboard updates
|
|
141
|
+
* @param listener - Callback to be called when whiteboard is updated
|
|
142
|
+
* @returns HMSEventSubscription
|
|
143
|
+
*/
|
|
144
|
+
addWhiteboardUpdateListener(listener) {
|
|
145
|
+
(0, _registerCallbacks.registerWhiteboardUpdateListener)(this._whiteboardUpdateListener);
|
|
146
|
+
return this._eventEmitter.addListener(_HMSWhiteboardListenerActions.HMSWhiteboardListenerActions.ON_WHITEBOARD_UPDATE, listener, null);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Starts Whiteboard
|
|
151
|
+
*/
|
|
152
|
+
async startWhiteboard(title) {
|
|
153
|
+
const data = {
|
|
154
|
+
id: _HMSConstants.HMSConstants.DEFAULT_SDK_ID,
|
|
155
|
+
title
|
|
156
|
+
};
|
|
157
|
+
_HMSLogger.logger === null || _HMSLogger.logger === void 0 || _HMSLogger.logger.verbose('#Function startWhiteboard', data);
|
|
158
|
+
return _HMSManagerModule.default.startWhiteboard(data);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Stops Whiteboard
|
|
163
|
+
*/
|
|
164
|
+
async stopWhiteboard() {
|
|
165
|
+
const data = {
|
|
166
|
+
id: _HMSConstants.HMSConstants.DEFAULT_SDK_ID
|
|
167
|
+
};
|
|
168
|
+
_HMSLogger.logger === null || _HMSLogger.logger === void 0 || _HMSLogger.logger.verbose('#Function stopWhiteboard', data);
|
|
169
|
+
return _HMSManagerModule.default.stopWhiteboard(data);
|
|
170
|
+
}
|
|
171
|
+
//#endregion Whiteboard Methods & Listeners
|
|
118
172
|
}
|
|
119
173
|
exports.HMSInteractivityCenter = HMSInteractivityCenter;
|
|
120
174
|
//# sourceMappingURL=HMSInteractivityCenter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSPollsListenerActions","_HMSNativeEventListener","_HMSInteractivityEncoder","_HMSHelper","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","pollUpdateSubscription","registerPollUpdateListener","listener","HMSNativeEventListener","addListener","HMSConstants","DEFAULT_SDK_ID","HMSPollsListenerActions","ON_POLL_UPDATE","unregisterPollUpdateListener","remove","HMSInteractivityCenter","constructor","EventEmitter","args","updatedPoll","update","logger","verbose","_eventEmitter","emit","HMSInteractivityEncoder","transformPoll","registerOnAllListenersRemoved","_onAllPollUpdateListenerRemoved","addPollUpdateListener","_pollUpdateListener","startPoll","pollParams","transformedPollParams","rolesThatCanVote","HMSHelper","getRoleNames","undefined","rolesThatCanViewResponses","data","id","JSON","stringify","HMSManager","quickStartPoll","add","pollQuestionResponseParams","addResponseOnPollQuestion","stop","pollId","stopPoll","fetchLeaderboard","count","startIndex","includeCurrentPeer","response","transformPollLeaderboardResponse","exports"],"sources":["HMSInteractivityCenter.ts"],"sourcesContent":["import { EventEmitter } from '../utils';\nimport HMSManager from '../modules/HMSManagerModule';\nimport { HMSConstants } from './HMSConstants';\nimport { logger } from './HMSLogger';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { HMSPollCreateParams } from './polls/HMSPollCreateParams';\nimport type { HMSPollUpdateType } from './polls/HMSPollUpdateType';\nimport { HMSPollsListenerActions } from './HMSPollsListenerActions';\nimport HMSNativeEventListener from './HMSNativeEventListener';\nimport type { HMSEventSubscription } from './HMSNativeEventEmitter';\nimport { HMSInteractivityEncoder } from './HMSInteractivityEncoder';\nimport { HMSHelper } from './HMSHelper';\nimport type { PollLeaderboardResponse } from './polls/PollLeaderboardResponse';\nimport type { DecodedPollLeaderboardResponse } from './polls/DecodedPollLeaderboardResponse';\n\ntype PollUpdateListener = (data: {\n updatedPoll: HMSPoll;\n update: HMSPollUpdateType;\n}) => void;\n\ntype PollQuestionResponseCreateParams = {\n pollId: string;\n pollQuestionIndex: number;\n responses:\n | {\n text: string;\n duration?: number;\n }\n | {\n options: number[];\n duration?: number;\n };\n};\n\nlet pollUpdateSubscription: null | HMSEventSubscription = null;\n\nfunction registerPollUpdateListener(listener: PollUpdateListener) {\n if (pollUpdateSubscription !== null) {\n return;\n }\n pollUpdateSubscription = HMSNativeEventListener.addListener(\n HMSConstants.DEFAULT_SDK_ID,\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener\n );\n}\n\nfunction unregisterPollUpdateListener() {\n if (pollUpdateSubscription === null) {\n return;\n }\n pollUpdateSubscription.remove();\n pollUpdateSubscription = null;\n}\n\nexport class HMSInteractivityCenter {\n private _eventEmitter = new EventEmitter();\n\n private _pollUpdateListener = (...args: Parameters<PollUpdateListener>) => {\n const { updatedPoll, update } = args[0];\n logger?.verbose('#Listener ON_POLL_UPDATE', {\n update,\n updatedPoll,\n });\n this._eventEmitter.emit(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n HMSInteractivityEncoder.transformPoll(updatedPoll),\n update\n );\n };\n\n private _onAllPollUpdateListenerRemoved = () => {\n unregisterPollUpdateListener();\n };\n\n constructor() {\n this._eventEmitter.registerOnAllListenersRemoved(\n this._onAllPollUpdateListenerRemoved\n );\n }\n\n /**\n * Adds a listener for poll updates\n * @param listener - Callback to be called when a poll is updated\n * @returns HMSEventSubscription\n */\n addPollUpdateListener(\n listener: (updatedPoll: HMSPoll, update: HMSPollUpdateType) => void\n ) {\n registerPollUpdateListener(this._pollUpdateListener);\n return this._eventEmitter.addListener(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts a poll\n *\n * @param pollParams\n */\n async startPoll(pollParams: HMSPollCreateParams) {\n const transformedPollParams = {\n ...pollParams,\n rolesThatCanVote: pollParams.rolesThatCanVote\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanVote)\n : undefined,\n rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses)\n : undefined,\n };\n\n const data = {\n ...transformedPollParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function startPoll', JSON.stringify(data));\n return HMSManager.quickStartPoll(data);\n }\n\n async add(pollQuestionResponseParams: PollQuestionResponseCreateParams) {\n const data = {\n ...pollQuestionResponseParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function add', JSON.stringify(data));\n return HMSManager.addResponseOnPollQuestion(data);\n }\n\n async stop(pollId: string) {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n pollId,\n };\n logger?.verbose('#Function stop', JSON.stringify(data));\n return HMSManager.stopPoll(data);\n }\n\n /**\n * Fetches the leaderboard for a poll\n * @param pollId - The id of the poll\n * @param count - The number of entries to fetch\n * @param startIndex - The index to start fetching from\n * @param includeCurrentPeer - Whether to include the current peer in the fetched leaderboard entries\n * @returns Promise<PollLeaderboardResponse>\n */\n async fetchLeaderboard(\n pollId: string,\n count: number,\n startIndex: number,\n includeCurrentPeer: boolean\n ): Promise<PollLeaderboardResponse> {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n pollId,\n count,\n startIndex,\n includeCurrentPeer,\n };\n logger?.verbose('#Function fetchLeaderboard', data);\n\n const response: DecodedPollLeaderboardResponse =\n await HMSManager.fetchLeaderboard(data);\n return HMSInteractivityEncoder.transformPollLeaderboardResponse(response);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAIA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAEA,IAAAO,wBAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AAAwC,SAAAE,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAuBxC,IAAIW,sBAAmD,GAAG,IAAI;AAE9D,SAASC,0BAA0BA,CAACC,QAA4B,EAAE;EAChE,IAAIF,sBAAsB,KAAK,IAAI,EAAE;IACnC;EACF;EACAA,sBAAsB,GAAGG,+BAAsB,CAACC,WAAW,CACzDC,0BAAY,CAACC,cAAc,EAC3BC,gDAAuB,CAACC,cAAc,EACtCN,QACF,CAAC;AACH;AAEA,SAASO,4BAA4BA,CAAA,EAAG;EACtC,IAAIT,sBAAsB,KAAK,IAAI,EAAE;IACnC;EACF;EACAA,sBAAsB,CAACU,MAAM,CAAC,CAAC;EAC/BV,sBAAsB,GAAG,IAAI;AAC/B;AAEO,MAAMW,sBAAsB,CAAC;EAoBlCC,WAAWA,CAAA,EAAG;IAAAhC,eAAA,wBAnBU,IAAIiC,mBAAY,CAAC,CAAC;IAAAjC,eAAA,8BAEZ,CAAC,GAAGkC,IAAoC,KAAK;MACzE,MAAM;QAAEC,WAAW;QAAEC;MAAO,CAAC,GAAGF,IAAI,CAAC,CAAC,CAAC;MACvCG,iBAAM,aAANA,iBAAM,eAANA,iBAAM,CAAEC,OAAO,CAAC,0BAA0B,EAAE;QAC1CF,MAAM;QACND;MACF,CAAC,CAAC;MACF,IAAI,CAACI,aAAa,CAACC,IAAI,CACrBb,gDAAuB,CAACC,cAAc,EACtCa,gDAAuB,CAACC,aAAa,CAACP,WAAW,CAAC,EAClDC,MACF,CAAC;IACH,CAAC;IAAApC,eAAA,0CAEyC,MAAM;MAC9C6B,4BAA4B,CAAC,CAAC;IAChC,CAAC;IAGC,IAAI,CAACU,aAAa,CAACI,6BAA6B,CAC9C,IAAI,CAACC,+BACP,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACEC,qBAAqBA,CACnBvB,QAAmE,EACnE;IACAD,0BAA0B,CAAC,IAAI,CAACyB,mBAAmB,CAAC;IACpD,OAAO,IAAI,CAACP,aAAa,CAACf,WAAW,CACnCG,gDAAuB,CAACC,cAAc,EACtCN,QAAQ,EACR,IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMyB,SAASA,CAACC,UAA+B,EAAE;IAC/C,MAAMC,qBAAqB,GAAG;MAC5B,GAAGD,UAAU;MACbE,gBAAgB,EAAEF,UAAU,CAACE,gBAAgB,GACzCC,oBAAS,CAACC,YAAY,CAACJ,UAAU,CAACE,gBAAgB,CAAC,GACnDG,SAAS;MACbC,yBAAyB,EAAEN,UAAU,CAACM,yBAAyB,GAC3DH,oBAAS,CAACC,YAAY,CAACJ,UAAU,CAACM,yBAAyB,CAAC,GAC5DD;IACN,CAAC;IAED,MAAME,IAAI,GAAG;MACX,GAAGN,qBAAqB;MACxBO,EAAE,EAAE/B,0BAAY,CAACC;IACnB,CAAC;IACDW,iBAAM,aAANA,iBAAM,eAANA,iBAAM,CAAEC,OAAO,CAAC,qBAAqB,EAAEmB,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;IAC5D,OAAOI,yBAAU,CAACC,cAAc,CAACL,IAAI,CAAC;EACxC;EAEA,MAAMM,GAAGA,CAACC,0BAA4D,EAAE;IACtE,MAAMP,IAAI,GAAG;MACX,GAAGO,0BAA0B;MAC7BN,EAAE,EAAE/B,0BAAY,CAACC;IACnB,CAAC;IACDW,iBAAM,aAANA,iBAAM,eAANA,iBAAM,CAAEC,OAAO,CAAC,eAAe,EAAEmB,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;IACtD,OAAOI,yBAAU,CAACI,yBAAyB,CAACR,IAAI,CAAC;EACnD;EAEA,MAAMS,IAAIA,CAACC,MAAc,EAAE;IACzB,MAAMV,IAAI,GAAG;MACXC,EAAE,EAAE/B,0BAAY,CAACC,cAAc;MAC/BuC;IACF,CAAC;IACD5B,iBAAM,aAANA,iBAAM,eAANA,iBAAM,CAAEC,OAAO,CAAC,gBAAgB,EAAEmB,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CAAC;IACvD,OAAOI,yBAAU,CAACO,QAAQ,CAACX,IAAI,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMY,gBAAgBA,CACpBF,MAAc,EACdG,KAAa,EACbC,UAAkB,EAClBC,kBAA2B,EACO;IAClC,MAAMf,IAAI,GAAG;MACXC,EAAE,EAAE/B,0BAAY,CAACC,cAAc;MAC/BuC,MAAM;MACNG,KAAK;MACLC,UAAU;MACVC;IACF,CAAC;IACDjC,iBAAM,aAANA,iBAAM,eAANA,iBAAM,CAAEC,OAAO,CAAC,4BAA4B,EAAEiB,IAAI,CAAC;IAEnD,MAAMgB,QAAwC,GAC5C,MAAMZ,yBAAU,CAACQ,gBAAgB,CAACZ,IAAI,CAAC;IACzC,OAAOd,gDAAuB,CAAC+B,gCAAgC,CAACD,QAAQ,CAAC;EAC3E;AACF;AAACE,OAAA,CAAA1C,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_utils","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSPollsListenerActions","_HMSNativeEventListener","_HMSInteractivityEncoder","_HMSHelper","_HMSWhiteboardListenerActions","_registerCallbacks","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","pollUpdateSubscription","registerPollUpdateListener","listener","HMSNativeEventListener","addListener","HMSConstants","DEFAULT_SDK_ID","HMSPollsListenerActions","ON_POLL_UPDATE","unregisterPollUpdateListener","remove","HMSInteractivityCenter","onUpdateListenerRemoved","eventType","HMSWhiteboardListenerActions","ON_WHITEBOARD_UPDATE","unregisterWhiteboardUpdateListener","console","warn","constructor","EventEmitter","args","updatedPoll","update","logger","verbose","_eventEmitter","emit","HMSInteractivityEncoder","transformPoll","hmsWhiteboard","updateType","transformHMSWhiteboard","registerOnAllListenersRemoved","addPollUpdateListener","_pollUpdateListener","startPoll","pollParams","transformedPollParams","rolesThatCanVote","HMSHelper","getRoleNames","undefined","rolesThatCanViewResponses","data","id","JSON","stringify","HMSManager","quickStartPoll","add","pollQuestionResponseParams","addResponseOnPollQuestion","stop","pollId","stopPoll","fetchLeaderboard","count","startIndex","includeCurrentPeer","response","transformPollLeaderboardResponse","addWhiteboardUpdateListener","registerWhiteboardUpdateListener","_whiteboardUpdateListener","startWhiteboard","title","stopWhiteboard","exports"],"sources":["HMSInteractivityCenter.ts"],"sourcesContent":["import { EventEmitter } from '../utils';\nimport HMSManager from '../modules/HMSManagerModule';\nimport { HMSConstants } from './HMSConstants';\nimport { logger } from './HMSLogger';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { HMSPollCreateParams } from './polls/HMSPollCreateParams';\nimport type { HMSPollUpdateType } from './polls/HMSPollUpdateType';\nimport { HMSPollsListenerActions } from './HMSPollsListenerActions';\nimport HMSNativeEventListener from './HMSNativeEventListener';\nimport type { HMSEventSubscription } from './HMSNativeEventEmitter';\nimport { HMSInteractivityEncoder } from './HMSInteractivityEncoder';\nimport { HMSHelper } from './HMSHelper';\nimport type { PollLeaderboardResponse } from './polls/PollLeaderboardResponse';\nimport type { DecodedPollLeaderboardResponse } from './polls/DecodedPollLeaderboardResponse';\nimport type { HMSWhiteboardUpdateType } from './whiteboard/HMSWhiteboardUpdateType';\nimport type { HMSWhiteboard } from './whiteboard/HMSWhiteboard';\nimport { HMSWhiteboardListenerActions } from './whiteboard/HMSWhiteboardListenerActions';\nimport {\n WhiteboardUpdateListener,\n registerWhiteboardUpdateListener,\n unregisterWhiteboardUpdateListener,\n} from './whiteboard/registerCallbacks';\n\ntype PollUpdateListener = (data: {\n updatedPoll: HMSPoll;\n update: HMSPollUpdateType;\n}) => void;\n\ntype PollQuestionResponseCreateParams = {\n pollId: string;\n pollQuestionIndex: number;\n responses:\n | {\n text: string;\n duration?: number;\n }\n | {\n options: number[];\n duration?: number;\n };\n};\n\nlet pollUpdateSubscription: null | HMSEventSubscription = null;\n\nfunction registerPollUpdateListener(listener: PollUpdateListener) {\n if (pollUpdateSubscription !== null) {\n return;\n }\n pollUpdateSubscription = HMSNativeEventListener.addListener(\n HMSConstants.DEFAULT_SDK_ID,\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener\n );\n}\n\nfunction unregisterPollUpdateListener() {\n if (pollUpdateSubscription === null) {\n return;\n }\n pollUpdateSubscription.remove();\n pollUpdateSubscription = null;\n}\n\nexport class HMSInteractivityCenter {\n private _eventEmitter = new EventEmitter();\n\n private onUpdateListenerRemoved(eventType: string) {\n if (eventType === HMSPollsListenerActions.ON_POLL_UPDATE) {\n unregisterPollUpdateListener();\n } else if (\n eventType === HMSWhiteboardListenerActions.ON_WHITEBOARD_UPDATE\n ) {\n unregisterWhiteboardUpdateListener();\n } else {\n console.warn('Unknown update listener removed: ', eventType);\n }\n }\n\n constructor() {\n this._eventEmitter.registerOnAllListenersRemoved(\n this.onUpdateListenerRemoved\n );\n }\n\n //#region Poll Methods & Listeners\n\n private _pollUpdateListener = (...args: Parameters<PollUpdateListener>) => {\n const { updatedPoll, update } = args[0];\n logger?.verbose('#Listener ON_POLL_UPDATE', {\n update,\n updatedPoll,\n });\n this._eventEmitter.emit(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n HMSInteractivityEncoder.transformPoll(updatedPoll),\n update\n );\n };\n\n /**\n * Adds a listener for poll updates\n * @param listener - Callback to be called when a poll is updated\n * @returns HMSEventSubscription\n */\n addPollUpdateListener(\n listener: (updatedPoll: HMSPoll, update: HMSPollUpdateType) => void\n ) {\n registerPollUpdateListener(this._pollUpdateListener);\n return this._eventEmitter.addListener(\n HMSPollsListenerActions.ON_POLL_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts a poll\n *\n * @param pollParams\n */\n async startPoll(pollParams: HMSPollCreateParams) {\n const transformedPollParams = {\n ...pollParams,\n rolesThatCanVote: pollParams.rolesThatCanVote\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanVote)\n : undefined,\n rolesThatCanViewResponses: pollParams.rolesThatCanViewResponses\n ? HMSHelper.getRoleNames(pollParams.rolesThatCanViewResponses)\n : undefined,\n };\n\n const data = {\n ...transformedPollParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function startPoll', JSON.stringify(data));\n return HMSManager.quickStartPoll(data);\n }\n\n async add(pollQuestionResponseParams: PollQuestionResponseCreateParams) {\n const data = {\n ...pollQuestionResponseParams,\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function add', JSON.stringify(data));\n return HMSManager.addResponseOnPollQuestion(data);\n }\n\n async stop(pollId: string) {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n pollId,\n };\n logger?.verbose('#Function stop', JSON.stringify(data));\n return HMSManager.stopPoll(data);\n }\n\n /**\n * Fetches the leaderboard for a poll\n * @param pollId - The id of the poll\n * @param count - The number of entries to fetch\n * @param startIndex - The index to start fetching from\n * @param includeCurrentPeer - Whether to include the current peer in the fetched leaderboard entries\n * @returns Promise<PollLeaderboardResponse>\n */\n async fetchLeaderboard(\n pollId: string,\n count: number,\n startIndex: number,\n includeCurrentPeer: boolean\n ): Promise<PollLeaderboardResponse> {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n pollId,\n count,\n startIndex,\n includeCurrentPeer,\n };\n logger?.verbose('#Function fetchLeaderboard', data);\n\n const response: DecodedPollLeaderboardResponse =\n await HMSManager.fetchLeaderboard(data);\n return HMSInteractivityEncoder.transformPollLeaderboardResponse(response);\n }\n //#endregion Poll Methods & Listeners\n\n //#region Whiteboard Methods & Listeners\n\n private _whiteboardUpdateListener = (\n ...args: Parameters<WhiteboardUpdateListener>\n ) => {\n const { hmsWhiteboard, updateType } = args[0];\n logger?.verbose('#Listener ON_WHITEBOARD_UPDATE', {\n updateType,\n hmsWhiteboard,\n });\n this._eventEmitter.emit(\n HMSWhiteboardListenerActions.ON_WHITEBOARD_UPDATE,\n HMSInteractivityEncoder.transformHMSWhiteboard(hmsWhiteboard),\n updateType\n );\n };\n\n /**\n * Adds a listener for Whiteboard updates\n * @param listener - Callback to be called when whiteboard is updated\n * @returns HMSEventSubscription\n */\n addWhiteboardUpdateListener(\n listener: (\n hmsWhiteboard: HMSWhiteboard,\n updateType: HMSWhiteboardUpdateType\n ) => void\n ) {\n registerWhiteboardUpdateListener(this._whiteboardUpdateListener);\n return this._eventEmitter.addListener(\n HMSWhiteboardListenerActions.ON_WHITEBOARD_UPDATE,\n listener,\n null\n );\n }\n\n /**\n * Starts Whiteboard\n */\n async startWhiteboard(title: string) {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n title,\n };\n logger?.verbose('#Function startWhiteboard', data);\n return HMSManager.startWhiteboard(data);\n }\n\n /**\n * Stops Whiteboard\n */\n async stopWhiteboard() {\n const data = {\n id: HMSConstants.DEFAULT_SDK_ID,\n };\n logger?.verbose('#Function stopWhiteboard', data);\n return HMSManager.stopWhiteboard(data);\n }\n //#endregion Whiteboard Methods & Listeners\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -72,6 +72,12 @@ class HMSInteractivityEncoder {
|
|
|
72
72
|
}
|
|
73
73
|
return decodedPollLeaderboardResponse;
|
|
74
74
|
}
|
|
75
|
+
static transformHMSWhiteboard(hmsWhiteboard) {
|
|
76
|
+
if (hmsWhiteboard.owner) {
|
|
77
|
+
hmsWhiteboard.owner = _HMSEncoder.HMSEncoder.encodeHmsPeer(hmsWhiteboard.owner);
|
|
78
|
+
}
|
|
79
|
+
return hmsWhiteboard;
|
|
80
|
+
}
|
|
75
81
|
}
|
|
76
82
|
exports.HMSInteractivityEncoder = HMSInteractivityEncoder;
|
|
77
83
|
//# sourceMappingURL=HMSInteractivityEncoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_HMSEncoder","require","HMSInteractivityEncoder","transformPoll","poll","startedAt","dateNum","parseInt","isNaN","undefined","Date","stoppedAt","createdBy","HMSEncoder","encodeHmsPeer","startedBy","stoppedBy","rolesThatCanVote","map","role","encodeHmsRole","rolesThatCanViewResponses","transformPollLeaderboardResponse","decodedPollLeaderboardResponse","summary","averageTime","entries","forEach","entry","duration","totalResponses","correctResponses","position","score","exports"],"sources":["HMSInteractivityEncoder.ts"],"sourcesContent":["import { HMSEncoder } from './HMSEncoder';\nimport type { DecodedPollLeaderboardResponse } from './polls/DecodedPollLeaderboardResponse';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { PollLeaderboardResponse } from './polls/PollLeaderboardResponse';\n\nexport class HMSInteractivityEncoder {\n static transformPoll(poll: HMSPoll): HMSPoll {\n if (poll.startedAt) {\n const dateNum = parseInt(poll.startedAt as unknown as string);\n\n if (isNaN(dateNum)) {\n poll.startedAt = undefined;\n } else {\n poll.startedAt = new Date(dateNum);\n }\n }\n if (poll.stoppedAt) {\n const dateNum = parseInt(poll.stoppedAt as unknown as string);\n\n if (isNaN(dateNum)) {\n poll.stoppedAt = undefined;\n } else {\n poll.stoppedAt = new Date(dateNum);\n }\n }\n if (poll.createdBy) {\n poll.createdBy = HMSEncoder.encodeHmsPeer(poll.createdBy);\n }\n if (poll.startedBy) {\n poll.startedBy = HMSEncoder.encodeHmsPeer(poll.startedBy);\n }\n if (poll.stoppedBy) {\n poll.stoppedBy = HMSEncoder.encodeHmsPeer(poll.stoppedBy);\n }\n if (poll.rolesThatCanVote) {\n poll.rolesThatCanVote = poll.rolesThatCanVote.map((role) =>\n HMSEncoder.encodeHmsRole(role)\n );\n }\n if (poll.rolesThatCanViewResponses) {\n poll.rolesThatCanViewResponses = poll.rolesThatCanViewResponses.map(\n (role) => HMSEncoder.encodeHmsRole(role)\n );\n }\n\n // --- poll.questions: HMSPollQuestion[]\n // --- poll.result: HMSPollResult\n return poll;\n }\n\n static transformPollLeaderboardResponse(\n decodedPollLeaderboardResponse: DecodedPollLeaderboardResponse\n ): PollLeaderboardResponse {\n const summary = decodedPollLeaderboardResponse.summary;\n if (summary) {\n if (typeof summary.averageTime === 'string') {\n summary.averageTime = parseInt(summary.averageTime);\n }\n }\n\n const entries = decodedPollLeaderboardResponse.entries;\n if (entries) {\n entries.forEach((entry) => {\n if (typeof entry.duration === 'string') {\n entry.duration = parseInt(entry.duration);\n }\n if (typeof entry.totalResponses === 'string') {\n entry.totalResponses = parseInt(entry.totalResponses);\n }\n if (typeof entry.correctResponses === 'string') {\n entry.correctResponses = parseInt(entry.correctResponses);\n }\n if (typeof entry.position === 'string') {\n entry.position = parseInt(entry.position);\n }\n if (typeof entry.score === 'string') {\n entry.score = parseInt(entry.score);\n }\n });\n }\n\n return decodedPollLeaderboardResponse as PollLeaderboardResponse;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_HMSEncoder","require","HMSInteractivityEncoder","transformPoll","poll","startedAt","dateNum","parseInt","isNaN","undefined","Date","stoppedAt","createdBy","HMSEncoder","encodeHmsPeer","startedBy","stoppedBy","rolesThatCanVote","map","role","encodeHmsRole","rolesThatCanViewResponses","transformPollLeaderboardResponse","decodedPollLeaderboardResponse","summary","averageTime","entries","forEach","entry","duration","totalResponses","correctResponses","position","score","transformHMSWhiteboard","hmsWhiteboard","owner","exports"],"sources":["HMSInteractivityEncoder.ts"],"sourcesContent":["import { HMSEncoder } from './HMSEncoder';\nimport type { DecodedPollLeaderboardResponse } from './polls/DecodedPollLeaderboardResponse';\nimport type { HMSPoll } from './polls/HMSPoll';\nimport type { PollLeaderboardResponse } from './polls/PollLeaderboardResponse';\nimport type { HMSWhiteboard } from './whiteboard/HMSWhiteboard';\n\nexport class HMSInteractivityEncoder {\n static transformPoll(poll: HMSPoll): HMSPoll {\n if (poll.startedAt) {\n const dateNum = parseInt(poll.startedAt as unknown as string);\n\n if (isNaN(dateNum)) {\n poll.startedAt = undefined;\n } else {\n poll.startedAt = new Date(dateNum);\n }\n }\n if (poll.stoppedAt) {\n const dateNum = parseInt(poll.stoppedAt as unknown as string);\n\n if (isNaN(dateNum)) {\n poll.stoppedAt = undefined;\n } else {\n poll.stoppedAt = new Date(dateNum);\n }\n }\n if (poll.createdBy) {\n poll.createdBy = HMSEncoder.encodeHmsPeer(poll.createdBy);\n }\n if (poll.startedBy) {\n poll.startedBy = HMSEncoder.encodeHmsPeer(poll.startedBy);\n }\n if (poll.stoppedBy) {\n poll.stoppedBy = HMSEncoder.encodeHmsPeer(poll.stoppedBy);\n }\n if (poll.rolesThatCanVote) {\n poll.rolesThatCanVote = poll.rolesThatCanVote.map((role) =>\n HMSEncoder.encodeHmsRole(role)\n );\n }\n if (poll.rolesThatCanViewResponses) {\n poll.rolesThatCanViewResponses = poll.rolesThatCanViewResponses.map(\n (role) => HMSEncoder.encodeHmsRole(role)\n );\n }\n\n // --- poll.questions: HMSPollQuestion[]\n // --- poll.result: HMSPollResult\n return poll;\n }\n\n static transformPollLeaderboardResponse(\n decodedPollLeaderboardResponse: DecodedPollLeaderboardResponse\n ): PollLeaderboardResponse {\n const summary = decodedPollLeaderboardResponse.summary;\n if (summary) {\n if (typeof summary.averageTime === 'string') {\n summary.averageTime = parseInt(summary.averageTime);\n }\n }\n\n const entries = decodedPollLeaderboardResponse.entries;\n if (entries) {\n entries.forEach((entry) => {\n if (typeof entry.duration === 'string') {\n entry.duration = parseInt(entry.duration);\n }\n if (typeof entry.totalResponses === 'string') {\n entry.totalResponses = parseInt(entry.totalResponses);\n }\n if (typeof entry.correctResponses === 'string') {\n entry.correctResponses = parseInt(entry.correctResponses);\n }\n if (typeof entry.position === 'string') {\n entry.position = parseInt(entry.position);\n }\n if (typeof entry.score === 'string') {\n entry.score = parseInt(entry.score);\n }\n });\n }\n\n return decodedPollLeaderboardResponse as PollLeaderboardResponse;\n }\n\n static transformHMSWhiteboard(hmsWhiteboard: HMSWhiteboard): HMSWhiteboard {\n if (hmsWhiteboard.owner) {\n hmsWhiteboard.owner = HMSEncoder.encodeHmsPeer(hmsWhiteboard.owner);\n }\n return hmsWhiteboard;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ class HMSPermissions {
|
|
|
19
19
|
_defineProperty(this, "rtmpStreaming", void 0);
|
|
20
20
|
_defineProperty(this, "pollRead", void 0);
|
|
21
21
|
_defineProperty(this, "pollWrite", void 0);
|
|
22
|
+
_defineProperty(this, "whiteboard", void 0);
|
|
22
23
|
if (params) {
|
|
23
24
|
this.endRoom = params.endRoom;
|
|
24
25
|
this.removeOthers = params.removeOthers;
|
|
@@ -30,6 +31,7 @@ class HMSPermissions {
|
|
|
30
31
|
this.rtmpStreaming = params.rtmpStreaming;
|
|
31
32
|
this.pollRead = params.pollRead;
|
|
32
33
|
this.pollWrite = params.pollWrite;
|
|
34
|
+
this.whiteboard = params.whiteboard;
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HMSPermissions","constructor","params","_defineProperty","endRoom","removeOthers","unmute","mute","changeRole","browserRecording","hlsStreaming","rtmpStreaming","pollRead","pollWrite","exports"],"sources":["HMSPermissions.ts"],"sourcesContent":["export class HMSPermissions {\n endRoom?: boolean;\n removeOthers?: boolean;\n unmute?: boolean;\n mute?: boolean;\n changeRole?: boolean;\n browserRecording?: boolean;\n hlsStreaming?: boolean;\n rtmpStreaming?: boolean;\n pollRead?: boolean;\n pollWrite?: boolean;\n\n constructor(params?: {\n endRoom?: boolean;\n removeOthers?: boolean;\n unmute?: boolean;\n mute?: boolean;\n changeRole?: boolean;\n browserRecording?: boolean;\n hlsStreaming?: boolean;\n rtmpStreaming?: boolean;\n pollRead?: boolean;\n pollWrite?: boolean;\n }) {\n if (params) {\n this.endRoom = params.endRoom;\n this.removeOthers = params.removeOthers;\n this.unmute = params.unmute;\n this.mute = params.mute;\n this.changeRole = params.changeRole;\n this.browserRecording = params.browserRecording;\n this.hlsStreaming = params.hlsStreaming;\n this.rtmpStreaming = params.rtmpStreaming;\n this.pollRead = params.pollRead;\n this.pollWrite = params.pollWrite;\n }\n }\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"names":["HMSPermissions","constructor","params","_defineProperty","endRoom","removeOthers","unmute","mute","changeRole","browserRecording","hlsStreaming","rtmpStreaming","pollRead","pollWrite","whiteboard","exports"],"sources":["HMSPermissions.ts"],"sourcesContent":["export interface HMSWhiteboardPermission {\n admin?: boolean;\n write?: boolean;\n read?: boolean;\n}\n\nexport class HMSPermissions {\n endRoom?: boolean;\n removeOthers?: boolean;\n unmute?: boolean;\n mute?: boolean;\n changeRole?: boolean;\n browserRecording?: boolean;\n hlsStreaming?: boolean;\n rtmpStreaming?: boolean;\n pollRead?: boolean;\n pollWrite?: boolean;\n whiteboard?: HMSWhiteboardPermission;\n\n constructor(params?: {\n endRoom?: boolean;\n removeOthers?: boolean;\n unmute?: boolean;\n mute?: boolean;\n changeRole?: boolean;\n browserRecording?: boolean;\n hlsStreaming?: boolean;\n rtmpStreaming?: boolean;\n pollRead?: boolean;\n pollWrite?: boolean;\n whiteboard?: HMSWhiteboardPermission;\n }) {\n if (params) {\n this.endRoom = params.endRoom;\n this.removeOthers = params.removeOthers;\n this.unmute = params.unmute;\n this.mute = params.mute;\n this.changeRole = params.changeRole;\n this.browserRecording = params.browserRecording;\n this.hlsStreaming = params.hlsStreaming;\n this.rtmpStreaming = params.rtmpStreaming;\n this.pollRead = params.pollRead;\n this.pollWrite = params.pollWrite;\n this.whiteboard = params.whiteboard;\n }\n }\n}\n"],"mappings":";;;;;;;;;AAMO,MAAMA,cAAc,CAAC;EAa1BC,WAAWA,CAACC,MAYX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAID,MAAM,EAAE;MACV,IAAI,CAACE,OAAO,GAAGF,MAAM,CAACE,OAAO;MAC7B,IAAI,CAACC,YAAY,GAAGH,MAAM,CAACG,YAAY;MACvC,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;MAC3B,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;MACvB,IAAI,CAACC,UAAU,GAAGN,MAAM,CAACM,UAAU;MACnC,IAAI,CAACC,gBAAgB,GAAGP,MAAM,CAACO,gBAAgB;MAC/C,IAAI,CAACC,YAAY,GAAGR,MAAM,CAACQ,YAAY;MACvC,IAAI,CAACC,aAAa,GAAGT,MAAM,CAACS,aAAa;MACzC,IAAI,CAACC,QAAQ,GAAGV,MAAM,CAACU,QAAQ;MAC/B,IAAI,CAACC,SAAS,GAAGX,MAAM,CAACW,SAAS;MACjC,IAAI,CAACC,UAAU,GAAGZ,MAAM,CAACY,UAAU;IACrC;EACF;AACF;AAACC,OAAA,CAAAf,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -147,7 +147,7 @@ class HMSSessionStore {
|
|
|
147
147
|
this._addedKeyChangeListenerCount -= 1;
|
|
148
148
|
if (this._addedKeyChangeListenerCount <= 0) {
|
|
149
149
|
this._addedKeyChangeListenerCount = 0;
|
|
150
|
-
if (this._deviceEventEmitterSubscription &&
|
|
150
|
+
if (this._deviceEventEmitterSubscription && typeof this._deviceEventEmitterSubscription.remove === 'function') {
|
|
151
151
|
this._deviceEventEmitterSubscription.remove();
|
|
152
152
|
} else {
|
|
153
153
|
_reactNative.DeviceEventEmitter.removeListener(_HMSUpdateListenerActions.HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED, this._deviceEventEmitterListener);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSUpdateListenerActions","_utils","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","HMSSessionStore","constructor","set","data","HMSManager","setSessionMetadataForKey","id","HMSConstants","DEFAULT_SDK_ID","get","getSessionMetadataForKey","addKeyChangeListener","forKeys","callback","_deviceEventEmitterSubscription","DeviceEventEmitter","addListener","HMSUpdateListenerActions","ON_SESSION_STORE_CHANGED","_deviceEventEmitterListener","bind","_eventEmitter","EventEmitter","uniqueId","join","Date","now","toString","eventEmitter","subscriptions","map","cleanupHandler","_cleanup","keys","catch","err","_addedKeyChangeListenerCount","remove","subscriptionsToRemove","length","context","forEach","subscription","removeKeyChangeListener","error","logger","getLogger","verbose","getOwnPropertyNames","includes","removeListener","undefined","_getLogger","_this$_eventEmitter","emit","exports"],"sources":["HMSSessionStore.ts"],"sourcesContent":["import { DeviceEventEmitter } from 'react-native';\nimport type { EmitterSubscription as RNEmitterSubscription } from 'react-native';\n\nimport HMSManager from '../modules/HMSManagerModule';\n\nimport { HMSConstants } from './HMSConstants';\nimport { getLogger } from './HMSLogger';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport { EventEmitter } from '../utils';\nimport type { EmitterSubscription } from '../utils';\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonMap = {\n [key: string]: JsonPrimitive | JsonMap | JsonArray;\n};\nexport type JsonArray = Array<JsonPrimitive | JsonMap | JsonArray>;\nexport type JsonValue = JsonPrimitive | JsonMap | JsonArray;\n\n/**\n * Session store is a shared realtime key-value store that is accessible by everyone in the room.\n * It can be utilized to implement features such as pinned text, spotlight (which brings a particular\n * peer to the center stage for everyone in the room) and more.\n *\n * To get an instance of `HMSSessionStore` class, You can add an event listener for `ON_SESSION_STORE_AVAILABLE`\n * event on the `HMSSDK` instance\n *\n * For example:\n * ```\n * hmsInstance.addEventListener(HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE, <your callback function>);\n * ```\n *\n * Checkout Session Store docs fore more details ${@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/room/session-store}\n */\nexport class HMSSessionStore {\n private _deviceEventEmitterSubscription?: RNEmitterSubscription;\n private _eventEmitter?: EventEmitter;\n private _addedKeyChangeListenerCount = 0;\n\n /**\n * This method sets a value for a specific key on session store.\n * Once a value is assigned, it will be available for other peers in the room\n * who are listening for changes in value for that specific key.\n *\n * @param {JsonValue} value\n * @param {string} key\n * @returns {Promise}\n */\n async set(value: JsonValue, key: string) {\n const data: { success: true } = await HMSManager.setSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n value,\n });\n return data;\n }\n\n /**\n * This method returns the value of any specified key on session store.\n * Note that you will not get updates for any change in value of the specified key,\n * It returns the latest value at the time it was called.\n *\n * To listen to value change updates use `addKeyChangeListener` method instead.\n *\n * @param {string} key\n * @returns {Promise}\n */\n async get(key: string) {\n const data: JsonValue = await HMSManager.getSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n });\n return data;\n }\n\n /**\n * This method registers a callback function for listening to value changes of a particular key.\n * Registered Callback function will be called initially with latest value and whenever the value updates\n *\n * @param {string[]} forKeys\n * @param {Function} callback\n * @returns {Object} subscription object\n */\n addKeyChangeListener<T extends string[]>(\n forKeys: T,\n callback: (\n error: string | null,\n data: { key: T[number]; value: JsonValue } | null\n ) => void\n ) {\n // Add Native Device Event Emitter if it is not already added\n if (!this._deviceEventEmitterSubscription) {\n this._deviceEventEmitterSubscription = DeviceEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener.bind(this)\n );\n }\n\n // Create JS side EventEmitter\n if (!this._eventEmitter) {\n this._eventEmitter = new EventEmitter();\n }\n\n // Unique Identifier for adding native event listener\n const uniqueId = forKeys.join('') + '_' + Date.now().toString();\n\n const eventEmitter = this._eventEmitter;\n\n // Add listeners on eventEmitter for each key\n const subscriptions = forKeys.map((key) =>\n eventEmitter.addListener(key, callback, { uniqueId })\n );\n\n //\n let cleanupHandler: (() => void) | null = () => {\n this._cleanup(subscriptions);\n };\n\n // Adding 'KeyChangeListener' on native side\n HMSManager.addKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n keys: forKeys,\n uniqueId,\n })\n // Adding 'KeyChangeListener' fails on native side\n .catch((err: any) => {\n if (typeof cleanupHandler === 'function') {\n callback(err, null);\n cleanupHandler();\n cleanupHandler = null;\n }\n });\n\n this._addedKeyChangeListenerCount += 1;\n\n return {\n remove: () => {\n if (typeof cleanupHandler === 'function') {\n cleanupHandler();\n cleanupHandler = null;\n }\n },\n };\n }\n\n private _cleanup(subscriptionsToRemove: EmitterSubscription[]) {\n // Extracting `uniqueId` from first subscription (all subscriptions have same uniqueId)\n // this `uniqueId` will be used to remove 'KeyChangeListener' from native side\n const uniqueId =\n subscriptionsToRemove.length > 0\n ? (subscriptionsToRemove[0]!.context as { uniqueId: string }).uniqueId\n : null;\n\n // Removing required subscriptions from 'eventEmitter'\n subscriptionsToRemove.forEach((subscription) => subscription.remove());\n\n // Removing 'KeyChangeListener' from native side\n HMSManager.removeKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n uniqueId,\n }).catch((error: any) => {\n const logger = getLogger();\n logger?.verbose(\n \"Error while removing key change listener, Listener didn't get registerred at first place or was already removed\",\n error\n );\n });\n\n this._addedKeyChangeListenerCount -= 1;\n\n if (this._addedKeyChangeListenerCount <= 0) {\n this._addedKeyChangeListenerCount = 0;\n if (\n this._deviceEventEmitterSubscription &&\n Object.getOwnPropertyNames(\n this._deviceEventEmitterSubscription\n ).includes('remove') &&\n typeof this._deviceEventEmitterSubscription.remove === 'function'\n ) {\n this._deviceEventEmitterSubscription.remove();\n } else {\n DeviceEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener\n );\n }\n\n this._deviceEventEmitterSubscription = undefined;\n\n this._eventEmitter = undefined;\n }\n }\n\n private _deviceEventEmitterListener(data: {\n id: string;\n key: string;\n value: JsonValue;\n }) {\n // if id is different from default sdk_id, return early\n if (data.id !== HMSConstants.DEFAULT_SDK_ID) {\n return;\n }\n\n // emit event for the key\n getLogger()?.verbose('#Listener ON_SESSION_STORE_CHANGED event: ', data);\n\n this._eventEmitter?.emit(data.key, null, data);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSUpdateListenerActions","_utils","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","HMSSessionStore","constructor","set","data","HMSManager","setSessionMetadataForKey","id","HMSConstants","DEFAULT_SDK_ID","get","getSessionMetadataForKey","addKeyChangeListener","forKeys","callback","_deviceEventEmitterSubscription","DeviceEventEmitter","addListener","HMSUpdateListenerActions","ON_SESSION_STORE_CHANGED","_deviceEventEmitterListener","bind","_eventEmitter","EventEmitter","uniqueId","join","Date","now","toString","eventEmitter","subscriptions","map","cleanupHandler","_cleanup","keys","catch","err","_addedKeyChangeListenerCount","remove","subscriptionsToRemove","length","context","forEach","subscription","removeKeyChangeListener","error","logger","getLogger","verbose","removeListener","undefined","_getLogger","_this$_eventEmitter","emit","exports"],"sources":["HMSSessionStore.ts"],"sourcesContent":["import { DeviceEventEmitter } from 'react-native';\nimport type { EmitterSubscription as RNEmitterSubscription } from 'react-native';\n\nimport HMSManager from '../modules/HMSManagerModule';\n\nimport { HMSConstants } from './HMSConstants';\nimport { getLogger } from './HMSLogger';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport { EventEmitter } from '../utils';\nimport type { EmitterSubscription } from '../utils';\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonMap = {\n [key: string]: JsonPrimitive | JsonMap | JsonArray;\n};\nexport type JsonArray = Array<JsonPrimitive | JsonMap | JsonArray>;\nexport type JsonValue = JsonPrimitive | JsonMap | JsonArray;\n\n/**\n * Session store is a shared realtime key-value store that is accessible by everyone in the room.\n * It can be utilized to implement features such as pinned text, spotlight (which brings a particular\n * peer to the center stage for everyone in the room) and more.\n *\n * To get an instance of `HMSSessionStore` class, You can add an event listener for `ON_SESSION_STORE_AVAILABLE`\n * event on the `HMSSDK` instance\n *\n * For example:\n * ```\n * hmsInstance.addEventListener(HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE, <your callback function>);\n * ```\n *\n * Checkout Session Store docs fore more details ${@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/room/session-store}\n */\nexport class HMSSessionStore {\n private _deviceEventEmitterSubscription?: RNEmitterSubscription;\n private _eventEmitter?: EventEmitter;\n private _addedKeyChangeListenerCount = 0;\n\n /**\n * This method sets a value for a specific key on session store.\n * Once a value is assigned, it will be available for other peers in the room\n * who are listening for changes in value for that specific key.\n *\n * @param {JsonValue} value\n * @param {string} key\n * @returns {Promise}\n */\n async set(value: JsonValue, key: string) {\n const data: { success: true } = await HMSManager.setSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n value,\n });\n return data;\n }\n\n /**\n * This method returns the value of any specified key on session store.\n * Note that you will not get updates for any change in value of the specified key,\n * It returns the latest value at the time it was called.\n *\n * To listen to value change updates use `addKeyChangeListener` method instead.\n *\n * @param {string} key\n * @returns {Promise}\n */\n async get(key: string) {\n const data: JsonValue = await HMSManager.getSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n });\n return data;\n }\n\n /**\n * This method registers a callback function for listening to value changes of a particular key.\n * Registered Callback function will be called initially with latest value and whenever the value updates\n *\n * @param {string[]} forKeys\n * @param {Function} callback\n * @returns {Object} subscription object\n */\n addKeyChangeListener<T extends string[]>(\n forKeys: T,\n callback: (\n error: string | null,\n data: { key: T[number]; value: JsonValue } | null\n ) => void\n ) {\n // Add Native Device Event Emitter if it is not already added\n if (!this._deviceEventEmitterSubscription) {\n this._deviceEventEmitterSubscription = DeviceEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener.bind(this)\n );\n }\n\n // Create JS side EventEmitter\n if (!this._eventEmitter) {\n this._eventEmitter = new EventEmitter();\n }\n\n // Unique Identifier for adding native event listener\n const uniqueId = forKeys.join('') + '_' + Date.now().toString();\n\n const eventEmitter = this._eventEmitter;\n\n // Add listeners on eventEmitter for each key\n const subscriptions = forKeys.map((key) =>\n eventEmitter.addListener(key, callback, { uniqueId })\n );\n\n //\n let cleanupHandler: (() => void) | null = () => {\n this._cleanup(subscriptions);\n };\n\n // Adding 'KeyChangeListener' on native side\n HMSManager.addKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n keys: forKeys,\n uniqueId,\n })\n // Adding 'KeyChangeListener' fails on native side\n .catch((err: any) => {\n if (typeof cleanupHandler === 'function') {\n callback(err, null);\n cleanupHandler();\n cleanupHandler = null;\n }\n });\n\n this._addedKeyChangeListenerCount += 1;\n\n return {\n remove: () => {\n if (typeof cleanupHandler === 'function') {\n cleanupHandler();\n cleanupHandler = null;\n }\n },\n };\n }\n\n private _cleanup(subscriptionsToRemove: EmitterSubscription[]) {\n // Extracting `uniqueId` from first subscription (all subscriptions have same uniqueId)\n // this `uniqueId` will be used to remove 'KeyChangeListener' from native side\n const uniqueId =\n subscriptionsToRemove.length > 0\n ? (subscriptionsToRemove[0]!.context as { uniqueId: string }).uniqueId\n : null;\n\n // Removing required subscriptions from 'eventEmitter'\n subscriptionsToRemove.forEach((subscription) => subscription.remove());\n\n // Removing 'KeyChangeListener' from native side\n HMSManager.removeKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n uniqueId,\n }).catch((error: any) => {\n const logger = getLogger();\n logger?.verbose(\n \"Error while removing key change listener, Listener didn't get registerred at first place or was already removed\",\n error\n );\n });\n\n this._addedKeyChangeListenerCount -= 1;\n\n if (this._addedKeyChangeListenerCount <= 0) {\n this._addedKeyChangeListenerCount = 0;\n if (\n this._deviceEventEmitterSubscription &&\n typeof this._deviceEventEmitterSubscription.remove === 'function'\n ) {\n this._deviceEventEmitterSubscription.remove();\n } else {\n DeviceEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener\n );\n }\n\n this._deviceEventEmitterSubscription = undefined;\n\n this._eventEmitter = undefined;\n }\n }\n\n private _deviceEventEmitterListener(data: {\n id: string;\n key: string;\n value: JsonValue;\n }) {\n // if id is different from default sdk_id, return early\n if (data.id !== HMSConstants.DEFAULT_SDK_ID) {\n return;\n }\n\n // emit event for the key\n getLogger()?.verbose('#Listener ON_SESSION_STORE_CHANGED event: ', data);\n\n this._eventEmitter?.emit(data.key, null, data);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,8 +13,6 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
13
13
|
* Checkout Track Settings docs for more details {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/track/track-settings}
|
|
14
14
|
*/
|
|
15
15
|
class HMSVideoTrackSettings {
|
|
16
|
-
// android only
|
|
17
|
-
|
|
18
16
|
constructor(params) {
|
|
19
17
|
_defineProperty(this, "simulcastSettings", void 0);
|
|
20
18
|
_defineProperty(this, "initialState", void 0);
|
|
@@ -22,11 +20,14 @@ class HMSVideoTrackSettings {
|
|
|
22
20
|
_defineProperty(this, "forceSoftwareDecoder", void 0);
|
|
23
21
|
// android only
|
|
24
22
|
_defineProperty(this, "disableAutoResize", void 0);
|
|
23
|
+
// android only
|
|
24
|
+
_defineProperty(this, "videoPlugin", void 0);
|
|
25
25
|
this.simulcastSettings = params.simulcastSettings;
|
|
26
26
|
this.initialState = params.initialState;
|
|
27
27
|
this.cameraFacing = params.cameraFacing;
|
|
28
28
|
this.forceSoftwareDecoder = params.forceSoftwareDecoder;
|
|
29
29
|
this.disableAutoResize = params.disableAutoResize;
|
|
30
|
+
this.videoPlugin = params.videoPlugin;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.HMSVideoTrackSettings = HMSVideoTrackSettings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HMSVideoTrackSettings","constructor","params","_defineProperty","simulcastSettings","initialState","cameraFacing","forceSoftwareDecoder","disableAutoResize","exports"],"sources":["HMSVideoTrackSettings.ts"],"sourcesContent":["import type { HMSSimulcastLayerSettings } from './HMSSimulcastLayerSettings';\nimport type { HMSCameraFacing } from './HMSCameraFacing';\nimport type { HMSTrackSettingsInitState } from './HMSTrackSettingsInitState';\n\n/**\n * Customize local peer's Video track settings before Joining the Room.\n *\n * Checkout Track Settings docs for more details {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/track/track-settings}\n */\nexport class HMSVideoTrackSettings {\n readonly simulcastSettings?: HMSSimulcastLayerSettings[];\n initialState?: HMSTrackSettingsInitState;\n cameraFacing?: HMSCameraFacing;\n forceSoftwareDecoder?: boolean; // android only\n disableAutoResize?: boolean; // android only\n\n constructor(params: {\n simulcastSettings?: HMSSimulcastLayerSettings[];\n initialState?: HMSTrackSettingsInitState;\n cameraFacing?: HMSCameraFacing;\n forceSoftwareDecoder?: boolean;\n disableAutoResize?: boolean;\n }) {\n this.simulcastSettings = params.simulcastSettings;\n this.initialState = params.initialState;\n this.cameraFacing = params.cameraFacing;\n this.forceSoftwareDecoder = params.forceSoftwareDecoder;\n this.disableAutoResize = params.disableAutoResize;\n }\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"names":["HMSVideoTrackSettings","constructor","params","_defineProperty","simulcastSettings","initialState","cameraFacing","forceSoftwareDecoder","disableAutoResize","videoPlugin","exports"],"sources":["HMSVideoTrackSettings.ts"],"sourcesContent":["import type { ImageURISource, ImageRequireSource } from 'react-native';\nimport type { HMSSimulcastLayerSettings } from './HMSSimulcastLayerSettings';\nimport type { HMSCameraFacing } from './HMSCameraFacing';\nimport type { HMSTrackSettingsInitState } from './HMSTrackSettingsInitState';\n\nexport declare class HMSVirtualBackgroundPlugin {\n static NAME: string;\n constructor();\n enable(): Promise<boolean>;\n disable(): Promise<boolean>;\n setBlur(blurRadius: number): Promise<boolean>;\n setBackground(\n backgroundImage: ImageURISource | ImageRequireSource\n ): Promise<boolean>;\n}\n\n/**\n * Customize local peer's Video track settings before Joining the Room.\n *\n * Checkout Track Settings docs for more details {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/track/track-settings}\n */\nexport class HMSVideoTrackSettings {\n readonly simulcastSettings?: HMSSimulcastLayerSettings[];\n initialState?: HMSTrackSettingsInitState;\n cameraFacing?: HMSCameraFacing;\n forceSoftwareDecoder?: boolean; // android only\n disableAutoResize?: boolean; // android only\n videoPlugin?: HMSVirtualBackgroundPlugin;\n\n constructor(params: {\n simulcastSettings?: HMSSimulcastLayerSettings[];\n initialState?: HMSTrackSettingsInitState;\n cameraFacing?: HMSCameraFacing;\n forceSoftwareDecoder?: boolean;\n disableAutoResize?: boolean;\n videoPlugin?: HMSVirtualBackgroundPlugin;\n }) {\n this.simulcastSettings = params.simulcastSettings;\n this.initialState = params.initialState;\n this.cameraFacing = params.cameraFacing;\n this.forceSoftwareDecoder = params.forceSoftwareDecoder;\n this.disableAutoResize = params.disableAutoResize;\n this.videoPlugin = params.videoPlugin;\n }\n}\n"],"mappings":";;;;;;;;;AAgBA;AACA;AACA;AACA;AACA;AACO,MAAMA,qBAAqB,CAAC;EAQjCC,WAAWA,CAACC,MAOX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAX6B;IAAAA,eAAA;IACH;IAAAA,eAAA;IAW3B,IAAI,CAACC,iBAAiB,GAAGF,MAAM,CAACE,iBAAiB;IACjD,IAAI,CAACC,YAAY,GAAGH,MAAM,CAACG,YAAY;IACvC,IAAI,CAACC,YAAY,GAAGJ,MAAM,CAACI,YAAY;IACvC,IAAI,CAACC,oBAAoB,GAAGL,MAAM,CAACK,oBAAoB;IACvD,IAAI,CAACC,iBAAiB,GAAGN,MAAM,CAACM,iBAAiB;IACjD,IAAI,CAACC,WAAW,GAAGP,MAAM,CAACO,WAAW;EACvC;AACF;AAACC,OAAA,CAAAV,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["HMSWhiteboard.tsx"],"sourcesContent":["import type { HMSPeer } from '../HMSPeer';\nimport type { HMSWhiteboardState } from './HMSWhiteboardState';\n\nexport interface HMSWhiteboard {\n id: string;\n\n title?: string;\n\n state: HMSWhiteboardState;\n\n isOwner: boolean;\n\n owner?: HMSPeer;\n\n url?: string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HMSWhiteboardListenerActions = void 0;
|
|
7
|
+
let HMSWhiteboardListenerActions = exports.HMSWhiteboardListenerActions = /*#__PURE__*/function (HMSWhiteboardListenerActions) {
|
|
8
|
+
HMSWhiteboardListenerActions["ON_WHITEBOARD_UPDATE"] = "ON_WHITEBOARD_UPDATE";
|
|
9
|
+
return HMSWhiteboardListenerActions;
|
|
10
|
+
}({});
|
|
11
|
+
//# sourceMappingURL=HMSWhiteboardListenerActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HMSWhiteboardListenerActions","exports"],"sources":["HMSWhiteboardListenerActions.ts"],"sourcesContent":["export enum HMSWhiteboardListenerActions {\n ON_WHITEBOARD_UPDATE = 'ON_WHITEBOARD_UPDATE',\n}\n"],"mappings":";;;;;;IAAYA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,0BAA5BA,4BAA4B;EAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HMSWhiteboardState = void 0;
|
|
7
|
+
let HMSWhiteboardState = exports.HMSWhiteboardState = /*#__PURE__*/function (HMSWhiteboardState) {
|
|
8
|
+
HMSWhiteboardState["STARTED"] = "STARTED";
|
|
9
|
+
HMSWhiteboardState["STOPPED"] = "STOPPED";
|
|
10
|
+
return HMSWhiteboardState;
|
|
11
|
+
}({});
|
|
12
|
+
//# sourceMappingURL=HMSWhiteboardState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HMSWhiteboardState","exports"],"sources":["HMSWhiteboardState.tsx"],"sourcesContent":["export enum HMSWhiteboardState {\n STARTED = 'STARTED',\n STOPPED = 'STOPPED',\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
|