]> zoso.dev Git - buffer.git/commitdiff
Proper strict mode support. Fixes #79
authorNolan Lawson <nolan.lawson@gmail.com>
Thu, 24 Dec 2015 05:37:44 +0000 (21:37 -0800)
committerNolan Lawson <nolan.lawson@gmail.com>
Thu, 24 Dec 2015 05:37:44 +0000 (21:37 -0800)
index.js

index 1abc8df6f26c68aeb235957726db4452d24035f1..0dc9007d429ae4fed6d746b8cfff0e19fb58521d 100644 (file)
--- a/index.js
+++ b/index.js
@@ -6,6 +6,8 @@
  */
 /* eslint-disable no-proto */
 
+'use strict'
+
 var base64 = require('base64-js')
 var ieee754 = require('ieee754')
 var isArray = require('isarray')
@@ -88,8 +90,10 @@ function Buffer (arg) {
     return new Buffer(arg)
   }
 
-  this.length = 0
-  this.parent = undefined
+  if (!Buffer.TYPED_ARRAY_SUPPORT) {
+    this.length = 0
+    this.parent = undefined
+  }
 
   // Common case.
   if (typeof arg === 'number') {
@@ -220,6 +224,10 @@ function fromJsonObject (that, object) {
 if (Buffer.TYPED_ARRAY_SUPPORT) {
   Buffer.prototype.__proto__ = Uint8Array.prototype
   Buffer.__proto__ = Uint8Array
+} else {
+  // pre-set for values that may exist in the future
+  Buffer.prototype.length = undefined
+  Buffer.prototype.parent = undefined
 }
 
 function allocate (that, length) {
@@ -370,10 +378,6 @@ function byteLength (string, encoding) {
 }
 Buffer.byteLength = byteLength
 
-// pre-set for values that may exist in the future
-Buffer.prototype.length = undefined
-Buffer.prototype.parent = undefined
-
 function slowToString (encoding, start, end) {
   var loweredCase = false