mediasfu-angular 1.0.2 → 2.0.1
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.
- package/README.md +686 -578
- package/dist/README.md +677 -578
- package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
- package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
- package/dist/lib/@types/types.d.ts +22 -1
- package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
- package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
- package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
- package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
- package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
- package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
- package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
- package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
- package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
- package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
- package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
- package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
- package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
- package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
- package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
- package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
- package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
- package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
- package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
- package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
- package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
- package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
- package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
- package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
- package/dist/lib/consumers/trigger.service.d.ts +3 -0
- package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
- package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
- package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
- package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
- package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
- package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
- package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
- package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
- package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
- package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
- package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
- package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
- package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
- package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
- package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
- package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
- package/dist/public-api.d.ts +11 -1
- package/package.json +17 -20
- package/dist/esm2022/lib/@types/types.mjs +0 -2
- package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
- package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
- package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
- package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
- package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
- package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
- package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
- package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
- package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
- package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
- package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
- package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
- package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
- package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
- package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
- package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
- package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
- package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
- package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
- package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
- package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
- package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
- package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
- package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
- package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
- package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
- package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
- package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
- package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
- package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
- package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
- package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
- package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
- package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
- package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
- package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
- package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
- package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
- package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
- package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
- package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
- package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
- package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
- package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
- package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
- package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
- package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
- package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
- package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
- package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
- package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
- package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
- package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
- package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
- package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
- package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
- package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
- package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
- package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
- package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
- package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
- package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
- package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
- package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
- package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
- package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
- package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
- package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
- package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
- package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
- package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
- package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
- package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
- package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
- package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
- package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
- package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
- package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
- package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
- package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
- package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
- package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
- package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
- package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
- package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
- package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
- package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
- package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
- package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
- package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
- package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
- package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
- package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
- package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
- package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
- package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
- package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
- package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
- package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
- package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
- package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
- package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
- package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
- package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
- package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
- package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
- package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
- package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
- package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
- package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
- package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
- package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
- package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
- package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
- package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
- package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
- package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
- package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
- package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
- package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
- package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
- package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
- package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
- package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
- package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
- package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
- package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
- package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
- package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
- package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
- package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
- package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
- package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
- package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
- package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
- package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
- package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
- package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
- package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
- package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
- package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
- package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
- package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
- package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
- package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
- package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
- package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
- package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
- package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
- package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
- package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
- package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
- package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
- package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
- package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
- package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
- package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
- package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
- package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
- package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
- package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
- package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
- package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
- package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
- package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
- package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
- package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
- package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
- package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
- package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
- package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
- package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
- package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
- package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
- package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
- package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
- package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
- package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
- package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
- package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
- package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
- package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
- package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
- package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
- package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
- package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
- package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
- package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
- package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
- package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
- package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
- package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
- package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
- package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
- package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
- package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
- package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
- package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
- package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
- package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
- package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
- package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
- package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
- package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
- package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
- package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
- package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
- package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
- package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
- package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
- package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
- package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
- package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
- package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
- package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
- package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
- package/dist/esm2022/mediasfu-angular.mjs +0 -5
- package/dist/esm2022/public-api.mjs +0 -187
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Handles the creation of a poll.
|
|
5
|
-
*
|
|
6
|
-
* This method sends a request to create a poll in the specified room via a socket event.
|
|
7
|
-
* It also handles the response from the server to notify the user whether the poll was
|
|
8
|
-
* created successfully or if there was an error.
|
|
9
|
-
*
|
|
10
|
-
* @param {HandleCreatePollOptions} options - The options for creating the poll.
|
|
11
|
-
* @param {Poll} options.poll - The poll object containing the poll details.
|
|
12
|
-
* @param {Socket} options.socket - The socket instance for emitting events.
|
|
13
|
-
* @param {string} options.roomName - The name of the room where the poll will be created.
|
|
14
|
-
* @param {Function} [options.showAlert] - Optional function to show alert messages.
|
|
15
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility of the poll modal.
|
|
16
|
-
*
|
|
17
|
-
* @returns {Promise<void>} A promise that resolves when the poll is created successfully.
|
|
18
|
-
*
|
|
19
|
-
* @throws Will handle any errors during the poll creation process silently.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const handleCreatePollService = new HandleCreatePoll();
|
|
24
|
-
* const pollData = {
|
|
25
|
-
* question: 'What is your favorite color?',
|
|
26
|
-
* options: ['Red', 'Blue', 'Green'],
|
|
27
|
-
* };
|
|
28
|
-
* await handleCreatePollService.handleCreatePoll({
|
|
29
|
-
* poll: pollData,
|
|
30
|
-
* socket: socketInstance,
|
|
31
|
-
* roomName: 'room1',
|
|
32
|
-
* showAlert: ({ message, type }) => {
|
|
33
|
-
* console.log(`Alert: ${message} - Type: ${type}`);
|
|
34
|
-
* },
|
|
35
|
-
* updateIsPollModalVisible: (isVisible) => {
|
|
36
|
-
* console.log('Poll modal visibility:', isVisible);
|
|
37
|
-
* },
|
|
38
|
-
* });
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export class HandleCreatePoll {
|
|
42
|
-
/**
|
|
43
|
-
* Handles the creation of a poll.
|
|
44
|
-
*
|
|
45
|
-
* @param {Object} options - The options for creating the poll.
|
|
46
|
-
* @param {Poll} options.poll - The poll object containing the poll details.
|
|
47
|
-
* @param {Object} options.parameters - Additional parameters for creating the poll.
|
|
48
|
-
* @returns {Promise<void>} - A promise that resolves when the poll is created successfully.
|
|
49
|
-
*/
|
|
50
|
-
async handleCreatePoll({ poll, socket, roomName, showAlert, updateIsPollModalVisible, }) {
|
|
51
|
-
try {
|
|
52
|
-
socket.emit('createPoll', { roomName, poll }, (response) => {
|
|
53
|
-
if (response.success) {
|
|
54
|
-
showAlert?.({ message: 'Poll created successfully', type: 'success' });
|
|
55
|
-
updateIsPollModalVisible(false);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
showAlert?.({ message: response.reason || 'Failed to create poll', type: 'danger' });
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
/* handle error */
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleCreatePoll, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleCreatePoll, providedIn: 'root' });
|
|
68
|
-
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleCreatePoll, decorators: [{
|
|
70
|
-
type: Injectable,
|
|
71
|
-
args: [{
|
|
72
|
-
providedIn: 'root',
|
|
73
|
-
}]
|
|
74
|
-
}] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWNyZWF0ZS1wb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9wb2xscy1tZXRob2RzL2hhbmRsZS1jcmVhdGUtcG9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7OztPQU9HO0lBRUgsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQ3JCLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCx3QkFBd0IsR0FDQTtRQUN4QixJQUFJLENBQUM7WUFDSCxNQUFNLENBQUMsSUFBSSxDQUNULFlBQVksRUFDWixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFDbEIsQ0FBQyxRQUErQyxFQUFFLEVBQUU7Z0JBQ2xELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNyQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztvQkFDdkUsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxJQUFJLHVCQUF1QixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RixDQUFDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1Asa0JBQWtCO1FBQ3BCLENBQUM7SUFDSCxDQUFDO3VHQWpDVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb2xsLCBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZUNyZWF0ZVBvbGxPcHRpb25zIHtcbiAgcG9sbDogUG9sbDtcbiAgc29ja2V0OiBTb2NrZXQ7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHNob3dBbGVydD86IFNob3dBbGVydDtcbiAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiAodmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgSGFuZGxlQ3JlYXRlUG9sbFR5cGUgPSAob3B0aW9uczogSGFuZGxlQ3JlYXRlUG9sbE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgY3JlYXRpb24gb2YgYSBwb2xsLlxuICpcbiAqIFRoaXMgbWV0aG9kIHNlbmRzIGEgcmVxdWVzdCB0byBjcmVhdGUgYSBwb2xsIGluIHRoZSBzcGVjaWZpZWQgcm9vbSB2aWEgYSBzb2NrZXQgZXZlbnQuXG4gKiBJdCBhbHNvIGhhbmRsZXMgdGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlciB0byBub3RpZnkgdGhlIHVzZXIgd2hldGhlciB0aGUgcG9sbCB3YXNcbiAqIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IG9yIGlmIHRoZXJlIHdhcyBhbiBlcnJvci5cbiAqXG4gKiBAcGFyYW0ge0hhbmRsZUNyZWF0ZVBvbGxPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSBwb2xsLlxuICogQHBhcmFtIHtQb2xsfSBvcHRpb25zLnBvbGwgLSBUaGUgcG9sbCBvYmplY3QgY29udGFpbmluZyB0aGUgcG9sbCBkZXRhaWxzLlxuICogQHBhcmFtIHtTb2NrZXR9IG9wdGlvbnMuc29ja2V0IC0gVGhlIHNvY2tldCBpbnN0YW5jZSBmb3IgZW1pdHRpbmcgZXZlbnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucm9vbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcm9vbSB3aGVyZSB0aGUgcG9sbCB3aWxsIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb3B0aW9ucy5zaG93QWxlcnRdIC0gT3B0aW9uYWwgZnVuY3Rpb24gdG8gc2hvdyBhbGVydCBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBwb2xsIG1vZGFsLlxuICpcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwb2xsIGlzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LlxuICpcbiAqIEB0aHJvd3MgV2lsbCBoYW5kbGUgYW55IGVycm9ycyBkdXJpbmcgdGhlIHBvbGwgY3JlYXRpb24gcHJvY2VzcyBzaWxlbnRseS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaGFuZGxlQ3JlYXRlUG9sbFNlcnZpY2UgPSBuZXcgSGFuZGxlQ3JlYXRlUG9sbCgpO1xuICogY29uc3QgcG9sbERhdGEgPSB7XG4gKiAgIHF1ZXN0aW9uOiAnV2hhdCBpcyB5b3VyIGZhdm9yaXRlIGNvbG9yPycsXG4gKiAgIG9wdGlvbnM6IFsnUmVkJywgJ0JsdWUnLCAnR3JlZW4nXSxcbiAqIH07XG4gKiBhd2FpdCBoYW5kbGVDcmVhdGVQb2xsU2VydmljZS5oYW5kbGVDcmVhdGVQb2xsKHtcbiAqICAgcG9sbDogcG9sbERhdGEsXG4gKiAgIHNvY2tldDogc29ja2V0SW5zdGFuY2UsXG4gKiAgIHJvb21OYW1lOiAncm9vbTEnLFxuICogICBzaG93QWxlcnQ6ICh7IG1lc3NhZ2UsIHR5cGUgfSkgPT4ge1xuICogICAgIGNvbnNvbGUubG9nKGBBbGVydDogJHttZXNzYWdlfSAtIFR5cGU6ICR7dHlwZX1gKTtcbiAqICAgfSxcbiAqICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coJ1BvbGwgbW9kYWwgdmlzaWJpbGl0eTonLCBpc1Zpc2libGUpO1xuICogICB9LFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSGFuZGxlQ3JlYXRlUG9sbCB7XG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBjcmVhdGlvbiBvZiBhIHBvbGwuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSBwb2xsLlxuICAgKiBAcGFyYW0ge1BvbGx9IG9wdGlvbnMucG9sbCAtIFRoZSBwb2xsIG9iamVjdCBjb250YWluaW5nIHRoZSBwb2xsIGRldGFpbHMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMgLSBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGNyZWF0aW5nIHRoZSBwb2xsLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwb2xsIGlzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cblxuICBhc3luYyBoYW5kbGVDcmVhdGVQb2xsKHtcbiAgICBwb2xsLFxuICAgIHNvY2tldCxcbiAgICByb29tTmFtZSxcbiAgICBzaG93QWxlcnQsXG4gICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlLFxuICB9OiBIYW5kbGVDcmVhdGVQb2xsT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBzb2NrZXQuZW1pdChcbiAgICAgICAgJ2NyZWF0ZVBvbGwnLFxuICAgICAgICB7IHJvb21OYW1lLCBwb2xsIH0sXG4gICAgICAgIChyZXNwb25zZTogeyBzdWNjZXNzOiBib29sZWFuOyByZWFzb24/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7IG1lc3NhZ2U6ICdQb2xsIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5JywgdHlwZTogJ3N1Y2Nlc3MnIH0pO1xuICAgICAgICAgICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2hvd0FsZXJ0Py4oeyBtZXNzYWdlOiByZXNwb25zZS5yZWFzb24gfHwgJ0ZhaWxlZCB0byBjcmVhdGUgcG9sbCcsIHR5cGU6ICdkYW5nZXInIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBoYW5kbGUgZXJyb3IgKi9cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Handles the end of a poll by emitting an "endPoll" event through the provided socket.
|
|
5
|
-
* Displays an alert based on the success or failure of the operation.
|
|
6
|
-
*
|
|
7
|
-
* @param {HandleEndPollOptions} options - The options for ending the poll.
|
|
8
|
-
* @param {string} options.pollId - The ID of the poll to end.
|
|
9
|
-
* @param {Socket} options.socket - The socket instance to emit the event.
|
|
10
|
-
* @param {Function} [options.showAlert] - Optional function to display alerts.
|
|
11
|
-
* @param {string} options.roomName - The name of the room where the poll is being conducted.
|
|
12
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility of the poll modal.
|
|
13
|
-
*
|
|
14
|
-
* @returns {Promise<void>} A promise that resolves when the poll end operation is complete.
|
|
15
|
-
*
|
|
16
|
-
* @throws Will log an error if the operation fails to emit the end poll event.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const handleEndPollService = new HandleEndPoll();
|
|
21
|
-
* const pollId = '12345';
|
|
22
|
-
* await handleEndPollService.handleEndPoll({
|
|
23
|
-
* pollId: pollId,
|
|
24
|
-
* socket: socketInstance,
|
|
25
|
-
* roomName: 'room1',
|
|
26
|
-
* showAlert: ({ message, type }) => {
|
|
27
|
-
* console.log(`Alert: ${message} - Type: ${type}`);
|
|
28
|
-
* },
|
|
29
|
-
* updateIsPollModalVisible: (isVisible) => {
|
|
30
|
-
* console.log('Poll modal visibility:', isVisible);
|
|
31
|
-
* },
|
|
32
|
-
* });
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export class HandleEndPoll {
|
|
36
|
-
/**
|
|
37
|
-
* Handles the end of a poll by emitting an "endPoll" event through the provided socket.
|
|
38
|
-
* Displays an alert based on the success or failure of the operation.
|
|
39
|
-
*
|
|
40
|
-
* @param {Object} options - The options for ending the poll.
|
|
41
|
-
* @param {string} options.pollId - The ID of the poll to end.
|
|
42
|
-
* @param {Socket} options.socket - The socket instance to emit the event.
|
|
43
|
-
* @param {Function} [options.showAlert] - Optional function to display alerts.
|
|
44
|
-
* @param {string} options.roomName - The name of the room where the poll is being conducted.
|
|
45
|
-
* @returns {Promise<void>} A promise that resolves when the poll end operation is complete.
|
|
46
|
-
*/
|
|
47
|
-
async handleEndPoll({ pollId, socket, showAlert, roomName, updateIsPollModalVisible, }) {
|
|
48
|
-
try {
|
|
49
|
-
socket.emit('endPoll', { roomName, poll_id: pollId }, (response) => {
|
|
50
|
-
if (response.success) {
|
|
51
|
-
showAlert?.({ message: 'Poll ended successfully', type: 'success' });
|
|
52
|
-
updateIsPollModalVisible(false);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
showAlert?.({ message: response.reason || 'Failed to end poll', type: 'danger' });
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
console.log(error);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleEndPoll, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleEndPoll, providedIn: 'root' });
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleEndPoll, decorators: [{
|
|
67
|
-
type: Injectable,
|
|
68
|
-
args: [{
|
|
69
|
-
providedIn: 'root',
|
|
70
|
-
}]
|
|
71
|
-
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWVuZC1wb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9wb2xscy1tZXRob2RzL2hhbmRsZS1lbmQtcG9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBTUgsTUFBTSxPQUFPLGFBQWE7SUFDeEI7Ozs7Ozs7Ozs7T0FVRztJQUVILEtBQUssQ0FBQyxhQUFhLENBQUMsRUFDbEIsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLHdCQUF3QixHQUNIO1FBQ3JCLElBQUksQ0FBQztZQUNILE1BQU0sQ0FBQyxJQUFJLENBQ1QsU0FBUyxFQUNULEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDN0IsQ0FBQyxRQUErQyxFQUFFLEVBQUU7Z0JBQ2xELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNyQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztvQkFDckUsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxJQUFJLG9CQUFvQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRixDQUFDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7dUdBcENVLGFBQWE7MkdBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBTaG93QWxlcnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZUVuZFBvbGxPcHRpb25zIHtcbiAgcG9sbElkOiBzdHJpbmc7XG4gIHNvY2tldDogU29ja2V0O1xuICBzaG93QWxlcnQ/OiBTaG93QWxlcnQ7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIEhhbmRsZUVuZFBvbGxUeXBlID0gKG9wdGlvbnM6IEhhbmRsZUVuZFBvbGxPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGVuZCBvZiBhIHBvbGwgYnkgZW1pdHRpbmcgYW4gXCJlbmRQb2xsXCIgZXZlbnQgdGhyb3VnaCB0aGUgcHJvdmlkZWQgc29ja2V0LlxuICogRGlzcGxheXMgYW4gYWxlcnQgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgb3BlcmF0aW9uLlxuICpcbiAqIEBwYXJhbSB7SGFuZGxlRW5kUG9sbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgZW5kaW5nIHRoZSBwb2xsLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucG9sbElkIC0gVGhlIElEIG9mIHRoZSBwb2xsIHRvIGVuZC5cbiAqIEBwYXJhbSB7U29ja2V0fSBvcHRpb25zLnNvY2tldCAtIFRoZSBzb2NrZXQgaW5zdGFuY2UgdG8gZW1pdCB0aGUgZXZlbnQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb3B0aW9ucy5zaG93QWxlcnRdIC0gT3B0aW9uYWwgZnVuY3Rpb24gdG8gZGlzcGxheSBhbGVydHMuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yb29tTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByb29tIHdoZXJlIHRoZSBwb2xsIGlzIGJlaW5nIGNvbmR1Y3RlZC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBwb2xsIG1vZGFsLlxuICpcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwb2xsIGVuZCBvcGVyYXRpb24gaXMgY29tcGxldGUuXG4gKlxuICogQHRocm93cyBXaWxsIGxvZyBhbiBlcnJvciBpZiB0aGUgb3BlcmF0aW9uIGZhaWxzIHRvIGVtaXQgdGhlIGVuZCBwb2xsIGV2ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBoYW5kbGVFbmRQb2xsU2VydmljZSA9IG5ldyBIYW5kbGVFbmRQb2xsKCk7XG4gKiBjb25zdCBwb2xsSWQgPSAnMTIzNDUnO1xuICogYXdhaXQgaGFuZGxlRW5kUG9sbFNlcnZpY2UuaGFuZGxlRW5kUG9sbCh7XG4gKiAgIHBvbGxJZDogcG9sbElkLFxuICogICBzb2NrZXQ6IHNvY2tldEluc3RhbmNlLFxuICogICByb29tTmFtZTogJ3Jvb20xJyxcbiAqICAgc2hvd0FsZXJ0OiAoeyBtZXNzYWdlLCB0eXBlIH0pID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhgQWxlcnQ6ICR7bWVzc2FnZX0gLSBUeXBlOiAke3R5cGV9YCk7XG4gKiAgIH0sXG4gKiAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZTogKGlzVmlzaWJsZSkgPT4ge1xuICogICAgIGNvbnNvbGUubG9nKCdQb2xsIG1vZGFsIHZpc2liaWxpdHk6JywgaXNWaXNpYmxlKTtcbiAqICAgfSxcbiAqIH0pO1xuICogYGBgXG4gKi9cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSGFuZGxlRW5kUG9sbCB7XG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBlbmQgb2YgYSBwb2xsIGJ5IGVtaXR0aW5nIGFuIFwiZW5kUG9sbFwiIGV2ZW50IHRocm91Z2ggdGhlIHByb3ZpZGVkIHNvY2tldC5cbiAgICogRGlzcGxheXMgYW4gYWxlcnQgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgb3BlcmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBlbmRpbmcgdGhlIHBvbGwuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBvbGxJZCAtIFRoZSBJRCBvZiB0aGUgcG9sbCB0byBlbmQuXG4gICAqIEBwYXJhbSB7U29ja2V0fSBvcHRpb25zLnNvY2tldCAtIFRoZSBzb2NrZXQgaW5zdGFuY2UgdG8gZW1pdCB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLnNob3dBbGVydF0gLSBPcHRpb25hbCBmdW5jdGlvbiB0byBkaXNwbGF5IGFsZXJ0cy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucm9vbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcm9vbSB3aGVyZSB0aGUgcG9sbCBpcyBiZWluZyBjb25kdWN0ZWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwb2xsIGVuZCBvcGVyYXRpb24gaXMgY29tcGxldGUuXG4gICAqL1xuXG4gIGFzeW5jIGhhbmRsZUVuZFBvbGwoe1xuICAgIHBvbGxJZCxcbiAgICBzb2NrZXQsXG4gICAgc2hvd0FsZXJ0LFxuICAgIHJvb21OYW1lLFxuICAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSxcbiAgfTogSGFuZGxlRW5kUG9sbE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgc29ja2V0LmVtaXQoXG4gICAgICAgICdlbmRQb2xsJyxcbiAgICAgICAgeyByb29tTmFtZSwgcG9sbF9pZDogcG9sbElkIH0sXG4gICAgICAgIChyZXNwb25zZTogeyBzdWNjZXNzOiBib29sZWFuOyByZWFzb24/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7IG1lc3NhZ2U6ICdQb2xsIGVuZGVkIHN1Y2Nlc3NmdWxseScsIHR5cGU6ICdzdWNjZXNzJyB9KTtcbiAgICAgICAgICAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNob3dBbGVydD8uKHsgbWVzc2FnZTogcmVzcG9uc2UucmVhc29uIHx8ICdGYWlsZWQgdG8gZW5kIHBvbGwnLCB0eXBlOiAnZGFuZ2VyJyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Handles the voting process for a poll.
|
|
5
|
-
*
|
|
6
|
-
* @param {HandleVotePollOptions} options - The options for handling the vote.
|
|
7
|
-
* @param {string} options.pollId - The ID of the poll.
|
|
8
|
-
* @param {number} options.optionIndex - The index of the selected option.
|
|
9
|
-
* @param {Socket} options.socket - The socket instance for communication.
|
|
10
|
-
* @param {Function} [options.showAlert] - Optional function to show alerts.
|
|
11
|
-
* @param {string} options.member - The member who is voting.
|
|
12
|
-
* @param {string} options.roomName - The name of the room where the poll is conducted.
|
|
13
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility of the poll modal.
|
|
14
|
-
*
|
|
15
|
-
* @returns {Promise<void>} A promise that resolves when the vote is handled.
|
|
16
|
-
*
|
|
17
|
-
* @throws Will log an error message if there is an issue submitting the vote.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* const handleVotePollService = new HandleVotePoll();
|
|
22
|
-
* await handleVotePollService.handleVotePoll({
|
|
23
|
-
* pollId: '12345',
|
|
24
|
-
* optionIndex: 1,
|
|
25
|
-
* socket: socketInstance,
|
|
26
|
-
* member: 'user1',
|
|
27
|
-
* roomName: 'room1',
|
|
28
|
-
* showAlert: ({ message, type }) => {
|
|
29
|
-
* console.log(`Alert: ${message} - Type: ${type}`);
|
|
30
|
-
* },
|
|
31
|
-
* updateIsPollModalVisible: (isVisible) => {
|
|
32
|
-
* console.log('Poll modal visibility:', isVisible);
|
|
33
|
-
* },
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export class HandleVotePoll {
|
|
38
|
-
/**
|
|
39
|
-
* Handles the voting process for a poll.
|
|
40
|
-
*
|
|
41
|
-
* @param {Object} options - The options for handling the vote.
|
|
42
|
-
* @param {string} options.pollId - The ID of the poll.
|
|
43
|
-
* @param {number} options.optionIndex - The index of the selected option.
|
|
44
|
-
* @param {Socket} options.socket - The socket instance for communication.
|
|
45
|
-
* @param {Function} [options.showAlert] - Optional function to show alerts.
|
|
46
|
-
* @param {Object} options.member - The member who is voting.
|
|
47
|
-
* @param {string} options.roomName - The name of the room where the poll is conducted.
|
|
48
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility of the poll modal.
|
|
49
|
-
* @returns {Promise<void>} A promise that resolves when the vote is handled.
|
|
50
|
-
*
|
|
51
|
-
* @throws Will log an error message if there is an issue submitting the vote.
|
|
52
|
-
*/
|
|
53
|
-
async handleVotePoll({ pollId, optionIndex, socket, showAlert, member, roomName, updateIsPollModalVisible, }) {
|
|
54
|
-
try {
|
|
55
|
-
socket.emit('votePoll', {
|
|
56
|
-
roomName,
|
|
57
|
-
poll_id: pollId,
|
|
58
|
-
member,
|
|
59
|
-
choice: optionIndex,
|
|
60
|
-
}, (response) => {
|
|
61
|
-
if (response.success) {
|
|
62
|
-
showAlert?.({ message: 'Vote submitted successfully', type: 'success' });
|
|
63
|
-
updateIsPollModalVisible(false);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
showAlert?.({ message: response.reason, type: 'danger' });
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
// console.log(error);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleVotePoll, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleVotePoll, providedIn: 'root' });
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HandleVotePoll, decorators: [{
|
|
78
|
-
type: Injectable,
|
|
79
|
-
args: [{
|
|
80
|
-
providedIn: 'root',
|
|
81
|
-
}]
|
|
82
|
-
}] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLXZvdGUtcG9sbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvcG9sbHMtbWV0aG9kcy9oYW5kbGUtdm90ZS1wb2xsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ0c7QUFNSCxNQUFNLE9BQU8sY0FBYztJQUN6Qjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUVILEtBQUssQ0FBQyxjQUFjLENBQUMsRUFDbkIsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1Isd0JBQXdCLEdBQ0Y7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDVCxVQUFVLEVBQ1Y7Z0JBQ0UsUUFBUTtnQkFDUixPQUFPLEVBQUUsTUFBTTtnQkFDZixNQUFNO2dCQUNOLE1BQU0sRUFBRSxXQUFXO2FBQ3BCLEVBQ0QsQ0FBQyxRQUE4QyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNyQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztvQkFDekUsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLHNCQUFzQjtRQUN4QixDQUFDO0lBQ0gsQ0FBQzt1R0EvQ1UsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFNob3dBbGVydCB9IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlVm90ZVBvbGxPcHRpb25zIHtcbiAgcG9sbElkOiBzdHJpbmc7XG4gIG9wdGlvbkluZGV4OiBudW1iZXI7XG4gIHNvY2tldDogU29ja2V0O1xuICBzaG93QWxlcnQ/OiBTaG93QWxlcnQ7XG4gIG1lbWJlcjogc3RyaW5nO1xuICByb29tTmFtZTogc3RyaW5nO1xuICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIEhhbmRsZVZvdGVQb2xsVHlwZSA9IChvcHRpb25zOiBIYW5kbGVWb3RlUG9sbE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgdm90aW5nIHByb2Nlc3MgZm9yIGEgcG9sbC5cbiAqXG4gKiBAcGFyYW0ge0hhbmRsZVZvdGVQb2xsT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBoYW5kbGluZyB0aGUgdm90ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBvbGxJZCAtIFRoZSBJRCBvZiB0aGUgcG9sbC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLm9wdGlvbkluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBzZWxlY3RlZCBvcHRpb24uXG4gKiBAcGFyYW0ge1NvY2tldH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIGZvciBjb21tdW5pY2F0aW9uLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIHNob3cgYWxlcnRzLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVtYmVyIC0gVGhlIG1lbWJlciB3aG8gaXMgdm90aW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucm9vbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcm9vbSB3aGVyZSB0aGUgcG9sbCBpcyBjb25kdWN0ZWQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcG9sbCBtb2RhbC5cbiAqXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgdm90ZSBpcyBoYW5kbGVkLlxuICpcbiAqIEB0aHJvd3MgV2lsbCBsb2cgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGVyZSBpcyBhbiBpc3N1ZSBzdWJtaXR0aW5nIHRoZSB2b3RlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBoYW5kbGVWb3RlUG9sbFNlcnZpY2UgPSBuZXcgSGFuZGxlVm90ZVBvbGwoKTtcbiAqIGF3YWl0IGhhbmRsZVZvdGVQb2xsU2VydmljZS5oYW5kbGVWb3RlUG9sbCh7XG4gKiAgIHBvbGxJZDogJzEyMzQ1JyxcbiAqICAgb3B0aW9uSW5kZXg6IDEsXG4gKiAgIHNvY2tldDogc29ja2V0SW5zdGFuY2UsXG4gKiAgIG1lbWJlcjogJ3VzZXIxJyxcbiAqICAgcm9vbU5hbWU6ICdyb29tMScsXG4gKiAgIHNob3dBbGVydDogKHsgbWVzc2FnZSwgdHlwZSB9KSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coYEFsZXJ0OiAke21lc3NhZ2V9IC0gVHlwZTogJHt0eXBlfWApO1xuICogICB9LFxuICogICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGUpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZygnUG9sbCBtb2RhbCB2aXNpYmlsaXR5OicsIGlzVmlzaWJsZSk7XG4gKiAgIH0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEhhbmRsZVZvdGVQb2xsIHtcbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHZvdGluZyBwcm9jZXNzIGZvciBhIHBvbGwuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGhhbmRsaW5nIHRoZSB2b3RlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wb2xsSWQgLSBUaGUgSUQgb2YgdGhlIHBvbGwuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLm9wdGlvbkluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBzZWxlY3RlZCBvcHRpb24uXG4gICAqIEBwYXJhbSB7U29ja2V0fSBvcHRpb25zLnNvY2tldCAtIFRoZSBzb2NrZXQgaW5zdGFuY2UgZm9yIGNvbW11bmljYXRpb24uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLnNob3dBbGVydF0gLSBPcHRpb25hbCBmdW5jdGlvbiB0byBzaG93IGFsZXJ0cy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMubWVtYmVyIC0gVGhlIG1lbWJlciB3aG8gaXMgdm90aW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yb29tTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByb29tIHdoZXJlIHRoZSBwb2xsIGlzIGNvbmR1Y3RlZC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1BvbGxNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHBvbGwgbW9kYWwuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB2b3RlIGlzIGhhbmRsZWQuXG4gICAqXG4gICAqIEB0aHJvd3MgV2lsbCBsb2cgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGVyZSBpcyBhbiBpc3N1ZSBzdWJtaXR0aW5nIHRoZSB2b3RlLlxuICAgKi9cblxuICBhc3luYyBoYW5kbGVWb3RlUG9sbCh7XG4gICAgcG9sbElkLFxuICAgIG9wdGlvbkluZGV4LFxuICAgIHNvY2tldCxcbiAgICBzaG93QWxlcnQsXG4gICAgbWVtYmVyLFxuICAgIHJvb21OYW1lLFxuICAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSxcbiAgfTogSGFuZGxlVm90ZVBvbGxPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHNvY2tldC5lbWl0KFxuICAgICAgICAndm90ZVBvbGwnLFxuICAgICAgICB7XG4gICAgICAgICAgcm9vbU5hbWUsXG4gICAgICAgICAgcG9sbF9pZDogcG9sbElkLFxuICAgICAgICAgIG1lbWJlcixcbiAgICAgICAgICBjaG9pY2U6IG9wdGlvbkluZGV4LFxuICAgICAgICB9LFxuICAgICAgICAocmVzcG9uc2U6IHsgc3VjY2VzczogYm9vbGVhbjsgcmVhc29uOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7IG1lc3NhZ2U6ICdWb3RlIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHknLCB0eXBlOiAnc3VjY2VzcycgfSk7XG4gICAgICAgICAgICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaG93QWxlcnQ/Lih7IG1lc3NhZ2U6IHJlc3BvbnNlLnJlYXNvbiwgdHlwZTogJ2RhbmdlcicgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Toggles the visibility of the poll modal.
|
|
5
|
-
*
|
|
6
|
-
* @param {LaunchPollOptions} options - The options object containing necessary variables and functions.
|
|
7
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility state of the poll modal.
|
|
8
|
-
* @param {boolean} options.isPollModalVisible - Current visibility state of the poll modal.
|
|
9
|
-
*
|
|
10
|
-
* @returns {void}
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const launchPollService = new LaunchPoll();
|
|
15
|
-
* launchPollService.launchPoll({
|
|
16
|
-
* updateIsPollModalVisible: (isVisible) => {
|
|
17
|
-
* console.log('Poll modal visibility:', isVisible);
|
|
18
|
-
* },
|
|
19
|
-
* isPollModalVisible: false,
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export class LaunchPoll {
|
|
24
|
-
/**
|
|
25
|
-
* Toggles the visibility of the poll modal.
|
|
26
|
-
* @function
|
|
27
|
-
* @param {Object} options - The options object containing necessary variables and functions.
|
|
28
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility state of the poll modal.
|
|
29
|
-
* @param {boolean} options.isPollModalVisible - Current visibility state of the poll modal.
|
|
30
|
-
*/
|
|
31
|
-
launchPoll({ updateIsPollModalVisible, isPollModalVisible }) {
|
|
32
|
-
updateIsPollModalVisible(!isPollModalVisible);
|
|
33
|
-
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchPoll, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchPoll, providedIn: 'root' });
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LaunchPoll, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{
|
|
40
|
-
providedIn: 'root',
|
|
41
|
-
}]
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLXBvbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3BvbGxzLW1ldGhvZHMvbGF1bmNoLXBvbGwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQU1ILE1BQU0sT0FBTyxVQUFVO0lBQ3JCOzs7Ozs7T0FNRztJQUVILFVBQVUsQ0FBQyxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFxQjtRQUM1RSx3QkFBd0IsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEQsQ0FBQzt1R0FYVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoUG9sbE9wdGlvbnMge1xuICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlzUG9sbE1vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgTGF1bmNoUG9sbFR5cGUgPSAob3B0aW9uczogTGF1bmNoUG9sbE9wdGlvbnMpID0+IHZvaWQ7XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgcG9sbCBtb2RhbC5cbiAqXG4gKiBAcGFyYW0ge0xhdW5jaFBvbGxPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgbmVjZXNzYXJ5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1BvbGxNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBvbGwgbW9kYWwuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNQb2xsTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBwb2xsIG1vZGFsLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsYXVuY2hQb2xsU2VydmljZSA9IG5ldyBMYXVuY2hQb2xsKCk7XG4gKiBsYXVuY2hQb2xsU2VydmljZS5sYXVuY2hQb2xsKHtcbiAqICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coJ1BvbGwgbW9kYWwgdmlzaWJpbGl0eTonLCBpc1Zpc2libGUpO1xuICogICB9LFxuICogICBpc1BvbGxNb2RhbFZpc2libGU6IGZhbHNlLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hQb2xsIHtcbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHBvbGwgbW9kYWwuXG4gICAqIEBmdW5jdGlvblxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9iamVjdCBjb250YWluaW5nIG5lY2Vzc2FyeSB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1BvbGxNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBvbGwgbW9kYWwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5pc1BvbGxNb2RhbFZpc2libGUgLSBDdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHBvbGwgbW9kYWwuXG4gICAqL1xuXG4gIGxhdW5jaFBvbGwoeyB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGUsIGlzUG9sbE1vZGFsVmlzaWJsZSB9OiBMYXVuY2hQb2xsT3B0aW9ucyk6IHZvaWQge1xuICAgIHVwZGF0ZUlzUG9sbE1vZGFsVmlzaWJsZSghaXNQb2xsTW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Updates the poll state based on the provided data.
|
|
5
|
-
*
|
|
6
|
-
* @param {PollUpdatedOptions} options - The options for updating the poll.
|
|
7
|
-
* @param {PollUpdatedData} options.data - The data containing poll information.
|
|
8
|
-
* @param {Poll[]} options.polls - The current list of polls.
|
|
9
|
-
* @param {Poll} options.poll - The current poll.
|
|
10
|
-
* @param {string} options.member - The member identifier.
|
|
11
|
-
* @param {string} options.islevel - The level of the member.
|
|
12
|
-
* @param {Function} [options.showAlert] - Function to show alerts.
|
|
13
|
-
* @param {Function} options.updatePolls - Function to update the list of polls.
|
|
14
|
-
* @param {Function} options.updatePoll - Function to update the current poll.
|
|
15
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility of the poll modal.
|
|
16
|
-
* @returns {Promise<void>} A promise that resolves when the poll update is complete.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const pollUpdatedService = new PollUpdated();
|
|
21
|
-
* pollUpdatedService.pollUpdated({
|
|
22
|
-
* data: { polls: [], poll: { id: '123', question: 'Sample Poll?', status: 'started' } },
|
|
23
|
-
* polls: [],
|
|
24
|
-
* poll: { id: '123', question: 'Sample Poll?', status: 'started' },
|
|
25
|
-
* member: 'user1',
|
|
26
|
-
* islevel: '1',
|
|
27
|
-
* showAlert: (alert) => console.log(alert.message),
|
|
28
|
-
* updatePolls: (polls) => console.log('Updated polls:', polls),
|
|
29
|
-
* updatePoll: (poll) => console.log('Updated poll:', poll),
|
|
30
|
-
* updateIsPollModalVisible: (visible) => console.log('Poll modal visibility:', visible),
|
|
31
|
-
* });
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export class PollUpdated {
|
|
35
|
-
/**
|
|
36
|
-
* Updates the poll state based on the provided data.
|
|
37
|
-
*
|
|
38
|
-
* @param {Object} options - The options for updating the poll.
|
|
39
|
-
* @param {any} options.data - The data containing poll information.
|
|
40
|
-
* @param {any[]} options.polls - The current list of polls.
|
|
41
|
-
* @param {any} options.poll - The current poll.
|
|
42
|
-
* @param {string} options.member - The member identifier.
|
|
43
|
-
* @param {string} options.islevel - The level of the member.
|
|
44
|
-
* @param {Function} options.showAlert - Function to show alerts.
|
|
45
|
-
* @param {Function} options.updatePolls - Function to update the list of polls.
|
|
46
|
-
* @param {Function} options.updatePoll - Function to update the current poll.
|
|
47
|
-
* @param {Function} options.updateIsPollModalVisible - Function to update the visibility of the poll modal.
|
|
48
|
-
* @returns {Promise<void>} A promise that resolves when the poll update is complete.
|
|
49
|
-
*/
|
|
50
|
-
async pollUpdated({ data, polls, poll, member, islevel, showAlert, updatePolls, updatePoll, updateIsPollModalVisible, }) {
|
|
51
|
-
try {
|
|
52
|
-
if (data.polls) {
|
|
53
|
-
polls = data.polls;
|
|
54
|
-
updatePolls(data.polls);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
polls = [data.poll];
|
|
58
|
-
updatePolls(polls);
|
|
59
|
-
}
|
|
60
|
-
let temp_poll = { id: '' };
|
|
61
|
-
if (poll) {
|
|
62
|
-
temp_poll = { ...poll };
|
|
63
|
-
}
|
|
64
|
-
if (data.status != 'ended') {
|
|
65
|
-
poll = data.poll;
|
|
66
|
-
updatePoll(data.poll);
|
|
67
|
-
}
|
|
68
|
-
if (data.status === 'started' && islevel !== '2') {
|
|
69
|
-
if (!poll.voters || (poll.voters && !poll.voters[member])) {
|
|
70
|
-
showAlert?.({ message: 'New poll started', type: 'success', duration: 3000 });
|
|
71
|
-
updateIsPollModalVisible(true);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else if (data.status === 'ended') {
|
|
75
|
-
if (temp_poll.id === data.poll.id) {
|
|
76
|
-
showAlert?.({ message: 'Poll ended', type: 'danger', duration: 3000 });
|
|
77
|
-
// update the poll
|
|
78
|
-
updatePoll(data.poll);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
// console.log(error);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PollUpdated, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PollUpdated, providedIn: 'root' });
|
|
88
|
-
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PollUpdated, decorators: [{
|
|
90
|
-
type: Injectable,
|
|
91
|
-
args: [{
|
|
92
|
-
providedIn: 'root',
|
|
93
|
-
}]
|
|
94
|
-
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbC11cGRhdGVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9wb2xscy1tZXRob2RzL3BvbGwtdXBkYXRlZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBaUIzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBTUgsTUFBTSxPQUFPLFdBQVc7SUFDdEI7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFFSCxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQ2hCLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sRUFDTixPQUFPLEVBQ1AsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1Ysd0JBQXdCLEdBQ0w7UUFDbkIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ25CLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUM7WUFFRCxJQUFJLFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUUzQixJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULFNBQVMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDOUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxTQUFTLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUN2RSxrQkFBa0I7b0JBQ2xCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixzQkFBc0I7UUFDeEIsQ0FBQztJQUNILENBQUM7dUdBL0RVLFdBQVc7MkdBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9sbCwgU2hvd0FsZXJ0LCBQb2xsVXBkYXRlZERhdGEgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBQb2xsVXBkYXRlZE9wdGlvbnMge1xuICBkYXRhOiBQb2xsVXBkYXRlZERhdGE7XG4gIHBvbGxzOiBQb2xsW107XG4gIHBvbGw6IFBvbGw7XG4gIG1lbWJlcjogc3RyaW5nO1xuICBpc2xldmVsOiBzdHJpbmc7XG4gIHNob3dBbGVydD86IFNob3dBbGVydDtcbiAgdXBkYXRlUG9sbHM6IChwb2xsczogUG9sbFtdKSA9PiB2b2lkO1xuICB1cGRhdGVQb2xsOiAocG9sbDogUG9sbCkgPT4gdm9pZDtcbiAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBQb2xsVXBkYXRlZFR5cGUgPSAob3B0aW9uczogUG9sbFVwZGF0ZWRPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHBvbGwgc3RhdGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGRhdGEuXG4gKlxuICogQHBhcmFtIHtQb2xsVXBkYXRlZE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgdGhlIHBvbGwuXG4gKiBAcGFyYW0ge1BvbGxVcGRhdGVkRGF0YX0gb3B0aW9ucy5kYXRhIC0gVGhlIGRhdGEgY29udGFpbmluZyBwb2xsIGluZm9ybWF0aW9uLlxuICogQHBhcmFtIHtQb2xsW119IG9wdGlvbnMucG9sbHMgLSBUaGUgY3VycmVudCBsaXN0IG9mIHBvbGxzLlxuICogQHBhcmFtIHtQb2xsfSBvcHRpb25zLnBvbGwgLSBUaGUgY3VycmVudCBwb2xsLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubWVtYmVyIC0gVGhlIG1lbWJlciBpZGVudGlmaWVyLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgbWVtYmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIEZ1bmN0aW9uIHRvIHNob3cgYWxlcnRzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVQb2xscyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbGlzdCBvZiBwb2xscy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlUG9sbCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBwb2xsLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1BvbGxNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHBvbGwgbW9kYWwuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcG9sbCB1cGRhdGUgaXMgY29tcGxldGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHBvbGxVcGRhdGVkU2VydmljZSA9IG5ldyBQb2xsVXBkYXRlZCgpO1xuICogcG9sbFVwZGF0ZWRTZXJ2aWNlLnBvbGxVcGRhdGVkKHtcbiAqICAgZGF0YTogeyBwb2xsczogW10sIHBvbGw6IHsgaWQ6ICcxMjMnLCBxdWVzdGlvbjogJ1NhbXBsZSBQb2xsPycsIHN0YXR1czogJ3N0YXJ0ZWQnIH0gfSxcbiAqICAgcG9sbHM6IFtdLFxuICogICBwb2xsOiB7IGlkOiAnMTIzJywgcXVlc3Rpb246ICdTYW1wbGUgUG9sbD8nLCBzdGF0dXM6ICdzdGFydGVkJyB9LFxuICogICBtZW1iZXI6ICd1c2VyMScsXG4gKiAgIGlzbGV2ZWw6ICcxJyxcbiAqICAgc2hvd0FsZXJ0OiAoYWxlcnQpID0+IGNvbnNvbGUubG9nKGFsZXJ0Lm1lc3NhZ2UpLFxuICogICB1cGRhdGVQb2xsczogKHBvbGxzKSA9PiBjb25zb2xlLmxvZygnVXBkYXRlZCBwb2xsczonLCBwb2xscyksXG4gKiAgIHVwZGF0ZVBvbGw6IChwb2xsKSA9PiBjb25zb2xlLmxvZygnVXBkYXRlZCBwb2xsOicsIHBvbGwpLFxuICogICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGU6ICh2aXNpYmxlKSA9PiBjb25zb2xlLmxvZygnUG9sbCBtb2RhbCB2aXNpYmlsaXR5OicsIHZpc2libGUpLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQb2xsVXBkYXRlZCB7XG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwb2xsIHN0YXRlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB1cGRhdGluZyB0aGUgcG9sbC5cbiAgICogQHBhcmFtIHthbnl9IG9wdGlvbnMuZGF0YSAtIFRoZSBkYXRhIGNvbnRhaW5pbmcgcG9sbCBpbmZvcm1hdGlvbi5cbiAgICogQHBhcmFtIHthbnlbXX0gb3B0aW9ucy5wb2xscyAtIFRoZSBjdXJyZW50IGxpc3Qgb2YgcG9sbHMuXG4gICAqIEBwYXJhbSB7YW55fSBvcHRpb25zLnBvbGwgLSBUaGUgY3VycmVudCBwb2xsLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5tZW1iZXIgLSBUaGUgbWVtYmVyIGlkZW50aWZpZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmlzbGV2ZWwgLSBUaGUgbGV2ZWwgb2YgdGhlIG1lbWJlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5zaG93QWxlcnQgLSBGdW5jdGlvbiB0byBzaG93IGFsZXJ0cy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVQb2xscyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbGlzdCBvZiBwb2xscy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVQb2xsIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBjdXJyZW50IHBvbGwuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBwb2xsIG1vZGFsLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcG9sbCB1cGRhdGUgaXMgY29tcGxldGUuXG4gICAqL1xuXG4gIGFzeW5jIHBvbGxVcGRhdGVkKHtcbiAgICBkYXRhLFxuICAgIHBvbGxzLFxuICAgIHBvbGwsXG4gICAgbWVtYmVyLFxuICAgIGlzbGV2ZWwsXG4gICAgc2hvd0FsZXJ0LFxuICAgIHVwZGF0ZVBvbGxzLFxuICAgIHVwZGF0ZVBvbGwsXG4gICAgdXBkYXRlSXNQb2xsTW9kYWxWaXNpYmxlLFxuICB9OiBQb2xsVXBkYXRlZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKGRhdGEucG9sbHMpIHtcbiAgICAgICAgcG9sbHMgPSBkYXRhLnBvbGxzO1xuICAgICAgICB1cGRhdGVQb2xscyhkYXRhLnBvbGxzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvbGxzID0gW2RhdGEucG9sbF07XG4gICAgICAgIHVwZGF0ZVBvbGxzKHBvbGxzKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHRlbXBfcG9sbCA9IHsgaWQ6ICcnIH07XG5cbiAgICAgIGlmIChwb2xsKSB7XG4gICAgICAgIHRlbXBfcG9sbCA9IHsgLi4ucG9sbCB9O1xuICAgICAgfVxuXG4gICAgICBpZiAoZGF0YS5zdGF0dXMgIT0gJ2VuZGVkJykge1xuICAgICAgICBwb2xsID0gZGF0YS5wb2xsO1xuICAgICAgICB1cGRhdGVQb2xsKGRhdGEucG9sbCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChkYXRhLnN0YXR1cyA9PT0gJ3N0YXJ0ZWQnICYmIGlzbGV2ZWwgIT09ICcyJykge1xuICAgICAgICBpZiAoIXBvbGwudm90ZXJzIHx8IChwb2xsLnZvdGVycyAmJiAhcG9sbC52b3RlcnNbbWVtYmVyXSkpIHtcbiAgICAgICAgICBzaG93QWxlcnQ/Lih7IG1lc3NhZ2U6ICdOZXcgcG9sbCBzdGFydGVkJywgdHlwZTogJ3N1Y2Nlc3MnLCBkdXJhdGlvbjogMzAwMCB9KTtcbiAgICAgICAgICB1cGRhdGVJc1BvbGxNb2RhbFZpc2libGUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5zdGF0dXMgPT09ICdlbmRlZCcpIHtcbiAgICAgICAgaWYgKHRlbXBfcG9sbC5pZCA9PT0gZGF0YS5wb2xsLmlkKSB7XG4gICAgICAgICAgc2hvd0FsZXJ0Py4oeyBtZXNzYWdlOiAnUG9sbCBlbmRlZCcsIHR5cGU6ICdkYW5nZXInLCBkdXJhdGlvbjogMzAwMCB9KTtcbiAgICAgICAgICAvLyB1cGRhdGUgdGhlIHBvbGxcbiAgICAgICAgICB1cGRhdGVQb2xsKGRhdGEucG9sbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Checks if the recording can be paused based on the current pause count and the allowed pause limits.
|
|
5
|
-
*
|
|
6
|
-
* @param {CheckPauseStateOptions} options - The options for checking the pause state.
|
|
7
|
-
* @param {string} options.recordingMediaOptions - The type of media being recorded ("video" or "audio").
|
|
8
|
-
* @param {number} options.recordingVideoPausesLimit - The maximum number of pauses allowed for video recordings.
|
|
9
|
-
* @param {number} options.recordingAudioPausesLimit - The maximum number of pauses allowed for audio recordings.
|
|
10
|
-
* @param {number} options.pauseRecordCount - The current count of pauses that have been made.
|
|
11
|
-
* @param {Function} [options.showAlert] - A function to show an alert message if the pause limit is reached.
|
|
12
|
-
* @returns {Promise<boolean>} A promise that resolves to `true` if the recording can be paused, otherwise `false`.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const checkPauseStateService = new CheckPauseState();
|
|
17
|
-
* const canPause = await checkPauseStateService.checkPauseState({
|
|
18
|
-
* recordingMediaOptions: 'video',
|
|
19
|
-
* recordingVideoPausesLimit: 3,
|
|
20
|
-
* recordingAudioPausesLimit: 5,
|
|
21
|
-
* pauseRecordCount: 2,
|
|
22
|
-
* showAlert: (alert) => console.log(alert.message),
|
|
23
|
-
* });
|
|
24
|
-
* console.log('Can pause recording:', canPause);
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export class CheckPauseState {
|
|
28
|
-
/**
|
|
29
|
-
* Checks if the recording can be paused based on the current pause count and the allowed pause limits.
|
|
30
|
-
*
|
|
31
|
-
* @param {Object} options - The options for checking the pause state.
|
|
32
|
-
* @param {string} options.recordingMediaOptions - The type of media being recorded ("video" or "audio").
|
|
33
|
-
* @param {number} options.recordingVideoPausesLimit - The maximum number of pauses allowed for video recordings.
|
|
34
|
-
* @param {number} options.recordingAudioPausesLimit - The maximum number of pauses allowed for audio recordings.
|
|
35
|
-
* @param {number} options.pauseRecordCount - The current count of pauses that have been made.
|
|
36
|
-
* @param {Function} options.showAlert - A function to show an alert message if the pause limit is reached.
|
|
37
|
-
* @returns {Promise<boolean>} - A promise that resolves to `true` if the recording can be paused, otherwise `false`.
|
|
38
|
-
*/
|
|
39
|
-
checkPauseState = async ({ recordingMediaOptions, recordingVideoPausesLimit, recordingAudioPausesLimit, pauseRecordCount, showAlert, }) => {
|
|
40
|
-
// function to check if the user can pause recording
|
|
41
|
-
let ref_limit = 0;
|
|
42
|
-
if (recordingMediaOptions == 'video') {
|
|
43
|
-
ref_limit = recordingVideoPausesLimit;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
ref_limit = recordingAudioPausesLimit;
|
|
47
|
-
}
|
|
48
|
-
if (pauseRecordCount < ref_limit) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
showAlert?.({
|
|
53
|
-
message: 'You have reached the limit of pauses - you can choose to stop recording.',
|
|
54
|
-
type: 'danger',
|
|
55
|
-
duration: 3000,
|
|
56
|
-
});
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckPauseState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckPauseState, providedIn: 'root' });
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckPauseState, decorators: [{
|
|
64
|
-
type: Injectable,
|
|
65
|
-
args: [{
|
|
66
|
-
providedIn: 'root',
|
|
67
|
-
}]
|
|
68
|
-
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcGF1c2Utc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3JlY29yZGluZy1tZXRob2RzL2NoZWNrLXBhdXNlLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFlM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBTUgsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7Ozs7Ozs7T0FVRztJQUVILGVBQWUsR0FBRyxLQUFLLEVBQUUsRUFDdkIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLFNBQVMsR0FDYyxFQUFvQixFQUFFO1FBQzdDLG9EQUFvRDtRQUNwRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxxQkFBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQyxTQUFTLEdBQUcseUJBQXlCLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDTixTQUFTLEdBQUcseUJBQXlCLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksZ0JBQWdCLEdBQUcsU0FBUyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSwwRUFBMEU7Z0JBQ25GLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBRUgsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQyxDQUFDO3VHQXZDUyxlQUFlOzJHQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dBbGVydCB9IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tQYXVzZVN0YXRlT3B0aW9ucyB7XG4gIHJlY29yZGluZ01lZGlhT3B0aW9uczogc3RyaW5nOyAvLyBcInZpZGVvXCIgfCBcImF1ZGlvXCJcbiAgcmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdDogbnVtYmVyO1xuICByZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0OiBudW1iZXI7XG4gIHBhdXNlUmVjb3JkQ291bnQ6IG51bWJlcjtcbiAgc2hvd0FsZXJ0PzogU2hvd0FsZXJ0O1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBDaGVja1BhdXNlU3RhdGVUeXBlID0gKG9wdGlvbnM6IENoZWNrUGF1c2VTdGF0ZU9wdGlvbnMpID0+IFByb21pc2U8Ym9vbGVhbj47XG5cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHJlY29yZGluZyBjYW4gYmUgcGF1c2VkIGJhc2VkIG9uIHRoZSBjdXJyZW50IHBhdXNlIGNvdW50IGFuZCB0aGUgYWxsb3dlZCBwYXVzZSBsaW1pdHMuXG4gKlxuICogQHBhcmFtIHtDaGVja1BhdXNlU3RhdGVPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGNoZWNraW5nIHRoZSBwYXVzZSBzdGF0ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJlY29yZGluZ01lZGlhT3B0aW9ucyAtIFRoZSB0eXBlIG9mIG1lZGlhIGJlaW5nIHJlY29yZGVkIChcInZpZGVvXCIgb3IgXCJhdWRpb1wiKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnJlY29yZGluZ1ZpZGVvUGF1c2VzTGltaXQgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcGF1c2VzIGFsbG93ZWQgZm9yIHZpZGVvIHJlY29yZGluZ3MuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5yZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhdXNlcyBhbGxvd2VkIGZvciBhdWRpbyByZWNvcmRpbmdzLlxuICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucGF1c2VSZWNvcmRDb3VudCAtIFRoZSBjdXJyZW50IGNvdW50IG9mIHBhdXNlcyB0aGF0IGhhdmUgYmVlbiBtYWRlLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29wdGlvbnMuc2hvd0FsZXJ0XSAtIEEgZnVuY3Rpb24gdG8gc2hvdyBhbiBhbGVydCBtZXNzYWdlIGlmIHRoZSBwYXVzZSBsaW1pdCBpcyByZWFjaGVkLlxuICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGB0cnVlYCBpZiB0aGUgcmVjb3JkaW5nIGNhbiBiZSBwYXVzZWQsIG90aGVyd2lzZSBgZmFsc2VgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjaGVja1BhdXNlU3RhdGVTZXJ2aWNlID0gbmV3IENoZWNrUGF1c2VTdGF0ZSgpO1xuICogY29uc3QgY2FuUGF1c2UgPSBhd2FpdCBjaGVja1BhdXNlU3RhdGVTZXJ2aWNlLmNoZWNrUGF1c2VTdGF0ZSh7XG4gKiAgIHJlY29yZGluZ01lZGlhT3B0aW9uczogJ3ZpZGVvJyxcbiAqICAgcmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdDogMyxcbiAqICAgcmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdDogNSxcbiAqICAgcGF1c2VSZWNvcmRDb3VudDogMixcbiAqICAgc2hvd0FsZXJ0OiAoYWxlcnQpID0+IGNvbnNvbGUubG9nKGFsZXJ0Lm1lc3NhZ2UpLFxuICogfSk7XG4gKiBjb25zb2xlLmxvZygnQ2FuIHBhdXNlIHJlY29yZGluZzonLCBjYW5QYXVzZSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja1BhdXNlU3RhdGUge1xuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSByZWNvcmRpbmcgY2FuIGJlIHBhdXNlZCBiYXNlZCBvbiB0aGUgY3VycmVudCBwYXVzZSBjb3VudCBhbmQgdGhlIGFsbG93ZWQgcGF1c2UgbGltaXRzLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjaGVja2luZyB0aGUgcGF1c2Ugc3RhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJlY29yZGluZ01lZGlhT3B0aW9ucyAtIFRoZSB0eXBlIG9mIG1lZGlhIGJlaW5nIHJlY29yZGVkIChcInZpZGVvXCIgb3IgXCJhdWRpb1wiKS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdCAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXVzZXMgYWxsb3dlZCBmb3IgdmlkZW8gcmVjb3JkaW5ncy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdCAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXVzZXMgYWxsb3dlZCBmb3IgYXVkaW8gcmVjb3JkaW5ncy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucGF1c2VSZWNvcmRDb3VudCAtIFRoZSBjdXJyZW50IGNvdW50IG9mIHBhdXNlcyB0aGF0IGhhdmUgYmVlbiBtYWRlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnNob3dBbGVydCAtIEEgZnVuY3Rpb24gdG8gc2hvdyBhbiBhbGVydCBtZXNzYWdlIGlmIHRoZSBwYXVzZSBsaW1pdCBpcyByZWFjaGVkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBgdHJ1ZWAgaWYgdGhlIHJlY29yZGluZyBjYW4gYmUgcGF1c2VkLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG5cbiAgY2hlY2tQYXVzZVN0YXRlID0gYXN5bmMgKHtcbiAgICByZWNvcmRpbmdNZWRpYU9wdGlvbnMsXG4gICAgcmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdCxcbiAgICByZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0LFxuICAgIHBhdXNlUmVjb3JkQ291bnQsXG4gICAgc2hvd0FsZXJ0LFxuICB9OiBDaGVja1BhdXNlU3RhdGVPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgLy8gZnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIHVzZXIgY2FuIHBhdXNlIHJlY29yZGluZ1xuICAgIGxldCByZWZfbGltaXQgPSAwO1xuICAgIGlmIChyZWNvcmRpbmdNZWRpYU9wdGlvbnMgPT0gJ3ZpZGVvJykge1xuICAgICAgcmVmX2xpbWl0ID0gcmVjb3JkaW5nVmlkZW9QYXVzZXNMaW1pdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVmX2xpbWl0ID0gcmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdDtcbiAgICB9XG5cbiAgICBpZiAocGF1c2VSZWNvcmRDb3VudCA8IHJlZl9saW1pdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNob3dBbGVydD8uKHtcbiAgICAgICAgbWVzc2FnZTogJ1lvdSBoYXZlIHJlYWNoZWQgdGhlIGxpbWl0IG9mIHBhdXNlcyAtIHlvdSBjYW4gY2hvb3NlIHRvIHN0b3AgcmVjb3JkaW5nLicsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Checks if the recording can be resumed based on the media type and pause limits.
|
|
5
|
-
*
|
|
6
|
-
* @param {CheckResumeStateOptions} options - The options for checking resume state.
|
|
7
|
-
* @param {string} options.recordingMediaOptions - The type of media being recorded ("video" or "audio").
|
|
8
|
-
* @param {number} options.recordingVideoPausesLimit - The maximum number of pauses allowed for video recording.
|
|
9
|
-
* @param {number} options.recordingAudioPausesLimit - The maximum number of pauses allowed for audio recording.
|
|
10
|
-
* @param {number} options.pauseRecordCount - The current number of pauses that have occurred.
|
|
11
|
-
* @returns {Promise<boolean>} A promise that resolves to a boolean indicating whether the recording can be resumed.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const checkResumeStateService = new CheckResumeState();
|
|
16
|
-
* const canResume = await checkResumeStateService.checkResumeState({
|
|
17
|
-
* recordingMediaOptions: 'audio',
|
|
18
|
-
* recordingVideoPausesLimit: 3,
|
|
19
|
-
* recordingAudioPausesLimit: 5,
|
|
20
|
-
* pauseRecordCount: 2,
|
|
21
|
-
* });
|
|
22
|
-
* console.log('Can resume recording:', canResume);
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export class CheckResumeState {
|
|
26
|
-
/**
|
|
27
|
-
* Checks if the recording can be resumed based on the media type and pause limits.
|
|
28
|
-
*
|
|
29
|
-
* @param {Object} options - The options for checking resume state.
|
|
30
|
-
* @param {string} options.recordingMediaOptions - The type of media being recorded ("video" or "audio").
|
|
31
|
-
* @param {number} options.recordingVideoPausesLimit - The maximum number of pauses allowed for video recording.
|
|
32
|
-
* @param {number} options.recordingAudioPausesLimit - The maximum number of pauses allowed for audio recording.
|
|
33
|
-
* @param {number} options.pauseRecordCount - The current number of pauses that have occurred.
|
|
34
|
-
* @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the recording can be resumed.
|
|
35
|
-
*/
|
|
36
|
-
checkResumeState = async ({ recordingMediaOptions, recordingVideoPausesLimit, recordingAudioPausesLimit, pauseRecordCount, }) => {
|
|
37
|
-
// function to check if the user can resume recording
|
|
38
|
-
let ref_limit = 0;
|
|
39
|
-
if (recordingMediaOptions == 'video') {
|
|
40
|
-
ref_limit = recordingVideoPausesLimit;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
ref_limit = recordingAudioPausesLimit;
|
|
44
|
-
}
|
|
45
|
-
return pauseRecordCount <= ref_limit;
|
|
46
|
-
};
|
|
47
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckResumeState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckResumeState, providedIn: 'root' });
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckResumeState, decorators: [{
|
|
51
|
-
type: Injectable,
|
|
52
|
-
args: [{
|
|
53
|
-
providedIn: 'root',
|
|
54
|
-
}]
|
|
55
|
-
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcmVzdW1lLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9yZWNvcmRpbmctbWV0aG9kcy9jaGVjay1yZXN1bWUtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVczQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBTUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7Ozs7O09BU0c7SUFFSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsRUFDeEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ1EsRUFBb0IsRUFBRTtRQUM5QyxxREFBcUQ7UUFDckQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUkscUJBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLHlCQUF5QixDQUFDO1FBQ3hDLENBQUM7UUFFRCxPQUFPLGdCQUFnQixJQUFJLFNBQVMsQ0FBQztJQUN2QyxDQUFDLENBQUM7dUdBM0JTLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tSZXN1bWVTdGF0ZU9wdGlvbnMge1xuICByZWNvcmRpbmdNZWRpYU9wdGlvbnM6IHN0cmluZzsgLy8gJ3ZpZGVvJyBvciAnYXVkaW8nXG4gIHJlY29yZGluZ1ZpZGVvUGF1c2VzTGltaXQ6IG51bWJlcjtcbiAgcmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdDogbnVtYmVyO1xuICBwYXVzZVJlY29yZENvdW50OiBudW1iZXI7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENoZWNrUmVzdW1lU3RhdGVUeXBlID0gKG9wdGlvbnM6IENoZWNrUmVzdW1lU3RhdGVPcHRpb25zKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgcmVjb3JkaW5nIGNhbiBiZSByZXN1bWVkIGJhc2VkIG9uIHRoZSBtZWRpYSB0eXBlIGFuZCBwYXVzZSBsaW1pdHMuXG4gKlxuICogQHBhcmFtIHtDaGVja1Jlc3VtZVN0YXRlT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjaGVja2luZyByZXN1bWUgc3RhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZWNvcmRpbmdNZWRpYU9wdGlvbnMgLSBUaGUgdHlwZSBvZiBtZWRpYSBiZWluZyByZWNvcmRlZCAoXCJ2aWRlb1wiIG9yIFwiYXVkaW9cIikuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5yZWNvcmRpbmdWaWRlb1BhdXNlc0xpbWl0IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhdXNlcyBhbGxvd2VkIGZvciB2aWRlbyByZWNvcmRpbmcuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5yZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhdXNlcyBhbGxvd2VkIGZvciBhdWRpbyByZWNvcmRpbmcuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXVzZVJlY29yZENvdW50IC0gVGhlIGN1cnJlbnQgbnVtYmVyIG9mIHBhdXNlcyB0aGF0IGhhdmUgb2NjdXJyZWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgcmVjb3JkaW5nIGNhbiBiZSByZXN1bWVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjaGVja1Jlc3VtZVN0YXRlU2VydmljZSA9IG5ldyBDaGVja1Jlc3VtZVN0YXRlKCk7XG4gKiBjb25zdCBjYW5SZXN1bWUgPSBhd2FpdCBjaGVja1Jlc3VtZVN0YXRlU2VydmljZS5jaGVja1Jlc3VtZVN0YXRlKHtcbiAqICAgcmVjb3JkaW5nTWVkaWFPcHRpb25zOiAnYXVkaW8nLFxuICogICByZWNvcmRpbmdWaWRlb1BhdXNlc0xpbWl0OiAzLFxuICogICByZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0OiA1LFxuICogICBwYXVzZVJlY29yZENvdW50OiAyLFxuICogfSk7XG4gKiBjb25zb2xlLmxvZygnQ2FuIHJlc3VtZSByZWNvcmRpbmc6JywgY2FuUmVzdW1lKTtcbiAqIGBgYFxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrUmVzdW1lU3RhdGUge1xuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSByZWNvcmRpbmcgY2FuIGJlIHJlc3VtZWQgYmFzZWQgb24gdGhlIG1lZGlhIHR5cGUgYW5kIHBhdXNlIGxpbWl0cy5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY2hlY2tpbmcgcmVzdW1lIHN0YXRlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZWNvcmRpbmdNZWRpYU9wdGlvbnMgLSBUaGUgdHlwZSBvZiBtZWRpYSBiZWluZyByZWNvcmRlZCAoXCJ2aWRlb1wiIG9yIFwiYXVkaW9cIikuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnJlY29yZGluZ1ZpZGVvUGF1c2VzTGltaXQgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcGF1c2VzIGFsbG93ZWQgZm9yIHZpZGVvIHJlY29yZGluZy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdCAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXVzZXMgYWxsb3dlZCBmb3IgYXVkaW8gcmVjb3JkaW5nLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXVzZVJlY29yZENvdW50IC0gVGhlIGN1cnJlbnQgbnVtYmVyIG9mIHBhdXNlcyB0aGF0IGhhdmUgb2NjdXJyZWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlY29yZGluZyBjYW4gYmUgcmVzdW1lZC5cbiAgICovXG5cbiAgY2hlY2tSZXN1bWVTdGF0ZSA9IGFzeW5jICh7XG4gICAgcmVjb3JkaW5nTWVkaWFPcHRpb25zLFxuICAgIHJlY29yZGluZ1ZpZGVvUGF1c2VzTGltaXQsXG4gICAgcmVjb3JkaW5nQXVkaW9QYXVzZXNMaW1pdCxcbiAgICBwYXVzZVJlY29yZENvdW50LFxuICB9OiBDaGVja1Jlc3VtZVN0YXRlT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIC8vIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZSB1c2VyIGNhbiByZXN1bWUgcmVjb3JkaW5nXG4gICAgbGV0IHJlZl9saW1pdCA9IDA7XG4gICAgaWYgKHJlY29yZGluZ01lZGlhT3B0aW9ucyA9PSAndmlkZW8nKSB7XG4gICAgICByZWZfbGltaXQgPSByZWNvcmRpbmdWaWRlb1BhdXNlc0xpbWl0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZWZfbGltaXQgPSByZWNvcmRpbmdBdWRpb1BhdXNlc0xpbWl0O1xuICAgIH1cblxuICAgIHJldHVybiBwYXVzZVJlY29yZENvdW50IDw9IHJlZl9saW1pdDtcbiAgfTtcbn1cbiJdfQ==
|