UNPKG

@terminus/ngx-tools

Version:

[![CircleCI][circle-badge]][circle-link] [![codecov][codecov-badge]][codecov-project] [![semantic-release][semantic-release-badge]][semantic-release] [![MIT License][license-image]][license-url] <br> [![NPM version][npm-version-image]][npm-url] [![Github

30 lines 4.76 kB
import { __decorate } from "tslib"; import { Injectable } from '@angular/core'; import { select, Store, } from '@ngrx/store'; import { filter, map, tap, withLatestFrom, } from 'rxjs/operators'; import { FailedToActivateRoute } from '../actions'; import { getDefaultToken, getJwtTokenRoot, } from '../selectors'; let DefaultTokenRequired = class DefaultTokenRequired { constructor( // eslint-disable-next-line @typescript-eslint/no-explicit-any store) { this.store = store; this.currentLoadState = this.store.pipe(select(getJwtTokenRoot()), map(s => (s && s.jwtTokens.initialTokenStatus) || 'uninitialized')); this.currentToken = this.store.pipe(select(getDefaultToken()), map(s => s || '')); } canActivate() { return this.currentLoadState.pipe(filter(s => s !== 'uninitialized'), withLatestFrom(this.currentToken), map(([_, token]) => token.length > 0), tap(result => { if (!result) { this.store.dispatch(new FailedToActivateRoute()); } })); } }; DefaultTokenRequired.ctorParameters = () => [ { type: Store } ]; DefaultTokenRequired = __decorate([ Injectable() ], DefaultTokenRequired); export { DefaultTokenRequired }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFRva2VuUmVxdWlyZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGVybWludXMvbmd4LXRvb2xzL2p3dC8iLCJzb3VyY2VzIjpbImp3dC10b2tlbi1tYW5hZ21lbnQvZ3VhcmRzL2RlZmF1bHRUb2tlblJlcXVpcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBSXRCLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBVy9CO0lBQ0UsOERBQThEO0lBQ3ZELEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFabkIscUJBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3ZDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksZUFBZSxDQUFDLENBQ25FLENBQUM7UUFFSyxpQkFBWSxHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDdkQsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQ3pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDbEIsQ0FBQztJQUtDLENBQUM7SUFFRyxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDL0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxFQUNsQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUNqQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDckMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHFCQUFxQixFQUFFLENBQUMsQ0FBQzthQUNsRDtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTs7WUFmaUIsS0FBSzs7QUFiVixvQkFBb0I7SUFEaEMsVUFBVSxFQUFFO0dBQ0Esb0JBQW9CLENBNEJoQztTQTVCWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBzZWxlY3QsXG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBmaWx0ZXIsXG4gIG1hcCxcbiAgdGFwLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGYWlsZWRUb0FjdGl2YXRlUm91dGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7XG4gIGdldERlZmF1bHRUb2tlbixcbiAgZ2V0Snd0VG9rZW5Sb290LFxufSBmcm9tICcuLi9zZWxlY3RvcnMnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VG9rZW5SZXF1aXJlZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgcHVibGljIGN1cnJlbnRMb2FkU3RhdGUgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KGdldEp3dFRva2VuUm9vdCgpKSxcbiAgICBtYXAocyA9PiAocyAmJiBzLmp3dFRva2Vucy5pbml0aWFsVG9rZW5TdGF0dXMpIHx8ICd1bmluaXRpYWxpemVkJyksXG4gICk7XG5cbiAgcHVibGljIGN1cnJlbnRUb2tlbjogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChnZXREZWZhdWx0VG9rZW4oKSksXG4gICAgbWFwKHMgPT4gcyB8fCAnJyksXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgc3RvcmU6IFN0b3JlPGFueT4sXG4gICkge31cblxuICBwdWJsaWMgY2FuQWN0aXZhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExvYWRTdGF0ZS5waXBlKFxuICAgICAgZmlsdGVyKHMgPT4gcyAhPT0gJ3VuaW5pdGlhbGl6ZWQnKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuY3VycmVudFRva2VuKSxcbiAgICAgIG1hcCgoW18sIHRva2VuXSkgPT4gdG9rZW4ubGVuZ3RoID4gMCksXG4gICAgICB0YXAocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBGYWlsZWRUb0FjdGl2YXRlUm91dGUoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==