This github and npm organization houses JavaScript projects that help you look at stuff.
Functions that ask a question and produce a yes or no answer (`true` or `false`).
- defined -  - - - return the first argument that is - return the first argument that is!== undefined
- is-accessor-descriptor -  - - - Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. - Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.
- is-arguments -  - - - Is this an arguments object? It's a harder question than you think. - Is this an arguments object? It's a harder question than you think.
- is-array-buffer -  - - - Is this value a JS ArrayBuffer? - Is this value a JS ArrayBuffer?
- is-arrow-function -  - - - Determine if a function is an ES6 arrow function or not. - Determine if a function is an ES6 arrow function or not.
- is-async-function -  - - - Determine if a function is a native async function. - Determine if a function is a native async function.
- is-bigint -  - - - Is this value an ES BigInt? - Is this value an ES BigInt?
- is-boolean-object -  - - - Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-boxed-primitive -  - - - Is this value a boxed primitive? Shim for node's util.isBoxedPrimitive. - Is this value a boxed primitive? Shim for node's util.isBoxedPrimitive.
- is-callable -  - - - Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag. - Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.
- is-core-module -  - - - Is this specifier a node.js core module? - Is this specifier a node.js core module?
- is-data-descriptor -  - - - Returns true if a value has the characteristics of a valid JavaScript data descriptor. - Returns true if a value has the characteristics of a valid JavaScript data descriptor.
- is-data-view -  - - - Is this value a JS DataView? This module works cross-realm/iframe, does not depend on - Is this value a JS DataView? This module works cross-realm/iframe, does not depend oninstanceofor mutable properties, and despite ES6 Symbol.toStringTag.
- is-date-object -  - - - Is this value a JS Date object? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS Date object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-descriptor -  - - - Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors. - Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.
- is-finalizationregistry -  - - - Is this value a JS FinalizationRegistry? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS FinalizationRegistry? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-generator-function -  - - - Determine if a function is a native generator function. - Determine if a function is a native generator function.
- is-map -  - - - Is this value a JS Map? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS Map? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-negative-zero -  - - - Is this value negative zero? === will lie to you - Is this value negative zero? === will lie to you
- is-number-object -  - - - Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-object -  - - - Checks whether a value is an object - Checks whether a value is an object
- is-package-root -  - - - Is this directory path the root of a package? - Is this directory path the root of a package?
- is-regex -  - - - Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag - Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag
- is-registered-symbol -  - - - Is this value a Symbol stored in the global cross-realm Symbol registry? - Is this value a Symbol stored in the global cross-realm Symbol registry?
- is-set -  - - - Is this value a JS Set? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS Set? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-shared-array-buffer -  - - - Is this value a JS SharedArrayBuffer? - Is this value a JS SharedArrayBuffer?
- is-string -  - - - Is this value a JS String object or primitive? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS String object or primitive? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-symbol -  - - - Determine if a value is an ES6 Symbol or not. - Determine if a value is an ES6 Symbol or not.
- is-typed-array -  - - - Is this value a JS Typed Array? This module works cross-realm/iframe, does not depend on - Is this value a JS Typed Array? This module works cross-realm/iframe, does not depend oninstanceofor mutable properties, and despite ES6 Symbol.toStringTag.
- is-weakmap -  - - - Is this value a JS WeakMap? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS WeakMap? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-weakref -  - - - Is this value a JS WeakRef? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS WeakRef? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-weakset -  - - - Is this value a JS WeakSet? This module works cross-realm/iframe, and despite ES6 @@toStringTag. - Is this value a JS WeakSet? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
- is-well-known-symbol -  - - - Is this value a well-known Symbol? - Is this value a well-known Symbol?
Packages that compare two things.
Packages that tell you about the JS env.
- available-regexp-flags -  - - - Which regular expression flags does the current environment support? - Which regular expression flags does the current environment support?
- available-typed-arrays -  - - - Returns an array of Typed Array names that are available in the current environment - Returns an array of Typed Array names that are available in the current environment
- functions-have-names -  - - - Does this JS environment support the - Does this JS environment support thenameproperty on functions?
- has-bigints -  - - - Determine if the JS environment has BigInt support. - Determine if the JS environment has BigInt support.
- has-dynamic-import -  - - - Does the current environment have - Does the current environment haveimport()support?
- has-named-captures -  - - - Does the JS environment support named capture groups in regexes? - Does the JS environment support named capture groups in regexes?
- has-object-spread -  - - - check if the environment supports { ...a } spread syntax - check if the environment supports { ...a } spread syntax
- has-optional-chaining -  - - - Determine if the JS environment has optional chaining support - Determine if the JS environment has optional chaining support
- has-override-mistake -  - - - Determine whether the environment has the so-called "override mistake" - [[Set]]ing a property whose ancestor is nonwritable throws. - Determine whether the environment has the so-called "override mistake" - [[Set]]ing a property whose ancestor is nonwritable throws.
- has-package-exports -  - - - Does the current node version have support for the "exports" field in package.json? - Does the current node version have support for the "exports" field in package.json?
- has-package-imports -  - - - Does the current node version have support for the "imports" field in package.json? - Does the current node version have support for the "imports" field in package.json?
- has-package-self-reference -  - - - Does the current node version have support for requiring/importing its own name? - Does the current node version have support for requiring/importing its own name?
- has-private-fields -  - - - Determine if the JS environment has private fields ( - Determine if the JS environment has private fields (class { #x; }) support.
- has-property-descriptors -  - - - Does the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD. - Does the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD.
- has-proto -  - - - Does this environment have the ability to get the [[Prototype]] of an object on creation with - Does this environment have the ability to get the [[Prototype]] of an object on creation with__proto__?
- has-strict-mode -  - - - Does the current JS environment have strict mode? ES5+ should; but let's not assume. - Does the current JS environment have strict mode? ES5+ should; but let's not assume.
- has-symbols -  - - - Determine if the JS environment has Symbol support. Supports spec, or shams. - Determine if the JS environment has Symbol support. Supports spec, or shams.
- has-template-literals -  - - - Determine if the JS environment has template literal support. - Determine if the JS environment has template literal support.
- has-tostringtag -  - - - Determine if the JS environment has - Determine if the JS environment hasSymbol.toStringTagsupport. Supports spec, or shams.
- has-typed-arrays -  - - - Does this environment have JS Typed Arrays? - Does this environment have JS Typed Arrays?
- hasown -  - - - A robust, ES3 compatible, "has own property" predicate. - A robust, ES3 compatible, "has own property" predicate.
- node-exports-info -  - - - Info about node - Info about nodeexportsfield support: version ranges, categories, etc.
- supports-preserve-symlinks-flag -  - - - Determine if the current node version supports the - Determine if the current node version supports the--preserve-symlinksflag.
Packages that tell you about a specific JS value.
- array-buffer-byte-length -  - - - Get the byte length of an ArrayBuffer, even in engines without a - Get the byte length of an ArrayBuffer, even in engines without a.byteLengthmethod.
- data-view-buffer -  - - - Get the ArrayBuffer out of a DataView, robustly. - Get the ArrayBuffer out of a DataView, robustly.
- data-view-byte-length -  - - - Get the byteLength out of a DataView, robustly. - Get the byteLength out of a DataView, robustly.
- data-view-byte-offset -  - - - Get the byteOffset out of a DataView, robustly. - Get the byteOffset out of a DataView, robustly.
- get-symbol-description -  - - - Gets the description of a Symbol. Handles - Gets the description of a Symbol. HandlesSymbol()vsSymbol('')properly when possible.
- object-inspect -  - - - string representations of objects in node and the browser - string representations of objects in node and the browser
- typed-array-buffer -  - - - Get the ArrayBuffer out of a TypedArray, robustly. - Get the ArrayBuffer out of a TypedArray, robustly.
- typed-array-byte-length -  - - - Robustly get the byte length of a Typed Array - Robustly get the byte length of a Typed Array
- typed-array-byte-offset -  - - - Robustly get the byte offset of a Typed Array - Robustly get the byte offset of a Typed Array
- typed-array-length -  - - - Robustly get the length of a Typed Array - Robustly get the length of a Typed Array
- which-boxed-primitive -  - - - Which kind of boxed JS primitive is this? - Which kind of boxed JS primitive is this?
- which-builtin-type -  - - - What is the type of this builtin JS value? - What is the type of this builtin JS value?
- which-collection -  - - - Which kind of Collection (Map, Set, WeakMap, WeakSet) is this JavaScript value? Works cross-realm, without - Which kind of Collection (Map, Set, WeakMap, WeakSet) is this JavaScript value? Works cross-realm, withoutinstanceof, and despite Symbol.toStringTag.
- which-typed-array -  - - - Which kind of Typed Array is this JavaScript value? Works cross-realm, without - Which kind of Typed Array is this JavaScript value? Works cross-realm, withoutinstanceof, and despite Symbol.toStringTag.