(keysFunc, defaults)
| 596 | |
| 597 | // An internal function for creating assigner functions. |
| 598 | function createAssigner(keysFunc, defaults) { |
| 599 | return function(obj) { |
| 600 | var length = arguments.length; |
| 601 | if (defaults) obj = Object(obj); |
| 602 | if (length < 2 || obj == null) return obj; |
| 603 | for (var index = 1; index < length; index++) { |
| 604 | var source = arguments[index], |
| 605 | keys = keysFunc(source), |
| 606 | l = keys.length; |
| 607 | for (var i = 0; i < l; i++) { |
| 608 | var key = keys[i]; |
| 609 | if (!defaults || obj[key] === void 0) obj[key] = source[key]; |
| 610 | } |
| 611 | } |
| 612 | return obj; |
| 613 | }; |
| 614 | } |
| 615 | |
| 616 | // Extend a given object with all the properties in passed-in object(s). |
| 617 | var extend = createAssigner(allKeys); |
no outgoing calls
no test coverage detected
searching dependent graphs…