update
This commit is contained in:
parent
d9becc67b6
commit
9308795b8b
964 changed files with 104265 additions and 16 deletions
46
node_modules/ramda/es/invert.js
generated
vendored
Normal file
46
node_modules/ramda/es/invert.js
generated
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
import _curry1 from "./internal/_curry1.js";
|
||||
import _has from "./internal/_has.js";
|
||||
import keys from "./keys.js";
|
||||
/**
|
||||
* Same as [`R.invertObj`](#invertObj), however this accounts for objects with
|
||||
* duplicate values by putting the values into an array.
|
||||
*
|
||||
* @func
|
||||
* @memberOf R
|
||||
* @since v0.9.0
|
||||
* @category Object
|
||||
* @sig {s: x} -> {x: [ s, ... ]}
|
||||
* @param {Object} obj The object or array to invert
|
||||
* @return {Object} out A new object with keys in an array.
|
||||
* @see R.invertObj
|
||||
* @example
|
||||
*
|
||||
* const raceResultsByFirstName = {
|
||||
* first: 'alice',
|
||||
* second: 'jake',
|
||||
* third: 'alice',
|
||||
* };
|
||||
* R.invert(raceResultsByFirstName);
|
||||
* //=> { 'alice': ['first', 'third'], 'jake':['second'] }
|
||||
*/
|
||||
|
||||
var invert =
|
||||
/*#__PURE__*/
|
||||
_curry1(function invert(obj) {
|
||||
var props = keys(obj);
|
||||
var len = props.length;
|
||||
var idx = 0;
|
||||
var out = {};
|
||||
|
||||
while (idx < len) {
|
||||
var key = props[idx];
|
||||
var val = obj[key];
|
||||
var list = _has(val, out) ? out[val] : out[val] = [];
|
||||
list[list.length] = key;
|
||||
idx += 1;
|
||||
}
|
||||
|
||||
return out;
|
||||
});
|
||||
|
||||
export default invert;
|
Loading…
Add table
Add a link
Reference in a new issue