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-subtypeOr with yarn:
yarn add js-subtypeHere’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.