Files
klz-cables.com/.pnpm-store/v10/files/9b/9cdad9b66bba87dcad0d8c9b7214269fb779d9dbf592ee1731bb5bcc7cafb3bb84440dd10f38e5ace062c6a144f4ca217ea68da37f45da07b330d60c564677
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

42 lines
1.4 KiB
Plaintext

/**
* This is used for the Select API to determine the select level of a block.
* It will ensure that `id` and `blockType` are always included in the select object.
* @returns { blockSelect: boolean | SelectType, blockSelectMode: SelectMode }
*/ export const getBlockSelect = ({ block, select, selectMode })=>{
if (typeof select === 'object') {
let blockSelectMode = selectMode;
const blocksSelect = {
...select
};
let blockSelect = blocksSelect[block.slug];
// sanitize `{ blocks: { cta: false }}` to `{ blocks: { cta: { id: true, blockType: true }}}`
if (selectMode === 'exclude' && blockSelect === false) {
blockSelectMode = 'include';
blockSelect = {
id: true,
blockType: true
};
} else if (selectMode === 'include') {
if (!blockSelect) {
blockSelect = {};
}
if (typeof blockSelect === 'object') {
blockSelect = {
...blockSelect
};
blockSelect['id'] = true;
blockSelect['blockType'] = true;
}
}
return {
blockSelect: blockSelect,
blockSelectMode
};
}
return {
blockSelect: select,
blockSelectMode: selectMode
};
};
//# sourceMappingURL=getBlockSelect.js.map