d-contract

For Support, Design by Contract(DBC).

Usage no npm install needed!

<script type="module">
  import dContract from 'https://cdn.skypack.dev/d-contract';
</script>

README

d-contract

For Support, Design by Contract(DBC)

Use

import dContract = require('d-contract');
const { validate, required } = dContract;

class Converter {
  @validate((result) => typeof result === 'number')
  toNumber(@required((numeric) => !isNaN(numeric)) numeric: string) {
    return Number(numeric);
  }
}

const converter = new Converter();
console.log(converter.toNumber('1213'));
console.log(converter.toNumber('aaa')); // throw assert error