Return an object with prototype properties included as own properties (for serialization purposes)
MIT License
Return an object with prototype properties included as own properties (for serialization purposes)
import collapse from 'collapse-prototypes';
let parent = {
foo: 1
};
let child = Object.create(parent);
child.bar = 2;
let collapsed = collapse(child);
console.log(collapsed); // { foo: 1, bar: 2 }
yarn add collapse-prototypes
collapse(obj, {
// useful if you're going to serialize, because `toJSON` and getters
// may not like the new prototype-less object
// Default value (false)
stripFunctions: true,
// speeds up collapsing if you don't need them
// Default value (false)
excludeNonenumerable: true,
// useful if you're going to stringify (uses `json-stringify-safe`)
// Default value (false)
dropCycles: true,
// prepend the debug log to differentiate calls using the `debug` package
// (DEBUG=collapse-prototypes)
// Default value ('')
debugLabel: 'obj'
});