mediasfu-angular 1.0.1 → 1.0.2
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 +194 -192
- package/dist/README.md +194 -192
- package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +37 -1
- package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +51 -1
- package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +49 -1
- package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +1 -2
- package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +25 -19
- package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +60 -1
- package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +21 -1
- package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +36 -1
- package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +39 -1
- package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +25 -41
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +22 -1
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +23 -1
- package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +24 -1
- package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +24 -1
- package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +16 -1
- package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +28 -1
- package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +28 -19
- package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +31 -46
- package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +20 -18
- package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +33 -25
- package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +29 -17
- package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +29 -15
- package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +44 -23
- package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +26 -31
- package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +52 -59
- package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +20 -24
- package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +40 -40
- package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +29 -14
- package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +30 -24
- package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +19 -25
- package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +63 -1
- package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +29 -18
- package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +48 -39
- package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +36 -23
- package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +36 -25
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +50 -1
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +50 -1
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +48 -1
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +48 -1
- package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +46 -1
- package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +50 -52
- package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +7 -2
- package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +6 -1
- package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +22 -29
- package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +16 -14
- package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +25 -1
- package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +35 -1
- package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +17 -34
- package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +9 -1
- package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +15 -1
- package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +16 -1
- package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +20 -1
- package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +20 -1
- package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +18 -1
- package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +18 -1
- package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +25 -1
- package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +28 -1
- package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +16 -1
- package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +13 -1
- package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +6 -1
- package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +23 -1
- package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +18 -1
- package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +11 -1
- package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +12 -1
- package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +60 -1
- package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +22 -1
- package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +50 -1
- package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +50 -1
- package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +27 -1
- package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +19 -1
- package/dist/esm2022/lib/consumers/change-vids.service.mjs +132 -67
- package/dist/esm2022/lib/consumers/check-grid.service.mjs +33 -19
- package/dist/esm2022/lib/consumers/check-permission.service.mjs +26 -1
- package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +36 -1
- package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +103 -1
- package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +32 -1
- package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +36 -1
- package/dist/esm2022/lib/consumers/connect-ips.service.mjs +43 -1
- package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +39 -1
- package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +41 -1
- package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +45 -1
- package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +55 -1
- package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +37 -1
- package/dist/esm2022/lib/consumers/control-media.service.mjs +46 -1
- package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +47 -1
- package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +51 -1
- package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +40 -1
- package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +46 -1
- package/dist/esm2022/lib/consumers/disp-streams.service.mjs +93 -1
- package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +48 -1
- package/dist/esm2022/lib/consumers/get-estimate.service.mjs +51 -1
- package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/get-videos.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/mix-streams.service.mjs +23 -1
- package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +41 -1
- package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +100 -1
- package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +30 -1
- package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +38 -1
- package/dist/esm2022/lib/consumers/re-port.service.mjs +49 -1
- package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +83 -1
- package/dist/esm2022/lib/consumers/readjust.service.mjs +51 -1
- package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +32 -1
- package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +28 -1
- package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +59 -1
- package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +35 -1
- package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +52 -1
- package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +37 -1
- package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +38 -38
- package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +40 -1
- package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +28 -1
- package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +41 -1
- package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +56 -1
- package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +54 -1
- package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +62 -1
- package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +51 -1
- package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +59 -1
- package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +34 -1
- package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +33 -1
- package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +48 -1
- package/dist/esm2022/lib/consumers/trigger.service.mjs +39 -1
- package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +55 -1
- package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +46 -1
- package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +26 -1
- package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +72 -1
- package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +25 -1
- package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +25 -1
- package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +45 -1
- package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +23 -1
- package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +76 -1
- package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +25 -1
- package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +21 -1
- package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +36 -1
- package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +23 -1
- package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +23 -1
- package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +50 -1
- package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +25 -1
- package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +47 -1
- package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +40 -1
- package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +46 -1
- package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +39 -1
- package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +33 -1
- package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +35 -1
- package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +21 -1
- package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +32 -1
- package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +25 -1
- package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +23 -1
- package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +64 -1
- package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +44 -1
- package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +28 -1
- package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +45 -1
- package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +46 -1
- package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +33 -1
- package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +51 -1
- package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +39 -1
- package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +49 -1
- package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +26 -1
- package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +40 -1
- package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +26 -1
- package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +43 -1
- package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +98 -1
- package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +32 -1
- package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +69 -1
- package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +89 -1
- package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +48 -1
- package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +51 -1
- package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +57 -1
- package/dist/esm2022/lib/methods/utils/format-number.service.mjs +27 -15
- package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +34 -1
- package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +28 -1
- package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +27 -1
- package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +37 -1
- package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +22 -1
- package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +14 -4
- package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +14 -4
- package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +38 -1
- package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +56 -1
- package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +38 -1
- package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +51 -1
- package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +38 -1
- package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +51 -1
- package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +47 -1
- package/dist/esm2022/lib/methods/utils/sleep.util.mjs +10 -4
- package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +22 -1
- package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +17 -1
- package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +19 -1
- package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +30 -1
- package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +30 -1
- package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +21 -1
- package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +24 -1
- package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +32 -1
- package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +45 -1
- package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +39 -1
- package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +39 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +74 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +72 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +28 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +37 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +38 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +25 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +27 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +25 -10
- package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +32 -49
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +30 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +24 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +28 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +32 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +26 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +62 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +63 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +46 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +30 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +39 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +39 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +63 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +42 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +26 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +26 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +22 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +43 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +31 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +41 -1
- package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +15 -41
- package/dist/esm2022/lib/sockets/socket-manager.service.mjs +41 -1
- package/dist/fesm2022/mediasfu-angular.mjs +8160 -898
- package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
- package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +36 -0
- package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +50 -0
- package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +48 -0
- package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +62 -0
- package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +24 -18
- package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +59 -0
- package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +20 -0
- package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +35 -0
- package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +38 -0
- package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +24 -40
- package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +21 -0
- package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +22 -0
- package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +23 -0
- package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +23 -0
- package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +15 -0
- package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +27 -0
- package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +27 -18
- package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +30 -45
- package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +19 -17
- package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +32 -24
- package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +28 -16
- package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +28 -14
- package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +43 -22
- package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +25 -30
- package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +55 -62
- package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +19 -23
- package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +39 -39
- package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +28 -13
- package/dist/lib/components/display-components/pagination/pagination.component.d.ts +29 -23
- package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +18 -24
- package/dist/lib/components/display-components/video-card/video-card.component.d.ts +62 -0
- package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +28 -17
- package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +47 -38
- package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +35 -22
- package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +35 -24
- package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +126 -77
- package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +126 -77
- package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +146 -110
- package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +146 -110
- package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +144 -110
- package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +49 -51
- package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +6 -1
- package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +5 -0
- package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +21 -28
- package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +15 -13
- package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +24 -0
- package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +34 -0
- package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +16 -33
- package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +8 -0
- package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +14 -0
- package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +15 -0
- package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +19 -0
- package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +19 -0
- package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +17 -0
- package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
- package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +24 -0
- package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +27 -0
- package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +15 -0
- package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +12 -0
- package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +5 -0
- package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +22 -0
- package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +17 -0
- package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +10 -0
- package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +11 -0
- package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +59 -0
- package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +21 -0
- package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +49 -0
- package/dist/lib/consumers/add-videos-grid.service.d.ts +49 -0
- package/dist/lib/consumers/auto-adjust.service.d.ts +26 -0
- package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +18 -0
- package/dist/lib/consumers/change-vids.service.d.ts +131 -66
- package/dist/lib/consumers/check-grid.service.d.ts +32 -18
- package/dist/lib/consumers/check-permission.service.d.ts +25 -0
- package/dist/lib/consumers/check-screen-share.service.d.ts +35 -0
- package/dist/lib/consumers/close-and-resize.service.d.ts +102 -0
- package/dist/lib/consumers/compare-active-names.service.d.ts +31 -0
- package/dist/lib/consumers/compare-screen-states.service.d.ts +35 -0
- package/dist/lib/consumers/connect-ips.service.d.ts +42 -0
- package/dist/lib/consumers/connect-recv-transport.service.d.ts +33 -0
- package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +38 -0
- package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +40 -0
- package/dist/lib/consumers/connect-send-transport-video.service.d.ts +44 -0
- package/dist/lib/consumers/connect-send-transport.service.d.ts +54 -0
- package/dist/lib/consumers/consumer-resume.service.d.ts +36 -0
- package/dist/lib/consumers/control-media.service.d.ts +45 -0
- package/dist/lib/consumers/create-send-transport.service.d.ts +46 -0
- package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +50 -0
- package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +39 -0
- package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +45 -0
- package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
- package/dist/lib/consumers/generate-page-content.service.d.ts +47 -0
- package/dist/lib/consumers/get-estimate.service.d.ts +50 -0
- package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +33 -0
- package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
- package/dist/lib/consumers/get-videos.service.d.ts +33 -0
- package/dist/lib/consumers/mix-streams.service.d.ts +22 -0
- package/dist/lib/consumers/on-screen-changes.service.d.ts +40 -0
- package/dist/lib/consumers/prepopulate-user-media.service.d.ts +99 -0
- package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +29 -0
- package/dist/lib/consumers/process-consumer-transports.service.d.ts +37 -0
- package/dist/lib/consumers/re-port.service.d.ts +48 -0
- package/dist/lib/consumers/re-update-inter.service.d.ts +82 -0
- package/dist/lib/consumers/readjust.service.d.ts +50 -0
- package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +31 -0
- package/dist/lib/consumers/receive-room-messages.service.d.ts +27 -0
- package/dist/lib/consumers/reorder-streams.service.d.ts +58 -0
- package/dist/lib/consumers/request-screen-share.service.d.ts +34 -0
- package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +51 -0
- package/dist/lib/consumers/resume-pause-streams.service.d.ts +33 -0
- package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +36 -0
- package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +37 -37
- package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +33 -0
- package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +39 -0
- package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
- package/dist/lib/consumers/start-share-screen.service.d.ts +40 -0
- package/dist/lib/consumers/stop-share-screen.service.d.ts +55 -0
- package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +53 -0
- package/dist/lib/consumers/stream-success-audio.service.d.ts +61 -0
- package/dist/lib/consumers/stream-success-screen.service.d.ts +50 -0
- package/dist/lib/consumers/stream-success-video.service.d.ts +58 -0
- package/dist/lib/consumers/switch-user-audio.service.d.ts +33 -0
- package/dist/lib/consumers/switch-user-video-alt.service.d.ts +32 -0
- package/dist/lib/consumers/switch-user-video.service.d.ts +47 -0
- package/dist/lib/consumers/trigger.service.d.ts +38 -0
- package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
- package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +45 -0
- package/dist/lib/methods/background-methods/launch-background.service.d.ts +25 -0
- package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +71 -0
- package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +24 -0
- package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +24 -0
- package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +44 -0
- package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +22 -0
- package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +75 -0
- package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +24 -0
- package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +20 -0
- package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +35 -0
- package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +22 -0
- package/dist/lib/methods/message-methods/launch-messages.service.d.ts +22 -0
- package/dist/lib/methods/message-methods/send-message.service.d.ts +49 -0
- package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +24 -0
- package/dist/lib/methods/participants-methods/message-participants.service.d.ts +46 -0
- package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +39 -0
- package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +45 -0
- package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +38 -0
- package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +32 -0
- package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +34 -0
- package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +20 -0
- package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +31 -0
- package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +24 -0
- package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +22 -0
- package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +63 -0
- package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +43 -0
- package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +27 -0
- package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +44 -0
- package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +45 -0
- package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +32 -0
- package/dist/lib/methods/recording-methods/start-recording.service.d.ts +50 -0
- package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +38 -0
- package/dist/lib/methods/recording-methods/update-recording.service.d.ts +48 -0
- package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +25 -0
- package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +39 -0
- package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +25 -0
- package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +42 -0
- package/dist/lib/methods/stream-methods/click-audio.service.d.ts +97 -0
- package/dist/lib/methods/stream-methods/click-chat.service.d.ts +31 -0
- package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +68 -0
- package/dist/lib/methods/stream-methods/click-video.service.d.ts +88 -0
- package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +47 -0
- package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +50 -0
- package/dist/lib/methods/stream-methods/switch-video.service.d.ts +56 -0
- package/dist/lib/methods/utils/format-number.service.d.ts +26 -14
- package/dist/lib/methods/utils/generate-random-messages.service.d.ts +33 -0
- package/dist/lib/methods/utils/generate-random-participants.service.d.ts +27 -0
- package/dist/lib/methods/utils/generate-random-polls.service.d.ts +26 -0
- package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +36 -0
- package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +21 -0
- package/dist/lib/methods/utils/get-modal-position.util.d.ts +13 -3
- package/dist/lib/methods/utils/get-overlay-position.util.d.ts +13 -3
- package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +37 -0
- package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +55 -0
- package/dist/lib/methods/utils/producer/a-params.service.d.ts +37 -0
- package/dist/lib/methods/utils/producer/h-params.service.d.ts +50 -0
- package/dist/lib/methods/utils/producer/screen-params.service.d.ts +37 -0
- package/dist/lib/methods/utils/producer/v-params.service.d.ts +50 -0
- package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +46 -0
- package/dist/lib/methods/utils/sleep.util.d.ts +9 -3
- package/dist/lib/methods/utils/sound-player.service.d.ts +21 -0
- package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +16 -0
- package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +18 -0
- package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +29 -0
- package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +29 -0
- package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +20 -0
- package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +23 -0
- package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +31 -0
- package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +44 -0
- package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +38 -0
- package/dist/lib/producers/producer-emits/join-room.service.d.ts +38 -0
- package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +73 -0
- package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +71 -0
- package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +27 -0
- package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +36 -0
- package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +37 -0
- package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +24 -0
- package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +26 -0
- package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +24 -9
- package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +31 -48
- package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +29 -0
- package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +23 -0
- package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +27 -0
- package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +31 -0
- package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +25 -0
- package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +61 -0
- package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +62 -0
- package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +45 -0
- package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +29 -0
- package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +38 -0
- package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +38 -0
- package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +62 -0
- package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +41 -0
- package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +25 -0
- package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +25 -0
- package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
- package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +42 -0
- package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +30 -0
- package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +40 -0
- package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +14 -40
- package/dist/lib/sockets/socket-manager.service.d.ts +40 -0
- package/package.json +1 -1
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* The `ScreenParams` service provides encoding parameters specifically for screen sharing in a media session using the Mediasoup library.
|
|
5
|
+
* It includes a default configuration for RTP encoding parameters optimized for high-quality screen sharing.
|
|
6
|
+
*
|
|
7
|
+
* @service
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { ScreenParams } from './path/to/screen-params.service';
|
|
11
|
+
*
|
|
12
|
+
* constructor(private screenParamsService: ScreenParams) {
|
|
13
|
+
* console.log(this.screenParamsService.screenParams);
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @typedef ScreenParamsType
|
|
18
|
+
* @property {RtpEncodingParameters[]} encodings - Array of RTP encoding parameters for screen sharing.
|
|
19
|
+
* @property {ProducerCodecOptions} [codecOptions] - Optional codec options for the screen sharing producer.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* const screenParams: ScreenParamsType = {
|
|
23
|
+
* encodings: [
|
|
24
|
+
* {
|
|
25
|
+
* rid: 'r7',
|
|
26
|
+
* maxBitrate: 3000000, // Max bitrate for this encoding (in bps)
|
|
27
|
+
* },
|
|
28
|
+
* ],
|
|
29
|
+
* codecOptions: {
|
|
30
|
+
* videoGoogleStartBitrate: 1000, // Initial bitrate for the Google codec
|
|
31
|
+
* },
|
|
32
|
+
* };
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* The default `screenParams` includes one encoding configuration with a high maximum bitrate suitable for sharing detailed screen content.
|
|
36
|
+
* The parameters are optimized to ensure a smooth experience during screen sharing sessions.
|
|
37
|
+
*
|
|
38
|
+
* @returns {ScreenParamsType} The screen sharing parameters for use in screen sharing producer configuration.
|
|
39
|
+
*/
|
|
3
40
|
export class ScreenParams {
|
|
4
41
|
screenParams = {
|
|
5
42
|
encodings: [
|
|
@@ -21,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
21
58
|
providedIn: 'root',
|
|
22
59
|
}]
|
|
23
60
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXBhcmFtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvdXRpbHMvcHJvZHVjZXIvc2NyZWVuLXBhcmFtcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFNSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFZLEdBQXFCO1FBQy9CLFNBQVMsRUFBRTtZQUNUO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULFVBQVUsRUFBRSxPQUFPO2FBQ3BCO1NBQ0Y7UUFDRCxZQUFZLEVBQUU7WUFDWix1QkFBdUIsRUFBRSxJQUFJO1NBQzlCO0tBQ0YsQ0FBQzt1R0FYUyxZQUFZOzJHQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y2VyQ29kZWNPcHRpb25zLCBSdHBFbmNvZGluZ1BhcmFtZXRlcnMgfSBmcm9tICdtZWRpYXNvdXAtY2xpZW50L2xpYi90eXBlcyc7XG5leHBvcnQgdHlwZSBTY3JlZW5QYXJhbXNUeXBlID0ge1xuICBlbmNvZGluZ3M6IFJ0cEVuY29kaW5nUGFyYW1ldGVyc1tdO1xuICBjb2RlY09wdGlvbnM/OiBQcm9kdWNlckNvZGVjT3B0aW9ucztcbn07XG5cbi8qKlxuICogVGhlIGBTY3JlZW5QYXJhbXNgIHNlcnZpY2UgcHJvdmlkZXMgZW5jb2RpbmcgcGFyYW1ldGVycyBzcGVjaWZpY2FsbHkgZm9yIHNjcmVlbiBzaGFyaW5nIGluIGEgbWVkaWEgc2Vzc2lvbiB1c2luZyB0aGUgTWVkaWFzb3VwIGxpYnJhcnkuXG4gKiBJdCBpbmNsdWRlcyBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgUlRQIGVuY29kaW5nIHBhcmFtZXRlcnMgb3B0aW1pemVkIGZvciBoaWdoLXF1YWxpdHkgc2NyZWVuIHNoYXJpbmcuXG4gKlxuICogQHNlcnZpY2VcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBTY3JlZW5QYXJhbXMgfSBmcm9tICcuL3BhdGgvdG8vc2NyZWVuLXBhcmFtcy5zZXJ2aWNlJztcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjcmVlblBhcmFtc1NlcnZpY2U6IFNjcmVlblBhcmFtcykge1xuICogICBjb25zb2xlLmxvZyh0aGlzLnNjcmVlblBhcmFtc1NlcnZpY2Uuc2NyZWVuUGFyYW1zKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEB0eXBlZGVmIFNjcmVlblBhcmFtc1R5cGVcbiAqIEBwcm9wZXJ0eSB7UnRwRW5jb2RpbmdQYXJhbWV0ZXJzW119IGVuY29kaW5ncyAtIEFycmF5IG9mIFJUUCBlbmNvZGluZyBwYXJhbWV0ZXJzIGZvciBzY3JlZW4gc2hhcmluZy5cbiAqIEBwcm9wZXJ0eSB7UHJvZHVjZXJDb2RlY09wdGlvbnN9IFtjb2RlY09wdGlvbnNdIC0gT3B0aW9uYWwgY29kZWMgb3B0aW9ucyBmb3IgdGhlIHNjcmVlbiBzaGFyaW5nIHByb2R1Y2VyLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzY3JlZW5QYXJhbXM6IFNjcmVlblBhcmFtc1R5cGUgPSB7XG4gKiAgIGVuY29kaW5nczogW1xuICogICAgIHtcbiAqICAgICAgIHJpZDogJ3I3JyxcbiAqICAgICAgIG1heEJpdHJhdGU6IDMwMDAwMDAsIC8vIE1heCBiaXRyYXRlIGZvciB0aGlzIGVuY29kaW5nIChpbiBicHMpXG4gKiAgICAgfSxcbiAqICAgXSxcbiAqICAgY29kZWNPcHRpb25zOiB7XG4gKiAgICAgdmlkZW9Hb29nbGVTdGFydEJpdHJhdGU6IDEwMDAsIC8vIEluaXRpYWwgYml0cmF0ZSBmb3IgdGhlIEdvb2dsZSBjb2RlY1xuICogICB9LFxuICogfTtcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIGRlZmF1bHQgYHNjcmVlblBhcmFtc2AgaW5jbHVkZXMgb25lIGVuY29kaW5nIGNvbmZpZ3VyYXRpb24gd2l0aCBhIGhpZ2ggbWF4aW11bSBiaXRyYXRlIHN1aXRhYmxlIGZvciBzaGFyaW5nIGRldGFpbGVkIHNjcmVlbiBjb250ZW50LlxuICogVGhlIHBhcmFtZXRlcnMgYXJlIG9wdGltaXplZCB0byBlbnN1cmUgYSBzbW9vdGggZXhwZXJpZW5jZSBkdXJpbmcgc2NyZWVuIHNoYXJpbmcgc2Vzc2lvbnMuXG4gKlxuICogQHJldHVybnMge1NjcmVlblBhcmFtc1R5cGV9IFRoZSBzY3JlZW4gc2hhcmluZyBwYXJhbWV0ZXJzIGZvciB1c2UgaW4gc2NyZWVuIHNoYXJpbmcgcHJvZHVjZXIgY29uZmlndXJhdGlvbi5cbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JlZW5QYXJhbXMge1xuICBzY3JlZW5QYXJhbXM6IFNjcmVlblBhcmFtc1R5cGUgPSB7XG4gICAgZW5jb2RpbmdzOiBbXG4gICAgICB7XG4gICAgICAgIHJpZDogJ3I3JyxcbiAgICAgICAgbWF4Qml0cmF0ZTogMzAwMDAwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2RlY09wdGlvbnM6IHtcbiAgICAgIHZpZGVvR29vZ2xlU3RhcnRCaXRyYXRlOiAxMDAwLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* The `VParams` service provides encoding parameters for video in a media session using the Mediasoup library.
|
|
5
|
+
* It includes a default configuration for RTP encoding parameters optimized for video streaming.
|
|
6
|
+
*
|
|
7
|
+
* @service
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { VParams } from './path/to/v-params.service';
|
|
11
|
+
*
|
|
12
|
+
* constructor(private vParamsService: VParams) {
|
|
13
|
+
* console.log(this.vParamsService.vParams);
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @typedef VParamsType
|
|
18
|
+
* @property {RtpEncodingParameters[]} encodings - Array of RTP encoding parameters for video.
|
|
19
|
+
* @property {ProducerCodecOptions} [codecOptions] - Optional codec options for the video producer.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* const vParams: VParamsType = {
|
|
23
|
+
* encodings: [
|
|
24
|
+
* {
|
|
25
|
+
* rid: 'r3',
|
|
26
|
+
* maxBitrate: 200000, // Max bitrate for this encoding (in bps)
|
|
27
|
+
* scalabilityMode: 'L1T3', // Scalability mode for encoding
|
|
28
|
+
* scaleResolutionDownBy: 4.0, // Scale down resolution by this factor
|
|
29
|
+
* },
|
|
30
|
+
* {
|
|
31
|
+
* rid: 'r4',
|
|
32
|
+
* maxBitrate: 400000,
|
|
33
|
+
* scalabilityMode: 'L1T3',
|
|
34
|
+
* scaleResolutionDownBy: 2.0,
|
|
35
|
+
* },
|
|
36
|
+
* {
|
|
37
|
+
* rid: 'r5',
|
|
38
|
+
* maxBitrate: 800000,
|
|
39
|
+
* scalabilityMode: 'L1T3',
|
|
40
|
+
* },
|
|
41
|
+
* ],
|
|
42
|
+
* codecOptions: {
|
|
43
|
+
* videoGoogleStartBitrate: 320, // Initial bitrate for the Google codec
|
|
44
|
+
* },
|
|
45
|
+
* };
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* The default `vParams` includes multiple encoding configurations with different maximum bitrates,
|
|
49
|
+
* allowing for adaptive streaming based on network conditions and participant capabilities.
|
|
50
|
+
*
|
|
51
|
+
* @returns {VParamsType} The video parameters for use in video producer configuration.
|
|
52
|
+
*/
|
|
3
53
|
export class VParams {
|
|
4
54
|
vParams = {
|
|
5
55
|
encodings: [
|
|
@@ -34,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
34
84
|
providedIn: 'root',
|
|
35
85
|
}]
|
|
36
86
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidi1wYXJhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3V0aWxzL3Byb2R1Y2VyL3YtcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpREc7QUFNSCxNQUFNLE9BQU8sT0FBTztJQUNsQixPQUFPLEdBQWdCO1FBQ3JCLFNBQVMsRUFBRTtZQUNUO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULFVBQVUsRUFBRSxNQUFNO2dCQUNsQixlQUFlLEVBQUUsTUFBTTtnQkFDdkIscUJBQXFCLEVBQUUsR0FBRzthQUMzQjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULFVBQVUsRUFBRSxNQUFNO2dCQUNsQixlQUFlLEVBQUUsTUFBTTtnQkFDdkIscUJBQXFCLEVBQUUsR0FBRzthQUMzQjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULFVBQVUsRUFBRSxNQUFNO2dCQUNsQixlQUFlLEVBQUUsTUFBTTthQUN4QjtTQUNGO1FBQ0QsWUFBWSxFQUFFO1lBQ1osdUJBQXVCLEVBQUUsR0FBRztTQUM3QjtLQUNGLENBQUM7dUdBeEJTLE9BQU87MkdBQVAsT0FBTyxjQUZOLE1BQU07OzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjZXJDb2RlY09wdGlvbnMsIFJ0cEVuY29kaW5nUGFyYW1ldGVycyB9IGZyb20gJ21lZGlhc291cC1jbGllbnQvbGliL3R5cGVzJztcbmV4cG9ydCB0eXBlIFZQYXJhbXNUeXBlID0ge1xuICBlbmNvZGluZ3M6IFJ0cEVuY29kaW5nUGFyYW1ldGVyc1tdO1xuICBjb2RlY09wdGlvbnM/OiBQcm9kdWNlckNvZGVjT3B0aW9ucztcbn07XG5cbi8qKlxuICogVGhlIGBWUGFyYW1zYCBzZXJ2aWNlIHByb3ZpZGVzIGVuY29kaW5nIHBhcmFtZXRlcnMgZm9yIHZpZGVvIGluIGEgbWVkaWEgc2Vzc2lvbiB1c2luZyB0aGUgTWVkaWFzb3VwIGxpYnJhcnkuXG4gKiBJdCBpbmNsdWRlcyBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgUlRQIGVuY29kaW5nIHBhcmFtZXRlcnMgb3B0aW1pemVkIGZvciB2aWRlbyBzdHJlYW1pbmcuXG4gKlxuICogQHNlcnZpY2VcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBWUGFyYW1zIH0gZnJvbSAnLi9wYXRoL3RvL3YtcGFyYW1zLnNlcnZpY2UnO1xuICpcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgdlBhcmFtc1NlcnZpY2U6IFZQYXJhbXMpIHtcbiAqICAgY29uc29sZS5sb2codGhpcy52UGFyYW1zU2VydmljZS52UGFyYW1zKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEB0eXBlZGVmIFZQYXJhbXNUeXBlXG4gKiBAcHJvcGVydHkge1J0cEVuY29kaW5nUGFyYW1ldGVyc1tdfSBlbmNvZGluZ3MgLSBBcnJheSBvZiBSVFAgZW5jb2RpbmcgcGFyYW1ldGVycyBmb3IgdmlkZW8uXG4gKiBAcHJvcGVydHkge1Byb2R1Y2VyQ29kZWNPcHRpb25zfSBbY29kZWNPcHRpb25zXSAtIE9wdGlvbmFsIGNvZGVjIG9wdGlvbnMgZm9yIHRoZSB2aWRlbyBwcm9kdWNlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdlBhcmFtczogVlBhcmFtc1R5cGUgPSB7XG4gKiAgIGVuY29kaW5nczogW1xuICogICAgIHtcbiAqICAgICAgIHJpZDogJ3IzJyxcbiAqICAgICAgIG1heEJpdHJhdGU6IDIwMDAwMCwgLy8gTWF4IGJpdHJhdGUgZm9yIHRoaXMgZW5jb2RpbmcgKGluIGJwcylcbiAqICAgICAgIHNjYWxhYmlsaXR5TW9kZTogJ0wxVDMnLCAvLyBTY2FsYWJpbGl0eSBtb2RlIGZvciBlbmNvZGluZ1xuICogICAgICAgc2NhbGVSZXNvbHV0aW9uRG93bkJ5OiA0LjAsIC8vIFNjYWxlIGRvd24gcmVzb2x1dGlvbiBieSB0aGlzIGZhY3RvclxuICogICAgIH0sXG4gKiAgICAge1xuICogICAgICAgcmlkOiAncjQnLFxuICogICAgICAgbWF4Qml0cmF0ZTogNDAwMDAwLFxuICogICAgICAgc2NhbGFiaWxpdHlNb2RlOiAnTDFUMycsXG4gKiAgICAgICBzY2FsZVJlc29sdXRpb25Eb3duQnk6IDIuMCxcbiAqICAgICB9LFxuICogICAgIHtcbiAqICAgICAgIHJpZDogJ3I1JyxcbiAqICAgICAgIG1heEJpdHJhdGU6IDgwMDAwMCxcbiAqICAgICAgIHNjYWxhYmlsaXR5TW9kZTogJ0wxVDMnLFxuICogICAgIH0sXG4gKiAgIF0sXG4gKiAgIGNvZGVjT3B0aW9uczoge1xuICogICAgIHZpZGVvR29vZ2xlU3RhcnRCaXRyYXRlOiAzMjAsIC8vIEluaXRpYWwgYml0cmF0ZSBmb3IgdGhlIEdvb2dsZSBjb2RlY1xuICogICB9LFxuICogfTtcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIGRlZmF1bHQgYHZQYXJhbXNgIGluY2x1ZGVzIG11bHRpcGxlIGVuY29kaW5nIGNvbmZpZ3VyYXRpb25zIHdpdGggZGlmZmVyZW50IG1heGltdW0gYml0cmF0ZXMsXG4gKiBhbGxvd2luZyBmb3IgYWRhcHRpdmUgc3RyZWFtaW5nIGJhc2VkIG9uIG5ldHdvcmsgY29uZGl0aW9ucyBhbmQgcGFydGljaXBhbnQgY2FwYWJpbGl0aWVzLlxuICpcbiAqIEByZXR1cm5zIHtWUGFyYW1zVHlwZX0gVGhlIHZpZGVvIHBhcmFtZXRlcnMgZm9yIHVzZSBpbiB2aWRlbyBwcm9kdWNlciBjb25maWd1cmF0aW9uLlxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFZQYXJhbXMge1xuICB2UGFyYW1zOiBWUGFyYW1zVHlwZSA9IHtcbiAgICBlbmNvZGluZ3M6IFtcbiAgICAgIHtcbiAgICAgICAgcmlkOiAncjMnLFxuICAgICAgICBtYXhCaXRyYXRlOiAyMDAwMDAsXG4gICAgICAgIHNjYWxhYmlsaXR5TW9kZTogJ0wxVDMnLFxuICAgICAgICBzY2FsZVJlc29sdXRpb25Eb3duQnk6IDQuMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJpZDogJ3I0JyxcbiAgICAgICAgbWF4Qml0cmF0ZTogNDAwMDAwLFxuICAgICAgICBzY2FsYWJpbGl0eU1vZGU6ICdMMVQzJyxcbiAgICAgICAgc2NhbGVSZXNvbHV0aW9uRG93bkJ5OiAyLjAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICByaWQ6ICdyNScsXG4gICAgICAgIG1heEJpdHJhdGU6IDgwMDAwMCxcbiAgICAgICAgc2NhbGFiaWxpdHlNb2RlOiAnTDFUMycsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29kZWNPcHRpb25zOiB7XG4gICAgICB2aWRlb0dvb2dsZVN0YXJ0Qml0cmF0ZTogMzIwLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* The `VideoCaptureConstraints` service provides various video capture constraints
|
|
5
|
+
* including resolution and frame rate settings for different display sizes (landscape, portrait, and neutral).
|
|
6
|
+
*
|
|
7
|
+
* @service
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { VideoCaptureConstraints } from './path/to/video-capture-constraints.service';
|
|
11
|
+
*
|
|
12
|
+
* constructor(private videoConstraints: VideoCaptureConstraints) {
|
|
13
|
+
* console.log(this.videoConstraints.hdCons); // Access HD constraints
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* This service contains predefined constraints that can be used for video capture
|
|
19
|
+
* settings based on the desired quality and aspect ratio. These constraints can
|
|
20
|
+
* be applied when requesting media streams from the user's camera.
|
|
21
|
+
*
|
|
22
|
+
* @property {Object} QnHDCons - Video capture constraints for QnHD resolution (320x180).
|
|
23
|
+
* @property {Object} sdCons - Video capture constraints for SD resolution (640x360).
|
|
24
|
+
* @property {Object} hdCons - Video capture constraints for HD resolution (1280x720).
|
|
25
|
+
* @property {Object} fhdCons - Video capture constraints for FHD resolution (1920x1080).
|
|
26
|
+
* @property {Object} qhdCons - Video capture constraints for QHD resolution (2560x1440).
|
|
27
|
+
*
|
|
28
|
+
* @property {Object} QnHDConsPort - Video capture constraints for QnHD resolution in portrait mode.
|
|
29
|
+
* @property {Object} sdConsPort - Video capture constraints for SD resolution in portrait mode.
|
|
30
|
+
* @property {Object} hdConsPort - Video capture constraints for HD resolution in portrait mode.
|
|
31
|
+
* @property {Object} fhdConsPort - Video capture constraints for FHD resolution in portrait mode.
|
|
32
|
+
* @property {Object} qhdConsPort - Video capture constraints for QHD resolution in portrait mode.
|
|
33
|
+
*
|
|
34
|
+
* @property {Object} QnHDConsNeu - Video capture constraints for QnHD resolution in neutral mode.
|
|
35
|
+
* @property {Object} sdConsNeu - Video capture constraints for SD resolution in neutral mode.
|
|
36
|
+
* @property {Object} hdConsNeu - Video capture constraints for HD resolution in neutral mode.
|
|
37
|
+
* @property {Object} fhdConsNeu - Video capture constraints for FHD resolution in neutral mode.
|
|
38
|
+
* @property {Object} qhdConsNeu - Video capture constraints for QnHD resolution in neutral mode.
|
|
39
|
+
*
|
|
40
|
+
* @property {number} QnHDFrameRate - Frame rate for QnHD video capture (5 FPS).
|
|
41
|
+
* @property {number} sdFrameRate - Frame rate for SD video capture (10 FPS).
|
|
42
|
+
* @property {number} hdFrameRate - Frame rate for HD video capture (15 FPS).
|
|
43
|
+
* @property {number} fhdFrameRate - Frame rate for FHD video capture (20 FPS).
|
|
44
|
+
* @property {number} qhdFrameRate - Frame rate for QHD video capture (30 FPS).
|
|
45
|
+
* @property {number} screenFrameRate - Frame rate for screen capture (30 FPS).
|
|
46
|
+
*
|
|
47
|
+
* @returns {VideoCaptureConstraints} The video capture constraints for use in media requests.
|
|
48
|
+
*/
|
|
3
49
|
export class VideoCaptureConstraints {
|
|
4
50
|
// Landscape display sizes
|
|
5
51
|
QnHDCons = { width: { ideal: 320 }, height: { ideal: 180 } };
|
|
@@ -35,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
35
81
|
providedIn: 'root',
|
|
36
82
|
}]
|
|
37
83
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tY2FwdHVyZS1jb25zdHJhaW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL21ldGhvZHMvdXRpbHMvcHJvZHVjZXIvdmlkZW8tY2FwdHVyZS1jb25zdHJhaW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q0c7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLDBCQUEwQjtJQUMxQixRQUFRLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDN0QsTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQzNELE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUM1RCxPQUFPLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7SUFDOUQsT0FBTyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBRTlELHlCQUF5QjtJQUN6QixZQUFZLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDakUsVUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQy9ELFVBQVUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNoRSxXQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7SUFDbEUsV0FBVyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBRWxFLGlDQUFpQztJQUNqQyxXQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDaEUsU0FBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQzlELFNBQVMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUM5RCxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7SUFDakUsVUFBVSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBRWpFLGdDQUFnQztJQUNoQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDbEIsZUFBZSxHQUFHLEVBQUUsQ0FBQzt1R0E1QlYsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGUgYFZpZGVvQ2FwdHVyZUNvbnN0cmFpbnRzYCBzZXJ2aWNlIHByb3ZpZGVzIHZhcmlvdXMgdmlkZW8gY2FwdHVyZSBjb25zdHJhaW50c1xuICogaW5jbHVkaW5nIHJlc29sdXRpb24gYW5kIGZyYW1lIHJhdGUgc2V0dGluZ3MgZm9yIGRpZmZlcmVudCBkaXNwbGF5IHNpemVzIChsYW5kc2NhcGUsIHBvcnRyYWl0LCBhbmQgbmV1dHJhbCkuXG4gKlxuICogQHNlcnZpY2VcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBWaWRlb0NhcHR1cmVDb25zdHJhaW50cyB9IGZyb20gJy4vcGF0aC90by92aWRlby1jYXB0dXJlLWNvbnN0cmFpbnRzLnNlcnZpY2UnO1xuICpcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlkZW9Db25zdHJhaW50czogVmlkZW9DYXB0dXJlQ29uc3RyYWludHMpIHtcbiAqICAgY29uc29sZS5sb2codGhpcy52aWRlb0NvbnN0cmFpbnRzLmhkQ29ucyk7IC8vIEFjY2VzcyBIRCBjb25zdHJhaW50c1xuICogfVxuICogYGBgXG4gKlxuICogQHJlbWFya3NcbiAqIFRoaXMgc2VydmljZSBjb250YWlucyBwcmVkZWZpbmVkIGNvbnN0cmFpbnRzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHZpZGVvIGNhcHR1cmVcbiAqIHNldHRpbmdzIGJhc2VkIG9uIHRoZSBkZXNpcmVkIHF1YWxpdHkgYW5kIGFzcGVjdCByYXRpby4gVGhlc2UgY29uc3RyYWludHMgY2FuXG4gKiBiZSBhcHBsaWVkIHdoZW4gcmVxdWVzdGluZyBtZWRpYSBzdHJlYW1zIGZyb20gdGhlIHVzZXIncyBjYW1lcmEuXG4gKlxuICogQHByb3BlcnR5IHtPYmplY3R9IFFuSERDb25zIC0gVmlkZW8gY2FwdHVyZSBjb25zdHJhaW50cyBmb3IgUW5IRCByZXNvbHV0aW9uICgzMjB4MTgwKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBzZENvbnMgLSBWaWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciBTRCByZXNvbHV0aW9uICg2NDB4MzYwKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBoZENvbnMgLSBWaWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciBIRCByZXNvbHV0aW9uICgxMjgweDcyMCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gZmhkQ29ucyAtIFZpZGVvIGNhcHR1cmUgY29uc3RyYWludHMgZm9yIEZIRCByZXNvbHV0aW9uICgxOTIweDEwODApLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHFoZENvbnMgLSBWaWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciBRSEQgcmVzb2x1dGlvbiAoMjU2MHgxNDQwKS5cbiAqXG4gKiBAcHJvcGVydHkge09iamVjdH0gUW5IRENvbnNQb3J0IC0gVmlkZW8gY2FwdHVyZSBjb25zdHJhaW50cyBmb3IgUW5IRCByZXNvbHV0aW9uIGluIHBvcnRyYWl0IG1vZGUuXG4gKiBAcHJvcGVydHkge09iamVjdH0gc2RDb25zUG9ydCAtIFZpZGVvIGNhcHR1cmUgY29uc3RyYWludHMgZm9yIFNEIHJlc29sdXRpb24gaW4gcG9ydHJhaXQgbW9kZS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBoZENvbnNQb3J0IC0gVmlkZW8gY2FwdHVyZSBjb25zdHJhaW50cyBmb3IgSEQgcmVzb2x1dGlvbiBpbiBwb3J0cmFpdCBtb2RlLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGZoZENvbnNQb3J0IC0gVmlkZW8gY2FwdHVyZSBjb25zdHJhaW50cyBmb3IgRkhEIHJlc29sdXRpb24gaW4gcG9ydHJhaXQgbW9kZS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBxaGRDb25zUG9ydCAtIFZpZGVvIGNhcHR1cmUgY29uc3RyYWludHMgZm9yIFFIRCByZXNvbHV0aW9uIGluIHBvcnRyYWl0IG1vZGUuXG4gKlxuICogQHByb3BlcnR5IHtPYmplY3R9IFFuSERDb25zTmV1IC0gVmlkZW8gY2FwdHVyZSBjb25zdHJhaW50cyBmb3IgUW5IRCByZXNvbHV0aW9uIGluIG5ldXRyYWwgbW9kZS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBzZENvbnNOZXUgLSBWaWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciBTRCByZXNvbHV0aW9uIGluIG5ldXRyYWwgbW9kZS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBoZENvbnNOZXUgLSBWaWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciBIRCByZXNvbHV0aW9uIGluIG5ldXRyYWwgbW9kZS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBmaGRDb25zTmV1IC0gVmlkZW8gY2FwdHVyZSBjb25zdHJhaW50cyBmb3IgRkhEIHJlc29sdXRpb24gaW4gbmV1dHJhbCBtb2RlLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHFoZENvbnNOZXUgLSBWaWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciBRbkhEIHJlc29sdXRpb24gaW4gbmV1dHJhbCBtb2RlLlxuICpcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBRbkhERnJhbWVSYXRlIC0gRnJhbWUgcmF0ZSBmb3IgUW5IRCB2aWRlbyBjYXB0dXJlICg1IEZQUykuXG4gKiBAcHJvcGVydHkge251bWJlcn0gc2RGcmFtZVJhdGUgLSBGcmFtZSByYXRlIGZvciBTRCB2aWRlbyBjYXB0dXJlICgxMCBGUFMpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGhkRnJhbWVSYXRlIC0gRnJhbWUgcmF0ZSBmb3IgSEQgdmlkZW8gY2FwdHVyZSAoMTUgRlBTKS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBmaGRGcmFtZVJhdGUgLSBGcmFtZSByYXRlIGZvciBGSEQgdmlkZW8gY2FwdHVyZSAoMjAgRlBTKS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBxaGRGcmFtZVJhdGUgLSBGcmFtZSByYXRlIGZvciBRSEQgdmlkZW8gY2FwdHVyZSAoMzAgRlBTKS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBzY3JlZW5GcmFtZVJhdGUgLSBGcmFtZSByYXRlIGZvciBzY3JlZW4gY2FwdHVyZSAoMzAgRlBTKS5cbiAqXG4gKiBAcmV0dXJucyB7VmlkZW9DYXB0dXJlQ29uc3RyYWludHN9IFRoZSB2aWRlbyBjYXB0dXJlIGNvbnN0cmFpbnRzIGZvciB1c2UgaW4gbWVkaWEgcmVxdWVzdHMuXG4gKi9cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFZpZGVvQ2FwdHVyZUNvbnN0cmFpbnRzIHtcbiAgLy8gTGFuZHNjYXBlIGRpc3BsYXkgc2l6ZXNcbiAgUW5IRENvbnMgPSB7IHdpZHRoOiB7IGlkZWFsOiAzMjAgfSwgaGVpZ2h0OiB7IGlkZWFsOiAxODAgfSB9O1xuICBzZENvbnMgPSB7IHdpZHRoOiB7IGlkZWFsOiA2NDAgfSwgaGVpZ2h0OiB7IGlkZWFsOiAzNjAgfSB9O1xuICBoZENvbnMgPSB7IHdpZHRoOiB7IGlkZWFsOiAxMjgwIH0sIGhlaWdodDogeyBpZGVhbDogNzIwIH0gfTtcbiAgZmhkQ29ucyA9IHsgd2lkdGg6IHsgaWRlYWw6IDE5MjAgfSwgaGVpZ2h0OiB7IGlkZWFsOiAxMDgwIH0gfTtcbiAgcWhkQ29ucyA9IHsgd2lkdGg6IHsgaWRlYWw6IDI1NjAgfSwgaGVpZ2h0OiB7IGlkZWFsOiAxNDQwIH0gfTtcblxuICAvLyBQb3J0cmFpdCBkaXNwbGF5IHNpemVzXG4gIFFuSERDb25zUG9ydCA9IHsgd2lkdGg6IHsgaWRlYWw6IDE4MCB9LCBoZWlnaHQ6IHsgaWRlYWw6IDMyMCB9IH07XG4gIHNkQ29uc1BvcnQgPSB7IHdpZHRoOiB7IGlkZWFsOiAzNjAgfSwgaGVpZ2h0OiB7IGlkZWFsOiA2NDAgfSB9O1xuICBoZENvbnNQb3J0ID0geyB3aWR0aDogeyBpZGVhbDogNzIwIH0sIGhlaWdodDogeyBpZGVhbDogMTI4MCB9IH07XG4gIGZoZENvbnNQb3J0ID0geyB3aWR0aDogeyBpZGVhbDogMTA4MCB9LCBoZWlnaHQ6IHsgaWRlYWw6IDE5MjAgfSB9O1xuICBxaGRDb25zUG9ydCA9IHsgd2lkdGg6IHsgaWRlYWw6IDE0NDAgfSwgaGVpZ2h0OiB7IGlkZWFsOiAyNTYwIH0gfTtcblxuICAvLyBOZXV0cmFsIChTcXVhcmUpIGRpc3BsYXkgc2l6ZXNcbiAgUW5IRENvbnNOZXUgPSB7IHdpZHRoOiB7IGlkZWFsOiAyNDAgfSwgaGVpZ2h0OiB7IGlkZWFsOiAyNDAgfSB9O1xuICBzZENvbnNOZXUgPSB7IHdpZHRoOiB7IGlkZWFsOiA0ODAgfSwgaGVpZ2h0OiB7IGlkZWFsOiA0ODAgfSB9O1xuICBoZENvbnNOZXUgPSB7IHdpZHRoOiB7IGlkZWFsOiA5NjAgfSwgaGVpZ2h0OiB7IGlkZWFsOiA5NjAgfSB9O1xuICBmaGRDb25zTmV1ID0geyB3aWR0aDogeyBpZGVhbDogMTQ0MCB9LCBoZWlnaHQ6IHsgaWRlYWw6IDE0NDAgfSB9O1xuICBxaGRDb25zTmV1ID0geyB3aWR0aDogeyBpZGVhbDogMTkyMCB9LCBoZWlnaHQ6IHsgaWRlYWw6IDE5MjAgfSB9O1xuXG4gIC8vIEZyYW1lIHJhdGVzIGZvciB2aWRlbyBjYXB0dXJlXG4gIFFuSERGcmFtZVJhdGUgPSA1O1xuICBzZEZyYW1lUmF0ZSA9IDEwO1xuICBoZEZyYW1lUmF0ZSA9IDE1O1xuICBmaGRGcmFtZVJhdGUgPSAyMDtcbiAgcWhkRnJhbWVSYXRlID0gMzA7XG4gIHNjcmVlbkZyYW1lUmF0ZSA9IDMwO1xufVxuIl19
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pauses the execution for a specified number of milliseconds.
|
|
3
3
|
*
|
|
4
|
-
* @param {SleepOptions} options -
|
|
5
|
-
* @param {number} options.ms -
|
|
6
|
-
* @returns {Promise<void>}
|
|
4
|
+
* @param {SleepOptions} options - Contains the duration to pause.
|
|
5
|
+
* @param {number} options.ms - Number of milliseconds to delay.
|
|
6
|
+
* @returns {Promise<void>} Resolves after the specified duration.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* await sleep({ ms: 2000 });
|
|
11
|
+
* // Pauses execution for 2 seconds
|
|
12
|
+
* ```
|
|
7
13
|
*/
|
|
8
14
|
export function sleep({ ms }) {
|
|
9
15
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
10
16
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xlZXAudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3V0aWxzL3NsZWVwLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7Ozs7Ozs7Ozs7OztHQVlHO0FBR0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBZ0I7SUFDeEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNsZWVwT3B0aW9ucyB7XG4gIG1zOiBudW1iZXI7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFNsZWVwVHlwZSA9IChvcHRpb25zOiBTbGVlcE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogUGF1c2VzIHRoZSBleGVjdXRpb24gZm9yIGEgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMuXG4gKlxuICogQHBhcmFtIHtTbGVlcE9wdGlvbnN9IG9wdGlvbnMgLSBDb250YWlucyB0aGUgZHVyYXRpb24gdG8gcGF1c2UuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5tcyAtIE51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBkdXJhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgc2xlZXAoeyBtczogMjAwMCB9KTtcbiAqIC8vIFBhdXNlcyBleGVjdXRpb24gZm9yIDIgc2Vjb25kc1xuICogYGBgXG4gKi9cblxuXG5leHBvcnQgZnVuY3Rpb24gc2xlZXAoeyBtcyB9OiBTbGVlcE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG4iXX0=
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { Injectable, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* SoundPlayer service for playing a sound from a provided URL.
|
|
5
|
+
*
|
|
6
|
+
* @class SoundPlayer
|
|
7
|
+
* @implements {OnInit}
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const soundUrl = 'https://example.com/sound.mp3';
|
|
12
|
+
* const soundPlayer = new SoundPlayer();
|
|
13
|
+
* soundPlayer.playSound({ soundUrl });
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* ### Details
|
|
17
|
+
* - **soundUrl**: URL to the sound file that will be played.
|
|
18
|
+
* - **playSound**: Initiates the audio playback.
|
|
19
|
+
* - **ngOnInit**: Automatically triggers sound playback if `soundUrl` is set.
|
|
20
|
+
*
|
|
21
|
+
* @param {SoundPlayerOptions} options - Contains the URL of the sound to play.
|
|
22
|
+
* @returns {void} - No return; sound is played asynchronously.
|
|
23
|
+
*/
|
|
3
24
|
/**
|
|
4
25
|
* Plays a sound from a given URL.
|
|
5
26
|
* @class
|
|
@@ -39,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
39
60
|
}], propDecorators: { soundUrl: [{
|
|
40
61
|
type: Input
|
|
41
62
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291bmQtcGxheWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy91dGlscy9zb3VuZC1wbGF5ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBT0g7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBQ2IsUUFBUSxDQUFxQjtJQUV0QyxRQUFRO1FBQ04sTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBRTdCLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQXNCO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQWxCVSxXQUFXOzJHQUFYLFdBQVcsY0FkVixNQUFNOzsyRkFjUCxXQUFXO2tCQWZ2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs4QkFjVSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBTb3VuZFBsYXllck9wdGlvbnMge1xuICBzb3VuZFVybDogc3RyaW5nO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBTb3VuZFBsYXllclR5cGUgPSAob3B0aW9uczogU291bmRQbGF5ZXJPcHRpb25zKSA9PiB2b2lkO1xuXG4vKipcbiAqIFNvdW5kUGxheWVyIHNlcnZpY2UgZm9yIHBsYXlpbmcgYSBzb3VuZCBmcm9tIGEgcHJvdmlkZWQgVVJMLlxuICpcbiAqIEBjbGFzcyBTb3VuZFBsYXllclxuICogQGltcGxlbWVudHMge09uSW5pdH1cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291bmRVcmwgPSAnaHR0cHM6Ly9leGFtcGxlLmNvbS9zb3VuZC5tcDMnO1xuICogY29uc3Qgc291bmRQbGF5ZXIgPSBuZXcgU291bmRQbGF5ZXIoKTtcbiAqIHNvdW5kUGxheWVyLnBsYXlTb3VuZCh7IHNvdW5kVXJsIH0pO1xuICogYGBgXG4gKlxuICogIyMjIERldGFpbHNcbiAqIC0gKipzb3VuZFVybCoqOiBVUkwgdG8gdGhlIHNvdW5kIGZpbGUgdGhhdCB3aWxsIGJlIHBsYXllZC5cbiAqIC0gKipwbGF5U291bmQqKjogSW5pdGlhdGVzIHRoZSBhdWRpbyBwbGF5YmFjay5cbiAqIC0gKipuZ09uSW5pdCoqOiBBdXRvbWF0aWNhbGx5IHRyaWdnZXJzIHNvdW5kIHBsYXliYWNrIGlmIGBzb3VuZFVybGAgaXMgc2V0LlxuICpcbiAqIEBwYXJhbSB7U291bmRQbGF5ZXJPcHRpb25zfSBvcHRpb25zIC0gQ29udGFpbnMgdGhlIFVSTCBvZiB0aGUgc291bmQgdG8gcGxheS5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybjsgc291bmQgaXMgcGxheWVkIGFzeW5jaHJvbm91c2x5LlxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuXG4vKipcbiAqIFBsYXlzIGEgc291bmQgZnJvbSBhIGdpdmVuIFVSTC5cbiAqIEBjbGFzc1xuICogQGltcGxlbWVudHMge09uSW5pdH1cbiAqIEBwYXJhbSB7c3RyaW5nfSBzb3VuZFVybCAtIFRoZSBVUkwgb2YgdGhlIHNvdW5kIHRvIHBsYXkuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzb3VuZFVybCA9ICdodHRwczovL2V4YW1wbGUuY29tL3NvdW5kLm1wMyc7XG4gKiBjb25zdCBzb3VuZFBsYXllciA9IG5ldyBTb3VuZFBsYXllcigpO1xuICogc291bmRQbGF5ZXIucGxheVNvdW5kKHsgc291bmRVcmwgfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBTb3VuZFBsYXllciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNvdW5kVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkUGxheVNvdW5kID0gdHJ1ZTtcblxuICAgIGlmIChzaG91bGRQbGF5U291bmQpIHtcbiAgICAgIGlmICh0aGlzLnNvdW5kVXJsKSB7XG4gICAgICAgIHRoaXMucGxheVNvdW5kKHsgc291bmRVcmw6IHRoaXMuc291bmRVcmwgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnU291bmQgVVJMIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcGxheVNvdW5kKHsgc291bmRVcmwgfTogU291bmRQbGF5ZXJPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgYXVkaW8gPSBuZXcgQXVkaW8oc291bmRVcmwpO1xuICAgIGF1ZGlvLnBsYXkoKS5jYXRjaCgoZXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBsYXlpbmcgc291bmQ6JywgZXJyb3IpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Service to validate if a given string contains only alphanumeric characters.
|
|
5
|
+
*
|
|
6
|
+
* @class ValidateAlphanumeric
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const validator = new ValidateAlphanumeric();
|
|
11
|
+
* validator.validateAlphanumeric({ str: 'abc123' }).then(isValid => console.log(isValid)); // true
|
|
12
|
+
* validator.validateAlphanumeric({ str: 'abc 123!' }).then(isValid => console.log(isValid)); // false
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @param {ValidateAlphanumericOptions} options - Contains the string to validate.
|
|
16
|
+
* @param {string} options.str - The input string that needs to be validated.
|
|
17
|
+
* @returns {Promise<boolean>} - A promise resolving to `true` if the input string is alphanumeric, otherwise `false`.
|
|
18
|
+
*/
|
|
3
19
|
export class ValidateAlphanumeric {
|
|
4
20
|
/**
|
|
5
21
|
* Validates if the given string contains only alphanumeric characters.
|
|
@@ -30,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
30
46
|
providedIn: 'root',
|
|
31
47
|
}]
|
|
32
48
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtYWxwaGFudW1lcmljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy91dGlscy92YWxpZGF0ZS1hbHBoYW51bWVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVEzQzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEdBQUcsRUFBK0I7UUFDN0QsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUVqQixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQ0UsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQjtnQkFDN0MsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQjtnQkFDakQsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUMxQixDQUFDO2dCQUNELG9CQUFvQjtnQkFDcEIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0F2QlUsb0JBQW9COzJHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVBbHBoYW51bWVyaWNPcHRpb25zIHtcbiAgc3RyOiBzdHJpbmc7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFZhbGlkYXRlQWxwaGFudW1lcmljVHlwZSA9IChvcHRpb25zOiBWYWxpZGF0ZUFscGhhbnVtZXJpY09wdGlvbnMpID0+IFByb21pc2U8Ym9vbGVhbj47XG5cbi8qKlxuICogU2VydmljZSB0byB2YWxpZGF0ZSBpZiBhIGdpdmVuIHN0cmluZyBjb250YWlucyBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLlxuICpcbiAqIEBjbGFzcyBWYWxpZGF0ZUFscGhhbnVtZXJpY1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB2YWxpZGF0b3IgPSBuZXcgVmFsaWRhdGVBbHBoYW51bWVyaWMoKTtcbiAqIHZhbGlkYXRvci52YWxpZGF0ZUFscGhhbnVtZXJpYyh7IHN0cjogJ2FiYzEyMycgfSkudGhlbihpc1ZhbGlkID0+IGNvbnNvbGUubG9nKGlzVmFsaWQpKTsgLy8gdHJ1ZVxuICogdmFsaWRhdG9yLnZhbGlkYXRlQWxwaGFudW1lcmljKHsgc3RyOiAnYWJjIDEyMyEnIH0pLnRoZW4oaXNWYWxpZCA9PiBjb25zb2xlLmxvZyhpc1ZhbGlkKSk7IC8vIGZhbHNlXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0ge1ZhbGlkYXRlQWxwaGFudW1lcmljT3B0aW9uc30gb3B0aW9ucyAtIENvbnRhaW5zIHRoZSBzdHJpbmcgdG8gdmFsaWRhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5zdHIgLSBUaGUgaW5wdXQgc3RyaW5nIHRoYXQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkLlxuICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IC0gQSBwcm9taXNlIHJlc29sdmluZyB0byBgdHJ1ZWAgaWYgdGhlIGlucHV0IHN0cmluZyBpcyBhbHBoYW51bWVyaWMsIG90aGVyd2lzZSBgZmFsc2VgLlxuICovXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZUFscGhhbnVtZXJpYyB7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgaWYgdGhlIGdpdmVuIHN0cmluZyBjb250YWlucyBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge1ZhbGlkYXRlQWxwaGFudW1lcmljT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGNvbnRhaW5pbmcgdGhlIHN0cmluZyB0byB2YWxpZGF0ZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuc3RyIC0gVGhlIHN0cmluZyB0byBiZSB2YWxpZGF0ZWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGB0cnVlYCBpZiB0aGUgc3RyaW5nIGlzIGFscGhhbnVtZXJpYywgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBhc3luYyB2YWxpZGF0ZUFscGhhbnVtZXJpYyh7IHN0ciB9OiBWYWxpZGF0ZUFscGhhbnVtZXJpY09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY29kZSwgaSwgbGVuO1xuXG4gICAgZm9yIChpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICBpZiAoXG4gICAgICAgICEoY29kZSA+IDQ3ICYmIGNvZGUgPCA1OCkgJiYgLy8gbnVtZXJpYyAoMC05KVxuICAgICAgICAhKGNvZGUgPiA2NCAmJiBjb2RlIDwgOTEpICYmIC8vIHVwcGVyIGFscGhhIChBLVopXG4gICAgICAgICEoY29kZSA+IDk2ICYmIGNvZGUgPCAxMjMpXG4gICAgICApIHtcbiAgICAgICAgLy8gbG93ZXIgYWxwaGEgKGEteilcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Service to toggle the visibility of a waiting modal.
|
|
5
|
+
*
|
|
6
|
+
* @param {LaunchWaitingOptions} options - The options to control the waiting modal visibility.
|
|
7
|
+
* @param {Function} options.updateIsWaitingModalVisible - Function to update the visibility of the waiting modal.
|
|
8
|
+
* @param {boolean} options.isWaitingModalVisible - Current visibility state of the waiting modal.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const launchWaitingService = new LaunchWaiting();
|
|
13
|
+
* launchWaitingService.launchWaiting({
|
|
14
|
+
* updateIsWaitingModalVisible: (isVisible) => console.log(`Modal is now ${isVisible ? 'visible' : 'hidden'}`),
|
|
15
|
+
* isWaitingModalVisible: false,
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* This example toggles the modal's visibility state, making it visible if it was hidden and vice versa.
|
|
20
|
+
*/
|
|
3
21
|
export class LaunchWaiting {
|
|
4
22
|
/**
|
|
5
23
|
* Toggles the visibility of the waiting modal.
|
|
@@ -20,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
20
38
|
providedIn: 'root',
|
|
21
39
|
}]
|
|
22
40
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLXdhaXRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL3dhaXRpbmctbWV0aG9kcy9sYXVuY2gtd2FpdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQU1ILE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7OztPQUtHO0lBRUgsYUFBYSxDQUFDLEVBQ1osMkJBQTJCLEVBQzNCLHFCQUFxQixHQUNBO1FBQ3JCLCtCQUErQjtRQUMvQiwyQkFBMkIsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdEQsQ0FBQzt1R0FkVSxhQUFhOzJHQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoV2FpdGluZ09wdGlvbnMge1xuICB1cGRhdGVJc1dhaXRpbmdNb2RhbFZpc2libGU6ICh2aXNpYmxlOiBib29sZWFuKSA9PiB2b2lkO1xuICBpc1dhaXRpbmdNb2RhbFZpc2libGU6IGJvb2xlYW47XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIExhdW5jaFdhaXRpbmdUeXBlID0gKG9wdGlvbnM6IExhdW5jaFdhaXRpbmdPcHRpb25zKSA9PiB2b2lkO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gdG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIGEgd2FpdGluZyBtb2RhbC5cbiAqXG4gKiBAcGFyYW0ge0xhdW5jaFdhaXRpbmdPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gY29udHJvbCB0aGUgd2FpdGluZyBtb2RhbCB2aXNpYmlsaXR5LlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc1dhaXRpbmdNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHdhaXRpbmcgbW9kYWwuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNXYWl0aW5nTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSB3YWl0aW5nIG1vZGFsLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsYXVuY2hXYWl0aW5nU2VydmljZSA9IG5ldyBMYXVuY2hXYWl0aW5nKCk7XG4gKiBsYXVuY2hXYWl0aW5nU2VydmljZS5sYXVuY2hXYWl0aW5nKHtcbiAqICAgdXBkYXRlSXNXYWl0aW5nTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiBjb25zb2xlLmxvZyhgTW9kYWwgaXMgbm93ICR7aXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YCksXG4gKiAgIGlzV2FpdGluZ01vZGFsVmlzaWJsZTogZmFsc2UsXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIFRoaXMgZXhhbXBsZSB0b2dnbGVzIHRoZSBtb2RhbCdzIHZpc2liaWxpdHkgc3RhdGUsIG1ha2luZyBpdCB2aXNpYmxlIGlmIGl0IHdhcyBoaWRkZW4gYW5kIHZpY2UgdmVyc2EuXG4gKi9cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGF1bmNoV2FpdGluZyB7XG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSB3YWl0aW5nIG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gdXBkYXRlSXNXYWl0aW5nTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSB3YWl0aW5nIG1vZGFsLlxuICAgKiBAcGFyYW0gaXNXYWl0aW5nTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSB3YWl0aW5nIG1vZGFsLlxuICAgKi9cblxuICBsYXVuY2hXYWl0aW5nKHtcbiAgICB1cGRhdGVJc1dhaXRpbmdNb2RhbFZpc2libGUsXG4gICAgaXNXYWl0aW5nTW9kYWxWaXNpYmxlLFxuICB9OiBMYXVuY2hXYWl0aW5nT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIE9wZW4gb3IgY2xvc2UgdGhlIG1lbnUgbW9kYWxcbiAgICB1cGRhdGVJc1dhaXRpbmdNb2RhbFZpc2libGUoIWlzV2FpdGluZ01vZGFsVmlzaWJsZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Handles the response to a participant in the waiting room, either allowing or denying their entry.
|
|
5
|
+
*
|
|
6
|
+
* @param {RespondToWaitingOptions} options - Options for handling the participant's entry request.
|
|
7
|
+
* @param {string} options.participantId - Unique identifier for the participant.
|
|
8
|
+
* @param {string} options.participantName - Name of the participant.
|
|
9
|
+
* @param {Function} options.updateWaitingList - Function to update the waiting list by removing the responded participant.
|
|
10
|
+
* @param {WaitingRoomParticipant[]} options.waitingList - Current list of participants in the waiting room.
|
|
11
|
+
* @param {boolean | string} options.type - Indicates whether to allow ("true") or deny ("false") the participant's entry.
|
|
12
|
+
* @param {string} options.roomName - The name of the room the participant is requesting to join.
|
|
13
|
+
* @param {Socket} options.socket - The socket instance used to emit the response event.
|
|
14
|
+
* @returns {Promise<void>} Resolves when the response has been processed.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const respondService = new RespondToWaiting();
|
|
19
|
+
* respondService.respondToWaiting({
|
|
20
|
+
* participantId: '12345',
|
|
21
|
+
* participantName: 'John Doe',
|
|
22
|
+
* updateWaitingList: (newList) => console.log('Updated Waiting List:', newList),
|
|
23
|
+
* waitingList: currentWaitingList,
|
|
24
|
+
* type: 'true',
|
|
25
|
+
* roomName: 'Room1',
|
|
26
|
+
* socket: io('http://localhost:3000'),
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* In this example, the participant 'John Doe' is allowed to join 'Room1', and the updated waiting list is logged.
|
|
31
|
+
*/
|
|
3
32
|
export class RespondToWaiting {
|
|
4
33
|
/**
|
|
5
34
|
* Responds to a participant waiting to join a room by either allowing or denying their entry.
|
|
@@ -37,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
37
66
|
providedIn: 'root',
|
|
38
67
|
}]
|
|
39
68
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uZC10by13YWl0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy93YWl0aW5nLW1ldGhvZHMvcmVzcG9uZC10by13YWl0aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBTUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFDckIsYUFBYSxFQUNiLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxHQUNrQjtRQUN4QixtREFBbUQ7UUFDbkQsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztRQUVuRiwwQkFBMEI7UUFDMUIsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUV6RSw0RUFBNEU7UUFDNUUsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMvQixhQUFhO1lBQ2IsZUFBZTtZQUNmLElBQUksRUFBRSxZQUFZO1lBQ2xCLFFBQVE7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXRDVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFdhaXRpbmdSb29tUGFydGljaXBhbnQgfSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbmRUb1dhaXRpbmdPcHRpb25zIHtcbiAgcGFydGljaXBhbnRJZDogc3RyaW5nO1xuICBwYXJ0aWNpcGFudE5hbWU6IHN0cmluZztcbiAgdXBkYXRlV2FpdGluZ0xpc3Q6ICh3YWl0aW5nTGlzdDogV2FpdGluZ1Jvb21QYXJ0aWNpcGFudFtdKSA9PiB2b2lkO1xuICB3YWl0aW5nTGlzdDogV2FpdGluZ1Jvb21QYXJ0aWNpcGFudFtdO1xuICB0eXBlOiBzdHJpbmcgfCBib29sZWFuO1xuICByb29tTmFtZTogc3RyaW5nO1xuICBzb2NrZXQ6IFNvY2tldDtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgUmVzcG9uZFRvV2FpdGluZ1R5cGUgPSAob3B0aW9uczogUmVzcG9uZFRvV2FpdGluZ09wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgcmVzcG9uc2UgdG8gYSBwYXJ0aWNpcGFudCBpbiB0aGUgd2FpdGluZyByb29tLCBlaXRoZXIgYWxsb3dpbmcgb3IgZGVueWluZyB0aGVpciBlbnRyeS5cbiAqXG4gKiBAcGFyYW0ge1Jlc3BvbmRUb1dhaXRpbmdPcHRpb25zfSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgaGFuZGxpbmcgdGhlIHBhcnRpY2lwYW50J3MgZW50cnkgcmVxdWVzdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcnRpY2lwYW50SWQgLSBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHBhcnRpY2lwYW50LlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFydGljaXBhbnROYW1lIC0gTmFtZSBvZiB0aGUgcGFydGljaXBhbnQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZVdhaXRpbmdMaXN0IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB3YWl0aW5nIGxpc3QgYnkgcmVtb3ZpbmcgdGhlIHJlc3BvbmRlZCBwYXJ0aWNpcGFudC5cbiAqIEBwYXJhbSB7V2FpdGluZ1Jvb21QYXJ0aWNpcGFudFtdfSBvcHRpb25zLndhaXRpbmdMaXN0IC0gQ3VycmVudCBsaXN0IG9mIHBhcnRpY2lwYW50cyBpbiB0aGUgd2FpdGluZyByb29tLlxuICogQHBhcmFtIHtib29sZWFuIHwgc3RyaW5nfSBvcHRpb25zLnR5cGUgLSBJbmRpY2F0ZXMgd2hldGhlciB0byBhbGxvdyAoXCJ0cnVlXCIpIG9yIGRlbnkgKFwiZmFsc2VcIikgdGhlIHBhcnRpY2lwYW50J3MgZW50cnkuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yb29tTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByb29tIHRoZSBwYXJ0aWNpcGFudCBpcyByZXF1ZXN0aW5nIHRvIGpvaW4uXG4gKiBAcGFyYW0ge1NvY2tldH0gb3B0aW9ucy5zb2NrZXQgLSBUaGUgc29ja2V0IGluc3RhbmNlIHVzZWQgdG8gZW1pdCB0aGUgcmVzcG9uc2UgZXZlbnQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgd2hlbiB0aGUgcmVzcG9uc2UgaGFzIGJlZW4gcHJvY2Vzc2VkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZXNwb25kU2VydmljZSA9IG5ldyBSZXNwb25kVG9XYWl0aW5nKCk7XG4gKiByZXNwb25kU2VydmljZS5yZXNwb25kVG9XYWl0aW5nKHtcbiAqICAgcGFydGljaXBhbnRJZDogJzEyMzQ1JyxcbiAqICAgcGFydGljaXBhbnROYW1lOiAnSm9obiBEb2UnLFxuICogICB1cGRhdGVXYWl0aW5nTGlzdDogKG5ld0xpc3QpID0+IGNvbnNvbGUubG9nKCdVcGRhdGVkIFdhaXRpbmcgTGlzdDonLCBuZXdMaXN0KSxcbiAqICAgd2FpdGluZ0xpc3Q6IGN1cnJlbnRXYWl0aW5nTGlzdCxcbiAqICAgdHlwZTogJ3RydWUnLFxuICogICByb29tTmFtZTogJ1Jvb20xJyxcbiAqICAgc29ja2V0OiBpbygnaHR0cDovL2xvY2FsaG9zdDozMDAwJyksXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEluIHRoaXMgZXhhbXBsZSwgdGhlIHBhcnRpY2lwYW50ICdKb2huIERvZScgaXMgYWxsb3dlZCB0byBqb2luICdSb29tMScsIGFuZCB0aGUgdXBkYXRlZCB3YWl0aW5nIGxpc3QgaXMgbG9nZ2VkLlxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlc3BvbmRUb1dhaXRpbmcge1xuICAvKipcbiAgICogUmVzcG9uZHMgdG8gYSBwYXJ0aWNpcGFudCB3YWl0aW5nIHRvIGpvaW4gYSByb29tIGJ5IGVpdGhlciBhbGxvd2luZyBvciBkZW55aW5nIHRoZWlyIGVudHJ5LlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciByZXNwb25kaW5nIHRvIHRoZSB3YWl0aW5nIHBhcnRpY2lwYW50LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXJ0aWNpcGFudElkIC0gVGhlIElEIG9mIHRoZSBwYXJ0aWNpcGFudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFydGljaXBhbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHBhcnRpY2lwYW50LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZVdhaXRpbmdMaXN0IC0gVGhlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgd2FpdGluZyBsaXN0LlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLndhaXRpbmdMaXN0IC0gVGhlIGN1cnJlbnQgd2FpdGluZyBsaXN0IG9mIHBhcnRpY2lwYW50cy5cbiAgICogQHBhcmFtIHtib29sZWFuIHwgc3RyaW5nfSBvcHRpb25zLnR5cGUgLSBUaGUgdHlwZSBvZiByZXNwb25zZSwgZWl0aGVyIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucm9vbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcm9vbS5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMuc29ja2V0IC0gVGhlIHNvY2tldCBpbnN0YW5jZSB0byBlbWl0IGV2ZW50cy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzcG9uc2UgaGFzIGJlZW4gcHJvY2Vzc2VkLlxuICAgKi9cbiAgYXN5bmMgcmVzcG9uZFRvV2FpdGluZyh7XG4gICAgcGFydGljaXBhbnRJZCxcbiAgICBwYXJ0aWNpcGFudE5hbWUsXG4gICAgdXBkYXRlV2FpdGluZ0xpc3QsXG4gICAgd2FpdGluZ0xpc3QsXG4gICAgdHlwZSxcbiAgICByb29tTmFtZSxcbiAgICBzb2NrZXQsXG4gIH06IFJlc3BvbmRUb1dhaXRpbmdPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRmlsdGVyIG91dCB0aGUgcGFydGljaXBhbnQgZnJvbSB0aGUgd2FpdGluZyBsaXN0XG4gICAgY29uc3QgbmV3V2FpdGluZ0xpc3QgPSB3YWl0aW5nTGlzdC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ubmFtZSAhPT0gcGFydGljaXBhbnROYW1lKTtcblxuICAgIC8vIFVwZGF0ZSB0aGUgd2FpdGluZyBsaXN0XG4gICAgdXBkYXRlV2FpdGluZ0xpc3QobmV3V2FpdGluZ0xpc3QpO1xuXG4gICAgY29uc3QgcmVzcG9uc2VUeXBlID0gdHlwZSA9PT0gJ3RydWUnIHx8IHR5cGUgPT09IHRydWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xuXG4gICAgLy8gRW1pdCBhbiBldmVudCB0byBhbGxvdyBvciBkZW55IHRoZSBwYXJ0aWNpcGFudCBiYXNlZCBvbiB0aGUgcmVzcG9uc2UgdHlwZVxuICAgIGF3YWl0IHNvY2tldC5lbWl0KCdhbGxvd1VzZXJJbicsIHtcbiAgICAgIHBhcnRpY2lwYW50SWQsXG4gICAgICBwYXJ0aWNpcGFudE5hbWUsXG4gICAgICB0eXBlOiByZXNwb25zZVR5cGUsXG4gICAgICByb29tTmFtZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
// canvas.service.ts
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Manages capturing and streaming from a canvas element.
|
|
7
|
+
*
|
|
8
|
+
* @param {CaptureCanvasStreamOptions} options - Options to control canvas streaming.
|
|
9
|
+
* @param {CaptureCanvasStreamParameters} options.parameters - Object containing media settings and state management functions.
|
|
10
|
+
* @param {boolean} [options.start=true] - If `true`, initiates canvas capture; if `false`, stops the capture.
|
|
11
|
+
* @returns {Promise<void>} A promise that resolves once the canvas stream has started or stopped.
|
|
12
|
+
*
|
|
13
|
+
* The function first checks the availability of `canvasWhiteboard` to capture the canvas stream. If unavailable, it attempts multiple times until a timeout. If successful:
|
|
14
|
+
* - It starts the canvas capture, creating or reconnecting the transport for streaming.
|
|
15
|
+
* - If stopping, it disconnects the transport and halts the stream.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const captureService = new CaptureCanvasStream();
|
|
20
|
+
* captureService.captureCanvasStream({
|
|
21
|
+
* parameters: {
|
|
22
|
+
* canvasWhiteboard: document.getElementById('myCanvas') as HTMLCanvasElement,
|
|
23
|
+
* updateCanvasStream: (stream) => console.log('Canvas Stream:', stream),
|
|
24
|
+
* screenProducer: null,
|
|
25
|
+
* transportCreated: false,
|
|
26
|
+
* // other required parameters...
|
|
27
|
+
* },
|
|
28
|
+
* start: true
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* This example initiates a capture of `myCanvas`, updating the canvas stream upon successful connection.
|
|
33
|
+
*/
|
|
5
34
|
export class CaptureCanvasStream {
|
|
6
35
|
/**
|
|
7
36
|
* Capture the canvas stream.
|
|
@@ -66,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
66
95
|
providedIn: 'root',
|
|
67
96
|
}]
|
|
68
97
|
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS1jYW52YXMtc3RyZWFtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy93aGl0ZWJvYXJkLW1ldGhvZHMvY2FwdHVyZS1jYW52YXMtc3RyZWFtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBQzdELG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXdDM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOzs7OztPQUtHO0lBQ0gsbUJBQW1CLEdBQUcsS0FBSyxFQUFFLEVBQzNCLFVBQVUsRUFDVixLQUFLLEdBQUcsSUFBSSxHQUNlLEVBQWlCLEVBQUU7UUFDOUMsSUFBSSxDQUFDO1lBQ0gsVUFBVSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRTlDLElBQUksRUFDRixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixLQUFLLEVBQ0wsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiw2QkFBNkIsR0FDOUIsR0FBRyxVQUFVLENBQUM7WUFFZixJQUFJLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMzQiw0Q0FBNEM7Z0JBQzVDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDakIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsOEJBQThCO2dCQUN0RCxPQUFPLENBQUMsZ0JBQWdCLElBQUksUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFDO29CQUNuRCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pELFVBQVUsR0FBRyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDOUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDO29CQUMvQyxRQUFRLEVBQUUsQ0FBQztnQkFDYixDQUFDO2dCQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7Z0JBQ3RELENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsZ0JBQWlCLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCxZQUFZLEdBQUcsTUFBTSxDQUFDO2dCQUN0QixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQ3RCLE1BQU0sbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUM7d0JBQ0gsY0FBZSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUN4QixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDM0IsTUFBTSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDM0IsQ0FBQztvQkFBQyxNQUFNLENBQUM7d0JBQ1Asa0JBQWtCO29CQUNwQixDQUFDO29CQUVELE1BQU0sMEJBQTBCLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDM0QsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUMzQixZQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzVFLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3BCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN6Qiw2QkFBNkIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDLENBQUM7dUdBckVTLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uICovXG4vLyBjYW52YXMuc2VydmljZS50c1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjZXIgfSBmcm9tICdtZWRpYXNvdXAtY2xpZW50L2xpYi90eXBlcyc7XG5pbXBvcnQge1xuICBDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlblR5cGUsXG4gIENyZWF0ZVNlbmRUcmFuc3BvcnRUeXBlLFxuICBEaXNjb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlblR5cGUsXG4gIFNsZWVwVHlwZSxcbiAgQ3JlYXRlU2VuZFRyYW5zcG9ydFBhcmFtZXRlcnMsXG4gIERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuUGFyYW1ldGVycyxcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5QYXJhbWV0ZXJzLFxufSBmcm9tICcuLi8uLi9AdHlwZXMvdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBDYXB0dXJlQ2FudmFzU3RyZWFtUGFyYW1ldGVyc1xuICBleHRlbmRzIENyZWF0ZVNlbmRUcmFuc3BvcnRQYXJhbWV0ZXJzLFxuICAgIERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuUGFyYW1ldGVycyxcbiAgICBDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlblBhcmFtZXRlcnMge1xuICBjYW52YXNXaGl0ZWJvYXJkOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGw7XG4gIGNhbnZhc1N0cmVhbTogTWVkaWFTdHJlYW0gfCBudWxsO1xuICB1cGRhdGVDYW52YXNTdHJlYW06IChzdHJlYW06IE1lZGlhU3RyZWFtIHwgbnVsbCkgPT4gdm9pZDtcbiAgc2NyZWVuUHJvZHVjZXI6IFByb2R1Y2VyIHwgbnVsbDtcbiAgdHJhbnNwb3J0Q3JlYXRlZDogYm9vbGVhbjtcbiAgdXBkYXRlU2NyZWVuUHJvZHVjZXI6IChwcm9kdWNlcjogUHJvZHVjZXIgfCBudWxsKSA9PiB2b2lkO1xuXG4gIC8vIG1lZGlhc2Z1IGZ1bmN0aW9uc1xuICBzbGVlcDogU2xlZXBUeXBlO1xuICBjcmVhdGVTZW5kVHJhbnNwb3J0OiBDcmVhdGVTZW5kVHJhbnNwb3J0VHlwZTtcbiAgY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW46IENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuVHlwZTtcbiAgZGlzY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW46IERpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuVHlwZTtcblxuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBDYXB0dXJlQ2FudmFzU3RyZWFtUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhcHR1cmVDYW52YXNTdHJlYW1PcHRpb25zIHtcbiAgcGFyYW1ldGVyczogQ2FwdHVyZUNhbnZhc1N0cmVhbVBhcmFtZXRlcnM7XG4gIHN0YXJ0PzogYm9vbGVhbjtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ2FwdHVyZUNhbnZhc1N0cmVhbVR5cGUgPSAob3B0aW9uczogQ2FwdHVyZUNhbnZhc1N0cmVhbU9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogTWFuYWdlcyBjYXB0dXJpbmcgYW5kIHN0cmVhbWluZyBmcm9tIGEgY2FudmFzIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHtDYXB0dXJlQ2FudmFzU3RyZWFtT3B0aW9uc30gb3B0aW9ucyAtIE9wdGlvbnMgdG8gY29udHJvbCBjYW52YXMgc3RyZWFtaW5nLlxuICogQHBhcmFtIHtDYXB0dXJlQ2FudmFzU3RyZWFtUGFyYW1ldGVyc30gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gT2JqZWN0IGNvbnRhaW5pbmcgbWVkaWEgc2V0dGluZ3MgYW5kIHN0YXRlIG1hbmFnZW1lbnQgZnVuY3Rpb25zLlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5zdGFydD10cnVlXSAtIElmIGB0cnVlYCwgaW5pdGlhdGVzIGNhbnZhcyBjYXB0dXJlOyBpZiBgZmFsc2VgLCBzdG9wcyB0aGUgY2FwdHVyZS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBjYW52YXMgc3RyZWFtIGhhcyBzdGFydGVkIG9yIHN0b3BwZWQuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGZpcnN0IGNoZWNrcyB0aGUgYXZhaWxhYmlsaXR5IG9mIGBjYW52YXNXaGl0ZWJvYXJkYCB0byBjYXB0dXJlIHRoZSBjYW52YXMgc3RyZWFtLiBJZiB1bmF2YWlsYWJsZSwgaXQgYXR0ZW1wdHMgbXVsdGlwbGUgdGltZXMgdW50aWwgYSB0aW1lb3V0LiBJZiBzdWNjZXNzZnVsOlxuICogLSBJdCBzdGFydHMgdGhlIGNhbnZhcyBjYXB0dXJlLCBjcmVhdGluZyBvciByZWNvbm5lY3RpbmcgdGhlIHRyYW5zcG9ydCBmb3Igc3RyZWFtaW5nLlxuICogLSBJZiBzdG9wcGluZywgaXQgZGlzY29ubmVjdHMgdGhlIHRyYW5zcG9ydCBhbmQgaGFsdHMgdGhlIHN0cmVhbS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY2FwdHVyZVNlcnZpY2UgPSBuZXcgQ2FwdHVyZUNhbnZhc1N0cmVhbSgpO1xuICogY2FwdHVyZVNlcnZpY2UuY2FwdHVyZUNhbnZhc1N0cmVhbSh7XG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICBjYW52YXNXaGl0ZWJvYXJkOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXlDYW52YXMnKSBhcyBIVE1MQ2FudmFzRWxlbWVudCxcbiAqICAgICB1cGRhdGVDYW52YXNTdHJlYW06IChzdHJlYW0pID0+IGNvbnNvbGUubG9nKCdDYW52YXMgU3RyZWFtOicsIHN0cmVhbSksXG4gKiAgICAgc2NyZWVuUHJvZHVjZXI6IG51bGwsXG4gKiAgICAgdHJhbnNwb3J0Q3JlYXRlZDogZmFsc2UsXG4gKiAgICAgLy8gb3RoZXIgcmVxdWlyZWQgcGFyYW1ldGVycy4uLlxuICogICB9LFxuICogICBzdGFydDogdHJ1ZVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBUaGlzIGV4YW1wbGUgaW5pdGlhdGVzIGEgY2FwdHVyZSBvZiBgbXlDYW52YXNgLCB1cGRhdGluZyB0aGUgY2FudmFzIHN0cmVhbSB1cG9uIHN1Y2Nlc3NmdWwgY29ubmVjdGlvbi5cbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXB0dXJlQ2FudmFzU3RyZWFtIHtcbiAgLyoqXG4gICAqIENhcHR1cmUgdGhlIGNhbnZhcyBzdHJlYW0uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtzdGFydD10cnVlXSAtIEluZGljYXRlcyB3aGV0aGVyIHRvIHN0YXJ0IGNhcHR1cmluZyB0aGUgc3RyZWFtLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjYW52YXMgc3RyZWFtIGlzIGNhcHR1cmVkLlxuICAgKi9cbiAgY2FwdHVyZUNhbnZhc1N0cmVhbSA9IGFzeW5jICh7XG4gICAgcGFyYW1ldGVycyxcbiAgICBzdGFydCA9IHRydWUsXG4gIH06IENhcHR1cmVDYW52YXNTdHJlYW1PcHRpb25zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcblxuICAgICAgbGV0IHtcbiAgICAgICAgY2FudmFzV2hpdGVib2FyZCxcbiAgICAgICAgY2FudmFzU3RyZWFtLFxuICAgICAgICB1cGRhdGVDYW52YXNTdHJlYW0sXG4gICAgICAgIHNjcmVlblByb2R1Y2VyLFxuICAgICAgICB0cmFuc3BvcnRDcmVhdGVkLFxuICAgICAgICB1cGRhdGVTY3JlZW5Qcm9kdWNlcixcbiAgICAgICAgc2xlZXAsXG4gICAgICAgIGNyZWF0ZVNlbmRUcmFuc3BvcnQsXG4gICAgICAgIGNvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuLFxuICAgICAgICBkaXNjb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbixcbiAgICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgICBpZiAoc3RhcnQgJiYgIWNhbnZhc1N0cmVhbSkge1xuICAgICAgICAvLyBXYWl0IGZvciBjYW52YXNXaGl0ZWJvYXJkIHRvIGJlIGF2YWlsYWJsZVxuICAgICAgICBsZXQgYXR0ZW1wdHMgPSAwO1xuICAgICAgICBjb25zdCBtYXhBdHRlbXB0cyA9IDIwOyAvLyAyIHNlY29uZHMgLyAxMDBtcyBpbnRlcnZhbHNcbiAgICAgICAgd2hpbGUgKCFjYW52YXNXaGl0ZWJvYXJkICYmIGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpIHtcbiAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMDApKTtcbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgICAgICAgY2FudmFzV2hpdGVib2FyZCA9IHBhcmFtZXRlcnMuY2FudmFzV2hpdGVib2FyZDtcbiAgICAgICAgICBhdHRlbXB0cysrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjYW52YXNXaGl0ZWJvYXJkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW52YXMgd2hpdGVib2FyZCBub3QgYXZhaWxhYmxlLicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IGNhbnZhc1doaXRlYm9hcmQhLmNhcHR1cmVTdHJlYW0oMzApO1xuICAgICAgICBjYW52YXNTdHJlYW0gPSBzdHJlYW07XG4gICAgICAgIHVwZGF0ZUNhbnZhc1N0cmVhbShzdHJlYW0pO1xuXG4gICAgICAgIGlmICghdHJhbnNwb3J0Q3JlYXRlZCkge1xuICAgICAgICAgIGF3YWl0IGNyZWF0ZVNlbmRUcmFuc3BvcnQoeyBvcHRpb246ICdzY3JlZW4nLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzY3JlZW5Qcm9kdWNlciEuY2xvc2UoKTtcbiAgICAgICAgICAgIHVwZGF0ZVNjcmVlblByb2R1Y2VyKG51bGwpO1xuICAgICAgICAgICAgYXdhaXQgc2xlZXAoeyBtczogNTAwIH0pO1xuICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLyogaGFuZGxlIGVycm9yICovXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYXdhaXQgY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW4oeyBzdHJlYW0sIHBhcmFtZXRlcnMgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghc3RhcnQgJiYgY2FudmFzU3RyZWFtKSB7XG4gICAgICAgICAgY2FudmFzU3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2goKHRyYWNrOiBNZWRpYVN0cmVhbVRyYWNrKSA9PiB0cmFjay5zdG9wKCkpO1xuICAgICAgICAgIGNhbnZhc1N0cmVhbSA9IG51bGw7XG4gICAgICAgICAgdXBkYXRlQ2FudmFzU3RyZWFtKG51bGwpO1xuICAgICAgICAgIGRpc2Nvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuKHsgcGFyYW1ldGVycyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygnRXJyb3IgaW4gY2FwdHVyZUNhbnZhc1N0cmVhbTonLCBlcnJvcik7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
// whiteboard.service.ts
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Toggles the visibility of the configure whiteboard modal.
|
|
6
|
+
*
|
|
7
|
+
* @param {LaunchConfigureWhiteboardOptions} options - Options to control whiteboard configuration modal.
|
|
8
|
+
* @param {Function} options.updateIsConfigureWhiteboardModalVisible - Function to update the modal's visibility state.
|
|
9
|
+
* @param {boolean} options.isConfigureWhiteboardModalVisible - Current visibility state of the configure whiteboard modal.
|
|
10
|
+
*
|
|
11
|
+
* This function uses the current visibility state to toggle the whiteboard configuration modal on or off.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const launchService = new LaunchConfigureWhiteboard();
|
|
16
|
+
* launchService.launchConfigureWhiteboard({
|
|
17
|
+
* updateIsConfigureWhiteboardModalVisible: (visible) => console.log('Modal Visible:', visible),
|
|
18
|
+
* isConfigureWhiteboardModalVisible: false
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* In this example, the modal visibility state is toggled, and the updated visibility state is logged.
|
|
23
|
+
*/
|
|
4
24
|
export class LaunchConfigureWhiteboard {
|
|
5
25
|
/**
|
|
6
26
|
* Toggles the visibility of the configure whiteboard modal.
|
|
@@ -21,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
21
41
|
providedIn: 'root',
|
|
22
42
|
}]
|
|
23
43
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWNvbmZpZ3VyZS13aGl0ZWJvYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy93aGl0ZWJvYXJkLW1ldGhvZHMvbGF1bmNoLWNvbmZpZ3VyZS13aGl0ZWJvYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBTUgsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQzs7Ozs7T0FLRztJQUVILHlCQUF5QixDQUFDLEVBQ3hCLHVDQUF1QyxFQUN2QyxpQ0FBaUMsR0FDQTtRQUNqQywrQkFBK0I7UUFDL0IsdUNBQXVDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7dUdBZFUseUJBQXlCOzJHQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHdoaXRlYm9hcmQuc2VydmljZS50c1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hDb25maWd1cmVXaGl0ZWJvYXJkT3B0aW9ucyB7XG4gIHVwZGF0ZUlzQ29uZmlndXJlV2hpdGVib2FyZE1vZGFsVmlzaWJsZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlzQ29uZmlndXJlV2hpdGVib2FyZE1vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgTGF1bmNoQ29uZmlndXJlV2hpdGVib2FyZFR5cGUgPSAob3B0aW9uczogTGF1bmNoQ29uZmlndXJlV2hpdGVib2FyZE9wdGlvbnMpID0+IHZvaWQ7XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29uZmlndXJlIHdoaXRlYm9hcmQgbW9kYWwuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hDb25maWd1cmVXaGl0ZWJvYXJkT3B0aW9uc30gb3B0aW9ucyAtIE9wdGlvbnMgdG8gY29udHJvbCB3aGl0ZWJvYXJkIGNvbmZpZ3VyYXRpb24gbW9kYWwuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUlzQ29uZmlndXJlV2hpdGVib2FyZE1vZGFsVmlzaWJsZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbW9kYWwncyB2aXNpYmlsaXR5IHN0YXRlLlxuICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmlzQ29uZmlndXJlV2hpdGVib2FyZE1vZGFsVmlzaWJsZSAtIEN1cnJlbnQgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgY29uZmlndXJlIHdoaXRlYm9hcmQgbW9kYWwuXG4gKlxuICogVGhpcyBmdW5jdGlvbiB1c2VzIHRoZSBjdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgdG8gdG9nZ2xlIHRoZSB3aGl0ZWJvYXJkIGNvbmZpZ3VyYXRpb24gbW9kYWwgb24gb3Igb2ZmLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsYXVuY2hTZXJ2aWNlID0gbmV3IExhdW5jaENvbmZpZ3VyZVdoaXRlYm9hcmQoKTtcbiAqIGxhdW5jaFNlcnZpY2UubGF1bmNoQ29uZmlndXJlV2hpdGVib2FyZCh7XG4gKiAgIHVwZGF0ZUlzQ29uZmlndXJlV2hpdGVib2FyZE1vZGFsVmlzaWJsZTogKHZpc2libGUpID0+IGNvbnNvbGUubG9nKCdNb2RhbCBWaXNpYmxlOicsIHZpc2libGUpLFxuICogICBpc0NvbmZpZ3VyZVdoaXRlYm9hcmRNb2RhbFZpc2libGU6IGZhbHNlXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEluIHRoaXMgZXhhbXBsZSwgdGhlIG1vZGFsIHZpc2liaWxpdHkgc3RhdGUgaXMgdG9nZ2xlZCwgYW5kIHRoZSB1cGRhdGVkIHZpc2liaWxpdHkgc3RhdGUgaXMgbG9nZ2VkLlxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhdW5jaENvbmZpZ3VyZVdoaXRlYm9hcmQge1xuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29uZmlndXJlIHdoaXRlYm9hcmQgbW9kYWwuXG4gICAqXG4gICAqIEBwYXJhbSB1cGRhdGVJc0NvbmZpZ3VyZVdoaXRlYm9hcmRNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGNvbmZpZ3VyZSB3aGl0ZWJvYXJkIG1vZGFsLlxuICAgKiBAcGFyYW0gaXNDb25maWd1cmVXaGl0ZWJvYXJkTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBjb25maWd1cmUgd2hpdGVib2FyZCBtb2RhbC5cbiAgICovXG5cbiAgbGF1bmNoQ29uZmlndXJlV2hpdGVib2FyZCh7XG4gICAgdXBkYXRlSXNDb25maWd1cmVXaGl0ZWJvYXJkTW9kYWxWaXNpYmxlLFxuICAgIGlzQ29uZmlndXJlV2hpdGVib2FyZE1vZGFsVmlzaWJsZSxcbiAgfTogTGF1bmNoQ29uZmlndXJlV2hpdGVib2FyZE9wdGlvbnMpOiB2b2lkIHtcbiAgICAvLyBPcGVuIG9yIGNsb3NlIHRoZSBtZW51IG1vZGFsXG4gICAgdXBkYXRlSXNDb25maWd1cmVXaGl0ZWJvYXJkTW9kYWxWaXNpYmxlKCFpc0NvbmZpZ3VyZVdoaXRlYm9hcmRNb2RhbFZpc2libGUpO1xuICB9XG59XG4iXX0=
|
package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as mediasoupClient from 'mediasoup-client';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Creates a mediasoup client device using the provided RTP capabilities.
|
|
6
|
+
*
|
|
7
|
+
* @param {CreateDeviceClientOptions} options - Options containing the required RTP capabilities.
|
|
8
|
+
* @param {RtpCapabilities | null} options.rtpCapabilities - The RTP capabilities necessary for initializing the device.
|
|
9
|
+
* @returns {Promise<Device | null>} - A promise resolving to the created `Device` instance or `null` if creation fails.
|
|
10
|
+
* @throws {Error} - Throws an error if RTP capabilities or the mediasoup client library are not provided, or if the device is unsupported by the browser.
|
|
11
|
+
*
|
|
12
|
+
* This function initializes a mediasoup client `Device` using the specified RTP capabilities, enabling communication capabilities according to provided media configurations. It filters out unsupported video orientation extensions and loads router capabilities, ensuring compatibility with client configurations.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const client = new CreateDeviceClient();
|
|
17
|
+
* const device = await client.createDeviceClient({ rtpCapabilities });
|
|
18
|
+
* if (device) {
|
|
19
|
+
* console.log('Device created successfully:', device);
|
|
20
|
+
* } else {
|
|
21
|
+
* console.log('Failed to create device.');
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* In this example, the function creates a device based on RTP capabilities, handling errors and unsupported devices gracefully.
|
|
26
|
+
*/
|
|
4
27
|
export class CreateDeviceClient {
|
|
5
28
|
/**
|
|
6
29
|
* Creates a mediasoup client device with the provided RTP capabilities.
|
|
@@ -48,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
48
71
|
providedIn: 'root',
|
|
49
72
|
}]
|
|
50
73
|
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRldmljZS1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9wcm9kdWNlci1jbGllbnQvcHJvZHVjZXItY2xpZW50LWVtaXRzL2NyZWF0ZS1kZXZpY2UtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssZUFBZSxNQUFNLGtCQUFrQixDQUFDOztBQVFwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7Ozs7O09BUUc7SUFFSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxlQUFlLEVBQTZCO1FBQ3JFLElBQUksQ0FBQztZQUNILDRCQUE0QjtZQUM1QixJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELENBQUMsQ0FBQztZQUNoRixDQUFDO1lBRUQsbUNBQW1DO1lBQ25DLE1BQU0sTUFBTSxHQUFXLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRXBELGtDQUFrQztZQUNsQyxJQUFJLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQyxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FDeEUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssNEJBQTRCLENBQ2xELENBQUM7WUFDSixDQUFDO1lBRUQscURBQXFEO1lBQ3JELE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDaEIscUJBQXFCLEVBQUUsZUFBZTthQUN2QyxDQUFDLENBQUM7WUFFSCxtRkFBbUY7WUFFbkYsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsaURBQWlEO1lBQ2pELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRSxDQUFDO2dCQUN0QyxxQ0FBcUM7Z0JBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBRUQsTUFBTSxLQUFLLENBQUMsQ0FBQyx5QkFBeUI7UUFDeEMsQ0FBQztJQUNILENBQUM7dUdBN0NVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdHBDYXBhYmlsaXRpZXMsIERldmljZSB9IGZyb20gJ21lZGlhc291cC1jbGllbnQvbGliL3R5cGVzJztcbmltcG9ydCAqIGFzIG1lZGlhc291cENsaWVudCBmcm9tICdtZWRpYXNvdXAtY2xpZW50JztcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRGV2aWNlQ2xpZW50T3B0aW9ucyB7XG4gIHJ0cENhcGFiaWxpdGllczogUnRwQ2FwYWJpbGl0aWVzIHwgbnVsbDtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ3JlYXRlRGV2aWNlQ2xpZW50VHlwZSA9IChvcHRpb25zOiBDcmVhdGVEZXZpY2VDbGllbnRPcHRpb25zKSA9PiBQcm9taXNlPERldmljZSB8IG51bGw+O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBtZWRpYXNvdXAgY2xpZW50IGRldmljZSB1c2luZyB0aGUgcHJvdmlkZWQgUlRQIGNhcGFiaWxpdGllcy5cbiAqXG4gKiBAcGFyYW0ge0NyZWF0ZURldmljZUNsaWVudE9wdGlvbnN9IG9wdGlvbnMgLSBPcHRpb25zIGNvbnRhaW5pbmcgdGhlIHJlcXVpcmVkIFJUUCBjYXBhYmlsaXRpZXMuXG4gKiBAcGFyYW0ge1J0cENhcGFiaWxpdGllcyB8IG51bGx9IG9wdGlvbnMucnRwQ2FwYWJpbGl0aWVzIC0gVGhlIFJUUCBjYXBhYmlsaXRpZXMgbmVjZXNzYXJ5IGZvciBpbml0aWFsaXppbmcgdGhlIGRldmljZS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPERldmljZSB8IG51bGw+fSAtIEEgcHJvbWlzZSByZXNvbHZpbmcgdG8gdGhlIGNyZWF0ZWQgYERldmljZWAgaW5zdGFuY2Ugb3IgYG51bGxgIGlmIGNyZWF0aW9uIGZhaWxzLlxuICogQHRocm93cyB7RXJyb3J9IC0gVGhyb3dzIGFuIGVycm9yIGlmIFJUUCBjYXBhYmlsaXRpZXMgb3IgdGhlIG1lZGlhc291cCBjbGllbnQgbGlicmFyeSBhcmUgbm90IHByb3ZpZGVkLCBvciBpZiB0aGUgZGV2aWNlIGlzIHVuc3VwcG9ydGVkIGJ5IHRoZSBicm93c2VyLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgYSBtZWRpYXNvdXAgY2xpZW50IGBEZXZpY2VgIHVzaW5nIHRoZSBzcGVjaWZpZWQgUlRQIGNhcGFiaWxpdGllcywgZW5hYmxpbmcgY29tbXVuaWNhdGlvbiBjYXBhYmlsaXRpZXMgYWNjb3JkaW5nIHRvIHByb3ZpZGVkIG1lZGlhIGNvbmZpZ3VyYXRpb25zLiBJdCBmaWx0ZXJzIG91dCB1bnN1cHBvcnRlZCB2aWRlbyBvcmllbnRhdGlvbiBleHRlbnNpb25zIGFuZCBsb2FkcyByb3V0ZXIgY2FwYWJpbGl0aWVzLCBlbnN1cmluZyBjb21wYXRpYmlsaXR5IHdpdGggY2xpZW50IGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjbGllbnQgPSBuZXcgQ3JlYXRlRGV2aWNlQ2xpZW50KCk7XG4gKiBjb25zdCBkZXZpY2UgPSBhd2FpdCBjbGllbnQuY3JlYXRlRGV2aWNlQ2xpZW50KHsgcnRwQ2FwYWJpbGl0aWVzIH0pO1xuICogaWYgKGRldmljZSkge1xuICogICBjb25zb2xlLmxvZygnRGV2aWNlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5OicsIGRldmljZSk7XG4gKiB9IGVsc2Uge1xuICogICBjb25zb2xlLmxvZygnRmFpbGVkIHRvIGNyZWF0ZSBkZXZpY2UuJyk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBmdW5jdGlvbiBjcmVhdGVzIGEgZGV2aWNlIGJhc2VkIG9uIFJUUCBjYXBhYmlsaXRpZXMsIGhhbmRsaW5nIGVycm9ycyBhbmQgdW5zdXBwb3J0ZWQgZGV2aWNlcyBncmFjZWZ1bGx5LlxuICovXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVEZXZpY2VDbGllbnQge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG1lZGlhc291cCBjbGllbnQgZGV2aWNlIHdpdGggdGhlIHByb3ZpZGVkIFJUUCBjYXBhYmlsaXRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7Q3JlYXRlRGV2aWNlQ2xpZW50T3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGUgZGV2aWNlIGNsaWVudC5cbiAgICogQHBhcmFtIHtSVFBDYXBhYmlsaXRpZXN9IG9wdGlvbnMucnRwQ2FwYWJpbGl0aWVzIC0gVGhlIFJUUCBjYXBhYmlsaXRpZXMgcmVxdWlyZWQgZm9yIHRoZSBkZXZpY2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERldmljZSB8IG51bGw+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgY3JlYXRlZCBEZXZpY2Ugb3IgbnVsbCBpZiBjcmVhdGlvbiBmYWlscy5cbiAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbm90IHByb3ZpZGVkIG9yIGlmIGRldmljZSBjcmVhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLlxuICAgKlxuICAgKi9cblxuICBhc3luYyBjcmVhdGVEZXZpY2VDbGllbnQoeyBydHBDYXBhYmlsaXRpZXMgfTogQ3JlYXRlRGV2aWNlQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8RGV2aWNlIHwgbnVsbD4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBWYWxpZGF0ZSBpbnB1dCBwYXJhbWV0ZXJzXG4gICAgICBpZiAoIXJ0cENhcGFiaWxpdGllcyB8fCAhbWVkaWFzb3VwQ2xpZW50KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBydHBDYXBhYmlsaXRpZXMgYW5kIG1lZGlhc291cENsaWVudCBtdXN0IGJlIHByb3ZpZGVkLicpO1xuICAgICAgfVxuXG4gICAgICAvLyBDcmVhdGUgYSBtZWRpYXNvdXAgY2xpZW50IGRldmljZVxuICAgICAgY29uc3QgZGV2aWNlOiBEZXZpY2UgPSBuZXcgbWVkaWFzb3VwQ2xpZW50LkRldmljZSgpO1xuXG4gICAgICAvLyBSZW1vdmUgb3JpZW50YXRpb24gY2FwYWJpbGl0aWVzXG4gICAgICBpZiAocnRwQ2FwYWJpbGl0aWVzLmhlYWRlckV4dGVuc2lvbnMpIHtcbiAgICAgICAgcnRwQ2FwYWJpbGl0aWVzLmhlYWRlckV4dGVuc2lvbnMgPSBydHBDYXBhYmlsaXRpZXMuaGVhZGVyRXh0ZW5zaW9ucy5maWx0ZXIoXG4gICAgICAgICAgKGV4dCkgPT4gZXh0LnVyaSAhPT0gJ3VybjozZ3BwOnZpZGVvLW9yaWVudGF0aW9uJyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gTG9hZCB0aGUgcHJvdmlkZWQgUlRQIGNhcGFiaWxpdGllcyBpbnRvIHRoZSBkZXZpY2VcbiAgICAgIGF3YWl0IGRldmljZS5sb2FkKHtcbiAgICAgICAgcm91dGVyUnRwQ2FwYWJpbGl0aWVzOiBydHBDYXBhYmlsaXRpZXMsXG4gICAgICB9KTtcblxuICAgICAgLy8gUGVyZm9ybSBhZGRpdGlvbmFsIGluaXRpYWxpemF0aW9uLCBlLmcuLCBsb2FkaW5nIHNwaW5uZXIgYW5kIHJldHJpZXZpbmcgbWVzc2FnZXNcblxuICAgICAgcmV0dXJuIGRldmljZTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAvLyBIYW5kbGUgc3BlY2lmaWMgZXJyb3JzLCBlLmcuLCBVbnN1cHBvcnRlZEVycm9yXG4gICAgICBpZiAoZXJyb3IubmFtZSA9PT0gJ1Vuc3VwcG9ydGVkRXJyb3InKSB7XG4gICAgICAgIC8vIEhhbmRsZSB1bnN1cHBvcnRlZCBkZXZpY2UgY3JlYXRpb25cbiAgICAgICAgY29uc29sZS5lcnJvcignVW5zdXBwb3J0ZWRFcnJvcjogRGV2aWNlIGNyZWF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXIuJyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yOyAvLyBQcm9wYWdhdGUgb3RoZXIgZXJyb3JzXG4gICAgfVxuICB9XG59XG4iXX0=
|