|
|
- '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;
- };
|