laconic-console/packages/console-app/src/util/omit.js
2020-06-23 09:19:01 -05:00

23 lines
478 B
JavaScript

//
// Copyright 2020 DXOS.org
//
// TODO(burdon): Factor out.
export const omitDeep = (value, key) => {
if (Array.isArray(value)) {
return value.map(i => omitDeep(i, key));
} else if (typeof value === 'object' && value !== null) {
return Object.keys(value).reduce((newObject, k) => {
if (k === key) {
return newObject;
}
return Object.assign({
[k]: omitDeep(value[k], key)
}, newObject);
}, {});
}
return value;
};