@halvaradop/ts-utility-types/validate

Helpers and type guards for runtime value validation in TypeScript and JavaScript. These functions check if a value is primitive, nullish, boolean, string, number, object, array, function, or falsy.

import * as validate from "@halvaradop/ts-utility-types/validate"

Table of Contents

isPrimitive(value: unknown): value is Primitive

Checks if a value is a primitive type (number, string, boolean, bigint, symbol).

// Expected: true
isPrimitive(42)

// Expected: true
isPrimitive("hello")

// Expected: false
isPrimitive({})

isPrimitiveNullish(value: unknown): value is PrimitiveNullish

Checks if a value is a primitive or nullish (null or undefined).

// Expected: true
isPrimitiveNullish(undefined)

// Expected: true
isPrimitiveNullish("hello")

// Expected: false
isPrimitiveNullish({})

isNullish(value: unknown): value is Nullish

Checks if a value is null or undefined.

// Expected: true
isNullish(null)

// Expected: true
isNullish(undefined)

// Expected: false
isNullish(0)

isBoolean(value: unknown): value is boolean

Checks if a value is boolean.

// Expected: true
isBoolean(true)

// Expected: false
isBoolean("true")

isString(value: unknown): value is string

Checks if a value is a string.

// Expected: true
isString("hello")

// Expected: false
isString(123)

isNumber(value: unknown): value is number

Checks if a value is numeric (including NaN).

// Expected: true
isNumber(42)

// Expected: false
isNumber("42")

isObject(value: unknown): value is object

Checks if a value is a plain object (not array, not function, not nullish).

// Expected: true
isObject({})

// Expected: false
isObject([])

// Expected: false
isObject(null)

isArray(value: unknown): value is unknown[]

Checks if a value is an array.

// Expected: true
isArray([1, 2, 3])

// Expected: false
isArray({})

isFunction(value: unknown): value is Function

Checks if a value is a function.

// Expected: true
isFunction(() => {})

// Expected: false
isFunction(123)

isFalsy(value: unknown): boolean

Checks if a value is falsy (null, undefined, false, 0, "").

// Expected: true
isFalsy(0)

// Expected: false
isFalsy("hello")