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

80 lines 9.64 kB
import { __decorate, __read } from "tslib"; import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Actions } from '@ngrx/effects'; import { Store } from '@ngrx/store'; import { ClaimMap, StoreTokenConstructor, TokenEscalator, TokenExtractor, } from '@terminus/ngx-tools/jwt'; import { Observable, of, timer, } from 'rxjs'; import { switchMap, takeUntil, withLatestFrom, } from 'rxjs/operators'; var TokenEscalatorMock = /** @class */ (function () { function TokenEscalatorMock(actions$, store, http, tokenExtractor) { this.actions$ = actions$; this.store = store; this.http = http; this.tokenExtractor = tokenExtractor; this.escalators = {}; this.requestsForToken = {}; } TokenEscalatorMock.forTestBed = function () { return { provide: TokenEscalator, useFactory: tokenEscalatorFactory, }; }; /** * deprecated Please use the correctly spelled function `simulateEscalationRequest` * * @param tokenName */ TokenEscalatorMock.prototype.simulateEsclationRequest = function (tokenName) { if (this.escalators[tokenName]) { this.escalators[tokenName].next({}); } else { throw new Error("No escalator for " + tokenName + " setup"); } }; TokenEscalatorMock.prototype.simulateEscalationRequest = function (tokenName) { if (this.escalators[tokenName]) { this.escalators[tokenName].next({}); } else { throw new Error("No escalator for " + tokenName + " setup"); } }; TokenEscalatorMock.prototype.escalateToken = function (_a) { var _this = this; var tokenName = _a.tokenName, authorizeUrl = _a.authorizeUrl, isDefaultToken = _a.isDefaultToken; var observ = new Observable(function (observer) { _this.escalators[tokenName] = observer; }).pipe(takeUntil(timer(10000)), withLatestFrom(authorizeUrl), switchMap(function (_a) { var _b = __read(_a, 2), action = _b[0], url = _b[1]; if (!_this.requestsForToken[tokenName]) { _this.requestsForToken[tokenName] = []; } _this.requestsForToken[tokenName].push(url); return of({ type: 'null op' }); })); observ.subscribe(function () { }); return observ; }; TokenEscalatorMock.ctorParameters = function () { return [ { type: Actions }, { type: Store }, { type: HttpClient }, { type: TokenExtractor } ]; }; TokenEscalatorMock = __decorate([ Injectable() ], TokenEscalatorMock); return TokenEscalatorMock; }()); export { TokenEscalatorMock }; /** * Return mock */ // eslint-disable-next-line prefer-arrow/prefer-arrow-functions export function tokenEscalatorFactory() { return new TokenEscalatorMock(undefined, undefined, undefined, undefined); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tZXNjYWxhdG9yLm1vY2suanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGVybWludXMvbmd4LXRvb2xzL2p3dC90ZXN0aW5nLyIsInNvdXJjZXMiOlsidG9rZW4tZXNjYWxhdG9yLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsUUFBUSxFQUNSLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLFVBQVUsRUFFVixFQUFFLEVBQ0YsS0FBSyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sZ0JBQWdCLENBQUM7QUFReEI7SUF1REUsNEJBQ1MsUUFBaUIsRUFDakIsS0FBaUIsRUFDakIsSUFBZ0IsRUFDaEIsY0FBa0M7UUFIbEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBMURwQyxlQUFVLEdBQXFDLEVBQUUsQ0FBQztRQUVsRCxxQkFBZ0IsR0FBZ0MsRUFBRSxDQUFDO0lBeUR2RCxDQUFDO0lBdkRVLDZCQUFVLEdBQXhCO1FBQ0UsT0FBTztZQUNMLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFVBQVUsRUFBRSxxQkFBcUI7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscURBQXdCLEdBQS9CLFVBQWdDLFNBQW9DO1FBQ2xFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyQzthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBb0IsU0FBUyxXQUFRLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFTSxzREFBeUIsR0FBaEMsVUFBaUMsU0FBb0M7UUFDbkUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFvQixTQUFTLFdBQVEsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUVNLDBDQUFhLEdBQXBCLFVBQXFCLEVBQThEO1FBQW5GLGlCQW9CQztZQXBCc0Isd0JBQVMsRUFBRSw4QkFBWSxFQUFFLGtDQUFjO1FBQzVELElBQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLFVBQUMsUUFBdUI7WUFDcEQsS0FBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNMLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDdkIsY0FBYyxDQUNaLFlBQVksQ0FDYixFQUNELFNBQVMsQ0FBQyxVQUFDLEVBQWE7Z0JBQWIsa0JBQWEsRUFBWixjQUFNLEVBQUUsV0FBRztZQUNyQixJQUFJLENBQUMsS0FBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNyQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3ZDO1lBRUQsS0FBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUzQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLENBQUMsU0FBUyxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z0JBR2tCLE9BQU87Z0JBQ1YsS0FBSztnQkFDTixVQUFVO2dCQUNBLGNBQWM7O0lBM0Q1QixrQkFBa0I7UUFEOUIsVUFBVSxFQUFFO09BQ0Esa0JBQWtCLENBNkQ5QjtJQUFELHlCQUFDO0NBQUEsQUE3REQsSUE2REM7U0E3RFksa0JBQWtCO0FBK0QvQjs7R0FFRztBQUNILCtEQUErRDtBQUMvRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxTQUFnQixFQUFFLFNBQWdCLEVBQUUsU0FBZ0IsRUFBRSxTQUFnQixDQUFDLENBQUM7QUFDeEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENsYWltTWFwLFxuICBTdG9yZVRva2VuQ29uc3RydWN0b3IsXG4gIFRva2VuRXNjYWxhdG9yLFxuICBUb2tlbkV4dHJhY3Rvcixcbn0gZnJvbSAnQHRlcm1pbnVzL25neC10b29scy9qd3QnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgT2JzZXJ2ZXIsXG4gIG9mLFxuICB0aW1lcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBFc2NhbGF0ZVRva2VuPENNID0gQ2xhaW1NYXA+IGV4dGVuZHMgUGFydGlhbDxTdG9yZVRva2VuQ29uc3RydWN0b3I8Q00+PiB7XG4gIGF1dGhvcml6ZVVybDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB0b2tlbk5hbWU6IEV4dHJhY3Q8a2V5b2YgQ00sIHN0cmluZz47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2tlbkVzY2FsYXRvck1vY2s8Q00gPSBDbGFpbU1hcD4gaW1wbGVtZW50cyBUb2tlbkVzY2FsYXRvcjxDTT4ge1xuICBwdWJsaWMgZXNjYWxhdG9yczogeyBbaWR4OiBzdHJpbmddOiBPYnNlcnZlcjxhbnk+IH0gPSB7fTtcblxuICBwdWJsaWMgcmVxdWVzdHNGb3JUb2tlbjogeyBbaWR4OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG5cbiAgcHVibGljIHN0YXRpYyBmb3JUZXN0QmVkKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlOiBUb2tlbkVzY2FsYXRvcixcbiAgICAgIHVzZUZhY3Rvcnk6IHRva2VuRXNjYWxhdG9yRmFjdG9yeSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSB0aGUgY29ycmVjdGx5IHNwZWxsZWQgZnVuY3Rpb24gYHNpbXVsYXRlRXNjYWxhdGlvblJlcXVlc3RgXG4gICAqXG4gICAqIEBwYXJhbSB0b2tlbk5hbWVcbiAgICovXG4gIHB1YmxpYyBzaW11bGF0ZUVzY2xhdGlvblJlcXVlc3QodG9rZW5OYW1lOiBFeHRyYWN0PGtleW9mIENNLCBzdHJpbmc+KSB7XG4gICAgaWYgKHRoaXMuZXNjYWxhdG9yc1t0b2tlbk5hbWVdKSB7XG4gICAgICB0aGlzLmVzY2FsYXRvcnNbdG9rZW5OYW1lXS5uZXh0KHt9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBlc2NhbGF0b3IgZm9yICR7dG9rZW5OYW1lfSBzZXR1cGApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaW11bGF0ZUVzY2FsYXRpb25SZXF1ZXN0KHRva2VuTmFtZTogRXh0cmFjdDxrZXlvZiBDTSwgc3RyaW5nPikge1xuICAgIGlmICh0aGlzLmVzY2FsYXRvcnNbdG9rZW5OYW1lXSkge1xuICAgICAgdGhpcy5lc2NhbGF0b3JzW3Rva2VuTmFtZV0ubmV4dCh7fSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gZXNjYWxhdG9yIGZvciAke3Rva2VuTmFtZX0gc2V0dXBgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZXNjYWxhdGVUb2tlbih7IHRva2VuTmFtZSwgYXV0aG9yaXplVXJsLCBpc0RlZmF1bHRUb2tlbiB9OiBFc2NhbGF0ZVRva2VuPENNPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb2JzZXJ2ID0gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxhbnk+KSA9PiB7XG4gICAgICB0aGlzLmVzY2FsYXRvcnNbdG9rZW5OYW1lXSA9IG9ic2VydmVyO1xuICAgIH0pLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGltZXIoMTAwMDApKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICBhdXRob3JpemVVcmwsXG4gICAgICApLFxuICAgICAgc3dpdGNoTWFwKChbYWN0aW9uLCB1cmxdKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0c0ZvclRva2VuW3Rva2VuTmFtZV0pIHtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RzRm9yVG9rZW5bdG9rZW5OYW1lXSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXF1ZXN0c0ZvclRva2VuW3Rva2VuTmFtZV0ucHVzaCh1cmwpO1xuXG4gICAgICAgIHJldHVybiBvZih7IHR5cGU6ICdudWxsIG9wJyB9KTtcbiAgICAgIH0pLFxuICAgICk7XG4gICAgb2JzZXJ2LnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgcmV0dXJuIG9ic2VydjtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHVibGljIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHB1YmxpYyB0b2tlbkV4dHJhY3RvcjogVG9rZW5FeHRyYWN0b3I8Q00+LFxuICApIHt9XG59XG5cbi8qKlxuICogUmV0dXJuIG1vY2tcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1hcnJvdy9wcmVmZXItYXJyb3ctZnVuY3Rpb25zXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Fc2NhbGF0b3JGYWN0b3J5KCkge1xuICByZXR1cm4gbmV3IFRva2VuRXNjYWxhdG9yTW9jayh1bmRlZmluZWQgYXMgYW55LCB1bmRlZmluZWQgYXMgYW55LCB1bmRlZmluZWQgYXMgYW55LCB1bmRlZmluZWQgYXMgYW55KTtcbn1cbiJdfQ==