Skip to content

Commit dc37962

Browse files
marco-ippolitonodejs-github-bot
authored andcommitted
util: move util.isError to eol
PR-URL: #52744 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent b5cae4f commit dc37962

File tree

4 files changed

+5
-76
lines changed

4 files changed

+5
-76
lines changed

doc/api/deprecations.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,9 @@ The `util.isDate()` API has been removed. Please use
10771077

10781078
<!-- YAML
10791079
changes:
1080+
- version: REPLACEME
1081+
pr-url: https://github.com/nodejs/node/pull/52744
1082+
description: End-of-Life deprecation.
10801083
- version: v22.0.0
10811084
pr-url: https://github.com/nodejs/node/pull/50488
10821085
description: Runtime deprecation.
@@ -1092,9 +1095,9 @@ changes:
10921095
description: Documentation-only deprecation.
10931096
-->
10941097

1095-
Type: Runtime
1098+
Type: End-of-Life
10961099

1097-
The [`util.isError()`][] API is deprecated. Please use
1100+
The `util.isError()` API has been removed. Please use
10981101
`Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error`
10991102
instead.
11001103

@@ -3809,8 +3812,6 @@ is deprecated to better align with recommendations per [NIST SP 800-38D][].
38093812
[`util.inspect()`]: util.md#utilinspectobject-options
38103813
[`util.inspect.custom`]: util.md#utilinspectcustom
38113814
[`util.isArray()`]: util.md#utilisarrayobject
3812-
[`util.isError()`]: util.md#utiliserrorobject
3813-
[`util.isFunction()`]: util.md#utilisfunctionobject
38143815
[`util.isPrimitive()`]: util.md#utilisprimitiveobject
38153816
[`util.log()`]: util.md#utillogstring
38163817
[`util.promisify`]: util.md#utilpromisifyoriginal

doc/api/util.md

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2950,47 +2950,6 @@ util.isArray({});
29502950
// Returns: false
29512951
```
29522952
2953-
### `util.isError(object)`
2954-
2955-
<!-- YAML
2956-
added: v0.6.0
2957-
deprecated: v4.0.0
2958-
-->
2959-
2960-
> Stability: 0 - Deprecated: Use [`util.types.isNativeError()`][] instead.
2961-
2962-
* `object` {any}
2963-
* Returns: {boolean}
2964-
2965-
Returns `true` if the given `object` is an [`Error`][]. Otherwise, returns
2966-
`false`.
2967-
2968-
```js
2969-
const util = require('node:util');
2970-
2971-
util.isError(new Error());
2972-
// Returns: true
2973-
util.isError(new TypeError());
2974-
// Returns: true
2975-
util.isError({ name: 'Error', message: 'an error occurred' });
2976-
// Returns: false
2977-
```
2978-
2979-
This method relies on `Object.prototype.toString()` behavior. It is
2980-
possible to obtain an incorrect result when the `object` argument manipulates
2981-
`@@toStringTag`.
2982-
2983-
```js
2984-
const util = require('node:util');
2985-
const obj = { name: 'Error', message: 'an error occurred' };
2986-
2987-
util.isError(obj);
2988-
// Returns: false
2989-
obj[Symbol.toStringTag] = 'Error';
2990-
util.isError(obj);
2991-
// Returns: true
2992-
```
2993-
29942953
### `util.isFunction(object)`
29952954
29962955
<!-- YAML
@@ -3094,7 +3053,6 @@ util.log('Timestamped message.');
30943053
[`ArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
30953054
[`DataView`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView
30963055
[`Date`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
3097-
[`Error`]: errors.md#class-error
30983056
[`Float32Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array
30993057
[`Float64Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array
31003058
[`Int16Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array
@@ -3127,7 +3085,6 @@ util.log('Timestamped message.');
31273085
[`util.promisify()`]: #utilpromisifyoriginal
31283086
[`util.types.isAnyArrayBuffer()`]: #utiltypesisanyarraybuffervalue
31293087
[`util.types.isArrayBuffer()`]: #utiltypesisarraybuffervalue
3130-
[`util.types.isNativeError()`]: #utiltypesisnativeerrorvalue
31313088
[`util.types.isSharedArrayBuffer()`]: #utiltypesissharedarraybuffervalue
31323089
[async function]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
31333090
[built-in `Error` type]: https://tc39.es/ecma262/#sec-error-objects

lib/util.js

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ const {
3939
ObjectDefineProperty,
4040
ObjectGetOwnPropertyDescriptors,
4141
ObjectKeys,
42-
ObjectPrototypeToString,
4342
ObjectSetPrototypeOf,
4443
ObjectValues,
4544
ReflectApply,
@@ -90,15 +89,6 @@ function lazyAbortController() {
9089

9190
let internalDeepEqual;
9291

93-
/**
94-
* @deprecated since v4.0.0
95-
* @param {any} e
96-
* @returns {arg is Error}
97-
*/
98-
function isError(e) {
99-
return ObjectPrototypeToString(e) === '[object Error]' || e instanceof Error;
100-
}
101-
10292
/**
10393
* @deprecated since v4.0.0
10494
* @param {any} arg
@@ -354,11 +344,6 @@ module.exports = {
354344
}
355345
return internalDeepEqual(a, b);
356346
},
357-
isError: deprecate(isError,
358-
'The `util.isError` API is deprecated. ' +
359-
'Please use `ObjectPrototypeToString(e) === "[object Error]" ' +
360-
'|| e instanceof Error` instead.',
361-
'DEP0048'),
362347
isFunction: deprecate(isFunction,
363348
'The `util.isFunction` API is deprecated. Please use `typeof arg === "function"` instead.',
364349
'DEP0049'),

test/parallel/test-util.js

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,6 @@ assert.strictEqual(util.isArray(/regexp/), false);
4040
assert.strictEqual(util.isArray(new Error()), false);
4141
assert.strictEqual(util.isArray({ __proto__: Array.prototype }), false);
4242

43-
// isError
44-
assert.strictEqual(util.isError(new Error()), true);
45-
assert.strictEqual(util.isError(new TypeError()), true);
46-
assert.strictEqual(util.isError(new SyntaxError()), true);
47-
assert.strictEqual(util.isError(new (context('Error'))()), true);
48-
assert.strictEqual(util.isError(new (context('TypeError'))()), true);
49-
assert.strictEqual(util.isError(new (context('SyntaxError'))()), true);
50-
assert.strictEqual(util.isError({}), false);
51-
assert.strictEqual(util.isError({ name: 'Error', message: '' }), false);
52-
assert.strictEqual(util.isError([]), false);
53-
assert.strictEqual(util.isError({ __proto__: Error.prototype }), true);
54-
5543
// isPrimitive
5644
assert.strictEqual(util.isPrimitive({}), false);
5745
assert.strictEqual(util.isPrimitive(new Error()), false);
@@ -62,8 +50,6 @@ assert.strictEqual(util.isPrimitive(function() {}), false);
6250
assert.strictEqual(util.isPrimitive(new Number(1)), false);
6351
assert.strictEqual(util.isPrimitive(new String('bla')), false);
6452
assert.strictEqual(util.isPrimitive(new Boolean(true)), false);
65-
assert.strictEqual(util.isPrimitive(1), true);
66-
assert.strictEqual(util.isPrimitive('bla'), true);
6753
assert.strictEqual(util.isPrimitive(true), true);
6854
assert.strictEqual(util.isPrimitive(undefined), true);
6955
assert.strictEqual(util.isPrimitive(null), true);

0 commit comments

Comments
 (0)