aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/socks/build/common/receivebuffer.js
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2018-04-20 18:26:37 -0700
committerRebecca Turner <me@re-becca.org>2018-05-24 23:24:45 -0700
commit468ab4519e1b92473acefb22801497a1af6aebae (patch)
treebdac1d062cd4b094bde3a21147bab5d82c792ece /deps/npm/node_modules/socks/build/common/receivebuffer.js
parentac8226115e2192a7a46ba07789fa5136f74223e1 (diff)
downloadandroid-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.tar.gz
android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.tar.bz2
android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.zip
deps: upgrade npm to 6.1.0
PR-URL: https://github.com/nodejs/node/pull/20190 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'deps/npm/node_modules/socks/build/common/receivebuffer.js')
-rw-r--r--deps/npm/node_modules/socks/build/common/receivebuffer.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/deps/npm/node_modules/socks/build/common/receivebuffer.js b/deps/npm/node_modules/socks/build/common/receivebuffer.js
new file mode 100644
index 0000000000..180fa749d0
--- /dev/null
+++ b/deps/npm/node_modules/socks/build/common/receivebuffer.js
@@ -0,0 +1,42 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+class ReceiveBuffer {
+ constructor(size = 4096) {
+ this._buffer = Buffer.allocUnsafe(size);
+ this._offset = 0;
+ this._originalSize = size;
+ }
+ get length() {
+ return this._offset;
+ }
+ append(data) {
+ if (!Buffer.isBuffer(data)) {
+ throw new Error('Attempted to append a non-buffer instance to ReceiveBuffer.');
+ }
+ if (this._offset + data.length >= this._buffer.length) {
+ const tmp = this._buffer;
+ this._buffer = Buffer.allocUnsafe(Math.max(this._buffer.length + this._originalSize, this._buffer.length + data.length));
+ tmp.copy(this._buffer);
+ }
+ data.copy(this._buffer, this._offset);
+ return (this._offset += data.length);
+ }
+ peek(length) {
+ if (length > this._offset) {
+ throw new Error('Attempted to read beyond the bounds of the managed internal data.');
+ }
+ return this._buffer.slice(0, length);
+ }
+ get(length) {
+ if (length > this._offset) {
+ throw new Error('Attempted to read beyond the bounds of the managed internal data.');
+ }
+ const value = Buffer.allocUnsafe(length);
+ this._buffer.slice(0, length).copy(value);
+ this._buffer.copyWithin(0, length, length + this._offset - length);
+ this._offset -= length;
+ return value;
+ }
+}
+exports.ReceiveBuffer = ReceiveBuffer;
+//# sourceMappingURL=receivebuffer.js.map \ No newline at end of file