@100mslive/react-native-hms 1.10.8 → 1.10.9

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 (189) hide show
  1. package/README.md +6 -5
  2. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +19 -2
  3. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +34 -3
  4. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +3 -1
  5. package/ios/HMSRNSDK.swift +13 -8
  6. package/lib/commonjs/classes/HMSAudioDevice.js +9 -0
  7. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  8. package/lib/commonjs/classes/HMSAudioMixingMode.js +11 -0
  9. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  10. package/lib/commonjs/classes/HMSAudioTrack.js +9 -0
  11. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  12. package/lib/commonjs/classes/HMSCameraFacing.js +9 -0
  13. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  14. package/lib/commonjs/classes/HMSConfig.js +27 -0
  15. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  16. package/lib/commonjs/classes/HMSException.js +18 -0
  17. package/lib/commonjs/classes/HMSException.js.map +1 -1
  18. package/lib/commonjs/classes/HMSHLSTimedMetadata.js.map +1 -1
  19. package/lib/commonjs/classes/HMSIOSAudioMode.js +15 -0
  20. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  21. package/lib/commonjs/classes/HMSLogAlarmManager.js +12 -0
  22. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  23. package/lib/commonjs/classes/HMSLogLevel.js +12 -0
  24. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  25. package/lib/commonjs/classes/HMSLogSettings.js +14 -0
  26. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
  27. package/lib/commonjs/classes/HMSNetworkQuality.js +11 -0
  28. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  29. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +40 -10
  30. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -1
  31. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -1
  32. package/lib/commonjs/classes/HMSPIPListenerActions.js +9 -0
  33. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  34. package/lib/commonjs/classes/HMSPeer.js +148 -0
  35. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  36. package/lib/commonjs/classes/HMSPeerType.js +12 -1
  37. package/lib/commonjs/classes/HMSPeerType.js.map +1 -1
  38. package/lib/commonjs/classes/HMSRTMPConfig.js +14 -0
  39. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  40. package/lib/commonjs/classes/HMSRole.js +17 -0
  41. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  42. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +13 -0
  43. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  44. package/lib/commonjs/classes/HMSSDK.js +1126 -248
  45. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  46. package/lib/commonjs/classes/HMSSessionStore.js +14 -15
  47. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  48. package/lib/commonjs/classes/HMSTrack.js +13 -0
  49. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSTrackSettings.js +10 -0
  51. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  52. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +9 -0
  53. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  54. package/lib/commonjs/classes/HMSTrackSource.js +10 -0
  55. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  56. package/lib/commonjs/classes/HMSTrackType.js +7 -0
  57. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  58. package/lib/commonjs/classes/HMSUpdateListenerActions.js +42 -3
  59. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  60. package/lib/commonjs/classes/HMSVideoTrack.js +17 -0
  61. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  62. package/lib/commonjs/classes/HMSVideoTrackSettings.js +12 -2
  63. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  64. package/lib/commonjs/classes/HmsView.js +42 -0
  65. package/lib/commonjs/classes/HmsView.js.map +1 -1
  66. package/lib/module/classes/HMSAudioDevice.js +9 -0
  67. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  68. package/lib/module/classes/HMSAudioMixingMode.js +11 -0
  69. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  70. package/lib/module/classes/HMSAudioTrack.js +9 -0
  71. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  72. package/lib/module/classes/HMSCameraFacing.js +9 -0
  73. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  74. package/lib/module/classes/HMSConfig.js +27 -0
  75. package/lib/module/classes/HMSConfig.js.map +1 -1
  76. package/lib/module/classes/HMSException.js +18 -0
  77. package/lib/module/classes/HMSException.js.map +1 -1
  78. package/lib/module/classes/HMSHLSTimedMetadata.js.map +1 -1
  79. package/lib/module/classes/HMSIOSAudioMode.js +15 -0
  80. package/lib/module/classes/HMSIOSAudioMode.js.map +1 -1
  81. package/lib/module/classes/HMSLogAlarmManager.js +12 -0
  82. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
  83. package/lib/module/classes/HMSLogLevel.js +12 -0
  84. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  85. package/lib/module/classes/HMSLogSettings.js +14 -0
  86. package/lib/module/classes/HMSLogSettings.js.map +1 -1
  87. package/lib/module/classes/HMSNetworkQuality.js +11 -0
  88. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  89. package/lib/module/classes/HMSNoiseCancellationPlugin.js +40 -10
  90. package/lib/module/classes/HMSNoiseCancellationPlugin.js.map +1 -1
  91. package/lib/module/classes/HMSPIPConfig.js.map +1 -1
  92. package/lib/module/classes/HMSPIPListenerActions.js +9 -0
  93. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  94. package/lib/module/classes/HMSPeer.js +149 -0
  95. package/lib/module/classes/HMSPeer.js.map +1 -1
  96. package/lib/module/classes/HMSPeerType.js +12 -1
  97. package/lib/module/classes/HMSPeerType.js.map +1 -1
  98. package/lib/module/classes/HMSRTMPConfig.js +14 -0
  99. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  100. package/lib/module/classes/HMSRole.js +17 -0
  101. package/lib/module/classes/HMSRole.js.map +1 -1
  102. package/lib/module/classes/HMSRtmpVideoResolution.js +13 -0
  103. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  104. package/lib/module/classes/HMSSDK.js +1126 -248
  105. package/lib/module/classes/HMSSDK.js.map +1 -1
  106. package/lib/module/classes/HMSSessionStore.js +14 -15
  107. package/lib/module/classes/HMSSessionStore.js.map +1 -1
  108. package/lib/module/classes/HMSTrack.js +13 -0
  109. package/lib/module/classes/HMSTrack.js.map +1 -1
  110. package/lib/module/classes/HMSTrackSettings.js +10 -0
  111. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  112. package/lib/module/classes/HMSTrackSettingsInitState.js +9 -0
  113. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
  114. package/lib/module/classes/HMSTrackSource.js +10 -0
  115. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  116. package/lib/module/classes/HMSTrackType.js +7 -0
  117. package/lib/module/classes/HMSTrackType.js.map +1 -1
  118. package/lib/module/classes/HMSUpdateListenerActions.js +42 -3
  119. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  120. package/lib/module/classes/HMSVideoTrack.js +17 -0
  121. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  122. package/lib/module/classes/HMSVideoTrackSettings.js +12 -2
  123. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  124. package/lib/module/classes/HmsView.js +43 -0
  125. package/lib/module/classes/HmsView.js.map +1 -1
  126. package/lib/typescript/classes/HMSAudioDevice.d.ts +14 -0
  127. package/lib/typescript/classes/HMSAudioMixingMode.d.ts +11 -0
  128. package/lib/typescript/classes/HMSAudioTrack.d.ts +9 -0
  129. package/lib/typescript/classes/HMSCameraFacing.d.ts +11 -0
  130. package/lib/typescript/classes/HMSConfig.d.ts +27 -0
  131. package/lib/typescript/classes/HMSException.d.ts +18 -0
  132. package/lib/typescript/classes/HMSHLSTimedMetadata.d.ts +12 -0
  133. package/lib/typescript/classes/HMSIOSAudioMode.d.ts +15 -0
  134. package/lib/typescript/classes/HMSLogAlarmManager.d.ts +12 -0
  135. package/lib/typescript/classes/HMSLogLevel.d.ts +12 -0
  136. package/lib/typescript/classes/HMSLogSettings.d.ts +14 -0
  137. package/lib/typescript/classes/HMSNetworkQuality.d.ts +11 -0
  138. package/lib/typescript/classes/HMSNoiseCancellationPlugin.d.ts +36 -6
  139. package/lib/typescript/classes/HMSPIPConfig.d.ts +37 -0
  140. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +17 -0
  141. package/lib/typescript/classes/HMSPeer.d.ts +137 -0
  142. package/lib/typescript/classes/HMSPeerType.d.ts +11 -0
  143. package/lib/typescript/classes/HMSRTMPConfig.d.ts +14 -0
  144. package/lib/typescript/classes/HMSRole.d.ts +17 -0
  145. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +13 -0
  146. package/lib/typescript/classes/HMSSDK.d.ts +1080 -235
  147. package/lib/typescript/classes/HMSSessionStore.d.ts +14 -15
  148. package/lib/typescript/classes/HMSTrack.d.ts +13 -0
  149. package/lib/typescript/classes/HMSTrackSettings.d.ts +10 -0
  150. package/lib/typescript/classes/HMSTrackSettingsInitState.d.ts +11 -0
  151. package/lib/typescript/classes/HMSTrackSource.d.ts +10 -0
  152. package/lib/typescript/classes/HMSTrackType.d.ts +7 -0
  153. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +290 -4
  154. package/lib/typescript/classes/HMSVideoTrack.d.ts +17 -0
  155. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +12 -2
  156. package/lib/typescript/classes/HmsView.d.ts +16 -0
  157. package/package.json +1 -1
  158. package/sdk-versions.json +2 -2
  159. package/src/classes/HMSAudioDevice.ts +18 -0
  160. package/src/classes/HMSAudioMixingMode.ts +11 -0
  161. package/src/classes/HMSAudioTrack.ts +9 -0
  162. package/src/classes/HMSCameraFacing.ts +11 -0
  163. package/src/classes/HMSConfig.ts +27 -0
  164. package/src/classes/HMSException.ts +18 -0
  165. package/src/classes/HMSHLSTimedMetadata.ts +12 -0
  166. package/src/classes/HMSIOSAudioMode.ts +15 -0
  167. package/src/classes/HMSLogAlarmManager.ts +12 -0
  168. package/src/classes/HMSLogLevel.ts +12 -0
  169. package/src/classes/HMSLogSettings.ts +14 -0
  170. package/src/classes/HMSNetworkQuality.ts +11 -0
  171. package/src/classes/HMSNoiseCancellationPlugin.ts +41 -10
  172. package/src/classes/HMSPIPConfig.ts +25 -8
  173. package/src/classes/HMSPIPListenerActions.ts +18 -0
  174. package/src/classes/HMSPeer.ts +137 -0
  175. package/src/classes/HMSPeerType.ts +13 -2
  176. package/src/classes/HMSRTMPConfig.ts +14 -0
  177. package/src/classes/HMSRole.ts +17 -0
  178. package/src/classes/HMSRtmpVideoResolution.ts +13 -0
  179. package/src/classes/HMSSDK.tsx +1182 -277
  180. package/src/classes/HMSSessionStore.ts +14 -15
  181. package/src/classes/HMSTrack.ts +13 -0
  182. package/src/classes/HMSTrackSettings.ts +10 -0
  183. package/src/classes/HMSTrackSettingsInitState.ts +11 -0
  184. package/src/classes/HMSTrackSource.ts +10 -0
  185. package/src/classes/HMSTrackType.ts +7 -0
  186. package/src/classes/HMSUpdateListenerActions.ts +312 -3
  187. package/src/classes/HMSVideoTrack.ts +17 -0
  188. package/src/classes/HMSVideoTrackSettings.ts +12 -2
  189. package/src/classes/HmsView.tsx +39 -0
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <a href="https://100ms.live/">
2
- <img src="https://raw.githubusercontent.com/100mslive/react-native-hms/main/100ms.svg" title="100ms logo" float=center height=256>
2
+ <img src="https://raw.githubusercontent.com/100mslive/react-native-hms/main/100ms.svg" title="100ms logo" float=center height=256 alt="100ms logo">
3
3
  </a>
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@100mslive/react-native-hms)](https://www.npmjs.com/package/@100mslive/react-native-hms)
@@ -22,10 +22,11 @@ With support for HLS and RTMP Live Streaming and Recording, Picture-in-Picture (
22
22
 
23
23
  📖 Read the Complete Documentation here: https://www.100ms.live/docs/react-native/v2/foundation/basics
24
24
 
25
- | Package | Version |
26
- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
27
- | @100mslive/react-native-room-kit | [![npm](https://img.shields.io/npm/v/@100mslive/react-native-room-kit)](https://www.npmjs.com/package/@100mslive/react-native-room-kit) |
28
- | @100mslive/react-native-hms | [![npm](https://img.shields.io/npm/v/@100mslive/react-native-hms)](https://www.npmjs.com/package/@100mslive/react-native-hms) |
25
+ | Package | Version |
26
+ | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
27
+ | @100mslive/react-native-room-kit | [![npm](https://img.shields.io/npm/v/@100mslive/react-native-room-kit)](https://www.npmjs.com/package/@100mslive/react-native-room-kit) |
28
+ | @100mslive/react-native-hms | [![npm](https://img.shields.io/npm/v/@100mslive/react-native-hms)](https://www.npmjs.com/package/@100mslive/react-native-hms) |
29
+ | @100mslive/react-native-video-plugin | [![npm](https://img.shields.io/npm/v/@100mslive/react-native-video-plugin)](https://www.npmjs.com/package/@100mslive/react-native-video-plugin) |
29
30
 
30
31
  ## 🏃 Example App
31
32
 
@@ -1093,7 +1093,7 @@ class HMSManager(
1093
1093
  activity.setPictureInPictureParams(pipParams)
1094
1094
  return true
1095
1095
  } catch (e: Exception) {
1096
- throw e
1096
+ return false
1097
1097
  }
1098
1098
  }
1099
1099
 
@@ -1128,7 +1128,7 @@ class HMSManager(
1128
1128
 
1129
1129
  return activity.enterPictureInPictureMode(pipParams)
1130
1130
  } catch (e: Exception) {
1131
- throw e
1131
+ return false
1132
1132
  }
1133
1133
  }
1134
1134
 
@@ -1646,6 +1646,23 @@ class HMSManager(
1646
1646
  }
1647
1647
  // endregion
1648
1648
 
1649
+ @ReactMethod
1650
+ fun setPermissionsAccepted(
1651
+ data: ReadableMap,
1652
+ promise: Promise?,
1653
+ ) {
1654
+ val rnSDK =
1655
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1656
+ promise?.reject(
1657
+ "6004",
1658
+ "RN HMS SDK not initialized",
1659
+ )
1660
+ return
1661
+ }
1662
+ rnSDK.hmsSDK?.setPermissionsAccepted()
1663
+ promise?.resolve(null)
1664
+ }
1665
+
1649
1666
  // region Warning on JS side
1650
1667
  @ReactMethod
1651
1668
  fun addListener(eventName: String) {
@@ -87,6 +87,13 @@ class HMSRNSDK(
87
87
  }
88
88
  }
89
89
 
90
+ if (data?.hasKey("haltPreviewJoinForPermissionsRequest") == true) {
91
+ val halt = data?.getBoolean("haltPreviewJoinForPermissionsRequest")
92
+ if (halt != null) {
93
+ builder.haltPreviewJoinForPermissionsRequest(halt)
94
+ }
95
+ }
96
+
90
97
  this.hmsSDK = builder.build()
91
98
 
92
99
  hmsSDK?.let {
@@ -286,6 +293,17 @@ class HMSRNSDK(
286
293
  data.putArray("removedPeers", removedPeersArray)
287
294
  delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
288
295
  }
296
+
297
+ override fun onPermissionsRequested(permissions: List<String>) {
298
+ if (eventsEnableStatus["ON_PERMISSIONS_REQUESTED"] != true) {
299
+ return
300
+ }
301
+ val data: WritableMap = Arguments.createMap()
302
+
303
+ data.putArray("permissions", Arguments.fromList(permissions))
304
+ data.putString("id", id)
305
+ delegate.emitEvent("ON_PERMISSIONS_REQUESTED", data)
306
+ }
289
307
  },
290
308
  )
291
309
  } else {
@@ -557,6 +575,17 @@ class HMSRNSDK(
557
575
  data.putString("id", id)
558
576
  delegate.emitEvent("ON_TRANSCRIPTS", data)
559
577
  }
578
+
579
+ override fun onPermissionsRequested(permissions: List<String>) {
580
+ if (eventsEnableStatus["ON_PERMISSIONS_REQUESTED"] != true) {
581
+ return
582
+ }
583
+ val data: WritableMap = Arguments.createMap()
584
+
585
+ data.putArray("permissions", Arguments.fromList(permissions))
586
+ data.putString("id", id)
587
+ delegate.emitEvent("ON_PERMISSIONS_REQUESTED", data)
588
+ }
560
589
  },
561
590
  )
562
591
 
@@ -1440,6 +1469,7 @@ class HMSRNSDK(
1440
1469
 
1441
1470
  if (audioTrackId == trackId) {
1442
1471
  peer.audioTrack?.setVolume(volume)
1472
+ callback?.resolve(null)
1443
1473
  return
1444
1474
  }
1445
1475
 
@@ -1449,6 +1479,7 @@ class HMSRNSDK(
1449
1479
 
1450
1480
  if (trackExtracted != null) {
1451
1481
  trackExtracted.setVolume(volume)
1482
+ callback?.resolve(null)
1452
1483
  return
1453
1484
  }
1454
1485
  }
@@ -1721,7 +1752,7 @@ class HMSRNSDK(
1721
1752
  val audioDevice = data.getString("audioDevice")
1722
1753
  hmsSDK?.let {
1723
1754
  it.switchAudioOutput(HMSHelper.getAudioDevice(audioDevice))
1724
- callback?.resolve(true)
1755
+ callback?.resolve(null)
1725
1756
  }
1726
1757
  } else {
1727
1758
  val errorMessage = "switchAudioOutput: $requiredKeys"
@@ -1807,7 +1838,7 @@ class HMSRNSDK(
1807
1838
  override fun onSuccess() {
1808
1839
  isAudioSharing = false
1809
1840
  audioshareCallback = null
1810
- callback?.resolve(getPromiseResolveData())
1841
+ callback?.resolve(true)
1811
1842
  }
1812
1843
  },
1813
1844
  )
@@ -1825,7 +1856,7 @@ class HMSRNSDK(
1825
1856
  val mode = HMSHelper.getAudioMixingMode(data.getString("audioMixingMode"))
1826
1857
  audioMixingMode = mode
1827
1858
  hmsSDK?.setAudioMixingMode(mode)
1828
- callback?.resolve(getPromiseResolveData())
1859
+ callback?.resolve(true)
1829
1860
  } else {
1830
1861
  val errorMessage = "setAudioMixingMode: $requiredKeys"
1831
1862
  rejectCallback(callback, errorMessage)
@@ -7,6 +7,8 @@ import android.content.Intent
7
7
  import android.content.IntentFilter
8
8
  import android.os.Build
9
9
  import androidx.annotation.RequiresApi
10
+ import androidx.core.content.ContextCompat
11
+ import androidx.core.content.ContextCompat.RECEIVER_NOT_EXPORTED
10
12
 
11
13
  data class PIPAction(
12
14
  val title: String,
@@ -62,7 +64,7 @@ class PipActionReceiver(
62
64
 
63
65
  IntentFilter().also {
64
66
  it.addAction(PIP_INTENT_ACTION)
65
- activity.registerReceiver(this, it)
67
+ ContextCompat.registerReceiver(activity, this, it, RECEIVER_NOT_EXPORTED)
66
68
  }
67
69
  registered = true
68
70
  }
@@ -776,7 +776,7 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
776
776
 
777
777
  if remoteAudioTrack != nil {
778
778
  remoteAudioTrack?.setVolume(volume)
779
- resolve?(true)
779
+ resolve?(nil)
780
780
  } else {
781
781
  let errorMessage = "setVolume: No remote audio track not available"
782
782
  reject?(errorMessage, errorMessage, nil)
@@ -1537,7 +1537,7 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
1537
1537
  }
1538
1538
  }
1539
1539
  }
1540
-
1540
+
1541
1541
  if #available(iOS 15.0, *),
1542
1542
  useActiveSpeakerInPIP,
1543
1543
  let controller = pipController,
@@ -1545,7 +1545,7 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
1545
1545
  track.kind == .video,
1546
1546
  update == .trackRemoved,
1547
1547
  pipModel?.track == track {
1548
-
1548
+
1549
1549
  pipModel?.text = hms?.localPeer?.name
1550
1550
  pipModel?.track = nil
1551
1551
  }
@@ -1577,14 +1577,14 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
1577
1577
  }
1578
1578
 
1579
1579
  func on(updated speakers: [HMSSpeaker]) {
1580
-
1580
+
1581
1581
  if #available(iOS 15.0, *),
1582
1582
  useActiveSpeakerInPIP,
1583
1583
  let controller = pipController,
1584
1584
  controller.isPictureInPictureActive,
1585
1585
  let peer = speakers.first?.peer,
1586
1586
  let track = peer.videoTrack {
1587
-
1587
+
1588
1588
  if track.isMute() {
1589
1589
  pipModel?.text = peer.name
1590
1590
  pipModel?.track = nil
@@ -1605,7 +1605,7 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
1605
1605
  }
1606
1606
  }
1607
1607
  }
1608
-
1608
+
1609
1609
  if eventsEnableStatus[HMSConstants.ON_SPEAKER] != true {
1610
1610
  return
1611
1611
  }
@@ -2545,13 +2545,13 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
2545
2545
  self?.stopPIP(nil, nil)
2546
2546
  }
2547
2547
 
2548
- resolve?(nil)
2548
+ resolve?(true)
2549
2549
  }
2550
2550
 
2551
2551
  func enterPipMode(_ resolve: RCTPromiseResolveBlock?,
2552
2552
  _ reject: RCTPromiseRejectBlock?) {
2553
2553
  pipController?.startPictureInPicture()
2554
- resolve?(nil)
2554
+ resolve?(true)
2555
2555
  }
2556
2556
 
2557
2557
  func stopPIP(_ resolve: RCTPromiseResolveBlock?,
@@ -2578,6 +2578,11 @@ class HMSRNSDK: NSObject, HMSUpdateListener, HMSPreviewListener {
2578
2578
  }
2579
2579
  }
2580
2580
 
2581
+ /// Change the video track in PIP Mode
2582
+ /// - Parameters:
2583
+ /// - data: Data containing the trackId of the video track to be changed
2584
+ /// - resolve: Promise resolve block
2585
+ /// - reject: Promise reject block
2581
2586
  @available(iOS 15.0, *)
2582
2587
  func changeIOSPIPVideoTrack(_ data: NSDictionary,
2583
2588
  _ resolve: RCTPromiseResolveBlock?,
@@ -4,6 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HMSAudioDevice = void 0;
7
+ /**
8
+ * Enum for HMSAudioDevice types.
9
+ *
10
+ * This enum represents the different types of audio devices that can be used
11
+ * in the context of the HMS SDK. It provides a way to specify the preferred
12
+ * audio output device for audio playback.
13
+ *
14
+ * @enum {string}
15
+ */
7
16
  let HMSAudioDevice = exports.HMSAudioDevice = /*#__PURE__*/function (HMSAudioDevice) {
8
17
  HMSAudioDevice["SPEAKER_PHONE"] = "SPEAKER_PHONE";
9
18
  HMSAudioDevice["WIRED_HEADSET"] = "WIRED_HEADSET";
@@ -1 +1 @@
1
- {"version":3,"names":["HMSAudioDevice","exports"],"sources":["HMSAudioDevice.ts"],"sourcesContent":["export enum HMSAudioDevice {\n SPEAKER_PHONE = 'SPEAKER_PHONE',\n WIRED_HEADSET = 'WIRED_HEADSET',\n EARPIECE = 'EARPIECE',\n BLUETOOTH = 'BLUETOOTH',\n AUTOMATIC = 'AUTOMATIC',\n}\n"],"mappings":";;;;;;IAAYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSAudioDevice","exports"],"sources":["HMSAudioDevice.ts"],"sourcesContent":["/**\n * Enum for HMSAudioDevice types.\n *\n * This enum represents the different types of audio devices that can be used\n * in the context of the HMS SDK. It provides a way to specify the preferred\n * audio output device for audio playback.\n *\n * @enum {string}\n */\nexport enum HMSAudioDevice {\n /** Use the speakerphone for audio output. */\n SPEAKER_PHONE = 'SPEAKER_PHONE',\n\n /** Use a wired headset for audio output, if connected. */\n WIRED_HEADSET = 'WIRED_HEADSET',\n\n /** Use the earpiece for audio output. */\n EARPIECE = 'EARPIECE',\n\n /** Use a Bluetooth device for audio output, if connected. */\n BLUETOOTH = 'BLUETOOTH',\n\n /** Automatically select the best audio output device based on the current state. */\n AUTOMATIC = 'AUTOMATIC',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IASYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -4,6 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HMSAudioMixingMode = void 0;
7
+ /**
8
+ * Enum for HMS Audio Mixing Mode options.
9
+ *
10
+ * Defines the modes available for audio mixing in a session. These modes determine how audio tracks are mixed and played back.
11
+ *
12
+ * - `TALK_ONLY`: Only the talk (voice) track is active, suitable for sessions focusing on voice communication.
13
+ * - `TALK_AND_MUSIC`: Both talk and music tracks are active, allowing for background music with clear voice overlay.
14
+ * - `MUSIC_ONLY`: Only the music track is active, ideal for sessions focusing on music playback.
15
+ *
16
+ * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/set-up-video-conferencing/local-audio-share
17
+ */
7
18
  let HMSAudioMixingMode = exports.HMSAudioMixingMode = /*#__PURE__*/function (HMSAudioMixingMode) {
8
19
  HMSAudioMixingMode["TALK_ONLY"] = "TALK_ONLY";
9
20
  HMSAudioMixingMode["TALK_AND_MUSIC"] = "TALK_AND_MUSIC";
@@ -1 +1 @@
1
- {"version":3,"names":["HMSAudioMixingMode","exports"],"sources":["HMSAudioMixingMode.ts"],"sourcesContent":["export enum HMSAudioMixingMode {\n TALK_ONLY = 'TALK_ONLY',\n TALK_AND_MUSIC = 'TALK_AND_MUSIC',\n MUSIC_ONLY = 'MUSIC_ONLY',\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSAudioMixingMode","exports"],"sources":["HMSAudioMixingMode.ts"],"sourcesContent":["/**\n * Enum for HMS Audio Mixing Mode options.\n *\n * Defines the modes available for audio mixing in a session. These modes determine how audio tracks are mixed and played back.\n *\n * - `TALK_ONLY`: Only the talk (voice) track is active, suitable for sessions focusing on voice communication.\n * - `TALK_AND_MUSIC`: Both talk and music tracks are active, allowing for background music with clear voice overlay.\n * - `MUSIC_ONLY`: Only the music track is active, ideal for sessions focusing on music playback.\n *\n * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/set-up-video-conferencing/local-audio-share\n */\nexport enum HMSAudioMixingMode {\n TALK_ONLY = 'TALK_ONLY',\n TALK_AND_MUSIC = 'TALK_AND_MUSIC',\n MUSIC_ONLY = 'MUSIC_ONLY',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAWYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
@@ -5,6 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.HMSAudioTrack = void 0;
7
7
  var _HMSTrack = require("./HMSTrack");
8
+ /**
9
+ * Represents an audio track within the HMS (100ms) system.
10
+ *
11
+ * This class extends `HMSTrack` to provide functionalities specific to audio tracks. It includes a constructor
12
+ * that allows for the initialization of the audio track with various parameters such as track ID, source, description,
13
+ * mute state, ID, and type. These parameters provide detailed information about the audio track and its characteristics.
14
+ *
15
+ * @extends HMSTrack
16
+ */
8
17
  class HMSAudioTrack extends _HMSTrack.HMSTrack {
9
18
  constructor(params) {
10
19
  if (params) {
@@ -1 +1 @@
1
- {"version":3,"names":["_HMSTrack","require","HMSAudioTrack","HMSTrack","constructor","params","exports"],"sources":["HMSAudioTrack.ts"],"sourcesContent":["import { HMSTrack } from './HMSTrack';\nimport type { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSTrackType } from './HMSTrackType';\n\nexport class HMSAudioTrack extends HMSTrack {\n constructor(params?: {\n trackId: string;\n source?: HMSTrackSource;\n trackDescription?: string;\n isMute?: boolean;\n id: string;\n type?: HMSTrackType;\n }) {\n if (params) {\n super(params);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAIO,MAAMC,aAAa,SAASC,kBAAQ,CAAC;EAC1CC,WAAWA,CAACC,MAOX,EAAE;IACD,IAAIA,MAAM,EAAE;MACV,KAAK,CAACA,MAAM,CAAC;IACf;EACF;AACF;AAACC,OAAA,CAAAJ,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_HMSTrack","require","HMSAudioTrack","HMSTrack","constructor","params","exports"],"sources":["HMSAudioTrack.ts"],"sourcesContent":["import { HMSTrack } from './HMSTrack';\nimport type { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSTrackType } from './HMSTrackType';\n\n/**\n * Represents an audio track within the HMS (100ms) system.\n *\n * This class extends `HMSTrack` to provide functionalities specific to audio tracks. It includes a constructor\n * that allows for the initialization of the audio track with various parameters such as track ID, source, description,\n * mute state, ID, and type. These parameters provide detailed information about the audio track and its characteristics.\n *\n * @extends HMSTrack\n */\nexport class HMSAudioTrack extends HMSTrack {\n constructor(params?: {\n trackId: string;\n source?: HMSTrackSource;\n trackDescription?: string;\n isMute?: boolean;\n id: string;\n type?: HMSTrackType;\n }) {\n if (params) {\n super(params);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,SAASC,kBAAQ,CAAC;EAC1CC,WAAWA,CAACC,MAOX,EAAE;IACD,IAAIA,MAAM,EAAE;MACV,KAAK,CAACA,MAAM,CAAC;IACf;EACF;AACF;AAACC,OAAA,CAAAJ,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -4,6 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HMSCameraFacing = void 0;
7
+ /**
8
+ * Enum for camera facing directions in a 100ms (HMS) application.
9
+ *
10
+ * This enumeration defines the possible camera facing options for video tracks in a 100ms (HMS) application, allowing developers to specify whether the front or back camera should be used during a video session.
11
+ * This can be particularly useful for applications that need to switch between cameras or provide users with the option to choose their preferred camera.
12
+ *
13
+ * @enum {string}
14
+ * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/set-up-video-conferencing/mute#switch-camera
15
+ */
7
16
  let HMSCameraFacing = exports.HMSCameraFacing = /*#__PURE__*/function (HMSCameraFacing) {
8
17
  HMSCameraFacing["FRONT"] = "FRONT";
9
18
  HMSCameraFacing["BACK"] = "BACK";
@@ -1 +1 @@
1
- {"version":3,"names":["HMSCameraFacing","exports"],"sources":["HMSCameraFacing.ts"],"sourcesContent":["export enum HMSCameraFacing {\n FRONT = 'FRONT',\n BACK = 'BACK',\n}\n"],"mappings":";;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSCameraFacing","exports"],"sources":["HMSCameraFacing.ts"],"sourcesContent":["/**\n * Enum for camera facing directions in a 100ms (HMS) application.\n *\n * This enumeration defines the possible camera facing options for video tracks in a 100ms (HMS) application, allowing developers to specify whether the front or back camera should be used during a video session.\n * This can be particularly useful for applications that need to switch between cameras or provide users with the option to choose their preferred camera.\n *\n * @enum {string}\n * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/set-up-video-conferencing/mute#switch-camera\n */\nexport enum HMSCameraFacing {\n /** Represents the front camera on a device. */\n FRONT = 'FRONT',\n /** Represents the back camera on a device. */\n BACK = 'BACK',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IASYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -7,6 +7,33 @@ exports.HMSConfig = void 0;
7
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ /**
11
+ * Represents the configuration needed to join a room in the HMS ecosystem.
12
+ *
13
+ * This class encapsulates all necessary details required to initiate a connection to a room, including user identification,
14
+ * authentication token, optional endpoint for different server connections, metadata for additional information about the connection,
15
+ * and a flag to capture network quality during the preview phase.
16
+ *
17
+ *
18
+ * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/set-up-video-conferencing/join
19
+ *
20
+ * @param {Object} params - The configuration parameters.
21
+ * @param {string} params.username - The username of the participant.
22
+ * @param {string} params.authToken - The authentication token for room access.
23
+ * @param {string} [params.endpoint] - Optional. The endpoint URL for the connection.
24
+ * @param {string} [params.metadata] - Optional. Additional metadata associated with the Local Peer.
25
+ * @param {boolean} [params.captureNetworkQualityInPreview] - Optional. Flag to capture network quality in the preview phase.
26
+ * @constructor
27
+ *
28
+ * @example
29
+ * const config = new HMSConfig({
30
+ * username: 'username',
31
+ * authToken: 'authToken',
32
+ * metadata: 'metadata',
33
+ * captureNetworkQualityInPreview: true,
34
+ * });
35
+ *
36
+ */
10
37
  class HMSConfig {
11
38
  constructor(params) {
12
39
  _defineProperty(this, "username", void 0);
@@ -1 +1 @@
1
- {"version":3,"names":["HMSConfig","constructor","params","_defineProperty","username","authToken","endpoint","metadata","captureNetworkQualityInPreview","exports"],"sources":["HMSConfig.ts"],"sourcesContent":["export class HMSConfig {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n\n constructor(params: {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n }) {\n this.username = params.username;\n this.authToken = params.authToken;\n this.endpoint = params.endpoint;\n this.metadata = params.metadata;\n this.captureNetworkQualityInPreview = params.captureNetworkQualityInPreview;\n }\n}\n"],"mappings":";;;;;;;;;AAAO,MAAMA,SAAS,CAAC;EAOrBC,WAAWA,CAACC,MAMX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,SAAS,GAAGH,MAAM,CAACG,SAAS;IACjC,IAAI,CAACC,QAAQ,GAAGJ,MAAM,CAACI,QAAQ;IAC/B,IAAI,CAACC,QAAQ,GAAGL,MAAM,CAACK,QAAQ;IAC/B,IAAI,CAACC,8BAA8B,GAAGN,MAAM,CAACM,8BAA8B;EAC7E;AACF;AAACC,OAAA,CAAAT,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSConfig","constructor","params","_defineProperty","username","authToken","endpoint","metadata","captureNetworkQualityInPreview","exports"],"sources":["HMSConfig.ts"],"sourcesContent":["/**\n * Represents the configuration needed to join a room in the HMS ecosystem.\n *\n * This class encapsulates all necessary details required to initiate a connection to a room, including user identification,\n * authentication token, optional endpoint for different server connections, metadata for additional information about the connection,\n * and a flag to capture network quality during the preview phase.\n *\n *\n * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/set-up-video-conferencing/join\n *\n * @param {Object} params - The configuration parameters.\n * @param {string} params.username - The username of the participant.\n * @param {string} params.authToken - The authentication token for room access.\n * @param {string} [params.endpoint] - Optional. The endpoint URL for the connection.\n * @param {string} [params.metadata] - Optional. Additional metadata associated with the Local Peer.\n * @param {boolean} [params.captureNetworkQualityInPreview] - Optional. Flag to capture network quality in the preview phase.\n * @constructor\n *\n * @example\n * const config = new HMSConfig({\n * username: 'username',\n * authToken: 'authToken',\n * metadata: 'metadata',\n * captureNetworkQualityInPreview: true,\n * });\n *\n */\nexport class HMSConfig {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n\n constructor(params: {\n username: string;\n authToken: string;\n endpoint?: string;\n metadata?: string;\n captureNetworkQualityInPreview?: boolean;\n }) {\n this.username = params.username;\n this.authToken = params.authToken;\n this.endpoint = params.endpoint;\n this.metadata = params.metadata;\n this.captureNetworkQualityInPreview = params.captureNetworkQualityInPreview;\n }\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,SAAS,CAAC;EAOrBC,WAAWA,CAACC,MAMX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,SAAS,GAAGH,MAAM,CAACG,SAAS;IACjC,IAAI,CAACC,QAAQ,GAAGJ,MAAM,CAACI,QAAQ;IAC/B,IAAI,CAACC,QAAQ,GAAGL,MAAM,CAACK,QAAQ;IAC/B,IAAI,CAACC,8BAA8B,GAAGN,MAAM,CAACM,8BAA8B;EAC7E;AACF;AAACC,OAAA,CAAAT,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -7,6 +7,24 @@ exports.HMSException = void 0;
7
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ /**
11
+ * Represents an exception specific to the HMS SDK in a React Native context.
12
+ *
13
+ * This class encapsulates detailed information about errors that can occur while interacting with the HMS SDK.
14
+ * It includes a numeric code to identify the type of error, a human-readable description, and optionally,
15
+ * a message, name, and action that are primarily available on Android. Additionally, it indicates whether
16
+ * the error is terminal (i.e., cannot be recovered from) and whether a retry might be possible.
17
+ *
18
+ * @class HMSException
19
+ * @property {number} code - Numeric error code representing the type of error.
20
+ * @property {string} description - A brief, human-readable description of the error.
21
+ * @property {string} [message] - Additional message information about the error (Android only).
22
+ * @property {string} [name] - The name of the error (Android only).
23
+ * @property {string} [action] - The action during which the error occurred (Android only).
24
+ * @property {boolean} isTerminal - Indicates whether the error is terminal.
25
+ * @property {boolean} [canRetry] - Indicates whether the operation that caused the error can be retried (Android only).
26
+ *
27
+ */
10
28
  class HMSException {
11
29
  // `canRetry` is available only on Android
12
30
 
@@ -1 +1 @@
1
- {"version":3,"names":["HMSException","constructor","params","_defineProperty","code","description","message","name","action","isTerminal","canRetry","exports"],"sources":["HMSException.ts"],"sourcesContent":["export class HMSException {\n code: number;\n description: string;\n message?: string; // `message` is available only on Android\n name?: string; // `name` is available only on Android\n action?: string; // `action` is available only on Android\n isTerminal: boolean;\n canRetry?: boolean; // `canRetry` is available only on Android\n\n constructor(params: {\n code: number;\n description: string;\n message?: string;\n name?: string;\n action?: string;\n isTerminal: boolean;\n canRetry?: boolean;\n }) {\n this.code = params.code;\n this.description = params.description;\n this.message = params.message;\n this.name = params.name;\n this.action = params.action;\n this.isTerminal = params.isTerminal;\n this.canRetry = params.canRetry;\n }\n}\n"],"mappings":";;;;;;;;;AAAO,MAAMA,YAAY,CAAC;EAOJ;;EAEpBC,WAAWA,CAACC,MAQX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAde;IAAAA,eAAA;IACH;IAAAA,eAAA;IACE;IAAAA,eAAA;IAAAA,eAAA;IAaf,IAAI,CAACC,IAAI,GAAGF,MAAM,CAACE,IAAI;IACvB,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACG,WAAW;IACrC,IAAI,CAACC,OAAO,GAAGJ,MAAM,CAACI,OAAO;IAC7B,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;IACvB,IAAI,CAACC,MAAM,GAAGN,MAAM,CAACM,MAAM;IAC3B,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IACnC,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ;EACjC;AACF;AAACC,OAAA,CAAAX,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSException","constructor","params","_defineProperty","code","description","message","name","action","isTerminal","canRetry","exports"],"sources":["HMSException.ts"],"sourcesContent":["/**\n * Represents an exception specific to the HMS SDK in a React Native context.\n *\n * This class encapsulates detailed information about errors that can occur while interacting with the HMS SDK.\n * It includes a numeric code to identify the type of error, a human-readable description, and optionally,\n * a message, name, and action that are primarily available on Android. Additionally, it indicates whether\n * the error is terminal (i.e., cannot be recovered from) and whether a retry might be possible.\n *\n * @class HMSException\n * @property {number} code - Numeric error code representing the type of error.\n * @property {string} description - A brief, human-readable description of the error.\n * @property {string} [message] - Additional message information about the error (Android only).\n * @property {string} [name] - The name of the error (Android only).\n * @property {string} [action] - The action during which the error occurred (Android only).\n * @property {boolean} isTerminal - Indicates whether the error is terminal.\n * @property {boolean} [canRetry] - Indicates whether the operation that caused the error can be retried (Android only).\n *\n */\nexport class HMSException {\n code: number;\n description: string;\n message?: string; // `message` is available only on Android\n name?: string; // `name` is available only on Android\n action?: string; // `action` is available only on Android\n isTerminal: boolean;\n canRetry?: boolean; // `canRetry` is available only on Android\n\n constructor(params: {\n code: number;\n description: string;\n message?: string;\n name?: string;\n action?: string;\n isTerminal: boolean;\n canRetry?: boolean;\n }) {\n this.code = params.code;\n this.description = params.description;\n this.message = params.message;\n this.name = params.name;\n this.action = params.action;\n this.isTerminal = params.isTerminal;\n this.canRetry = params.canRetry;\n }\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,YAAY,CAAC;EAOJ;;EAEpBC,WAAWA,CAACC,MAQX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAde;IAAAA,eAAA;IACH;IAAAA,eAAA;IACE;IAAAA,eAAA;IAAAA,eAAA;IAaf,IAAI,CAACC,IAAI,GAAGF,MAAM,CAACE,IAAI;IACvB,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACG,WAAW;IACrC,IAAI,CAACC,OAAO,GAAGJ,MAAM,CAACI,OAAO;IAC7B,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;IACvB,IAAI,CAACC,MAAM,GAAGN,MAAM,CAACM,MAAM;IAC3B,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IACnC,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ;EACjC;AACF;AAACC,OAAA,CAAAX,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["HMSHLSTimedMetadata.ts"],"sourcesContent":["export interface HMSHLSTimedMetadata {\n payload: string;\n duration: number;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["HMSHLSTimedMetadata.ts"],"sourcesContent":["/**\n * Defines the structure for HLS (HTTP Live Streaming) timed metadata.\n *\n * This interface is used to represent metadata that can be synchronized with HLS video playback.\n * The metadata includes a payload, which is the content of the metadata, and a duration, specifying how long (in seconds)\n * the metadata should be displayed during the stream.\n * This can be used for a variety of purposes such as displaying song titles, advertisements, or other relevant information at specific times during the stream.\n *\n * @interface HMSHLSTimedMetadata\n * @property {string} payload - The content of the metadata to be displayed.\n * @property {number} duration - The duration (in seconds) for which the metadata should be displayed.\n */\nexport interface HMSHLSTimedMetadata {\n payload: string;\n duration: number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -4,6 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HMSIOSAudioMode = void 0;
7
+ /**
8
+ * Enum for specifying the audio mode in an iOS environment within a 100ms (HMS) application.
9
+ *
10
+ * This enumeration provides options to configure the audio mode for an iOS application using the 100ms (HMS) SDK.
11
+ * It allows for the selection between `voice` and `music` modes, catering to different use cases such as
12
+ * prioritizing voice clarity or enhancing music quality during a session.
13
+ *
14
+ * @enum {string}
15
+ * @property {string} VOICE - Configures the audio session for optimized voice communication.
16
+ * This mode enhances voice clarity, making it suitable for calls or conferences.
17
+ * @property {string} MUSIC - Configures the audio session for music playback.
18
+ * This mode enhances music fidelity, making it suitable for streams or recordings that prioritize music quality.
19
+ *
20
+ * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/configure-your-device/microphone/music-mode
21
+ */
7
22
  let HMSIOSAudioMode = exports.HMSIOSAudioMode = /*#__PURE__*/function (HMSIOSAudioMode) {
8
23
  HMSIOSAudioMode["VOICE"] = "voice";
9
24
  HMSIOSAudioMode["MUSIC"] = "music";
@@ -1 +1 @@
1
- {"version":3,"names":["HMSIOSAudioMode","exports"],"sources":["HMSIOSAudioMode.ts"],"sourcesContent":["export enum HMSIOSAudioMode {\n VOICE = 'voice',\n MUSIC = 'music',\n}\n"],"mappings":";;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSIOSAudioMode","exports"],"sources":["HMSIOSAudioMode.ts"],"sourcesContent":["/**\n * Enum for specifying the audio mode in an iOS environment within a 100ms (HMS) application.\n *\n * This enumeration provides options to configure the audio mode for an iOS application using the 100ms (HMS) SDK.\n * It allows for the selection between `voice` and `music` modes, catering to different use cases such as\n * prioritizing voice clarity or enhancing music quality during a session.\n *\n * @enum {string}\n * @property {string} VOICE - Configures the audio session for optimized voice communication.\n * This mode enhances voice clarity, making it suitable for calls or conferences.\n * @property {string} MUSIC - Configures the audio session for music playback.\n * This mode enhances music fidelity, making it suitable for streams or recordings that prioritize music quality.\n *\n * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/configure-your-device/microphone/music-mode\n */\nexport enum HMSIOSAudioMode {\n VOICE = 'voice',\n MUSIC = 'music',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,IAeYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -4,6 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HMSLogAlarmManager = void 0;
7
+ /**
8
+ * Enumeration for managing log alarm settings in HMS SDK for React Native applications. Android only.
9
+ *
10
+ * This enumeration defines constants used to configure the alarm manager for log files in the HMS SDK.
11
+ * It includes settings for the default directory size, default log file name, and maximum directory size,
12
+ * allowing for detailed control over how log files are managed and stored.
13
+ *
14
+ * @enum {string}
15
+ * @property {string} DEFAULT_DIR_SIZE - Represents the default size for the log directory.
16
+ * @property {string} DEFAULT_LOGS_FILE_NAME - Represents the default name for log files.
17
+ * @property {string} MAX_DIR_SIZE - Represents the maximum size for the log directory.
18
+ */
7
19
  let HMSLogAlarmManager = exports.HMSLogAlarmManager = /*#__PURE__*/function (HMSLogAlarmManager) {
8
20
  HMSLogAlarmManager["DEFAULT_DIR_SIZE"] = "DEFAULT_DIR_SIZE";
9
21
  HMSLogAlarmManager["DEFAULT_LOGS_FILE_NAME"] = "DEFAULT_LOGS_FILE_NAME";
@@ -1 +1 @@
1
- {"version":3,"names":["HMSLogAlarmManager","exports"],"sources":["HMSLogAlarmManager.ts"],"sourcesContent":["export enum HMSLogAlarmManager {\n DEFAULT_DIR_SIZE = 'DEFAULT_DIR_SIZE',\n DEFAULT_LOGS_FILE_NAME = 'DEFAULT_LOGS_FILE_NAME',\n MAX_DIR_SIZE = 'MAX_DIR_SIZE',\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSLogAlarmManager","exports"],"sources":["HMSLogAlarmManager.ts"],"sourcesContent":["/**\n * Enumeration for managing log alarm settings in HMS SDK for React Native applications. Android only.\n *\n * This enumeration defines constants used to configure the alarm manager for log files in the HMS SDK.\n * It includes settings for the default directory size, default log file name, and maximum directory size,\n * allowing for detailed control over how log files are managed and stored.\n *\n * @enum {string}\n * @property {string} DEFAULT_DIR_SIZE - Represents the default size for the log directory.\n * @property {string} DEFAULT_LOGS_FILE_NAME - Represents the default name for log files.\n * @property {string} MAX_DIR_SIZE - Represents the maximum size for the log directory.\n */\nexport enum HMSLogAlarmManager {\n DEFAULT_DIR_SIZE = 'DEFAULT_DIR_SIZE',\n DEFAULT_LOGS_FILE_NAME = 'DEFAULT_LOGS_FILE_NAME',\n MAX_DIR_SIZE = 'MAX_DIR_SIZE',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA,IAYYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
@@ -4,6 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HMSLogLevel = void 0;
7
+ /**
8
+ * Enumeration for defining log levels in the HMS SDK for React Native applications.
9
+ *
10
+ * This enumeration provides a set of predefined log levels that can be used to control the verbosity of logging
11
+ * within the HMS SDK. It allows developers to specify how much detail they want in their logs, which can be
12
+ * helpful for debugging or monitoring the application's behavior.
13
+ *
14
+ * @enum {string}
15
+ * @property {string} VERBOSE - Represents the most verbose log level, including detailed debug information.
16
+ * @property {string} WARNING - Represents a log level for warning messages that might indicate potential issues.
17
+ * @property {string} ERROR - Represents a log level for error messages indicating failures that need attention.
18
+ */
7
19
  let HMSLogLevel = exports.HMSLogLevel = /*#__PURE__*/function (HMSLogLevel) {
8
20
  HMSLogLevel["VERBOSE"] = "VERBOSE";
9
21
  HMSLogLevel["WARNING"] = "WARNING";
@@ -1 +1 @@
1
- {"version":3,"names":["HMSLogLevel","exports"],"sources":["HMSLogLevel.ts"],"sourcesContent":["export enum HMSLogLevel {\n VERBOSE = 'VERBOSE',\n WARNING = 'WARNING',\n ERROR = 'ERROR',\n}\n"],"mappings":";;;;;;IAAYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSLogLevel","exports"],"sources":["HMSLogLevel.ts"],"sourcesContent":["/**\n * Enumeration for defining log levels in the HMS SDK for React Native applications.\n *\n * This enumeration provides a set of predefined log levels that can be used to control the verbosity of logging\n * within the HMS SDK. It allows developers to specify how much detail they want in their logs, which can be\n * helpful for debugging or monitoring the application's behavior.\n *\n * @enum {string}\n * @property {string} VERBOSE - Represents the most verbose log level, including detailed debug information.\n * @property {string} WARNING - Represents a log level for warning messages that might indicate potential issues.\n * @property {string} ERROR - Represents a log level for error messages indicating failures that need attention.\n */\nexport enum HMSLogLevel {\n VERBOSE = 'VERBOSE',\n WARNING = 'WARNING',\n ERROR = 'ERROR',\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA,IAYYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
@@ -7,6 +7,20 @@ exports.HMSLogSettings = void 0;
7
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ /**
11
+ * Represents the logging settings for the HMS SDK.
12
+ *
13
+ * This class encapsulates the settings related to logging within the HMS SDK, including the log level,
14
+ * whether log storage is enabled, and the maximum directory size for log storage.
15
+ * It is used to configure how logs are handled by the SDK, allowing for customization of log verbosity and storage requirements.
16
+ *
17
+ * @class HMSLogSettings
18
+ * @property {HMSLogLevel} level - The log level setting, determining the verbosity of the logs.
19
+ * @property {boolean} isLogStorageEnabled - Flag indicating whether log storage is enabled. Android only.
20
+ * @property {HMSLogAlarmManager} maxDirSizeInBytes - The maximum size of the log directory in bytes, managed by an instance of HMSLogAlarmManager. Android only.
21
+ *
22
+ * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/debugging/logger
23
+ */
10
24
  class HMSLogSettings {
11
25
  constructor(params) {
12
26
  _defineProperty(this, "level", void 0);
@@ -1 +1 @@
1
- {"version":3,"names":["HMSLogSettings","constructor","params","_defineProperty","level","isLogStorageEnabled","maxDirSizeInBytes","exports"],"sources":["HMSLogSettings.ts"],"sourcesContent":["import type { HMSLogAlarmManager } from './HMSLogAlarmManager';\nimport type { HMSLogLevel } from './HMSLogLevel';\n\nexport class HMSLogSettings {\n level: HMSLogLevel;\n isLogStorageEnabled: boolean;\n maxDirSizeInBytes: HMSLogAlarmManager;\n\n constructor(params: {\n level: HMSLogLevel;\n isLogStorageEnabled: boolean;\n maxDirSizeInBytes: HMSLogAlarmManager;\n }) {\n this.level = params.level;\n this.isLogStorageEnabled = params.isLogStorageEnabled;\n this.maxDirSizeInBytes = params.maxDirSizeInBytes;\n }\n}\n"],"mappings":";;;;;;;;;AAGO,MAAMA,cAAc,CAAC;EAK1BC,WAAWA,CAACC,MAIX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAI,CAACC,KAAK,GAAGF,MAAM,CAACE,KAAK;IACzB,IAAI,CAACC,mBAAmB,GAAGH,MAAM,CAACG,mBAAmB;IACrD,IAAI,CAACC,iBAAiB,GAAGJ,MAAM,CAACI,iBAAiB;EACnD;AACF;AAACC,OAAA,CAAAP,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSLogSettings","constructor","params","_defineProperty","level","isLogStorageEnabled","maxDirSizeInBytes","exports"],"sources":["HMSLogSettings.ts"],"sourcesContent":["import type { HMSLogAlarmManager } from './HMSLogAlarmManager';\nimport type { HMSLogLevel } from './HMSLogLevel';\n\n/**\n * Represents the logging settings for the HMS SDK.\n *\n * This class encapsulates the settings related to logging within the HMS SDK, including the log level,\n * whether log storage is enabled, and the maximum directory size for log storage.\n * It is used to configure how logs are handled by the SDK, allowing for customization of log verbosity and storage requirements.\n *\n * @class HMSLogSettings\n * @property {HMSLogLevel} level - The log level setting, determining the verbosity of the logs.\n * @property {boolean} isLogStorageEnabled - Flag indicating whether log storage is enabled. Android only.\n * @property {HMSLogAlarmManager} maxDirSizeInBytes - The maximum size of the log directory in bytes, managed by an instance of HMSLogAlarmManager. Android only.\n *\n * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/debugging/logger\n */\nexport class HMSLogSettings {\n level: HMSLogLevel;\n isLogStorageEnabled: boolean;\n maxDirSizeInBytes: HMSLogAlarmManager;\n\n constructor(params: {\n level: HMSLogLevel;\n isLogStorageEnabled: boolean;\n maxDirSizeInBytes: HMSLogAlarmManager;\n }) {\n this.level = params.level;\n this.isLogStorageEnabled = params.isLogStorageEnabled;\n this.maxDirSizeInBytes = params.maxDirSizeInBytes;\n }\n}\n"],"mappings":";;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,cAAc,CAAC;EAK1BC,WAAWA,CAACC,MAIX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAI,CAACC,KAAK,GAAGF,MAAM,CAACE,KAAK;IACzB,IAAI,CAACC,mBAAmB,GAAGH,MAAM,CAACG,mBAAmB;IACrD,IAAI,CAACC,iBAAiB,GAAGJ,MAAM,CAACI,iBAAiB;EACnD;AACF;AAACC,OAAA,CAAAP,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -7,6 +7,17 @@ exports.HMSNetworkQuality = void 0;
7
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ /**
11
+ * Represents the network quality of a connection in the HMS (100ms) system.
12
+ *
13
+ * This class encapsulates the network quality information, specifically focusing on the downlink quality of the connection.
14
+ * The downlink quality is represented as a numerical value, providing a quantifiable measure of the receiving end's network performance.
15
+ *
16
+ * @param {Object} params - The constructor parameters.
17
+ * @param {number} params.downlinkQuality - The downlink quality of the network connection.
18
+ *
19
+ * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/measure-network-quality-and-performance/network-quality
20
+ */
10
21
  class HMSNetworkQuality {
11
22
  constructor(params) {
12
23
  _defineProperty(this, "downlinkQuality", void 0);
@@ -1 +1 @@
1
- {"version":3,"names":["HMSNetworkQuality","constructor","params","_defineProperty","downlinkQuality","exports"],"sources":["HMSNetworkQuality.ts"],"sourcesContent":["export class HMSNetworkQuality {\n downlinkQuality: number;\n\n constructor(params: { downlinkQuality: number }) {\n this.downlinkQuality = params.downlinkQuality;\n }\n}\n"],"mappings":";;;;;;;;;AAAO,MAAMA,iBAAiB,CAAC;EAG7BC,WAAWA,CAACC,MAAmC,EAAE;IAAAC,eAAA;IAC/C,IAAI,CAACC,eAAe,GAAGF,MAAM,CAACE,eAAe;EAC/C;AACF;AAACC,OAAA,CAAAL,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["HMSNetworkQuality","constructor","params","_defineProperty","downlinkQuality","exports"],"sources":["HMSNetworkQuality.ts"],"sourcesContent":["/**\n * Represents the network quality of a connection in the HMS (100ms) system.\n *\n * This class encapsulates the network quality information, specifically focusing on the downlink quality of the connection.\n * The downlink quality is represented as a numerical value, providing a quantifiable measure of the receiving end's network performance.\n *\n * @param {Object} params - The constructor parameters.\n * @param {number} params.downlinkQuality - The downlink quality of the network connection.\n *\n * @see https://www.100ms.live/docs/react-native/v2/how-to-guides/measure-network-quality-and-performance/network-quality\n */\nexport class HMSNetworkQuality {\n downlinkQuality: number;\n\n constructor(params: { downlinkQuality: number }) {\n this.downlinkQuality = params.downlinkQuality;\n }\n}\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,iBAAiB,CAAC;EAG7BC,WAAWA,CAACC,MAAmC,EAAE;IAAAC,eAAA;IAC/C,IAAI,CAACC,eAAe,GAAGF,MAAM,CAACE,eAAe;EAC/C;AACF;AAACC,OAAA,CAAAL,iBAAA,GAAAA,iBAAA","ignoreList":[]}