diff options
Diffstat (limited to 'node_modules/lodash/toPlainObject.js')
-rw-r--r-- | node_modules/lodash/toPlainObject.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/lodash/toPlainObject.js b/node_modules/lodash/toPlainObject.js new file mode 100644 index 0000000..5de79b8 --- /dev/null +++ b/node_modules/lodash/toPlainObject.js @@ -0,0 +1,32 @@ +var copyObject = require('./_copyObject'), + keysIn = require('./keysIn'); + +/** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ +function toPlainObject(value) { + return copyObject(value, keysIn(value)); +} + +module.exports = toPlainObject; |