UNPKG

@airgap/coinlib-core

Version:

The @airgap/coinlib-core is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

49 lines (38 loc) 984 B
'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 }