@hmcts/media-viewer
Version:
26 lines • 6.41 kB
JavaScript
import { Injectable } from '@angular/core';
import { createEffect, ofType } from '@ngrx/effects';
import { catchError, exhaustMap, map, switchMap } from 'rxjs/operators';
import { of } from 'rxjs';
import * as icpActions from '../actions/icp.actions';
import * as i0 from "@angular/core";
import * as i1 from "@ngrx/effects";
import * as i2 from "../../icp/icp-session-api.service";
import * as i3 from "../../icp/icp-update.service";
export class IcpEffects {
constructor(actions$, icpApiService, icpUpdateService) {
this.actions$ = actions$;
this.icpApiService = icpApiService;
this.icpUpdateService = icpUpdateService;
this.loadIcpSession$ = createEffect(() => this.actions$.pipe(ofType(icpActions.LOAD_ICP_SESSION), map((action) => action.payload), exhaustMap((payload) => this.icpApiService.loadSession(payload)
.pipe(map(res => new icpActions.JoinIcpSocketSession(res)), catchError(error => of(new icpActions.LoadIcpSessionFailure(error)))))));
this.joinIcpSocketSession$ = createEffect(() => this.actions$.pipe(ofType(icpActions.JOIN_ICP_SOCKET_SESSION), map((action) => action.payload), switchMap((res) => this.icpUpdateService.joinSession(res.username, res.session)
.pipe(map(participants => new icpActions.IcpSocketSessionJoined({ session: res.session, participantInfo: participants }))))));
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IcpEffects, deps: [{ token: i1.Actions }, { token: i2.IcpSessionApiService }, { token: i3.IcpUpdateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IcpEffects }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IcpEffects, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.IcpSessionApiService }, { type: i3.IcpUpdateService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2ljcC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUIsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFJckQsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFBb0IsUUFBaUIsRUFDM0IsYUFBbUMsRUFDbkMsZ0JBQWtDO1FBRnhCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFNUMsb0JBQWUsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQ25DLEdBQUcsQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDMUQsVUFBVSxDQUFDLENBQUMsT0FBK0MsRUFBRSxFQUFFLENBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQzthQUNwQyxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDcEQsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDckUsQ0FDSixDQUFDLENBQ0wsQ0FBQztRQUdGLDBCQUFxQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsRUFDMUMsR0FBRyxDQUFDLENBQUMsTUFBdUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNoRSxTQUFTLENBQUMsQ0FBQyxHQUE4QyxFQUFFLEVBQUUsQ0FDM0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUM3SCxDQUFDLENBQ0wsQ0FBQztJQXhCOEMsQ0FBQztrSUFKdEMsVUFBVTtzSUFBVixVQUFVOzs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljcFNlc3Npb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaWNwL2ljcC1zZXNzaW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY3AvaWNwLXVwZGF0ZS5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGljcEFjdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9pY3AuYWN0aW9ucyc7XG5pbXBvcnQgeyBJY3BTZXNzaW9uIH0gZnJvbSAnLi4vLi4vaWNwL2ljcC5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEljcEVmZmVjdHMge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBpY3BBcGlTZXJ2aWNlOiBJY3BTZXNzaW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGljcFVwZGF0ZVNlcnZpY2U6IEljcFVwZGF0ZVNlcnZpY2UpIHsgfVxuXG4gIGxvYWRJY3BTZXNzaW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShpY3BBY3Rpb25zLkxPQURfSUNQX1NFU1NJT04pLFxuICAgICAgbWFwKChhY3Rpb246IGljcEFjdGlvbnMuTG9hZEljcFNlc3Npb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICAgIGV4aGF1c3RNYXAoKHBheWxvYWQ6IHsgY2FzZUlkOiBzdHJpbmcsIGRvY3VtZW50SWQ6IHN0cmluZyB9KSA9PlxuICAgICAgICB0aGlzLmljcEFwaVNlcnZpY2UubG9hZFNlc3Npb24ocGF5bG9hZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gbmV3IGljcEFjdGlvbnMuSm9pbkljcFNvY2tldFNlc3Npb24ocmVzKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKG5ldyBpY3BBY3Rpb25zLkxvYWRJY3BTZXNzaW9uRmFpbHVyZShlcnJvcikpKVxuICAgICAgICAgIClcbiAgICAgICkpXG4gICk7XG5cblxuICBqb2luSWNwU29ja2V0U2Vzc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoaWNwQWN0aW9ucy5KT0lOX0lDUF9TT0NLRVRfU0VTU0lPTiksXG4gICAgICBtYXAoKGFjdGlvbjogaWNwQWN0aW9ucy5Kb2luSWNwU29ja2V0U2Vzc2lvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgICAgc3dpdGNoTWFwKChyZXM6IHsgdXNlcm5hbWU6IHN0cmluZywgc2Vzc2lvbjogSWNwU2Vzc2lvbiB9KSA9PlxuICAgICAgICB0aGlzLmljcFVwZGF0ZVNlcnZpY2Uuam9pblNlc3Npb24ocmVzLnVzZXJuYW1lLCByZXMuc2Vzc2lvbilcbiAgICAgICAgICAucGlwZShtYXAocGFydGljaXBhbnRzID0+IG5ldyBpY3BBY3Rpb25zLkljcFNvY2tldFNlc3Npb25Kb2luZWQoeyBzZXNzaW9uOiByZXMuc2Vzc2lvbiwgcGFydGljaXBhbnRJbmZvOiBwYXJ0aWNpcGFudHMgfSkpKVxuICAgICAgKSlcbiAgKTtcbn1cbiJdfQ==