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,210 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Triggers an update to the screen client based on the provided parameters.
5
- *
6
- * This function handles various conditions to determine the main screen person,
7
- * adjusts the screen states, and emits an update to the screen client via socket.
8
- *
9
- * @param {TriggerOptions} options - The options for triggering the update.
10
- * @param {string[]} options.ref_ActiveNames - Reference to the active names.
11
- * @param {TriggerParameters} options.parameters - The parameters for the trigger.
12
- * @returns {Promise<void>} A promise that resolves when the trigger is complete.
13
- *
14
- * @throws Will throw an error if the updateScreenClient operation fails.
15
- *
16
- * @example
17
- * ```typescript
18
- * await trigger({
19
- * ref_ActiveNames: ["user1", "user2"],
20
- * parameters: {
21
- * socket: socketInstance,
22
- * roomName: "room1",
23
- * screenStates: [{ mainScreenPerson: "user1", mainScreenFilled: true, adminOnMainScreen: false }],
24
- * participants: [{ name: "admin", islevel: "2" }],
25
- * updateDateState: 0,
26
- * lastUpdate: null,
27
- * nForReadjust: 0,
28
- * eventType: "conference",
29
- * shared: false,
30
- * shareScreenStarted: false,
31
- * whiteboardStarted: false,
32
- * whiteboardEnded: false,
33
- * updateUpdateDateState: (date) => {},
34
- * updateLastUpdate: (date) => {},
35
- * updateNForReadjust: (n) => {},
36
- * autoAdjust: async ({ n, parameters }) => [n, 0],
37
- * },
38
- * });
39
- * ```
40
- */
41
- export class Trigger {
42
- /**
43
- * Triggers an update to the screen client based on the provided parameters.
44
- *
45
- * @param {TriggerOptions} options - The options for triggering the update.
46
- * @param {string[]} options.ref_ActiveNames - Reference to the active names.
47
- * @param {Parameters} options.parameters - The parameters for the trigger.
48
- * @returns {Promise<void>} A promise that resolves when the trigger is complete.
49
- *
50
- * @throws Will throw an error if the updateScreenClient operation fails.
51
- *
52
- * @remarks
53
- * This function handles various conditions to determine the main screen person,
54
- * adjusts the screen states, and emits an update to the screen client via socket.
55
- *
56
- * @example
57
- * ```typescript
58
- * await trigger({
59
- * ref_ActiveNames: ["user1", "user2"],
60
- * parameters: {
61
- * socket: socketInstance,
62
- * roomName: "room1",
63
- * screenStates: [{ mainScreenPerson: "user1", mainScreenFilled: true, adminOnMainScreen: false }],
64
- * participants: [{ name: "admin", islevel: "2" }],
65
- * updateDateState: 0,
66
- * lastUpdate: null,
67
- * nForReadjust: 0,
68
- * eventType: "conference",
69
- * shared: false,
70
- * shareScreenStarted: false,
71
- * whiteboardStarted: false,
72
- * whiteboardEnded: false,
73
- * updateUpdateDateState: (date) => {},
74
- * updateLastUpdate: (date) => {},
75
- * updateNForReadjust: (n) => {},
76
- * autoAdjust: async ({ n, parameters }) => [n, 0],
77
- * },
78
- * });
79
- * ```
80
- */
81
- async trigger({ ref_ActiveNames, parameters }) {
82
- // Function to trigger the updateScreen event
83
- try {
84
- let { socket, roomName, screenStates, participants, updateDateState, lastUpdate, nForReadjust, eventType, shared, shareScreenStarted, whiteboardStarted, whiteboardEnded, updateUpdateDateState, updateLastUpdate, updateNForReadjust, autoAdjust, } = parameters;
85
- let personOnMainScreen = screenStates[0].mainScreenPerson;
86
- let adminName = '';
87
- const admin = participants.filter((participant) => participant.islevel == '2');
88
- if (admin.length > 0) {
89
- adminName = admin[0].name || '';
90
- }
91
- if (personOnMainScreen === 'WhiteboardActive') {
92
- personOnMainScreen = adminName;
93
- }
94
- let mainfilled = screenStates[0].mainScreenFilled;
95
- let adminOnMain = screenStates[0].adminOnMainScreen;
96
- let nForReadjust_;
97
- let val1;
98
- let noww = new Date().getTime();
99
- // get now in seconds
100
- let timestamp = Math.floor(noww / 1000);
101
- let eventPass = false;
102
- if (eventType === 'conference' && !(shared || shareScreenStarted)) {
103
- eventPass = true;
104
- personOnMainScreen = adminName;
105
- if (!ref_ActiveNames.includes(adminName)) {
106
- ref_ActiveNames.unshift(adminName);
107
- }
108
- }
109
- if ((mainfilled && personOnMainScreen != null && adminOnMain) || eventPass) {
110
- if (eventType === 'conference') {
111
- nForReadjust = nForReadjust + 1;
112
- updateNForReadjust(nForReadjust);
113
- }
114
- if (!ref_ActiveNames.includes(adminName) && whiteboardStarted && !whiteboardEnded) {
115
- ref_ActiveNames.unshift(adminName);
116
- }
117
- nForReadjust_ = ref_ActiveNames.length;
118
- if (nForReadjust_ === 0 && eventType === 'webinar') {
119
- val1 = 0;
120
- }
121
- else {
122
- const [val11] = await autoAdjust({
123
- n: nForReadjust_,
124
- eventType,
125
- shared,
126
- shareScreenStarted,
127
- });
128
- val1 = val11;
129
- }
130
- let calc1 = Math.floor((val1 / 12) * 100);
131
- let calc2 = 100 - calc1;
132
- // check if lastUpdate is not null and at least same seconds
133
- if (lastUpdate == null || updateDateState != timestamp) {
134
- let now = new Date();
135
- socket.emit('updateScreenClient', {
136
- roomName,
137
- names: ref_ActiveNames,
138
- mainPercent: calc2,
139
- mainScreenPerson: personOnMainScreen,
140
- viewType: eventType,
141
- }, ({ success, reason }) => {
142
- updateDateState = timestamp;
143
- updateUpdateDateState(updateDateState);
144
- lastUpdate = Math.floor(now.getTime() / 1000);
145
- updateLastUpdate(lastUpdate);
146
- if (success) {
147
- // handle success
148
- }
149
- else {
150
- console.log(reason, 'updateScreenClient failed');
151
- }
152
- });
153
- }
154
- }
155
- else if (mainfilled && personOnMainScreen != null && !adminOnMain) {
156
- nForReadjust_ = ref_ActiveNames.length;
157
- if (!ref_ActiveNames.includes(adminName)) {
158
- ref_ActiveNames.unshift(adminName);
159
- nForReadjust_ = ref_ActiveNames.length;
160
- }
161
- const [val11] = await autoAdjust({
162
- n: nForReadjust_,
163
- eventType,
164
- shared,
165
- shareScreenStarted,
166
- });
167
- val1 = val11;
168
- const calc1 = Math.floor((val1 / 12) * 100);
169
- const calc2 = 100 - calc1;
170
- if (lastUpdate == null || updateDateState != timestamp) {
171
- let now = new Date();
172
- socket.emit('updateScreenClient', {
173
- roomName,
174
- names: ref_ActiveNames,
175
- mainPercent: calc2,
176
- mainScreenPerson: personOnMainScreen,
177
- viewType: eventType,
178
- }, ({ success, reason }) => {
179
- updateDateState = timestamp;
180
- updateUpdateDateState(updateDateState);
181
- lastUpdate = Math.floor(now.getTime() / 1000);
182
- updateLastUpdate(lastUpdate);
183
- if (success) {
184
- // handle success
185
- }
186
- else {
187
- console.log(reason, 'updateScreenClient failed');
188
- }
189
- });
190
- }
191
- }
192
- else {
193
- // stop recording
194
- console.log('trigger stopRecording');
195
- }
196
- }
197
- catch (error) {
198
- console.log('Error triggering updateScreen:', error);
199
- }
200
- }
201
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: Trigger, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
202
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: Trigger, providedIn: 'root' });
203
- }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: Trigger, decorators: [{
205
- type: Injectable,
206
- args: [{
207
- providedIn: 'root',
208
- }]
209
- }] });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy90cmlnZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFvQzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBTUgsTUFBTSxPQUFPLE9BQU87SUFDbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0NHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQWtCO1FBQzNELDZDQUE2QztRQUU3QyxJQUFJLENBQUM7WUFDSCxJQUFJLEVBQ0YsTUFBTSxFQUNOLFFBQVEsRUFDUixZQUFZLEVBQ1osWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVCxNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixlQUFlLEVBRWYscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFFbEIsVUFBVSxHQUNYLEdBQUcsVUFBVSxDQUFDO1lBRWYsSUFBSSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7WUFFMUQsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQzVGLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFDRCxJQUFJLGtCQUFrQixLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQzlDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNqQyxDQUFDO1lBRUQsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1lBQ2xELElBQUksV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNwRCxJQUFJLGFBQWEsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQztZQUVULElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMscUJBQXFCO1lBQ3JCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRXhDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLFNBQVMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xFLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDekMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckMsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLENBQUMsVUFBVSxJQUFJLGtCQUFrQixJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDM0UsSUFBSSxTQUFTLEtBQUssWUFBWSxFQUFFLENBQUM7b0JBQy9CLFlBQVksR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO29CQUNoQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNsRixlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO2dCQUVELGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO2dCQUV2QyxJQUFJLGFBQWEsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNuRCxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxVQUFVLENBQUM7d0JBQy9CLENBQUMsRUFBRSxhQUFhO3dCQUNoQixTQUFTO3dCQUNULE1BQU07d0JBQ04sa0JBQWtCO3FCQUNuQixDQUFDLENBQUM7b0JBQ0gsSUFBSSxHQUFHLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUVELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBRXhCLDREQUE0RDtnQkFDNUQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLGVBQWUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDdkQsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFFckIsTUFBTSxDQUFDLElBQUksQ0FDVCxvQkFBb0IsRUFDcEI7d0JBQ0UsUUFBUTt3QkFDUixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsV0FBVyxFQUFFLEtBQUs7d0JBQ2xCLGdCQUFnQixFQUFFLGtCQUFrQjt3QkFDcEMsUUFBUSxFQUFFLFNBQVM7cUJBQ3BCLEVBQ0QsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQXdDLEVBQUUsRUFBRTt3QkFDNUQsZUFBZSxHQUFHLFNBQVMsQ0FBQzt3QkFDNUIscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ3ZDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzt3QkFDOUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7NEJBQ1osaUJBQWlCO3dCQUNuQixDQUFDOzZCQUFNLENBQUM7NEJBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLENBQUMsQ0FBQzt3QkFDbkQsQ0FBQztvQkFDSCxDQUFDLENBQ0YsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEUsYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7Z0JBRXZDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ25DLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO2dCQUN6QyxDQUFDO2dCQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLFVBQVUsQ0FBQztvQkFDL0IsQ0FBQyxFQUFFLGFBQWE7b0JBQ2hCLFNBQVM7b0JBQ1QsTUFBTTtvQkFDTixrQkFBa0I7aUJBQ25CLENBQUMsQ0FBQztnQkFFSCxJQUFJLEdBQUcsS0FBSyxDQUFDO2dCQUViLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBRTFCLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxlQUFlLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ3ZELElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7b0JBRXJCLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsb0JBQW9CLEVBQ3BCO3dCQUNFLFFBQVE7d0JBQ1IsS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLFdBQVcsRUFBRSxLQUFLO3dCQUNsQixnQkFBZ0IsRUFBRSxrQkFBa0I7d0JBQ3BDLFFBQVEsRUFBRSxTQUFTO3FCQUNwQixFQUNELENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUF3QyxFQUFFLEVBQUU7d0JBQzVELGVBQWUsR0FBRyxTQUFTLENBQUM7d0JBQzVCLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7d0JBQzlDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDOzRCQUNaLGlCQUFpQjt3QkFDbkIsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDJCQUEyQixDQUFDLENBQUM7d0JBQ25ELENBQUM7b0JBQ0gsQ0FBQyxDQUNGLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixpQkFBaUI7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO3VHQXZNVSxPQUFPOzJHQUFQLE9BQU8sY0FGTixNQUFNOzsyRkFFUCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvY2tldCB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHsgUGFydGljaXBhbnQsIEF1dG9BZGp1c3RUeXBlLCBTY3JlZW5TdGF0ZSwgRXZlbnRUeXBlIH0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VyUGFyYW1ldGVycyB7XG4gIHNvY2tldDogU29ja2V0O1xuICByb29tTmFtZTogc3RyaW5nO1xuICBzY3JlZW5TdGF0ZXM6IFNjcmVlblN0YXRlW107XG4gIHBhcnRpY2lwYW50czogUGFydGljaXBhbnRbXTtcbiAgdXBkYXRlRGF0ZVN0YXRlPzogbnVtYmVyIHwgbnVsbDtcbiAgbGFzdFVwZGF0ZTogbnVtYmVyIHwgbnVsbDtcbiAgbkZvclJlYWRqdXN0OiBudW1iZXI7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuICBzaGFyZWQ6IGJvb2xlYW47XG4gIHNoYXJlU2NyZWVuU3RhcnRlZDogYm9vbGVhbjtcbiAgd2hpdGVib2FyZFN0YXJ0ZWQ6IGJvb2xlYW47XG4gIHdoaXRlYm9hcmRFbmRlZDogYm9vbGVhbjtcbiAgdXBkYXRlVXBkYXRlRGF0ZVN0YXRlOiAodGltZXN0YW1wOiBudW1iZXIgfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVMYXN0VXBkYXRlOiAobGFzdFVwZGF0ZTogbnVtYmVyIHwgbnVsbCkgPT4gdm9pZDtcbiAgdXBkYXRlTkZvclJlYWRqdXN0OiAobkZvclJlYWRqdXN0OiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIGF1dG9BZGp1c3Q6IEF1dG9BZGp1c3RUeXBlO1xuXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFRyaWdnZXJQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlck9wdGlvbnMge1xuICByZWZfQWN0aXZlTmFtZXM6IHN0cmluZ1tdO1xuICBwYXJhbWV0ZXJzOiBUcmlnZ2VyUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgVHJpZ2dlclR5cGUgPSAob3B0aW9uczogVHJpZ2dlck9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogVHJpZ2dlcnMgYW4gdXBkYXRlIHRvIHRoZSBzY3JlZW4gY2xpZW50IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB2YXJpb3VzIGNvbmRpdGlvbnMgdG8gZGV0ZXJtaW5lIHRoZSBtYWluIHNjcmVlbiBwZXJzb24sXG4gKiBhZGp1c3RzIHRoZSBzY3JlZW4gc3RhdGVzLCBhbmQgZW1pdHMgYW4gdXBkYXRlIHRvIHRoZSBzY3JlZW4gY2xpZW50IHZpYSBzb2NrZXQuXG4gKlxuICogQHBhcmFtIHtUcmlnZ2VyT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0cmlnZ2VyaW5nIHRoZSB1cGRhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBvcHRpb25zLnJlZl9BY3RpdmVOYW1lcyAtIFJlZmVyZW5jZSB0byB0aGUgYWN0aXZlIG5hbWVzLlxuICogQHBhcmFtIHtUcmlnZ2VyUGFyYW1ldGVyc30gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSB0cmlnZ2VyLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRyaWdnZXIgaXMgY29tcGxldGUuXG4gKlxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSB1cGRhdGVTY3JlZW5DbGllbnQgb3BlcmF0aW9uIGZhaWxzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCB0cmlnZ2VyKHtcbiAqICAgcmVmX0FjdGl2ZU5hbWVzOiBbXCJ1c2VyMVwiLCBcInVzZXIyXCJdLFxuICogICBwYXJhbWV0ZXJzOiB7XG4gKiAgICAgc29ja2V0OiBzb2NrZXRJbnN0YW5jZSxcbiAqICAgICByb29tTmFtZTogXCJyb29tMVwiLFxuICogICAgIHNjcmVlblN0YXRlczogW3sgbWFpblNjcmVlblBlcnNvbjogXCJ1c2VyMVwiLCBtYWluU2NyZWVuRmlsbGVkOiB0cnVlLCBhZG1pbk9uTWFpblNjcmVlbjogZmFsc2UgfV0sXG4gKiAgICAgcGFydGljaXBhbnRzOiBbeyBuYW1lOiBcImFkbWluXCIsIGlzbGV2ZWw6IFwiMlwiIH1dLFxuICogICAgIHVwZGF0ZURhdGVTdGF0ZTogMCxcbiAqICAgICBsYXN0VXBkYXRlOiBudWxsLFxuICogICAgIG5Gb3JSZWFkanVzdDogMCxcbiAqICAgICBldmVudFR5cGU6IFwiY29uZmVyZW5jZVwiLFxuICogICAgIHNoYXJlZDogZmFsc2UsXG4gKiAgICAgc2hhcmVTY3JlZW5TdGFydGVkOiBmYWxzZSxcbiAqICAgICB3aGl0ZWJvYXJkU3RhcnRlZDogZmFsc2UsXG4gKiAgICAgd2hpdGVib2FyZEVuZGVkOiBmYWxzZSxcbiAqICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGU6IChkYXRlKSA9PiB7fSxcbiAqICAgICB1cGRhdGVMYXN0VXBkYXRlOiAoZGF0ZSkgPT4ge30sXG4gKiAgICAgdXBkYXRlTkZvclJlYWRqdXN0OiAobikgPT4ge30sXG4gKiAgICAgYXV0b0FkanVzdDogYXN5bmMgKHsgbiwgcGFyYW1ldGVycyB9KSA9PiBbbiwgMF0sXG4gKiAgIH0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyaWdnZXIge1xuICAvKipcbiAgICogVHJpZ2dlcnMgYW4gdXBkYXRlIHRvIHRoZSBzY3JlZW4gY2xpZW50IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RyaWdnZXJPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRyaWdnZXJpbmcgdGhlIHVwZGF0ZS5cbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gb3B0aW9ucy5yZWZfQWN0aXZlTmFtZXMgLSBSZWZlcmVuY2UgdG8gdGhlIGFjdGl2ZSBuYW1lcy5cbiAgICogQHBhcmFtIHtQYXJhbWV0ZXJzfSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB0cmlnZ2VyIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHVwZGF0ZVNjcmVlbkNsaWVudCBvcGVyYXRpb24gZmFpbHMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB2YXJpb3VzIGNvbmRpdGlvbnMgdG8gZGV0ZXJtaW5lIHRoZSBtYWluIHNjcmVlbiBwZXJzb24sXG4gICAqIGFkanVzdHMgdGhlIHNjcmVlbiBzdGF0ZXMsIGFuZCBlbWl0cyBhbiB1cGRhdGUgdG8gdGhlIHNjcmVlbiBjbGllbnQgdmlhIHNvY2tldC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBhd2FpdCB0cmlnZ2VyKHtcbiAgICogICByZWZfQWN0aXZlTmFtZXM6IFtcInVzZXIxXCIsIFwidXNlcjJcIl0sXG4gICAqICAgcGFyYW1ldGVyczoge1xuICAgKiAgICAgc29ja2V0OiBzb2NrZXRJbnN0YW5jZSxcbiAgICogICAgIHJvb21OYW1lOiBcInJvb20xXCIsXG4gICAqICAgICBzY3JlZW5TdGF0ZXM6IFt7IG1haW5TY3JlZW5QZXJzb246IFwidXNlcjFcIiwgbWFpblNjcmVlbkZpbGxlZDogdHJ1ZSwgYWRtaW5Pbk1haW5TY3JlZW46IGZhbHNlIH1dLFxuICAgKiAgICAgcGFydGljaXBhbnRzOiBbeyBuYW1lOiBcImFkbWluXCIsIGlzbGV2ZWw6IFwiMlwiIH1dLFxuICAgKiAgICAgdXBkYXRlRGF0ZVN0YXRlOiAwLFxuICAgKiAgICAgbGFzdFVwZGF0ZTogbnVsbCxcbiAgICogICAgIG5Gb3JSZWFkanVzdDogMCxcbiAgICogICAgIGV2ZW50VHlwZTogXCJjb25mZXJlbmNlXCIsXG4gICAqICAgICBzaGFyZWQ6IGZhbHNlLFxuICAgKiAgICAgc2hhcmVTY3JlZW5TdGFydGVkOiBmYWxzZSxcbiAgICogICAgIHdoaXRlYm9hcmRTdGFydGVkOiBmYWxzZSxcbiAgICogICAgIHdoaXRlYm9hcmRFbmRlZDogZmFsc2UsXG4gICAqICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGU6IChkYXRlKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZUxhc3RVcGRhdGU6IChkYXRlKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZU5Gb3JSZWFkanVzdDogKG4pID0+IHt9LFxuICAgKiAgICAgYXV0b0FkanVzdDogYXN5bmMgKHsgbiwgcGFyYW1ldGVycyB9KSA9PiBbbiwgMF0sXG4gICAqICAgfSxcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgdHJpZ2dlcih7IHJlZl9BY3RpdmVOYW1lcywgcGFyYW1ldGVycyB9OiBUcmlnZ2VyT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZ1bmN0aW9uIHRvIHRyaWdnZXIgdGhlIHVwZGF0ZVNjcmVlbiBldmVudFxuXG4gICAgdHJ5IHtcbiAgICAgIGxldCB7XG4gICAgICAgIHNvY2tldCxcbiAgICAgICAgcm9vbU5hbWUsXG4gICAgICAgIHNjcmVlblN0YXRlcyxcbiAgICAgICAgcGFydGljaXBhbnRzLFxuICAgICAgICB1cGRhdGVEYXRlU3RhdGUsXG4gICAgICAgIGxhc3RVcGRhdGUsXG4gICAgICAgIG5Gb3JSZWFkanVzdCxcbiAgICAgICAgZXZlbnRUeXBlLFxuICAgICAgICBzaGFyZWQsXG4gICAgICAgIHNoYXJlU2NyZWVuU3RhcnRlZCxcbiAgICAgICAgd2hpdGVib2FyZFN0YXJ0ZWQsXG4gICAgICAgIHdoaXRlYm9hcmRFbmRlZCxcblxuICAgICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGUsXG4gICAgICAgIHVwZGF0ZUxhc3RVcGRhdGUsXG4gICAgICAgIHVwZGF0ZU5Gb3JSZWFkanVzdCxcblxuICAgICAgICBhdXRvQWRqdXN0LFxuICAgICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAgIGxldCBwZXJzb25Pbk1haW5TY3JlZW4gPSBzY3JlZW5TdGF0ZXNbMF0ubWFpblNjcmVlblBlcnNvbjtcblxuICAgICAgbGV0IGFkbWluTmFtZSA9ICcnO1xuICAgICAgY29uc3QgYWRtaW4gPSBwYXJ0aWNpcGFudHMuZmlsdGVyKChwYXJ0aWNpcGFudDogUGFydGljaXBhbnQpID0+IHBhcnRpY2lwYW50LmlzbGV2ZWwgPT0gJzInKTtcbiAgICAgIGlmIChhZG1pbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFkbWluTmFtZSA9IGFkbWluWzBdLm5hbWUgfHwgJyc7XG4gICAgICB9XG4gICAgICBpZiAocGVyc29uT25NYWluU2NyZWVuID09PSAnV2hpdGVib2FyZEFjdGl2ZScpIHtcbiAgICAgICAgcGVyc29uT25NYWluU2NyZWVuID0gYWRtaW5OYW1lO1xuICAgICAgfVxuXG4gICAgICBsZXQgbWFpbmZpbGxlZCA9IHNjcmVlblN0YXRlc1swXS5tYWluU2NyZWVuRmlsbGVkO1xuICAgICAgbGV0IGFkbWluT25NYWluID0gc2NyZWVuU3RhdGVzWzBdLmFkbWluT25NYWluU2NyZWVuO1xuICAgICAgbGV0IG5Gb3JSZWFkanVzdF87XG4gICAgICBsZXQgdmFsMTtcblxuICAgICAgbGV0IG5vd3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIC8vIGdldCBub3cgaW4gc2Vjb25kc1xuICAgICAgbGV0IHRpbWVzdGFtcCA9IE1hdGguZmxvb3Iobm93dyAvIDEwMDApO1xuXG4gICAgICBsZXQgZXZlbnRQYXNzID0gZmFsc2U7XG4gICAgICBpZiAoZXZlbnRUeXBlID09PSAnY29uZmVyZW5jZScgJiYgIShzaGFyZWQgfHwgc2hhcmVTY3JlZW5TdGFydGVkKSkge1xuICAgICAgICBldmVudFBhc3MgPSB0cnVlO1xuICAgICAgICBwZXJzb25Pbk1haW5TY3JlZW4gPSBhZG1pbk5hbWU7XG4gICAgICAgIGlmICghcmVmX0FjdGl2ZU5hbWVzLmluY2x1ZGVzKGFkbWluTmFtZSkpIHtcbiAgICAgICAgICByZWZfQWN0aXZlTmFtZXMudW5zaGlmdChhZG1pbk5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICgobWFpbmZpbGxlZCAmJiBwZXJzb25Pbk1haW5TY3JlZW4gIT0gbnVsbCAmJiBhZG1pbk9uTWFpbikgfHwgZXZlbnRQYXNzKSB7XG4gICAgICAgIGlmIChldmVudFR5cGUgPT09ICdjb25mZXJlbmNlJykge1xuICAgICAgICAgIG5Gb3JSZWFkanVzdCA9IG5Gb3JSZWFkanVzdCArIDE7XG4gICAgICAgICAgdXBkYXRlTkZvclJlYWRqdXN0KG5Gb3JSZWFkanVzdCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlZl9BY3RpdmVOYW1lcy5pbmNsdWRlcyhhZG1pbk5hbWUpICYmIHdoaXRlYm9hcmRTdGFydGVkICYmICF3aGl0ZWJvYXJkRW5kZWQpIHtcbiAgICAgICAgICByZWZfQWN0aXZlTmFtZXMudW5zaGlmdChhZG1pbk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbkZvclJlYWRqdXN0XyA9IHJlZl9BY3RpdmVOYW1lcy5sZW5ndGg7XG5cbiAgICAgICAgaWYgKG5Gb3JSZWFkanVzdF8gPT09IDAgJiYgZXZlbnRUeXBlID09PSAnd2ViaW5hcicpIHtcbiAgICAgICAgICB2YWwxID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBbdmFsMTFdID0gYXdhaXQgYXV0b0FkanVzdCh7XG4gICAgICAgICAgICBuOiBuRm9yUmVhZGp1c3RfLFxuICAgICAgICAgICAgZXZlbnRUeXBlLFxuICAgICAgICAgICAgc2hhcmVkLFxuICAgICAgICAgICAgc2hhcmVTY3JlZW5TdGFydGVkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHZhbDEgPSB2YWwxMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjYWxjMSA9IE1hdGguZmxvb3IoKHZhbDEgLyAxMikgKiAxMDApO1xuICAgICAgICBsZXQgY2FsYzIgPSAxMDAgLSBjYWxjMTtcblxuICAgICAgICAvLyBjaGVjayBpZiBsYXN0VXBkYXRlIGlzIG5vdCBudWxsIGFuZCBhdCBsZWFzdCBzYW1lIHNlY29uZHNcbiAgICAgICAgaWYgKGxhc3RVcGRhdGUgPT0gbnVsbCB8fCB1cGRhdGVEYXRlU3RhdGUgIT0gdGltZXN0YW1wKSB7XG4gICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgICBzb2NrZXQuZW1pdChcbiAgICAgICAgICAgICd1cGRhdGVTY3JlZW5DbGllbnQnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByb29tTmFtZSxcbiAgICAgICAgICAgICAgbmFtZXM6IHJlZl9BY3RpdmVOYW1lcyxcbiAgICAgICAgICAgICAgbWFpblBlcmNlbnQ6IGNhbGMyLFxuICAgICAgICAgICAgICBtYWluU2NyZWVuUGVyc29uOiBwZXJzb25Pbk1haW5TY3JlZW4sXG4gICAgICAgICAgICAgIHZpZXdUeXBlOiBldmVudFR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKHsgc3VjY2VzcywgcmVhc29uIH06IHsgc3VjY2VzczogYm9vbGVhbjsgcmVhc29uOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgICAgICB1cGRhdGVEYXRlU3RhdGUgPSB0aW1lc3RhbXA7XG4gICAgICAgICAgICAgIHVwZGF0ZVVwZGF0ZURhdGVTdGF0ZSh1cGRhdGVEYXRlU3RhdGUpO1xuICAgICAgICAgICAgICBsYXN0VXBkYXRlID0gTWF0aC5mbG9vcihub3cuZ2V0VGltZSgpIC8gMTAwMCk7XG4gICAgICAgICAgICAgIHVwZGF0ZUxhc3RVcGRhdGUobGFzdFVwZGF0ZSk7XG4gICAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIHN1Y2Nlc3NcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZWFzb24sICd1cGRhdGVTY3JlZW5DbGllbnQgZmFpbGVkJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChtYWluZmlsbGVkICYmIHBlcnNvbk9uTWFpblNjcmVlbiAhPSBudWxsICYmICFhZG1pbk9uTWFpbikge1xuICAgICAgICBuRm9yUmVhZGp1c3RfID0gcmVmX0FjdGl2ZU5hbWVzLmxlbmd0aDtcblxuICAgICAgICBpZiAoIXJlZl9BY3RpdmVOYW1lcy5pbmNsdWRlcyhhZG1pbk5hbWUpKSB7XG4gICAgICAgICAgcmVmX0FjdGl2ZU5hbWVzLnVuc2hpZnQoYWRtaW5OYW1lKTtcbiAgICAgICAgICBuRm9yUmVhZGp1c3RfID0gcmVmX0FjdGl2ZU5hbWVzLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt2YWwxMV0gPSBhd2FpdCBhdXRvQWRqdXN0KHtcbiAgICAgICAgICBuOiBuRm9yUmVhZGp1c3RfLFxuICAgICAgICAgIGV2ZW50VHlwZSxcbiAgICAgICAgICBzaGFyZWQsXG4gICAgICAgICAgc2hhcmVTY3JlZW5TdGFydGVkLFxuICAgICAgICB9KTtcblxuICAgICAgICB2YWwxID0gdmFsMTE7XG5cbiAgICAgICAgY29uc3QgY2FsYzEgPSBNYXRoLmZsb29yKCh2YWwxIC8gMTIpICogMTAwKTtcbiAgICAgICAgY29uc3QgY2FsYzIgPSAxMDAgLSBjYWxjMTtcblxuICAgICAgICBpZiAobGFzdFVwZGF0ZSA9PSBudWxsIHx8IHVwZGF0ZURhdGVTdGF0ZSAhPSB0aW1lc3RhbXApIHtcbiAgICAgICAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcblxuICAgICAgICAgIHNvY2tldC5lbWl0KFxuICAgICAgICAgICAgJ3VwZGF0ZVNjcmVlbkNsaWVudCcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJvb21OYW1lLFxuICAgICAgICAgICAgICBuYW1lczogcmVmX0FjdGl2ZU5hbWVzLFxuICAgICAgICAgICAgICBtYWluUGVyY2VudDogY2FsYzIsXG4gICAgICAgICAgICAgIG1haW5TY3JlZW5QZXJzb246IHBlcnNvbk9uTWFpblNjcmVlbixcbiAgICAgICAgICAgICAgdmlld1R5cGU6IGV2ZW50VHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoeyBzdWNjZXNzLCByZWFzb24gfTogeyBzdWNjZXNzOiBib29sZWFuOyByZWFzb246IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgIHVwZGF0ZURhdGVTdGF0ZSA9IHRpbWVzdGFtcDtcbiAgICAgICAgICAgICAgdXBkYXRlVXBkYXRlRGF0ZVN0YXRlKHVwZGF0ZURhdGVTdGF0ZSk7XG4gICAgICAgICAgICAgIGxhc3RVcGRhdGUgPSBNYXRoLmZsb29yKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTtcbiAgICAgICAgICAgICAgdXBkYXRlTGFzdFVwZGF0ZShsYXN0VXBkYXRlKTtcbiAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgc3VjY2Vzc1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlYXNvbiwgJ3VwZGF0ZVNjcmVlbkNsaWVudCBmYWlsZWQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzdG9wIHJlY29yZGluZ1xuICAgICAgICBjb25zb2xlLmxvZygndHJpZ2dlciBzdG9wUmVjb3JkaW5nJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdFcnJvciB0cmlnZ2VyaW5nIHVwZGF0ZVNjcmVlbjonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,135 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Updates the mini cards grid based on the specified rows and columns.
5
- *
6
- * This method calculates the dimensions for the mini cards based on the provided
7
- * rows and columns, as well as the container sizes. It also considers pagination
8
- * settings and updates the grid sizes accordingly. The method can update either
9
- * the default grid or an alternative grid based on the `defal` parameter.
10
- *
11
- * @param {UpdateMiniCardsGridOptions} options - The options for updating the mini cards grid.
12
- * @param {number} options.rows - The number of rows in the grid.
13
- * @param {number} options.cols - The number of columns in the grid.
14
- * @param {boolean} [options.defal=true] - Flag indicating whether to update the default grid or an alternative grid.
15
- * @param {number} [options.actualRows=2] - The actual number of rows in the grid.
16
- * @param {UpdateMiniCardsGridParameters} options.parameters - Additional parameters needed for the function.
17
- * @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
18
- * @param {Function} options.parameters.updateGridRows - Function to update the grid rows.
19
- * @param {Function} options.parameters.updateGridCols - Function to update the grid columns.
20
- * @param {Function} options.parameters.updateAltGridRows - Function to update the alternative grid rows.
21
- * @param {Function} options.parameters.updateAltGridCols - Function to update the alternative grid columns.
22
- * @param {Function} options.parameters.updateGridSizes - Function to update the grid sizes.
23
- * @param {GridSizes} options.parameters.gridSizes - Object containing grid width and height.
24
- * @param {string} options.parameters.paginationDirection - The direction of pagination ('horizontal' or 'vertical').
25
- * @param {number} options.parameters.paginationHeightWidth - The height or width of pagination.
26
- * @param {boolean} options.parameters.doPaginate - Flag indicating whether pagination is enabled.
27
- * @param {ComponentSizes} options.parameters.componentSizes - Object containing container width and height.
28
- * @param {EventType} options.parameters.eventType - The type of event ('chat', etc.).
29
- *
30
- * @returns {Promise<void>} - A Promise that resolves after updating the mini cards grid.
31
- *
32
- * @example
33
- * ```typescript
34
- * const gridOptions = {
35
- * rows: 3,
36
- * cols: 4,
37
- * parameters: {
38
- * getUpdatedAllParams: () => updatedParams,
39
- * updateGridRows: (rows) => console.log(`Grid Rows Updated: ${rows}`),
40
- * updateGridCols: (cols) => console.log(`Grid Cols Updated: ${cols}`),
41
- * updateAltGridRows: (rows) => console.log(`Alt Grid Rows Updated: ${rows}`),
42
- * updateAltGridCols: (cols) => console.log(`Alt Grid Cols Updated: ${cols}`),
43
- * updateGridSizes: (sizes) => console.log(`Grid Sizes Updated: ${JSON.stringify(sizes)}`),
44
- * gridSizes: { gridWidth: 100, gridHeight: 100 },
45
- * paginationDirection: 'horizontal',
46
- * paginationHeightWidth: 50,
47
- * doPaginate: true,
48
- * componentSizes: { otherWidth: 800, otherHeight: 600 },
49
- * eventType: 'chat',
50
- * },
51
- * };
52
- *
53
- * const miniCardGridService = new UpdateMiniCardsGrid();
54
- * miniCardGridService.updateMiniCardsGrid(gridOptions);
55
- * ```
56
- */
57
- export class UpdateMiniCardsGrid {
58
- /**
59
- * Updates the mini cards grid based on the specified rows and columns.
60
- *
61
- * @param {object} options - The function parameters.
62
- * @param {number} options.rows - The number of rows in the grid.
63
- * @param {number} options.cols - The number of columns in the grid.
64
- * @param {boolean} options.defal - Flag indicating whether to update the default grid or an alternative grid.
65
- * @param {number} options.actualRows - The actual number of rows in the grid.
66
- * @param {number} options.ind - The index parameter.
67
- * @param {object} options.parameters - Additional parameters needed for the function.
68
- * @param {function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
69
- * @param {function} options.parameters.updateGridRows - Function to update the grid rows.
70
- * @param {function} options.parameters.updateGridCols - Function to update the grid columns.
71
- * @param {function} options.parameters.updateAltGridRows - Function to update the alternative grid rows.
72
- * @param {function} options.parameters.updateAltGridCols - Function to update the alternative grid columns.
73
- * @param {function} options.parameters.updateGridSizes - Function to update the grid sizes.
74
- * @param {object} options.parameters.gridSizes - Object containing grid width and height.
75
- * @param {string} options.parameters.paginationDirection - The direction of pagination ('horizontal' or 'vertical').
76
- * @param {number} options.parameters.paginationHeightWidth - The height or width of pagination.
77
- * @param {boolean} options.parameters.doPaginate - Flag indicating whether pagination is enabled.
78
- * @param {object} options.parameters.componentSizes - Object containing container width and height.
79
- * @param {string} options.parameters.eventType - The type of event ('chat', etc.).
80
- * @returns {Promise<void>} - A Promise that resolves after updating the mini cards grid.
81
- */
82
- async updateMiniCardsGrid({ rows, cols, defal = true, actualRows = 2, parameters, }) {
83
- let { getUpdatedAllParams } = parameters;
84
- parameters = getUpdatedAllParams();
85
- let { updateGridRows, updateGridCols, updateAltGridRows, updateAltGridCols, updateGridSizes, gridSizes, paginationDirection, paginationHeightWidth, doPaginate, componentSizes, eventType, } = parameters;
86
- let containerWidth = componentSizes.otherWidth;
87
- let containerHeight = componentSizes.otherHeight;
88
- if (doPaginate) {
89
- // if pagination is enabled and direction is horizontal
90
- if (paginationDirection == 'horizontal') {
91
- containerHeight = containerHeight - paginationHeightWidth;
92
- }
93
- else {
94
- containerWidth = containerWidth - paginationHeightWidth;
95
- }
96
- }
97
- let cardSpacing = 3; // 3px margin between cards
98
- if (eventType == 'chat') {
99
- cardSpacing = 0;
100
- }
101
- let totalSpacingHorizontal = (cols - 1) * cardSpacing;
102
- let totalSpacingVertical = (actualRows - 1) * cardSpacing;
103
- let cardWidth;
104
- let cardHeight;
105
- if (cols == 0 || actualRows == 0) {
106
- cardWidth = 0;
107
- cardHeight = 0;
108
- }
109
- else {
110
- cardWidth = Math.floor((containerWidth - totalSpacingHorizontal) / cols);
111
- cardHeight = Math.floor((containerHeight - totalSpacingVertical) / actualRows);
112
- }
113
- if (defal) {
114
- updateGridRows(rows);
115
- updateGridCols(cols);
116
- gridSizes = { ...gridSizes, gridWidth: cardWidth, gridHeight: cardHeight };
117
- updateGridSizes(gridSizes);
118
- }
119
- else {
120
- updateAltGridRows(rows);
121
- updateAltGridCols(cols);
122
- gridSizes = { ...gridSizes, altGridWidth: cardWidth, altGridHeight: cardHeight };
123
- updateGridSizes(gridSizes);
124
- }
125
- }
126
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateMiniCardsGrid, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
127
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateMiniCardsGrid, providedIn: 'root' });
128
- }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateMiniCardsGrid, decorators: [{
130
- type: Injectable,
131
- args: [{
132
- providedIn: 'root',
133
- }]
134
- }] });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1pbmktY2FyZHMtZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy91cGRhdGUtbWluaS1jYXJkcy1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE4QjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFERztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BdUJHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQ3hCLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxHQUFHLElBQUksRUFDWixVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQVUsR0FDaUI7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLFVBQVUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRW5DLElBQUksRUFDRixjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZUFBZSxFQUVmLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixjQUFjLEVBQ2QsU0FBUyxHQUNWLEdBQUcsVUFBVSxDQUFDO1FBRWYsSUFBSSxjQUFjLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBRWpELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZix1REFBdUQ7WUFDdkQsSUFBSSxtQkFBbUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDeEMsZUFBZSxHQUFHLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztZQUMxRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtRQUNoRCxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QixXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLHNCQUFzQixHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztRQUN0RCxJQUFJLG9CQUFvQixHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztRQUMxRCxJQUFJLFNBQVMsQ0FBQztRQUNkLElBQUksVUFBVSxDQUFDO1FBQ2YsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDekUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckIsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDM0UsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEIsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDakYsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO3VHQTNGVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZFNpemVzLCBDb21wb25lbnRTaXplcywgRXZlbnRUeXBlIH0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWluaUNhcmRzR3JpZFBhcmFtZXRlcnMge1xuICB1cGRhdGVHcmlkUm93czogKHJvd3M6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlR3JpZENvbHM6IChjb2xzOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZUFsdEdyaWRSb3dzOiAocm93czogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVBbHRHcmlkQ29sczogKGNvbHM6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlR3JpZFNpemVzOiAoZ3JpZFNpemVzOiBHcmlkU2l6ZXMpID0+IHZvaWQ7XG4gIGdyaWRTaXplczogR3JpZFNpemVzO1xuICBwYWdpbmF0aW9uRGlyZWN0aW9uOiBzdHJpbmc7XG4gIHBhZ2luYXRpb25IZWlnaHRXaWR0aDogbnVtYmVyO1xuICBkb1BhZ2luYXRlOiBib29sZWFuO1xuICBjb21wb25lbnRTaXplczogQ29tcG9uZW50U2l6ZXM7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFVwZGF0ZU1pbmlDYXJkc0dyaWRQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWluaUNhcmRzR3JpZE9wdGlvbnMge1xuICByb3dzOiBudW1iZXI7XG4gIGNvbHM6IG51bWJlcjtcbiAgZGVmYWw/OiBib29sZWFuO1xuICBhY3R1YWxSb3dzPzogbnVtYmVyO1xuICBwYXJhbWV0ZXJzOiBVcGRhdGVNaW5pQ2FyZHNHcmlkUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgVXBkYXRlTWluaUNhcmRzR3JpZFR5cGUgPSAob3B0aW9uczogVXBkYXRlTWluaUNhcmRzR3JpZE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbWluaSBjYXJkcyBncmlkIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgcm93cyBhbmQgY29sdW1ucy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjYWxjdWxhdGVzIHRoZSBkaW1lbnNpb25zIGZvciB0aGUgbWluaSBjYXJkcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWRcbiAqIHJvd3MgYW5kIGNvbHVtbnMsIGFzIHdlbGwgYXMgdGhlIGNvbnRhaW5lciBzaXplcy4gSXQgYWxzbyBjb25zaWRlcnMgcGFnaW5hdGlvblxuICogc2V0dGluZ3MgYW5kIHVwZGF0ZXMgdGhlIGdyaWQgc2l6ZXMgYWNjb3JkaW5nbHkuIFRoZSBtZXRob2QgY2FuIHVwZGF0ZSBlaXRoZXJcbiAqIHRoZSBkZWZhdWx0IGdyaWQgb3IgYW4gYWx0ZXJuYXRpdmUgZ3JpZCBiYXNlZCBvbiB0aGUgYGRlZmFsYCBwYXJhbWV0ZXIuXG4gKlxuICogQHBhcmFtIHtVcGRhdGVNaW5pQ2FyZHNHcmlkT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB1cGRhdGluZyB0aGUgbWluaSBjYXJkcyBncmlkLlxuICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucm93cyAtIFRoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZ3JpZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmNvbHMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmRlZmFsPXRydWVdIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gdXBkYXRlIHRoZSBkZWZhdWx0IGdyaWQgb3IgYW4gYWx0ZXJuYXRpdmUgZ3JpZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5hY3R1YWxSb3dzPTJdIC0gVGhlIGFjdHVhbCBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZ3JpZC5cbiAqIEBwYXJhbSB7VXBkYXRlTWluaUNhcmRzR3JpZFBhcmFtZXRlcnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBuZWVkZWQgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zIC0gRnVuY3Rpb24gdG8gZ2V0IHVwZGF0ZWQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVHcmlkUm93cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCByb3dzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUdyaWRDb2xzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBncmlkIGNvbHVtbnMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQWx0R3JpZFJvd3MgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGFsdGVybmF0aXZlIGdyaWQgcm93cy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVBbHRHcmlkQ29scyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYWx0ZXJuYXRpdmUgZ3JpZCBjb2x1bW5zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUdyaWRTaXplcyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCBzaXplcy5cbiAqIEBwYXJhbSB7R3JpZFNpemVzfSBvcHRpb25zLnBhcmFtZXRlcnMuZ3JpZFNpemVzIC0gT2JqZWN0IGNvbnRhaW5pbmcgZ3JpZCB3aWR0aCBhbmQgaGVpZ2h0LlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wYWdpbmF0aW9uRGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiBvZiBwYWdpbmF0aW9uICgnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJykuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnBhZ2luYXRpb25IZWlnaHRXaWR0aCAtIFRoZSBoZWlnaHQgb3Igd2lkdGggb2YgcGFnaW5hdGlvbi5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmRvUGFnaW5hdGUgLSBGbGFnIGluZGljYXRpbmcgd2hldGhlciBwYWdpbmF0aW9uIGlzIGVuYWJsZWQuXG4gKiBAcGFyYW0ge0NvbXBvbmVudFNpemVzfSBvcHRpb25zLnBhcmFtZXRlcnMuY29tcG9uZW50U2l6ZXMgLSBPYmplY3QgY29udGFpbmluZyBjb250YWluZXIgd2lkdGggYW5kIGhlaWdodC5cbiAqIEBwYXJhbSB7RXZlbnRUeXBlfSBvcHRpb25zLnBhcmFtZXRlcnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKCdjaGF0JywgZXRjLikuXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgdXBkYXRpbmcgdGhlIG1pbmkgY2FyZHMgZ3JpZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZ3JpZE9wdGlvbnMgPSB7XG4gKiAgIHJvd3M6IDMsXG4gKiAgIGNvbHM6IDQsXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiB1cGRhdGVkUGFyYW1zLFxuICogICAgIHVwZGF0ZUdyaWRSb3dzOiAocm93cykgPT4gY29uc29sZS5sb2coYEdyaWQgUm93cyBVcGRhdGVkOiAke3Jvd3N9YCksXG4gKiAgICAgdXBkYXRlR3JpZENvbHM6IChjb2xzKSA9PiBjb25zb2xlLmxvZyhgR3JpZCBDb2xzIFVwZGF0ZWQ6ICR7Y29sc31gKSxcbiAqICAgICB1cGRhdGVBbHRHcmlkUm93czogKHJvd3MpID0+IGNvbnNvbGUubG9nKGBBbHQgR3JpZCBSb3dzIFVwZGF0ZWQ6ICR7cm93c31gKSxcbiAqICAgICB1cGRhdGVBbHRHcmlkQ29sczogKGNvbHMpID0+IGNvbnNvbGUubG9nKGBBbHQgR3JpZCBDb2xzIFVwZGF0ZWQ6ICR7Y29sc31gKSxcbiAqICAgICB1cGRhdGVHcmlkU2l6ZXM6IChzaXplcykgPT4gY29uc29sZS5sb2coYEdyaWQgU2l6ZXMgVXBkYXRlZDogJHtKU09OLnN0cmluZ2lmeShzaXplcyl9YCksXG4gKiAgICAgZ3JpZFNpemVzOiB7IGdyaWRXaWR0aDogMTAwLCBncmlkSGVpZ2h0OiAxMDAgfSxcbiAqICAgICBwYWdpbmF0aW9uRGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcsXG4gKiAgICAgcGFnaW5hdGlvbkhlaWdodFdpZHRoOiA1MCxcbiAqICAgICBkb1BhZ2luYXRlOiB0cnVlLFxuICogICAgIGNvbXBvbmVudFNpemVzOiB7IG90aGVyV2lkdGg6IDgwMCwgb3RoZXJIZWlnaHQ6IDYwMCB9LFxuICogICAgIGV2ZW50VHlwZTogJ2NoYXQnLFxuICogICB9LFxuICogfTtcbiAqXG4gKiBjb25zdCBtaW5pQ2FyZEdyaWRTZXJ2aWNlID0gbmV3IFVwZGF0ZU1pbmlDYXJkc0dyaWQoKTtcbiAqIG1pbmlDYXJkR3JpZFNlcnZpY2UudXBkYXRlTWluaUNhcmRzR3JpZChncmlkT3B0aW9ucyk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVNaW5pQ2FyZHNHcmlkIHtcbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIG1pbmkgY2FyZHMgZ3JpZCBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIHJvd3MgYW5kIGNvbHVtbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIC0gVGhlIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnJvd3MgLSBUaGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGdyaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmNvbHMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5kZWZhbCAtIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHVwZGF0ZSB0aGUgZGVmYXVsdCBncmlkIG9yIGFuIGFsdGVybmF0aXZlIGdyaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmFjdHVhbFJvd3MgLSBUaGUgYWN0dWFsIG51bWJlciBvZiByb3dzIGluIHRoZSBncmlkLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5pbmQgLSBUaGUgaW5kZXggcGFyYW1ldGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gQWRkaXRpb25hbCBwYXJhbWV0ZXJzIG5lZWRlZCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcyAtIEZ1bmN0aW9uIHRvIGdldCB1cGRhdGVkIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVHcmlkUm93cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCByb3dzLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlR3JpZENvbHMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGdyaWQgY29sdW1ucy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUFsdEdyaWRSb3dzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhbHRlcm5hdGl2ZSBncmlkIHJvd3MuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVBbHRHcmlkQ29scyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYWx0ZXJuYXRpdmUgZ3JpZCBjb2x1bW5zLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlR3JpZFNpemVzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBncmlkIHNpemVzLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzLmdyaWRTaXplcyAtIE9iamVjdCBjb250YWluaW5nIGdyaWQgd2lkdGggYW5kIGhlaWdodC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wYWdpbmF0aW9uRGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiBvZiBwYWdpbmF0aW9uICgnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJykuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnBhcmFtZXRlcnMucGFnaW5hdGlvbkhlaWdodFdpZHRoIC0gVGhlIGhlaWdodCBvciB3aWR0aCBvZiBwYWdpbmF0aW9uLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5kb1BhZ2luYXRlIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgcGFnaW5hdGlvbiBpcyBlbmFibGVkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbXBvbmVudFNpemVzIC0gT2JqZWN0IGNvbnRhaW5pbmcgY29udGFpbmVyIHdpZHRoIGFuZCBoZWlnaHQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKCdjaGF0JywgZXRjLikuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIGFmdGVyIHVwZGF0aW5nIHRoZSBtaW5pIGNhcmRzIGdyaWQuXG4gICAqL1xuICBhc3luYyB1cGRhdGVNaW5pQ2FyZHNHcmlkKHtcbiAgICByb3dzLFxuICAgIGNvbHMsXG4gICAgZGVmYWwgPSB0cnVlLFxuICAgIGFjdHVhbFJvd3MgPSAyLFxuICAgIHBhcmFtZXRlcnMsXG4gIH06IFVwZGF0ZU1pbmlDYXJkc0dyaWRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IHsgZ2V0VXBkYXRlZEFsbFBhcmFtcyB9ID0gcGFyYW1ldGVycztcbiAgICBwYXJhbWV0ZXJzID0gZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgbGV0IHtcbiAgICAgIHVwZGF0ZUdyaWRSb3dzLFxuICAgICAgdXBkYXRlR3JpZENvbHMsXG4gICAgICB1cGRhdGVBbHRHcmlkUm93cyxcbiAgICAgIHVwZGF0ZUFsdEdyaWRDb2xzLFxuICAgICAgdXBkYXRlR3JpZFNpemVzLFxuXG4gICAgICBncmlkU2l6ZXMsXG4gICAgICBwYWdpbmF0aW9uRGlyZWN0aW9uLFxuICAgICAgcGFnaW5hdGlvbkhlaWdodFdpZHRoLFxuICAgICAgZG9QYWdpbmF0ZSxcbiAgICAgIGNvbXBvbmVudFNpemVzLFxuICAgICAgZXZlbnRUeXBlLFxuICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgbGV0IGNvbnRhaW5lcldpZHRoID0gY29tcG9uZW50U2l6ZXMub3RoZXJXaWR0aDtcbiAgICBsZXQgY29udGFpbmVySGVpZ2h0ID0gY29tcG9uZW50U2l6ZXMub3RoZXJIZWlnaHQ7XG5cbiAgICBpZiAoZG9QYWdpbmF0ZSkge1xuICAgICAgLy8gaWYgcGFnaW5hdGlvbiBpcyBlbmFibGVkIGFuZCBkaXJlY3Rpb24gaXMgaG9yaXpvbnRhbFxuICAgICAgaWYgKHBhZ2luYXRpb25EaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgIGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAtIHBhZ2luYXRpb25IZWlnaHRXaWR0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyV2lkdGggLSBwYWdpbmF0aW9uSGVpZ2h0V2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGNhcmRTcGFjaW5nID0gMzsgLy8gM3B4IG1hcmdpbiBiZXR3ZWVuIGNhcmRzXG4gICAgaWYgKGV2ZW50VHlwZSA9PSAnY2hhdCcpIHtcbiAgICAgIGNhcmRTcGFjaW5nID0gMDtcbiAgICB9XG4gICAgbGV0IHRvdGFsU3BhY2luZ0hvcml6b250YWwgPSAoY29scyAtIDEpICogY2FyZFNwYWNpbmc7XG4gICAgbGV0IHRvdGFsU3BhY2luZ1ZlcnRpY2FsID0gKGFjdHVhbFJvd3MgLSAxKSAqIGNhcmRTcGFjaW5nO1xuICAgIGxldCBjYXJkV2lkdGg7XG4gICAgbGV0IGNhcmRIZWlnaHQ7XG4gICAgaWYgKGNvbHMgPT0gMCB8fCBhY3R1YWxSb3dzID09IDApIHtcbiAgICAgIGNhcmRXaWR0aCA9IDA7XG4gICAgICBjYXJkSGVpZ2h0ID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FyZFdpZHRoID0gTWF0aC5mbG9vcigoY29udGFpbmVyV2lkdGggLSB0b3RhbFNwYWNpbmdIb3Jpem9udGFsKSAvIGNvbHMpO1xuICAgICAgY2FyZEhlaWdodCA9IE1hdGguZmxvb3IoKGNvbnRhaW5lckhlaWdodCAtIHRvdGFsU3BhY2luZ1ZlcnRpY2FsKSAvIGFjdHVhbFJvd3MpO1xuICAgIH1cblxuICAgIGlmIChkZWZhbCkge1xuICAgICAgdXBkYXRlR3JpZFJvd3Mocm93cyk7XG4gICAgICB1cGRhdGVHcmlkQ29scyhjb2xzKTtcblxuICAgICAgZ3JpZFNpemVzID0geyAuLi5ncmlkU2l6ZXMsIGdyaWRXaWR0aDogY2FyZFdpZHRoLCBncmlkSGVpZ2h0OiBjYXJkSGVpZ2h0IH07XG4gICAgICB1cGRhdGVHcmlkU2l6ZXMoZ3JpZFNpemVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlQWx0R3JpZFJvd3Mocm93cyk7XG4gICAgICB1cGRhdGVBbHRHcmlkQ29scyhjb2xzKTtcblxuICAgICAgZ3JpZFNpemVzID0geyAuLi5ncmlkU2l6ZXMsIGFsdEdyaWRXaWR0aDogY2FyZFdpZHRoLCBhbHRHcmlkSGVpZ2h0OiBjYXJkSGVpZ2h0IH07XG4gICAgICB1cGRhdGVHcmlkU2l6ZXMoZ3JpZFNpemVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Updates or adds a participant's audio decibel data in the array.
5
- *
6
- * This method checks if a participant's name exists in the audio decibels array.
7
- * If it does, it updates the participant's `averageLoudness`; otherwise, it adds a new entry.
8
- * After modification, it calls `updateAudioDecibels` to apply the changes to the array.
9
- *
10
- * @param {UpdateParticipantAudioDecibelsOptions} options - The options for updating participant audio decibels.
11
- * @param {string} options.name - The name of the participant.
12
- * @param {number} options.averageLoudness - The current average loudness of the participant.
13
- * @param {AudioDecibels[]} options.audioDecibels - The array of current audio decibel entries.
14
- * @param {Function} options.updateAudioDecibels - The function to update the audio decibels array.
15
- *
16
- * @returns {void} - This function does not return a value.
17
- *
18
- * @example
19
- * ```typescript
20
- * const audioDecibels = [
21
- * { name: 'Alice', averageLoudness: -10 },
22
- * { name: 'Bob', averageLoudness: -12 },
23
- * ];
24
- *
25
- * const updateAudioDecibels = (newDecibels) => {
26
- * console.log('Updated audio decibels:', newDecibels);
27
- * };
28
- *
29
- * const updateService = new UpdateParticipantAudioDecibels();
30
- *
31
- * // Update existing participant
32
- * updateService.updateParticipantAudioDecibels({
33
- * name: 'Alice',
34
- * averageLoudness: -8,
35
- * audioDecibels,
36
- * updateAudioDecibels,
37
- * });
38
- *
39
- * // Add a new participant
40
- * updateService.updateParticipantAudioDecibels({
41
- * name: 'Charlie',
42
- * averageLoudness: -15,
43
- * audioDecibels,
44
- * updateAudioDecibels,
45
- * });
46
- * ```
47
- */
48
- export class UpdateParticipantAudioDecibels {
49
- /**
50
- * Updates the audio decibels for a participant.
51
- *
52
- * @param {Object} options - The options for updating participant audio decibels.
53
- * @param {string} options.name - The name of the participant.
54
- * @param {number} options.averageLoudness - The average loudness of the participant.
55
- * @param {Array<{ name: string, averageLoudness: number }>} options.audioDecibels - The array of audio decibels entries.
56
- * @param {Function} options.updateAudioDecibels - The function to update the audio decibels array.
57
- *
58
- * @returns {void}
59
- */
60
- updateParticipantAudioDecibels({ name, averageLoudness, audioDecibels, updateAudioDecibels, }) {
61
- // Function to update the audioDecibels array
62
- // Check if the entry already exists in audioDecibels
63
- const existingEntry = audioDecibels.find((entry) => entry.name === name);
64
- if (existingEntry) {
65
- // Entry exists, update the averageLoudness
66
- existingEntry.averageLoudness = averageLoudness;
67
- }
68
- else {
69
- // Entry doesn't exist, add a new entry to audioDecibels
70
- audioDecibels.push({ name, averageLoudness });
71
- }
72
- // Update the audioDecibels array
73
- updateAudioDecibels(audioDecibels);
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateParticipantAudioDecibels, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
76
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateParticipantAudioDecibels, providedIn: 'root' });
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: UpdateParticipantAudioDecibels, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root',
82
- }]
83
- }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBhcnRpY2lwYW50LWF1ZGlvLWRlY2liZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29uc3VtZXJzL3VwZGF0ZS1wYXJ0aWNpcGFudC1hdWRpby1kZWNpYmVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDRztBQU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFDekM7Ozs7Ozs7Ozs7T0FVRztJQUVILDhCQUE4QixDQUFDLEVBQzdCLElBQUksRUFDSixlQUFlLEVBQ2YsYUFBYSxFQUNiLG1CQUFtQixHQUNtQjtRQUN0Qyw2Q0FBNkM7UUFDN0MscURBQXFEO1FBQ3JELE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFFOUUsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQiwyQ0FBMkM7WUFDM0MsYUFBYSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDTix3REFBd0Q7WUFDeEQsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxpQ0FBaUM7UUFDakMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0FqQ1UsOEJBQThCOzJHQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTs7MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1ZGlvRGVjaWJlbHMgfSBmcm9tICcuLi9AdHlwZXMvdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhdmVyYWdlTG91ZG5lc3M6IG51bWJlcjtcbiAgYXVkaW9EZWNpYmVsczogQXVkaW9EZWNpYmVsc1tdO1xuICB1cGRhdGVBdWRpb0RlY2liZWxzOiAoYXVkaW9EZWNpYmVsczogQXVkaW9EZWNpYmVsc1tdKSA9PiB2b2lkO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNUeXBlID0gKFxuICBvcHRpb25zOiBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNPcHRpb25zLFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFVwZGF0ZXMgb3IgYWRkcyBhIHBhcnRpY2lwYW50J3MgYXVkaW8gZGVjaWJlbCBkYXRhIGluIHRoZSBhcnJheS5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjaGVja3MgaWYgYSBwYXJ0aWNpcGFudCdzIG5hbWUgZXhpc3RzIGluIHRoZSBhdWRpbyBkZWNpYmVscyBhcnJheS5cbiAqIElmIGl0IGRvZXMsIGl0IHVwZGF0ZXMgdGhlIHBhcnRpY2lwYW50J3MgYGF2ZXJhZ2VMb3VkbmVzc2A7IG90aGVyd2lzZSwgaXQgYWRkcyBhIG5ldyBlbnRyeS5cbiAqIEFmdGVyIG1vZGlmaWNhdGlvbiwgaXQgY2FsbHMgYHVwZGF0ZUF1ZGlvRGVjaWJlbHNgIHRvIGFwcGx5IHRoZSBjaGFuZ2VzIHRvIHRoZSBhcnJheS5cbiAqXG4gKiBAcGFyYW0ge1VwZGF0ZVBhcnRpY2lwYW50QXVkaW9EZWNpYmVsc09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgcGFydGljaXBhbnQgYXVkaW8gZGVjaWJlbHMuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHBhcnRpY2lwYW50LlxuICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMuYXZlcmFnZUxvdWRuZXNzIC0gVGhlIGN1cnJlbnQgYXZlcmFnZSBsb3VkbmVzcyBvZiB0aGUgcGFydGljaXBhbnQuXG4gKiBAcGFyYW0ge0F1ZGlvRGVjaWJlbHNbXX0gb3B0aW9ucy5hdWRpb0RlY2liZWxzIC0gVGhlIGFycmF5IG9mIGN1cnJlbnQgYXVkaW8gZGVjaWJlbCBlbnRyaWVzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVBdWRpb0RlY2liZWxzIC0gVGhlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gZGVjaWJlbHMgYXJyYXkuXG4gKlxuICogQHJldHVybnMge3ZvaWR9IC0gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYSB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYXVkaW9EZWNpYmVscyA9IFtcbiAqICAgeyBuYW1lOiAnQWxpY2UnLCBhdmVyYWdlTG91ZG5lc3M6IC0xMCB9LFxuICogICB7IG5hbWU6ICdCb2InLCBhdmVyYWdlTG91ZG5lc3M6IC0xMiB9LFxuICogXTtcbiAqXG4gKiBjb25zdCB1cGRhdGVBdWRpb0RlY2liZWxzID0gKG5ld0RlY2liZWxzKSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdVcGRhdGVkIGF1ZGlvIGRlY2liZWxzOicsIG5ld0RlY2liZWxzKTtcbiAqIH07XG4gKlxuICogY29uc3QgdXBkYXRlU2VydmljZSA9IG5ldyBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMoKTtcbiAqXG4gKiAvLyBVcGRhdGUgZXhpc3RpbmcgcGFydGljaXBhbnRcbiAqIHVwZGF0ZVNlcnZpY2UudXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzKHtcbiAqICAgbmFtZTogJ0FsaWNlJyxcbiAqICAgYXZlcmFnZUxvdWRuZXNzOiAtOCxcbiAqICAgYXVkaW9EZWNpYmVscyxcbiAqICAgdXBkYXRlQXVkaW9EZWNpYmVscyxcbiAqIH0pO1xuICpcbiAqIC8vIEFkZCBhIG5ldyBwYXJ0aWNpcGFudFxuICogdXBkYXRlU2VydmljZS51cGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMoe1xuICogICBuYW1lOiAnQ2hhcmxpZScsXG4gKiAgIGF2ZXJhZ2VMb3VkbmVzczogLTE1LFxuICogICBhdWRpb0RlY2liZWxzLFxuICogICB1cGRhdGVBdWRpb0RlY2liZWxzLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMge1xuICAvKipcbiAgICogVXBkYXRlcyB0aGUgYXVkaW8gZGVjaWJlbHMgZm9yIGEgcGFydGljaXBhbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHBhcnRpY2lwYW50IGF1ZGlvIGRlY2liZWxzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHBhcnRpY2lwYW50LlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5hdmVyYWdlTG91ZG5lc3MgLSBUaGUgYXZlcmFnZSBsb3VkbmVzcyBvZiB0aGUgcGFydGljaXBhbnQuXG4gICAqIEBwYXJhbSB7QXJyYXk8eyBuYW1lOiBzdHJpbmcsIGF2ZXJhZ2VMb3VkbmVzczogbnVtYmVyIH0+fSBvcHRpb25zLmF1ZGlvRGVjaWJlbHMgLSBUaGUgYXJyYXkgb2YgYXVkaW8gZGVjaWJlbHMgZW50cmllcy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVBdWRpb0RlY2liZWxzIC0gVGhlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gZGVjaWJlbHMgYXJyYXkuXG4gICAqXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cblxuICB1cGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMoe1xuICAgIG5hbWUsXG4gICAgYXZlcmFnZUxvdWRuZXNzLFxuICAgIGF1ZGlvRGVjaWJlbHMsXG4gICAgdXBkYXRlQXVkaW9EZWNpYmVscyxcbiAgfTogVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW9EZWNpYmVscyBhcnJheVxuICAgIC8vIENoZWNrIGlmIHRoZSBlbnRyeSBhbHJlYWR5IGV4aXN0cyBpbiBhdWRpb0RlY2liZWxzXG4gICAgY29uc3QgZXhpc3RpbmdFbnRyeSA9IGF1ZGlvRGVjaWJlbHMuZmluZCgoZW50cnk6IGFueSkgPT4gZW50cnkubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoZXhpc3RpbmdFbnRyeSkge1xuICAgICAgLy8gRW50cnkgZXhpc3RzLCB1cGRhdGUgdGhlIGF2ZXJhZ2VMb3VkbmVzc1xuICAgICAgZXhpc3RpbmdFbnRyeS5hdmVyYWdlTG91ZG5lc3MgPSBhdmVyYWdlTG91ZG5lc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVudHJ5IGRvZXNuJ3QgZXhpc3QsIGFkZCBhIG5ldyBlbnRyeSB0byBhdWRpb0RlY2liZWxzXG4gICAgICBhdWRpb0RlY2liZWxzLnB1c2goeyBuYW1lLCBhdmVyYWdlTG91ZG5lc3MgfSk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBhdWRpb0RlY2liZWxzIGFycmF5XG4gICAgdXBkYXRlQXVkaW9EZWNpYmVscyhhdWRpb0RlY2liZWxzKTtcbiAgfVxufVxuIl19
@@ -1,48 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Toggles the visibility of the background modal.
5
- *
6
- * This method updates the visibility state of the background modal by calling
7
- * the provided update function with the negation of the current visibility state.
8
- *
9
- * @param {LaunchBackgroundOptions} options - The options object containing necessary variables and functions.
10
- * @param {Function} options.updateIsBackgroundModalVisible - Function to update the visibility state of the background modal.
11
- * @param {boolean} options.isBackgroundModalVisible - Current visibility state of the background modal.
12
- *
13
- * @returns {void}
14
- *
15
- * @example
16
- * ```typescript
17
- * const options = {
18
- * updateIsBackgroundModalVisible: (isVisible) => {
19
- * console.log(`Background modal is now ${isVisible ? 'visible' : 'hidden'}.`);
20
- * },
21
- * isBackgroundModalVisible: false,
22
- * };
23
- *
24
- * const launchBackgroundService = new LaunchBackground();
25
- * launchBackgroundService.launchBackground(options);
26
- * ```
27
- */
28
- export class LaunchBackground {
29
- /**
30
- * Toggles the visibility of the background modal.
31
- * @function
32
- * @param {Object} options - The options object containing necessary variables and functions.
33
- * @param {Function} options.updateIsBackgroundModalVisible - Function to update the visibility state of the background modal.
34
- * @param {boolean} options.isBackgroundModalVisible - Current visibility state of the background modal.
35
- */
36
- launchBackground({ updateIsBackgroundModalVisible, isBackgroundModalVisible, }) {
37
- updateIsBackgroundModalVisible(!isBackgroundModalVisible);
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchBackground, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchBackground, providedIn: 'root' });
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchBackground, decorators: [{
43
- type: Injectable,
44
- args: [{
45
- providedIn: 'root',
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWJhY2tncm91bmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL2JhY2tncm91bmQtbWV0aG9kcy9sYXVuY2gtYmFja2dyb3VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOzs7Ozs7T0FNRztJQUVILGdCQUFnQixDQUFDLEVBQ2YsOEJBQThCLEVBQzlCLHdCQUF3QixHQUNBO1FBQ3hCLDhCQUE4QixDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO3VHQWRVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoQmFja2dyb3VuZE9wdGlvbnMge1xuICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgTGF1bmNoQmFja2dyb3VuZFR5cGUgPSAob3B0aW9uczogTGF1bmNoQmFja2dyb3VuZE9wdGlvbnMpID0+IHZvaWQ7XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYmFja2dyb3VuZCBtb2RhbC5cbiAqXG4gKiBUaGlzIG1ldGhvZCB1cGRhdGVzIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsIGJ5IGNhbGxpbmdcbiAqIHRoZSBwcm92aWRlZCB1cGRhdGUgZnVuY3Rpb24gd2l0aCB0aGUgbmVnYXRpb24gb2YgdGhlIGN1cnJlbnQgdmlzaWJpbGl0eSBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge0xhdW5jaEJhY2tncm91bmRPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgbmVjZXNzYXJ5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGJhY2tncm91bmQgbW9kYWwuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvcHRpb25zID0ge1xuICogICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGU6IChpc1Zpc2libGUpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhgQmFja2dyb3VuZCBtb2RhbCBpcyBub3cgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ30uYCk7XG4gKiAgIH0sXG4gKiAgIGlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZTogZmFsc2UsXG4gKiB9O1xuICpcbiAqIGNvbnN0IGxhdW5jaEJhY2tncm91bmRTZXJ2aWNlID0gbmV3IExhdW5jaEJhY2tncm91bmQoKTtcbiAqIGxhdW5jaEJhY2tncm91bmRTZXJ2aWNlLmxhdW5jaEJhY2tncm91bmQob3B0aW9ucyk7XG4gKiBgYGBcbiAqL1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGF1bmNoQmFja2dyb3VuZCB7XG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICAgKiBAZnVuY3Rpb25cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3QgY29udGFpbmluZyBuZWNlc3NhcnkgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICAgKi9cblxuICBsYXVuY2hCYWNrZ3JvdW5kKHtcbiAgICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGUsXG4gICAgaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlLFxuICB9OiBMYXVuY2hCYWNrZ3JvdW5kT3B0aW9ucyk6IHZvaWQge1xuICAgIHVwZGF0ZUlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZSghaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19