pickAll.js 944 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import _curry2 from "./internal/_curry2.js";
  2. /**
  3. * Similar to `pick` except that this one includes a `key: undefined` pair for
  4. * properties that don't exist.
  5. *
  6. * @func
  7. * @memberOf R
  8. * @since v0.1.0
  9. * @category Object
  10. * @sig [k] -> {k: v} -> {k: v}
  11. * @param {Array} names an array of String property names to copy onto a new object
  12. * @param {Object} obj The object to copy from
  13. * @return {Object} A new object with only properties from `names` on it.
  14. * @see R.pick
  15. * @example
  16. *
  17. * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}
  18. * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}
  19. */
  20. var pickAll =
  21. /*#__PURE__*/
  22. _curry2(function pickAll(names, obj) {
  23. var result = {};
  24. var idx = 0;
  25. var len = names.length;
  26. while (idx < len) {
  27. var name = names[idx];
  28. result[name] = obj[name];
  29. idx += 1;
  30. }
  31. return result;
  32. });
  33. export default pickAll;