Files
lodash/toPlainObject.js
2017-01-24 10:44:22 -08:00

33 lines
715 B
JavaScript

/**
* Converts `value` to a plain object flattening inherited enumerable string
* keyed properties of `value` to own properties of the plain object.
*
* @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) {
value = Object(value);
const result = {};
for (let key in value) {
result[key] = value[value];
}
return result;
}
export default toPlainObject;