-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
expect.subset() not type-safe #283
Comments
Okay so I had a go at fixing this and pretty quickly stumbled upon that expect.subset, like all the other matchers, returns as type So in my opinion either we change the types of all matchers (or add an optional generic of type Based on toInclude my fix would then look like this: interface Validators<T> {
toInclude(
this: Validators<T>,
...items: MemberOf<T>[]
): void
} Or maybe it's a better approach to add a new Validator altogether for validating whether objects are (partially) included in a given array. Not sure about introducing bloat to the API though. |
Hi,
first of all: Thanks a lot for all the work you have put into earl. We are currently evaluating if we will switch from chai to it because the lack of type-safety is really an issue.
We have tons of chai assertions using chai-subset that are written like this:
The same assertion can be written with earl using:
However it is not type safe as the following would also compile:
I would expect subset() to only accept Partials or (or deep Partials) of the type of items that are passed to expect().
The text was updated successfully, but these errors were encountered: