lib: expose all type checks from the internal types module

Combine all type checks on the internal types module and do not use
the types binding anywhere else anymore. This makes sure all of those
checks exist when required.

PR-URL: https://github.com/nodejs/node/pull/25149
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
This commit is contained in:
Ruben Bridgewater committed 2018-12-27 22:34:47 +01:00
1 parent d385e2cc5a
commit 5ac30c99a9
8 files changed
+19 -25

No files matched your search

+1 -1
View File
@@ -37,7 +37,6 @@ const {
kMaxLength,
kStringMaxLength
} = internalBinding('buffer');
const { isAnyArrayBuffer } = internalBinding('types');
const {
getOwnNonIndexProperties,
propertyFilter: {
@@ -52,6 +51,7 @@ const {
kIsEncodingSymbol
} = require('internal/util');
const {
isAnyArrayBuffer,
isArrayBufferView,
isUint8Array
} = require('internal/util/types');
+1 -1
View File
@@ -228,7 +228,7 @@ function startup() {
// TODO(addaleax): Turn into a full runtime deprecation.
const pendingDeprecation = getOptionValue('--pending-deprecation');
const utilBinding = internalBinding('util');
const types = internalBinding('types');
const types = NativeModule.require('internal/util/types');
for (const name of [
'isArrayBuffer', 'isArrayBufferView', 'isAsyncFunction',
'isDataView', 'isDate', 'isExternal', 'isMap', 'isMapIterator',
+3 -4
View File
@@ -21,11 +21,10 @@ const {
customInspectSymbol: inspect
} = require('internal/util');
const { isArrayBufferView } = require('internal/util/types');
const {
isArrayBuffer
} = internalBinding('types');
isArrayBuffer,
isArrayBufferView
} = require('internal/util/types');
const {
encodeUtf8String
+1 -1
View File
@@ -14,7 +14,7 @@ const {
} = internalBinding('util');
const {
isNativeError
} = internalBinding('types');
} = require('internal/util/types');
const { errmap } = internalBinding('uv');
+2 -2
View File
@@ -1,9 +1,9 @@
'use strict';
const { compare } = internalBinding('buffer');
const { isArrayBufferView } = require('internal/util/types');
const {
isAnyArrayBuffer,
isArrayBufferView,
isDate,
isMap,
isRegExp,
@@ -15,7 +15,7 @@ const {
isBooleanObject,
isBigIntObject,
isSymbolObject
} = internalBinding('types');
} = require('internal/util/types');
const {
getOwnNonIndexProperties,
propertyFilter: {
+7 -7
View File
@@ -27,8 +27,6 @@ const {
isStackOverflowError
} = require('internal/errors');
const types = internalBinding('types');
Object.assign(types, require('internal/util/types'));
const {
isAnyArrayBuffer,
isArrayBuffer,
@@ -38,6 +36,8 @@ const {
isExternal,
isMap,
isMapIterator,
isModuleNamespaceObject,
isNativeError,
isPromise,
isSet,
isSetIterator,
@@ -61,7 +61,7 @@ const {
isFloat64Array,
isBigInt64Array,
isBigUint64Array
} = types;
} = require('internal/util/types');
const ReflectApply = Reflect.apply;
@@ -385,9 +385,9 @@ function getKeys(value, showHidden) {
try {
keys = Object.keys(value);
} catch (err) {
if (types.isNativeError(err) &&
if (isNativeError(err) &&
err.name === 'ReferenceError' &&
types.isModuleNamespaceObject(value)) {
isModuleNamespaceObject(value)) {
keys = Object.getOwnPropertyNames(value);
} else {
throw err;
@@ -693,7 +693,7 @@ function formatRaw(ctx, value, recurseTimes) {
} else if (isWeakMap(value)) {
braces[0] = `${getPrefix(constructor, tag, 'WeakMap')}{`;
formatter = ctx.showHidden ? formatWeakMap : formatWeakCollection;
} else if (types.isModuleNamespaceObject(value)) {
} else if (isModuleNamespaceObject(value)) {
braces[0] = `[${tag}] {`;
formatter = formatNamespaceObject;
skip = true;
@@ -880,7 +880,7 @@ function formatNamespaceObject(ctx, value, recurseTimes, keys) {
output[i] = formatProperty(ctx, value, recurseTimes, keys[i],
kObjectType);
} catch (err) {
if (!(types.isNativeError(err) && err.name === 'ReferenceError')) {
if (!(isNativeError(err) && err.name === 'ReferenceError')) {
throw err;
}
// Use the existing functionality. This makes sure the indentation and
+1
View File
@@ -70,6 +70,7 @@ function isBigUint64Array(value) {
}
module.exports = {
...internalBinding('types'),
isArrayBufferView,
isTypedArray,
isUint8Array,
+3 -9
View File
@@ -31,13 +31,7 @@ const {
const { validateNumber } = require('internal/validators');
const { TextDecoder, TextEncoder } = require('internal/encoding');
const { isBuffer } = require('buffer').Buffer;
const types = internalBinding('types');
Object.assign(types, require('internal/util/types'));
const {
isRegExp,
isDate,
} = types;
const types = require('internal/util/types');
const {
deprecate,
@@ -432,9 +426,9 @@ module.exports = exports = {
isString,
isSymbol,
isUndefined,
isRegExp,
isRegExp: types.isRegExp,
isObject,
isDate,
isDate: types.isDate,
isError(e) {
return objectToString(e) === '[object Error]' || e instanceof Error;
},