@100mslive/react-native-hms 1.7.2 → 1.9.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.
Files changed (178) hide show
  1. package/android/build.gradle +3 -3
  2. package/android/local.properties +8 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -0
  4. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +43 -15
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +113 -68
  6. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +17 -4
  7. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +75 -21
  8. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +483 -184
  9. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +587 -177
  10. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +26 -7
  11. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +32 -12
  12. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -0
  13. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -6
  14. package/android/src/main/res/layout/player_view.xml +3 -2
  15. package/ios/HMSConstants.swift +1 -0
  16. package/ios/HMSDecoder.swift +18 -7
  17. package/ios/HMSHLSPlayerManager.swift +18 -2
  18. package/ios/HMSHelper.swift +33 -4
  19. package/ios/HMSManager.m +256 -73
  20. package/ios/HMSManager.swift +47 -3
  21. package/ios/HMSRNSDK.swift +224 -140
  22. package/ios/HMSView.swift +17 -3
  23. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  24. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  25. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  26. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  27. package/lib/commonjs/classes/HMSAudioCodec.js +1 -2
  28. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  29. package/lib/commonjs/classes/HMSAudioDevice.js +1 -2
  30. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  31. package/lib/commonjs/classes/HMSAudioMixingMode.js +1 -2
  32. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  33. package/lib/commonjs/classes/HMSAudioMode.js +1 -2
  34. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  35. package/lib/commonjs/classes/HMSCameraFacing.js +1 -2
  36. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  37. package/lib/commonjs/classes/HMSConstants.js +1 -2
  38. package/lib/commonjs/classes/HMSConstants.js.map +1 -1
  39. package/lib/commonjs/classes/HMSEncoder.js +6 -0
  40. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  41. package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
  42. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
  43. package/lib/commonjs/classes/HMSIOSAudioMode.js +1 -2
  44. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  45. package/lib/commonjs/classes/HMSLayer.js +1 -2
  46. package/lib/commonjs/classes/HMSLayer.js.map +1 -1
  47. package/lib/commonjs/classes/HMSLogAlarmManager.js +1 -2
  48. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  49. package/lib/commonjs/classes/HMSLogLevel.js +1 -2
  50. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  51. package/lib/commonjs/classes/HMSLogger.js +1 -2
  52. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  53. package/lib/commonjs/classes/HMSManagerModule.js +1 -2
  54. package/lib/commonjs/classes/HMSManagerModule.js.map +1 -1
  55. package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
  56. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  57. package/lib/commonjs/classes/HMSNativeEventListener.js +1 -2
  58. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  59. package/lib/commonjs/classes/HMSPIPListenerActions.js +2 -2
  60. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  61. package/lib/commonjs/classes/HMSPeer.js +15 -0
  62. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  63. package/lib/commonjs/classes/HMSPeerListIterator.js +64 -0
  64. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -0
  65. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js +2 -0
  66. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -0
  67. package/lib/commonjs/classes/HMSPeerUpdate.js +3 -4
  68. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  69. package/lib/commonjs/classes/HMSPeersCache.js +8 -2
  70. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  71. package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
  72. package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRoomCache.js +1 -2
  74. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  75. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -2
  76. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  77. package/lib/commonjs/classes/HMSSDK.js +192 -32
  78. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  79. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +1 -2
  80. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  81. package/lib/commonjs/classes/HMSTrackSource.js +1 -2
  82. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  83. package/lib/commonjs/classes/HMSTrackType.js +1 -2
  84. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  85. package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
  86. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  87. package/lib/commonjs/classes/HMSUpdateListenerActions.js +2 -2
  88. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  89. package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
  90. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  91. package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
  92. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  93. package/lib/commonjs/classes/HmsView.js +3 -4
  94. package/lib/commonjs/classes/HmsView.js.map +1 -1
  95. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +13 -9
  96. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  97. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +2 -4
  98. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  99. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +5 -10
  100. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  101. package/lib/commonjs/hooks/useHMSPeerUpdates.js +2 -2
  102. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  103. package/lib/commonjs/index.js +1 -2
  104. package/lib/commonjs/index.js.map +1 -1
  105. package/lib/commonjs/stores/hls-player-stats-store.js +1 -2
  106. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
  107. package/lib/commonjs/stores/hms-store.js +1 -2
  108. package/lib/commonjs/stores/hms-store.js.map +1 -1
  109. package/lib/commonjs/types.js +4 -6
  110. package/lib/commonjs/types.js.map +1 -1
  111. package/lib/module/classes/HMSEncoder.js +6 -0
  112. package/lib/module/classes/HMSEncoder.js.map +1 -1
  113. package/lib/module/classes/HMSPIPListenerActions.js +1 -0
  114. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  115. package/lib/module/classes/HMSPeer.js +15 -0
  116. package/lib/module/classes/HMSPeer.js.map +1 -1
  117. package/lib/module/classes/HMSPeerListIterator.js +58 -0
  118. package/lib/module/classes/HMSPeerListIterator.js.map +1 -0
  119. package/lib/module/classes/HMSPeerListIteratorOptions.js +2 -0
  120. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -0
  121. package/lib/module/classes/HMSPeerUpdate.js +2 -1
  122. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  123. package/lib/module/classes/HMSPeersCache.js +7 -0
  124. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  125. package/lib/module/classes/HMSSDK.js +193 -33
  126. package/lib/module/classes/HMSSDK.js.map +1 -1
  127. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  128. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  129. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +11 -6
  130. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  131. package/lib/module/index.js.map +1 -1
  132. package/lib/module/types.js +1 -0
  133. package/lib/module/types.js.map +1 -1
  134. package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
  135. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +1 -0
  136. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  137. package/lib/typescript/classes/HMSPeerListIterator.d.ts +9 -0
  138. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +24 -0
  139. package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
  140. package/lib/typescript/classes/HMSPeersCache.d.ts +1 -0
  141. package/lib/typescript/classes/HMSSDK.d.ts +69 -13
  142. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  143. package/lib/typescript/index.d.ts +1 -1
  144. package/lib/typescript/types.d.ts +3 -1
  145. package/package.json +1 -1
  146. package/sdk-versions.json +2 -2
  147. package/src/classes/HMSEncoder.ts +9 -0
  148. package/src/classes/HMSPIPListenerActions.ts +1 -0
  149. package/src/classes/HMSPeer.ts +25 -0
  150. package/src/classes/HMSPeerListIterator.ts +60 -0
  151. package/src/classes/HMSPeerListIteratorOptions.ts +26 -0
  152. package/src/classes/HMSPeerUpdate.ts +2 -0
  153. package/src/classes/HMSPeersCache.ts +7 -0
  154. package/src/classes/HMSSDK.tsx +235 -28
  155. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  156. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +15 -13
  157. package/src/index.ts +4 -1
  158. package/src/types.ts +2 -0
  159. package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
  160. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  161. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  162. package/android/.gradle/6.7.1/fileHashes/fileHashes.bin +0 -0
  163. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  164. package/android/.gradle/6.7.1/gc.properties +0 -0
  165. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  166. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  167. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  168. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  169. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  170. package/android/.gradle/6.9/gc.properties +0 -0
  171. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  172. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  173. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  174. package/android/.gradle/checksums/checksums.lock +0 -0
  175. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  176. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  177. package/android/.gradle/configuration-cache/gc.properties +0 -0
  178. package/android/.gradle/vcs-1/gc.properties +0 -0
@@ -10,6 +10,12 @@ export class HMSPeer {
10
10
  this._isLocal = value;
11
11
  }
12
12
  }
