typecheck-extended ·
JavaScript type checker with extended types. Validates all built-in types. Additionally adds support for enums
and makes an easier distinction between array
and object
.
Install
npm i typecheck-extended
Available Types
Standard Types
The following native JS types are supported as-is:
boolean
function
number
string
symbol
undefined
Extended Types
array
: Arrays only. (ex.['a', 'b', 'c']
)enum
: Adds enum support.object
: Non-array objects only. (ex.{ a: 1, b: 2, c: 3 }
)
In javascript, arrays have a typeof
"object". typecheck-extended excludes arrays from an "object" type check.
/* Standard Javascript*/>> typeof 'River Tam' 'Mal Reynolds'; // Returns "object">> typeof name: 'Kaylee Frye' ; // Returns "object">> Array; // Returns true>> Array; // Returns false /* typecheck-extended*/>> ; // Returns true>> ; // Throws error>> ; // Returns true>> ; // Throws error
Example Usage
Parameters
parameter
: Any - The parameter to have its type validatedtype
: String - Expected type of parameter. Limited to one of the Available Types listed above.required
: Bool - Defaults totrue
. (Optional).format
: Array - List of validenums
. (Optional).
Ex. Required String:
name
must be received AND be string
.
{ ; return `Hi !`;}
Ex. Optional String:
name
can be undefined
or null
If name
is received, it must be string
.
{ ; if name return `Hi !`; return "Hi, I'm typecheck-extended. What's your name?";}
Ex. Required Enum:
uuid
must be received AND be string
.
color
must be received AND be red
, green
, or blue
.
const availableColors = 'red' 'green' 'blue'; { ; ; ;}