@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
40 lines • 4.54 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import { TokenExtractor, } from '@terminus/ngx-tools/jwt';
import { tap } from 'rxjs/operators';
export const TOKEN_NOT_FOUND = new Error('Token Not found in response');
let TokenExtractorMock = class TokenExtractorMock extends TokenExtractor {
constructor() {
super(...arguments);
this.extractedTokens = [];
}
static forTestBed() {
return {
provide: TokenExtractor,
useFactory: tokenExtractorMockFactory,
};
}
extractJwtToken({ tokenName, isDefaultToken }) {
return (source) => source.pipe(tap(request => {
const token = this.extractTokenFromResponse(request);
if (token === '') {
throw TOKEN_NOT_FOUND;
}
else {
this.extractedTokens.push(token);
}
}));
}
};
TokenExtractorMock = __decorate([
Injectable()
], TokenExtractorMock);
export { TokenExtractorMock };
/**
* Return mock
*/
// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
export function tokenExtractorMockFactory() {
return new TokenExtractorMock(undefined);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tZXh0cmFjdG9yLm1vY2suanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGVybWludXMvbmd4LXRvb2xzL2p3dC90ZXN0aW5nLyIsInNvdXJjZXMiOlsidG9rZW4tZXh0cmFjdG9yLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUdMLGNBQWMsR0FDZixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1yQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUd4RSxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQyxTQUFRLGNBQWM7SUFBckU7O1FBQ1Msb0JBQWUsR0FBYSxFQUFFLENBQUM7SUFzQnhDLENBQUM7SUFwQlEsTUFBTSxDQUFDLFVBQVU7UUFDdEIsT0FBTztZQUNMLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFVBQVUsRUFBRSx5QkFBeUI7U0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQXVDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBMEI7UUFDaEgsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVyRCxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7Z0JBQ2hCLE1BQU0sZUFBZSxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBdkJZLGtCQUFrQjtJQUQ5QixVQUFVLEVBQUU7R0FDQSxrQkFBa0IsQ0F1QjlCO1NBdkJZLGtCQUFrQjtBQXlCL0I7O0dBRUc7QUFDSCwrREFBK0Q7QUFDL0QsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPLElBQUksa0JBQWtCLENBQUMsU0FBZ0IsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDbGFpbU1hcCxcbiAgU3RvcmVUb2tlbkNvbnN0cnVjdG9yLFxuICBUb2tlbkV4dHJhY3Rvcixcbn0gZnJvbSAnQHRlcm1pbnVzL25neC10b29scy9qd3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhY3RUb2tlblBhcmFtczxDID0gQ2xhaW1NYXA+IGV4dGVuZHMgUGFydGlhbDxTdG9yZVRva2VuQ29uc3RydWN0b3I8Qz4+IHtcbiAgdG9rZW5OYW1lOiBFeHRyYWN0PGtleW9mIEMsIHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9OT1RfRk9VTkQgPSBuZXcgRXJyb3IoJ1Rva2VuIE5vdCBmb3VuZCBpbiByZXNwb25zZScpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVG9rZW5FeHRyYWN0b3JNb2NrPENNID0gQ2xhaW1NYXA+IGV4dGVuZHMgVG9rZW5FeHRyYWN0b3Ige1xuICBwdWJsaWMgZXh0cmFjdGVkVG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBzdGF0aWMgZm9yVGVzdEJlZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvdmlkZTogVG9rZW5FeHRyYWN0b3IsXG4gICAgICB1c2VGYWN0b3J5OiB0b2tlbkV4dHJhY3Rvck1vY2tGYWN0b3J5LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZXh0cmFjdEp3dFRva2VuPFQgZXh0ZW5kcyBPYmplY3QgfCBIdHRwUmVzcG9uc2U8YW55Pj4oeyB0b2tlbk5hbWUsIGlzRGVmYXVsdFRva2VuIH06IEV4dHJhY3RUb2tlblBhcmFtczxDTT4pIHtcbiAgICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gc291cmNlLnBpcGUoXG4gICAgICB0YXAocmVxdWVzdCA9PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5leHRyYWN0VG9rZW5Gcm9tUmVzcG9uc2UocmVxdWVzdCk7XG5cbiAgICAgICAgaWYgKHRva2VuID09PSAnJykge1xuICAgICAgICAgIHRocm93IFRPS0VOX05PVF9GT1VORDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmV4dHJhY3RlZFRva2Vucy5wdXNoKHRva2VuKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybiBtb2NrXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItYXJyb3cvcHJlZmVyLWFycm93LWZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuRXh0cmFjdG9yTW9ja0ZhY3RvcnkoKSB7XG4gIHJldHVybiBuZXcgVG9rZW5FeHRyYWN0b3JNb2NrKHVuZGVmaW5lZCBhcyBhbnkpO1xufVxuIl19