typed-nodejs-assert
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

typed nodejs assert

various fixes for nodeJS assertions in typescript.

npm

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 as any by 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 PowerAssert

see this issue for more info

Readme

Keywords

none

Package Sidebar

Install

npm i typed-nodejs-assert

Weekly Downloads

16

Version

1.1.0

License

ISC

Unpacked Size

14.6 kB

Total Files

10

Last publish

Collaborators

  • detachhead