time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

toPlainObject.js (744B)


      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;