Skip to content

Commit df1ceaa

Browse files
committed
lib: use js-only implementation of isDataView()
1 parent db9da5d commit df1ceaa

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

benchmark/util/type-check.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ const args = {
2323
'false-primitive': true,
2424
'false-object': int32Array,
2525
},
26+
DataView: {
27+
'true': dataView,
28+
'false-primitive': true,
29+
'false-object': uint8Array,
30+
},
2631
};
2732

2833
const bench = common.createBenchmark(main, {

lib/internal/util/types.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ const {
66
TypedArrayPrototypeGetSymbolToStringTag,
77
} = primordials;
88

9+
function isDataView(value) {
10+
return ArrayBufferIsView(value) && TypedArrayPrototypeGetSymbolToStringTag(value) === undefined;
11+
}
12+
913
function isTypedArray(value) {
1014
return TypedArrayPrototypeGetSymbolToStringTag(value) !== undefined;
1115
}
@@ -61,6 +65,7 @@ function isBigUint64Array(value) {
6165
module.exports = {
6266
...internalBinding('types'),
6367
isArrayBufferView: ArrayBufferIsView,
68+
isDataView,
6469
isTypedArray,
6570
isUint8Array,
6671
isUint8ClampedArray,

src/node_types.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ namespace {
1919
V(AsyncFunction) \
2020
V(BigIntObject) \
2121
V(BooleanObject) \
22-
V(DataView) \
2322
V(Date) \
2423
V(External) \
2524
V(GeneratorFunction) \

0 commit comments

Comments
 (0)