@abrar71/lib-jitsi-meet 0.0.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 (350) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +26 -0
  3. package/dist/esm/JitsiConference.js +3692 -0
  4. package/dist/esm/JitsiConference.js.map +1 -0
  5. package/dist/esm/JitsiConferenceErrors.js +126 -0
  6. package/dist/esm/JitsiConferenceErrors.js.map +1 -0
  7. package/dist/esm/JitsiConferenceEventManager.js +424 -0
  8. package/dist/esm/JitsiConferenceEventManager.js.map +1 -0
  9. package/dist/esm/JitsiConferenceEvents.js +431 -0
  10. package/dist/esm/JitsiConferenceEvents.js.map +1 -0
  11. package/dist/esm/JitsiConnection.js +187 -0
  12. package/dist/esm/JitsiConnection.js.map +1 -0
  13. package/dist/esm/JitsiConnectionErrors.js +52 -0
  14. package/dist/esm/JitsiConnectionErrors.js.map +1 -0
  15. package/dist/esm/JitsiConnectionEvents.js +57 -0
  16. package/dist/esm/JitsiConnectionEvents.js.map +1 -0
  17. package/dist/esm/JitsiMediaDevices.js +221 -0
  18. package/dist/esm/JitsiMediaDevices.js.map +1 -0
  19. package/dist/esm/JitsiMediaDevicesEvents.js +29 -0
  20. package/dist/esm/JitsiMediaDevicesEvents.js.map +1 -0
  21. package/dist/esm/JitsiMeetJS.js +499 -0
  22. package/dist/esm/JitsiMeetJS.js.map +1 -0
  23. package/dist/esm/JitsiParticipant.js +323 -0
  24. package/dist/esm/JitsiParticipant.js.map +1 -0
  25. package/dist/esm/JitsiTrackError.js +122 -0
  26. package/dist/esm/JitsiTrackError.js.map +1 -0
  27. package/dist/esm/JitsiTrackErrors.js +91 -0
  28. package/dist/esm/JitsiTrackErrors.js.map +1 -0
  29. package/dist/esm/JitsiTrackEvents.js +60 -0
  30. package/dist/esm/JitsiTrackEvents.js.map +1 -0
  31. package/dist/esm/JitsiTranscriptionStatus.js +15 -0
  32. package/dist/esm/JitsiTranscriptionStatus.js.map +1 -0
  33. package/dist/esm/modules/RTC/BridgeChannel.js +398 -0
  34. package/dist/esm/modules/RTC/BridgeChannel.js.map +1 -0
  35. package/dist/esm/modules/RTC/JitsiLocalTrack.js +896 -0
  36. package/dist/esm/modules/RTC/JitsiLocalTrack.js.map +1 -0
  37. package/dist/esm/modules/RTC/JitsiRemoteTrack.js +427 -0
  38. package/dist/esm/modules/RTC/JitsiRemoteTrack.js.map +1 -0
  39. package/dist/esm/modules/RTC/JitsiTrack.js +453 -0
  40. package/dist/esm/modules/RTC/JitsiTrack.js.map +1 -0
  41. package/dist/esm/modules/RTC/MockClasses.js +388 -0
  42. package/dist/esm/modules/RTC/MockClasses.js.map +1 -0
  43. package/dist/esm/modules/RTC/RTC.js +658 -0
  44. package/dist/esm/modules/RTC/RTC.js.map +1 -0
  45. package/dist/esm/modules/RTC/RTCUtils.js +762 -0
  46. package/dist/esm/modules/RTC/RTCUtils.js.map +1 -0
  47. package/dist/esm/modules/RTC/ScreenObtainer.js +380 -0
  48. package/dist/esm/modules/RTC/ScreenObtainer.js.map +1 -0
  49. package/dist/esm/modules/RTC/TPCUtils.js +803 -0
  50. package/dist/esm/modules/RTC/TPCUtils.js.map +1 -0
  51. package/dist/esm/modules/RTC/TraceablePeerConnection.js +2223 -0
  52. package/dist/esm/modules/RTC/TraceablePeerConnection.js.map +1 -0
  53. package/dist/esm/modules/RTCStats/DefaulLogStorage.js +35 -0
  54. package/dist/esm/modules/RTCStats/DefaulLogStorage.js.map +1 -0
  55. package/dist/esm/modules/RTCStats/RTCStats.js +219 -0
  56. package/dist/esm/modules/RTCStats/RTCStats.js.map +1 -0
  57. package/dist/esm/modules/RTCStats/RTCStatsEvents.js +92 -0
  58. package/dist/esm/modules/RTCStats/RTCStatsEvents.js.map +1 -0
  59. package/dist/esm/modules/RTCStats/interfaces.js +2 -0
  60. package/dist/esm/modules/RTCStats/interfaces.js.map +1 -0
  61. package/dist/esm/modules/browser/BrowserCapabilities.js +345 -0
  62. package/dist/esm/modules/browser/BrowserCapabilities.js.map +1 -0
  63. package/dist/esm/modules/browser/index.js +3 -0
  64. package/dist/esm/modules/browser/index.js.map +1 -0
  65. package/dist/esm/modules/connectivity/ConnectionQuality.js +389 -0
  66. package/dist/esm/modules/connectivity/ConnectionQuality.js.map +1 -0
  67. package/dist/esm/modules/connectivity/IceFailedHandling.js +84 -0
  68. package/dist/esm/modules/connectivity/IceFailedHandling.js.map +1 -0
  69. package/dist/esm/modules/connectivity/NetworkInfo.js +49 -0
  70. package/dist/esm/modules/connectivity/NetworkInfo.js.map +1 -0
  71. package/dist/esm/modules/connectivity/TrackStreamingStatus.js +453 -0
  72. package/dist/esm/modules/connectivity/TrackStreamingStatus.js.map +1 -0
  73. package/dist/esm/modules/detection/ActiveDeviceDetector.js +79 -0
  74. package/dist/esm/modules/detection/ActiveDeviceDetector.js.map +1 -0
  75. package/dist/esm/modules/detection/DetectionEvents.js +58 -0
  76. package/dist/esm/modules/detection/DetectionEvents.js.map +1 -0
  77. package/dist/esm/modules/detection/NoAudioSignalDetection.js +127 -0
  78. package/dist/esm/modules/detection/NoAudioSignalDetection.js.map +1 -0
  79. package/dist/esm/modules/detection/P2PDominantSpeakerDetection.js +47 -0
  80. package/dist/esm/modules/detection/P2PDominantSpeakerDetection.js.map +1 -0
  81. package/dist/esm/modules/detection/TrackVADEmitter.js +190 -0
  82. package/dist/esm/modules/detection/TrackVADEmitter.js.map +1 -0
  83. package/dist/esm/modules/detection/VADAudioAnalyser.js +199 -0
  84. package/dist/esm/modules/detection/VADAudioAnalyser.js.map +1 -0
  85. package/dist/esm/modules/detection/VADNoiseDetection.js +168 -0
  86. package/dist/esm/modules/detection/VADNoiseDetection.js.map +1 -0
  87. package/dist/esm/modules/detection/VADReportingService.js +203 -0
  88. package/dist/esm/modules/detection/VADReportingService.js.map +1 -0
  89. package/dist/esm/modules/detection/VADTalkMutedDetection.js +131 -0
  90. package/dist/esm/modules/detection/VADTalkMutedDetection.js.map +1 -0
  91. package/dist/esm/modules/e2ee/Context.js +274 -0
  92. package/dist/esm/modules/e2ee/Context.js.map +1 -0
  93. package/dist/esm/modules/e2ee/E2EEContext.js +158 -0
  94. package/dist/esm/modules/e2ee/E2EEContext.js.map +1 -0
  95. package/dist/esm/modules/e2ee/E2EEErrors.js +10 -0
  96. package/dist/esm/modules/e2ee/E2EEErrors.js.map +1 -0
  97. package/dist/esm/modules/e2ee/E2EEncryption.js +87 -0
  98. package/dist/esm/modules/e2ee/E2EEncryption.js.map +1 -0
  99. package/dist/esm/modules/e2ee/ExternallyManagedKeyHandler.js +24 -0
  100. package/dist/esm/modules/e2ee/ExternallyManagedKeyHandler.js.map +1 -0
  101. package/dist/esm/modules/e2ee/KeyHandler.js +137 -0
  102. package/dist/esm/modules/e2ee/KeyHandler.js.map +1 -0
  103. package/dist/esm/modules/e2ee/ManagedKeyHandler.js +182 -0
  104. package/dist/esm/modules/e2ee/ManagedKeyHandler.js.map +1 -0
  105. package/dist/esm/modules/e2ee/OlmAdapter.js +860 -0
  106. package/dist/esm/modules/e2ee/OlmAdapter.js.map +1 -0
  107. package/dist/esm/modules/e2ee/SAS.js +128 -0
  108. package/dist/esm/modules/e2ee/SAS.js.map +1 -0
  109. package/dist/esm/modules/e2ee/Worker.js +102 -0
  110. package/dist/esm/modules/e2ee/Worker.js.map +1 -0
  111. package/dist/esm/modules/e2ee/crypto-utils.js +53 -0
  112. package/dist/esm/modules/e2ee/crypto-utils.js.map +1 -0
  113. package/dist/esm/modules/e2ee/utils.js +15 -0
  114. package/dist/esm/modules/e2ee/utils.js.map +1 -0
  115. package/dist/esm/modules/e2eping/e2eping.js +314 -0
  116. package/dist/esm/modules/e2eping/e2eping.js.map +1 -0
  117. package/dist/esm/modules/flags/FeatureFlags.js +36 -0
  118. package/dist/esm/modules/flags/FeatureFlags.js.map +1 -0
  119. package/dist/esm/modules/litemode/LiteModeContext.js +50 -0
  120. package/dist/esm/modules/litemode/LiteModeContext.js.map +1 -0
  121. package/dist/esm/modules/proxyconnection/CustomSignalingLayer.js +98 -0
  122. package/dist/esm/modules/proxyconnection/CustomSignalingLayer.js.map +1 -0
  123. package/dist/esm/modules/proxyconnection/ProxyConnectionPC.js +348 -0
  124. package/dist/esm/modules/proxyconnection/ProxyConnectionPC.js.map +1 -0
  125. package/dist/esm/modules/proxyconnection/ProxyConnectionService.js +279 -0
  126. package/dist/esm/modules/proxyconnection/ProxyConnectionService.js.map +1 -0
  127. package/dist/esm/modules/proxyconnection/constants.js +14 -0
  128. package/dist/esm/modules/proxyconnection/constants.js.map +1 -0
  129. package/dist/esm/modules/qualitycontrol/CodecSelection.js +222 -0
  130. package/dist/esm/modules/qualitycontrol/CodecSelection.js.map +1 -0
  131. package/dist/esm/modules/qualitycontrol/MockClasses.js +120 -0
  132. package/dist/esm/modules/qualitycontrol/MockClasses.js.map +1 -0
  133. package/dist/esm/modules/qualitycontrol/QualityController.js +366 -0
  134. package/dist/esm/modules/qualitycontrol/QualityController.js.map +1 -0
  135. package/dist/esm/modules/qualitycontrol/ReceiveAudioController.js +73 -0
  136. package/dist/esm/modules/qualitycontrol/ReceiveAudioController.js.map +1 -0
  137. package/dist/esm/modules/qualitycontrol/ReceiveVideoController.js +216 -0
  138. package/dist/esm/modules/qualitycontrol/ReceiveVideoController.js.map +1 -0
  139. package/dist/esm/modules/qualitycontrol/SendVideoController.js +133 -0
  140. package/dist/esm/modules/qualitycontrol/SendVideoController.js.map +1 -0
  141. package/dist/esm/modules/recording/JibriSession.js +279 -0
  142. package/dist/esm/modules/recording/JibriSession.js.map +1 -0
  143. package/dist/esm/modules/recording/RecordingManager.js +257 -0
  144. package/dist/esm/modules/recording/RecordingManager.js.map +1 -0
  145. package/dist/esm/modules/recording/recordingConstants.js +21 -0
  146. package/dist/esm/modules/recording/recordingConstants.js.map +1 -0
  147. package/dist/esm/modules/recording/recordingXMLUtils.js +69 -0
  148. package/dist/esm/modules/recording/recordingXMLUtils.js.map +1 -0
  149. package/dist/esm/modules/red/red.js +108 -0
  150. package/dist/esm/modules/red/red.js.map +1 -0
  151. package/dist/esm/modules/sdp/LocalSdpMunger.js +143 -0
  152. package/dist/esm/modules/sdp/LocalSdpMunger.js.map +1 -0
  153. package/dist/esm/modules/sdp/RtxModifier.js +179 -0
  154. package/dist/esm/modules/sdp/RtxModifier.js.map +1 -0
  155. package/dist/esm/modules/sdp/SDP.js +848 -0
  156. package/dist/esm/modules/sdp/SDP.js.map +1 -0
  157. package/dist/esm/modules/sdp/SDPDiffer.js +96 -0
  158. package/dist/esm/modules/sdp/SDPDiffer.js.map +1 -0
  159. package/dist/esm/modules/sdp/SDPUtil.js +798 -0
  160. package/dist/esm/modules/sdp/SDPUtil.js.map +1 -0
  161. package/dist/esm/modules/sdp/SampleSdpStrings.js +589 -0
  162. package/dist/esm/modules/sdp/SampleSdpStrings.js.map +1 -0
  163. package/dist/esm/modules/sdp/SdpSimulcast.js +196 -0
  164. package/dist/esm/modules/sdp/SdpSimulcast.js.map +1 -0
  165. package/dist/esm/modules/sdp/SdpTransformUtil.js +337 -0
  166. package/dist/esm/modules/sdp/SdpTransformUtil.js.map +1 -0
  167. package/dist/esm/modules/sdp/constants.js +2 -0
  168. package/dist/esm/modules/sdp/constants.js.map +1 -0
  169. package/dist/esm/modules/settings/Settings.js +95 -0
  170. package/dist/esm/modules/settings/Settings.js.map +1 -0
  171. package/dist/esm/modules/statistics/AnalyticsAdapter.js +277 -0
  172. package/dist/esm/modules/statistics/AnalyticsAdapter.js.map +1 -0
  173. package/dist/esm/modules/statistics/AvgRTPStatsReporter.js +817 -0
  174. package/dist/esm/modules/statistics/AvgRTPStatsReporter.js.map +1 -0
  175. package/dist/esm/modules/statistics/LocalStatsCollector.js +149 -0
  176. package/dist/esm/modules/statistics/LocalStatsCollector.js.map +1 -0
  177. package/dist/esm/modules/statistics/PreCallTest.js +15 -0
  178. package/dist/esm/modules/statistics/PreCallTest.js.map +1 -0
  179. package/dist/esm/modules/statistics/RTPStatsCollector.js +601 -0
  180. package/dist/esm/modules/statistics/RTPStatsCollector.js.map +1 -0
  181. package/dist/esm/modules/statistics/SpeakerStats.js +163 -0
  182. package/dist/esm/modules/statistics/SpeakerStats.js.map +1 -0
  183. package/dist/esm/modules/statistics/SpeakerStatsCollector.js +161 -0
  184. package/dist/esm/modules/statistics/SpeakerStatsCollector.js.map +1 -0
  185. package/dist/esm/modules/statistics/constants.js +7 -0
  186. package/dist/esm/modules/statistics/constants.js.map +1 -0
  187. package/dist/esm/modules/statistics/statistics.js +362 -0
  188. package/dist/esm/modules/statistics/statistics.js.map +1 -0
  189. package/dist/esm/modules/util/AsyncQueue.js +102 -0
  190. package/dist/esm/modules/util/AsyncQueue.js.map +1 -0
  191. package/dist/esm/modules/util/Deferred.js +41 -0
  192. package/dist/esm/modules/util/Deferred.js.map +1 -0
  193. package/dist/esm/modules/util/EventEmitter.js +17 -0
  194. package/dist/esm/modules/util/EventEmitter.js.map +1 -0
  195. package/dist/esm/modules/util/EventEmitterForwarder.js +52 -0
  196. package/dist/esm/modules/util/EventEmitterForwarder.js.map +1 -0
  197. package/dist/esm/modules/util/Listenable.js +106 -0
  198. package/dist/esm/modules/util/Listenable.js.map +1 -0
  199. package/dist/esm/modules/util/MathUtil.js +103 -0
  200. package/dist/esm/modules/util/MathUtil.js.map +1 -0
  201. package/dist/esm/modules/util/RandomUtil.js +66 -0
  202. package/dist/esm/modules/util/RandomUtil.js.map +1 -0
  203. package/dist/esm/modules/util/Retry.js +15 -0
  204. package/dist/esm/modules/util/Retry.js.map +1 -0
  205. package/dist/esm/modules/util/ScriptUtil.js +58 -0
  206. package/dist/esm/modules/util/ScriptUtil.js.map +1 -0
  207. package/dist/esm/modules/util/StringUtils.js +21 -0
  208. package/dist/esm/modules/util/StringUtils.js.map +1 -0
  209. package/dist/esm/modules/util/TestUtils.js +14 -0
  210. package/dist/esm/modules/util/TestUtils.js.map +1 -0
  211. package/dist/esm/modules/util/UsernameGenerator.js +436 -0
  212. package/dist/esm/modules/util/UsernameGenerator.js.map +1 -0
  213. package/dist/esm/modules/util/XMLUtils.js +135 -0
  214. package/dist/esm/modules/util/XMLUtils.js.map +1 -0
  215. package/dist/esm/modules/version/ComponentsVersions.js +52 -0
  216. package/dist/esm/modules/version/ComponentsVersions.js.map +1 -0
  217. package/dist/esm/modules/videosipgw/JitsiVideoSIPGWSession.js +137 -0
  218. package/dist/esm/modules/videosipgw/JitsiVideoSIPGWSession.js.map +1 -0
  219. package/dist/esm/modules/videosipgw/VideoSIPGW.js +102 -0
  220. package/dist/esm/modules/videosipgw/VideoSIPGW.js.map +1 -0
  221. package/dist/esm/modules/videosipgw/VideoSIPGWConstants.js +65 -0
  222. package/dist/esm/modules/videosipgw/VideoSIPGWConstants.js.map +1 -0
  223. package/dist/esm/modules/watchRTC/WatchRTC.js +69 -0
  224. package/dist/esm/modules/watchRTC/WatchRTC.js.map +1 -0
  225. package/dist/esm/modules/watchRTC/functions.js +31 -0
  226. package/dist/esm/modules/watchRTC/functions.js.map +1 -0
  227. package/dist/esm/modules/watchRTC/interfaces.js +2 -0
  228. package/dist/esm/modules/watchRTC/interfaces.js.map +1 -0
  229. package/dist/esm/modules/webaudio/AudioMixer.js +74 -0
  230. package/dist/esm/modules/webaudio/AudioMixer.js.map +1 -0
  231. package/dist/esm/modules/webaudio/WebAudioUtils.js +13 -0
  232. package/dist/esm/modules/webaudio/WebAudioUtils.js.map +1 -0
  233. package/dist/esm/modules/xmpp/AVModeration.js +156 -0
  234. package/dist/esm/modules/xmpp/AVModeration.js.map +1 -0
  235. package/dist/esm/modules/xmpp/BreakoutRooms.js +230 -0
  236. package/dist/esm/modules/xmpp/BreakoutRooms.js.map +1 -0
  237. package/dist/esm/modules/xmpp/Caps.js +223 -0
  238. package/dist/esm/modules/xmpp/Caps.js.map +1 -0
  239. package/dist/esm/modules/xmpp/ChatRoom.js +1877 -0
  240. package/dist/esm/modules/xmpp/ChatRoom.js.map +1 -0
  241. package/dist/esm/modules/xmpp/ConnectionPlugin.js +37 -0
  242. package/dist/esm/modules/xmpp/ConnectionPlugin.js.map +1 -0
  243. package/dist/esm/modules/xmpp/FileSharing.js +95 -0
  244. package/dist/esm/modules/xmpp/FileSharing.js.map +1 -0
  245. package/dist/esm/modules/xmpp/JingleHelperFunctions.js +168 -0
  246. package/dist/esm/modules/xmpp/JingleHelperFunctions.js.map +1 -0
  247. package/dist/esm/modules/xmpp/JingleSession.js +166 -0
  248. package/dist/esm/modules/xmpp/JingleSession.js.map +1 -0
  249. package/dist/esm/modules/xmpp/JingleSessionPC.js +1969 -0
  250. package/dist/esm/modules/xmpp/JingleSessionPC.js.map +1 -0
  251. package/dist/esm/modules/xmpp/JingleSessionState.js +23 -0
  252. package/dist/esm/modules/xmpp/JingleSessionState.js.map +1 -0
  253. package/dist/esm/modules/xmpp/Lobby.js +384 -0
  254. package/dist/esm/modules/xmpp/Lobby.js.map +1 -0
  255. package/dist/esm/modules/xmpp/MediaSessionEvents.js +12 -0
  256. package/dist/esm/modules/xmpp/MediaSessionEvents.js.map +1 -0
  257. package/dist/esm/modules/xmpp/MockClasses.js +77 -0
  258. package/dist/esm/modules/xmpp/MockClasses.js.map +1 -0
  259. package/dist/esm/modules/xmpp/Polls.js +87 -0
  260. package/dist/esm/modules/xmpp/Polls.js.map +1 -0
  261. package/dist/esm/modules/xmpp/ResumeTask.js +149 -0
  262. package/dist/esm/modules/xmpp/ResumeTask.js.map +1 -0
  263. package/dist/esm/modules/xmpp/RoomMetadata.js +96 -0
  264. package/dist/esm/modules/xmpp/RoomMetadata.js.map +1 -0
  265. package/dist/esm/modules/xmpp/SignalingLayerImpl.js +313 -0
  266. package/dist/esm/modules/xmpp/SignalingLayerImpl.js.map +1 -0
  267. package/dist/esm/modules/xmpp/StropheErrorHandler.js +53 -0
  268. package/dist/esm/modules/xmpp/StropheErrorHandler.js.map +1 -0
  269. package/dist/esm/modules/xmpp/StropheLastSuccess.js +52 -0
  270. package/dist/esm/modules/xmpp/StropheLastSuccess.js.map +1 -0
  271. package/dist/esm/modules/xmpp/XmppConnection.js +579 -0
  272. package/dist/esm/modules/xmpp/XmppConnection.js.map +1 -0
  273. package/dist/esm/modules/xmpp/moderator.js +524 -0
  274. package/dist/esm/modules/xmpp/moderator.js.map +1 -0
  275. package/dist/esm/modules/xmpp/sha1.js +165 -0
  276. package/dist/esm/modules/xmpp/sha1.js.map +1 -0
  277. package/dist/esm/modules/xmpp/strophe.disco.js +222 -0
  278. package/dist/esm/modules/xmpp/strophe.disco.js.map +1 -0
  279. package/dist/esm/modules/xmpp/strophe.emuc.js +206 -0
  280. package/dist/esm/modules/xmpp/strophe.emuc.js.map +1 -0
  281. package/dist/esm/modules/xmpp/strophe.jingle.js +404 -0
  282. package/dist/esm/modules/xmpp/strophe.jingle.js.map +1 -0
  283. package/dist/esm/modules/xmpp/strophe.logger.js +44 -0
  284. package/dist/esm/modules/xmpp/strophe.logger.js.map +1 -0
  285. package/dist/esm/modules/xmpp/strophe.ping.js +170 -0
  286. package/dist/esm/modules/xmpp/strophe.ping.js.map +1 -0
  287. package/dist/esm/modules/xmpp/strophe.rayo.js +117 -0
  288. package/dist/esm/modules/xmpp/strophe.rayo.js.map +1 -0
  289. package/dist/esm/modules/xmpp/strophe.stream-management.js +365 -0
  290. package/dist/esm/modules/xmpp/strophe.stream-management.js.map +1 -0
  291. package/dist/esm/modules/xmpp/strophe.util.js +116 -0
  292. package/dist/esm/modules/xmpp/strophe.util.js.map +1 -0
  293. package/dist/esm/modules/xmpp/xmpp.js +973 -0
  294. package/dist/esm/modules/xmpp/xmpp.js.map +1 -0
  295. package/dist/esm/service/RTC/BridgeVideoType.js +24 -0
  296. package/dist/esm/service/RTC/BridgeVideoType.js.map +1 -0
  297. package/dist/esm/service/RTC/CameraFacingMode.js +21 -0
  298. package/dist/esm/service/RTC/CameraFacingMode.js.map +1 -0
  299. package/dist/esm/service/RTC/CodecMimeType.js +36 -0
  300. package/dist/esm/service/RTC/CodecMimeType.js.map +1 -0
  301. package/dist/esm/service/RTC/MediaDirection.js +23 -0
  302. package/dist/esm/service/RTC/MediaDirection.js.map +1 -0
  303. package/dist/esm/service/RTC/MediaType.js +20 -0
  304. package/dist/esm/service/RTC/MediaType.js.map +1 -0
  305. package/dist/esm/service/RTC/RTCEvents.js +111 -0
  306. package/dist/esm/service/RTC/RTCEvents.js.map +1 -0
  307. package/dist/esm/service/RTC/ReceiverAudioSubscription.js +27 -0
  308. package/dist/esm/service/RTC/ReceiverAudioSubscription.js.map +1 -0
  309. package/dist/esm/service/RTC/Resolutions.js +56 -0
  310. package/dist/esm/service/RTC/Resolutions.js.map +1 -0
  311. package/dist/esm/service/RTC/SignalingEvents.js +42 -0
  312. package/dist/esm/service/RTC/SignalingEvents.js.map +1 -0
  313. package/dist/esm/service/RTC/SignalingLayer.js +153 -0
  314. package/dist/esm/service/RTC/SignalingLayer.js.map +1 -0
  315. package/dist/esm/service/RTC/StandardVideoQualitySettings.js +180 -0
  316. package/dist/esm/service/RTC/StandardVideoQualitySettings.js.map +1 -0
  317. package/dist/esm/service/RTC/VideoEncoderScalabilityMode.js +36 -0
  318. package/dist/esm/service/RTC/VideoEncoderScalabilityMode.js.map +1 -0
  319. package/dist/esm/service/RTC/VideoType.js +19 -0
  320. package/dist/esm/service/RTC/VideoType.js.map +1 -0
  321. package/dist/esm/service/authentication/AuthenticationEvents.js +13 -0
  322. package/dist/esm/service/authentication/AuthenticationEvents.js.map +1 -0
  323. package/dist/esm/service/connectivity/ConnectionQualityEvents.js +13 -0
  324. package/dist/esm/service/connectivity/ConnectionQualityEvents.js.map +1 -0
  325. package/dist/esm/service/connectivity/Constants.js +3 -0
  326. package/dist/esm/service/connectivity/Constants.js.map +1 -0
  327. package/dist/esm/service/e2eping/E2ePingEvents.js +8 -0
  328. package/dist/esm/service/e2eping/E2ePingEvents.js.map +1 -0
  329. package/dist/esm/service/statistics/AnalyticsEvents.js +521 -0
  330. package/dist/esm/service/statistics/AnalyticsEvents.js.map +1 -0
  331. package/dist/esm/service/statistics/Events.js +36 -0
  332. package/dist/esm/service/statistics/Events.js.map +1 -0
  333. package/dist/esm/service/statistics/constants.js +2 -0
  334. package/dist/esm/service/statistics/constants.js.map +1 -0
  335. package/dist/esm/service/xmpp/XMPPEvents.js +359 -0
  336. package/dist/esm/service/xmpp/XMPPEvents.js.map +1 -0
  337. package/dist/esm/service/xmpp/XMPPExtensioProtocols.js +64 -0
  338. package/dist/esm/service/xmpp/XMPPExtensioProtocols.js.map +1 -0
  339. package/dist/esm/test-setup-polyfill.js +34 -0
  340. package/dist/esm/test-setup-polyfill.js.map +1 -0
  341. package/dist/esm/tools/gen-version.js +15 -0
  342. package/dist/esm/tools/gen-version.js.map +1 -0
  343. package/dist/esm/version.js +3 -0
  344. package/dist/esm/version.js.map +1 -0
  345. package/dist/umd/lib-jitsi-meet.e2ee-worker.js +484 -0
  346. package/dist/umd/lib-jitsi-meet.min.js +3 -0
  347. package/dist/umd/lib-jitsi-meet.min.js.LICENSE.txt +18 -0
  348. package/dist/umd/lib-jitsi-meet.min.map +1 -0
  349. package/package.json +93 -0
  350. package/types/index.d.ts +16180 -0
