artdaq_node_server  v1_00_07
 All Classes Namespaces Files Variables Pages
_createAssigner.js
1 var baseRest = require('./_baseRest'),
2  isIterateeCall = require('./_isIterateeCall');
3 
11 function createAssigner(assigner) {
12  return baseRest(function(object, sources) {
13  var index = -1,
14  length = sources.length,
15  customizer = length > 1 ? sources[length - 1] : undefined,
16  guard = length > 2 ? sources[2] : undefined;
17 
18  customizer = (assigner.length > 3 && typeof customizer == 'function')
19  ? (length--, customizer)
20  : undefined;
21 
22  if (guard && isIterateeCall(sources[0], sources[1], guard)) {
23  customizer = length < 3 ? undefined : customizer;
24  length = 1;
25  }
26  object = Object(object);
27  while (++index < length) {
28  var source = sources[index];
29  if (source) {
30  assigner(object, source, index, customizer);
31  }
32  }
33  return object;
34  });
35 }
36 
37 module.exports = createAssigner;