UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

82 lines (81 loc) 8.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _types = require("../../fields/config/types"); const _fieldToWhereInputSchemaMap = /*#__PURE__*/ _interop_require_default(require("./fieldToWhereInputSchemaMap")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName, payload })=>{ const fieldName = (0, _types.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, type: 'name' in tab ? 'group' : 'row' }, nestedFieldName2: nestedFieldName, parentName, payload })); return tabSchema; }, []); } const nestedPaths = field.fields.reduce((nestedFields, nestedField)=>{ if (!(0, _types.fieldIsPresentationalOnly)(nestedField)) { if (!(0, _types.fieldAffectsData)(nestedField)) { return [ ...nestedFields, ...recursivelyBuildNestedPaths({ field: nestedField, nestedFieldName2: nestedFieldName, parentName, payload }) ]; } const nestedPathName = (0, _types.fieldAffectsData)(nestedField) ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}` : undefined; const getFieldSchema = (0, _fieldToWhereInputSchemaMap.default)({ nestedFieldName, parentName, payload })[nestedField.type]; if (getFieldSchema) { const fieldSchema = getFieldSchema({ ...nestedField, name: nestedPathName }); if (Array.isArray(fieldSchema)) { return [ ...nestedFields, ...fieldSchema ]; } return [ ...nestedFields, { key: nestedPathName, type: fieldSchema } ]; } } return nestedFields; }, []); return nestedPaths; }; const _default = recursivelyBuildNestedPaths; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9yZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4nXG5pbXBvcnQgdHlwZSB7IEZpZWxkV2l0aFN1YkZpZWxkcywgVGFic0ZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgZmllbGRUb1NjaGVtYU1hcCBmcm9tICcuL2ZpZWxkVG9XaGVyZUlucHV0U2NoZW1hTWFwJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGZpZWxkOiBGaWVsZFdpdGhTdWJGaWVsZHMgfCBUYWJzRmllbGRcbiAgbmVzdGVkRmllbGROYW1lMjogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xuICBwYXlsb2FkOiBQYXlsb2FkXG59XG5cbmNvbnN0IHJlY3Vyc2l2ZWx5QnVpbGROZXN0ZWRQYXRocyA9ICh7IGZpZWxkLCBuZXN0ZWRGaWVsZE5hbWUyLCBwYXJlbnROYW1lLCBwYXlsb2FkIH06IEFyZ3MpID0+IHtcbiAgY29uc3QgZmllbGROYW1lID0gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgPyBmaWVsZC5uYW1lIDogdW5kZWZpbmVkXG4gIGNvbnN0IG5lc3RlZEZpZWxkTmFtZSA9IGZpZWxkTmFtZSB8fCBuZXN0ZWRGaWVsZE5hbWUyXG5cbiAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgIC8vIGlmIHRoZSB0YWIgaGFzIGEgbmFtZSwgdHJlYXQgaXQgYXMgYSBncm91cFxuICAgIC8vIG90aGVyd2lzZSwgdHJlYXQgaXQgYXMgYSByb3dcbiAgICByZXR1cm4gZmllbGQudGFicy5yZWR1Y2UoKHRhYlNjaGVtYSwgdGFiOiBhbnkpID0+IHtcbiAgICAgIHRhYlNjaGVtYS5wdXNoKFxuICAgICAgICAuLi5yZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgICAgIGZpZWxkOiB7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAnbmFtZScgaW4gdGFiID8gJ2dyb3VwJyA6ICdyb3cnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbmVzdGVkRmllbGROYW1lMjogbmVzdGVkRmllbGROYW1lLFxuICAgICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICByZXR1cm4gdGFiU2NoZW1hXG4gICAgfSwgW10pXG4gIH1cblxuICBjb25zdCBuZXN0ZWRQYXRocyA9IGZpZWxkLmZpZWxkcy5yZWR1Y2UoKG5lc3RlZEZpZWxkcywgbmVzdGVkRmllbGQpID0+IHtcbiAgICBpZiAoIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkobmVzdGVkRmllbGQpKSB7XG4gICAgICBpZiAoIWZpZWxkQWZmZWN0c0RhdGEobmVzdGVkRmllbGQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgLi4ubmVzdGVkRmllbGRzLFxuICAgICAgICAgIC4uLnJlY3Vyc2l2ZWx5QnVpbGROZXN0ZWRQYXRocyh7XG4gICAgICAgICAgICBmaWVsZDogbmVzdGVkRmllbGQsXG4gICAgICAgICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXVxuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXN0ZWRQYXRoTmFtZSA9IGZpZWxkQWZmZWN0c0RhdGEobmVzdGVkRmllbGQpXG4gICAgICAgID8gYCR7bmVzdGVkRmllbGROYW1lID8gYCR7bmVzdGVkRmllbGROYW1lfV9fYCA6ICcnfSR7bmVzdGVkRmllbGQubmFtZX1gXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICBjb25zdCBnZXRGaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXAoe1xuICAgICAgICBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KVtuZXN0ZWRGaWVsZC50eXBlXVxuXG4gICAgICBpZiAoZ2V0RmllbGRTY2hlbWEpIHtcbiAgICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSBnZXRGaWVsZFNjaGVtYSh7XG4gICAgICAgICAgLi4ubmVzdGVkRmllbGQsXG4gICAgICAgICAgbmFtZTogbmVzdGVkUGF0aE5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRTY2hlbWEpKSB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5uZXN0ZWRGaWVsZHMsIC4uLmZpZWxkU2NoZW1hXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5uZXN0ZWRGaWVsZHMsXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBuZXN0ZWRQYXRoTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGZpZWxkU2NoZW1hLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmVzdGVkRmllbGRzXG4gIH0sIFtdKVxuXG4gIHJldHVybiBuZXN0ZWRQYXRoc1xufVxuXG5leHBvcnQgZGVmYXVsdCByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHNcbiJdLCJuYW1lcyI6WyJyZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMiLCJmaWVsZCIsIm5lc3RlZEZpZWxkTmFtZTIiLCJwYXJlbnROYW1lIiwicGF5bG9hZCIsImZpZWxkTmFtZSIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwidW5kZWZpbmVkIiwibmVzdGVkRmllbGROYW1lIiwidHlwZSIsInRhYnMiLCJyZWR1Y2UiLCJ0YWJTY2hlbWEiLCJ0YWIiLCJwdXNoIiwibmVzdGVkUGF0aHMiLCJmaWVsZHMiLCJuZXN0ZWRGaWVsZHMiLCJuZXN0ZWRGaWVsZCIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJuZXN0ZWRQYXRoTmFtZSIsImdldEZpZWxkU2NoZW1hIiwiZmllbGRUb1NjaGVtYU1hcCIsImZpZWxkU2NoZW1hIiwiQXJyYXkiLCJpc0FycmF5Iiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7OytCQXFGQTs7O2VBQUE7Ozt1QkFsRjREO21GQUMvQjs7Ozs7O0FBUzdCLE1BQU1BLDhCQUE4QixDQUFDLEVBQUVDLEtBQUssRUFBRUMsZ0JBQWdCLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxFQUFRO0lBQ3pGLE1BQU1DLFlBQVlDLElBQUFBLHVCQUFnQixFQUFDTCxTQUFTQSxNQUFNTSxJQUFJLEdBQUdDO0lBQ3pELE1BQU1DLGtCQUFrQkosYUFBYUg7SUFFckMsSUFBSUQsTUFBTVMsSUFBSSxLQUFLLFFBQVE7UUFDekIsNkNBQTZDO1FBQzdDLCtCQUErQjtRQUMvQixPQUFPVCxNQUFNVSxJQUFJLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxXQUFXQztZQUNuQ0QsVUFBVUUsSUFBSSxJQUNUZiw0QkFBNEI7Z0JBQzdCQyxPQUFPO29CQUNMLEdBQUdhLEdBQUc7b0JBQ05KLE1BQU0sVUFBVUksTUFBTSxVQUFVO2dCQUNsQztnQkFDQVosa0JBQWtCTztnQkFDbEJOO2dCQUNBQztZQUNGO1lBRUYsT0FBT1M7UUFDVCxHQUFHLEVBQUU7SUFDUDtJQUVBLE1BQU1HLGNBQWNmLE1BQU1nQixNQUFNLENBQUNMLE1BQU0sQ0FBQyxDQUFDTSxjQUFjQztRQUNyRCxJQUFJLENBQUNDLElBQUFBLGdDQUF5QixFQUFDRCxjQUFjO1lBQzNDLElBQUksQ0FBQ2IsSUFBQUEsdUJBQWdCLEVBQUNhLGNBQWM7Z0JBQ2xDLE9BQU87dUJBQ0ZEO3VCQUNBbEIsNEJBQTRCO3dCQUM3QkMsT0FBT2tCO3dCQUNQakIsa0JBQWtCTzt3QkFDbEJOO3dCQUNBQztvQkFDRjtpQkFDRDtZQUNIO1lBRUEsTUFBTWlCLGlCQUFpQmYsSUFBQUEsdUJBQWdCLEVBQUNhLGVBQ3BDLENBQUMsRUFBRVYsa0JBQWtCLENBQUMsRUFBRUEsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRVUsWUFBWVosSUFBSSxDQUFDLENBQUMsR0FDckVDO1lBQ0osTUFBTWMsaUJBQWlCQyxJQUFBQSxtQ0FBZ0IsRUFBQztnQkFDdENkO2dCQUNBTjtnQkFDQUM7WUFDRixFQUFFLENBQUNlLFlBQVlULElBQUksQ0FBQztZQUVwQixJQUFJWSxnQkFBZ0I7Z0JBQ2xCLE1BQU1FLGNBQWNGLGVBQWU7b0JBQ2pDLEdBQUdILFdBQVc7b0JBQ2RaLE1BQU1jO2dCQUNSO2dCQUVBLElBQUlJLE1BQU1DLE9BQU8sQ0FBQ0YsY0FBYztvQkFDOUIsT0FBTzsyQkFBSU47MkJBQWlCTTtxQkFBWTtnQkFDMUM7Z0JBRUEsT0FBTzt1QkFDRk47b0JBQ0g7d0JBQ0VTLEtBQUtOO3dCQUNMWCxNQUFNYztvQkFDUjtpQkFDRDtZQUNIO1FBQ0Y7UUFFQSxPQUFPTjtJQUNULEdBQUcsRUFBRTtJQUVMLE9BQU9GO0FBQ1Q7TUFFQSxXQUFlaEIifQ==