JSPM

  • Created
  • Published
  • Downloads 428050
  • Score
    100M100P100Q172932F
  • License MIT

Another biased type checking solution for Javascript

Package Exports

  • typeforce

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (typeforce) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

typeforce

build status Coverage Status Version

Another biased type checking solution for Javascript.

Examples

var typeforce = require('typeforce')

var unknown = [{ prop: 'foo' }, { prop: 'bar' }, { prop: 2 } ]
typeforce('Array', unknown)
// supported primitives 'Array', 'Boolean', 'Buffer', 'Number', 'Object', 'String'

// array types only support 1 element type
typeforce(['Object'], unknown)

// pop the last element
var element = unknown.pop()

// supports recursive type templating
typeforce({ prop: 'Number' }, element)

// works for array types too (remember, we popped off the non-conforming element)
typeforce([{ prop: 'String' }], unknown)

// will also pass as an Array is an Object
typeforce('Object', unknown)

// THROWS 'TypeError: Expected Number, got Array [object Object],[object Object]'
typeforce('Number', unknown)

License

This library is free and open-source software released under the MIT license.