source: node_modules/ramda-adjunct/src/paths.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 833 bytes
Line 
1import { curry, ap, path, __ } from 'ramda';
2
3/**
4 * Acts as multiple path: arrays of paths in, array of values out. Preserves order.
5 *
6 * @func paths
7 * @memberOf RA
8 * @since {@link https://char0n.github.io/ramda-adjunct/1.2.0|v1.2.0}
9 * @category List
10 * @sig [[k]] -> {k: v} - [v]
11 * @param {Array} ps The property paths to fetch
12 * @param {Object} obj The object to query
13 * @return {Array} The corresponding values or partially applied function
14 * @see {@link https://github.com/ramda/ramda/wiki/Cookbook#derivative-of-rprops-for-deep-fields|Ramda Cookbook}, {@link http://ramdajs.com/docs/#props|R.props}
15 * @example
16 *
17 * const obj = {
18 * a: { b: { c: 1 } },
19 * x: 2,
20 * };
21 *
22 * RA.paths([['a', 'b', 'c'], ['x']], obj); //=> [1, 2]
23 */
24const paths = curry((ps, obj) => ap([path(__, obj)], ps));
25
26export default paths;
Note: See TracBrowser for help on using the repository browser.