@100mslive/react-native-hms 1.9.6 → 1.9.8

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 (51) hide show
  1. package/android/local.properties +1 -8
  2. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +57 -0
  3. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +1 -0
  4. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +33 -7
  5. package/ios/HMSDecoder.swift +2 -0
  6. package/ios/HMSHelper.swift +4 -2
  7. package/ios/HMSRNSDK.swift +50 -19
  8. package/lib/commonjs/classes/HMSPIPConfig.js +0 -2
  9. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -1
  10. package/lib/commonjs/classes/HMSRoom.js +7 -0
  11. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  12. package/lib/commonjs/classes/HMSSessionStore.js +1 -1
  13. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  14. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  15. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  16. package/lib/commonjs/hooks/hmsviews.js.map +1 -1
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/stores/hms-store.js.map +1 -1
  19. package/lib/commonjs/stores/types.js +0 -9
  20. package/lib/commonjs/stores/types.js.map +1 -1
  21. package/lib/module/classes/HMSPIPConfig.js +1 -1
  22. package/lib/module/classes/HMSPIPConfig.js.map +1 -1
  23. package/lib/module/classes/HMSRoom.js +7 -0
  24. package/lib/module/classes/HMSRoom.js.map +1 -1
  25. package/lib/module/classes/HMSSessionStore.js +1 -1
  26. package/lib/module/classes/HMSSessionStore.js.map +1 -1
  27. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  28. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  29. package/lib/module/hooks/hmsviews.js.map +1 -1
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/module/stores/hms-store.js.map +1 -1
  32. package/lib/module/stores/types.js +0 -9
  33. package/lib/module/stores/types.js.map +1 -1
  34. package/lib/typescript/classes/HMSRoom.d.ts +1 -0
  35. package/lib/typescript/classes/HMSSessionStore.d.ts +10 -8
  36. package/lib/typescript/index.d.ts +1 -1
  37. package/package.json +1 -1
  38. package/sdk-versions.json +2 -2
  39. package/src/classes/HMSPIPConfig.ts +1 -1
  40. package/src/classes/HMSRoom.ts +13 -0
  41. package/src/classes/HMSSessionStore.ts +19 -18
  42. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +3 -2
  43. package/src/components/HMSHLSPlayer/hooks.ts +1 -2
  44. package/src/hooks/hmsviews.ts +3 -1
  45. package/src/index.ts +4 -1
  46. package/src/stores/hms-store.ts +1 -1
  47. package/src/stores/types.ts +4 -2
  48. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  49. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  50. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  51. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
@@ -1,8 +1 @@
1
- ## This file must *NOT* be checked into Version Control Systems,
2
- # as it contains information specific to your local configuration.
3
- #
4
- # Location of the SDK. This is only used by Gradle.
5
- # For customization when using a Version Control System, please read the
6
- # header note.
7
- #Mon Nov 14 20:51:00 IST 2022
8
- sdk.dir=/Users/jatinnagar/Library/Android/sdk
1
+ sdk.dir=/Users/yogesh/Library/Android/sdk
@@ -1,6 +1,8 @@
1
1
  package com.reactnativehmssdk
2
2
 
3
3
  import com.facebook.react.bridge.*
4
+ import com.google.gson.JsonArray
5
+ import com.google.gson.JsonObject
4
6
  import live.hms.video.connection.degredation.QualityLimitationReasons
5
7
  import live.hms.video.connection.stats.*
6
8
  import live.hms.video.connection.stats.quality.HMSNetworkQuality
@@ -144,6 +146,8 @@ object HMSDecoder {
144
146
  room.putInt("peerCount", it)
145
147
  }
146
148
  }
149
+
150
+ room.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
147
151
  }
148
152
  return room
149
153
  }
@@ -975,4 +979,57 @@ object HMSDecoder {
975
979
  hmsSimulcastLayerDefinitions.forEach { simulcastLayerDefinitions.pushMap(getSimulcastLayerDefinition(it)) }
976
980
  return simulcastLayerDefinitions
977
981
  }
982
+
983
+ fun getReadableArrayFromJsonArray(jsonArray: JsonArray): WritableArray {
984
+ val writableArray: WritableArray = Arguments.createArray()
985
+
986
+ jsonArray.forEach { ele ->
987
+ if (ele.isJsonPrimitive) {
988
+ val primitiveEle = ele.asJsonPrimitive
989
+ if (primitiveEle.isNumber) {
990
+ writableArray.pushDouble(primitiveEle.asDouble)
991
+ } else if (primitiveEle.isBoolean) {
992
+ writableArray.pushBoolean(primitiveEle.asBoolean)
993
+ } else {
994
+ writableArray.pushString(primitiveEle.asString)
995
+ }
996
+ } else if (ele.isJsonArray) {
997
+ writableArray.pushArray(getReadableArrayFromJsonArray(ele.asJsonArray))
998
+ } else if (ele.isJsonObject) {
999
+ writableArray.pushMap(getReadableMapFromJsonObject(ele.asJsonObject))
1000
+ } else {
1001
+ writableArray.pushNull()
1002
+ }
1003
+ }
1004
+
1005
+ return writableArray
1006
+ }
1007
+
1008
+ fun getReadableMapFromJsonObject(jsonObject: JsonObject): WritableMap {
1009
+ val writableMap: WritableMap = Arguments.createMap()
1010
+
1011
+ jsonObject.keySet().forEach { key ->
1012
+ val jsonEle = jsonObject.get(key)
1013
+
1014
+ if (jsonEle.isJsonObject) {
1015
+ writableMap.putMap(key, getReadableMapFromJsonObject(jsonEle.asJsonObject))
1016
+ } else if (jsonEle.isJsonArray) {
1017
+ writableMap.putArray(key, getReadableArrayFromJsonArray(jsonEle.asJsonArray))
1018
+ } else if (jsonEle.isJsonPrimitive) {
1019
+ val primitiveEle = jsonEle.asJsonPrimitive
1020
+
1021
+ if (primitiveEle.isBoolean) {
1022
+ writableMap.putBoolean(key, primitiveEle.asBoolean)
1023
+ } else if (primitiveEle.isNumber) {
1024
+ writableMap.putDouble(key, primitiveEle.asDouble)
1025
+ } else {
1026
+ writableMap.putString(key, primitiveEle.asString)
1027
+ }
1028
+ } else {
1029
+ writableMap.putNull(key)
1030
+ }
1031
+ }
1032
+
1033
+ return writableMap
1034
+ }
978
1035
  }
