From 3209679b7f9ec9bd3ffc6cf2c56c6c5583be6b87 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Sun, 26 Aug 2018 13:46:24 +0200 Subject: util: add util.types.isBoxedPrimitive Checking all boxed primitives individually requires to cross the C++ barrier multiple times besides being more complicated than just a single check. PR-URL: https://github.com/nodejs/node/pull/22620 Reviewed-By: Anna Henningsen Reviewed-By: John-David Dalton Reviewed-By: Refael Ackermann Reviewed-By: Benjamin Gruenbaum Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: James M Snell --- doc/api/util.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'doc/api/util.md') diff --git a/doc/api/util.md b/doc/api/util.md index a9340847c5..44495e977d 100644 --- a/doc/api/util.md +++ b/doc/api/util.md @@ -1049,10 +1049,31 @@ by `new Boolean()`. ```js util.types.isBooleanObject(false); // Returns false util.types.isBooleanObject(true); // Returns false -util.types.isBooleanObject(new Boolean(false)); // Returns true -util.types.isBooleanObject(new Boolean(true)); // Returns true +util.types.isBooleanObject(new Boolean(false)); // Returns true +util.types.isBooleanObject(new Boolean(true)); // Returns true util.types.isBooleanObject(Boolean(false)); // Returns false -util.types.isBooleanObject(Boolean(true)); // Returns false +util.types.isBooleanObject(Boolean(true)); // Returns false +``` + +### util.types.isBoxedPrimitive(value) + + +* `value` {any} +* Returns: {boolean} + +Returns `true` if the value is any boxed primitive object, e.g. created +by `new Boolean()`, `new String()` or `Object(Symbol())`. + +For example: + +```js +util.types.isBoxedPrimitive(false); // Returns false +util.types.isBoxedPrimitive(new Boolean(false)); // Returns true +util.types.isBoxedPrimitive(Symbol('foo')); // Returns false +util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true +util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true ``` ### util.types.isDataView(value) -- cgit v1.2.3