@@ -0,0 +1,362 @@
1
+ import { getLogger } from '@jitsi/logger';
2
+ import { JitsiTrackEvents } from '../../JitsiTrackEvents';
3
+ import { AnalyticsEvents } from '../../service/statistics/AnalyticsEvents';
4
+ import { StatisticsEvents } from '../../service/statistics/Events';
5
+ import { LOCAL_JID } from '../../service/statistics/constants';
6
+ import RTCStats from '../RTCStats/RTCStats';
7
+ import browser from '../browser';
8
+ import EventEmitter from '../util/EventEmitter';
9
+ import WatchRTC from '../watchRTC/WatchRTC';
10
+ import analytics from './AnalyticsAdapter';
11
+ import LocalStats from './LocalStatsCollector';
12
+ import RTPStats from './RTPStatsCollector';
13
+ const logger = getLogger('stats:statistics');
14
+ /**
15
+ * Statistics class provides various functionality related to collecting and reporting statistics.
16
+ */
17
+ class Statistics {
18
+ /**
19
+ * Static getter for instances property
20
+ * Returns the Set holding all active Statistics instances. Lazily
21
+ * initializes the Set to allow any Set polyfills to be applied.
22
+ * @type {Set<Statistics>}
23
+ */
24
+ static get instances() {
25
+ if (!Statistics._instances) {
26
+ Statistics._instances = new Set();
27
+ }
28
+ return Statistics._instances;
29
+ }
30
+ /**
31
+ * Init statistic options
32
+ * @static
33
+ * @param {Object} options - The options to initialize statistics with
34
+ */
35
+ static init(options) {
36
+ Statistics.audioLevelsEnabled = !options.disableAudioLevels;
37
+ if (typeof options.pcStatsInterval === 'number') {
38
+ Statistics.pcStatsInterval = options.pcStatsInterval;
39
+ }
40
+ if (typeof options.audioLevelsInterval === 'number') {
41
+ Statistics.audioLevelsInterval = options.audioLevelsInterval;
42
+ }
43
+ Statistics.disableThirdPartyRequests = options.disableThirdPartyRequests;
44
+ LocalStats.init();
45
+ WatchRTC.init(options);
46
+ }
47
+ /**
48
+ * Starts collecting local statistics for a track.
49
+ * @static
50
+ * @param {JitsiTrack} track - The track to collect statistics for
51
+ * @param {Function} callback - The callback to invoke with audio levels
52
+ */
53
+ static startLocalStats(track, callback) {
54
+ if (browser.isIosBrowser()) {
55
+ // On iOS browsers audio is lost if the audio input device is in use by another app
56
+ // https://bugs.webkit.org/show_bug.cgi?id=233473
57
+ // The culprit was using the AudioContext, so now we close the AudioContext during
58
+ // the track being muted, and re-instantiate it afterwards.
59
+ track.addEventListener(JitsiTrackEvents.NO_DATA_FROM_SOURCE,
60
+ /**
61
+ * Closes AudioContext on no audio data, and enables it on data received again.
62
+ *
63
+ * @param {boolean} value - Whether we receive audio data or not.
64
+ */
65
+ async (value) => {
66
+ if (value) {
67
+ for (const localStat of Statistics.localStats) {
68
+ localStat.stop();
69
+ }
70
+ await LocalStats.disconnectAudioContext();
71
+ }
72
+ else {
73
+ LocalStats.connectAudioContext();
74
+ for (const localStat of Statistics.localStats) {
75
+ localStat.start();
76
+ }
77
+ }
78
+ });
79
+ }
80
+ if (!Statistics.audioLevelsEnabled) {
81
+ return;
82
+ }
83
+ track.addEventListener(JitsiTrackEvents.LOCAL_TRACK_STOPPED, () => {
84
+ Statistics.stopLocalStats(track);
85
+ });
86
+ const stream = track.getOriginalStream();
87
+ const localStats = new LocalStats(stream, Statistics.audioLevelsInterval, callback);
88
+ this.localStats.push(localStats);
89
+ localStats.start();
90
+ }
91
+ /**
92
+ * Stops collecting local statistics for a track.
93
+ * @static
94
+ * @param {JitsiTrack} track - The track to stop collecting statistics for
95
+ */
96
+ static stopLocalStats(track) {
97
+ if (!Statistics.audioLevelsEnabled) {
98
+ return;
99
+ }
100
+ const stream = track.getOriginalStream();
101
+ for (let i = 0; i < Statistics.localStats.length; i++) {
102
+ if (Statistics.localStats[i].stream === stream) {
103
+ const localStats = Statistics.localStats.splice(i, 1);
104
+ localStats[0].stop();
105
+ break;
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * Sends event to analytics and logs a message to the logger/console.
111
+ * @static
112
+ * @param {string | Object} event - The event name, or an object which represents the entire event
113
+ * @param {Object} properties - Properties to attach to the event
114
+ */
115
+ static sendAnalyticsAndLog(event, properties = {}) {
116
+ if (!event) {
117
+ logger.warn('No event or event name given.');
118
+ return;
119
+ }
120
+ let eventToLog;
121
+ // Also support an API with a single object as an event.
122
+ if (typeof event === 'object') {
123
+ eventToLog = event;
124
+ }
125
+ else {
126
+ eventToLog = {
127
+ name: event,
128
+ properties
129
+ };
130
+ }
131
+ logger.debug(JSON.stringify(eventToLog));
132
+ // We do this last, because it may modify the object which is passed.
133
+ this.analytics.sendEvent(event, properties);
134
+ }
135
+ /**
136
+ * Sends event to analytics.
137
+ * @static
138
+ * @param {string | Object} eventName - The event name, or an object which represents the entire event
139
+ * @param {Object} properties - Properties to attach to the event
140
+ */
141
+ static sendAnalytics(eventName, properties = {}) {
142
+ this.analytics.sendEvent(eventName, properties);
143
+ }
144
+ constructor(conference, options) {
145
+ /**
146
+ * {@link RTPStats} mapped by {@link TraceablePeerConnection.id} which
147
+ * collect RTP statistics for each peerconnection.
148
+ * @type {Map<string, RTPStats>}
149
+ */
150
+ this.rtpStatsMap = new Map();
151
+ this.eventEmitter = new EventEmitter();
152
+ this.conference = conference;
153
+ this.xmpp = conference?.xmpp;
154
+ this.options = options || {};
155
+ Statistics.instances.add(this);
156
+ RTCStats.attachToConference(this.conference);
157
+ // WatchRTC is not required to work for react native
158
+ if (!browser.isReactNative()) {
159
+ WatchRTC.start(this.options.roomName, this.options.userName);
160
+ }
161
+ }
162
+ /**
163
+ * Starts collecting RTP stats for given peerconnection.
164
+ * @param {TraceablePeerConnection} peerconnection
165
+ */
166
+ startRemoteStats(peerconnection) {
167
+ this.stopRemoteStats(peerconnection);
168
+ try {
169
+ const rtpStats = new RTPStats(peerconnection, Statistics.audioLevelsInterval, Statistics.pcStatsInterval, this.eventEmitter);
170
+ rtpStats.start(Statistics.audioLevelsEnabled);
171
+ this.rtpStatsMap.set(String(peerconnection.id), rtpStats);
172
+ }
173
+ catch (e) {
174
+ logger.error(`Failed to start collecting remote statistics: ${e}`);
175
+ }
176
+ }
177
+ /**
178
+ * Adds a listener for audio level events.
179
+ * @param {Function} listener - The listener to add
180
+ */
181
+ addAudioLevelListener(listener) {
182
+ if (!Statistics.audioLevelsEnabled) {
183
+ return;
184
+ }
185
+ this.eventEmitter.on(StatisticsEvents.AUDIO_LEVEL, listener);
186
+ }
187
+ /**
188
+ * Removes an audio level listener.
189
+ * @param {Function} listener - The listener to remove
190
+ */
191
+ removeAudioLevelListener(listener) {
192
+ if (!Statistics.audioLevelsEnabled) {
193
+ return;
194
+ }
195
+ this.eventEmitter.removeListener(StatisticsEvents.AUDIO_LEVEL, listener);
196
+ }
197
+ /**
198
+ * Adds a listener for before disposed events.
199
+ * @param {Function} listener - The listener to add
200
+ */
201
+ addBeforeDisposedListener(listener) {
202
+ this.eventEmitter.on(StatisticsEvents.BEFORE_DISPOSED, listener);
203
+ }
204
+ /**
205
+ * Removes a before disposed listener.
206
+ * @param {Function} listener - The listener to remove
207
+ */
208
+ removeBeforeDisposedListener(listener) {
209
+ this.eventEmitter.removeListener(StatisticsEvents.BEFORE_DISPOSED, listener);
210
+ }
211
+ /**
212
+ * Adds a listener for connection stats events.
213
+ * @param {Function} listener - The listener to add
214
+ */
215
+ addConnectionStatsListener(listener) {
216
+ this.eventEmitter.on(StatisticsEvents.CONNECTION_STATS, listener);
217
+ }
218
+ /**
219
+ * Removes a connection stats listener.
220
+ * @param {Function} listener - The listener to remove
221
+ */
222
+ removeConnectionStatsListener(listener) {
223
+ this.eventEmitter.removeListener(StatisticsEvents.CONNECTION_STATS, listener);
224
+ }
225
+ /**
226
+ * Adds a listener for encode time stats events.
227
+ * @param {Function} listener - The listener to add
228
+ */
229
+ addEncodeTimeStatsListener(listener) {
230
+ this.eventEmitter.on(StatisticsEvents.ENCODE_TIME_STATS, listener);
231
+ }
232
+ /**
233
+ * Removes an encode time stats listener.
234
+ * @param {Function} listener - The listener to remove
235
+ */
236
+ removeEncodeTimeStatsListener(listener) {
237
+ this.eventEmitter.removeListener(StatisticsEvents.ENCODE_TIME_STATS, listener);
238
+ }
239
+ /**
240
+ * Adds a listener for byte sent stats events.
241
+ * @param {Function} listener - The listener to add
242
+ */
243
+ addByteSentStatsListener(listener) {
244
+ this.eventEmitter.on(StatisticsEvents.BYTE_SENT_STATS, listener);
245
+ }
246
+ /**
247
+ * Removes a byte sent stats listener.
248
+ * @param {Function} listener - The listener to remove
249
+ */
250
+ removeByteSentStatsListener(listener) {
251
+ this.eventEmitter.removeListener(StatisticsEvents.BYTE_SENT_STATS, listener);
252
+ }
253
+ /**
254
+ * Updates the list of speakers for which the audio levels are to be calculated. This is needed for the jvb pc only.
255
+ *
256
+ * @param {Array<string>} speakerList The list of remote endpoint ids.
257
+ * @returns {void}
258
+ */
259
+ setSpeakerList(speakerList) {
260
+ for (const rtpStats of Array.from(this.rtpStatsMap.values())) {
261
+ if (!rtpStats.peerconnection.isP2P) {
262
+ rtpStats.setSpeakerList(speakerList);
263
+ }
264
+ }
265
+ }
266
+ /**
267
+ * Disposes of this instance, stopping any ongoing stats collection.
268
+ */
269
+ dispose() {
270
+ try {
271
+ this.eventEmitter.emit(StatisticsEvents.BEFORE_DISPOSED);
272
+ for (const tpcId of this.rtpStatsMap.keys()) {
273
+ this._stopRemoteStats(tpcId);
274
+ }
275
+ if (this.eventEmitter) {
276
+ this.eventEmitter.removeAllListeners();
277
+ }
278
+ }
279
+ finally {
280
+ Statistics.instances.delete(this);
281
+ }
282
+ }
283
+ /**
284
+ * Stops remote RTP stats for given peerconnection ID.
285
+ * @param {string} tpcId {@link TraceablePeerConnection.id}
286
+ * @private
287
+ */
288
+ _stopRemoteStats(tpcId) {
289
+ const rtpStats = this.rtpStatsMap.get(tpcId);
290
+ if (rtpStats) {
291
+ rtpStats.stop();
292
+ this.rtpStatsMap.delete(tpcId);
293
+ }
294
+ }
295
+ /**
296
+ * Stops collecting RTP stats for given peerconnection
297
+ * @param {TraceablePeerConnection} tpc
298
+ */
299
+ stopRemoteStats(tpc) {
300
+ this._stopRemoteStats(String(tpc.id));
301
+ }
302
+ /**
303
+ * Sends the given feedback
304
+ *
305
+ * @param {number} overall an integer between 1 and 5 indicating the user's rating.
306
+ * @param {string} comment the comment from the user.
307
+ * @returns {Promise} Resolves immediately.
308
+ */
309
+ sendFeedback(overall, comment) {
310
+ // Statistics.analytics.sendEvent is currently fire and forget, without
311
+ // confirmation of successful send.
312
+ Statistics.analytics.sendEvent(AnalyticsEvents.FEEDBACK, {
313
+ comment,
314
+ rating: overall
315
+ });
316
+ return Promise.resolve();
317
+ }
318
+ }
319
+ /**
320
+ * Flag indicating whether audio levels are enabled or not.
321
+ * @static
322
+ * @type {boolean}
323
+ */
324
+ Statistics.audioLevelsEnabled = false;
325
+ /**
326
+ * The interval for audio levels stats collection.
327
+ * @static
328
+ * @type {number}
329
+ */
330
+ Statistics.audioLevelsInterval = 200;
331
+ /**
332
+ * The interval for peer connection stats collection.
333
+ * @static
334
+ * @type {number}
335
+ */
336
+ Statistics.pcStatsInterval = 10000;
337
+ /**
338
+ * Flag indicating whether third party requests are disabled.
339
+ * @static
340
+ * @type {boolean}
341
+ */
342
+ Statistics.disableThirdPartyRequests = false;
343
+ /**
344
+ * Analytics adapter for sending events.
345
+ * @static
346
+ * @type {Object}
347
+ */
348
+ Statistics.analytics = analytics;
349
+ /**
350
+ * Array holding local statistics collectors.
351
+ * @static
352
+ * @type {Array}
353
+ */
354
+ Statistics.localStats = [];
355
+ /**
356
+ * Local JID constant.
357
+ * @static
358
+ * @type {string}
359
+ */
360
+ Statistics.LOCAL_JID = LOCAL_JID;
361
+ export default Statistics;
362
+ //# sourceMappingURL=statistics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../../../modules/statistics/statistics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { getLogger } from '@jitsi/logger';
2
+ import { queue } from 'async-es';
3
+ const logger = getLogger('utils:AsyncQueue');
4
+ /**
5
+ * Error to be passed to a callback of a queued task when the queue is cleared.
6
+ */
7
+ export class ClearedQueueError extends Error {
8
+ /**
9
+ * Creates new instance.
10
+ */
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = 'ClearedQueueError';
14
+ }
15
+ }
16
+ /**
17
+ * A queue for async task execution.
18
+ */
19
+ export default class AsyncQueue {
20
+ /**
21
+ * Creates new instance.
22
+ */
23
+ constructor() {
24
+ this._queue = queue(this._processQueueTasks.bind(this), 1);
25
+ this._stopped = false;
26
+ this._taskCallbacks = new Map();
27
+ }
28
+ /**
29
+ * Internal task processing implementation which makes things work.
30
+ */
31
+ _processQueueTasks(task, finishedCallback) {
32
+ try {
33
+ task(finishedCallback);
34
+ }
35
+ catch (error) {
36
+ logger.error(`Task failed: ${error?.stack}`);
37
+ finishedCallback(error);
38
+ }
39
+ finally {
40
+ this._taskCallbacks.delete(task);
41
+ }
42
+ }
43
+ /**
44
+ * Removes any pending tasks from the queue.
45
+ */
46
+ clear() {
47
+ for (const finishedCallback of this._taskCallbacks.values()) {
48
+ try {
49
+ finishedCallback?.(new ClearedQueueError('The queue has been cleared'));
50
+ }
51
+ catch (error) {
52
+ logger.error('Error in callback while clearing the queue:', error);
53
+ }
54
+ }
55
+ this._queue.kill();
56
+ }
57
+ /**
58
+ * Pauses the execution of the tasks on the queue.
59
+ */
60
+ pause() {
61
+ this._queue.pause();
62
+ }
63
+ /**
64
+ * The 'task' function will be given a callback it MUST call with either:
65
+ * 1) No arguments if it was successful or
66
+ * 2) An error argument if there was an error
67
+ * If the task wants to process the success or failure of the task, it
68
+ * should pass the {@code callback} to the push function, e.g.:
69
+ * queue.push(task, (err) => {
70
+ * if (err) {
71
+ * // error handling
72
+ * } else {
73
+ * // success handling
74
+ * }
75
+ * });
76
+ *
77
+ * @param {Task} task - The task to be executed. See the description above.
78
+ * @param {TaskCallback} [callback] - Optional callback to be called after the task has been executed.
79
+ */
80
+ push(task, callback) {
81
+ if (this._stopped) {
82
+ callback && callback(new Error('The queue has been stopped'));
83
+ return;
84
+ }
85
+ this._taskCallbacks.set(task, callback);
86
+ this._queue.push(task, callback);
87
+ }
88
+ /**
89
+ * Resumes the execution of the tasks on the queue.
90
+ */
91
+ resume() {
92
+ this._queue.resume();
93
+ }
94
+ /**
95
+ * Shutdowns the queue. All already queued tasks will execute, but no future tasks can be added. If a task is added
96
+ * after the queue has been shutdown then the callback will be called with an error.
97
+ */
98
+ shutdown() {
99
+ this._stopped = true;
100
+ }
101
+ }
102
+ //# sourceMappingURL=AsyncQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncQueue.js","sourceRoot":"","sources":["../../../../modules/util/AsyncQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAgC,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,MAAM,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACxC;;OAEG;IACH,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IACpC,CAAC;CACJ;AAKD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAK3B;;OAEG;IACH;QACI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAU,EAAE,gBAA8B;QACjE,IAAI,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK;QACD,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACD,gBAAgB,EAAE,CAAC,IAAI,iBAAiB,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,IAAU,EAAE,QAAuB;QACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAE9D,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;CACJ"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Promise-like object which can be passed around for resolving it later. It
3
+ * implements the "thenable" interface, so it can be used wherever a Promise
4
+ * could be used.
5
+ *
6
+ * In addition a "reject on timeout" functionality is provided.
7
+ */
8
+ export default class Deferred {
9
+ /**
10
+ * Instantiates a Deferred object.
11
+ */
12
+ constructor() {
13
+ this.promise = new Promise((resolve, reject) => {
14
+ this.resolve = (value) => {
15
+ this.clearRejectTimeout();
16
+ resolve(value);
17
+ };
18
+ this.reject = (reason) => {
19
+ this.clearRejectTimeout();
20
+ reject(reason);
21
+ };
22
+ });
23
+ this.then = this.promise.then.bind(this.promise);
24
+ this.catch = this.promise.catch.bind(this.promise);
25
+ }
26
+ /**
27
+ * Clears the reject timeout.
28
+ */
29
+ clearRejectTimeout() {
30
+ clearTimeout(this._timeout);
31
+ }
32
+ /**
33
+ * Rejects the promise after the given timeout.
34
+ */
35
+ setRejectTimeout(ms) {
36
+ this._timeout = setTimeout(() => {
37
+ this.reject(new Error('timeout'));
38
+ }, ms);
39
+ }
40
+ }
41
+ //# sourceMappingURL=Deferred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../../../modules/util/Deferred.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAQzB;;OAEG;IACH;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,GAAG,CAAC,KAAyB,EAAE,EAAE;gBACzC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,CAAC,MAAY,EAAE,EAAE;gBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,kBAAkB;QACd,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import { EventEmitter as NodeEventEmitter } from 'events';
2
+ /**
3
+ * The class creates our own EventEmitter instance
4
+ */
5
+ export default class EventEmitter extends NodeEventEmitter {
6
+ /**
7
+ * Creates new instance.
8
+ * @constructor
9
+ */
10
+ constructor() {
11
+ super();
12
+ // aliases for addListener/removeListener
13
+ this.addEventListener = this.addListener;
14
+ this.removeEventListener = this.removeListener;
15
+ }
16
+ }
17
+ //# sourceMappingURL=EventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../../modules/util/EventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAI1D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,gBAAgB;IAItD;;;OAGG;IACH;QACI,KAAK,EAAE,CAAC;QAER,yCAAyC;QACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC;IACnD,CAAC;CACJ"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Implements utility to forward events from one eventEmitter to another.
3
+ * @param src {object} instance of EventEmitter or another class that implements
4
+ * addListener method which will register listener to EventEmitter instance.
5
+ * @param dest {object} instance of EventEmitter or another class that
6
+ * implements emit method which will emit an event.
7
+ */
8
+ export default class EventEmitterForwarder {
9
+ /**
10
+ * @constructor
11
+ */
12
+ constructor(src, dest) {
13
+ if (!src || !dest || typeof src.addListener !== 'function' || typeof dest.emit !== 'function') {
14
+ throw new Error('Invalid arguments passed to EventEmitterForwarder');
15
+ }
16
+ this.src = src;
17
+ this.dest = dest;
18
+ this.listeners = new Map();
19
+ }
20
+ /**
21
+ * Adds event to be forwarded from src to dest.
22
+ * @param srcEvent {string} the event that EventEmitterForwarder is listening
23
+ * for.
24
+ * @param dstEvent {string} the event that will be fired from dest.
25
+ * @param arguments all other passed arguments are going to be fired with
26
+ * dstEvent.
27
+ */
28
+ forward(...args) {
29
+ const srcEvent = args[0];
30
+ // This will be the "this" value for emit function.
31
+ args[0] = this.dest;
32
+ // Using bind.apply to pass the arguments as Array-like object ("arguments")
33
+ const newListener = Function.prototype.bind.apply(this.dest.emit, args);
34
+ this.src.addListener(srcEvent, newListener);
35
+ this.listeners.set(srcEvent, newListener);
36
+ }
37
+ /**
38
+ * Clears the listeners for the supplied events.
39
+ *
40
+ * @param args all the events which listeners to be cleaned.
41
+ */
42
+ removeListeners(...args) {
43
+ args.forEach(a => {
44
+ const l = this.listeners.get(a);
45
+ if (l) {
46
+ this.src.removeListener(a, l);
47
+ this.listeners.delete(a);
48
+ }
49
+ });
50
+ }
51
+ }
52
+ //# sourceMappingURL=EventEmitterForwarder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitterForwarder.js","sourceRoot":"","sources":["../../../../modules/util/EventEmitterForwarder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAKtC;;OAEG;IACH,YAAY,GAAQ,EAAE,IAAS;QAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,IAAI;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,mDAAmD;QACnD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAEpB,4EAA4E;QAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAExE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAG,IAAI;QACnB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACb,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}