artdaq_node_server  v1_00_08
 All Classes Namespaces Files Variables Pages
assign.js
1 var assignValue = require('./_assignValue'),
2  copyObject = require('./_copyObject'),
3  createAssigner = require('./_createAssigner'),
4  isArrayLike = require('./isArrayLike'),
5  isPrototype = require('./_isPrototype'),
6  keys = require('./keys');
7 
9 var objectProto = Object.prototype;
10 
12 var hasOwnProperty = objectProto.hasOwnProperty;
13 
46 var assign = createAssigner(function(object, source) {
47  if (isPrototype(source) || isArrayLike(source)) {
48  copyObject(source, keys(source), object);
49  return;
50  }
51  for (var key in source) {
52  if (hasOwnProperty.call(source, key)) {
53  assignValue(object, key, source[key]);
54  }
55  }
56 });
57 
58 module.exports = assign;