@altostra/type-validations
v2.7.2
Published
Utility functions to create type-guards and assertions.
Downloads
7,010
Maintainers
Readme
Type validations
Type validations is a library for creating type-validators: augmented type-guards that perform full runtime type-validation and let TypeScript type checker know what a type may be in a certain context.
Installation
$ npm install @altostra/type-validations
Reference
A full reference can be found here.
allOf
Creates type-validators for an intersections-type from a list of type-validators.
anyOf
Creates type-validators for a union-type from a list of type-validators.
arrayOf
Given type-guard for type T
, creates a type-validator for T[]
.
assertBy
Create assertion-functions from type-validation and an error-factory.
enumOf
Creates a type-validation that checks if a value is one of the specified values (using strict equality).
is
Creates a type-validation that only allows values that are strictly equal to the provided value.
isEmptyArray
A type-validation that checks if a value is an empty array.
isEmptyObject
A type-validation that checks if a value is an empty object.
isFunction
Creates a type-validation that checks if a value is a function with a specified length.
maybe
Creates a type-validation that checks if a value is of validated type, undefined
,
and optionally null
.
objectOf
Creates type-validation that checks if a value is an object that all its properties are validated with the provided validations.
recordOf
Creates type-validator that checks that a given value is an object and that all its own-enumerable properties are of a specified type.
singleOrArray
Creates a type-validation that checks if a value is either a specific type or an array of that type.
taggedUnionOf
Creates type-validators for a union-type from a mapping between specified tag property values and validators, when the union-type is in fact a discriminated union.
tupleOf
Creates a type-validation that checks that an object is an array with a specific length, and has all the provided indices validated.
Primitives
Type-validations
string
maybeString
number
maybeNumber
boolean
maybeBoolean
nullValidation
nullOrUndefined
undefinedValidation
symbol
maybeSymbol
bigint
maybeBigint
any
unknown
never
Type-assertions
stringAssertion
maybeStringAssertion
numberAssertion
maybeNumberAssertion
booleanAssertion
maybeBooleanAssertion
nullAssertion
nullOrUndefinedAssertion
undefinedAssertion
symbolAssertion
maybeSymbolAssertion
bigintAssertion
maybeBigintAssertion
anyAssertion
unknownAssertion
assert