@livyn/type
v1.0.0
Published
A comprehensive JavaScript/Node.js utility library for type detection and type conversion.
Downloads
14
Maintainers
Readme
@livyn/type
A comprehensive JavaScript/Node.js utility library for type detection and type conversion — made for simplicity, performance, and accuracy.
✨ Key Features
- 🧩 Type Detection – Detect the precise type of any value (
dataType) - 🔐 Type Assertion – Assert value types with optional negation (
assertType) - ✅ Type Checking – Check if a value matches a specific type (
isType) - 🔄 Type Conversion – Convert values to a specific type or all types (
toType) - 💡 Supports:
- Primitives:
string,number,boolean,bigint,symbol,null,undefined - Built-in objects:
Array,Date,RegExp,Map,Set,Promise - Functions: regular, async, generator
- Custom classes
- Primitives:
📦 Installation
npm install @livyn/type📘 Usage
Importing
import typeUtils from '@livyn/type';
// or named imports
import { dataType, isType, toType, assertType } from '@livyn/type';dataType
Detects the precise type of a value.
console.log(dataType(123)); // "number"
console.log(dataType("hello")); // "string"
console.log(dataType(null)); // "null"
console.log(dataType([])); // "array"
console.log(dataType(async () => {})); // "asyncfunction"
console.log(dataType(class User {})); // "class"isType
Checks if a value matches an expected type.
console.log(isType(123, "number")); // true
console.log(isType("hello", "string")); // true
console.log(isType([], "array")); // true
console.log(isType(class User {}, "class")); // trueassertType
Asserts that a value matches (or does not match) a type. Throws TypeError if invalid.
assertType(123, "number"); // returns 123
assertType("hello", "!number"); // returns "hello"
try {
assertType("abc", "!string"); // throws TypeError
} catch (e) {
console.log(e.message); // "Invalid type: expected not string, got string"
}toType
Converts a value to a specified type or all types.
console.log(toType("123abc", "number")); // 123
console.log(toType("123abc", "bigint")); // 123n
console.log(toType("false", "boolean")); // false
console.log(toType({a:1,b:2}, "string")); // "{a: 1, b: 2}"
console.log(toType("abcd123")); // returns object with all type conversionsSupported Types
number,bigint,boolean,string,array,date,object,regexp
👤 Author
⚖️ License
This project is licensed under the MIT License – see the LICENSE file for details.
