Home

Awesome

tcomb-generate

standard-readme compliant npm version

tcomb-generate convert tcomb type to jsverify arbitrary.

Table of Contents

Background

Property-based testing is very awesome approach for analyze and verification program. But this approach requires the writing of generators for all datatypes in our program. This process is very time-consuming, error-prone and not DRY.

Example:

import * as t from 'tcomb'

const AsteroidType = t.interface({
    type: t.enums.of('asteroid'),
    location: t.tuple([t.Number, t.Number, t.Number]),
    mass: t.Number,
})

const AsteroidArbitrary = jsc.record({
    type: jsc.constant('asteroid'),
    location: jsc.tuple(jsc.number, jsc.number, jsc.number),
    mass: jsc.number
})

But with tcomb-generate we can get AsteroidArbitrary from AsteroidType:

import { makeJsverifyArbitrary } from 'tcomb-generate'
const AsteroidType = t.interface({
    type: t.enums.of('asteroid'),
    location: t.tuple([t.Number, t.Number, t.Number]),
    mass: t.Number,
})
const AsteroidArbitrary = makeJsverifyArbitrary(AsteroidType)

Install

npm install --save tcomb-generate

Usage

API

Contribute

PRs accepted.

If you had questions just make issue or ask them in my telegram

Small note: If editing the Readme, please conform to the standard-readme specification.

License

MIT © typeetfunc