Infer types.
- Infers multiple types
- Infers integer and float types
- Infers the type from a string
- There are simple type converters
You can install it as follows.
# NPM
npm add typof
# PNPM
pnpm add typof
# Yarn
yarn add typof
# Bun
bun add typof
# Deno
deno add typofBriefly as follows.
typof
│
├── typof(value)
├── string(value)
├── number(value)
├── integer(value)
├── float(value)
├── boolean(value)
├── date(value)
├── object(value)
├── array(value)
├── _null(value)
└── _undefined(value)
typof/types
│
├── type Types
└── type UnknownObjectBriefly as follows.
import { typof } from 'typof';typof(value)
Infer types.
Parameter Type Default Description valueUnknown Value to infer types. returns Types[]
Example:
// Tests are as follows. (Is this an integer?) if (typof(0).includes('integer')) console.log('This is an integer.'); // Index zero always ensures reliable type checking. As the index increases, species depth also increases. if (typof('0.5')[0] === 'string') console.log('This is a string.'); typof('test'); // ['string'] typof('0'); // ['string', 'number', 'integer'] typof(0); // ['number', 'integer'] typof('0.5'); // ['string', 'number', 'float'] typof(0.5); // ['number', 'float'] typof('true'); // ['string', 'boolean'] typof(true); // ['boolean'] typof('2025-01-01'); // ['string', 'date'] typof(new Date('2025-01-01')); // ['date', 'object'] typof('{"key":"value"}'); // ['string', 'object'] typof({ key: 'value' }); // ['object'] typof('["test"]'); // ['string', 'array'] typof(['test']); // ['array'] typof('null'); // ['string', 'null'] typof(null); // ['null'] typof('undefined'); // ['string', 'undefined'] typof(undefined); // ['undefined']
string(value)
Convert to string.
Parameter Type Default Description valueUnknown Value to convert. returns String
Example:
string(0.5); // '0.5' string(true); // 'true' string(new Date('2025-01-01')); // '2025-01-01T00:00:00.000Z' string({ key: 'value' }); // '{"key":"value"}' string(['test']); // '["test"]' string(null); // 'null' string(undefined); // 'undefined'
number(value)
Convert to number.
Parameter Type Default Description valueUnknown Value to convert. returns Number
Example:
number('0.5'); // 0.5 number(0.5); // 0.5 number('test'); // NaN
integer(value)
Convert to integer.
Parameter Type Default Description valueUnknown Value to convert. returns Number
Example:
integer('0.5'); // 0 integer(0.5); // 0 integer('test'); // NaN
float(value, fraction_digits)
Convert to float.
Parameter Type Default Description valueUnknown Value to convert. fraction_digitsNumber Fraction digits. returns String | Value
Example:
float('0', 2); // '0.00' float(0, 2); // '0.00' float(0.5555, 2); // '0.55' float(0.5555, 4); // '0.5555' float('test', 2); // 'test'
boolean(value)
Convert to boolean.
Parameter Type Default Description valueUnknown Value to convert. returns Boolean | Value
Example:
boolean('true'); // true boolean(true); // true boolean('test'); // 'test'
date(value)
Convert to date.
Parameter Type Default Description valueUnknown Value to convert. returns Date | Value
Example:
date('2025-01-01'); // 2025-01-01T00:00:00.000Z date(new Date('2025-01-01')); // 2025-01-01T00:00:00.000Z date('test'); // 'test'
object(value)
Convert to object.
Parameter Type Default Description valueUnknown Value to convert. returns UnknownObject | Value
Example:
object('{"key":"value"}'); // { key: 'value' } object('["test"]'); // '["test"]'
array(value)
Convert to array.
Parameter Type Default Description valueUnknown Value to convert. returns Unknown[] | Value
Example:
array('["test"]'); // ['test'] array('{"key":"value"}'); // '{"key":"value"}'
_null(value)
Convert to null.
Parameter Type Default Description valueUnknown Value to convert. returns Null | Value
Example:
_null('null'); // null _null(null); // null _null('test'); // 'test'
_undefined(value)
Convert to undefined.
Parameter Type Default Description valueUnknown Value to convert. returns Undefined | Value
Example:
_undefined('undefined'); // undefined _undefined(undefined); // undefined _undefined('test'); // 'test'
| Type |
|---|
| Types |
| UnknownObject |
