summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-12-20 17:35:40 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-12-27 22:34:47 +0100
commit5ac30c99a9cc92f563655709d61e47729d441f62 (patch)
treec6dfa331576d8a0709cee35570d86fba6ffd25e9 /lib
parentd385e2cc5a85e150538fd1f41087db9b38943c49 (diff)
downloadandroid-node-v8-5ac30c99a9cc92f563655709d61e47729d441f62.tar.gz
android-node-v8-5ac30c99a9cc92f563655709d61e47729d441f62.tar.bz2
android-node-v8-5ac30c99a9cc92f563655709d61e47729d441f62.zip
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>
Diffstat (limited to 'lib')
-rw-r--r--lib/buffer.js2
-rw-r--r--lib/internal/bootstrap/node.js2
-rw-r--r--lib/internal/encoding.js7
-rw-r--r--lib/internal/util.js2
-rw-r--r--lib/internal/util/comparisons.js4
-rw-r--r--lib/internal/util/inspect.js14
-rw-r--r--lib/internal/util/types.js1
-rw-r--r--lib/util.js12
8 files changed, 19 insertions, 25 deletions
diff --git a/lib/buffer.js b/lib/buffer.js
index 0521375cf5..01d2764c6d 100644
--- a/lib/buffer.js
+++ b/lib/buffer.js
@@ -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');
diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index 870a54746b..5bf2dc523f 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -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',
diff --git a/lib/internal/encoding.js b/lib/internal/encoding.js
index ad056fd0bd..0084c19b90 100644
--- a/lib/internal/encoding.js
+++ b/lib/internal/encoding.js
@@ -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
diff --git a/lib/internal/util.js b/lib/internal/util.js
index 7af06351c9..35239a7655 100644
--- a/lib/internal/util.js
+++ b/lib/internal/util.js
@@ -14,7 +14,7 @@ const {
} = internalBinding('util');
const {
isNativeError
-} = internalBinding('types');
+} = require('internal/util/types');
const { errmap } = internalBinding('uv');
diff --git a/lib/internal/util/comparisons.js b/lib/internal/util/comparisons.js
index 1d959f843b..d072608906 100644
--- a/lib/internal/util/comparisons.js
+++ b/lib/internal/util/comparisons.js
@@ -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: {
diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js
index a6f49c5c05..19eb165b78 100644
--- a/lib/internal/util/inspect.js
+++ b/lib/internal/util/inspect.js
@@ -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
diff --git a/lib/internal/util/types.js b/lib/internal/util/types.js
index 182625a971..865818c661 100644
--- a/lib/internal/util/types.js
+++ b/lib/internal/util/types.js
@@ -70,6 +70,7 @@ function isBigUint64Array(value) {
}
module.exports = {
+ ...internalBinding('types'),
isArrayBufferView,
isTypedArray,
isUint8Array,
diff --git a/lib/util.js b/lib/util.js
index f48d93d124..1eaf958c39 100644
--- a/lib/util.js
+++ b/lib/util.js
@@ -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;
},