@100mslive/react-native-hms 1.8.0 → 1.9.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) 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 -1
  4. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +15 -5
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +4 -3
  6. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +43 -5
  7. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +147 -47
  8. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +419 -248
  9. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +24 -4
  10. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -1
  11. package/ios/HMSConstants.swift +1 -0
  12. package/ios/HMSDecoder.swift +16 -5
  13. package/ios/HMSHLSPlayerManager.swift +20 -11
  14. package/ios/HMSHelper.swift +33 -4
  15. package/ios/HMSManager.m +66 -10
  16. package/ios/HMSManager.swift +65 -21
  17. package/ios/HMSRNSDK.swift +244 -100
  18. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  19. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  20. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  21. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  22. package/lib/commonjs/classes/HMSAudioCodec.js +1 -2
  23. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  24. package/lib/commonjs/classes/HMSAudioDevice.js +1 -2
  25. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  26. package/lib/commonjs/classes/HMSAudioMixingMode.js +1 -2
  27. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  28. package/lib/commonjs/classes/HMSAudioMode.js +1 -2
  29. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  30. package/lib/commonjs/classes/HMSCameraFacing.js +1 -2
  31. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  32. package/lib/commonjs/classes/HMSConstants.js +1 -2
  33. package/lib/commonjs/classes/HMSConstants.js.map +1 -1
  34. package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
  35. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
  36. package/lib/commonjs/classes/HMSIOSAudioMode.js +1 -2
  37. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  38. package/lib/commonjs/classes/HMSLayer.js +1 -2
  39. package/lib/commonjs/classes/HMSLayer.js.map +1 -1
  40. package/lib/commonjs/classes/HMSLogAlarmManager.js +1 -2
  41. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  42. package/lib/commonjs/classes/HMSLogLevel.js +1 -2
  43. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  44. package/lib/commonjs/classes/HMSLogger.js +1 -2
  45. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  46. package/lib/commonjs/classes/HMSManagerModule.js +1 -2
  47. package/lib/commonjs/classes/HMSManagerModule.js.map +1 -1
  48. package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
  49. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  50. package/lib/commonjs/classes/HMSNativeEventListener.js +1 -2
  51. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  52. package/lib/commonjs/classes/HMSPIPConfig.js +4 -0
  53. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -0
  54. package/lib/commonjs/classes/HMSPIPListenerActions.js +2 -2
  55. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  56. package/lib/commonjs/classes/HMSPeer.js +15 -0
  57. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  58. package/lib/commonjs/classes/HMSPeerListIterator.js +64 -0
  59. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -0
  60. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js +2 -0
  61. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -0
  62. package/lib/commonjs/classes/HMSPeerUpdate.js +3 -4
  63. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  64. package/lib/commonjs/classes/HMSPeersCache.js +8 -2
  65. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  66. package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
  67. package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
  68. package/lib/commonjs/classes/HMSRoomCache.js +1 -2
  69. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  70. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -2
  71. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  72. package/lib/commonjs/classes/HMSSDK.js +152 -8
  73. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  74. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +1 -2
  75. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  76. package/lib/commonjs/classes/HMSTrackSource.js +1 -2
  77. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  78. package/lib/commonjs/classes/HMSTrackType.js +1 -2
  79. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  80. package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
  81. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  82. package/lib/commonjs/classes/HMSUpdateListenerActions.js +2 -2
  83. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  84. package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
  85. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  86. package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
  87. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  88. package/lib/commonjs/classes/HmsView.js +17 -5
  89. package/lib/commonjs/classes/HmsView.js.map +1 -1
  90. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +11 -9
  91. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  92. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +2 -4
  93. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  94. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +11 -11
  95. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  96. package/lib/commonjs/components/HMSHLSPlayer/index.js +8 -1
  97. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -1
  98. package/lib/commonjs/hooks/hmsviews.js +17 -0
  99. package/lib/commonjs/hooks/hmsviews.js.map +1 -0
  100. package/lib/commonjs/hooks/useHMSPeerUpdates.js +2 -2
  101. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  102. package/lib/commonjs/index.js +10 -3
  103. package/lib/commonjs/index.js.map +1 -1
  104. package/lib/commonjs/stores/hls-player-playback-slice.js +4 -0
  105. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -1
  106. package/lib/commonjs/stores/hls-player-stats-store.js +1 -2
  107. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
  108. package/lib/commonjs/stores/hms-store.js +4 -3
  109. package/lib/commonjs/stores/hms-store.js.map +1 -1
  110. package/lib/commonjs/stores/hmsviews-slice.js +19 -0
  111. package/lib/commonjs/stores/hmsviews-slice.js.map +1 -0
  112. package/lib/commonjs/stores/types.js +9 -0
  113. package/lib/commonjs/stores/types.js.map +1 -1
  114. package/lib/commonjs/types.js +4 -7
  115. package/lib/commonjs/types.js.map +1 -1
  116. package/lib/module/classes/HMSPIPConfig.js +2 -0
  117. package/lib/module/classes/HMSPIPConfig.js.map +1 -0
  118. package/lib/module/classes/HMSPIPListenerActions.js +1 -0
  119. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  120. package/lib/module/classes/HMSPeer.js +15 -0
  121. package/lib/module/classes/HMSPeer.js.map +1 -1
  122. package/lib/module/classes/HMSPeerListIterator.js +58 -0
  123. package/lib/module/classes/HMSPeerListIterator.js.map +1 -0
  124. package/lib/module/classes/HMSPeerListIteratorOptions.js +2 -0
  125. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -0
  126. package/lib/module/classes/HMSPeerUpdate.js +2 -1
  127. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  128. package/lib/module/classes/HMSPeersCache.js +7 -0
  129. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  130. package/lib/module/classes/HMSSDK.js +153 -10
  131. package/lib/module/classes/HMSSDK.js.map +1 -1
  132. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  133. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  134. package/lib/module/classes/HmsView.js +14 -1
  135. package/lib/module/classes/HmsView.js.map +1 -1
  136. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +9 -6
  137. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  138. package/lib/module/components/HMSHLSPlayer/hooks.js +4 -0
  139. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  140. package/lib/module/components/HMSHLSPlayer/index.js +1 -1
  141. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -1
  142. package/lib/module/hooks/hmsviews.js +12 -0
  143. package/lib/module/hooks/hmsviews.js.map +1 -0
  144. package/lib/module/index.js +1 -0
  145. package/lib/module/index.js.map +1 -1
  146. package/lib/module/stores/hls-player-playback-slice.js +4 -0
  147. package/lib/module/stores/hls-player-playback-slice.js.map +1 -1
  148. package/lib/module/stores/hms-store.js +3 -1
  149. package/lib/module/stores/hms-store.js.map +1 -1
  150. package/lib/module/stores/hmsviews-slice.js +12 -0
  151. package/lib/module/stores/hmsviews-slice.js.map +1 -0
  152. package/lib/module/stores/types.js +9 -0
  153. package/lib/module/stores/types.js.map +1 -1
  154. package/lib/module/types.js +1 -1
  155. package/lib/module/types.js.map +1 -1
  156. package/lib/typescript/classes/HMSPIPConfig.d.ts +7 -0
  157. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +1 -0
  158. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  159. package/lib/typescript/classes/HMSPeerListIterator.d.ts +9 -0
  160. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +24 -0
  161. package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
  162. package/lib/typescript/classes/HMSPeersCache.d.ts +1 -0
  163. package/lib/typescript/classes/HMSSDK.d.ts +47 -8
  164. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  165. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +2 -0
  166. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +1 -1
  167. package/lib/typescript/hooks/hmsviews.d.ts +3 -0
  168. package/lib/typescript/index.d.ts +2 -0
  169. package/lib/typescript/stores/hms-store.d.ts +4 -3
  170. package/lib/typescript/stores/hmsviews-slice.d.ts +5 -0
  171. package/lib/typescript/stores/types.d.ts +14 -2
  172. package/lib/typescript/types.d.ts +9 -5
  173. package/package.json +3 -1
  174. package/sdk-versions.json +2 -2
  175. package/src/classes/HMSPIPConfig.ts +7 -0
  176. package/src/classes/HMSPIPListenerActions.ts +1 -0
  177. package/src/classes/HMSPeer.ts +25 -0
  178. package/src/classes/HMSPeerListIterator.ts +60 -0
  179. package/src/classes/HMSPeerListIteratorOptions.ts +26 -0
  180. package/src/classes/HMSPeerUpdate.ts +2 -0
  181. package/src/classes/HMSPeersCache.ts +7 -0
  182. package/src/classes/HMSSDK.tsx +188 -13
  183. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  184. package/src/classes/HmsView.tsx +16 -2
  185. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +11 -5
  186. package/src/components/HMSHLSPlayer/hooks.ts +7 -0
  187. package/src/components/HMSHLSPlayer/index.ts +1 -0
  188. package/src/hooks/hmsviews.ts +13 -0
  189. package/src/index.ts +2 -0
  190. package/src/stores/hls-player-playback-slice.ts +3 -0
  191. package/src/stores/hms-store.ts +2 -0
  192. package/src/stores/hmsviews-slice.ts +20 -0
  193. package/src/stores/types.ts +20 -1
  194. package/src/types.ts +13 -3
  195. package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
  196. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  197. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  198. package/android/.gradle/6.7.1/fileHashes/fileHashes.bin +0 -0
  199. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  200. package/android/.gradle/6.7.1/gc.properties +0 -0
  201. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  202. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  203. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  204. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  205. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  206. package/android/.gradle/6.9/gc.properties +0 -0
  207. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  208. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  209. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  210. package/android/.gradle/checksums/checksums.lock +0 -0
  211. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  212. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  213. package/android/.gradle/configuration-cache/gc.properties +0 -0
  214. package/android/.gradle/vcs-1/gc.properties +0 -0
