29 lines
922 B
JavaScript
29 lines
922 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; |