source: node_modules/ramda-adjunct/src/mergePaths.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: 862 bytes
Line 
1import { curryN, pipe, mergeAll } from 'ramda';
2
3import paths from './paths';
4
5/**
6 * Merge objects under corresponding paths.
7 *
8 * @func mergePaths
9 * @memberOf RA
10 * @since {@link https://char0n.github.io/ramda-adjunct/1.17.0|v1.17.0}
11 * @category Object
12 * @sig [[k]] -> {k: {a}} -> {a}
13 * @see {@link RA.mergeProps|mergeProps}
14 * @param {!Array} paths The property paths to merge
15 * @param {!Object} obj The object to query
16 * @return {!Object} The object composed of merged property paths of obj
17 * @example
18 *
19 * const obj = {
20 * foo: { fooInner: { fooInner2: 1 } },
21 * bar: { barInner: 2 }
22 * };
23 *
24 * { ...obj.foo.fooInner, ...obj.bar }; //=> { fooInner2: 1, barInner: 2 }
25 * RA.mergePaths([['foo', 'fooInner'], ['bar']], obj); //=> { fooInner2: 1, barInner: 2 }
26 */
27const mergePaths = curryN(2, pipe(paths, mergeAll));
28
29export default mergePaths;
Note: See TracBrowser for help on using the repository browser.