|
3 | 3 | const {
|
4 | 4 | Array,
|
5 | 5 | ArrayIsArray,
|
6 |
| - BigInt64Array, |
7 | 6 | BigIntPrototypeValueOf,
|
8 |
| - BigUint64Array, |
9 | 7 | BooleanPrototypeValueOf,
|
10 | 8 | DatePrototypeGetTime,
|
11 | 9 | DatePrototypeToISOString,
|
12 | 10 | DatePrototypeToString,
|
13 | 11 | ErrorPrototypeToString,
|
14 |
| - Float32Array, |
15 |
| - Float64Array, |
16 | 12 | FunctionPrototypeCall,
|
17 | 13 | FunctionPrototypeToString,
|
18 |
| - Int8Array, |
19 |
| - Int16Array, |
20 |
| - Int32Array, |
21 | 14 | JSONStringify,
|
22 | 15 | Map,
|
23 | 16 | MapPrototypeGetSize,
|
@@ -59,10 +52,8 @@ const {
|
59 | 52 | SymbolIterator,
|
60 | 53 | SymbolToStringTag,
|
61 | 54 | TypedArrayPrototypeGetLength,
|
62 |
| - Uint16Array, |
63 |
| - Uint32Array, |
| 55 | + TypedArrayPrototypeGetSymbolToStringTag, |
64 | 56 | Uint8Array,
|
65 |
| - Uint8ClampedArray, |
66 | 57 | uncurryThis,
|
67 | 58 | } = primordials;
|
68 | 59 |
|
@@ -120,17 +111,6 @@ const {
|
120 | 111 | isNumberObject,
|
121 | 112 | isBooleanObject,
|
122 | 113 | isBigIntObject,
|
123 |
| - isUint8Array, |
124 |
| - isUint8ClampedArray, |
125 |
| - isUint16Array, |
126 |
| - isUint32Array, |
127 |
| - isInt8Array, |
128 |
| - isInt16Array, |
129 |
| - isInt32Array, |
130 |
| - isFloat32Array, |
131 |
| - isFloat64Array, |
132 |
| - isBigInt64Array, |
133 |
| - isBigUint64Array |
134 | 114 | } = require('internal/util/types');
|
135 | 115 |
|
136 | 116 | const assert = require('internal/assert');
|
@@ -712,26 +692,6 @@ function formatProxy(ctx, proxy, recurseTimes) {
|
712 | 692 | ctx, res, '', ['Proxy [', ']'], kArrayExtrasType, recurseTimes);
|
713 | 693 | }
|
714 | 694 |
|
715 |
| -function findTypedConstructor(value) { |
716 |
| - for (const [check, clazz] of [ |
717 |
| - [isUint8Array, Uint8Array], |
718 |
| - [isUint8ClampedArray, Uint8ClampedArray], |
719 |
| - [isUint16Array, Uint16Array], |
720 |
| - [isUint32Array, Uint32Array], |
721 |
| - [isInt8Array, Int8Array], |
722 |
| - [isInt16Array, Int16Array], |
723 |
| - [isInt32Array, Int32Array], |
724 |
| - [isFloat32Array, Float32Array], |
725 |
| - [isFloat64Array, Float64Array], |
726 |
| - [isBigInt64Array, BigInt64Array], |
727 |
| - [isBigUint64Array, BigUint64Array] |
728 |
| - ]) { |
729 |
| - if (check(value)) { |
730 |
| - return clazz; |
731 |
| - } |
732 |
| - } |
733 |
| -} |
734 |
| - |
735 | 695 | // Note: using `formatValue` directly requires the indentation level to be
|
736 | 696 | // corrected by setting `ctx.indentationLvL += diff` and then to decrease the
|
737 | 697 | // value afterwards again.
|
@@ -879,10 +839,9 @@ function formatRaw(ctx, value, recurseTimes, typedArray) {
|
879 | 839 | let bound = value;
|
880 | 840 | let fallback = '';
|
881 | 841 | if (constructor === null) {
|
882 |
| - const constr = findTypedConstructor(value); |
883 |
| - fallback = constr.name; |
| 842 | + fallback = TypedArrayPrototypeGetSymbolToStringTag(value); |
884 | 843 | // Reconstruct the array information.
|
885 |
| - bound = new constr(value); |
| 844 | + bound = new primordials[fallback](value); |
886 | 845 | }
|
887 | 846 | const size = TypedArrayPrototypeGetLength(value);
|
888 | 847 | const prefix = getPrefix(constructor, tag, fallback, `(${size})`);
|
|
0 commit comments