Skip to content

Expect Type Error #31

@anodynos

Description

@anodynos

Hey and thanks for this lib - I started using it to day, coming from using plain .ts files with typed variable assignments & forced errors with // @ts-expect-error on top. It worked well, but I want to get to something more structured.

I see I also have to use // ts-expect-error to catch expected errors in ts-expect-error, which is fine.

I'm also in the habit of documenting the expected errors, like we do in out code tests, but it's purely for documentation & future reference, as it's not possible to be checked. For example:

const identity = <T>(val: T): T => val

// @ts-expect-error: TS2322: Type number is not assignable to type string
const str: string = identity(123)

In ts-expect we have the expectType<number>("test"); // Compiler error example, but we don't document the error somehow, so it can be checked.

An exotic new version could support something like:

expectTypeError<number>("test", `TS2345: Argument of type string is not assignable to parameter of type number`);

and perhaps do some magic to obtain error codes & descriptions.

I know this is much much harder, and probably not just a lib, as it perhaps would have to incorporate information from the IDE or TS compiler to do the trick, but there might be a way ;-) Maybe an IDE plugin? Who knows!

Anyway, just a thought, just sharing!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions