mirror of
				https://github.com/alexandrebobkov/ESP-Nodes.git
				synced 2025-11-04 10:49:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			994 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			994 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
 | 
						|
const _has = (obj, key) => {
 | 
						|
  return Object.prototype.hasOwnProperty.call(obj, key);
 | 
						|
};
 | 
						|
 | 
						|
module.exports.assign = function (obj /*from1, from2, from3, ...*/) {
 | 
						|
  const sources = Array.prototype.slice.call(arguments, 1);
 | 
						|
  while (sources.length) {
 | 
						|
    const source = sources.shift();
 | 
						|
    if (!source) { continue; }
 | 
						|
 | 
						|
    if (typeof source !== 'object') {
 | 
						|
      throw new TypeError(source + 'must be non-object');
 | 
						|
    }
 | 
						|
 | 
						|
    for (const p in source) {
 | 
						|
      if (_has(source, p)) {
 | 
						|
        obj[p] = source[p];
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  return obj;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
// Join array of chunks to single array.
 | 
						|
module.exports.flattenChunks = (chunks) => {
 | 
						|
  // calculate data length
 | 
						|
  let len = 0;
 | 
						|
 | 
						|
  for (let i = 0, l = chunks.length; i < l; i++) {
 | 
						|
    len += chunks[i].length;
 | 
						|
  }
 | 
						|
 | 
						|
  // join chunks
 | 
						|
  const result = new Uint8Array(len);
 | 
						|
 | 
						|
  for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {
 | 
						|
    let chunk = chunks[i];
 | 
						|
    result.set(chunk, pos);
 | 
						|
    pos += chunk.length;
 | 
						|
  }
 | 
						|
 | 
						|
  return result;
 | 
						|
};
 |