check-dts
becomes especially useful for testing libraries with with TypeScript generics, like the ones we have in Nano Events or Storeon.
// Negative test: test/index.errors.ts
import lib = require('../')
interface Events {
'set': (a: string, b: number) => void
}
// THROWS Expected 3 arguments, but got 2
lib.on<Events>('set', 2)
// Positive test: test/index.types.ts
import lib = require('../')
interface Events {
'set': (a: string, b: number) => void
}
lib.on<Events>('set', 'prop', 1)