@@ -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,11 +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
-
20
- // TODO: Rename to HMSPIPConfig & to be moved to a separate file
21
-
19
+ import { HMSPeerListIterator } from './HMSPeerListIterator';
22
20
  const ReactNativeVersion = require('react-native/Libraries/Core/ReactNativeVersion');
23
21
  let HmsSdk;
24
22
  export class HMSSDK {
@@ -31,6 +29,7 @@ export class HMSSDK {
31
29
  _defineProperty(this, "onJoinDelegate", void 0);
32
30
  _defineProperty(this, "onRoomDelegate", void 0);
33
31
  _defineProperty(this, "onPeerDelegate", void 0);
32
+ _defineProperty(this, "onPeerListUpdatedDelegate", void 0);
34
33
  _defineProperty(this, "onTrackDelegate", void 0);
35
34
  _defineProperty(this, "onErrorDelegate", void 0);
36
35
  _defineProperty(this, "onMessageDelegate", void 0);
@@ -48,6 +47,7 @@ export class HMSSDK {
48
47
  _defineProperty(this, "onAudioDeviceChangedDelegate", void 0);
49
48
  _defineProperty(this, "onSessionStoreAvailableDelegate", void 0);
50
49
  _defineProperty(this, "onPIPRoomLeaveDelegate", void 0);
50
+ _defineProperty(this, "onPIPModeChangedDelegate", void 0);
51
51
  _defineProperty(this, "emitterSubscriptions", {});
52
52
  /**
53
53
  * - Calls removeListeners that in turn breaks all connections with native listeners.
@@ -1066,6 +1066,75 @@ export class HMSSDK {
1066
1066
  peerID: peerId
1067
1067
  });
1068
1068
  });
1069
+ /**
1070
+ * - This function is used to raise hand for the local peer
1071
+ * @memberof HMSSDK
1072
+ */
1073
+ _defineProperty(this, "raiseLocalPeerHand", async () => {
1074
+ const data = {
1075
+ id: this.id
1076
+ };
1077
+ logger === null || logger === void 0 || logger.verbose('#Function raiseLocalPeerHand', data);
1078
+ return HMSManager.raiseLocalPeerHand(data);
1079
+ });
1080
+ /**
1081
+ * - This function is used to lower hand for the local peer
1082
+ * @memberof HMSSDK
1083
+ */
1084
+ _defineProperty(this, "lowerLocalPeerHand", async () => {
1085
+ const data = {
1086
+ id: this.id
1087
+ };
1088
+ logger === null || logger === void 0 || logger.verbose('#Function lowerLocalPeerHand', data);
1089
+ return HMSManager.lowerLocalPeerHand(data);
1090
+ });
1091
+ /**
1092
+ * - This function is used to lower hand for the remote peer
1093
+ * @param peer
1094
+ */
1095
+ _defineProperty(this, "lowerRemotePeerHand", async peer => {
1096
+ const data = {
1097
+ peerId: peer.peerID,
1098
+ id: this.id
1099
+ };
1100
+ logger === null || logger === void 0 || logger.verbose('#Function lowerRemotePeerHand', data);
1101
+ return HMSManager.lowerRemotePeerHand(data);
1102
+ });
1103
+ /**
1104
+ * `getPeerListIterator` method returns an instance of `HMSPeerListIterator` class
1105
+ *
1106
+ * @param options options for configuring iterator
1107
+ * @returns instance of HMSPeerListIterator class
1108
+ *
1109
+ * Example usage:
1110
+ * ```
1111
+ * const peerListIterator = hmsInstance.getPeerListIterator();
1112
+ * ```
1113
+ * OR
1114
+ * ```
1115
+ * const peerListIterator = hmsInstance.getPeerListIterator({
1116
+ * limit: 10,
1117
+ * byRoleName: 'viewer-realtime',
1118
+ * });
1119
+ * ```
1120
+ */
1121
+ _defineProperty(this, "getPeerListIterator", options => {
1122
+ logger === null || logger === void 0 || logger.verbose('#Function getPeerListIterator', {
1123
+ id: this.id,
1124
+ options
1125
+ });
1126
+ const uniqueId = Math.random().toString(16).slice(2);
1127
+ const data = HMSManager.getPeerListIterator({
1128
+ id: this.id,
1129
+ ...options,
1130
+ limit: (options === null || options === void 0 ? void 0 : options.limit) ?? 10,
1131
+ uniqueId
1132
+ });
1133
+ if (!data) {
1134
+ throw new Error('Unable to create PeerListIterator');
1135
+ }
1136
+ return new HMSPeerListIterator(data.uniqueId, data.totalCount);
1137
+ });
1069
1138
  /**
1070
1139
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
1071
1140
  *
@@ -1127,6 +1196,18 @@ export class HMSSDK {
1127
1196
  this.onPeerDelegate = callback;
1128
1197
  break;
1129
1198
  }
1199
+ case HMSUpdateListenerActions.ON_PEER_LIST_UPDATED:
1200
+ {
1201
+ // Checking if we already have ON_PEER_LIST_UPDATED subscription
1202
+ if (!this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_LIST_UPDATED]) {
1203
+ // Adding ON_PEER_LIST_UPDATED native listener
1204
+ const peerListUpdatedSubscription = HMSNativeEventListener.addListener(this.id, HMSUpdateListenerActions.ON_PEER_LIST_UPDATED, this.onPeerListUpdatedListener);
1205
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_LIST_UPDATED] = peerListUpdatedSubscription;
1206
+ }
1207
+ // Adding App Delegate listener
1208
+ this.onPeerListUpdatedDelegate = callback;
1209
+ break;
1210
+ }
1130
1211
  case HMSUpdateListenerActions.ON_TRACK_UPDATE:
1131
1212
  {
1132
1213
  // Checking if we already have ON_TRACK_UPDATE subscription
@@ -1333,6 +1414,19 @@ export class HMSSDK {
1333
1414
  }
1334
1415
  break;
1335
1416
  }
1417
+ case HMSPIPListenerActions.ON_PIP_MODE_CHANGED:
1418
+ {
1419
+ if (Platform.OS === 'android') {
1420
+ // Checking if we already have ON_PIP_MODE_CHANGED subscription
1421
+ if (!this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED]) {
1422
+ const pipModeChangedSubscription = HMSNativeEventListener.addListener(this.id, HMSPIPListenerActions.ON_PIP_MODE_CHANGED, this.onPIPModeChangedListener);
1423
+ this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] = pipModeChangedSubscription;
1424
+ }
1425
+ // Adding PIP mode changed Delegate listener
1426
+ this.onPIPModeChangedDelegate = callback;
1427
+ }
1428
+ break;
1429
+ }
1336
1430
  default:
1337
1431
  }
1338
1432
  });
@@ -1603,6 +1697,20 @@ export class HMSSDK {
1603
1697
  }
1604
1698
  break;
1605
1699
  }
1700
+ case HMSPIPListenerActions.ON_PIP_MODE_CHANGED:
1701
+ {
1702
+ if (Platform.OS === 'android') {
1703
+ const subscription = this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED];
1704
+ // Removing ON_PIP_MODE_CHANGED native listener
1705
+ if (subscription) {
1706
+ subscription.remove();
1707
+ this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] = undefined;
1708
+ }
1709
+ // Removing App Delegate listener
1710
+ this.onPIPModeChangedDelegate = null;
1711
+ }
1712
+ break;
1713
+ }
1606
1714
  default:
1607
1715
  }
1608
1716
  });
@@ -1703,7 +1811,6 @@ export class HMSSDK {
1703
1811
  }
1704
1812
  });
1705
1813
  _defineProperty(this, "onPeerListener", peerData => {
1706
- var _getHmsPeersCache;
1707
1814
  const data = {
1708
1815
  peer: peerData,
1709
1816
  type: null
@@ -1717,7 +1824,15 @@ export class HMSSDK {
1717
1824
  }
1718
1825
  const peer = HMSEncoder.encodeHmsPeer(data.peer);
1719
1826
  const type = HMSEncoder.encodeHmsPeerUpdate(data.type) || data.type;
1720
- (_getHmsPeersCache = getHmsPeersCache()) === null || _getHmsPeersCache === void 0 || _getHmsPeersCache.updatePeerCache(data.peer.peerID, data.peer, type);
1827
+ if (type === HMSPeerUpdate.PEER_LEFT) {
1828
+ this.sendPeerUpdateWhenPeerLeaves(data, peer, type);
1829
+ } else {
1830
+ var _getHmsPeersCache;
1831
+ (_getHmsPeersCache = getHmsPeersCache()) === null || _getHmsPeersCache === void 0 || _getHmsPeersCache.updatePeerCache(data.peer.peerID, data.peer, type);
1832
+ this.sendPeerUpdate(peer, type);
1833
+ }
1834
+ });
1835
+ _defineProperty(this, "sendPeerUpdate", (peer, type) => {
1721
1836
  if (this.onPeerDelegate) {
1722
1837
  logger === null || logger === void 0 || logger.verbose('#Listener ON_PEER_LISTENER_CALL', {
1723
1838
  peer,
@@ -1729,15 +1844,37 @@ export class HMSSDK {
1729
1844
  });
1730
1845
  }
1731
1846
  });
1732
- _defineProperty(this, "onTrackListener", data => {
1847
+ _defineProperty(this, "sendPeerUpdateWhenPeerLeaves", (data, peer, type) => {
1733
1848
  var _getHmsPeersCache2;
1849
+ this.sendPeerUpdate(peer, type);
1850
+ (_getHmsPeersCache2 = getHmsPeersCache()) === null || _getHmsPeersCache2 === void 0 || _getHmsPeersCache2.updatePeerCache(data.peer.peerID, data.peer, type);
1851
+ });
1852
+ _defineProperty(this, "onPeerListUpdatedListener", data => {
1853
+ if (data.id !== this.id) {
1854
+ return;
1855
+ }
1856
+ const addedPeers = HMSEncoder.encodeHmsPeers(data.addedPeers);
1857
+ const removedPeers = HMSEncoder.encodeHmsPeers(data.removedPeers);
1858
+ if (this.onPeerListUpdatedDelegate) {
1859
+ logger === null || logger === void 0 || logger.verbose('#Listener ON_PEER_LIST_UPDATED_LISTENER_CALL', {
1860
+ totalAddedPeers: addedPeers.length,
1861
+ totalRemovedPeers: removedPeers.length
1862
+ });
1863
+ this.onPeerListUpdatedDelegate({
1864
+ addedPeers,
1865
+ removedPeers
1866
+ });
1867
+ }
1868
+ });
1869
+ _defineProperty(this, "onTrackListener", data => {
1870
+ var _getHmsPeersCache3;
1734
1871
  if (data.id !== this.id) {
1735
1872
  return;
1736
1873
  }
1737
1874
  const track = HMSEncoder.encodeHmsTrack(data.track, this.id);
1738
1875
  const peer = HMSEncoder.encodeHmsPeer(data.peer);
1739
1876
  const type = data.type;
1740
- (_getHmsPeersCache2 = getHmsPeersCache()) === null || _getHmsPeersCache2 === void 0 || _getHmsPeersCache2.updatePeerCache(data.peer.peerID, {
1877
+ (_getHmsPeersCache3 = getHmsPeersCache()) === null || _getHmsPeersCache3 === void 0 || _getHmsPeersCache3.updatePeerCache(data.peer.peerID, {
1741
1878
  track
1742
1879
  }, data.type);
1743
1880
  if (this.muteStatus && (data === null || data === void 0 ? void 0 : data.type) === 'TRACK_ADDED' && track.type === HMSTrackType.AUDIO) {
@@ -1985,6 +2122,12 @@ export class HMSSDK {
1985
2122
  });
1986
2123
  }
1987
2124
  });
2125
+ _defineProperty(this, "onPIPModeChangedListener", data => {
2126
+ if (this.onPIPModeChangedDelegate) {
2127
+ logger === null || logger === void 0 || logger.verbose('#Listener onPIPModeChanged_CALL', data);
2128
+ this.onPIPModeChangedDelegate(data);
2129
+ }
2130
+ });
1988
2131
  /**
1989
2132
  * - Updates the logger for this instance of HMSSDK
1990
2133
  * @param {HMSLogger} hmsLogger
@@ -2043,8 +2186,8 @@ export class HMSSDK {
2043
2186
  id: this.id
2044
2187
  });
2045
2188
  }
2046
- async enablePipMode(data) {
2047
- return HMSManager.handlePipActions('enablePipMode', {
2189
+ async enterPipMode(data) {
2190
+ return HMSManager.handlePipActions('enterPipMode', {
2048
2191
  ...data,
2049
2192
  id: this.id
2050
2193
  });