@@ -1232,6 +1232,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
1232
1232
  hms?.lowerLocalPeerHand(data, promise)
1233
1233
  }
1234
1234
 
1235
+ @ReactMethod
1235
1236
  fun lowerRemotePeerHand(
1236
1237
  data: ReadableMap,
1237
1238
  promise: Promise?,
@@ -1900,6 +1900,9 @@ class HMSRNSDK(
1900
1900
  "hlsRecordingState" -> {
1901
1901
  data.putMap("hlsRecordingState", HMSDecoder.getHMSHlsRecordingState(hmsRoom.hlsRecordingState))
1902
1902
  }
1903
+ "isLargeRoom" -> {
1904
+ data.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
1905
+ }
1903
1906
  }
1904
1907
 
1905
1908
  return data
@@ -2170,7 +2173,6 @@ class HMSRNSDK(
2170
2173
  val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
2171
2174
  if (requiredKeys === null) {
2172
2175
  val key = data.getString("key")!!
2173
- val value = data.getString("value")
2174
2176
 
2175
2177
  sessionStore.let {
2176
2178
  if (it === null) {
@@ -2179,18 +2181,27 @@ class HMSRNSDK(
2179
2181
  return
2180
2182
  }
2181
2183
 
2184
+ val value: Any? =
2185
+ when (data.getType("value")) {
2186
+ ReadableType.Boolean -> data.getBoolean("value")
2187
+ ReadableType.Map -> data.getMap("value")?.toHashMap()
2188
+ ReadableType.String -> data.getString("value")
2189
+ ReadableType.Array -> data.getArray("value")?.toArrayList()
2190
+ ReadableType.Number -> data.getDouble("value")
2191
+ ReadableType.Null -> null
2192
+ }
2193
+
2182
2194
  it.set(
2183
2195
  value, // data/value
2184
2196
  key, // key
2185
2197
  object : HMSActionResultListener {
2186
2198
  override fun onError(error: HMSException) {
2187
- promise?.reject(error.code.toString(), error.message)
2199
+ promise?.reject(error.code.toString(), error.description)
2188
2200
  }
2189
2201
 
2190
2202
  override fun onSuccess() {
2191
2203
  val result: WritableMap = Arguments.createMap()
2192
2204
  result.putBoolean("success", true)
2193
- result.putString("finalValue", value)
2194
2205
  promise?.resolve(result)
2195
2206
  }
2196
2207
  },
@@ -2230,9 +2241,13 @@ class HMSRNSDK(
2230
2241
  promise?.resolve(null)
2231
2242
  } else {
2232
2243
  if (sm.isJsonPrimitive) {
2233
- promise?.resolve(sm.asString)
2244
+ promise?.resolve(sm)
2234
2245
  } else if (sm.isJsonNull) {
2235
2246
  promise?.resolve(null)
2247
+ } else if (sm.isJsonArray) {
2248
+ promise?.resolve(HMSDecoder.getReadableArrayFromJsonArray(sm.asJsonArray))
2249
+ } else if (sm.isJsonObject) {
2250
+ promise?.resolve(HMSDecoder.getReadableMapFromJsonObject(sm.asJsonObject))
2236
2251
  } else {
2237
2252
  promise?.resolve(sm.toString())
2238
2253
  }
@@ -2276,12 +2291,23 @@ class HMSRNSDK(
2276
2291
 
2277
2292
  value.let { sm ->
2278
2293
  if (sm == null) {
2279
- map.putString("value", null)
2294
+ map.putNull("value")
2280
2295
  } else {
2281
2296
  if (sm.isJsonPrimitive) {
2282
- map.putString("value", sm.asString)
2297
+ val primitive = sm.asJsonPrimitive
2298
+ if (primitive.isBoolean) {
2299
+ map.putBoolean("value", primitive.asBoolean)
2300
+ } else if (primitive.isNumber) {
2301
+ map.putDouble("value", primitive.asDouble)
2302
+ } else {
2303
+ map.putString("value", sm.asString)
2304
+ }
2283
2305
  } else if (sm.isJsonNull) {
2284
- map.putString("value", null)
2306
+ map.putNull("value")
2307
+ } else if (sm.isJsonArray) {
2308
+ map.putArray("value", HMSDecoder.getReadableArrayFromJsonArray(sm.asJsonArray))
2309
+ } else if (sm.isJsonObject) {
2310
+ map.putMap("value", HMSDecoder.getReadableMapFromJsonObject(sm.asJsonObject))
2285
2311
  } else {
2286
2312
  map.putString("value", sm.toString())
2287
2313
  }
@@ -82,6 +82,8 @@ class HMSDecoder: NSObject {
82
82
  }
83
83
  data["peers"] = peers
84
84
 
85
+ data["isLargeRoom"] = room.isLarge
86
+
85
87
  return data
86
88
  }
87
89
 
@@ -3,6 +3,7 @@ import Foundation
3
3
 
4
4
  class HMSHelper: NSObject {
5
5
  static var audioMixerSourceHashMap: [String: HMSAudioNode]?
6
+ static var iterator: HMSPeerListIterator?
6
7
 
7
8
  static func getUnavailableRequiredKey(_ data: NSDictionary, _ requiredKeys: [String]) -> String {
8
9
  for (key) in requiredKeys {
@@ -37,8 +38,9 @@ class HMSHelper: NSObject {
37
38
  return
38
39
  }
39
40
 
40
- let peerListIterator = hms.getPeerListIterator(options: HMSPeerListIteratorOptions(filterByPeerIds: [peerID], limit: 1))
41
- peerListIterator.next { peers, _ in
41
+ iterator = hms.getPeerListIterator(options: HMSPeerListIteratorOptions(filterByPeerIds: [peerID], limit: 1))
42
+ iterator?.next { peers, _ in
43
+
42
44
  guard let nonnilPeers = peers, let firstPeer = nonnilPeers.first else {
43
45
  completion(nil)
44
46
  return
@@ -45,11 +45,23 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
45
45
  let audioSettings = HMSHelper.getLocalAudioSettings(trackSettings?.value(forKey: "audio") as? NSDictionary, sdk, self?.delegate, id)
46
46
  sdk.trackSettings = HMSTrackSettings(videoSettings: videoSettings, audioSettings: audioSettings)
47
47
  }
48
+
49
+ NotificationCenter.default.addObserver(forName: UIApplication.willTerminateNotification,
50
+ object: nil,
51
+ queue: .main) { [weak self] _ in
52
+ if self?.hms?.room != nil {
53
+ self?.hms?.leave()
54
+ }
55
+ }
48
56
  }
49
57
  self.delegate = manager
50
58
  self.id = id
51
59
  }
52
60
 
61
+ deinit {
62
+ NotificationCenter.default.removeObserver(self)
63
+ }
64
+
53
65
  // MARK: - Prebuilt
54
66
 
55
67
  func getRoomLayout(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
@@ -1281,6 +1293,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1281
1293
  case "hlsRecordingState":
1282
1294
  return ["hlsRecordingState": HMSDecoder.getHlsRecordingState(hmsRoom.hlsRecordingState)]
1283
1295
 
1296
+ case "isLargeRoom":
1297
+ return ["isLargeRoom": hmsRoom.isLarge]
1298
+
1284
1299
  default:
1285
1300
  return nil
1286
1301
  }
@@ -1742,15 +1757,22 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1742
1757
  return
1743
1758
  }
1744
1759
 
1745
- if let value = value {
1746
- if let stringValue = value as? String {
1747
- resolve?(stringValue)
1748
- } else {
1749
- let errorMessage = "\(#function) Session Store value for the key: \(key) is not of String Type. Value: \(value)"
1750
- reject?("6004", errorMessage, nil)
1751
- }
1752
- } else {
1760
+ switch value {
1761
+ case .none:
1753
1762
  resolve?(nil)
1763
+ case let boolValue as Bool:
1764
+ resolve?(boolValue)
1765
+ case let doubleValue as Double:
1766
+ resolve?(doubleValue)
1767
+ case let dictValue as [AnyHashable: Any]:
1768
+ resolve?(dictValue)
1769
+ case let arrayValue as [Any]:
1770
+ resolve?(arrayValue)
1771
+ case let stringValue as String:
1772
+ resolve?(stringValue)
1773
+ default:
1774
+ let errorMessage = "\(#function) Session Store value for the key: \(key) is not of valid type. Value: \(String(describing: value))"
1775
+ reject?("6004", errorMessage, nil)
1754
1776
  }
1755
1777
  }
1756
1778
  }
@@ -1777,14 +1799,13 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1777
1799
 
1778
1800
  let valueToBeSet = data["value"] as Any
1779
1801
 
1780
- store.set(valueToBeSet, forKey: key) { value, error in
1802
+ store.set(valueToBeSet, forKey: key) { _, error in
1781
1803
 
1782
1804
  if let error = error {
1783
- let errorMessage = "\(#function) Error in setting value: \(valueToBeSet) for key: \(key) to the Session Store. Error: \(error.localizedDescription)"
1784
- reject?("6004", errorMessage, nil)
1805
+ reject?("6004", error.localizedDescription, nil)
1785
1806
  return
1786
1807
  }
1787
- resolve?(["success": true, "finalValue": value])
1808
+ resolve?(["success": true])
1788
1809
  }
1789
1810
  }
1790
1811
  }
@@ -1829,13 +1850,23 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
1829
1850
 
1830
1851
  data["key"] = key
1831
1852
 
1832
- if let value = value {
1833
- if let stringValue = value as? String {
1834
- data["value"] = stringValue
1835
- } else {
1836
- let errorMessage = "\(#function) Session Store value for the key: \(key) is not of String Type. Value: \(value)"
1837
- print(errorMessage)
1838
- }
1853
+ switch value {
1854
+ case .none:
1855
+ data["value"] = nil
1856
+ case let boolValue as Bool:
1857
+ data["value"] = boolValue
1858
+ case let doubleValue as Double:
1859
+ data["value"] = doubleValue
1860
+ case let dictValue as [AnyHashable: Any]:
1861
+ data["value"] = dictValue
1862
+ case let arrayValue as [Any]:
1863
+ data["value"] = arrayValue
1864
+ case let stringValue as String:
1865
+ data["value"] = stringValue
1866
+ default:
1867
+ let message = "\(#function) Session Store value for the key: \(key) is not of valid type. Value: \(String(describing: value))"
1868
+ print(message)
1869
+ data["value"] = nil
1839
1870
  }
1840
1871
  self?.delegate?.emitEvent(HMSConstants.ON_SESSION_STORE_CHANGED, data)
1841
1872
 
@@ -1,4 +1,2 @@
1
1
  "use strict";
2
-
3
- ;
4
2
  //# sourceMappingURL=HMSPIPConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["HMSPIPConfig.ts"],"sourcesContent":["export interface HMSPIPConfig {\n autoEnterPipMode?: boolean;\n aspectRatio?: [number, number];\n endButton?: boolean;\n audioButton?: boolean;\n videoButton?: boolean;\n};\n"],"mappings":";;AAMC"}
1
+ {"version":3,"names":[],"sources":["HMSPIPConfig.ts"],"sourcesContent":["export interface HMSPIPConfig {\n autoEnterPipMode?: boolean;\n aspectRatio?: [number, number];\n endButton?: boolean;\n audioButton?: boolean;\n videoButton?: boolean;\n}\n"],"mappings":""}
@@ -94,6 +94,13 @@ class HMSRoom {
94
94
  }
95
95
  return (0, _HMSRoomCache.getHMSRoomPropertyFromNative)(_HMSConstants.HMSConstants.DEFAULT_SDK_ID, 'localPeer');
96
96
  }
97
+ get isLargeRoom() {
98
+ const hmsRoomCache = (0, _HMSRoomCache.getHmsRoomCache)();
99
+ if (hmsRoomCache) {
100
+ return hmsRoomCache.getProperty('isLargeRoom');
101
+ }
102
+ return (0, _HMSRoomCache.getHMSRoomPropertyFromNative)(_HMSConstants.HMSConstants.DEFAULT_SDK_ID, 'isLargeRoom');
103
+ }
97
104
  }
98
105
  exports.HMSRoom = HMSRoom;
99
106
  //# sourceMappingURL=HMSRoom.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_HMSRoomCache","require","_HMSConstants","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HMSRoom","constructor","params","id","sessionId","hmsRoomCache","getHmsRoomCache","getProperty","getHMSRoomPropertyFromNative","HMSConstants","DEFAULT_SDK_ID","name","metaData","peers","browserRecordingState","rtmpHMSRtmpStreamingState","serverRecordingState","hlsStreamingState","hlsRecordingState","peerCount","localPeer","exports"],"sources":["HMSRoom.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\nimport type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';\nimport type { HMSServerRecordingState } from './HMSServerRecordingState';\nimport type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';\nimport type { HMSHLSStreamingState } from './HMSHLSStreamingState';\nimport type { HMSHLSRecordingState } from './HMSHLSRecordingState';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSRoom {\n id: string;\n // startedAt?: Date;\n\n constructor(params: { id: string }) {\n this.id = params.id;\n // this.startedAt = params.startedAt;\n }\n\n get sessionId(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('sessionId');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'sessionId'\n );\n }\n\n get name(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('name');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'name');\n }\n\n get metaData(): string | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('metaData');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'metaData'\n );\n }\n\n get peers(): HMSPeer[] {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peers');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'peers');\n }\n\n get browserRecordingState(): HMSBrowserRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('browserRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'browserRecordingState'\n );\n }\n\n get rtmpHMSRtmpStreamingState(): HMSRtmpStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('rtmpHMSRtmpStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'rtmpHMSRtmpStreamingState'\n );\n }\n\n get serverRecordingState(): HMSServerRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('serverRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'serverRecordingState'\n );\n }\n\n get hlsStreamingState(): HMSHLSStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsStreamingState'\n );\n }\n\n get hlsRecordingState(): HMSHLSRecordingState | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsRecordingState'\n );\n }\n\n get peerCount(): number | null {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peerCount');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'peerCount'\n );\n }\n\n get localPeer(): HMSLocalPeer {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('localPeer');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'localPeer'\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_HMSRoomCache","require","_HMSConstants","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HMSRoom","constructor","params","id","sessionId","hmsRoomCache","getHmsRoomCache","getProperty","getHMSRoomPropertyFromNative","HMSConstants","DEFAULT_SDK_ID","name","metaData","peers","browserRecordingState","rtmpHMSRtmpStreamingState","serverRecordingState","hlsStreamingState","hlsRecordingState","peerCount","localPeer","isLargeRoom","exports"],"sources":["HMSRoom.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\nimport type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';\nimport type { HMSServerRecordingState } from './HMSServerRecordingState';\nimport type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';\nimport type { HMSHLSStreamingState } from './HMSHLSStreamingState';\nimport type { HMSHLSRecordingState } from './HMSHLSRecordingState';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSRoom {\n id: string;\n // startedAt?: Date;\n\n constructor(params: { id: string }) {\n this.id = params.id;\n // this.startedAt = params.startedAt;\n }\n\n get sessionId(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('sessionId');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'sessionId'\n );\n }\n\n get name(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('name');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'name');\n }\n\n get metaData(): string | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('metaData');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'metaData'\n );\n }\n\n get peers(): HMSPeer[] {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peers');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'peers');\n }\n\n get browserRecordingState(): HMSBrowserRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('browserRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'browserRecordingState'\n );\n }\n\n get rtmpHMSRtmpStreamingState(): HMSRtmpStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('rtmpHMSRtmpStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'rtmpHMSRtmpStreamingState'\n );\n }\n\n get serverRecordingState(): HMSServerRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('serverRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'serverRecordingState'\n );\n }\n\n get hlsStreamingState(): HMSHLSStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsStreamingState'\n );\n }\n\n get hlsRecordingState(): HMSHLSRecordingState | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsRecordingState'\n );\n }\n\n get peerCount(): number | null {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peerCount');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'peerCount'\n );\n }\n\n get localPeer(): HMSLocalPeer {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('localPeer');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'localPeer'\n );\n }\n\n get isLargeRoom(): boolean {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('isLargeRoom');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'isLargeRoom'\n );\n }\n}\n"],"mappings":"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"}
@@ -40,7 +40,7 @@ class HMSSessionStore {
40
40
  * Once a value is assigned, it will be available for other peers in the room
41
41
  * who are listening for changes in value for that specific key.
42
42
  *
43
- * @param {HMSSessionStoreValue} value
43
+ * @param {JsonValue} value
44
44
  * @param {string} key
45
45
  * @returns {Promise}
46
46
  */
@@ -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","String","r","e","Symbol","toPrimitive","call","TypeError","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\ntype Nullable<T> = T | null | undefined;\n\nexport type HMSSessionStoreValue = Nullable<string>;\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 {HMSSessionStoreValue} value\n * @param {string} key\n * @returns {Promise}\n */\n async set(value: HMSSessionStoreValue, key: string) {\n const data: { success: true; finalValue: HMSSessionStoreValue } =\n 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: HMSSessionStoreValue =\n 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: HMSSessionStoreValue } | 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: HMSSessionStoreValue;\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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"}
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","String","r","e","Symbol","toPrimitive","call","TypeError","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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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_hooks","_RCTHMSHLSPlayer","_types","_HMSEncoder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_HMSHLSPlayer","url","style","containerStyle","enableStats","enableControls","ref","hmsHlsPlayerRef","useRef","aspectRatio","setAspectRatio","useState","useImperativeHandle","play","current","RCTHMSHLSPlayerViewManagerConfig","Commands","UIManager","dispatchViewManagerCommand","findNodeHandle","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","nativeEvent","event","data","HMSHLSPlayerPlaybackEventTypes","ON_PLAYBACK_CUE_EVENT","transformedData","HMSEncoder","transformHMSHLSCueEventData","setHMSHLSPlayerCue","ON_PLAYBACK_FAILURE_EVENT","setHMSHLSPlayerPlaybackError","error","ON_PLAYBACK_RESOLUTION_CHANGE_EVENT","setHMSHLSPlayerResolution","width","height","isNaN","setHMSHLSPlayerPlaybackState","state","handleHLSStatsEvent","HMSHLSPlayerStatsEventTypes","ON_STATS_EVENT_ERROR","setHMSHLSPlayerStatsError","setHMSHLSPlayerStats","createElement","View","styles","container","playerWrapper","RCTHMSHLSPlayer","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","exports","React","forwardRef","StyleSheet","create","alignItems","justifyContent","backgroundColor"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport {\n setHMSHLSPlayerCue,\n setHMSHLSPlayerPlaybackError,\n setHMSHLSPlayerPlaybackState,\n setHMSHLSPlayerResolution,\n setHMSHLSPlayerStats,\n setHMSHLSPlayerStatsError,\n} from './hooks';\nimport {\n RCTHMSHLSPlayer,\n RCTHMSHLSPlayerViewManagerConfig,\n} from './RCTHMSHLSPlayer';\nimport type {\n HmsHlsPlaybackEventHandler,\n HmsHlsStatsEventHandler,\n RCTHMSHLSPlayerRef,\n} from './RCTHMSHLSPlayer';\nimport {\n HMSHLSPlayerPlaybackEventTypes,\n HMSHLSPlayerStatsEventTypes,\n} from '../../types';\nimport type { HMSHLSPlayerPlaybackCueEventData } from '../../types';\nimport { HMSEncoder } from '../../classes/HMSEncoder';\nimport type { HMSHLSPlayerPlaybackCue } from '../../stores/types';\n\nexport interface HMSHLSPlayerProps {\n url?: string;\n style?: StyleProp<ViewStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n aspectRatio?: number;\n enableStats?: boolean;\n enableControls?: boolean;\n}\n\nexport interface HMSHLSPlayerRefProperties {\n play: (url?: string) => void;\n stop: () => void;\n pause: () => void;\n resume: () => void;\n seekForward: (seconds: number) => void;\n seekBackward: (seconds: number) => void;\n seekToLivePosition: () => void;\n setVolume: (level: number) => void;\n}\n\nconst _HMSHLSPlayer: React.ForwardRefRenderFunction<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n> = (\n { url = '', style, containerStyle, enableStats, enableControls = false },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\n\n const [aspectRatio, setAspectRatio] = useState(16 / 9);\n\n useImperativeHandle(\n ref,\n () => ({\n play: (url?: string) => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.play\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.play,\n url ? [url] : ['']\n );\n }\n },\n stop: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop,\n undefined\n );\n }\n },\n pause: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause,\n undefined\n );\n }\n },\n resume: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume,\n undefined\n );\n }\n },\n seekForward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward,\n [seconds]\n );\n }\n },\n seekBackward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward,\n [seconds]\n );\n }\n },\n seekToLivePosition: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition,\n undefined\n );\n }\n },\n setVolume: (level: number) => {\n if (typeof level !== 'number') {\n throw new Error(\n level ? 'level must be a `number` type' : 'level was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume,\n [level]\n );\n }\n },\n }),\n []\n );\n\n // Handle HLS Playback events\n const handleHLSPlaybackEvent: HmsHlsPlaybackEventHandler = ({\n nativeEvent,\n }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT) {\n const transformedData = HMSEncoder.transformHMSHLSCueEventData<\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackCue\n >(data);\n setHMSHLSPlayerCue(transformedData);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT\n ) {\n setHMSHLSPlayerPlaybackError(data.error);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_RESOLUTION_CHANGE_EVENT\n ) {\n setHMSHLSPlayerResolution({...data});\n\n const aspectRatio = data.width / data.height;\n\n if (typeof aspectRatio === 'number' && !isNaN(aspectRatio)) {\n setAspectRatio(aspectRatio);\n }\n } else {\n setHMSHLSPlayerPlaybackState(data.state);\n }\n };\n\n // Handle HLS Stats events\n const handleHLSStatsEvent: HmsHlsStatsEventHandler = ({ nativeEvent }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR) {\n setHMSHLSPlayerStatsError(data);\n } else {\n setHMSHLSPlayerStats(data);\n }\n };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <View style={[styles.playerWrapper, style]}>\n <RCTHMSHLSPlayer\n ref={hmsHlsPlayerRef}\n url={url}\n style={[\n styles.player,\n { aspectRatio: aspectRatio, flex: aspectRatio < 1 ? 1 : undefined },\n ]}\n enableStats={enableStats}\n enableControls={enableControls}\n onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}\n onHmsHlsStatsEvent={handleHLSStatsEvent}\n />\n </View>\n </View>\n );\n};\n\nexport const HMSHLSPlayer = React.forwardRef<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n>(_HMSHLSPlayer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n playerWrapper: {\n backgroundColor: '#000000',\n alignItems: 'center',\n justifyContent: 'center',\n },\n player: {\n width: '100%',\n aspectRatio: 16 / 9,\n flex: 1,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_hooks","_RCTHMSHLSPlayer","_types","_HMSEncoder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_HMSHLSPlayer","url","style","containerStyle","enableStats","enableControls","ref","hmsHlsPlayerRef","useRef","aspectRatio","setAspectRatio","useState","useImperativeHandle","play","current","RCTHMSHLSPlayerViewManagerConfig","Commands","UIManager","dispatchViewManagerCommand","findNodeHandle","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","nativeEvent","event","data","HMSHLSPlayerPlaybackEventTypes","ON_PLAYBACK_CUE_EVENT","transformedData","HMSEncoder","transformHMSHLSCueEventData","setHMSHLSPlayerCue","ON_PLAYBACK_FAILURE_EVENT","setHMSHLSPlayerPlaybackError","error","ON_PLAYBACK_RESOLUTION_CHANGE_EVENT","setHMSHLSPlayerResolution","width","height","isNaN","setHMSHLSPlayerPlaybackState","state","handleHLSStatsEvent","HMSHLSPlayerStatsEventTypes","ON_STATS_EVENT_ERROR","setHMSHLSPlayerStatsError","setHMSHLSPlayerStats","createElement","View","styles","container","playerWrapper","RCTHMSHLSPlayer","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","exports","React","forwardRef","StyleSheet","create","alignItems","justifyContent","backgroundColor"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport {\n setHMSHLSPlayerCue,\n setHMSHLSPlayerPlaybackError,\n setHMSHLSPlayerPlaybackState,\n setHMSHLSPlayerResolution,\n setHMSHLSPlayerStats,\n setHMSHLSPlayerStatsError,\n} from './hooks';\nimport {\n RCTHMSHLSPlayer,\n RCTHMSHLSPlayerViewManagerConfig,\n} from './RCTHMSHLSPlayer';\nimport type {\n HmsHlsPlaybackEventHandler,\n HmsHlsStatsEventHandler,\n RCTHMSHLSPlayerRef,\n} from './RCTHMSHLSPlayer';\nimport {\n HMSHLSPlayerPlaybackEventTypes,\n HMSHLSPlayerStatsEventTypes,\n} from '../../types';\nimport type { HMSHLSPlayerPlaybackCueEventData } from '../../types';\nimport { HMSEncoder } from '../../classes/HMSEncoder';\nimport type { HMSHLSPlayerPlaybackCue } from '../../stores/types';\n\nexport interface HMSHLSPlayerProps {\n url?: string;\n style?: StyleProp<ViewStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n aspectRatio?: number;\n enableStats?: boolean;\n enableControls?: boolean;\n}\n\nexport interface HMSHLSPlayerRefProperties {\n play: (url?: string) => void;\n stop: () => void;\n pause: () => void;\n resume: () => void;\n seekForward: (seconds: number) => void;\n seekBackward: (seconds: number) => void;\n seekToLivePosition: () => void;\n setVolume: (level: number) => void;\n}\n\nconst _HMSHLSPlayer: React.ForwardRefRenderFunction<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n> = (\n { url = '', style, containerStyle, enableStats, enableControls = false },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\n\n const [aspectRatio, setAspectRatio] = useState(16 / 9);\n\n useImperativeHandle(\n ref,\n () => ({\n play: (url?: string) => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.play\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.play,\n url ? [url] : ['']\n );\n }\n },\n stop: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop,\n undefined\n );\n }\n },\n pause: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause,\n undefined\n );\n }\n },\n resume: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume,\n undefined\n );\n }\n },\n seekForward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward,\n [seconds]\n );\n }\n },\n seekBackward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward,\n [seconds]\n );\n }\n },\n seekToLivePosition: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition,\n undefined\n );\n }\n },\n setVolume: (level: number) => {\n if (typeof level !== 'number') {\n throw new Error(\n level ? 'level must be a `number` type' : 'level was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume,\n [level]\n );\n }\n },\n }),\n []\n );\n\n // Handle HLS Playback events\n const handleHLSPlaybackEvent: HmsHlsPlaybackEventHandler = ({\n nativeEvent,\n }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT) {\n const transformedData = HMSEncoder.transformHMSHLSCueEventData<\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackCue\n >(data);\n setHMSHLSPlayerCue(transformedData);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT\n ) {\n setHMSHLSPlayerPlaybackError(data.error);\n } else if (\n event ===\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_RESOLUTION_CHANGE_EVENT\n ) {\n setHMSHLSPlayerResolution({ ...data });\n\n const aspectRatio = data.width / data.height;\n\n if (typeof aspectRatio === 'number' && !isNaN(aspectRatio)) {\n setAspectRatio(aspectRatio);\n }\n } else {\n setHMSHLSPlayerPlaybackState(data.state);\n }\n };\n\n // Handle HLS Stats events\n const handleHLSStatsEvent: HmsHlsStatsEventHandler = ({ nativeEvent }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR) {\n setHMSHLSPlayerStatsError(data);\n } else {\n setHMSHLSPlayerStats(data);\n }\n };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <View style={[styles.playerWrapper, style]}>\n <RCTHMSHLSPlayer\n ref={hmsHlsPlayerRef}\n url={url}\n style={[\n styles.player,\n { aspectRatio: aspectRatio, flex: aspectRatio < 1 ? 1 : undefined },\n ]}\n enableStats={enableStats}\n enableControls={enableControls}\n onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}\n onHmsHlsStatsEvent={handleHLSStatsEvent}\n />\n </View>\n </View>\n );\n};\n\nexport const HMSHLSPlayer = React.forwardRef<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n>(_HMSHLSPlayer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n playerWrapper: {\n backgroundColor: '#000000',\n alignItems: 'center',\n justifyContent: 'center',\n },\n player: {\n width: '100%',\n aspectRatio: 16 / 9,\n flex: 1,\n },\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_shallow","_hlsPlayerStatsStore","_hmsStore","useHMSHLSPlayerPlaybackState","useHMSStore","state","playbackState","exports","useHMSHLSPlayerResolution","resolution","useHMSHLSPlayerStats","useHMSHLSPlayerStatsStore","stats","error","shallow","useHMSHLSPlayerStat","stat","useHMSHLSPlayerStatsError","callback","deps","useEffect","subscribe","data","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerCue","cue","setHMSHLSPlayerPlaybackState","getState","setPlaybackState","setHMSHLSPlayerResolution","setResolution","setHMSHLSPlayerCue","setCue","setHMSHLSPlayerPlaybackError","setPlaybackError","setHMSHLSPlayerStats","changeStats","setHMSHLSPlayerStatsError","setError"],"sources":["hooks.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport type { DependencyList } from 'react';\nimport { shallow } from 'zustand/shallow';\n\nimport { useHMSHLSPlayerStatsStore } from '../../stores/hls-player-stats-store';\nimport { useHMSStore } from '../../stores/hms-store';\nimport type { HMSHLSPlayerStatsUpdateEventData } from '../../types';\nimport type {\n HMSHLSPlayerCue,\n HMSHLSPlayerPlaybackError,\n HMSHLSPlayerStatsError,\n} from '../../stores/types';\n\n// use latest state (with component rerender)\n\nexport const useHMSHLSPlayerPlaybackState = () => {\n return useHMSStore((state) => state.playbackState);\n};\n\nexport const useHMSHLSPlayerResolution = () => {\n return useHMSStore((state) => state.resolution);\n};\n\nexport const useHMSHLSPlayerStats = () => {\n return useHMSHLSPlayerStatsStore(\n (state) => ({\n stats: state.stats,\n error: state.error,\n }),\n shallow\n );\n};\n\nexport const useHMSHLSPlayerStat = <\n T extends keyof HMSHLSPlayerStatsUpdateEventData,\n>(\n stat: T\n) => {\n return useHMSHLSPlayerStatsStore((state) => state.stats[stat]);\n};\n\n// // The distance of current playback position from the live edge of HLS stream\n// export const useIsHLSStreamLive = (liveOffsetMillis: number = 1000) => {\n// return useHMSHLSPlayerStatsStore((state) => state.stats.distanceFromLive < liveOffsetMillis);\n// }\n\n// get latest state (without component rerender)\n\nexport const useHMSHLSPlayerStatsError = (\n callback: (error: NonNullable<HMSHLSPlayerStatsError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSHLSPlayerStatsStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerPlaybackError = (\n callback: (error: NonNullable<HMSHLSPlayerPlaybackError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerCue = (\n callback: (error: NonNullable<HMSHLSPlayerCue>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.cue,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\n// state setters\n\nexport const setHMSHLSPlayerPlaybackState =\n useHMSStore.getState().setPlaybackState;\n\nexport const setHMSHLSPlayerResolution =\n useHMSStore.getState().setResolution;\n\nexport const setHMSHLSPlayerCue = useHMSStore.getState().setCue;\n\nexport const setHMSHLSPlayerPlaybackError =\n useHMSStore.getState().setPlaybackError;\n\nexport const setHMSHLSPlayerStats =\n useHMSHLSPlayerStatsStore.getState().changeStats;\n\nexport const setHMSHLSPlayerStatsError =\n useHMSHLSPlayerStatsStore.getState().setError;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_shallow","_hlsPlayerStatsStore","_hmsStore","useHMSHLSPlayerPlaybackState","useHMSStore","state","playbackState","exports","useHMSHLSPlayerResolution","resolution","useHMSHLSPlayerStats","useHMSHLSPlayerStatsStore","stats","error","shallow","useHMSHLSPlayerStat","stat","useHMSHLSPlayerStatsError","callback","deps","useEffect","subscribe","data","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerCue","cue","setHMSHLSPlayerPlaybackState","getState","setPlaybackState","setHMSHLSPlayerResolution","setResolution","setHMSHLSPlayerCue","setCue","setHMSHLSPlayerPlaybackError","setPlaybackError","setHMSHLSPlayerStats","changeStats","setHMSHLSPlayerStatsError","setError"],"sources":["hooks.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport type { DependencyList } from 'react';\nimport { shallow } from 'zustand/shallow';\n\nimport { useHMSHLSPlayerStatsStore } from '../../stores/hls-player-stats-store';\nimport { useHMSStore } from '../../stores/hms-store';\nimport type { HMSHLSPlayerStatsUpdateEventData } from '../../types';\nimport type {\n HMSHLSPlayerCue,\n HMSHLSPlayerPlaybackError,\n HMSHLSPlayerStatsError,\n} from '../../stores/types';\n\n// use latest state (with component rerender)\n\nexport const useHMSHLSPlayerPlaybackState = () => {\n return useHMSStore((state) => state.playbackState);\n};\n\nexport const useHMSHLSPlayerResolution = () => {\n return useHMSStore((state) => state.resolution);\n};\n\nexport const useHMSHLSPlayerStats = () => {\n return useHMSHLSPlayerStatsStore(\n (state) => ({\n stats: state.stats,\n error: state.error,\n }),\n shallow\n );\n};\n\nexport const useHMSHLSPlayerStat = <\n T extends keyof HMSHLSPlayerStatsUpdateEventData,\n>(\n stat: T\n) => {\n return useHMSHLSPlayerStatsStore((state) => state.stats[stat]);\n};\n\n// // The distance of current playback position from the live edge of HLS stream\n// export const useIsHLSStreamLive = (liveOffsetMillis: number = 1000) => {\n// return useHMSHLSPlayerStatsStore((state) => state.stats.distanceFromLive < liveOffsetMillis);\n// }\n\n// get latest state (without component rerender)\n\nexport const useHMSHLSPlayerStatsError = (\n callback: (error: NonNullable<HMSHLSPlayerStatsError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSHLSPlayerStatsStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerPlaybackError = (\n callback: (error: NonNullable<HMSHLSPlayerPlaybackError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerCue = (\n callback: (error: NonNullable<HMSHLSPlayerCue>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.cue,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\n// state setters\n\nexport const setHMSHLSPlayerPlaybackState =\n useHMSStore.getState().setPlaybackState;\n\nexport const setHMSHLSPlayerResolution = useHMSStore.getState().setResolution;\n\nexport const setHMSHLSPlayerCue = useHMSStore.getState().setCue;\n\nexport const setHMSHLSPlayerPlaybackError =\n useHMSStore.getState().setPlaybackError;\n\nexport const setHMSHLSPlayerStats =\n useHMSHLSPlayerStatsStore.getState().changeStats;\n\nexport const setHMSHLSPlayerStatsError =\n useHMSHLSPlayerStatsStore.getState().setError;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAQA;;AAEO,MAAMI,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAO,IAAAC,qBAAW,EAAEC,KAAK,IAAKA,KAAK,CAACC,aAAa,CAAC;AACpD,CAAC;AAACC,OAAA,CAAAJ,4BAAA,GAAAA,4BAAA;AAEK,MAAMK,yBAAyB,GAAGA,CAAA,KAAM;EAC7C,OAAO,IAAAJ,qBAAW,EAAEC,KAAK,IAAKA,KAAK,CAACI,UAAU,CAAC;AACjD,CAAC;AAACF,OAAA,CAAAC,yBAAA,GAAAA,yBAAA;AAEK,MAAME,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAO,IAAAC,8CAAyB,EAC7BN,KAAK,KAAM;IACVO,KAAK,EAAEP,KAAK,CAACO,KAAK;IAClBC,KAAK,EAAER,KAAK,CAACQ;EACf,CAAC,CAAC,EACFC,gBACF,CAAC;AACH,CAAC;AAACP,OAAA,CAAAG,oBAAA,GAAAA,oBAAA;AAEK,MAAMK,mBAAmB,GAG9BC,IAAO,IACJ;EACH,OAAO,IAAAL,8CAAyB,EAAEN,KAAK,IAAKA,KAAK,CAACO,KAAK,CAACI,IAAI,CAAC,CAAC;AAChE,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AAAAT,OAAA,CAAAQ,mBAAA,GAAAA,mBAAA;AAEO,MAAME,yBAAyB,GAAGA,CACvCC,QAA8D,EAC9DC,IAAoB,KACjB;EACH,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOT,8CAAyB,CAACU,SAAS,CACvChB,KAAK,IAAKA,KAAK,CAACQ,KAAK,EACrBS,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEJ,QAAQ,CAACI,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEH,IAAI,CAAC;AACV,CAAC;AAACZ,OAAA,CAAAU,yBAAA,GAAAA,yBAAA;AAEK,MAAMM,4BAA4B,GAAGA,CAC1CL,QAAiE,EACjEC,IAAoB,KACjB;EACH,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOhB,qBAAW,CAACiB,SAAS,CACzBhB,KAAK,IAAKA,KAAK,CAACQ,KAAK,EACrBS,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEJ,QAAQ,CAACI,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEH,IAAI,CAAC;AACV,CAAC;AAACZ,OAAA,CAAAgB,4BAAA,GAAAA,4BAAA;AAEK,MAAMC,kBAAkB,GAAGA,CAChCN,QAAuD,EACvDC,IAAoB,KACjB;EACH,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOhB,qBAAW,CAACiB,SAAS,CACzBhB,KAAK,IAAKA,KAAK,CAACoB,GAAG,EACnBH,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEJ,QAAQ,CAACI,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEH,IAAI,CAAC;AACV,CAAC;;AAED;AAAAZ,OAAA,CAAAiB,kBAAA,GAAAA,kBAAA;AAEO,MAAME,4BAA4B,GAAAnB,OAAA,CAAAmB,4BAAA,GACvCtB,qBAAW,CAACuB,QAAQ,CAAC,CAAC,CAACC,gBAAgB;AAElC,MAAMC,yBAAyB,GAAAtB,OAAA,CAAAsB,yBAAA,GAAGzB,qBAAW,CAACuB,QAAQ,CAAC,CAAC,CAACG,aAAa;AAEtE,MAAMC,kBAAkB,GAAAxB,OAAA,CAAAwB,kBAAA,GAAG3B,qBAAW,CAACuB,QAAQ,CAAC,CAAC,CAACK,MAAM;AAExD,MAAMC,4BAA4B,GAAA1B,OAAA,CAAA0B,4BAAA,GACvC7B,qBAAW,CAACuB,QAAQ,CAAC,CAAC,CAACO,gBAAgB;AAElC,MAAMC,oBAAoB,GAAA5B,OAAA,CAAA4B,oBAAA,GAC/BxB,8CAAyB,CAACgB,QAAQ,CAAC,CAAC,CAACS,WAAW;AAE3C,MAAMC,yBAAyB,GAAA9B,OAAA,CAAA8B,yBAAA,GACpC1B,8CAAyB,CAACgB,QAAQ,CAAC,CAAC,CAACW,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"names":["_hmsStore","require","useHmsViewsResolutionsState","trackId","useHMSStore","state","hmsviewsResolutions","undefined","exports","setHmsViewsResolutionsState","getState","setHmsviewsResolutions"],"sources":["hmsviews.ts"],"sourcesContent":["import type { TrackId } from '../stores/types';\nimport { useHMSStore } from '../stores/hms-store';\n\n// use latest state (with component rerender)\n\nexport const useHmsViewsResolutionsState = (trackId?: TrackId) => {\n return useHMSStore((state) => trackId ? state.hmsviewsResolutions[trackId] : undefined);\n};\n\n// state setters\n\nexport const setHmsViewsResolutionsState =\n useHMSStore.getState().setHmsviewsResolutions;\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA;;AAEO,MAAMC,2BAA2B,GAAIC,OAAiB,IAAK;EAChE,OAAO,IAAAC,qBAAW,EAAEC,KAAK,IAAKF,OAAO,GAAGE,KAAK,CAACC,mBAAmB,CAACH,OAAO,CAAC,GAAGI,SAAS,CAAC;AACzF,CAAC;;AAED;AAAAC,OAAA,CAAAN,2BAAA,GAAAA,2BAAA;AAEO,MAAMO,2BAA2B,GAAAD,OAAA,CAAAC,2BAAA,GACtCL,qBAAW,CAACM,QAAQ,CAAC,CAAC,CAACC,sBAAsB"}
1
+ {"version":3,"names":["_hmsStore","require","useHmsViewsResolutionsState","trackId","useHMSStore","state","hmsviewsResolutions","undefined","exports","setHmsViewsResolutionsState","getState","setHmsviewsResolutions"],"sources":["hmsviews.ts"],"sourcesContent":["import type { TrackId } from '../stores/types';\nimport { useHMSStore } from '../stores/hms-store';\n\n// use latest state (with component rerender)\n\nexport const useHmsViewsResolutionsState = (trackId?: TrackId) => {\n return useHMSStore((state) =>\n trackId ? state.hmsviewsResolutions[trackId] : undefined\n );\n};\n\n// state setters\n\nexport const setHmsViewsResolutionsState =\n useHMSStore.getState().setHmsviewsResolutions;\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA;;AAEO,MAAMC,2BAA2B,GAAIC,OAAiB,IAAK;EAChE,OAAO,IAAAC,qBAAW,EAAEC,KAAK,IACvBF,OAAO,GAAGE,KAAK,CAACC,mBAAmB,CAACH,OAAO,CAAC,GAAGI,SACjD,CAAC;AACH,CAAC;;AAED;AAAAC,OAAA,CAAAN,2BAAA,GAAAA,2BAAA;AAEO,MAAMO,2BAA2B,GAAAD,OAAA,CAAAC,2BAAA,GACtCL,qBAAW,CAACM,QAAQ,CAAC,CAAC,CAACC,sBAAsB"}