Native Package Manager

    jest-asserts
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.0 • Public • Published

    jest-asserts

    Assertion functions of jest for type guard in TypeScript.

    TypeScriptの型ガードのための、JESTのアサーション関数群です。

    expect(o).toBe~(...)assertToBe~(o, ...)の型で呼ぶようにしただけですが、TypeScript3.7から導入されたAssertion Functionsを利用して型ガードが利用できるようになっています。

    今まで必要になったらその場その場で作っていたんですが、型に合わせて作り直すのが面倒になってきたのでGenericsで引数の型に合わせてうまくやってくれるようにしてみました。

    import 'jest-asserts';

    importだけは前もってしておいてください。

        const o = ((): { a: 1 } | { b: 1 } => ({ a: 1 }))();
        // @ts-expect-error ここではエラー
        o.a;
        jestAsserts.assertToHaveProperty(o, 'a');
        // ここではエラーにならない
        o.a;
    

    あわせてexpect(o).not.toBe~(...)を呼ぶだけのassertNotToBe~(o, ...)も用意しています。

        const o = ((): { t: 1; a: 1 } | { t: 2 } => ({ t: 1, a: 1 }))();
        // @ts-expect-error ここではエラー
        o.a;
        jestAsserts.assertToHaveProperty(o, 't', 1 as const);
        // ここではエラーにならない
        o.a;
    

    Line up

    • jestAsserts.assert
    • jestAsserts.assertToHaveProperty
    • jestAsserts.assertNotToHaveProperty
    • jestAsserts.assertToBeInstanceOf
    • jestAsserts.assertNotToBeInstanceOf
    • jestAsserts.assertToBeUndefined
    • jestAsserts.assertNotToBeUndefined
    • jestAsserts.assertToBeDefined
    • jestAsserts.assertNotToBeDefined
    • jestAsserts.assertToBeNull
    • jestAsserts.assertNotToBeNull
    • jestAsserts.assertToBeFalsy
    • jestAsserts.assertNotToBeFalsy
    • jestAsserts.assertToBeTruthy
    • jestAsserts.assertNotToBeTruthy
    • jestAsserts.assertToBe
    • jestAsserts.assertNotToBe

    Keywords

    none

    Install

    npm i jest-asserts

    DownloadsWeekly Downloads

    2

    Version

    0.1.0

    License

    none

    Unpacked Size

    9.29 kB

    Total Files

    5

    Last publish

    Collaborators

    • sugoroku-y