@spartacus/core
Version:
Spartacus - the core framework
57 lines • 7.68 kB
JavaScript
import { CartActions } from '../actions/index';
export const activeCartInitialState = null;
export const activeCartDefaultState = '';
export const wishListInitialState = '';
export function activeCartReducer(state = activeCartDefaultState, action) {
var _a, _b, _c;
switch (action.type) {
case CartActions.LOAD_CART_SUCCESS:
case CartActions.CREATE_CART_SUCCESS:
// point to `temp-${uuid}` cart when we are creating/merging cart
case CartActions.CREATE_CART:
if ((_b = (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.extraData) === null || _b === void 0 ? void 0 : _b.active) {
return action.meta.entityId;
}
else {
return state;
}
case CartActions.SET_ACTIVE_CART_ID:
return action.payload;
case CartActions.REMOVE_CART:
case CartActions.DELETE_CART_SUCCESS:
if (((_c = action.payload) === null || _c === void 0 ? void 0 : _c.cartId) === state) {
return activeCartDefaultState;
}
return state;
case CartActions.CLEAR_CART_STATE:
return state === activeCartInitialState
? activeCartInitialState
: activeCartDefaultState;
}
return state;
}
export const cartEntitiesInitialState = undefined;
export function cartEntitiesReducer(state = cartEntitiesInitialState, action) {
switch (action.type) {
case CartActions.LOAD_CARTS_SUCCESS:
return action.payload;
case CartActions.LOAD_CART_SUCCESS:
case CartActions.CREATE_CART_SUCCESS:
case CartActions.CREATE_WISH_LIST_SUCCESS:
case CartActions.LOAD_WISH_LIST_SUCCESS:
case CartActions.SET_TEMP_CART:
return action.payload.cart;
}
return state;
}
export function wishListReducer(state = wishListInitialState, action) {
switch (action.type) {
case CartActions.CREATE_WISH_LIST_SUCCESS:
case CartActions.LOAD_WISH_LIST_SUCCESS:
return action.meta.entityId;
case CartActions.CLEAR_CART_STATE:
return wishListInitialState;
}
return state;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktY2FydC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvY2FydC9zdG9yZS9yZWR1Y2Vycy9tdWx0aS1jYXJ0LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQUMzQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsS0FBSyxHQUFHLHNCQUFzQixFQUM5QixNQUE2RDs7SUFFN0QsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssV0FBVyxDQUFDLGlCQUFpQixDQUFDO1FBQ25DLEtBQUssV0FBVyxDQUFDLG1CQUFtQixDQUFDO1FBQ3JDLGlFQUFpRTtRQUNqRSxLQUFLLFdBQVcsQ0FBQyxXQUFXO1lBQzFCLElBQUksTUFBQSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLDBDQUFFLFNBQVMsMENBQUUsTUFBTSxFQUFFO2dCQUN0QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBa0IsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsS0FBSyxXQUFXLENBQUMsa0JBQWtCO1lBQ2pDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUN4QixLQUFLLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDN0IsS0FBSyxXQUFXLENBQUMsbUJBQW1CO1lBQ2xDLElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxPQUFPLDBDQUFFLE1BQU0sTUFBSyxLQUFLLEVBQUU7Z0JBQ3BDLE9BQU8sc0JBQXNCLENBQUM7YUFDL0I7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssV0FBVyxDQUFDLGdCQUFnQjtZQUMvQixPQUFPLEtBQUssS0FBSyxzQkFBc0I7Z0JBQ3JDLENBQUMsQ0FBQyxzQkFBc0I7Z0JBQ3hCLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztLQUM5QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztBQUVsRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEtBQUssR0FBRyx3QkFBd0IsRUFDaEMsTUFBb0I7SUFFcEIsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssV0FBVyxDQUFDLGtCQUFrQjtZQUNqQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFFeEIsS0FBSyxXQUFXLENBQUMsaUJBQWlCLENBQUM7UUFDbkMsS0FBSyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDckMsS0FBSyxXQUFXLENBQUMsd0JBQXdCLENBQUM7UUFDMUMsS0FBSyxXQUFXLENBQUMsc0JBQXNCLENBQUM7UUFDeEMsS0FBSyxXQUFXLENBQUMsYUFBYTtZQUM1QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQzlCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBSyxHQUFHLG9CQUFvQixFQUM1QixNQUFnRTtJQUVoRSxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDbkIsS0FBSyxXQUFXLENBQUMsd0JBQXdCLENBQUM7UUFDMUMsS0FBSyxXQUFXLENBQUMsc0JBQXNCO1lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFrQixDQUFDO1FBQ3hDLEtBQUssV0FBVyxDQUFDLGdCQUFnQjtZQUMvQixPQUFPLG9CQUFvQixDQUFDO0tBQy9CO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FydCB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2NhcnQubW9kZWwnO1xuaW1wb3J0IHsgTG9hZGVyQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc3RhdGUvdXRpbHMvbG9hZGVyL2xvYWRlci5hY3Rpb24nO1xuaW1wb3J0IHsgQ2FydEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zL2luZGV4JztcblxuZXhwb3J0IGNvbnN0IGFjdGl2ZUNhcnRJbml0aWFsU3RhdGUgPSBudWxsO1xuZXhwb3J0IGNvbnN0IGFjdGl2ZUNhcnREZWZhdWx0U3RhdGUgPSAnJztcbmV4cG9ydCBjb25zdCB3aXNoTGlzdEluaXRpYWxTdGF0ZSA9ICcnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWN0aXZlQ2FydFJlZHVjZXIoXG4gIHN0YXRlID0gYWN0aXZlQ2FydERlZmF1bHRTdGF0ZSxcbiAgYWN0aW9uOiBDYXJ0QWN0aW9ucy5DYXJ0QWN0aW9uIHwgQ2FydEFjdGlvbnMuTXVsdGlDYXJ0QWN0aW9uc1xuKTogc3RyaW5nIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgQ2FydEFjdGlvbnMuTE9BRF9DQVJUX1NVQ0NFU1M6XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5DUkVBVEVfQ0FSVF9TVUNDRVNTOlxuICAgIC8vIHBvaW50IHRvIGB0ZW1wLSR7dXVpZH1gIGNhcnQgd2hlbiB3ZSBhcmUgY3JlYXRpbmcvbWVyZ2luZyBjYXJ0XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5DUkVBVEVfQ0FSVDpcbiAgICAgIGlmIChhY3Rpb24/LnBheWxvYWQ/LmV4dHJhRGF0YT8uYWN0aXZlKSB7XG4gICAgICAgIHJldHVybiBhY3Rpb24ubWV0YS5lbnRpdHlJZCBhcyBzdHJpbmc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5TRVRfQUNUSVZFX0NBUlRfSUQ6XG4gICAgICByZXR1cm4gYWN0aW9uLnBheWxvYWQ7XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5SRU1PVkVfQ0FSVDpcbiAgICBjYXNlIENhcnRBY3Rpb25zLkRFTEVURV9DQVJUX1NVQ0NFU1M6XG4gICAgICBpZiAoYWN0aW9uLnBheWxvYWQ/LmNhcnRJZCA9PT0gc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIGFjdGl2ZUNhcnREZWZhdWx0U3RhdGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5DTEVBUl9DQVJUX1NUQVRFOlxuICAgICAgcmV0dXJuIHN0YXRlID09PSBhY3RpdmVDYXJ0SW5pdGlhbFN0YXRlXG4gICAgICAgID8gYWN0aXZlQ2FydEluaXRpYWxTdGF0ZVxuICAgICAgICA6IGFjdGl2ZUNhcnREZWZhdWx0U3RhdGU7XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5leHBvcnQgY29uc3QgY2FydEVudGl0aWVzSW5pdGlhbFN0YXRlID0gdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FydEVudGl0aWVzUmVkdWNlcihcbiAgc3RhdGUgPSBjYXJ0RW50aXRpZXNJbml0aWFsU3RhdGUsXG4gIGFjdGlvbjogTG9hZGVyQWN0aW9uXG4pOiBDYXJ0IHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgQ2FydEFjdGlvbnMuTE9BRF9DQVJUU19TVUNDRVNTOlxuICAgICAgcmV0dXJuIGFjdGlvbi5wYXlsb2FkO1xuXG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5MT0FEX0NBUlRfU1VDQ0VTUzpcbiAgICBjYXNlIENhcnRBY3Rpb25zLkNSRUFURV9DQVJUX1NVQ0NFU1M6XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5DUkVBVEVfV0lTSF9MSVNUX1NVQ0NFU1M6XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5MT0FEX1dJU0hfTElTVF9TVUNDRVNTOlxuICAgIGNhc2UgQ2FydEFjdGlvbnMuU0VUX1RFTVBfQ0FSVDpcbiAgICAgIHJldHVybiBhY3Rpb24ucGF5bG9hZC5jYXJ0O1xuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpc2hMaXN0UmVkdWNlcihcbiAgc3RhdGUgPSB3aXNoTGlzdEluaXRpYWxTdGF0ZSxcbiAgYWN0aW9uOiBDYXJ0QWN0aW9ucy5XaXNoTGlzdEFjdGlvbnMgfCBDYXJ0QWN0aW9ucy5DbGVhckNhcnRTdGF0ZVxuKTogc3RyaW5nIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgQ2FydEFjdGlvbnMuQ1JFQVRFX1dJU0hfTElTVF9TVUNDRVNTOlxuICAgIGNhc2UgQ2FydEFjdGlvbnMuTE9BRF9XSVNIX0xJU1RfU1VDQ0VTUzpcbiAgICAgIHJldHVybiBhY3Rpb24ubWV0YS5lbnRpdHlJZCBhcyBzdHJpbmc7XG4gICAgY2FzZSBDYXJ0QWN0aW9ucy5DTEVBUl9DQVJUX1NUQVRFOlxuICAgICAgcmV0dXJuIHdpc2hMaXN0SW5pdGlhbFN0YXRlO1xuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cbiJdfQ==