UNPKG

foop

Version:

interfaces that describe their intentions.

57 lines (53 loc) 4.33 kB
var preAllocated = require('../array/preAllocate') var size = require('../util/size') /** * Returns a list of all the properties, including prototype properties, of the * supplied object. * Note that the order of the output array is not guaranteed to be consistent * across different JS platforms. * @since 5.0.0-beta.1 * * @memberOf util * * @param {Object} obj The object to extract values from * @param {boolean} [guard=false] only include own properties @TODO * @return {Array} An array of the values of the object's own and prototype properties. * * @tests keys * * @func * @fork v0.2.0 * @category Object * @sig {k: v} -> [v] * * @TODO use loop/ * @TODO add `guard` * * {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L1010 underscore-values} * {@link https://github.com/ramda/ramda/blob/master/src/valuesIn.js ramda-vals-in} * {@link https://github.com/lodash/lodash/blob/master/values.js lodash-values} * @see {@link underscore-values} * @see {@link lodash-values} * @see {@link ramda-vals-in} * @see values, keysIn * * @example * * var F = function() { this.x = 'X'; }; * F.prototype.y = 'Y'; * var f = new F(); * valuesIn(f); //=> ['X', 'Y'] * */ module.exports = function valuesIn(obj, guard) { // @TODO requires an index... // const result = preAllocated(obj) var result = [] // eslint-disable-next-line for (var prop in obj) { // [result.length] result[result.length] = obj[prop] } return result } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVzSW4uanMiLCJzb3VyY2VzIjpbInZhbHVlc0luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHByZUFsbG9jYXRlZCA9IHJlcXVpcmUoJy4uL2FycmF5L3ByZUFsbG9jYXRlJylcbmNvbnN0IHNpemUgPSByZXF1aXJlKCcuLi91dGlsL3NpemUnKVxuXG4vKipcbiAqIFJldHVybnMgYSBsaXN0IG9mIGFsbCB0aGUgcHJvcGVydGllcywgaW5jbHVkaW5nIHByb3RvdHlwZSBwcm9wZXJ0aWVzLCBvZiB0aGVcbiAqIHN1cHBsaWVkIG9iamVjdC5cbiAqIE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgdGhlIG91dHB1dCBhcnJheSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBjb25zaXN0ZW50XG4gKiBhY3Jvc3MgZGlmZmVyZW50IEpTIHBsYXRmb3Jtcy5cbiAqIEBzaW5jZSA1LjAuMC1iZXRhLjFcbiAqXG4gKiBAbWVtYmVyT2YgdXRpbFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogVGhlIG9iamVjdCB0byBleHRyYWN0IHZhbHVlcyBmcm9tXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtndWFyZD1mYWxzZV0gb25seSBpbmNsdWRlIG93biBwcm9wZXJ0aWVzIEBUT0RPXG4gKiBAcmV0dXJuIHtBcnJheX0gQW4gYXJyYXkgb2YgdGhlIHZhbHVlcyBvZiB0aGUgb2JqZWN0J3Mgb3duIGFuZCBwcm90b3R5cGUgcHJvcGVydGllcy5cbiAqXG4gKiBAdGVzdHMga2V5c1xuICpcbiAqIEBmdW5jXG4gKiBAZm9yayB2MC4yLjBcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBzaWcge2s6IHZ9IC0+IFt2XVxuICpcbiAqIEBUT0RPIHVzZSBsb29wL1xuICogQFRPRE8gYWRkIGBndWFyZGBcbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2phc2hrZW5hcy91bmRlcnNjb3JlL2Jsb2IvbWFzdGVyL3VuZGVyc2NvcmUuanMjTDEwMTAgdW5kZXJzY29yZS12YWx1ZXN9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvbWFzdGVyL3NyYy92YWx1ZXNJbi5qcyByYW1kYS12YWxzLWlufVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvbWFzdGVyL3ZhbHVlcy5qcyBsb2Rhc2gtdmFsdWVzfVxuICogQHNlZSB7QGxpbmsgdW5kZXJzY29yZS12YWx1ZXN9XG4gKiBAc2VlIHtAbGluayBsb2Rhc2gtdmFsdWVzfVxuICogQHNlZSB7QGxpbmsgcmFtZGEtdmFscy1pbn1cbiAqIEBzZWUgdmFsdWVzLCBrZXlzSW5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgICAgdmFyIEYgPSBmdW5jdGlvbigpIHsgdGhpcy54ID0gJ1gnOyB9O1xuICogICAgICBGLnByb3RvdHlwZS55ID0gJ1knO1xuICogICAgICB2YXIgZiA9IG5ldyBGKCk7XG4gKiAgICAgIHZhbHVlc0luKGYpOyAvLz0+IFsnWCcsICdZJ11cbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdmFsdWVzSW4ob2JqLCBndWFyZCkge1xuICAvLyBAVE9ETyByZXF1aXJlcyBhbiBpbmRleC4uLlxuICAvLyBjb25zdCByZXN1bHQgPSBwcmVBbGxvY2F0ZWQob2JqKVxuICBjb25zdCByZXN1bHQgPSBbXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBmb3IgKGNvbnN0IHByb3AgaW4gb2JqKSB7XG4gICAgLy8gW3Jlc3VsdC5sZW5ndGhdXG4gICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGhdID0gb2JqW3Byb3BdXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztBQUNwREEsR0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlDcEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFOzs7RUFHN0NBLEdBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRTs7O0VBR2pCLEtBQUtBLEdBQUssQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFOztJQUV0QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7R0FDbEM7O0VBRUQsT0FBTyxNQUFNO0NBQ2Q7In0=