UNPKG

@forter/form-section

Version:
1 lines 4.49 kB
{"version":3,"file":"fc-form-section-helper.js","sources":["src/fc-form-section-helper.js"],"sourcesContent":["export const set = (obj, path = '', value) => {\n let schema = obj;\n const pList = path.split('.');\n const len = pList.length;\n for (let i = 0; i < len - 1; i++) {\n const elem = pList[i];\n if ( !schema[elem] ) schema[elem] = {};\n schema = schema[elem];\n }\n schema[pList[len - 1]] = value;\n};\n\nexport const get = ( obj, keys = '', defaultVal ) => {\n keys = Array.isArray( keys ) ? keys : keys.split('.');\n obj = obj[keys[0]];\n if ( obj && keys.length > 1 ) {\n return get( obj, keys.slice(1) );\n }\n return obj === undefined ? defaultVal : obj;\n};\n\nexport const unset = (obj = {}, path = '') => {\n let currentObject = obj;\n const parts = path.split('.');\n const last = parts.pop();\n for (const part of parts) {\n currentObject = currentObject[part];\n if (!currentObject) {\n return;\n }\n }\n delete currentObject[last];\n};\n\nexport const isEmpty = value => {\n const type = typeof value;\n if ((value !== null && type === 'object') || type === 'function') {\n const properties = Object.keys(value);\n if (properties.length === 0 || properties.size === 0) {\n return true;\n }\n }\n if (value === 0) {\n return false;\n }\n return !value;\n};\n\nexport const clear = (obj, path = '') =>{\n // Clear\n unset(obj, path);\n // Remove empty objects along the path\n const parts = path.split('.');\n for (let idx = parts.length; idx !== 0; idx--) {\n const curPath = parts.slice(0, idx).join('.');\n const currVal = get(obj, curPath);\n if (currVal && isEmpty(currVal)) {\n unset(obj, curPath);\n }\n }\n};\n\nexport const removeItemFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index > -1) {\n array.splice(index, 1);\n }\n return array;\n};\n"],"names":["set","obj","path","value","schema","pList","split","len","length","i","elem","get","keys","defaultVal","Array","isArray","slice","undefined","unset","currentObject","parts","last","pop","part","isEmpty","type","properties","Object","size","clear","idx","curPath","join","currVal","removeItemFromArray","array","item","index","indexOf","splice"],"mappings":"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"}