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"
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")