Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / toPlainObject.js
1 var copyObject = require('./_copyObject'),
2     keysIn = require('./keysIn');
3
4 /**
5  * Converts `value` to a plain object flattening inherited enumerable string
6  * keyed properties of `value` to own properties of the plain object.
7  *
8  * @static
9  * @memberOf _
10  * @since 3.0.0
11  * @category Lang
12  * @param {*} value The value to convert.
13  * @returns {Object} Returns the converted plain object.
14  * @example
15  *
16  * function Foo() {
17  *   this.b = 2;
18  * }
19  *
20  * Foo.prototype.c = 3;
21  *
22  * _.assign({ 'a': 1 }, new Foo);
23  * // => { 'a': 1, 'b': 2 }
24  *
25  * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
26  * // => { 'a': 1, 'b': 2, 'c': 3 }
27  */
28 function toPlainObject(value) {
29   return copyObject(value, keysIn(value));
30 }
31
32 module.exports = toPlainObject;