forked from actions/setup-maven
21 lines
601 B
JavaScript
21 lines
601 B
JavaScript
|
// An internal function for creating assigner functions.
|
||
|
function createAssigner(keysFunc, defaults) {
|
||
|
return function(obj) {
|
||
|
var length = arguments.length;
|
||
|
if (defaults) obj = Object(obj);
|
||
|
if (length < 2 || obj == null) return obj;
|
||
|
for (var index = 1; index < length; index++) {
|
||
|
var source = arguments[index],
|
||
|
keys = keysFunc(source),
|
||
|
l = keys.length;
|
||
|
for (var i = 0; i < l; i++) {
|
||
|
var key = keys[i];
|
||
|
if (!defaults || obj[key] === void 0) obj[key] = source[key];
|
||
|
}
|
||
|
}
|
||
|
return obj;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = createAssigner;
|