wallet-core/node_modules/clone-buffer/index.js

29 lines
613 B
JavaScript
Raw Normal View History

2016-10-10 03:43:44 +02:00
'use strict';
var Buffer = require('buffer').Buffer;
function hasFrom() {
// Node versions 5.x below 5.10 seem to have a `from` method
// However, it doesn't clone Buffers
// Luckily, it reports as `false` to hasOwnProperty
return (Buffer.hasOwnProperty('from') && typeof Buffer.from === 'function');
}
function cloneBuffer(buf) {
if (!Buffer.isBuffer(buf)) {
throw new Error('Can only clone Buffer.');
}
if (hasFrom()) {
return Buffer.from(buf);
}
var copy = new Buffer(buf.length);
buf.copy(copy);
return copy;
}
cloneBuffer.hasFrom = hasFrom;
module.exports = cloneBuffer;