@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
56 lines • 6.81 kB
JavaScript
import { __assign } from "tslib";
import * as JwtTokenProviderActions from './actions';
export var initialState = {
initialTokenStatus: 'uninitialized',
tokens: {},
};
/**
* @param state
* @param action
*/
export function jwtTokenProviderReducer(state, action) {
if (state === void 0) { state = initialState; }
switch (action.type) {
case JwtTokenProviderActions.ActionTypes.InitialTokenExtracted: {
if (state.initialTokenStatus !== 'uninitialized') {
return state;
}
if (action.token.length === 0) {
return {
initialTokenStatus: 'empty',
tokens: {},
};
}
return {
initialTokenStatus: 'loaded',
defaultToken: action.token,
tokens: {},
};
}
case JwtTokenProviderActions.ActionTypes.StoreToken: {
var newState = __assign(__assign({}, state), { tokens: __assign({}, state.tokens) });
if (action.isDefaultToken) {
newState.defaultToken = action.token;
newState.tokens = {};
}
newState.tokens[action.tokenName] = action.token;
return newState;
}
case JwtTokenProviderActions.ActionTypes.TokenExpired: {
var newState = __assign(__assign({}, state), { tokens: __assign({}, state.tokens) });
if (state.defaultToken && state.defaultToken === action.token) {
delete newState.defaultToken;
}
for (var k in state.tokens) {
if (state.tokens[k] && state.tokens[k] === action.token) {
delete newState.tokens[k];
}
}
return newState;
}
default: {
return state;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0ZXJtaW51cy9uZ3gtdG9vbHMvand0LyIsInNvdXJjZXMiOlsiand0LXRva2VuLW1hbmFnbWVudC9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssdUJBQXVCLE1BQU0sV0FBVyxDQUFDO0FBY3JELE1BQU0sQ0FBQyxJQUFNLFlBQVksR0FBMEI7SUFDakQsa0JBQWtCLEVBQUUsZUFBZTtJQUNuQyxNQUFNLEVBQUUsRUFBRTtDQUNYLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQW9CLEVBQ3BCLE1BQTBDO0lBRDFDLHNCQUFBLEVBQUEsb0JBQW9CO0lBR3BCLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQixLQUFLLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzlELElBQUksS0FBSyxDQUFDLGtCQUFrQixLQUFLLGVBQWUsRUFBRTtnQkFDaEQsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUM3QixPQUFPO29CQUNMLGtCQUFrQixFQUFFLE9BQU87b0JBQzNCLE1BQU0sRUFBRSxFQUFFO2lCQUNYLENBQUM7YUFDSDtZQUNELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsUUFBUTtnQkFDNUIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUMxQixNQUFNLEVBQUUsRUFBRTthQUNYLENBQUM7U0FFSDtRQUNELEtBQUssdUJBQXVCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELElBQU0sUUFBUSx5QkFDVCxLQUFLLEtBQ1IsTUFBTSxlQUFPLEtBQUssQ0FBQyxNQUFNLElBQzFCLENBQUM7WUFHRixJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3pCLFFBQVEsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDckMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7YUFDdEI7WUFFRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBRWpELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsSUFBTSxRQUFRLHlCQUNULEtBQUssS0FDUixNQUFNLGVBQU8sS0FBSyxDQUFDLE1BQU0sSUFDMUIsQ0FBQztZQUVGLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQzdELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQzthQUM5QjtZQUVELEtBQUssSUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDNUIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDdkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzQjthQUNGO1lBRUQsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFDRCxPQUFPLENBQUMsQ0FBQztZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBKd3RUb2tlblByb3ZpZGVyQWN0aW9ucyBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgQ2xhaW1NYXAgfSBmcm9tICcuL2NsYWltLW1hcCc7XG5cblxuZXhwb3J0IHR5cGUgVG9rZW5zPEM+ID0geyBbUCBpbiBFeHRyYWN0PGtleW9mIEMsIHN0cmluZz5dPzogc3RyaW5nIH07XG5cblxuZXhwb3J0IGludGVyZmFjZSBKd3RUb2tlblByb3ZpZGVyU3RhdGU8QyA9IENsYWltTWFwPiAge1xuICBpbml0aWFsVG9rZW5TdGF0dXM6ICd1bmluaXRpYWxpemVkJyB8ICdsb2FkZWQnIHwgJ2VtcHR5JztcbiAgZGVmYXVsdFRva2VuPzogc3RyaW5nO1xuICB0b2tlbnM6IFRva2VuczxDPjtcbn1cblxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBKd3RUb2tlblByb3ZpZGVyU3RhdGUgPSB7XG4gIGluaXRpYWxUb2tlblN0YXR1czogJ3VuaW5pdGlhbGl6ZWQnLFxuICB0b2tlbnM6IHt9LFxufTtcblxuXG4vKipcbiAqIEBwYXJhbSBzdGF0ZVxuICogQHBhcmFtIGFjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gand0VG9rZW5Qcm92aWRlclJlZHVjZXI8QyA9IENsYWltTWFwPihcbiAgc3RhdGUgPSBpbml0aWFsU3RhdGUsXG4gIGFjdGlvbjogSnd0VG9rZW5Qcm92aWRlckFjdGlvbnMuQWN0aW9uczxDPixcbik6IEp3dFRva2VuUHJvdmlkZXJTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICBjYXNlIEp3dFRva2VuUHJvdmlkZXJBY3Rpb25zLkFjdGlvblR5cGVzLkluaXRpYWxUb2tlbkV4dHJhY3RlZDoge1xuICAgICAgaWYgKHN0YXRlLmluaXRpYWxUb2tlblN0YXR1cyAhPT0gJ3VuaW5pdGlhbGl6ZWQnKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFjdGlvbi50b2tlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbml0aWFsVG9rZW5TdGF0dXM6ICdlbXB0eScsXG4gICAgICAgICAgdG9rZW5zOiB7fSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGluaXRpYWxUb2tlblN0YXR1czogJ2xvYWRlZCcsXG4gICAgICAgIGRlZmF1bHRUb2tlbjogYWN0aW9uLnRva2VuLFxuICAgICAgICB0b2tlbnM6IHt9LFxuICAgICAgfTtcblxuICAgIH1cbiAgICBjYXNlIEp3dFRva2VuUHJvdmlkZXJBY3Rpb25zLkFjdGlvblR5cGVzLlN0b3JlVG9rZW46IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlOiBKd3RUb2tlblByb3ZpZGVyU3RhdGUgPSB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB0b2tlbnM6IHsgLi4uc3RhdGUudG9rZW5zIH0sXG4gICAgICB9O1xuXG5cbiAgICAgIGlmIChhY3Rpb24uaXNEZWZhdWx0VG9rZW4pIHtcbiAgICAgICAgbmV3U3RhdGUuZGVmYXVsdFRva2VuID0gYWN0aW9uLnRva2VuO1xuICAgICAgICBuZXdTdGF0ZS50b2tlbnMgPSB7fTtcbiAgICAgIH1cblxuICAgICAgbmV3U3RhdGUudG9rZW5zW2FjdGlvbi50b2tlbk5hbWVdID0gYWN0aW9uLnRva2VuO1xuXG4gICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgfVxuICAgIGNhc2UgSnd0VG9rZW5Qcm92aWRlckFjdGlvbnMuQWN0aW9uVHlwZXMuVG9rZW5FeHBpcmVkOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHRva2VuczogeyAuLi5zdGF0ZS50b2tlbnMgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChzdGF0ZS5kZWZhdWx0VG9rZW4gJiYgc3RhdGUuZGVmYXVsdFRva2VuID09PSBhY3Rpb24udG9rZW4pIHtcbiAgICAgICAgZGVsZXRlIG5ld1N0YXRlLmRlZmF1bHRUb2tlbjtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBrIGluIHN0YXRlLnRva2Vucykge1xuICAgICAgICBpZiAoc3RhdGUudG9rZW5zW2tdICYmIHN0YXRlLnRva2Vuc1trXSA9PT0gYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgZGVsZXRlIG5ld1N0YXRlLnRva2Vuc1trXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==