mediasfu-angular 1.0.2 → 2.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 (281) hide show
  1. package/README.md +678 -578
  2. package/dist/README.md +677 -578
  3. package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
  7. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
  8. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
  9. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
  10. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
  11. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
  12. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
  13. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
  14. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
  15. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
  16. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
  17. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  18. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
  19. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
  20. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
  21. package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
  22. package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
  23. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
  24. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
  25. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
  26. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
  27. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
  28. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
  29. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
  30. package/dist/lib/consumers/trigger.service.d.ts +3 -0
  31. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
  32. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
  33. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
  34. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
  35. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
  36. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  37. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  38. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  39. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  40. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  41. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
  42. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  43. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
  44. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
  45. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
  46. package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
  47. package/dist/public-api.d.ts +11 -1
  48. package/package.json +17 -20
  49. package/dist/esm2022/lib/@types/types.mjs +0 -2
  50. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
  51. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
  52. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
  53. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  54. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
  55. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
  56. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
  57. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
  58. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
  59. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
  60. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  61. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
  62. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
  63. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
  64. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
  65. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
  66. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
  67. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
  68. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
  69. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
  70. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
  71. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
  72. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
  73. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
  74. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
  75. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
  76. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
  77. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
  78. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  79. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
  80. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
  81. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
  82. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
  83. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
  84. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
  85. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
  86. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
  87. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
  88. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
  89. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
  90. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
  91. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
  92. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
  93. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
  94. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
  95. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
  96. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
  97. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
  98. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
  99. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
  100. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
  101. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
  102. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
  103. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
  104. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
  105. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
  106. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
  107. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
  108. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
  109. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
  110. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
  111. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
  112. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
  113. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
  114. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
  115. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
  116. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
  117. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
  118. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
  119. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
  120. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
  121. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
  122. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
  123. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
  124. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
  125. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
  126. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
  127. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
  128. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
  129. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
  130. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
  131. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
  132. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
  133. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
  134. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
  135. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
  136. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
  137. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
  138. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
  139. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
  140. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
  141. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
  142. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
  143. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
  144. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
  145. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
  146. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
  147. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
  148. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
  149. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
  150. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
  151. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
  152. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
  153. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
  154. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
  155. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
  156. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
  157. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
  158. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
  159. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
  160. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
  161. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
  162. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  163. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
  164. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
  165. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
  166. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
  167. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
  168. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
  169. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
  170. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
  171. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
  172. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
  173. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
  174. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
  175. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
  176. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
  177. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
  178. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
  179. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
  180. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
  181. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
  182. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
  183. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
  184. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
  185. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
  186. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
  187. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
  188. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
  189. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
  190. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
  191. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
  192. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
  193. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
  194. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
  195. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
  196. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
  197. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
  198. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
  199. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
  200. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
  201. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
  202. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
  203. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
  204. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
  205. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
  206. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
  207. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
  208. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
  209. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
  210. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
  211. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
  212. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
  213. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
  214. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
  215. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
  216. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
  217. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
  218. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
  219. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
  220. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
  221. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
  222. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
  223. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
  224. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
  225. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
  226. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
  227. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
  228. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
  229. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
  230. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  231. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
  232. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
  233. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
  234. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
  235. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
  236. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
  237. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
  238. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
  239. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
  240. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
  241. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
  242. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
  243. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
  244. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
  245. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
  246. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
  247. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
  248. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
  249. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
  250. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
  251. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
  252. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
  253. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
  254. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
  255. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
  256. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
  257. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
  258. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
  259. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
  260. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
  261. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
  262. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
  263. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
  264. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
  265. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
  266. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
  267. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
  268. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
  269. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
  270. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
  271. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
  272. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
  273. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
  274. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
  275. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
  276. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
  277. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
  278. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
  279. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
  280. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  281. package/dist/esm2022/public-api.mjs +0 -187
