UNPKG

web-ui-pack

Version:
29 lines (28 loc) 762 B
const nestedProperty = { set(obj, path, value) { const propKeys = path.split("."); let key = propKeys[0]; for (let i = 0; i < propKeys.length - 1; key = propKeys[++i]) { if (!obj[key]) { obj[key] = {}; } obj = obj[key]; } obj[key] = value; }, get(obj, path, out) { const deepKeys = path.split("."); let next = obj; for (let i = 0; i < deepKeys.length; ++i) { if (next == null) { break; } if (out != null) { out.hasProp = deepKeys[i] in next; } next = next[deepKeys[i]]; } return next; }, }; export default nestedProperty;