BREAKING CHANGE(docs): Update documentation and examples to unify async and sync assertions, add custom matcher guides, and update package configuration

This commit is contained in:
2025-04-28 19:10:27 +00:00
parent 6f1e37cf56
commit 47458118a6
19 changed files with 606 additions and 663 deletions

39
ts/namespaces/object.ts Normal file
View File

@ -0,0 +1,39 @@
import { Assertion } from '../smartexpect.classes.assertion.js';
/**
* Namespace for object-specific matchers
*/
export class ObjectMatchers<T extends object> {
constructor(private assertion: Assertion<T>) {}
toEqual(expected: any) {
return this.assertion.toEqual(expected);
}
toMatchObject(expected: object) {
return this.assertion.toMatchObject(expected);
}
toBeInstanceOf(constructor: any) {
return this.assertion.toBeInstanceOf(constructor);
}
toHaveProperty(property: string, value?: any) {
return this.assertion.toHaveProperty(property, value);
}
toHaveDeepProperty(path: string[]) {
return this.assertion.toHaveDeepProperty(path);
}
toBeNull() {
return this.assertion.toBeNull();
}
toBeUndefined() {
return this.assertion.toBeUndefined();
}
toBeNullOrUndefined() {
return this.assertion.toBeNullOrUndefined();
}
}