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

54 lines 6.76 kB
import * as JwtTokenProviderActions from './actions'; export const initialState = { initialTokenStatus: 'uninitialized', tokens: {}, }; /** * @param state * @param action */ export function jwtTokenProviderReducer(state = initialState, action) { 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: { const newState = Object.assign(Object.assign({}, state), { tokens: Object.assign({}, state.tokens) }); if (action.isDefaultToken) { newState.defaultToken = action.token; newState.tokens = {}; } newState.tokens[action.tokenName] = action.token; return newState; } case JwtTokenProviderActions.ActionTypes.TokenExpired: { const newState = Object.assign(Object.assign({}, state), { tokens: Object.assign({}, state.tokens) }); if (state.defaultToken && state.defaultToken === action.token) { delete newState.defaultToken; } for (const 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0ZXJtaW51cy9uZ3gtdG9vbHMvand0LyIsInNvdXJjZXMiOlsiand0LXRva2VuLW1hbmFnbWVudC9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyx1QkFBdUIsTUFBTSxXQUFXLENBQUM7QUFjckQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUEwQjtJQUNqRCxrQkFBa0IsRUFBRSxlQUFlO0lBQ25DLE1BQU0sRUFBRSxFQUFFO0NBQ1gsQ0FBQztBQUdGOzs7R0FHRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsS0FBSyxHQUFHLFlBQVksRUFDcEIsTUFBMEM7SUFFMUMsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssdUJBQXVCLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDOUQsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssZUFBZSxFQUFFO2dCQUNoRCxPQUFPLEtBQUssQ0FBQzthQUNkO1lBRUQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzdCLE9BQU87b0JBQ0wsa0JBQWtCLEVBQUUsT0FBTztvQkFDM0IsTUFBTSxFQUFFLEVBQUU7aUJBQ1gsQ0FBQzthQUNIO1lBQ0QsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxRQUFRO2dCQUM1QixZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sRUFBRSxFQUFFO2FBQ1gsQ0FBQztTQUVIO1FBQ0QsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsTUFBTSxRQUFRLG1DQUNULEtBQUssS0FDUixNQUFNLG9CQUFPLEtBQUssQ0FBQyxNQUFNLElBQzFCLENBQUM7WUFHRixJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3pCLFFBQVEsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDckMsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7YUFDdEI7WUFFRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBRWpELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsTUFBTSxRQUFRLG1DQUNULEtBQUssS0FDUixNQUFNLG9CQUFPLEtBQUssQ0FBQyxNQUFNLElBQzFCLENBQUM7WUFFRixJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUM3RCxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUM7YUFDOUI7WUFFRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQzVCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDM0I7YUFDRjtZQUVELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxDQUFDLENBQUM7WUFDUCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgSnd0VG9rZW5Qcm92aWRlckFjdGlvbnMgZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IENsYWltTWFwIH0gZnJvbSAnLi9jbGFpbS1tYXAnO1xuXG5cbmV4cG9ydCB0eXBlIFRva2VuczxDPiA9IHsgW1AgaW4gRXh0cmFjdDxrZXlvZiBDLCBzdHJpbmc+XT86IHN0cmluZyB9O1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSnd0VG9rZW5Qcm92aWRlclN0YXRlPEMgPSBDbGFpbU1hcD4gIHtcbiAgaW5pdGlhbFRva2VuU3RhdHVzOiAndW5pbml0aWFsaXplZCcgfCAnbG9hZGVkJyB8ICdlbXB0eSc7XG4gIGRlZmF1bHRUb2tlbj86IHN0cmluZztcbiAgdG9rZW5zOiBUb2tlbnM8Qz47XG59XG5cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogSnd0VG9rZW5Qcm92aWRlclN0YXRlID0ge1xuICBpbml0aWFsVG9rZW5TdGF0dXM6ICd1bmluaXRpYWxpemVkJyxcbiAgdG9rZW5zOiB7fSxcbn07XG5cblxuLyoqXG4gKiBAcGFyYW0gc3RhdGVcbiAqIEBwYXJhbSBhY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGp3dFRva2VuUHJvdmlkZXJSZWR1Y2VyPEMgPSBDbGFpbU1hcD4oXG4gIHN0YXRlID0gaW5pdGlhbFN0YXRlLFxuICBhY3Rpb246IEp3dFRva2VuUHJvdmlkZXJBY3Rpb25zLkFjdGlvbnM8Qz4sXG4pOiBKd3RUb2tlblByb3ZpZGVyU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBKd3RUb2tlblByb3ZpZGVyQWN0aW9ucy5BY3Rpb25UeXBlcy5Jbml0aWFsVG9rZW5FeHRyYWN0ZWQ6IHtcbiAgICAgIGlmIChzdGF0ZS5pbml0aWFsVG9rZW5TdGF0dXMgIT09ICd1bmluaXRpYWxpemVkJykge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3Rpb24udG9rZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW5pdGlhbFRva2VuU3RhdHVzOiAnZW1wdHknLFxuICAgICAgICAgIHRva2Vuczoge30sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbml0aWFsVG9rZW5TdGF0dXM6ICdsb2FkZWQnLFxuICAgICAgICBkZWZhdWx0VG9rZW46IGFjdGlvbi50b2tlbixcbiAgICAgICAgdG9rZW5zOiB7fSxcbiAgICAgIH07XG5cbiAgICB9XG4gICAgY2FzZSBKd3RUb2tlblByb3ZpZGVyQWN0aW9ucy5BY3Rpb25UeXBlcy5TdG9yZVRva2VuOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZTogSnd0VG9rZW5Qcm92aWRlclN0YXRlID0ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgdG9rZW5zOiB7IC4uLnN0YXRlLnRva2VucyB9LFxuICAgICAgfTtcblxuXG4gICAgICBpZiAoYWN0aW9uLmlzRGVmYXVsdFRva2VuKSB7XG4gICAgICAgIG5ld1N0YXRlLmRlZmF1bHRUb2tlbiA9IGFjdGlvbi50b2tlbjtcbiAgICAgICAgbmV3U3RhdGUudG9rZW5zID0ge307XG4gICAgICB9XG5cbiAgICAgIG5ld1N0YXRlLnRva2Vuc1thY3Rpb24udG9rZW5OYW1lXSA9IGFjdGlvbi50b2tlbjtcblxuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICAgIH1cbiAgICBjYXNlIEp3dFRva2VuUHJvdmlkZXJBY3Rpb25zLkFjdGlvblR5cGVzLlRva2VuRXhwaXJlZDoge1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB0b2tlbnM6IHsgLi4uc3RhdGUudG9rZW5zIH0sXG4gICAgICB9O1xuXG4gICAgICBpZiAoc3RhdGUuZGVmYXVsdFRva2VuICYmIHN0YXRlLmRlZmF1bHRUb2tlbiA9PT0gYWN0aW9uLnRva2VuKSB7XG4gICAgICAgIGRlbGV0ZSBuZXdTdGF0ZS5kZWZhdWx0VG9rZW47XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgayBpbiBzdGF0ZS50b2tlbnMpIHtcbiAgICAgICAgaWYgKHN0YXRlLnRva2Vuc1trXSAmJiBzdGF0ZS50b2tlbnNba10gPT09IGFjdGlvbi50b2tlbikge1xuICAgICAgICAgIGRlbGV0ZSBuZXdTdGF0ZS50b2tlbnNba107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59XG4iXX0=