From ad7281b0817b47f428e8da2c22ea3fb42ca13c87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 28 Sep 2020 16:56:54 +0200 Subject: [PATCH] lib: use remaining typed arrays from primordials PR-URL: https://github.com/nodejs/node/pull/35499 Reviewed-By: Joyee Cheung Reviewed-By: Benjamin Gruenbaum Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Ujjwal Sharma Reviewed-By: Shingo Inoue --- lib/.eslintrc.yaml | 8 ++++++++ lib/buffer.js | 3 ++- lib/internal/buffer.js | 1 + lib/internal/child_process.js | 1 + lib/internal/encoding.js | 2 ++ lib/internal/http2/core.js | 2 ++ lib/internal/process/per_thread.js | 1 + lib/internal/streams/buffer_list.js | 1 + lib/internal/util/comparisons.js | 1 + lib/internal/util/inspect.js | 6 +++++- lib/internal/util/types.js | 3 ++- lib/internal/worker.js | 1 + lib/zlib.js | 2 ++ 13 files changed, 29 insertions(+), 3 deletions(-) diff --git a/lib/.eslintrc.yaml b/lib/.eslintrc.yaml index 97cc264c8ff804..39caa3dee956fc 100644 --- a/lib/.eslintrc.yaml +++ b/lib/.eslintrc.yaml @@ -11,6 +11,8 @@ rules: - error - name: Array message: "Use `const { Array } = primordials;` instead of the global." + - name: ArrayBuffer + message: "Use `const { ArrayBuffer } = primordials;` instead of the global." - name: BigInt message: "Use `const { BigInt } = primordials;` instead of the global." - name: BigInt64Array @@ -47,6 +49,12 @@ rules: message: "Use `const { Symbol } = primordials;` instead of the global." - name: Uint16Array message: "Use `const { Uint16Array } = primordials;` instead of the global." + - name: Uint32Array + message: "Use `const { Uint32Array } = primordials;` instead of the global." + - name: Uint8Array + message: "Use `const { Uint8Array } = primordials;` instead of the global." + - name: Uint8ClampedArray + message: "Use `const { Uint8ClampedArray } = primordials;` instead of the global." - name: WeakMap message: "Use `const { WeakMap } = primordials;` instead of the global." - name: WeakSet diff --git a/lib/buffer.js b/lib/buffer.js index 90ebe8866b582c..201626e13ab105 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -39,6 +39,7 @@ const { ObjectSetPrototypeOf, SymbolSpecies, SymbolToPrimitive, + Uint8Array, Uint8ArrayPrototype, } = primordials; @@ -400,7 +401,7 @@ function SlowBuffer(length) { return createUnsafeBuffer(length); } -ObjectSetPrototypeOf(SlowBuffer.prototype, Uint8Array.prototype); +ObjectSetPrototypeOf(SlowBuffer.prototype, Uint8ArrayPrototype); ObjectSetPrototypeOf(SlowBuffer, Uint8Array); function allocate(size) { diff --git a/lib/internal/buffer.js b/lib/internal/buffer.js index 03f12d809d5692..b54ca4e767b893 100644 --- a/lib/internal/buffer.js +++ b/lib/internal/buffer.js @@ -5,6 +5,7 @@ const { Float32Array, MathFloor, Number, + Uint8Array, } = primordials; const { diff --git a/lib/internal/child_process.js b/lib/internal/child_process.js index 6570b599e35f1a..15d3ef3bf01567 100644 --- a/lib/internal/child_process.js +++ b/lib/internal/child_process.js @@ -5,6 +5,7 @@ const { ObjectDefineProperty, ObjectSetPrototypeOf, Symbol, + Uint8Array, } = primordials; const { diff --git a/lib/internal/encoding.js b/lib/internal/encoding.js index befc4f811b2dde..8562fb32ff515d 100644 --- a/lib/internal/encoding.js +++ b/lib/internal/encoding.js @@ -10,6 +10,8 @@ const { ObjectGetOwnPropertyDescriptors, Symbol, SymbolToStringTag, + Uint32Array, + Uint8Array, } = primordials; const { diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index 7e77ac61cca2e7..078ce4785310ed 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -15,6 +15,8 @@ const { ReflectGetPrototypeOf, Set, Symbol, + Uint32Array, + Uint8Array, } = primordials; const { diff --git a/lib/internal/process/per_thread.js b/lib/internal/process/per_thread.js index d219cd7298fc15..5d8e826d816bf8 100644 --- a/lib/internal/process/per_thread.js +++ b/lib/internal/process/per_thread.js @@ -17,6 +17,7 @@ const { SetPrototype, SetPrototypeHas, StringPrototypeReplace, + Uint32Array, } = primordials; const { diff --git a/lib/internal/streams/buffer_list.js b/lib/internal/streams/buffer_list.js index fc8dd1b1f0fded..2551bee4473de4 100644 --- a/lib/internal/streams/buffer_list.js +++ b/lib/internal/streams/buffer_list.js @@ -2,6 +2,7 @@ const { SymbolIterator, + Uint8Array, } = primordials; const { Buffer } = require('buffer'); diff --git a/lib/internal/util/comparisons.js b/lib/internal/util/comparisons.js index c8e277abb747ee..66be3fe701a2fb 100644 --- a/lib/internal/util/comparisons.js +++ b/lib/internal/util/comparisons.js @@ -20,6 +20,7 @@ const { StringPrototypeValueOf, SymbolPrototypeValueOf, SymbolToStringTag, + Uint8Array, } = primordials; const { compare } = internalBinding('buffer'); diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js index e6bd5ee542a075..7d35301bb6a06e 100644 --- a/lib/internal/util/inspect.js +++ b/lib/internal/util/inspect.js @@ -52,6 +52,10 @@ const { SymbolIterator, SymbolToStringTag, Uint16Array, + Uint32Array, + Uint8Array, + Uint8ArrayPrototype, + Uint8ClampedArray, uncurryThis, } = primordials; @@ -132,7 +136,7 @@ const mapSizeGetter = uncurryThis( ObjectGetOwnPropertyDescriptor(MapPrototype, 'size').get); const typedArraySizeGetter = uncurryThis( ObjectGetOwnPropertyDescriptor( - ObjectGetPrototypeOf(Uint8Array.prototype), 'length').get); + ObjectGetPrototypeOf(Uint8ArrayPrototype), 'length').get); let hexSlice; diff --git a/lib/internal/util/types.js b/lib/internal/util/types.js index 676f386a2458d4..4b9eeb469b2d19 100644 --- a/lib/internal/util/types.js +++ b/lib/internal/util/types.js @@ -5,10 +5,11 @@ const { ObjectGetOwnPropertyDescriptor, ObjectGetPrototypeOf, SymbolToStringTag, + Uint8ArrayPrototype, uncurryThis, } = primordials; -const TypedArrayPrototype = ObjectGetPrototypeOf(Uint8Array.prototype); +const TypedArrayPrototype = ObjectGetPrototypeOf(Uint8ArrayPrototype); const TypedArrayProto_toStringTag = uncurryThis( diff --git a/lib/internal/worker.js b/lib/internal/worker.js index b62cc9382f7aea..e595749259f859 100644 --- a/lib/internal/worker.js +++ b/lib/internal/worker.js @@ -11,6 +11,7 @@ const { PromiseResolve, Symbol, SymbolFor, + Uint32Array, } = primordials; const EventEmitter = require('events'); diff --git a/lib/zlib.js b/lib/zlib.js index 7440280c1b5420..a3641d6c92511f 100644 --- a/lib/zlib.js +++ b/lib/zlib.js @@ -22,6 +22,7 @@ 'use strict'; const { + ArrayBuffer, Error, MathMax, NumberIsFinite, @@ -33,6 +34,7 @@ const { ObjectKeys, ObjectSetPrototypeOf, Symbol, + Uint32Array, } = primordials; const {