diff options
| author | akiyamn | 2023-09-24 23:22:21 +1000 |
|---|---|---|
| committer | akiyamn | 2023-09-24 23:22:21 +1000 |
| commit | 4e87195739f2a5d9a05451b48773c8afdc680765 (patch) | |
| tree | 9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js | |
| download | price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip | |
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js')
| -rw-r--r-- | node_modules/rollup-plugin-node-polyfills/polyfills/http-lib/to-arraybuffer.js | 30 |
1 files changed, 30 insertions, 0 deletions
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') + } +} |
