Files
klz-cables.com/.pnpm-store/v10/files/1a/dbe63b7aa28180eb6a100be8b407b70cf33bf7ae23b405a4b90d88c0aadf288f8ce372ba89e8d111720a09b1564384a61b809f972d9d75d73e8a75fca4d34b
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

68 lines
2.5 KiB
Plaintext

import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared';
import { fieldToSchemaMap } from './fieldToWhereInputSchemaMap.js';
export const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
const fieldName = fieldAffectsData(field) ? field.name : undefined;
const nestedFieldName = fieldName || nestedFieldName2;
if (field.type === 'tabs') {
// if the tab has a name, treat it as a group
// otherwise, treat it as a row
return field.tabs.reduce((tabSchema, tab)=>{
tabSchema.push(...recursivelyBuildNestedPaths({
field: {
...tab,
...'name' in tab ? {
name: `${nestedFieldName ? `${nestedFieldName}__` : ''}${tab.name}`,
type: 'group'
} : {
type: 'row'
}
},
nestedFieldName2: nestedFieldName,
parentName
}));
return tabSchema;
}, []);
}
const nestedPaths = field.fields.reduce((nestedFields, nestedField)=>{
if (!fieldIsPresentationalOnly(nestedField)) {
if (!fieldAffectsData(nestedField)) {
return [
...nestedFields,
...recursivelyBuildNestedPaths({
field: nestedField,
nestedFieldName2: nestedFieldName,
parentName
})
];
}
const nestedPathName = fieldAffectsData(nestedField) ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}` : undefined;
const getFieldSchema = fieldToSchemaMap({
nestedFieldName,
parentName
})[nestedField.type];
if (getFieldSchema) {
const fieldSchema = getFieldSchema({
...nestedField,
name: nestedPathName
});
if (Array.isArray(fieldSchema)) {
return [
...nestedFields,
...fieldSchema
];
}
return [
...nestedFields,
{
type: fieldSchema,
key: nestedPathName
}
];
}
}
return nestedFields;
}, []);
return nestedPaths;
};
//# sourceMappingURL=recursivelyBuildNestedPaths.js.map