123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import _curry1 from "./internal/_curry1.js";
- import keys from "./keys.js";
- /**
- * Returns a new object with the keys of the given object as values, and the
- * values of the given object, which are coerced to strings, as keys. Note
- * that the last key found is preferred when handling the same value.
- *
- * @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
- * @see R.invert
- * @example
- *
- * const raceResults = {
- * first: 'alice',
- * second: 'jake'
- * };
- * R.invertObj(raceResults);
- * //=> { 'alice': 'first', 'jake':'second' }
- *
- * // Alternatively:
- * const raceResults = ['alice', 'jake'];
- * R.invertObj(raceResults);
- * //=> { 'alice': '0', 'jake':'1' }
- */
- var invertObj =
- /*#__PURE__*/
- _curry1(function invertObj(obj) {
- var props = keys(obj);
- var len = props.length;
- var idx = 0;
- var out = {};
- while (idx < len) {
- var key = props[idx];
- out[obj[key]] = key;
- idx += 1;
- }
- return out;
- });
- export default invertObj;
|