pnpm
Version:
Fast, disk space efficient package manager
26 lines (25 loc) • 920 B
JavaScript
import _map from './internal/_map.js';
import identity from './identity.js';
import pickAll from './pickAll.js';
import useWith from './useWith.js';
/**
* Reasonable analog to SQL `select` statement.
*
* @func
* @memberOf R
* @since v0.1.0
* @category Object
* @category Relation
* @sig [k] -> [{k: v}] -> [{k: v}]
* @param {Array} props The property names to project
* @param {Array} objs The objects to query
* @return {Array} An array of objects with just the `props` properties.
* @example
*
* const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};
* const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};
* const kids = [abby, fred];
* R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]
*/
var project = /*#__PURE__*/useWith(_map, [pickAll, identity]); // passing `identity` gives correct arity
export default project;