]> zoso.dev Git - buffer.git/commitdiff
Node.js also supports Buffer creation from {buffer: ArrayBuffer}
authorVolker Mische <volker.mische@gmail.com>
Fri, 19 Jan 2018 15:06:03 +0000 (16:06 +0100)
committerVolker Mische <volker.mische@gmail.com>
Sun, 21 Jan 2018 02:01:01 +0000 (03:01 +0100)
index.js
test/node/test-buffer-alloc.js

index 0ee40c10cbe63a3002e657cbe711a3ded551e7c7..bc48eccadc54847b15a4f6aec04b9c2149305d94 100644 (file)
--- a/index.js
+++ b/index.js
@@ -104,7 +104,7 @@ function from (value, encodingOrOffset, length) {
     throw new TypeError('"value" argument must not be a number')
   }
 
-  if (isArrayBuffer(value)) {
+  if (isArrayBuffer(value) || (value && isArrayBuffer(value.buffer))) {
     return fromArrayBuffer(value, encodingOrOffset, length)
   }
 
index 8b3e52b2a9592e62f9e99f0a7594136e120dbc39..f8137bdb99f5da6bf6f6966208938874d96fd7e9 100644 (file)
@@ -999,9 +999,8 @@ assert.doesNotThrow(() => Buffer.from(new ArrayBuffer()));
 // Test that ArrayBuffer from a different context is detected correctly
 var arrayBuf = vm.runInNewContext('new ArrayBuffer()');
 assert.doesNotThrow(() => Buffer.from(arrayBuf));
-/*
 assert.doesNotThrow(() => Buffer.from({ buffer: arrayBuf }));
-
+/*
 assert.throws(() => Buffer.alloc({ valueOf: () => 1 }),
               /"size" argument must be of type number/);
 assert.throws(() => Buffer.alloc({ valueOf: () => -1 }),