shy-type
Shy-type is a minimal runtime type safety library for javascript.
It's mainly intended for user cases where bigger more robust solutions, like Flow or Typescript, are not feasible. Scenarios where types can not be determined before runtime are also good user cases. Form validation is however not something it is designed for, as error messages are focused on being programmer friendly (i.e. not end user friendly).
The library has no dependencies and is very small. It runs in both node and most browsers.
Checks
Shy has checker functions for all the basic javascipt types:
- boolean
- int
- number
- string
- function
- object
- array
Example
Checkers take the value to check as the first (and only obligatory) argument.
// Passing checktype // Failing check (throws TypeError)type
Checks return the value. This simplifies checking results of calculation.
var manhattanDistance = type
Adding hints can improve solving bugs. Know which check failed, even after minification.
// Passing check with hint // (returns value, ignoring hint)type // Failing check with hint // (throws TypeError "User id in DB - Expected 'George' to be a number")type
One of the main usage areas is safe guarding public functions.
{ console } { type if n<=1 return 1; else return + }
Use destructuring assignment if you prefer compact calls.
// Optional shorter namesconst bool int num str fun obj arr = ;