UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

53 lines (52 loc) 4.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { flattenRows: function() { return flattenRows; }, separateRows: function() { return separateRows; } }); const separateRows = (path, fields)=>{ const remainingFields = {}; const rows = Object.entries(fields).reduce((incomingRows, [fieldPath, field])=>{ const newRows = incomingRows; if (fieldPath.indexOf(`${path}.`) === 0) { const [rowIndex] = fieldPath.replace(`${path}.`, '').split('.'); if (!newRows[rowIndex]) newRows[rowIndex] = {}; newRows[rowIndex][fieldPath.replace(`${path}.${String(rowIndex)}.`, '')] = { ...field }; } else { remainingFields[fieldPath] = field; } return newRows; }, []); return { remainingFields, rows }; }; const flattenRows = (path, rows)=>{ return rows.reduce((fields, row, i)=>({ ...fields, ...Object.entries(row).reduce((subFields, [subPath, subField])=>{ return { ...subFields, [`${path}.${i}.${subPath}`]: { ...subField } }; }, {}) }), {}); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vcm93cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkcyB9IGZyb20gJy4vdHlwZXMnXG5cbnR5cGUgUmVzdWx0ID0ge1xuICByZW1haW5pbmdGaWVsZHM6IEZpZWxkc1xuICByb3dzOiBGaWVsZHNbXVxufVxuXG5leHBvcnQgY29uc3Qgc2VwYXJhdGVSb3dzID0gKHBhdGg6IHN0cmluZywgZmllbGRzOiBGaWVsZHMpOiBSZXN1bHQgPT4ge1xuICBjb25zdCByZW1haW5pbmdGaWVsZHM6IEZpZWxkcyA9IHt9XG5cbiAgY29uc3Qgcm93cyA9IE9iamVjdC5lbnRyaWVzKGZpZWxkcykucmVkdWNlKChpbmNvbWluZ1Jvd3MsIFtmaWVsZFBhdGgsIGZpZWxkXSkgPT4ge1xuICAgIGNvbnN0IG5ld1Jvd3MgPSBpbmNvbWluZ1Jvd3NcblxuICAgIGlmIChmaWVsZFBhdGguaW5kZXhPZihgJHtwYXRofS5gKSA9PT0gMCkge1xuICAgICAgY29uc3QgW3Jvd0luZGV4XSA9IGZpZWxkUGF0aC5yZXBsYWNlKGAke3BhdGh9LmAsICcnKS5zcGxpdCgnLicpXG4gICAgICBpZiAoIW5ld1Jvd3Nbcm93SW5kZXhdKSBuZXdSb3dzW3Jvd0luZGV4XSA9IHt9XG4gICAgICBuZXdSb3dzW3Jvd0luZGV4XVtmaWVsZFBhdGgucmVwbGFjZShgJHtwYXRofS4ke1N0cmluZyhyb3dJbmRleCl9LmAsICcnKV0gPSB7IC4uLmZpZWxkIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVtYWluaW5nRmllbGRzW2ZpZWxkUGF0aF0gPSBmaWVsZFxuICAgIH1cblxuICAgIHJldHVybiBuZXdSb3dzXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgcmVtYWluaW5nRmllbGRzLFxuICAgIHJvd3MsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGZsYXR0ZW5Sb3dzID0gKHBhdGg6IHN0cmluZywgcm93czogRmllbGRzW10pOiBGaWVsZHMgPT4ge1xuICByZXR1cm4gcm93cy5yZWR1Y2UoXG4gICAgKGZpZWxkcywgcm93LCBpKSA9PiAoe1xuICAgICAgLi4uZmllbGRzLFxuICAgICAgLi4uT2JqZWN0LmVudHJpZXMocm93KS5yZWR1Y2UoKHN1YkZpZWxkcywgW3N1YlBhdGgsIHN1YkZpZWxkXSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN1YkZpZWxkcyxcbiAgICAgICAgICBbYCR7cGF0aH0uJHtpfS4ke3N1YlBhdGh9YF06IHsgLi4uc3ViRmllbGQgfSxcbiAgICAgICAgfVxuICAgICAgfSwge30pLFxuICAgIH0pLFxuICAgIHt9LFxuICApXG59XG4iXSwibmFtZXMiOlsiZmxhdHRlblJvd3MiLCJzZXBhcmF0ZVJvd3MiLCJwYXRoIiwiZmllbGRzIiwicmVtYWluaW5nRmllbGRzIiwicm93cyIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJpbmNvbWluZ1Jvd3MiLCJmaWVsZFBhdGgiLCJmaWVsZCIsIm5ld1Jvd3MiLCJpbmRleE9mIiwicm93SW5kZXgiLCJyZXBsYWNlIiwic3BsaXQiLCJTdHJpbmciLCJyb3ciLCJpIiwic3ViRmllbGRzIiwic3ViUGF0aCIsInN1YkZpZWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQThCYUEsV0FBVztlQUFYQTs7SUF2QkFDLFlBQVk7ZUFBWkE7OztBQUFOLE1BQU1BLGVBQWUsQ0FBQ0MsTUFBY0M7SUFDekMsTUFBTUMsa0JBQTBCLENBQUM7SUFFakMsTUFBTUMsT0FBT0MsT0FBT0MsT0FBTyxDQUFDSixRQUFRSyxNQUFNLENBQUMsQ0FBQ0MsY0FBYyxDQUFDQyxXQUFXQyxNQUFNO1FBQzFFLE1BQU1DLFVBQVVIO1FBRWhCLElBQUlDLFVBQVVHLE9BQU8sQ0FBQyxDQUFDLEVBQUVYLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRztZQUN2QyxNQUFNLENBQUNZLFNBQVMsR0FBR0osVUFBVUssT0FBTyxDQUFDLENBQUMsRUFBRWIsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJYyxLQUFLLENBQUM7WUFDM0QsSUFBSSxDQUFDSixPQUFPLENBQUNFLFNBQVMsRUFBRUYsT0FBTyxDQUFDRSxTQUFTLEdBQUcsQ0FBQztZQUM3Q0YsT0FBTyxDQUFDRSxTQUFTLENBQUNKLFVBQVVLLE9BQU8sQ0FBQyxDQUFDLEVBQUViLEtBQUssQ0FBQyxFQUFFZSxPQUFPSCxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRztnQkFBRSxHQUFHSCxLQUFLO1lBQUM7UUFDeEYsT0FBTztZQUNMUCxlQUFlLENBQUNNLFVBQVUsR0FBR0M7UUFDL0I7UUFFQSxPQUFPQztJQUNULEdBQUcsRUFBRTtJQUVMLE9BQU87UUFDTFI7UUFDQUM7SUFDRjtBQUNGO0FBRU8sTUFBTUwsY0FBYyxDQUFDRSxNQUFjRztJQUN4QyxPQUFPQSxLQUFLRyxNQUFNLENBQ2hCLENBQUNMLFFBQVFlLEtBQUtDLElBQU8sQ0FBQTtZQUNuQixHQUFHaEIsTUFBTTtZQUNULEdBQUdHLE9BQU9DLE9BQU8sQ0FBQ1csS0FBS1YsTUFBTSxDQUFDLENBQUNZLFdBQVcsQ0FBQ0MsU0FBU0MsU0FBUztnQkFDM0QsT0FBTztvQkFDTCxHQUFHRixTQUFTO29CQUNaLENBQUMsQ0FBQyxFQUFFbEIsS0FBSyxDQUFDLEVBQUVpQixFQUFFLENBQUMsRUFBRUUsUUFBUSxDQUFDLENBQUMsRUFBRTt3QkFBRSxHQUFHQyxRQUFRO29CQUFDO2dCQUM3QztZQUNGLEdBQUcsQ0FBQyxFQUFFO1FBQ1IsQ0FBQSxHQUNBLENBQUM7QUFFTCJ9