Files
klz-cables.com/.pnpm-store/v10/files/0e/3687c712399569b199551569a9800525b9ac009013a089250e011bef5e99a2bace6d7d9e02ddcf6de396e88e560202e4e3d5f86a4103345d9cf7c2df5c8a9e
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

45 lines
1.1 KiB
Plaintext

export function reducer(state, action) {
switch (action.type) {
case 'ADD_LOADED':
{
const newState = {
...state
};
if (typeof newState[action.relationTo] !== 'object') {
newState[action.relationTo] = {};
}
const unreturnedIDs = [...action.idsToLoad];
if (Array.isArray(action.docs)) {
action.docs.forEach(doc => {
unreturnedIDs.splice(unreturnedIDs.indexOf(doc.id), 1);
newState[action.relationTo][doc.id] = doc;
});
}
unreturnedIDs.forEach(id => {
newState[action.relationTo][id] = false;
});
return newState;
}
case 'REQUEST':
{
const newState = {
...state
};
action.docs.forEach(({
relationTo,
value
}) => {
if (typeof newState[relationTo] !== 'object') {
newState[relationTo] = {};
}
newState[relationTo][value] = null;
});
return newState;
}
default:
{
return state;
}
}
}
//# sourceMappingURL=reducer.js.map