@@ -1,101 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Processes consumer transports for audio streams by pausing and resuming them based on their current state and the provided streams.
5
- *
6
- * This method checks the state of each audio consumer transport and either pauses or resumes it depending on the presence of its producer ID in the provided list of streams.
7
- * It uses a sleep function to introduce a delay between the pause and resume operations to ensure smooth transitions.
8
- *
9
- * @param {ProcessConsumerTransportsAudioOptions} options - The options for processing consumer transports.
10
- * @param {Array<Transport>} options.consumerTransports - The list of consumer transports to process.
11
- * @param {Array<(Stream | Participant)>} options.lStreams - The list of local streams to check against.
12
- * @param {ProcessConsumerTransportsAudioParameters} options.parameters - Additional parameters for processing.
13
- * @param {Function} options.parameters.sleep - A function to pause execution for a specified duration.
14
- *
15
- * @returns {Promise<void>} A promise that resolves when the processing is complete.
16
- *
17
- * @throws {Error} Will throw an error if there is an issue processing the consumer transports.
18
- *
19
- * @example
20
- * ```typescript
21
- * const options = {
22
- * consumerTransports: [,
23
- * lStreams: [],
24
- * parameters: {
25
- * sleep: async ({ ms }) => new Promise(resolve => setTimeout(resolve, ms)),
26
- * },
27
- * };
28
- *
29
- * await processConsumerTransportsAudio(options);
30
- * ```
31
- */
32
- export class ProcessConsumerTransportsAudio {
33
- /**
34
- * Processes consumer transports for audio streams by pausing and resuming them based on their current state and the provided streams.
35
- *
36
- * @param {Object} options - The options for processing consumer transports.
37
- * @param {Array} options.consumerTransports - The list of consumer transports to process.
38
- * @param {Array} options.lStreams - The list of local streams to check against.
39
- * @param {Object} options.parameters - Additional parameters for processing.
40
- * @param {Function} options.parameters.sleep - A function to pause execution for a specified duration.
41
- *
42
- * @returns {Promise<void>} A promise that resolves when the processing is complete.
43
- *
44
- * @throws Will throw an error if there is an issue processing the consumer transports.
45
- */
46
- processConsumerTransportsAudio = async ({ consumerTransports, lStreams, parameters, }) => {
47
- try {
48
- const { sleep } = parameters;
49
- // Function to check if the producerId is valid
50
- const isValidProducerId = (producerId, ...streamArrays) => {
51
- return (producerId !== null &&
52
- producerId !== '' &&
53
- streamArrays.some((streamArray) => {
54
- return (streamArray.length > 0 &&
55
- streamArray.some((stream) => stream?.producerId === producerId));
56
- }));
57
- };
58
- // Get paused consumer transports that are audio
59
- const consumerTransportsToResume = consumerTransports.filter((transport) => isValidProducerId(transport.producerId, lStreams) &&
60
- transport.consumer?.paused === true &&
61
- transport.consumer.kind === 'audio');
62
- // Get unpaused consumer transports that are audio
63
- const consumerTransportsToPause = consumerTransports.filter((transport) => transport.producerId &&
64
- transport.producerId !== null &&
65
- transport.producerId !== '' &&
66
- !lStreams.some((stream) => stream.producerId === transport.producerId) &&
67
- transport.consumer &&
68
- transport.consumer.kind &&
69
- transport.consumer.paused !== true &&
70
- transport.consumer.kind === 'audio');
71
- await sleep({ ms: 100 });
72
- // Emit consumer.pause() for each transport to pause
73
- for (const transport of consumerTransportsToPause) {
74
- transport.consumer.pause();
75
- transport.socket_.emit('consumer-pause', { serverConsumerId: transport.serverConsumerTransportId }, async () => {
76
- // Do something after the consumer is paused
77
- });
78
- }
79
- // Emit consumer.resume() for each transport to resume
80
- for (const transport of consumerTransportsToResume) {
81
- transport.socket_.emit('consumer-resume', { serverConsumerId: transport.serverConsumerTransportId }, async ({ resumed }) => {
82
- if (resumed) {
83
- transport.consumer.resume();
84
- }
85
- });
86
- }
87
- }
88
- catch (error) {
89
- console.log(`Error in processConsumerTransportsAudio: ${error.message}`);
90
- }
91
- };
92
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProcessConsumerTransportsAudio, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
93
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProcessConsumerTransportsAudio, providedIn: 'root' });
94
- }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProcessConsumerTransportsAudio, decorators: [{
96
- type: Injectable,
97
- args: [{
98
- providedIn: 'root',
99
- }]
100
- }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1jb25zdW1lci10cmFuc3BvcnRzLWF1ZGlvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29uc3VtZXJzL3Byb2Nlc3MtY29uc3VtZXItdHJhbnNwb3J0cy1hdWRpby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBb0IzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFDekM7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsOEJBQThCLEdBQUcsS0FBSyxFQUFFLEVBQ3RDLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsVUFBVSxHQUM0QixFQUFpQixFQUFFO1FBQ3pELElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFFN0IsK0NBQStDO1lBQy9DLE1BQU0saUJBQWlCLEdBQUcsQ0FDeEIsVUFBa0IsRUFDbEIsR0FBRyxZQUF3QyxFQUNsQyxFQUFFO2dCQUNYLE9BQU8sQ0FDTCxVQUFVLEtBQUssSUFBSTtvQkFDbkIsVUFBVSxLQUFLLEVBQUU7b0JBQ2pCLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTt3QkFDaEMsT0FBTyxDQUNMLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQzs0QkFDdEIsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FDaEUsQ0FBQztvQkFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQyxDQUFDO1lBRUYsZ0RBQWdEO1lBQ2hELE1BQU0sMEJBQTBCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUMxRCxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ1osaUJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7Z0JBQ2pELFNBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxLQUFLLElBQUk7Z0JBQ25DLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FDdEMsQ0FBQztZQUVGLGtEQUFrRDtZQUNsRCxNQUFNLHlCQUF5QixHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FDekQsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNaLFNBQVMsQ0FBQyxVQUFVO2dCQUNwQixTQUFTLENBQUMsVUFBVSxLQUFLLElBQUk7Z0JBQzdCLFNBQVMsQ0FBQyxVQUFVLEtBQUssRUFBRTtnQkFDM0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3RFLFNBQVMsQ0FBQyxRQUFRO2dCQUNsQixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUk7Z0JBQ3ZCLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUk7Z0JBQ2xDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FDdEMsQ0FBQztZQUVGLE1BQU0sS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFekIsb0RBQW9EO1lBQ3BELEtBQUssTUFBTSxTQUFTLElBQUkseUJBQXlCLEVBQUUsQ0FBQztnQkFDbEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BCLGdCQUFnQixFQUNoQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRSxFQUN6RCxLQUFLLElBQUksRUFBRTtvQkFDVCw0Q0FBNEM7Z0JBQzlDLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQztZQUVELHNEQUFzRDtZQUN0RCxLQUFLLE1BQU0sU0FBUyxJQUFJLDBCQUEwQixFQUFFLENBQUM7Z0JBQ25ELFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixpQkFBaUIsRUFDakIsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMseUJBQXlCLEVBQUUsRUFDekQsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUF3QixFQUFFLEVBQUU7b0JBQzFDLElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDOUIsQ0FBQztnQkFDSCxDQUFDLENBQ0YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDO3VHQXpGUyw4QkFBOEI7MkdBQTlCLDhCQUE4QixjQUY3QixNQUFNOzsyRkFFUCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RyZWFtLCBUcmFuc3BvcnQsIFBhcnRpY2lwYW50LCBTbGVlcFR5cGUgfSBmcm9tICcuLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpb1BhcmFtZXRlcnMge1xuICAvLyBtZWRpYXNmdSBmdW5jdGlvbnNcbiAgc2xlZXA6IFNsZWVwVHlwZTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpb09wdGlvbnMge1xuICBjb25zdW1lclRyYW5zcG9ydHM6IFRyYW5zcG9ydFtdO1xuICBsU3RyZWFtczogKFN0cmVhbSB8IFBhcnRpY2lwYW50KVtdO1xuICBwYXJhbWV0ZXJzOiBQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzQXVkaW9QYXJhbWV0ZXJzO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzQXVkaW9UeXBlID0gKFxuICBvcHRpb25zOiBQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzQXVkaW9PcHRpb25zLFxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4vKipcbiAqIFByb2Nlc3NlcyBjb25zdW1lciB0cmFuc3BvcnRzIGZvciBhdWRpbyBzdHJlYW1zIGJ5IHBhdXNpbmcgYW5kIHJlc3VtaW5nIHRoZW0gYmFzZWQgb24gdGhlaXIgY3VycmVudCBzdGF0ZSBhbmQgdGhlIHByb3ZpZGVkIHN0cmVhbXMuXG4gKlxuICogVGhpcyBtZXRob2QgY2hlY2tzIHRoZSBzdGF0ZSBvZiBlYWNoIGF1ZGlvIGNvbnN1bWVyIHRyYW5zcG9ydCBhbmQgZWl0aGVyIHBhdXNlcyBvciByZXN1bWVzIGl0IGRlcGVuZGluZyBvbiB0aGUgcHJlc2VuY2Ugb2YgaXRzIHByb2R1Y2VyIElEIGluIHRoZSBwcm92aWRlZCBsaXN0IG9mIHN0cmVhbXMuXG4gKiBJdCB1c2VzIGEgc2xlZXAgZnVuY3Rpb24gdG8gaW50cm9kdWNlIGEgZGVsYXkgYmV0d2VlbiB0aGUgcGF1c2UgYW5kIHJlc3VtZSBvcGVyYXRpb25zIHRvIGVuc3VyZSBzbW9vdGggdHJhbnNpdGlvbnMuXG4gKlxuICogQHBhcmFtIHtQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzQXVkaW9PcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29uc3VtZXIgdHJhbnNwb3J0cy5cbiAqIEBwYXJhbSB7QXJyYXk8VHJhbnNwb3J0Pn0gb3B0aW9ucy5jb25zdW1lclRyYW5zcG9ydHMgLSBUaGUgbGlzdCBvZiBjb25zdW1lciB0cmFuc3BvcnRzIHRvIHByb2Nlc3MuXG4gKiBAcGFyYW0ge0FycmF5PChTdHJlYW0gfCBQYXJ0aWNpcGFudCk+fSBvcHRpb25zLmxTdHJlYW1zIC0gVGhlIGxpc3Qgb2YgbG9jYWwgc3RyZWFtcyB0byBjaGVjayBhZ2FpbnN0LlxuICogQHBhcmFtIHtQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzQXVkaW9QYXJhbWV0ZXJzfSBvcHRpb25zLnBhcmFtZXRlcnMgLSBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHByb2Nlc3NpbmcuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuc2xlZXAgLSBBIGZ1bmN0aW9uIHRvIHBhdXNlIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgZHVyYXRpb24uXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByb2Nlc3NpbmcgaXMgY29tcGxldGUuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYW4gaXNzdWUgcHJvY2Vzc2luZyB0aGUgY29uc3VtZXIgdHJhbnNwb3J0cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb3B0aW9ucyA9IHtcbiAqICAgY29uc3VtZXJUcmFuc3BvcnRzOiBbLFxuICogICBsU3RyZWFtczogW10sXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICBzbGVlcDogYXN5bmMgKHsgbXMgfSkgPT4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSksXG4gKiAgIH0sXG4gKiB9O1xuICpcbiAqIGF3YWl0IHByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpbyhvcHRpb25zKTtcbiAqIGBgYFxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpbyB7XG4gIC8qKlxuICAgKiBQcm9jZXNzZXMgY29uc3VtZXIgdHJhbnNwb3J0cyBmb3IgYXVkaW8gc3RyZWFtcyBieSBwYXVzaW5nIGFuZCByZXN1bWluZyB0aGVtIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgc3RhdGUgYW5kIHRoZSBwcm92aWRlZCBzdHJlYW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBwcm9jZXNzaW5nIGNvbnN1bWVyIHRyYW5zcG9ydHMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMuY29uc3VtZXJUcmFuc3BvcnRzIC0gVGhlIGxpc3Qgb2YgY29uc3VtZXIgdHJhbnNwb3J0cyB0byBwcm9jZXNzLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLmxTdHJlYW1zIC0gVGhlIGxpc3Qgb2YgbG9jYWwgc3RyZWFtcyB0byBjaGVjayBhZ2FpbnN0LlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gQWRkaXRpb25hbCBwYXJhbWV0ZXJzIGZvciBwcm9jZXNzaW5nLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuc2xlZXAgLSBBIGZ1bmN0aW9uIHRvIHBhdXNlIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgZHVyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYW4gaXNzdWUgcHJvY2Vzc2luZyB0aGUgY29uc3VtZXIgdHJhbnNwb3J0cy5cbiAgICovXG4gIHByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpbyA9IGFzeW5jICh7XG4gICAgY29uc3VtZXJUcmFuc3BvcnRzLFxuICAgIGxTdHJlYW1zLFxuICAgIHBhcmFtZXRlcnMsXG4gIH06IFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNBdWRpb09wdGlvbnMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBzbGVlcCB9ID0gcGFyYW1ldGVycztcblxuICAgICAgLy8gRnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIHByb2R1Y2VySWQgaXMgdmFsaWRcbiAgICAgIGNvbnN0IGlzVmFsaWRQcm9kdWNlcklkID0gKFxuICAgICAgICBwcm9kdWNlcklkOiBzdHJpbmcsXG4gICAgICAgIC4uLnN0cmVhbUFycmF5czogKFN0cmVhbSB8IFBhcnRpY2lwYW50KVtdW11cbiAgICAgICk6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHByb2R1Y2VySWQgIT09IG51bGwgJiZcbiAgICAgICAgICBwcm9kdWNlcklkICE9PSAnJyAmJlxuICAgICAgICAgIHN0cmVhbUFycmF5cy5zb21lKChzdHJlYW1BcnJheSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgc3RyZWFtQXJyYXkubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICBzdHJlYW1BcnJheS5zb21lKChzdHJlYW0pID0+IHN0cmVhbT8ucHJvZHVjZXJJZCA9PT0gcHJvZHVjZXJJZClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEdldCBwYXVzZWQgY29uc3VtZXIgdHJhbnNwb3J0cyB0aGF0IGFyZSBhdWRpb1xuICAgICAgY29uc3QgY29uc3VtZXJUcmFuc3BvcnRzVG9SZXN1bWUgPSBjb25zdW1lclRyYW5zcG9ydHMuZmlsdGVyKFxuICAgICAgICAodHJhbnNwb3J0KSA9PlxuICAgICAgICAgIGlzVmFsaWRQcm9kdWNlcklkKHRyYW5zcG9ydC5wcm9kdWNlcklkLCBsU3RyZWFtcykgJiZcbiAgICAgICAgICB0cmFuc3BvcnQuY29uc3VtZXI/LnBhdXNlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgIHRyYW5zcG9ydC5jb25zdW1lci5raW5kID09PSAnYXVkaW8nLFxuICAgICAgKTtcblxuICAgICAgLy8gR2V0IHVucGF1c2VkIGNvbnN1bWVyIHRyYW5zcG9ydHMgdGhhdCBhcmUgYXVkaW9cbiAgICAgIGNvbnN0IGNvbnN1bWVyVHJhbnNwb3J0c1RvUGF1c2UgPSBjb25zdW1lclRyYW5zcG9ydHMuZmlsdGVyKFxuICAgICAgICAodHJhbnNwb3J0KSA9PlxuICAgICAgICAgIHRyYW5zcG9ydC5wcm9kdWNlcklkICYmXG4gICAgICAgICAgdHJhbnNwb3J0LnByb2R1Y2VySWQgIT09IG51bGwgJiZcbiAgICAgICAgICB0cmFuc3BvcnQucHJvZHVjZXJJZCAhPT0gJycgJiZcbiAgICAgICAgICAhbFN0cmVhbXMuc29tZSgoc3RyZWFtKSA9PiBzdHJlYW0ucHJvZHVjZXJJZCA9PT0gdHJhbnNwb3J0LnByb2R1Y2VySWQpICYmXG4gICAgICAgICAgdHJhbnNwb3J0LmNvbnN1bWVyICYmXG4gICAgICAgICAgdHJhbnNwb3J0LmNvbnN1bWVyLmtpbmQgJiZcbiAgICAgICAgICB0cmFuc3BvcnQuY29uc3VtZXIucGF1c2VkICE9PSB0cnVlICYmXG4gICAgICAgICAgdHJhbnNwb3J0LmNvbnN1bWVyLmtpbmQgPT09ICdhdWRpbycsXG4gICAgICApO1xuXG4gICAgICBhd2FpdCBzbGVlcCh7IG1zOiAxMDAgfSk7XG5cbiAgICAgIC8vIEVtaXQgY29uc3VtZXIucGF1c2UoKSBmb3IgZWFjaCB0cmFuc3BvcnQgdG8gcGF1c2VcbiAgICAgIGZvciAoY29uc3QgdHJhbnNwb3J0IG9mIGNvbnN1bWVyVHJhbnNwb3J0c1RvUGF1c2UpIHtcbiAgICAgICAgdHJhbnNwb3J0LmNvbnN1bWVyLnBhdXNlKCk7XG4gICAgICAgIHRyYW5zcG9ydC5zb2NrZXRfLmVtaXQoXG4gICAgICAgICAgJ2NvbnN1bWVyLXBhdXNlJyxcbiAgICAgICAgICB7IHNlcnZlckNvbnN1bWVySWQ6IHRyYW5zcG9ydC5zZXJ2ZXJDb25zdW1lclRyYW5zcG9ydElkIH0sXG4gICAgICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgLy8gRG8gc29tZXRoaW5nIGFmdGVyIHRoZSBjb25zdW1lciBpcyBwYXVzZWRcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBFbWl0IGNvbnN1bWVyLnJlc3VtZSgpIGZvciBlYWNoIHRyYW5zcG9ydCB0byByZXN1bWVcbiAgICAgIGZvciAoY29uc3QgdHJhbnNwb3J0IG9mIGNvbnN1bWVyVHJhbnNwb3J0c1RvUmVzdW1lKSB7XG4gICAgICAgIHRyYW5zcG9ydC5zb2NrZXRfLmVtaXQoXG4gICAgICAgICAgJ2NvbnN1bWVyLXJlc3VtZScsXG4gICAgICAgICAgeyBzZXJ2ZXJDb25zdW1lcklkOiB0cmFuc3BvcnQuc2VydmVyQ29uc3VtZXJUcmFuc3BvcnRJZCB9LFxuICAgICAgICAgIGFzeW5jICh7IHJlc3VtZWQgfTogeyByZXN1bWVkOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bWVkKSB7XG4gICAgICAgICAgICAgIHRyYW5zcG9ydC5jb25zdW1lci5yZXN1bWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBFcnJvciBpbiBwcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzQXVkaW86ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -1,128 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Processes consumer transports by pausing and resuming them based on certain conditions.
5
- *
6
- * This method checks the state of each consumer transport and determines whether to pause or resume
7
- * based on the validity of the producer ID in relation to the provided streams.
8
- * It utilizes a sleep function to introduce a delay before pausing the transports.
9
- *
10
- * @param {ProcessConsumerTransportsOptions} options - The options for processing consumer transports.
11
- * @param {Array<Transport>} options.consumerTransports - The list of consumer transports to process.
12
- * @param {Array<Stream | Participant>} options.lStreams_ - The list of local streams.
13
- * @param {ProcessConsumerTransportsParameters} options.parameters - The parameters for processing, including:
14
- * - {Array<Stream>} options.parameters.remoteScreenStream - The list of remote screen streams.
15
- * - {Array<Stream | Participant>} options.parameters.oldAllStreams - The list of old streams.
16
- * - {Array<Stream | Participant>} options.parameters.newLimitedStreams - The list of new limited streams.
17
- * - {Function} options.parameters.sleep - A function to pause execution for a specified duration.
18
- * - {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
19
- *
20
- * @returns {Promise<void>} A promise that resolves when the processing is complete.
21
- *
22
- * @throws {Error} Will throw an error if there is an issue processing consumer transports.
23
- *
24
- * @example
25
- * ```typescript
26
- * const options = {
27
- * consumerTransports: [],
28
- * lStreams_: [],
29
- * parameters: {
30
- * remoteScreenStream: [],
31
- * oldAllStreams: [],
32
- * newLimitedStreams: [],
33
- * sleep: async ({ ms }) => new Promise(resolve => setTimeout(resolve, ms)),
34
- * },
35
- * };
36
- *
37
- * await processConsumerTransports(options);
38
- * ```
39
- */
40
- export class ProcessConsumerTransports {
41
- /**
42
- * Processes consumer transports by pausing and resuming them based on certain conditions.
43
- *
44
- * @param {Object} options - The options for processing consumer transports.
45
- * @param {Array} options.consumerTransports - The list of consumer transports to process.
46
- * @param {Array} options.lStreams_ - The list of local streams.
47
- * @param {Object} options.parameters - The parameters object containing various stream arrays and utility functions.
48
- *
49
- * @returns {Promise<void>} - A promise that resolves when the processing is complete.
50
- *
51
- * @throws {Error} - Throws an error if there is an issue processing consumer transports.
52
- *
53
- * The function performs the following steps:
54
- * 1. Destructures and updates the parameters.
55
- * 2. Defines a helper function to check if a producerId is valid in given stream arrays.
56
- * 3. Filters consumer transports to resume based on certain conditions.
57
- * 4. Filters consumer transports to pause based on certain conditions.
58
- * 5. Pauses consumer transports after a short delay.
59
- * 6. Emits `consumer-pause` event for each filtered transport (not audio).
60
- * 7. Emits `consumer-resume` event for each filtered transport (not audio).
61
- */
62
- processConsumerTransports = async ({ consumerTransports, lStreams_, parameters, }) => {
63
- try {
64
- // Destructure parameters
65
- let { getUpdatedAllParams } = parameters;
66
- parameters = getUpdatedAllParams();
67
- const { remoteScreenStream, oldAllStreams, newLimitedStreams,
68
- // mediasfu functions
69
- sleep, } = parameters;
70
- // Function to check if the producerId is valid in the given stream arrays
71
- const isValidProducerId = (producerId, ...streamArrays) => {
72
- return (producerId !== null &&
73
- producerId !== '' &&
74
- streamArrays.some((streamArray) => {
75
- return (streamArray.length > 0 &&
76
- streamArray.some((stream) => stream?.producerId === producerId));
77
- }));
78
- };
79
- // Get paused consumer transports that are not audio
80
- const consumerTransportsToResume = consumerTransports.filter((transport) => isValidProducerId(transport.producerId, lStreams_, remoteScreenStream, oldAllStreams, newLimitedStreams) &&
81
- transport.consumer?.paused === true &&
82
- transport.consumer.kind !== 'audio');
83
- // Get unpaused consumer transports that are not audio
84
- const consumerTransportsToPause = consumerTransports.filter((transport) => transport.producerId &&
85
- transport.producerId !== null &&
86
- transport.producerId !== '' &&
87
- !lStreams_.some((stream) => stream.producerId === transport.producerId) &&
88
- transport.consumer &&
89
- transport.consumer.kind &&
90
- transport.consumer.paused !== true &&
91
- transport.consumer.kind !== 'audio' &&
92
- !remoteScreenStream.some((stream) => stream.producerId === transport.producerId) &&
93
- !oldAllStreams.some((stream) => stream.producerId === transport.producerId) &&
94
- !newLimitedStreams.some((stream) => stream.producerId === transport.producerId));
95
- // Pause consumer transports after a short delay
96
- await sleep({ ms: 100 });
97
- // Emit consumer.pause() for each filtered transport (not audio)
98
- for (const transport of consumerTransportsToPause) {
99
- transport.consumer.pause();
100
- transport.socket_.emit('consumer-pause', { serverConsumerId: transport.serverConsumerTransportId }, async () => {
101
- // Handle the response if needed
102
- });
103
- }
104
- // Emit consumer.resume() for each filtered transport (not audio)
105
- for (const transport of consumerTransportsToResume) {
106
- transport.socket_.emit('consumer-resume', { serverConsumerId: transport.serverConsumerTransportId }, async ({ resumed }) => {
107
- if (resumed) {
108
- transport.consumer.resume();
109
- }
110
- });
111
- }
112
- }
113
- catch (error) {
114
- // Handle errors during the process of pausing or resuming consumer transports
115
- console.log(`Error processing consumer transports: ${error.message}`);
116
- // throw new Error(`Error processing consumer transports: ${error.message}`);
117
- }
118
- };
119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProcessConsumerTransports, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
120
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProcessConsumerTransports, providedIn: 'root' });
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ProcessConsumerTransports, decorators: [{
123
- type: Injectable,
124
- args: [{
125
- providedIn: 'root',
126
- }]
127
- }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1jb25zdW1lci10cmFuc3BvcnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29uc3VtZXJzL3Byb2Nlc3MtY29uc3VtZXItdHJhbnNwb3J0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBeUIzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FBS0gsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSCx5QkFBeUIsR0FBRyxLQUFLLEVBQUUsRUFDakMsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxVQUFVLEdBQ3VCLEVBQWlCLEVBQUU7UUFDcEQsSUFBSSxDQUFDO1lBQ0gseUJBQXlCO1lBQ3pCLElBQUksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUN6QyxVQUFVLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztZQUVuQyxNQUFNLEVBQ0osa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLEtBQUssR0FDTixHQUFHLFVBQVUsQ0FBQztZQUVmLDBFQUEwRTtZQUMxRSxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLFVBQWtCLEVBQ2xCLEdBQUcsWUFBd0MsRUFDbEMsRUFBRTtnQkFDWCxPQUFPLENBQ0wsVUFBVSxLQUFLLElBQUk7b0JBQ25CLFVBQVUsS0FBSyxFQUFFO29CQUNqQixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7d0JBQ2hDLE9BQU8sQ0FDTCxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUM7NEJBQ3RCLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEtBQUssVUFBVSxDQUFDLENBQ2hFLENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQztZQUVGLG9EQUFvRDtZQUNwRCxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FDMUQsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNaLGlCQUFpQixDQUNmLFNBQVMsQ0FBQyxVQUFVLEVBQ3BCLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGlCQUFpQixDQUNsQjtnQkFDRCxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sS0FBSyxJQUFJO2dCQUNuQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQ3RDLENBQUM7WUFFRixzREFBc0Q7WUFDdEQsTUFBTSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3pELENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixTQUFTLENBQUMsVUFBVTtnQkFDcEIsU0FBUyxDQUFDLFVBQVUsS0FBSyxJQUFJO2dCQUM3QixTQUFTLENBQUMsVUFBVSxLQUFLLEVBQUU7Z0JBQzNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDO2dCQUN2RSxTQUFTLENBQUMsUUFBUTtnQkFDbEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUN2QixTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxJQUFJO2dCQUNsQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPO2dCQUNuQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDO2dCQUNyRixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDaEYsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUN2RixDQUFDO1lBRUYsZ0RBQWdEO1lBQ2hELE1BQU0sS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFekIsZ0VBQWdFO1lBQ2hFLEtBQUssTUFBTSxTQUFTLElBQUkseUJBQXlCLEVBQUUsQ0FBQztnQkFDbEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BCLGdCQUFnQixFQUNoQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRSxFQUN6RCxLQUFLLElBQUksRUFBRTtvQkFDVCxnQ0FBZ0M7Z0JBQ2xDLENBQUMsQ0FDRixDQUFDO1lBQ0osQ0FBQztZQUVELGlFQUFpRTtZQUNqRSxLQUFLLE1BQU0sU0FBUyxJQUFJLDBCQUEwQixFQUFFLENBQUM7Z0JBQ25ELFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixpQkFBaUIsRUFDakIsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMseUJBQXlCLEVBQUUsRUFDekQsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUF3QixFQUFFLEVBQUU7b0JBQzFDLElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDOUIsQ0FBQztnQkFDSCxDQUFDLENBQ0YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQiw4RUFBOEU7WUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEUsNkVBQTZFO1FBQy9FLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBdkhTLHlCQUF5QjsyR0FBekIseUJBQXlCLGNBRnhCLE1BQU07OzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJlYW0sIFBhcnRpY2lwYW50LCBUcmFuc3BvcnQsIFNsZWVwVHlwZSB9IGZyb20gJy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0NvbnN1bWVyVHJhbnNwb3J0c1BhcmFtZXRlcnMge1xuICByZW1vdGVTY3JlZW5TdHJlYW06IFN0cmVhbVtdO1xuICBvbGRBbGxTdHJlYW1zOiAoU3RyZWFtIHwgUGFydGljaXBhbnQpW107XG4gIG5ld0xpbWl0ZWRTdHJlYW1zOiAoU3RyZWFtIHwgUGFydGljaXBhbnQpW107XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIHNsZWVwOiBTbGVlcFR5cGU7XG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0NvbnN1bWVyVHJhbnNwb3J0c09wdGlvbnMge1xuICBjb25zdW1lclRyYW5zcG9ydHM6IFRyYW5zcG9ydFtdO1xuICBsU3RyZWFtc186IChTdHJlYW0gfCBQYXJ0aWNpcGFudClbXTtcbiAgcGFyYW1ldGVyczogUHJvY2Vzc0NvbnN1bWVyVHJhbnNwb3J0c1BhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNUeXBlID0gKFxuICBvcHRpb25zOiBQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzT3B0aW9ucyxcbikgPT4gUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBQcm9jZXNzZXMgY29uc3VtZXIgdHJhbnNwb3J0cyBieSBwYXVzaW5nIGFuZCByZXN1bWluZyB0aGVtIGJhc2VkIG9uIGNlcnRhaW4gY29uZGl0aW9ucy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjaGVja3MgdGhlIHN0YXRlIG9mIGVhY2ggY29uc3VtZXIgdHJhbnNwb3J0IGFuZCBkZXRlcm1pbmVzIHdoZXRoZXIgdG8gcGF1c2Ugb3IgcmVzdW1lXG4gKiBiYXNlZCBvbiB0aGUgdmFsaWRpdHkgb2YgdGhlIHByb2R1Y2VyIElEIGluIHJlbGF0aW9uIHRvIHRoZSBwcm92aWRlZCBzdHJlYW1zLlxuICogSXQgdXRpbGl6ZXMgYSBzbGVlcCBmdW5jdGlvbiB0byBpbnRyb2R1Y2UgYSBkZWxheSBiZWZvcmUgcGF1c2luZyB0aGUgdHJhbnNwb3J0cy5cbiAqXG4gKiBAcGFyYW0ge1Byb2Nlc3NDb25zdW1lclRyYW5zcG9ydHNPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29uc3VtZXIgdHJhbnNwb3J0cy5cbiAqIEBwYXJhbSB7QXJyYXk8VHJhbnNwb3J0Pn0gb3B0aW9ucy5jb25zdW1lclRyYW5zcG9ydHMgLSBUaGUgbGlzdCBvZiBjb25zdW1lciB0cmFuc3BvcnRzIHRvIHByb2Nlc3MuXG4gKiBAcGFyYW0ge0FycmF5PFN0cmVhbSB8IFBhcnRpY2lwYW50Pn0gb3B0aW9ucy5sU3RyZWFtc18gLSBUaGUgbGlzdCBvZiBsb2NhbCBzdHJlYW1zLlxuICogQHBhcmFtIHtQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzUGFyYW1ldGVyc30gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHByb2Nlc3NpbmcsIGluY2x1ZGluZzpcbiAqICAgLSB7QXJyYXk8U3RyZWFtPn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlbW90ZVNjcmVlblN0cmVhbSAtIFRoZSBsaXN0IG9mIHJlbW90ZSBzY3JlZW4gc3RyZWFtcy5cbiAqICAgLSB7QXJyYXk8U3RyZWFtIHwgUGFydGljaXBhbnQ+fSBvcHRpb25zLnBhcmFtZXRlcnMub2xkQWxsU3RyZWFtcyAtIFRoZSBsaXN0IG9mIG9sZCBzdHJlYW1zLlxuICogICAtIHtBcnJheTxTdHJlYW0gfCBQYXJ0aWNpcGFudD59IG9wdGlvbnMucGFyYW1ldGVycy5uZXdMaW1pdGVkU3RyZWFtcyAtIFRoZSBsaXN0IG9mIG5ldyBsaW1pdGVkIHN0cmVhbXMuXG4gKiAgIC0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuc2xlZXAgLSBBIGZ1bmN0aW9uIHRvIHBhdXNlIGV4ZWN1dGlvbiBmb3IgYSBzcGVjaWZpZWQgZHVyYXRpb24uXG4gKiAgIC0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcyAtIEZ1bmN0aW9uIHRvIGdldCB1cGRhdGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByb2Nlc3NpbmcgaXMgY29tcGxldGUuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYW4gaXNzdWUgcHJvY2Vzc2luZyBjb25zdW1lciB0cmFuc3BvcnRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvcHRpb25zID0ge1xuICogICBjb25zdW1lclRyYW5zcG9ydHM6IFtdLFxuICogICBsU3RyZWFtc186IFtdLFxuICogICBwYXJhbWV0ZXJzOiB7XG4gKiAgICAgcmVtb3RlU2NyZWVuU3RyZWFtOiBbXSxcbiAqICAgICBvbGRBbGxTdHJlYW1zOiBbXSxcbiAqICAgICBuZXdMaW1pdGVkU3RyZWFtczogW10sXG4gKiAgICAgc2xlZXA6IGFzeW5jICh7IG1zIH0pID0+IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpLFxuICogICB9LFxuICogfTtcbiAqXG4gKiBhd2FpdCBwcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzKG9wdGlvbnMpO1xuICogYGBgXG4gKi9cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NDb25zdW1lclRyYW5zcG9ydHMge1xuICAvKipcbiAgICogUHJvY2Vzc2VzIGNvbnN1bWVyIHRyYW5zcG9ydHMgYnkgcGF1c2luZyBhbmQgcmVzdW1pbmcgdGhlbSBiYXNlZCBvbiBjZXJ0YWluIGNvbmRpdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29uc3VtZXIgdHJhbnNwb3J0cy5cbiAgICogQHBhcmFtIHtBcnJheX0gb3B0aW9ucy5jb25zdW1lclRyYW5zcG9ydHMgLSBUaGUgbGlzdCBvZiBjb25zdW1lciB0cmFuc3BvcnRzIHRvIHByb2Nlc3MuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMubFN0cmVhbXNfIC0gVGhlIGxpc3Qgb2YgbG9jYWwgc3RyZWFtcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIG9iamVjdCBjb250YWluaW5nIHZhcmlvdXMgc3RyZWFtIGFycmF5cyBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByb2Nlc3NpbmcgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEB0aHJvd3Mge0Vycm9yfSAtIFRocm93cyBhbiBlcnJvciBpZiB0aGVyZSBpcyBhbiBpc3N1ZSBwcm9jZXNzaW5nIGNvbnN1bWVyIHRyYW5zcG9ydHMuXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzOlxuICAgKiAxLiBEZXN0cnVjdHVyZXMgYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gICAqIDIuIERlZmluZXMgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgaWYgYSBwcm9kdWNlcklkIGlzIHZhbGlkIGluIGdpdmVuIHN0cmVhbSBhcnJheXMuXG4gICAqIDMuIEZpbHRlcnMgY29uc3VtZXIgdHJhbnNwb3J0cyB0byByZXN1bWUgYmFzZWQgb24gY2VydGFpbiBjb25kaXRpb25zLlxuICAgKiA0LiBGaWx0ZXJzIGNvbnN1bWVyIHRyYW5zcG9ydHMgdG8gcGF1c2UgYmFzZWQgb24gY2VydGFpbiBjb25kaXRpb25zLlxuICAgKiA1LiBQYXVzZXMgY29uc3VtZXIgdHJhbnNwb3J0cyBhZnRlciBhIHNob3J0IGRlbGF5LlxuICAgKiA2LiBFbWl0cyBgY29uc3VtZXItcGF1c2VgIGV2ZW50IGZvciBlYWNoIGZpbHRlcmVkIHRyYW5zcG9ydCAobm90IGF1ZGlvKS5cbiAgICogNy4gRW1pdHMgYGNvbnN1bWVyLXJlc3VtZWAgZXZlbnQgZm9yIGVhY2ggZmlsdGVyZWQgdHJhbnNwb3J0IChub3QgYXVkaW8pLlxuICAgKi9cbiAgcHJvY2Vzc0NvbnN1bWVyVHJhbnNwb3J0cyA9IGFzeW5jICh7XG4gICAgY29uc3VtZXJUcmFuc3BvcnRzLFxuICAgIGxTdHJlYW1zXyxcbiAgICBwYXJhbWV0ZXJzLFxuICB9OiBQcm9jZXNzQ29uc3VtZXJUcmFuc3BvcnRzT3B0aW9ucyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBEZXN0cnVjdHVyZSBwYXJhbWV0ZXJzXG4gICAgICBsZXQgeyBnZXRVcGRhdGVkQWxsUGFyYW1zIH0gPSBwYXJhbWV0ZXJzO1xuICAgICAgcGFyYW1ldGVycyA9IGdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcblxuICAgICAgY29uc3Qge1xuICAgICAgICByZW1vdGVTY3JlZW5TdHJlYW0sXG4gICAgICAgIG9sZEFsbFN0cmVhbXMsXG4gICAgICAgIG5ld0xpbWl0ZWRTdHJlYW1zLFxuICAgICAgICAvLyBtZWRpYXNmdSBmdW5jdGlvbnNcbiAgICAgICAgc2xlZXAsXG4gICAgICB9ID0gcGFyYW1ldGVycztcblxuICAgICAgLy8gRnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIHByb2R1Y2VySWQgaXMgdmFsaWQgaW4gdGhlIGdpdmVuIHN0cmVhbSBhcnJheXNcbiAgICAgIGNvbnN0IGlzVmFsaWRQcm9kdWNlcklkID0gKFxuICAgICAgICBwcm9kdWNlcklkOiBzdHJpbmcsXG4gICAgICAgIC4uLnN0cmVhbUFycmF5czogKFN0cmVhbSB8IFBhcnRpY2lwYW50KVtdW11cbiAgICAgICk6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHByb2R1Y2VySWQgIT09IG51bGwgJiZcbiAgICAgICAgICBwcm9kdWNlcklkICE9PSAnJyAmJlxuICAgICAgICAgIHN0cmVhbUFycmF5cy5zb21lKChzdHJlYW1BcnJheSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgc3RyZWFtQXJyYXkubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICBzdHJlYW1BcnJheS5zb21lKChzdHJlYW0pID0+IHN0cmVhbT8ucHJvZHVjZXJJZCA9PT0gcHJvZHVjZXJJZClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEdldCBwYXVzZWQgY29uc3VtZXIgdHJhbnNwb3J0cyB0aGF0IGFyZSBub3QgYXVkaW9cbiAgICAgIGNvbnN0IGNvbnN1bWVyVHJhbnNwb3J0c1RvUmVzdW1lID0gY29uc3VtZXJUcmFuc3BvcnRzLmZpbHRlcihcbiAgICAgICAgKHRyYW5zcG9ydCkgPT5cbiAgICAgICAgICBpc1ZhbGlkUHJvZHVjZXJJZChcbiAgICAgICAgICAgIHRyYW5zcG9ydC5wcm9kdWNlcklkLFxuICAgICAgICAgICAgbFN0cmVhbXNfLFxuICAgICAgICAgICAgcmVtb3RlU2NyZWVuU3RyZWFtLFxuICAgICAgICAgICAgb2xkQWxsU3RyZWFtcyxcbiAgICAgICAgICAgIG5ld0xpbWl0ZWRTdHJlYW1zLFxuICAgICAgICAgICkgJiZcbiAgICAgICAgICB0cmFuc3BvcnQuY29uc3VtZXI/LnBhdXNlZCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgIHRyYW5zcG9ydC5jb25zdW1lci5raW5kICE9PSAnYXVkaW8nLFxuICAgICAgKTtcblxuICAgICAgLy8gR2V0IHVucGF1c2VkIGNvbnN1bWVyIHRyYW5zcG9ydHMgdGhhdCBhcmUgbm90IGF1ZGlvXG4gICAgICBjb25zdCBjb25zdW1lclRyYW5zcG9ydHNUb1BhdXNlID0gY29uc3VtZXJUcmFuc3BvcnRzLmZpbHRlcihcbiAgICAgICAgKHRyYW5zcG9ydCkgPT5cbiAgICAgICAgICB0cmFuc3BvcnQucHJvZHVjZXJJZCAmJlxuICAgICAgICAgIHRyYW5zcG9ydC5wcm9kdWNlcklkICE9PSBudWxsICYmXG4gICAgICAgICAgdHJhbnNwb3J0LnByb2R1Y2VySWQgIT09ICcnICYmXG4gICAgICAgICAgIWxTdHJlYW1zXy5zb21lKChzdHJlYW0pID0+IHN0cmVhbS5wcm9kdWNlcklkID09PSB0cmFuc3BvcnQucHJvZHVjZXJJZCkgJiZcbiAgICAgICAgICB0cmFuc3BvcnQuY29uc3VtZXIgJiZcbiAgICAgICAgICB0cmFuc3BvcnQuY29uc3VtZXIua2luZCAmJlxuICAgICAgICAgIHRyYW5zcG9ydC5jb25zdW1lci5wYXVzZWQgIT09IHRydWUgJiZcbiAgICAgICAgICB0cmFuc3BvcnQuY29uc3VtZXIua2luZCAhPT0gJ2F1ZGlvJyAmJlxuICAgICAgICAgICFyZW1vdGVTY3JlZW5TdHJlYW0uc29tZSgoc3RyZWFtOiBhbnkpID0+IHN0cmVhbS5wcm9kdWNlcklkID09PSB0cmFuc3BvcnQucHJvZHVjZXJJZCkgJiZcbiAgICAgICAgICAhb2xkQWxsU3RyZWFtcy5zb21lKChzdHJlYW06IGFueSkgPT4gc3RyZWFtLnByb2R1Y2VySWQgPT09IHRyYW5zcG9ydC5wcm9kdWNlcklkKSAmJlxuICAgICAgICAgICFuZXdMaW1pdGVkU3RyZWFtcy5zb21lKChzdHJlYW06IGFueSkgPT4gc3RyZWFtLnByb2R1Y2VySWQgPT09IHRyYW5zcG9ydC5wcm9kdWNlcklkKSxcbiAgICAgICk7XG5cbiAgICAgIC8vIFBhdXNlIGNvbnN1bWVyIHRyYW5zcG9ydHMgYWZ0ZXIgYSBzaG9ydCBkZWxheVxuICAgICAgYXdhaXQgc2xlZXAoeyBtczogMTAwIH0pO1xuXG4gICAgICAvLyBFbWl0IGNvbnN1bWVyLnBhdXNlKCkgZm9yIGVhY2ggZmlsdGVyZWQgdHJhbnNwb3J0IChub3QgYXVkaW8pXG4gICAgICBmb3IgKGNvbnN0IHRyYW5zcG9ydCBvZiBjb25zdW1lclRyYW5zcG9ydHNUb1BhdXNlKSB7XG4gICAgICAgIHRyYW5zcG9ydC5jb25zdW1lci5wYXVzZSgpO1xuICAgICAgICB0cmFuc3BvcnQuc29ja2V0Xy5lbWl0KFxuICAgICAgICAgICdjb25zdW1lci1wYXVzZScsXG4gICAgICAgICAgeyBzZXJ2ZXJDb25zdW1lcklkOiB0cmFuc3BvcnQuc2VydmVyQ29uc3VtZXJUcmFuc3BvcnRJZCB9LFxuICAgICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSB0aGUgcmVzcG9uc2UgaWYgbmVlZGVkXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRW1pdCBjb25zdW1lci5yZXN1bWUoKSBmb3IgZWFjaCBmaWx0ZXJlZCB0cmFuc3BvcnQgKG5vdCBhdWRpbylcbiAgICAgIGZvciAoY29uc3QgdHJhbnNwb3J0IG9mIGNvbnN1bWVyVHJhbnNwb3J0c1RvUmVzdW1lKSB7XG4gICAgICAgIHRyYW5zcG9ydC5zb2NrZXRfLmVtaXQoXG4gICAgICAgICAgJ2NvbnN1bWVyLXJlc3VtZScsXG4gICAgICAgICAgeyBzZXJ2ZXJDb25zdW1lcklkOiB0cmFuc3BvcnQuc2VydmVyQ29uc3VtZXJUcmFuc3BvcnRJZCB9LFxuICAgICAgICAgIGFzeW5jICh7IHJlc3VtZWQgfTogeyByZXN1bWVkOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bWVkKSB7XG4gICAgICAgICAgICAgIHRyYW5zcG9ydC5jb25zdW1lci5yZXN1bWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnMgZHVyaW5nIHRoZSBwcm9jZXNzIG9mIHBhdXNpbmcgb3IgcmVzdW1pbmcgY29uc3VtZXIgdHJhbnNwb3J0c1xuICAgICAgY29uc29sZS5sb2coYEVycm9yIHByb2Nlc3NpbmcgY29uc3VtZXIgdHJhbnNwb3J0czogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKGBFcnJvciBwcm9jZXNzaW5nIGNvbnN1bWVyIHRyYW5zcG9ydHM6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -1,114 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * RePort function that handles the reporting logic based on the provided parameters.
5
- *
6
- * This method checks the current state of the recording process and updates the screen states
7
- * accordingly. It also compares active names and screen states based on the provided parameters.
8
- *
9
- * @param {RePortOptions} options - The options for the rePort function.
10
- * @param {boolean} [options.restart=false] - Flag indicating whether to restart the process.
11
- * @param {RePortParameters} options.parameters - The parameters object containing various states and functions.
12
- * @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
13
- * @param {string} options.parameters.islevel - The current level of the process.
14
- * @param {string} options.parameters.mainScreenPerson - The person on the main screen.
15
- * @param {boolean} options.parameters.adminOnMainScreen - Flag indicating if admin is on the main screen.
16
- * @param {boolean} options.parameters.mainScreenFilled - Flag indicating if the main screen is filled.
17
- * @param {boolean} options.parameters.recordStarted - Flag indicating if recording has started.
18
- * @param {boolean} options.parameters.recordStopped - Flag indicating if recording has stopped.
19
- * @param {boolean} options.parameters.recordPaused - Flag indicating if recording is paused.
20
- * @param {boolean} options.parameters.recordResumed - Flag indicating if recording has resumed.
21
- * @param {Array<ScreenState>} options.parameters.screenStates - Array of current screen states.
22
- * @param {Function} options.parameters.updateScreenStates - Function to update the current screen states.
23
- * @param {Function} options.parameters.updatePrevScreenStates - Function to update the previous screen states.
24
- * @param {Function} options.parameters.compareActiveNames - Function to compare active names.
25
- * @param {Function} options.parameters.compareScreenStates - Function to compare screen states.
26
- *
27
- * @returns {Promise<void>} A promise that resolves when the reporting process is complete.
28
- *
29
- * @throws {Error} Throws an error if there is an issue during the reporting process.
30
- *
31
- * @example
32
- * ```typescript
33
- * const options = {
34
- * restart: false,
35
- * parameters: {
36
- * islevel: '1',
37
- * mainScreenPerson: 'John Doe',
38
- * adminOnMainScreen: false,
39
- * mainScreenFilled: true,
40
- * recordStarted: true,
41
- * screenStates: [],
42
- * updateScreenStates: (states) => { console.log(updated) },
43
- * compareActiveNames: async (opts) => { },
44
- * compareScreenStates: async (opts) => { },
45
- * },
46
- * };
47
- *
48
- * await rePort(options);
49
- * ```
50
- */
51
- export class RePort {
52
- /**
53
- * RePort function that handles the reporting logic based on the provided parameters.
54
- *
55
- * @param {RePortOptions} options - The options for the rePort function.
56
- * @param {boolean} [options.restart=false] - Flag indicating whether to restart the process.
57
- * @param {Object} options.parameters - The parameters object containing various states and functions.
58
- * @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
59
- * @param {string} options.parameters.islevel - The current level of the process.
60
- * @param {string} options.parameters.mainScreenPerson - The person on the main screen.
61
- * @param {boolean} options.parameters.adminOnMainScreen - Flag indicating if admin is on the main screen.
62
- * @param {boolean} options.parameters.mainScreenFilled - Flag indicating if the main screen is filled.
63
- * @param {boolean} options.parameters.recordStarted - Flag indicating if recording has started.
64
- * @param {boolean} options.parameters.recordStopped - Flag indicating if recording has stopped.
65
- * @param {boolean} options.parameters.recordPaused - Flag indicating if recording is paused.
66
- * @param {boolean} options.parameters.recordResumed - Flag indicating if recording has resumed.
67
- * @param {Array} options.parameters.screenStates - Array of current screen states.
68
- * @param {Function} options.parameters.updateScreenStates - Function to update the current screen states.
69
- * @param {Function} options.parameters.updatePrevScreenStates - Function to update the previous screen states.
70
- * @param {Function} options.parameters.compareActiveNames - Function to compare active names.
71
- * @param {Function} options.parameters.compareScreenStates - Function to compare screen states.
72
- *
73
- * @returns {Promise<void>} A promise that resolves when the reporting process is complete.
74
- *
75
- * @throws {Error} Throws an error if there is an issue during the reporting process.
76
- */
77
- async rePort({ restart = false, parameters }) {
78
- const { getUpdatedAllParams } = parameters;
79
- const updatedParams = getUpdatedAllParams();
80
- const { islevel, mainScreenPerson, adminOnMainScreen, mainScreenFilled, recordStarted, recordStopped, recordPaused, recordResumed, screenStates, updateScreenStates, updatePrevScreenStates, compareActiveNames, compareScreenStates, } = updatedParams;
81
- try {
82
- if (recordStarted || recordResumed) {
83
- if (recordStopped || recordPaused) {
84
- // Recording stopped or paused, do nothing
85
- }
86
- else {
87
- if (islevel === '2') {
88
- const prevScreenStatesCopy = [...screenStates];
89
- updatePrevScreenStates(prevScreenStatesCopy);
90
- const newScreenStates = [{ mainScreenPerson, adminOnMainScreen, mainScreenFilled }];
91
- updateScreenStates(newScreenStates);
92
- await compareActiveNames({ restart, parameters: updatedParams });
93
- if (!restart) {
94
- await compareScreenStates({ restart, parameters: updatedParams });
95
- }
96
- }
97
- }
98
- }
99
- }
100
- catch (error) {
101
- // Handle errors during the process of rePorting
102
- console.error('Error during rePorting: ', error);
103
- }
104
- }
105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RePort, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
106
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RePort, providedIn: 'root' });
107
- }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RePort, decorators: [{
109
- type: Injectable,
110
- args: [{
111
- providedIn: 'root',
112
- }]
113
- }] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmUtcG9ydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy9yZS1wb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF5QzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDRztBQUtILE1BQU0sT0FBTyxNQUFNO0lBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Qkc7SUFFSCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxVQUFVLEVBQWlCO1FBQ3pELE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRTVDLE1BQU0sRUFDSixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGFBQWEsRUFDYixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsR0FDcEIsR0FBRyxhQUFhLENBQUM7UUFFbEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ25DLElBQUksYUFBYSxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNsQywwQ0FBMEM7Z0JBQzVDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQzt3QkFDcEIsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7d0JBQy9DLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDLENBQUM7d0JBRTdDLE1BQU0sZUFBZSxHQUFHLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7d0JBQ3BGLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUVwQyxNQUFNLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO3dCQUNqRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQ2IsTUFBTSxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQzt3QkFDcEUsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixnREFBZ0Q7WUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQzt1R0F0RVUsTUFBTTsyR0FBTixNQUFNLGNBRkwsTUFBTTs7MkZBRVAsTUFBTTtrQkFIbEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTY3JlZW5TdGF0ZSxcbiAgQ29tcGFyZVNjcmVlblN0YXRlc1BhcmFtZXRlcnMsXG4gIENvbXBhcmVTY3JlZW5TdGF0ZXNUeXBlLFxuICBDb21wYXJlQWN0aXZlTmFtZXNQYXJhbWV0ZXJzLFxuICBDb21wYXJlQWN0aXZlTmFtZXNUeXBlLFxufSBmcm9tICcuLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlUG9ydFBhcmFtZXRlcnNcbiAgZXh0ZW5kcyBDb21wYXJlU2NyZWVuU3RhdGVzUGFyYW1ldGVycyxcbiAgICBDb21wYXJlQWN0aXZlTmFtZXNQYXJhbWV0ZXJzIHtcbiAgaXNsZXZlbDogc3RyaW5nO1xuICBtYWluU2NyZWVuUGVyc29uOiBzdHJpbmc7XG4gIGFkbWluT25NYWluU2NyZWVuOiBib29sZWFuO1xuICBtYWluU2NyZWVuRmlsbGVkOiBib29sZWFuO1xuICByZWNvcmRTdGFydGVkOiBib29sZWFuO1xuICByZWNvcmRTdG9wcGVkOiBib29sZWFuO1xuICByZWNvcmRQYXVzZWQ6IGJvb2xlYW47XG4gIHJlY29yZFJlc3VtZWQ6IGJvb2xlYW47XG4gIHNjcmVlblN0YXRlczogU2NyZWVuU3RhdGVbXTtcbiAgcHJldlNjcmVlblN0YXRlczogU2NyZWVuU3RhdGVbXTtcbiAgdXBkYXRlU2NyZWVuU3RhdGVzOiAoc3RhdGVzOiBTY3JlZW5TdGF0ZVtdKSA9PiB2b2lkO1xuICB1cGRhdGVQcmV2U2NyZWVuU3RhdGVzOiAoc3RhdGVzOiBTY3JlZW5TdGF0ZVtdKSA9PiB2b2lkO1xuXG4gIC8vIG1lZGlhc2Z1IGZ1bmN0aW9uc1xuICBjb21wYXJlQWN0aXZlTmFtZXM6IENvbXBhcmVBY3RpdmVOYW1lc1R5cGU7XG4gIGNvbXBhcmVTY3JlZW5TdGF0ZXM6IENvbXBhcmVTY3JlZW5TdGF0ZXNUeXBlO1xuXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFJlUG9ydFBhcmFtZXRlcnM7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZVBvcnRPcHRpb25zIHtcbiAgcmVzdGFydD86IGJvb2xlYW47XG4gIHBhcmFtZXRlcnM6IFJlUG9ydFBhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFJlUG9ydFR5cGUgPSAob3B0aW9uczogUmVQb3J0T3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBSZVBvcnQgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSByZXBvcnRpbmcgbG9naWMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogVGhpcyBtZXRob2QgY2hlY2tzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZWNvcmRpbmcgcHJvY2VzcyBhbmQgdXBkYXRlcyB0aGUgc2NyZWVuIHN0YXRlc1xuICogYWNjb3JkaW5nbHkuIEl0IGFsc28gY29tcGFyZXMgYWN0aXZlIG5hbWVzIGFuZCBzY3JlZW4gc3RhdGVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSB7UmVQb3J0T3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgcmVQb3J0IGZ1bmN0aW9uLlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5yZXN0YXJ0PWZhbHNlXSAtIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHJlc3RhcnQgdGhlIHByb2Nlc3MuXG4gKiBAcGFyYW0ge1JlUG9ydFBhcmFtZXRlcnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIG9iamVjdCBjb250YWluaW5nIHZhcmlvdXMgc3RhdGVzIGFuZCBmdW5jdGlvbnMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcyAtIEZ1bmN0aW9uIHRvIGdldCB1cGRhdGVkIHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXJhbWV0ZXJzLmlzbGV2ZWwgLSBUaGUgY3VycmVudCBsZXZlbCBvZiB0aGUgcHJvY2Vzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMubWFpblNjcmVlblBlcnNvbiAtIFRoZSBwZXJzb24gb24gdGhlIG1haW4gc2NyZWVuLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuYWRtaW5Pbk1haW5TY3JlZW4gLSBGbGFnIGluZGljYXRpbmcgaWYgYWRtaW4gaXMgb24gdGhlIG1haW4gc2NyZWVuLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMubWFpblNjcmVlbkZpbGxlZCAtIEZsYWcgaW5kaWNhdGluZyBpZiB0aGUgbWFpbiBzY3JlZW4gaXMgZmlsbGVkLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMucmVjb3JkU3RhcnRlZCAtIEZsYWcgaW5kaWNhdGluZyBpZiByZWNvcmRpbmcgaGFzIHN0YXJ0ZWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5yZWNvcmRTdG9wcGVkIC0gRmxhZyBpbmRpY2F0aW5nIGlmIHJlY29yZGluZyBoYXMgc3RvcHBlZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFBhdXNlZCAtIEZsYWcgaW5kaWNhdGluZyBpZiByZWNvcmRpbmcgaXMgcGF1c2VkLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMucmVjb3JkUmVzdW1lZCAtIEZsYWcgaW5kaWNhdGluZyBpZiByZWNvcmRpbmcgaGFzIHJlc3VtZWQuXG4gKiBAcGFyYW0ge0FycmF5PFNjcmVlblN0YXRlPn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnNjcmVlblN0YXRlcyAtIEFycmF5IG9mIGN1cnJlbnQgc2NyZWVuIHN0YXRlcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVTY3JlZW5TdGF0ZXMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGN1cnJlbnQgc2NyZWVuIHN0YXRlcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVQcmV2U2NyZWVuU3RhdGVzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBwcmV2aW91cyBzY3JlZW4gc3RhdGVzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbXBhcmVBY3RpdmVOYW1lcyAtIEZ1bmN0aW9uIHRvIGNvbXBhcmUgYWN0aXZlIG5hbWVzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbXBhcmVTY3JlZW5TdGF0ZXMgLSBGdW5jdGlvbiB0byBjb21wYXJlIHNjcmVlbiBzdGF0ZXMuXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHJlcG9ydGluZyBwcm9jZXNzIGlzIGNvbXBsZXRlLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYW4gaXNzdWUgZHVyaW5nIHRoZSByZXBvcnRpbmcgcHJvY2Vzcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb3B0aW9ucyA9IHtcbiAqICAgcmVzdGFydDogZmFsc2UsXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICBpc2xldmVsOiAnMScsXG4gKiAgICAgbWFpblNjcmVlblBlcnNvbjogJ0pvaG4gRG9lJyxcbiAqICAgICBhZG1pbk9uTWFpblNjcmVlbjogZmFsc2UsXG4gKiAgICAgbWFpblNjcmVlbkZpbGxlZDogdHJ1ZSxcbiAqICAgICByZWNvcmRTdGFydGVkOiB0cnVlLFxuICogICAgIHNjcmVlblN0YXRlczogW10sXG4gKiAgICAgdXBkYXRlU2NyZWVuU3RhdGVzOiAoc3RhdGVzKSA9PiB7IGNvbnNvbGUubG9nKHVwZGF0ZWQpIH0sXG4gKiAgICAgY29tcGFyZUFjdGl2ZU5hbWVzOiBhc3luYyAob3B0cykgPT4geyAgfSxcbiAqICAgICBjb21wYXJlU2NyZWVuU3RhdGVzOiBhc3luYyAob3B0cykgPT4geyAgfSxcbiAqICAgfSxcbiAqIH07XG4gKlxuICogYXdhaXQgcmVQb3J0KG9wdGlvbnMpO1xuICogYGBgXG4gKi9cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlUG9ydCB7XG4gIC8qKlxuICAgKiBSZVBvcnQgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSByZXBvcnRpbmcgbG9naWMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVQb3J0T3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgcmVQb3J0IGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnJlc3RhcnQ9ZmFsc2VdIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gcmVzdGFydCB0aGUgcHJvY2Vzcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIG9iamVjdCBjb250YWluaW5nIHZhcmlvdXMgc3RhdGVzIGFuZCBmdW5jdGlvbnMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zIC0gRnVuY3Rpb24gdG8gZ2V0IHVwZGF0ZWQgcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5pc2xldmVsIC0gVGhlIGN1cnJlbnQgbGV2ZWwgb2YgdGhlIHByb2Nlc3MuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMubWFpblNjcmVlblBlcnNvbiAtIFRoZSBwZXJzb24gb24gdGhlIG1haW4gc2NyZWVuLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5hZG1pbk9uTWFpblNjcmVlbiAtIEZsYWcgaW5kaWNhdGluZyBpZiBhZG1pbiBpcyBvbiB0aGUgbWFpbiBzY3JlZW4uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLm1haW5TY3JlZW5GaWxsZWQgLSBGbGFnIGluZGljYXRpbmcgaWYgdGhlIG1haW4gc2NyZWVuIGlzIGZpbGxlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMucmVjb3JkU3RhcnRlZCAtIEZsYWcgaW5kaWNhdGluZyBpZiByZWNvcmRpbmcgaGFzIHN0YXJ0ZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlY29yZFN0b3BwZWQgLSBGbGFnIGluZGljYXRpbmcgaWYgcmVjb3JkaW5nIGhhcyBzdG9wcGVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5yZWNvcmRQYXVzZWQgLSBGbGFnIGluZGljYXRpbmcgaWYgcmVjb3JkaW5nIGlzIHBhdXNlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMucmVjb3JkUmVzdW1lZCAtIEZsYWcgaW5kaWNhdGluZyBpZiByZWNvcmRpbmcgaGFzIHJlc3VtZWQuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMucGFyYW1ldGVycy5zY3JlZW5TdGF0ZXMgLSBBcnJheSBvZiBjdXJyZW50IHNjcmVlbiBzdGF0ZXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVTY3JlZW5TdGF0ZXMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGN1cnJlbnQgc2NyZWVuIHN0YXRlcy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVByZXZTY3JlZW5TdGF0ZXMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHByZXZpb3VzIHNjcmVlbiBzdGF0ZXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5jb21wYXJlQWN0aXZlTmFtZXMgLSBGdW5jdGlvbiB0byBjb21wYXJlIGFjdGl2ZSBuYW1lcy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbXBhcmVTY3JlZW5TdGF0ZXMgLSBGdW5jdGlvbiB0byBjb21wYXJlIHNjcmVlbiBzdGF0ZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSByZXBvcnRpbmcgcHJvY2VzcyBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGVyZSBpcyBhbiBpc3N1ZSBkdXJpbmcgdGhlIHJlcG9ydGluZyBwcm9jZXNzLlxuICAgKi9cblxuICBhc3luYyByZVBvcnQoeyByZXN0YXJ0ID0gZmFsc2UsIHBhcmFtZXRlcnMgfTogUmVQb3J0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZ2V0VXBkYXRlZEFsbFBhcmFtcyB9ID0gcGFyYW1ldGVycztcbiAgICBjb25zdCB1cGRhdGVkUGFyYW1zID0gZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgY29uc3Qge1xuICAgICAgaXNsZXZlbCxcbiAgICAgIG1haW5TY3JlZW5QZXJzb24sXG4gICAgICBhZG1pbk9uTWFpblNjcmVlbixcbiAgICAgIG1haW5TY3JlZW5GaWxsZWQsXG4gICAgICByZWNvcmRTdGFydGVkLFxuICAgICAgcmVjb3JkU3RvcHBlZCxcbiAgICAgIHJlY29yZFBhdXNlZCxcbiAgICAgIHJlY29yZFJlc3VtZWQsXG4gICAgICBzY3JlZW5TdGF0ZXMsXG4gICAgICB1cGRhdGVTY3JlZW5TdGF0ZXMsXG4gICAgICB1cGRhdGVQcmV2U2NyZWVuU3RhdGVzLFxuICAgICAgY29tcGFyZUFjdGl2ZU5hbWVzLFxuICAgICAgY29tcGFyZVNjcmVlblN0YXRlcyxcbiAgICB9ID0gdXBkYXRlZFBhcmFtcztcblxuICAgIHRyeSB7XG4gICAgICBpZiAocmVjb3JkU3RhcnRlZCB8fCByZWNvcmRSZXN1bWVkKSB7XG4gICAgICAgIGlmIChyZWNvcmRTdG9wcGVkIHx8IHJlY29yZFBhdXNlZCkge1xuICAgICAgICAgIC8vIFJlY29yZGluZyBzdG9wcGVkIG9yIHBhdXNlZCwgZG8gbm90aGluZ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpc2xldmVsID09PSAnMicpIHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZTY3JlZW5TdGF0ZXNDb3B5ID0gWy4uLnNjcmVlblN0YXRlc107XG4gICAgICAgICAgICB1cGRhdGVQcmV2U2NyZWVuU3RhdGVzKHByZXZTY3JlZW5TdGF0ZXNDb3B5KTtcblxuICAgICAgICAgICAgY29uc3QgbmV3U2NyZWVuU3RhdGVzID0gW3sgbWFpblNjcmVlblBlcnNvbiwgYWRtaW5Pbk1haW5TY3JlZW4sIG1haW5TY3JlZW5GaWxsZWQgfV07XG4gICAgICAgICAgICB1cGRhdGVTY3JlZW5TdGF0ZXMobmV3U2NyZWVuU3RhdGVzKTtcblxuICAgICAgICAgICAgYXdhaXQgY29tcGFyZUFjdGl2ZU5hbWVzKHsgcmVzdGFydCwgcGFyYW1ldGVyczogdXBkYXRlZFBhcmFtcyB9KTtcbiAgICAgICAgICAgIGlmICghcmVzdGFydCkge1xuICAgICAgICAgICAgICBhd2FpdCBjb21wYXJlU2NyZWVuU3RhdGVzKHsgcmVzdGFydCwgcGFyYW1ldGVyczogdXBkYXRlZFBhcmFtcyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9ycyBkdXJpbmcgdGhlIHByb2Nlc3Mgb2YgcmVQb3J0aW5nXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkdXJpbmcgcmVQb3J0aW5nOiAnLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=