UNPKG

foop

Version:

interfaces that describe their intentions.

49 lines (43 loc) 908 B
const toObj = require('./toObj') /** * Converts `value` to a plain object flattening inherited enumerable string * keyed properties of `value` to own properties of the plain object. * @since 5.0.0-beta.5 * @memberOf cast * * @name toPlainObj * @alias toPlainObj * @alias castPlainObj * * * @param {*} value The value to convert. * @return {Object} Returns the converted plain object. * * @fork 3.0.0 * @category Lang * * @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 = toObj(value) const result = {} // eslint-disable-next-line for (const key in value) { result[key] = value[value] } return result } module.exports = toPlainObject