25 lines
1.0 KiB
JavaScript
25 lines
1.0 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ensureBuffer = void 0;
|
|
var buffer_1 = require("buffer");
|
|
var error_1 = require("./error");
|
|
var utils_1 = require("./parser/utils");
|
|
/**
|
|
* Makes sure that, if a Uint8Array is passed in, it is wrapped in a Buffer.
|
|
*
|
|
* @param potentialBuffer - The potential buffer
|
|
* @returns Buffer the input if potentialBuffer is a buffer, or a buffer that
|
|
* wraps a passed in Uint8Array
|
|
* @throws BSONTypeError If anything other than a Buffer or Uint8Array is passed in
|
|
*/
|
|
function ensureBuffer(potentialBuffer) {
|
|
if (ArrayBuffer.isView(potentialBuffer)) {
|
|
return buffer_1.Buffer.from(potentialBuffer.buffer, potentialBuffer.byteOffset, potentialBuffer.byteLength);
|
|
}
|
|
if (utils_1.isAnyArrayBuffer(potentialBuffer)) {
|
|
return buffer_1.Buffer.from(potentialBuffer);
|
|
}
|
|
throw new error_1.BSONTypeError('Must use either Buffer or TypedArray');
|
|
}
|
|
exports.ensureBuffer = ensureBuffer;
|
|
//# sourceMappingURL=ensure_buffer.js.map
|