Description
Currently, notEquals
/notDeepEquals
expect type T
for the input parameter. They should actually expect anything except for T
, and thus throw a TypeScript error when used correctly in a TypeScript environment.
The simple solution is just to do a generic like such:
notEquals<U>(value: U): AssertionDescriber;
notDeepEquals<U>(value: U): AssertionDescriber;
We can also explicitly exclude T
somehow like such:
soulofmischief/DefinitelyTyped@d0268d6
but this technique would be overly restrictive for notEquals
and I'm unsure how to make it less restrictive without built-in language support. It would additionally require extra boilerplate to handle primitive types, which it currently fails on.
If #47 moves forward then notDeepEquals
doesn't need special handling anyway and the simple generic solution proposed above might be the most straightforward fix.