Dynamic type checking for JavaScript


TypedJS lets you annotate your JavaScript functions with Haskell-like type signatures and then transforms your code to perform type checking at run time.

npm install typedjs
var typedjs = require('typedjs')
var fs = require('fs')
var code = fs.readFileSync('file_name.js')
var transformedCode = typedjs.transform(code)
typedjs file_name.js > output_file.js
var typedjs = require('typedjs')

function addOne(n) {
  return n + 1

typedjs.quickcheck('Number -> Number', addOne)

You can use typedjs.require() in your node programs to transform a file and require it.

This is useful for your unit tests or your dev environments.

var typedjs = require('typedjs')
var someModule = typedjs.require('someModule')

// you can then use `someModule` just as you would if you would've imported
// it using Node's `require`