js-subtype
is a lightweight library that allows you to determine JavaScript subtypes, making it easy to identify the exact type of an object (like Array
, Date
, etc.).
- Supports multiple subtypes (
Array
,Date
,Map
,RegExp
, etc.). - Lightweight and easy to use.
- Zero dependencies.
- Works in both Node.js and modern browsers.
Install using npm:
npm install js-subtype
Or with yarn:
yarn add js-subtype
Here’s a quick example of how to use js-subtype
:
const { getType } = require("js-subtype");
console.log(getType([1, 2, 3])); // Output: "Array"
console.log(getType(new Date())); // Output: "Date"
console.log(getType(/regex/)); // Output: "RegExp"
Returns a string representing the subtype of the given value.
- Parameters:
value
: Any JavaScript value.
- Returns: The string subtype (
Array
,Date
,Map
, etc.).
Use js-subtype
to validate inputs or types precisely in your applications:
function validateInput(input) {
if (getType(input) !== "Array") {
throw new Error("Input must be an array.");
}
// Additional logic...
}
Type | Subtype | Description |
---|---|---|
undefined |
undefined |
Undefined value. |
boolean |
boolean |
Boolean value (true or false ). |
number |
integer |
Integer number. |
number |
float |
Floating-point number. |
string |
string |
Text string. |
object |
null |
Null value. |
object |
array |
Array (list of elements). |
object |
date |
Date object. |
object |
regexp |
Regular expression. |
object |
map |
Map object. |
object |
set |
Set object. |
object |
weakmap |
WeakMap object. |
object |
weakset |
WeakSet object. |
object |
error |
Error object. |
object |
promise |
Promise object. |
object |
object |
Generic object. |
function |
function |
Function. |
symbol |
symbol |
Symbol (Symbol ). |
bigint |
bigint |
Large integer (BigInt ). |
Determine the exact native type of an object, such as Map
or Set
:
console.log(getType(new Map())); // Output: "Map"
console.log(getType(new Set())); // Output: "Set"
This project is licensed under the MIT License.