13
+ _updateIsHandRaised(value) {
14
+ // If `_isHandRaised` is outdated, update it
15
+ if (this._isHandRaised !== value) {
16
+ this._isHandRaised = value;
17
+ }
18
+ }
13
19
  _updateCustomerUserID(value) {
14
20
  // If `_customerUserID` is outdated, update it
15
21
  if (this._customerUserID !== value) {
@@ -35,6 +41,7 @@ export class HMSPeer {
35
41
  _defineProperty(this, "_customerUserID", void 0);
36
42
  _defineProperty(this, "_metadata", void 0);
37
43
  _defineProperty(this, "_role", void 0);
44
+ _defineProperty(this, "_isHandRaised", false);
38
45
  this.peerID = params.peerID;
39
46
  this.name = params.name;
40
47
  }
@@ -46,6 +53,14 @@ export class HMSPeer {
46
53
  }
47
54
  return value ?? this._isLocal;
48
55
  }
56
+ get isHandRaised() {
57
+ const hmsPeersCache = getHmsPeersCache();
58
+ const value = hmsPeersCache ? hmsPeersCache.getProperty(this.peerID, 'isHandRaised') : getPeerPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, this.peerID, 'isHandRaised');
59
+ if (typeof value === 'boolean') {
60
+ this._updateIsHandRaised(value);
61
+ }
62
+ return value ?? this._isHandRaised;
63
+ }
49
64
  get networkQuality() {
50
65
  const hmsPeersCache = getHmsPeersCache();
51
66
  if (hmsPeersCache) {
@@ -1 +1 @@
1
- {"version":3,"names":["getHmsPeersCache","getPeerPropertyFromNative","HMSConstants","HMSPeer","_updateIsLocal","value","_isLocal","_updateCustomerUserID","_customerUserID","_updateMetadata","_metadata","_updateRole","_role","constructor","params","_defineProperty","peerID","name","isLocal","hmsPeersCache","getProperty","DEFAULT_SDK_ID","networkQuality","customerUserID","metadata","role","audioTrack","videoTrack","auxiliaryTracks"],"sources":["HMSPeer.ts"],"sourcesContent":["import type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSTrack } from './HMSTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\nimport { getHmsPeersCache, getPeerPropertyFromNative } from './HMSPeersCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSPeer {\n peerID: string;\n name: string;\n private _isLocal: boolean | undefined;\n private _customerUserID: string | undefined;\n private _metadata: string | undefined;\n private _role: HMSRole | undefined;\n\n private _updateIsLocal(value: boolean) {\n // If `_isLocal` is outdated, update it\n if (this._isLocal !== value) {\n this._isLocal = value;\n }\n }\n\n private _updateCustomerUserID(value: string) {\n // If `_customerUserID` is outdated, update it\n if (this._customerUserID !== value) {\n this._customerUserID = value;\n }\n }\n\n private _updateMetadata(value: string) {\n // If `_metadata` is outdated, update it\n if (this._metadata !== value) {\n this._metadata = value;\n }\n }\n\n private _updateRole(value: HMSRole) {\n // If `_role` is outdated, update it\n if (this._role !== value) {\n this._role = value;\n }\n }\n\n constructor(params: { peerID: string; name: string }) {\n this.peerID = params.peerID;\n this.name = params.name;\n }\n\n get isLocal(): boolean | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'isLocal')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'isLocal'\n );\n\n if (typeof value === 'boolean') {\n this._updateIsLocal(value);\n }\n return value ?? this._isLocal;\n }\n\n get networkQuality(): HMSNetworkQuality | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'networkQuality');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'networkQuality'\n );\n }\n\n get customerUserID(): string | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'customerUserID')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'customerUserID'\n );\n\n if (value) {\n this._updateCustomerUserID(value);\n }\n return value ?? this._customerUserID;\n }\n\n get metadata(): string | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'metadata')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'metadata'\n );\n\n if (value) {\n this._updateMetadata(value);\n }\n return value ?? this._metadata;\n }\n\n get role(): HMSRole | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'role')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'role'\n );\n\n if (value) {\n this._updateRole(value);\n }\n return value ?? this._role;\n }\n\n get audioTrack(): HMSAudioTrack | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'audioTrack');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'audioTrack'\n );\n }\n\n get videoTrack(): HMSVideoTrack | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'videoTrack');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'videoTrack'\n );\n }\n\n get auxiliaryTracks(): HMSTrack[] | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'auxiliaryTracks');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'auxiliaryTracks'\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getHmsPeersCache","getPeerPropertyFromNative","HMSConstants","HMSPeer","_updateIsLocal","value","_isLocal","_updateIsHandRaised","_isHandRaised","_updateCustomerUserID","_customerUserID","_updateMetadata","_metadata","_updateRole","_role","constructor","params","_defineProperty","peerID","name","isLocal","hmsPeersCache","getProperty","DEFAULT_SDK_ID","isHandRaised","networkQuality","customerUserID","metadata","role","audioTrack","videoTrack","auxiliaryTracks"],"sources":["HMSPeer.ts"],"sourcesContent":["import type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSTrack } from './HMSTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\nimport { getHmsPeersCache, getPeerPropertyFromNative } from './HMSPeersCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSPeer {\n peerID: string;\n name: string;\n private _isLocal: boolean | undefined;\n private _customerUserID: string | undefined;\n private _metadata: string | undefined;\n private _role: HMSRole | undefined;\n private _isHandRaised: boolean = false;\n\n private _updateIsLocal(value: boolean) {\n // If `_isLocal` is outdated, update it\n if (this._isLocal !== value) {\n this._isLocal = value;\n }\n }\n\n private _updateIsHandRaised(value: boolean) {\n // If `_isHandRaised` is outdated, update it\n if (this._isHandRaised !== value) {\n this._isHandRaised = value;\n }\n }\n\n private _updateCustomerUserID(value: string) {\n // If `_customerUserID` is outdated, update it\n if (this._customerUserID !== value) {\n this._customerUserID = value;\n }\n }\n\n private _updateMetadata(value: string) {\n // If `_metadata` is outdated, update it\n if (this._metadata !== value) {\n this._metadata = value;\n }\n }\n\n private _updateRole(value: HMSRole) {\n // If `_role` is outdated, update it\n if (this._role !== value) {\n this._role = value;\n }\n }\n\n constructor(params: { peerID: string; name: string }) {\n this.peerID = params.peerID;\n this.name = params.name;\n }\n\n get isLocal(): boolean | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'isLocal')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'isLocal'\n );\n\n if (typeof value === 'boolean') {\n this._updateIsLocal(value);\n }\n return value ?? this._isLocal;\n }\n\n get isHandRaised(): boolean {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'isHandRaised')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'isHandRaised'\n );\n\n if (typeof value === 'boolean') {\n this._updateIsHandRaised(value);\n }\n return value ?? this._isHandRaised;\n }\n\n get networkQuality(): HMSNetworkQuality | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'networkQuality');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'networkQuality'\n );\n }\n\n get customerUserID(): string | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'customerUserID')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'customerUserID'\n );\n\n if (value) {\n this._updateCustomerUserID(value);\n }\n return value ?? this._customerUserID;\n }\n\n get metadata(): string | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'metadata')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'metadata'\n );\n\n if (value) {\n this._updateMetadata(value);\n }\n return value ?? this._metadata;\n }\n\n get role(): HMSRole | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n const value = hmsPeersCache\n ? hmsPeersCache.getProperty(this.peerID, 'role')\n : getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'role'\n );\n\n if (value) {\n this._updateRole(value);\n }\n return value ?? this._role;\n }\n\n get audioTrack(): HMSAudioTrack | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'audioTrack');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'audioTrack'\n );\n }\n\n get videoTrack(): HMSVideoTrack | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'videoTrack');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'videoTrack'\n );\n }\n\n get auxiliaryTracks(): HMSTrack[] | undefined {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n return hmsPeersCache.getProperty(this.peerID, 'auxiliaryTracks');\n }\n\n return getPeerPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n this.peerID,\n 'auxiliaryTracks'\n );\n }\n}\n"],"mappings":";;;AAKA,SAASA,gBAAgB,EAAEC,yBAAyB,QAAQ,iBAAiB;AAC7E,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,OAAO,MAAMC,OAAO,CAAC;EASXC,cAAcA,CAACC,KAAc,EAAE;IACrC;IACA,IAAI,IAAI,CAACC,QAAQ,KAAKD,KAAK,EAAE;MAC3B,IAAI,CAACC,QAAQ,GAAGD,KAAK;IACvB;EACF;EAEQE,mBAAmBA,CAACF,KAAc,EAAE;IAC1C;IACA,IAAI,IAAI,CAACG,aAAa,KAAKH,KAAK,EAAE;MAChC,IAAI,CAACG,aAAa,GAAGH,KAAK;IAC5B;EACF;EAEQI,qBAAqBA,CAACJ,KAAa,EAAE;IAC3C;IACA,IAAI,IAAI,CAACK,eAAe,KAAKL,KAAK,EAAE;MAClC,IAAI,CAACK,eAAe,GAAGL,KAAK;IAC9B;EACF;EAEQM,eAAeA,CAACN,KAAa,EAAE;IACrC;IACA,IAAI,IAAI,CAACO,SAAS,KAAKP,KAAK,EAAE;MAC5B,IAAI,CAACO,SAAS,GAAGP,KAAK;IACxB;EACF;EAEQQ,WAAWA,CAACR,KAAc,EAAE;IAClC;IACA,IAAI,IAAI,CAACS,KAAK,KAAKT,KAAK,EAAE;MACxB,IAAI,CAACS,KAAK,GAAGT,KAAK;IACpB;EACF;EAEAU,WAAWA,CAACC,MAAwC,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBArCrB,KAAK;IAsCpC,IAAI,CAACC,MAAM,GAAGF,MAAM,CAACE,MAAM;IAC3B,IAAI,CAACC,IAAI,GAAGH,MAAM,CAACG,IAAI;EACzB;EAEA,IAAIC,OAAOA,CAAA,EAAwB;IACjC,MAAMC,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,MAAMK,KAAK,GAAGgB,aAAa,GACvBA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,SAAS,CAAC,GACjDjB,yBAAyB,CACvBC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,SACF,CAAC;IAEL,IAAI,OAAOb,KAAK,KAAK,SAAS,EAAE;MAC9B,IAAI,CAACD,cAAc,CAACC,KAAK,CAAC;IAC5B;IACA,OAAOA,KAAK,IAAI,IAAI,CAACC,QAAQ;EAC/B;EAEA,IAAIkB,YAAYA,CAAA,EAAY;IAC1B,MAAMH,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,MAAMK,KAAK,GAAGgB,aAAa,GACvBA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,cAAc,CAAC,GACtDjB,yBAAyB,CACvBC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,cACF,CAAC;IAEL,IAAI,OAAOb,KAAK,KAAK,SAAS,EAAE;MAC9B,IAAI,CAACE,mBAAmB,CAACF,KAAK,CAAC;IACjC;IACA,OAAOA,KAAK,IAAI,IAAI,CAACG,aAAa;EACpC;EAEA,IAAIiB,cAAcA,CAAA,EAAkC;IAClD,MAAMJ,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,IAAIqB,aAAa,EAAE;MACjB,OAAOA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,gBAAgB,CAAC;IACjE;IAEA,OAAOjB,yBAAyB,CAC9BC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,gBACF,CAAC;EACH;EAEA,IAAIQ,cAAcA,CAAA,EAAuB;IACvC,MAAML,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,MAAMK,KAAK,GAAGgB,aAAa,GACvBA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,gBAAgB,CAAC,GACxDjB,yBAAyB,CACvBC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,gBACF,CAAC;IAEL,IAAIb,KAAK,EAAE;MACT,IAAI,CAACI,qBAAqB,CAACJ,KAAK,CAAC;IACnC;IACA,OAAOA,KAAK,IAAI,IAAI,CAACK,eAAe;EACtC;EAEA,IAAIiB,QAAQA,CAAA,EAAuB;IACjC,MAAMN,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,MAAMK,KAAK,GAAGgB,aAAa,GACvBA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,UAAU,CAAC,GAClDjB,yBAAyB,CACvBC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,UACF,CAAC;IAEL,IAAIb,KAAK,EAAE;MACT,IAAI,CAACM,eAAe,CAACN,KAAK,CAAC;IAC7B;IACA,OAAOA,KAAK,IAAI,IAAI,CAACO,SAAS;EAChC;EAEA,IAAIgB,IAAIA,CAAA,EAAwB;IAC9B,MAAMP,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,MAAMK,KAAK,GAAGgB,aAAa,GACvBA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,MAAM,CAAC,GAC9CjB,yBAAyB,CACvBC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,MACF,CAAC;IAEL,IAAIb,KAAK,EAAE;MACT,IAAI,CAACQ,WAAW,CAACR,KAAK,CAAC;IACzB;IACA,OAAOA,KAAK,IAAI,IAAI,CAACS,KAAK;EAC5B;EAEA,IAAIe,UAAUA,CAAA,EAA8B;IAC1C,MAAMR,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,IAAIqB,aAAa,EAAE;MACjB,OAAOA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,YAAY,CAAC;IAC7D;IAEA,OAAOjB,yBAAyB,CAC9BC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,YACF,CAAC;EACH;EAEA,IAAIY,UAAUA,CAAA,EAA8B;IAC1C,MAAMT,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,IAAIqB,aAAa,EAAE;MACjB,OAAOA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,YAAY,CAAC;IAC7D;IAEA,OAAOjB,yBAAyB,CAC9BC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,YACF,CAAC;EACH;EAEA,IAAIa,eAAeA,CAAA,EAA2B;IAC5C,MAAMV,aAAa,GAAGrB,gBAAgB,CAAC,CAAC;IAExC,IAAIqB,aAAa,EAAE;MACjB,OAAOA,aAAa,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAE,iBAAiB,CAAC;IAClE;IAEA,OAAOjB,yBAAyB,CAC9BC,YAAY,CAACqB,cAAc,EAC3B,IAAI,CAACL,MAAM,EACX,iBACF,CAAC;EACH;AACF"}
@@ -0,0 +1,58 @@
1
+ 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; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ // import type { HMSException } from "./HMSException";
5
+
6
+ import HMSManagerModule from './HMSManagerModule';
7
+ import { HMSEncoder, logger } from '@100mslive/react-native-hms';
8
+ import { HMSConstants } from './HMSConstants';
9
+ import { getHmsPeersCache } from './HMSPeersCache';
10
+ export class HMSPeerListIterator {
11
+ get totalCount() {
12
+ return this._totalCount;
13
+ }
14
+ constructor(uniqueId, totalCount) {
15
+ _defineProperty(this, "uniqueId", void 0);
16
+ _defineProperty(this, "_totalCount", 0);
17
+ this.uniqueId = uniqueId;
18
+ this._totalCount = totalCount;
19
+ }
20
+ async hasNext() {
21
+ logger === null || logger === void 0 || logger.verbose('#Function HMSPeerListIterator#hasNext', this.uniqueId);
22
+ try {
23
+ return HMSManagerModule.peerListIteratorHasNext({
24
+ id: HMSConstants.DEFAULT_SDK_ID,
25
+ uniqueId: this.uniqueId
26
+ });
27
+ } catch (e) {
28
+ logger === null || logger === void 0 || logger.error('#Error in #Function HMSPeerListIterator#hasNext ', e);
29
+ return Promise.reject(e);
30
+ }
31
+ }
32
+ async next() {
33
+ logger === null || logger === void 0 || logger.verbose('#Function HMSPeerListIterator#next', this.uniqueId);
34
+ try {
35
+ const {
36
+ totalCount,
37
+ peers
38
+ } = await HMSManagerModule.peerListIteratorNext({
39
+ id: HMSConstants.DEFAULT_SDK_ID,
40
+ uniqueId: this.uniqueId
41
+ });
42
+ this._totalCount = totalCount;
43
+ if (Array.isArray(peers) && peers.length > 0) {
44
+ const hmsPeersCache = getHmsPeersCache();
45
+ if (hmsPeersCache) {
46
+ peers.forEach(peer => {
47
+ hmsPeersCache.updatePeerCache(peer.peerID, peer);
48
+ });
49
+ }
50
+ }
51
+ return HMSEncoder.encodeHmsPeers(peers);
52
+ } catch (e) {
53
+ logger === null || logger === void 0 || logger.error('#Error in #Function HMSPeerListIterator#next ', e);
54
+ return Promise.reject(e);
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=HMSPeerListIterator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HMSManagerModule","HMSEncoder","logger","HMSConstants","getHmsPeersCache","HMSPeerListIterator","totalCount","_totalCount","constructor","uniqueId","_defineProperty","hasNext","verbose","peerListIteratorHasNext","id","DEFAULT_SDK_ID","e","error","Promise","reject","next","peers","peerListIteratorNext","Array","isArray","length","hmsPeersCache","forEach","peer","updatePeerCache","peerID","encodeHmsPeers"],"sources":["HMSPeerListIterator.ts"],"sourcesContent":["// import type { HMSException } from \"./HMSException\";\nimport type { HMSPeer } from './HMSPeer';\nimport HMSManagerModule from './HMSManagerModule';\nimport { HMSEncoder, logger } from '@100mslive/react-native-hms';\nimport { HMSConstants } from './HMSConstants';\nimport { getHmsPeersCache } from './HMSPeersCache';\n\nexport class HMSPeerListIterator {\n private readonly uniqueId: string;\n private _totalCount: number = 0;\n\n get totalCount() {\n return this._totalCount;\n }\n\n constructor(uniqueId: string, totalCount: number) {\n this.uniqueId = uniqueId;\n this._totalCount = totalCount;\n }\n\n async hasNext(): Promise<boolean> {\n logger?.verbose('#Function HMSPeerListIterator#hasNext', this.uniqueId);\n try {\n return HMSManagerModule.peerListIteratorHasNext({\n id: HMSConstants.DEFAULT_SDK_ID,\n uniqueId: this.uniqueId,\n });\n } catch (e) {\n logger?.error('#Error in #Function HMSPeerListIterator#hasNext ', e);\n return Promise.reject(e);\n }\n }\n\n async next(): Promise<HMSPeer[]> {\n logger?.verbose('#Function HMSPeerListIterator#next', this.uniqueId);\n try {\n const { totalCount, peers } = await HMSManagerModule.peerListIteratorNext({\n id: HMSConstants.DEFAULT_SDK_ID,\n uniqueId: this.uniqueId,\n });\n\n this._totalCount = totalCount;\n\n if (Array.isArray(peers) && peers.length > 0) {\n const hmsPeersCache = getHmsPeersCache();\n\n if (hmsPeersCache) {\n peers.forEach(peer => {\n hmsPeersCache.updatePeerCache(peer.peerID, peer);\n });\n }\n }\n\n return HMSEncoder.encodeHmsPeers(peers);\n } catch (e) {\n logger?.error('#Error in #Function HMSPeerListIterator#next ', e);\n return Promise.reject(e);\n }\n }\n}\n"],"mappings":";;;AAAA;;AAEA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,UAAU,EAAEC,MAAM,QAAQ,6BAA6B;AAChE,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,OAAO,MAAMC,mBAAmB,CAAC;EAI/B,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACC,WAAW;EACzB;EAEAC,WAAWA,CAACC,QAAgB,EAAEH,UAAkB,EAAE;IAAAI,eAAA;IAAAA,eAAA,sBANpB,CAAC;IAO7B,IAAI,CAACD,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACF,WAAW,GAAGD,UAAU;EAC/B;EAEA,MAAMK,OAAOA,CAAA,EAAqB;IAChCT,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEU,OAAO,CAAC,uCAAuC,EAAE,IAAI,CAACH,QAAQ,CAAC;IACvE,IAAI;MACF,OAAOT,gBAAgB,CAACa,uBAAuB,CAAC;QAC9CC,EAAE,EAAEX,YAAY,CAACY,cAAc;QAC/BN,QAAQ,EAAE,IAAI,CAACA;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOO,CAAC,EAAE;MACVd,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEe,KAAK,CAAC,kDAAkD,EAAED,CAAC,CAAC;MACpE,OAAOE,OAAO,CAACC,MAAM,CAACH,CAAC,CAAC;IAC1B;EACF;EAEA,MAAMI,IAAIA,CAAA,EAAuB;IAC/BlB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEU,OAAO,CAAC,oCAAoC,EAAE,IAAI,CAACH,QAAQ,CAAC;IACpE,IAAI;MACF,MAAM;QAAEH,UAAU;QAAEe;MAAM,CAAC,GAAG,MAAMrB,gBAAgB,CAACsB,oBAAoB,CAAC;QACxER,EAAE,EAAEX,YAAY,CAACY,cAAc;QAC/BN,QAAQ,EAAE,IAAI,CAACA;MACjB,CAAC,CAAC;MAEF,IAAI,CAACF,WAAW,GAAGD,UAAU;MAE7B,IAAIiB,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;QAC5C,MAAMC,aAAa,GAAGtB,gBAAgB,CAAC,CAAC;QAExC,IAAIsB,aAAa,EAAE;UACjBL,KAAK,CAACM,OAAO,CAACC,IAAI,IAAI;YACpBF,aAAa,CAACG,eAAe,CAACD,IAAI,CAACE,MAAM,EAAEF,IAAI,CAAC;UAClD,CAAC,CAAC;QACJ;MACF;MAEA,OAAO3B,UAAU,CAAC8B,cAAc,CAACV,KAAK,CAAC;IACzC,CAAC,CAAC,OAAOL,CAAC,EAAE;MACVd,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEe,KAAK,CAAC,+CAA+C,EAAED,CAAC,CAAC;MACjE,OAAOE,OAAO,CAACC,MAAM,CAACH,CAAC,CAAC;IAC1B;EACF;AACF"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=HMSPeerListIteratorOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["HMSPeerListIteratorOptions.ts"],"sourcesContent":["/**\n * options for creating `HMSPeerListIterator` instance\n *\n * ```\n * const peerListIterator = hmsInstance.getPeerListIterator({\n * limit: 10,\n * byRoleName: 'viewer-realtime',\n * });\n * ```\n */\nexport interface HMSPeerListIteratorOptions {\n /**\n * filter by role of the peers\n */\n byRoleName?: string;\n\n /**\n * `peerID`s of the peers you want to fetch with iterator.\n */\n byPeerIds?: string[];\n\n /**\n * number of peers fetched by the iterator in `next` method call. Default value is `10`\n */\n limit?: number;\n}\n"],"mappings":""}
@@ -5,7 +5,8 @@ export let HMSPeerUpdate = /*#__PURE__*/function (HMSPeerUpdate) {
5
5
  HMSPeerUpdate["ROLE_CHANGED"] = "ROLE_CHANGED";
6
6
  HMSPeerUpdate["NAME_CHANGED"] = "NAME_CHANGED";
7
7
  HMSPeerUpdate["NETWORK_QUALITY_UPDATED"] = "NETWORK_QUALITY_UPDATED";
8
+ HMSPeerUpdate["HAND_RAISED_CHANGED"] = "HAND_RAISED_CHANGED";
8
9
  return HMSPeerUpdate;
9
10
  }({});
10
- export const HMSPeerUpdateOrdinals = new Map([['0', HMSPeerUpdate.PEER_JOINED], ['1', HMSPeerUpdate.PEER_LEFT], ['4', HMSPeerUpdate.ROLE_CHANGED], ['5', HMSPeerUpdate.NAME_CHANGED], ['6', HMSPeerUpdate.METADATA_CHANGED], ['7', HMSPeerUpdate.NETWORK_QUALITY_UPDATED]]);
11
+ export const HMSPeerUpdateOrdinals = new Map([['0', HMSPeerUpdate.PEER_JOINED], ['1', HMSPeerUpdate.PEER_LEFT], ['4', HMSPeerUpdate.ROLE_CHANGED], ['5', HMSPeerUpdate.NAME_CHANGED], ['6', HMSPeerUpdate.METADATA_CHANGED], ['7', HMSPeerUpdate.NETWORK_QUALITY_UPDATED], ['8', HMSPeerUpdate.HAND_RAISED_CHANGED]]);
11
12
  //# sourceMappingURL=HMSPeerUpdate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HMSPeerUpdate","HMSPeerUpdateOrdinals","Map","PEER_JOINED","PEER_LEFT","ROLE_CHANGED","NAME_CHANGED","METADATA_CHANGED","NETWORK_QUALITY_UPDATED"],"sources":["HMSPeerUpdate.ts"],"sourcesContent":["export enum HMSPeerUpdate {\n PEER_JOINED = 'PEER_JOINED',\n PEER_LEFT = 'PEER_LEFT',\n METADATA_CHANGED = 'METADATA_CHANGED',\n ROLE_CHANGED = 'ROLE_CHANGED',\n NAME_CHANGED = 'NAME_CHANGED',\n NETWORK_QUALITY_UPDATED = 'NETWORK_QUALITY_UPDATED',\n}\n\nexport const HMSPeerUpdateOrdinals = new Map([\n ['0', HMSPeerUpdate.PEER_JOINED],\n ['1', HMSPeerUpdate.PEER_LEFT],\n ['4', HMSPeerUpdate.ROLE_CHANGED],\n ['5', HMSPeerUpdate.NAME_CHANGED],\n ['6', HMSPeerUpdate.METADATA_CHANGED],\n ['7', HMSPeerUpdate.NETWORK_QUALITY_UPDATED],\n]);\n"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AASzB,OAAO,MAAMC,qBAAqB,GAAG,IAAIC,GAAG,CAAC,CAC3C,CAAC,GAAG,EAAEF,aAAa,CAACG,WAAW,CAAC,EAChC,CAAC,GAAG,EAAEH,aAAa,CAACI,SAAS,CAAC,EAC9B,CAAC,GAAG,EAAEJ,aAAa,CAACK,YAAY,CAAC,EACjC,CAAC,GAAG,EAAEL,aAAa,CAACM,YAAY,CAAC,EACjC,CAAC,GAAG,EAAEN,aAAa,CAACO,gBAAgB,CAAC,EACrC,CAAC,GAAG,EAAEP,aAAa,CAACQ,uBAAuB,CAAC,CAC7C,CAAC"}
1
+ {"version":3,"names":["HMSPeerUpdate","HMSPeerUpdateOrdinals","Map","PEER_JOINED","PEER_LEFT","ROLE_CHANGED","NAME_CHANGED","METADATA_CHANGED","NETWORK_QUALITY_UPDATED","HAND_RAISED_CHANGED"],"sources":["HMSPeerUpdate.ts"],"sourcesContent":["export enum HMSPeerUpdate {\n PEER_JOINED = 'PEER_JOINED',\n PEER_LEFT = 'PEER_LEFT',\n METADATA_CHANGED = 'METADATA_CHANGED',\n ROLE_CHANGED = 'ROLE_CHANGED',\n NAME_CHANGED = 'NAME_CHANGED',\n NETWORK_QUALITY_UPDATED = 'NETWORK_QUALITY_UPDATED',\n HAND_RAISED_CHANGED = 'HAND_RAISED_CHANGED',\n}\n\nexport const HMSPeerUpdateOrdinals = new Map([\n ['0', HMSPeerUpdate.PEER_JOINED],\n ['1', HMSPeerUpdate.PEER_LEFT],\n ['4', HMSPeerUpdate.ROLE_CHANGED],\n ['5', HMSPeerUpdate.NAME_CHANGED],\n ['6', HMSPeerUpdate.METADATA_CHANGED],\n ['7', HMSPeerUpdate.NETWORK_QUALITY_UPDATED],\n ['8', HMSPeerUpdate.HAND_RAISED_CHANGED],\n]);\n"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAUzB,OAAO,MAAMC,qBAAqB,GAAG,IAAIC,GAAG,CAAC,CAC3C,CAAC,GAAG,EAAEF,aAAa,CAACG,WAAW,CAAC,EAChC,CAAC,GAAG,EAAEH,aAAa,CAACI,SAAS,CAAC,EAC9B,CAAC,GAAG,EAAEJ,aAAa,CAACK,YAAY,CAAC,EACjC,CAAC,GAAG,EAAEL,aAAa,CAACM,YAAY,CAAC,EACjC,CAAC,GAAG,EAAEN,aAAa,CAACO,gBAAgB,CAAC,EACrC,CAAC,GAAG,EAAEP,aAAa,CAACQ,uBAAuB,CAAC,EAC5C,CAAC,GAAG,EAAER,aAAa,CAACS,mBAAmB,CAAC,CACzC,CAAC"}
@@ -161,6 +161,11 @@ export class HMSPeersCache {
161
161
  updatedObj.name = data.name;
162
162
  break;
163
163
  }
164
+ case HMSPeerUpdate.HAND_RAISED_CHANGED:
165
+ {
166
+ updatedObj.isHandRaised = data.isHandRaised;
167
+ break;
168
+ }
164
169
  default:
165
170
  {
166
171
  updatedObj = {
@@ -197,6 +202,8 @@ export function getPeerPropertyFromNative(id, peerId, property) {
197
202
  value = data && Array.isArray(data.auxiliaryTracks) ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id) : undefined;
198
203
  } else if (property === 'name') {
199
204
  value = data === null || data === void 0 ? void 0 : data[property];
205
+ } else if (property === 'isHandRaised') {
206
+ value = data ? data[property] : false;
200
207
  } else {
201
208
  value = data ? data[property] : undefined;
202
209
  }
@@ -1 +1 @@
1
- {"version":3,"names":["HMSManager","HMSEncoder","HMSPeerUpdate","HMSTrackUpdate","HMSTrackType","HMSTrackSource","hmsPeersCache","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","undefined","HMSPeersCache","constructor","id","_defineProperty","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","PEER_JOINED","PEER_LEFT","delete","updatedObj","TRACK_ADDED","track","source","REGULAR","type","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","oldIsDegraded","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","metadata","NAME_CHANGED","name","Object","keys","length","clear","getPeerProperty","value","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import HMSManager from './HMSManagerModule';\n\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSPeerUpdate } from './HMSPeerUpdate';\nimport { HMSTrackUpdate } from './HMSTrackUpdate';\nimport type { HMSTrack } from './HMSTrack';\nimport { HMSTrackType } from './HMSTrackType';\nimport { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\n\nexport let hmsPeersCache: HMSPeersCache | undefined;\n\nexport const getHmsPeersCache = () => {\n return hmsPeersCache;\n};\n\nexport const setHmsPeersCache = (_hmsPeersCache: HMSPeersCache) => {\n hmsPeersCache = _hmsPeersCache;\n};\n\nexport const clearHmsPeersCache = () => {\n if (hmsPeersCache) {\n hmsPeersCache.cleanup();\n }\n hmsPeersCache = undefined;\n};\n\nexport type HMSPeerCacheProps = {\n peerID?: string | undefined;\n name?: string | undefined;\n isLocal?: boolean | undefined;\n networkQuality?: HMSNetworkQuality | undefined;\n customerUserID?: string | undefined;\n metadata?: string | undefined;\n role?: HMSRole | undefined;\n audioTrack?: HMSAudioTrack | undefined;\n videoTrack?: HMSVideoTrack | undefined;\n auxiliaryTracks?: HMSTrack[] | undefined;\n};\n\nexport class HMSPeersCache {\n private _data = new Map<string, HMSPeerCacheProps>();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof HMSPeerCacheProps>(\n peerId: string,\n property: T\n ): HMSPeerCacheProps[T] | undefined {\n const peerObj = this._data.get(peerId);\n\n if (peerObj && property in peerObj) {\n return peerObj[property];\n }\n\n const encodedValue = getPeerPropertyFromNative(this.id, peerId, property);\n\n if (!peerObj) {\n this._data.set(peerId, { [property]: encodedValue });\n } else {\n peerObj[property] = encodedValue;\n }\n\n return encodedValue;\n }\n\n updatePeerCache(\n peerId: string,\n data: Partial<Record<keyof HMSPeerCacheProps | 'track', any>>,\n updateType?: HMSPeerUpdate | HMSTrackUpdate\n ) {\n const peerObj = this._data.get(peerId);\n\n if (updateType === HMSPeerUpdate.PEER_JOINED) {\n if (!peerObj) {\n this._data.set(peerId, data);\n }\n return;\n }\n\n if (updateType === HMSPeerUpdate.PEER_LEFT) {\n this._data.delete(peerId);\n return;\n }\n\n let updatedObj = peerObj || {};\n\n switch (updateType) {\n case HMSTrackUpdate.TRACK_ADDED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = false;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks.push(track);\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_REMOVED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = undefined;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = undefined;\n }\n } else if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(\n (auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId\n );\n }\n break;\n }\n case HMSTrackUpdate.TRACK_MUTED:\n case HMSTrackUpdate.TRACK_UNMUTED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n const oldIsDegraded = updatedObj.videoTrack?.isDegraded || false;\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = oldIsDegraded;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) =>\n auxiliaryTrack.trackId === track.trackId\n ? track\n : auxiliaryTrack\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_DEGRADED:\n case HMSTrackUpdate.TRACK_RESTORED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded =\n updateType === HMSTrackUpdate.TRACK_DEGRADED;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) => {\n if (auxiliaryTrack.trackId === track.trackId) {\n return {\n ...auxiliaryTrack,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n }\n\n return auxiliaryTrack;\n }\n );\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj.role = HMSEncoder.encodeHmsRole(data.role);\n break;\n }\n case HMSPeerUpdate.NETWORK_QUALITY_UPDATED: {\n updatedObj.networkQuality = HMSEncoder.encodeHMSNetworkQuality(\n data.networkQuality\n );\n break;\n }\n case HMSPeerUpdate.METADATA_CHANGED: {\n updatedObj.metadata = data.metadata;\n break;\n }\n case HMSPeerUpdate.NAME_CHANGED: {\n updatedObj.name = data.name;\n break;\n }\n default: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n }\n\n if (Object.keys(updatedObj).length > 0) {\n this._data.set(peerId, updatedObj);\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(\n id: string,\n peerId: string,\n property: T\n): HMSPeerCacheProps[T] {\n const data: any = HMSManager.getPeerProperty({\n id,\n peerId,\n property,\n });\n\n let value;\n\n if (property === 'role') {\n value = data ? HMSEncoder.encodeHmsRole(data.role) : undefined;\n } else if (property === 'networkQuality') {\n value = data\n ? HMSEncoder.encodeHMSNetworkQuality(data.networkQuality)\n : undefined;\n } else if (property === 'audioTrack') {\n value = data\n ? HMSEncoder.encodeHmsAudioTrack(data.audioTrack, id)\n : undefined;\n } else if (property === 'videoTrack') {\n value = data\n ? HMSEncoder.encodeHmsVideoTrack(data.videoTrack, id)\n : undefined;\n } else if (property === 'auxiliaryTracks') {\n value =\n data && Array.isArray(data.auxiliaryTracks)\n ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)\n : undefined;\n } else if (property === 'name') {\n value = data?.[property];\n } else {\n value = data ? data[property] : undefined;\n }\n\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["HMSManager","HMSEncoder","HMSPeerUpdate","HMSTrackUpdate","HMSTrackType","HMSTrackSource","hmsPeersCache","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","undefined","HMSPeersCache","constructor","id","_defineProperty","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","PEER_JOINED","PEER_LEFT","delete","updatedObj","TRACK_ADDED","track","source","REGULAR","type","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","oldIsDegraded","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","metadata","NAME_CHANGED","name","HAND_RAISED_CHANGED","isHandRaised","Object","keys","length","clear","getPeerProperty","value","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import HMSManager from './HMSManagerModule';\n\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSPeerUpdate } from './HMSPeerUpdate';\nimport { HMSTrackUpdate } from './HMSTrackUpdate';\nimport type { HMSTrack } from './HMSTrack';\nimport { HMSTrackType } from './HMSTrackType';\nimport { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\n\nexport let hmsPeersCache: HMSPeersCache | undefined;\n\nexport const getHmsPeersCache = () => {\n return hmsPeersCache;\n};\n\nexport const setHmsPeersCache = (_hmsPeersCache: HMSPeersCache) => {\n hmsPeersCache = _hmsPeersCache;\n};\n\nexport const clearHmsPeersCache = () => {\n if (hmsPeersCache) {\n hmsPeersCache.cleanup();\n }\n hmsPeersCache = undefined;\n};\n\nexport type HMSPeerCacheProps = {\n peerID?: string | undefined;\n name?: string | undefined;\n isLocal?: boolean | undefined;\n networkQuality?: HMSNetworkQuality | undefined;\n customerUserID?: string | undefined;\n metadata?: string | undefined;\n role?: HMSRole | undefined;\n audioTrack?: HMSAudioTrack | undefined;\n videoTrack?: HMSVideoTrack | undefined;\n auxiliaryTracks?: HMSTrack[] | undefined;\n isHandRaised?: boolean | undefined;\n};\n\nexport class HMSPeersCache {\n private _data = new Map<string, HMSPeerCacheProps>();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof HMSPeerCacheProps>(\n peerId: string,\n property: T\n ): HMSPeerCacheProps[T] | undefined {\n const peerObj = this._data.get(peerId);\n\n if (peerObj && property in peerObj) {\n return peerObj[property];\n }\n\n const encodedValue = getPeerPropertyFromNative(this.id, peerId, property);\n\n if (!peerObj) {\n this._data.set(peerId, { [property]: encodedValue });\n } else {\n peerObj[property] = encodedValue;\n }\n\n return encodedValue;\n }\n\n updatePeerCache(\n peerId: string,\n data: Partial<Record<keyof HMSPeerCacheProps | 'track', any>>,\n updateType?: HMSPeerUpdate | HMSTrackUpdate\n ) {\n const peerObj = this._data.get(peerId);\n\n if (updateType === HMSPeerUpdate.PEER_JOINED) {\n if (!peerObj) {\n this._data.set(peerId, data);\n }\n return;\n }\n\n if (updateType === HMSPeerUpdate.PEER_LEFT) {\n this._data.delete(peerId);\n return;\n }\n\n let updatedObj = peerObj || {};\n\n switch (updateType) {\n case HMSTrackUpdate.TRACK_ADDED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = false;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks.push(track);\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_REMOVED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = undefined;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = undefined;\n }\n } else if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(\n (auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId\n );\n }\n break;\n }\n case HMSTrackUpdate.TRACK_MUTED:\n case HMSTrackUpdate.TRACK_UNMUTED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n const oldIsDegraded = updatedObj.videoTrack?.isDegraded || false;\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = oldIsDegraded;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) =>\n auxiliaryTrack.trackId === track.trackId\n ? track\n : auxiliaryTrack\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_DEGRADED:\n case HMSTrackUpdate.TRACK_RESTORED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded =\n updateType === HMSTrackUpdate.TRACK_DEGRADED;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) => {\n if (auxiliaryTrack.trackId === track.trackId) {\n return {\n ...auxiliaryTrack,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n }\n\n return auxiliaryTrack;\n }\n );\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj.role = HMSEncoder.encodeHmsRole(data.role);\n break;\n }\n case HMSPeerUpdate.NETWORK_QUALITY_UPDATED: {\n updatedObj.networkQuality = HMSEncoder.encodeHMSNetworkQuality(\n data.networkQuality\n );\n break;\n }\n case HMSPeerUpdate.METADATA_CHANGED: {\n updatedObj.metadata = data.metadata;\n break;\n }\n case HMSPeerUpdate.NAME_CHANGED: {\n updatedObj.name = data.name;\n break;\n }\n case HMSPeerUpdate.HAND_RAISED_CHANGED: {\n updatedObj.isHandRaised = data.isHandRaised;\n break;\n }\n default: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n }\n\n if (Object.keys(updatedObj).length > 0) {\n this._data.set(peerId, updatedObj);\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(\n id: string,\n peerId: string,\n property: T\n): HMSPeerCacheProps[T] {\n const data: any = HMSManager.getPeerProperty({\n id,\n peerId,\n property,\n });\n\n let value;\n\n if (property === 'role') {\n value = data ? HMSEncoder.encodeHmsRole(data.role) : undefined;\n } else if (property === 'networkQuality') {\n value = data\n ? HMSEncoder.encodeHMSNetworkQuality(data.networkQuality)\n : undefined;\n } else if (property === 'audioTrack') {\n value = data\n ? HMSEncoder.encodeHmsAudioTrack(data.audioTrack, id)\n : undefined;\n } else if (property === 'videoTrack') {\n value = data\n ? HMSEncoder.encodeHmsVideoTrack(data.videoTrack, id)\n : undefined;\n } else if (property === 'auxiliaryTracks') {\n value =\n data && Array.isArray(data.auxiliaryTracks)\n ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)\n : undefined;\n } else if (property === 'name') {\n value = data?.[property];\n } else if (property === 'isHandRaised') {\n value = data ? data[property] : false;\n } else {\n value = data ? data[property] : undefined;\n }\n\n return value;\n}\n"],"mappings":"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"}
@@ -14,8 +14,9 @@ import { HMSPIPListenerActions } from './HMSPIPListenerActions';
14
14
  import HMSNativeEventListener from './HMSNativeEventListener';
15
15
  import { clearHmsPeersCache, getHmsPeersCache, HMSPeersCache, setHmsPeersCache } from './HMSPeersCache';
16
16
  import { clearHmsRoomCache, getHmsRoomCache, HMSRoomCache, setHmsRoomCache } from './HMSRoomCache';
17
- import { HMSPeerUpdateOrdinals } from './HMSPeerUpdate';
17
+ import { HMSPeerUpdate, HMSPeerUpdateOrdinals } from './HMSPeerUpdate';
18
18
  import { HMSSessionStore } from './HMSSessionStore';
19
+ import { HMSPeerListIterator } from './HMSPeerListIterator';
19
20
 
20
21
  // TODO: Rename to HMSPIPConfig & to be moved to a separate file
21
22
 
@@ -31,6 +32,7 @@ export class HMSSDK {
31
32
  _defineProperty(this, "onJoinDelegate", void 0);
32
33
  _defineProperty(this, "onRoomDelegate", void 0);
33
34
  _defineProperty(this, "onPeerDelegate", void 0);
35
+ _defineProperty(this, "onPeerListUpdatedDelegate", void 0);
34
36
  _defineProperty(this, "onTrackDelegate", void 0);
35
37
  _defineProperty(this, "onErrorDelegate", void 0);
36
38
  _defineProperty(this, "onMessageDelegate", void 0);
@@ -48,6 +50,7 @@ export class HMSSDK {
48
50
  _defineProperty(this, "onAudioDeviceChangedDelegate", void 0);
49
51
  _defineProperty(this, "onSessionStoreAvailableDelegate", void 0);
50
52
  _defineProperty(this, "onPIPRoomLeaveDelegate", void 0);
53
+ _defineProperty(this, "onPIPModeChangedDelegate", void 0);
51
54
  _defineProperty(this, "emitterSubscriptions", {});
52
55
  /**
53
56
  * - Calls removeListeners that in turn breaks all connections with native listeners.
@@ -127,32 +130,6 @@ export class HMSSDK {
127
130
  id: this.id
128
131
  });
129
132
  });
130
- /**
131
- * - previewForRole can be used when there is role change request for current localPeer and we want
132
- * to show the localPeer how the tracks look before publishing them to room.
133
- *
134
- * - It requires a role of type [HMSRole]{@link HMSRole} for which we want to preview the tracks.
135
- *
136
- * checkout {@link https://www.100ms.live/docs/react-native} for more info
137
- *
138
- * @param {HMSRole}
139
- * @memberof HMSSDK
140
- */
141
- _defineProperty(this, "previewForRole", async role => {
142
- logger === null || logger === void 0 || logger.verbose('#Function previewForRole', {
143
- role,
144
- id: this.id
145
- });
146
- if (Platform.OS === 'ios') {
147
- return await HMSManager.previewForRole({
148
- role: role === null || role === void 0 ? void 0 : role.name,
149
- id: this.id
150
- });
151
- } else {
152
- console.log('API currently not available for android');
153
- return 'API currently not available for android';
154
- }
155
- });
156
133
  /**
157
134
  * - HmsView is react component that takes trackId and starts showing that track on a tile.
158
135
  * - The appearance of tile is completely customizable with style prop.
@@ -559,6 +536,46 @@ export class HMSSDK {
559
536
  };
560
537
  return await HMSManager.changeName(data);
561
538
  });
539
+ /**
540
+ * -Preview for a specific Role before changing it.
541
+ *
542
+ * By previewing before doing a Role Change, users can see their expected Audio & Video tracks which will be visible to other Peers in Room post changing the Role.
543
+ *
544
+ * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
545
+ *
546
+ * @param {role: string}
547
+ * @memberof HMSSDK
548
+ */
549
+ _defineProperty(this, "previewForRole", async role => {
550
+ logger === null || logger === void 0 || logger.verbose('#Function previewForRole', {
551
+ role,
552
+ id: this.id
553
+ });
554
+ const data = await HMSManager.previewForRole({
555
+ role,
556
+ id: this.id
557
+ });
558
+ const previewTracks = HMSEncoder.encodeHmsPreviewForRoleTracks(data.tracks, this.id);
559
+ return previewTracks;
560
+ });
561
+ /**
562
+ * Cancel the Previewing for Role invocation.
563
+ *
564
+ * If a [previewForRole] call was performed previously then calling this method clears the tracks created anticipating a Change of Role
565
+ *
566
+ * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
567
+ *
568
+ * @memberof HMSSDK
569
+ */
570
+ _defineProperty(this, "cancelPreview", async () => {
571
+ logger === null || logger === void 0 || logger.verbose('#Function cancelPreview', {
572
+ id: this.id
573
+ });
574
+ const data = await HMSManager.cancelPreview({
575
+ id: this.id
576
+ });
577
+ return data;
578
+ });
562
579
  /**
563
580
  * - Calling this function will accept the most recent roleChange request made by anyone in the room
564
581
  *
@@ -1052,6 +1069,75 @@ export class HMSSDK {
1052
1069
  peerID: peerId
1053
1070
  });
1054
1071
  });
1072
+ /**
1073
+ * - This function is used to raise hand for the local peer
1074
+ * @memberof HMSSDK
1075
+ */
1076
+ _defineProperty(this, "raiseLocalPeerHand", async () => {
1077
+ const data = {
1078
+ id: this.id
1079
+ };
1080
+ logger === null || logger === void 0 || logger.verbose('#Function raiseLocalPeerHand', data);
1081
+ return HMSManager.raiseLocalPeerHand(data);
1082
+ });
1083
+ /**
1084
+ * - This function is used to lower hand for the local peer
1085
+ * @memberof HMSSDK
1086
+ */
1087
+ _defineProperty(this, "lowerLocalPeerHand", async () => {
1088
+ const data = {
1089
+ id: this.id
1090
+ };
1091
+ logger === null || logger === void 0 || logger.verbose('#Function lowerLocalPeerHand', data);
1092
+ return HMSManager.lowerLocalPeerHand(data);
1093
+ });
1094
+ /**
1095
+ * - This function is used to lower hand for the remote peer
1096
+ * @param peer
1097
+ */
1098
+ _defineProperty(this, "lowerRemotePeerHand", async peer => {
1099
+ const data = {
1100
+ peerId: peer.peerID,
1101
+ id: this.id
1102
+ };
1103
+ logger === null || logger === void 0 || logger.verbose('#Function lowerRemotePeerHand', data);
1104
+ return HMSManager.lowerRemotePeerHand(data);
1105
+ });
1106
+ /**
1107
+ * `getPeerListIterator` method returns an instance of `HMSPeerListIterator` class
1108
+ *
1109
+ * @param options options for configuring iterator
1110
+ * @returns instance of HMSPeerListIterator class
1111
+ *
1112
+ * Example usage:
1113
+ * ```
1114
+ * const peerListIterator = hmsInstance.getPeerListIterator();
1115
+ * ```
1116
+ * OR
1117
+ * ```
1118
+ * const peerListIterator = hmsInstance.getPeerListIterator({
1119
+ * limit: 10,
1120
+ * byRoleName: 'viewer-realtime',
1121
+ * });
1122
+ * ```
1123
+ */
1124
+ _defineProperty(this, "getPeerListIterator", options => {
1125
+ logger === null || logger === void 0 || logger.verbose('#Function getPeerListIterator', {
1126
+ id: this.id,
1127
+ options
1128
+ });
1129
+ const uniqueId = Math.random().toString(16).slice(2);
1130
+ const data = HMSManager.getPeerListIterator({
1131
+ id: this.id,
1132
+ ...options,
1133
+ limit: (options === null || options === void 0 ? void 0 : options.limit) ?? 10,
1134
+ uniqueId
1135
+ });
1136
+ if (!data) {
1137
+ throw new Error('Unable to create PeerListIterator');
1138
+ }
1139
+ return new HMSPeerListIterator(data.uniqueId, data.totalCount);
1140
+ });
1055
1141
  /**
1056
1142
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
1057
1143
  *
@@ -1113,6 +1199,18 @@ export class HMSSDK {
1113
1199
  this.onPeerDelegate = callback;
1114
1200
  break;
1115
1201
  }
1202
+ case HMSUpdateListenerActions.ON_PEER_LIST_UPDATED:
1203
+ {
1204
+ // Checking if we already have ON_PEER_LIST_UPDATED subscription
1205
+ if (!this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_LIST_UPDATED]) {
1206
+ // Adding ON_PEER_LIST_UPDATED native listener
1207
+ const peerListUpdatedSubscription = HMSNativeEventListener.addListener(this.id, HMSUpdateListenerActions.ON_PEER_LIST_UPDATED, this.onPeerListUpdatedListener);
1208
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_LIST_UPDATED] = peerListUpdatedSubscription;
1209
+ }
1210
+ // Adding App Delegate listener
1211
+ this.onPeerListUpdatedDelegate = callback;
1212
+ break;
1213
+ }
1116
1214
  case HMSUpdateListenerActions.ON_TRACK_UPDATE:
1117
1215
  {
1118
1216
  // Checking if we already have ON_TRACK_UPDATE subscription
@@ -1319,6 +1417,19 @@ export class HMSSDK {
1319
1417
  }
1320
1418
  break;
1321
1419
  }
1420
+ case HMSPIPListenerActions.ON_PIP_MODE_CHANGED:
1421
+ {
1422
+ if (Platform.OS === 'android') {
1423
+ // Checking if we already have ON_PIP_MODE_CHANGED subscription
1424
+ if (!this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED]) {
1425
+ const pipModeChangedSubscription = HMSNativeEventListener.addListener(this.id, HMSPIPListenerActions.ON_PIP_MODE_CHANGED, this.onPIPModeChangedListener);
1426
+ this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] = pipModeChangedSubscription;
1427
+ }
1428
+ // Adding PIP mode changed Delegate listener
1429
+ this.onPIPModeChangedDelegate = callback;
1430
+ }
1431
+ break;
1432
+ }
1322
1433
  default:
1323
1434
  }
1324
1435
  });
@@ -1589,6 +1700,20 @@ export class HMSSDK {
1589
1700
  }
1590
1701
  break;
1591
1702
  }
1703
+ case HMSPIPListenerActions.ON_PIP_MODE_CHANGED:
1704
+ {
1705
+ if (Platform.OS === 'android') {
1706
+ const subscription = this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED];
1707
+ // Removing ON_PIP_MODE_CHANGED native listener
1708
+ if (subscription) {
1709
+ subscription.remove();
1710
+ this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] = undefined;
1711
+ }
1712
+ // Removing App Delegate listener
1713
+ this.onPIPModeChangedDelegate = null;
1714
+ }
1715
+ break;
1716
+ }
1592
1717
  default:
1593
1718
  }
1594
1719
  });
@@ -1689,7 +1814,6 @@ export class HMSSDK {
1689
1814
  }
1690
1815
  });
1691
1816
  _defineProperty(this, "onPeerListener", peerData => {
1692
- var _getHmsPeersCache;
1693
1817
  const data = {
1694
1818
  peer: peerData,
1695
1819
  type: null
@@ -1703,7 +1827,15 @@ export class HMSSDK {
1703
1827
  }
1704
1828
  const peer = HMSEncoder.encodeHmsPeer(data.peer);
1705
1829
  const type = HMSEncoder.encodeHmsPeerUpdate(data.type) || data.type;
1706
- (_getHmsPeersCache = getHmsPeersCache()) === null || _getHmsPeersCache === void 0 || _getHmsPeersCache.updatePeerCache(data.peer.peerID, data.peer, type);
1830
+ if (type === HMSPeerUpdate.PEER_LEFT) {
1831
+ this.sendPeerUpdateWhenPeerLeaves(data, peer, type);
1832
+ } else {
1833
+ var _getHmsPeersCache;
1834
+ (_getHmsPeersCache = getHmsPeersCache()) === null || _getHmsPeersCache === void 0 || _getHmsPeersCache.updatePeerCache(data.peer.peerID, data.peer, type);
1835
+ this.sendPeerUpdate(peer, type);
1836
+ }
1837
+ });
1838
+ _defineProperty(this, "sendPeerUpdate", (peer, type) => {
1707
1839
  if (this.onPeerDelegate) {
1708
1840
  logger === null || logger === void 0 || logger.verbose('#Listener ON_PEER_LISTENER_CALL', {
1709
1841
  peer,
@@ -1715,15 +1847,37 @@ export class HMSSDK {
1715
1847
  });
1716
1848
  }
1717
1849
  });
1718
- _defineProperty(this, "onTrackListener", data => {
1850
+ _defineProperty(this, "sendPeerUpdateWhenPeerLeaves", (data, peer, type) => {
1719
1851
  var _getHmsPeersCache2;
1852
+ this.sendPeerUpdate(peer, type);
1853
+ (_getHmsPeersCache2 = getHmsPeersCache()) === null || _getHmsPeersCache2 === void 0 || _getHmsPeersCache2.updatePeerCache(data.peer.peerID, data.peer, type);
1854
+ });
1855
+ _defineProperty(this, "onPeerListUpdatedListener", data => {
1856
+ if (data.id !== this.id) {
1857
+ return;
1858
+ }
1859
+ const addedPeers = HMSEncoder.encodeHmsPeers(data.addedPeers);
1860
+ const removedPeers = HMSEncoder.encodeHmsPeers(data.removedPeers);
1861
+ if (this.onPeerListUpdatedDelegate) {
1862
+ logger === null || logger === void 0 || logger.verbose('#Listener ON_PEER_LIST_UPDATED_LISTENER_CALL', {
1863
+ totalAddedPeers: addedPeers.length,
1864
+ totalRemovedPeers: removedPeers.length
1865
+ });
1866
+ this.onPeerListUpdatedDelegate({
1867
+ addedPeers,
1868
+ removedPeers
1869
+ });
1870
+ }
1871
+ });
1872
+ _defineProperty(this, "onTrackListener", data => {
1873
+ var _getHmsPeersCache3;
1720
1874
  if (data.id !== this.id) {
1721
1875
  return;
1722
1876
  }
1723
1877
  const track = HMSEncoder.encodeHmsTrack(data.track, this.id);
1724
1878
  const peer = HMSEncoder.encodeHmsPeer(data.peer);
1725
1879
  const type = data.type;
1726
- (_getHmsPeersCache2 = getHmsPeersCache()) === null || _getHmsPeersCache2 === void 0 || _getHmsPeersCache2.updatePeerCache(data.peer.peerID, {
1880
+ (_getHmsPeersCache3 = getHmsPeersCache()) === null || _getHmsPeersCache3 === void 0 || _getHmsPeersCache3.updatePeerCache(data.peer.peerID, {
1727
1881
  track
1728
1882
  }, data.type);
1729
1883
  if (this.muteStatus && (data === null || data === void 0 ? void 0 : data.type) === 'TRACK_ADDED' && track.type === HMSTrackType.AUDIO) {
@@ -1971,6 +2125,12 @@ export class HMSSDK {
1971
2125
  });
1972
2126
  }
1973
2127
  });
2128
+ _defineProperty(this, "onPIPModeChangedListener", data => {
2129
+ if (this.onPIPModeChangedDelegate) {
2130
+ logger === null || logger === void 0 || logger.verbose('#Listener onPIPModeChanged_CALL', data);
2131
+ this.onPIPModeChangedDelegate(data);
2132
+ }
2133
+ });
1974
2134
  /**
1975
2135
  * - Updates the logger for this instance of HMSSDK
1976
2136
  * @param {HMSLogger} hmsLogger
@@ -2029,8 +2189,8 @@ export class HMSSDK {
2029
2189
  id: this.id
2030
2190
  });
2031
2191
  }
2032
- async enablePipMode(data) {
2033
- return HMSManager.handlePipActions('enablePipMode', {
2192
+ async enterPipMode(data) {
2193
+ return HMSManager.handlePipActions('enterPipMode', {
2034
2194
  ...data,
2035
2195
  id: this.id
2036
2196
  });