1.1.0 • Published 5 years ago
typed-nodejs-assert v1.1.0
typed nodejs assert
various fixes for nodeJS assertions in typescript.
what it do
this packages fixes the following issues:
- the typescript definitions for the default assertion library in nodeJS
do not properly check the types of expected/actual values,
leading to assertion errors that could
easily be caught by the compiler. for example. in the current type definitions, the following error would not occur:
type Foo = { bar: number } const foo: Foo = { bar: 1 } //@ts-expect-error TS2345: Argument of type '{}' is not assignable to parameter of type 'Foo'. Property 'bar' is missing in type '{}' but required in type 'Foo' assert.deepStrictEqual(foo, {}) - power-assert can only be imported using UMD syntax
(ie.
const assert = require('power-assert')), meaning it's treated asanyby the compiler in many cases
how to use
normally
import assert from 'typed-nodejs-assert'with power-assert
due to the fact that power-assert usually has to be imported using UMD syntax, you have to import it as such and give it
the PowerAsssert type from this package.
import { PowerAssert } from 'typed-nodejs-assert'
const assert: PowerAssert = require('power-assert')IMPORTANT: you have to explicitly specify the type as shown above. the following will not work:
const assert = require('power-assert') as PowerAssertsee this issue for more info