From 4e87195739f2a5d9a05451b48773c8afdc680765 Mon Sep 17 00:00:00 2001 From: akiyamn Date: Sun, 24 Sep 2023 23:22:21 +1000 Subject: Initial commit (by create-cloudflare CLI) --- .../polyfills/http-lib/to-arraybuffer.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js (limited to 'node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js') diff --git a/node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js b/node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js new file mode 100644 index 0000000..b0a4671 --- /dev/null +++ b/node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js @@ -0,0 +1,30 @@ +// from https://github.com/jhiesey/to-arraybuffer/blob/6502d9850e70ba7935a7df4ad86b358fc216f9f0/index.js + +// MIT License +// Copyright (c) 2016 John Hiesey +import {isBuffer} from 'buffer'; +export default function (buf) { + // If the buffer is backed by a Uint8Array, a faster version will work + if (buf instanceof Uint8Array) { + // If the buffer isn't a subarray, return the underlying ArrayBuffer + if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) { + return buf.buffer + } else if (typeof buf.buffer.slice === 'function') { + // Otherwise we need to get a proper copy + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength) + } + } + + if (isBuffer(buf)) { + // This is the slow version that will work with any Buffer + // implementation (even in old browsers) + var arrayCopy = new Uint8Array(buf.length) + var len = buf.length + for (var i = 0; i < len; i++) { + arrayCopy[i] = buf[i] + } + return arrayCopy.buffer + } else { + throw new Error('Argument must be a Buffer') + } +} -- cgit v1.2.3