object.js 498 B

1234567891011121314151617181920212223
  1. 'use strict';
  2. module.exports = {
  3. prop: prop => obj => obj[prop],
  4. filter (obj, pred) {
  5. return Object.keys(obj).reduce((filtered, key) => {
  6. const value = obj[key];
  7. if (pred(key, value)) {
  8. filtered[key] = value;
  9. }
  10. }, {});
  11. },
  12. defaults (obj, values) {
  13. Object.keys(values).forEach(key => {
  14. if (!obj.hasOwnProperty(key)) {
  15. obj[key] = values[key];
  16. }
  17. });
  18. }
  19. };