diff --git a/node_modules/@vitest/expect/dist/chai.d.cts b/node_modules/@vitest/expect/dist/chai.d.cts index 7e23131..fc4c3ed 100644 --- a/node_modules/@vitest/expect/dist/chai.d.cts +++ b/node_modules/@vitest/expect/dist/chai.d.cts @@ -13,1956 +13,4 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.0 -declare namespace Chai { - type Message = string | (() => string); - type ObjectProperty = string | symbol | number; - - interface PathInfo { - parent: object; - name: string; - value?: any; - exists: boolean; - } - - interface ErrorConstructor { - new(...args: any[]): Error; - } - - interface ChaiUtils { - addChainableMethod( - // object to define the method on, e.g. chai.Assertion.prototype - ctx: object, - // method name - name: string, - // method itself; any arguments - method: (...args: any[]) => void, - // called when property is accessed - chainingBehavior?: () => void, - ): void; - overwriteChainableMethod( - ctx: object, - name: string, - method: (...args: any[]) => void, - chainingBehavior?: () => void, - ): void; - addLengthGuard( - fn: Function, - assertionName: string, - isChainable: boolean, - ): void; - addMethod(ctx: object, name: string, method: Function): void; - addProperty(ctx: object, name: string, getter: () => any): void; - overwriteMethod(ctx: object, name: string, method: Function): void; - overwriteProperty(ctx: object, name: string, getter: () => any): void; - compareByInspect(a: object, b: object): -1 | 1; - expectTypes(obj: object, types: string[]): void; - flag(obj: object, key: string, value?: any): any; - getActual(obj: object, args: AssertionArgs): any; - getProperties(obj: object): string[]; - getEnumerableProperties(obj: object): string[]; - getOwnEnumerablePropertySymbols(obj: object): symbol[]; - getOwnEnumerableProperties(obj: object): Array; - getMessage(errorLike: Error | string): string; - getMessage(obj: any, args: AssertionArgs): string; - inspect(obj: any, showHidden?: boolean, depth?: number, colors?: boolean): string; - isProxyEnabled(): boolean; - objDisplay(obj: object): void; - proxify(obj: object, nonChainableMethodName: string): object; - test(obj: object, args: AssertionArgs): boolean; - transferFlags(assertion: Assertion, obj: object, includeAll?: boolean): void; - compatibleInstance(thrown: Error, errorLike: Error | ErrorConstructor): boolean; - compatibleConstructor(thrown: Error, errorLike: Error | ErrorConstructor): boolean; - compatibleMessage(thrown: Error, errMatcher: string | RegExp): boolean; - getConstructorName(constructorFn: Function): string; - getFuncName(constructorFn: Function): string | null; - - // Reexports from pathval: - hasProperty(obj: object | undefined | null, name: ObjectProperty): boolean; - getPathInfo(obj: object, path: string): PathInfo; - getPathValue(obj: object, path: string): object | undefined; - } - - type ChaiPlugin = (chai: ChaiStatic, utils: ChaiUtils) => void; - - interface ChaiStatic { - expect: ExpectStatic; - should(): Should; - /** - * Provides a way to extend the internals of Chai - */ - use(fn: ChaiPlugin): ChaiStatic; - util: ChaiUtils; - assert: AssertStatic; - config: Config; - Assertion: AssertionStatic; - AssertionError: typeof AssertionError; - version: string; - } - - export interface ExpectStatic { - (val: any, message?: string): Assertion; - fail(message?: string): never; - fail(actual: any, expected: any, message?: string, operator?: Operator): never; - } - - export interface AssertStatic extends Assert { - } - - // chai.Assertion.prototype.assert arguments - type AssertionArgs = [ - // 'expression to be tested' - // This parameter is unused and the docs list its type as - // 'Philosophical', which is mentioned nowhere else in the source. Do - // with that what you will! - any, - Message, // message if value fails - Message, // message if negated value fails - any, // expected value - any?, // actual value - boolean?, // showDiff - ]; - - export interface AssertionPrototype { - assert(...args: AssertionArgs): void; - _obj: any; - } - - export interface AssertionStatic extends AssertionPrototype { - prototype: AssertionPrototype; - - new(target: any, message?: string, ssfi?: Function, lockSsfi?: boolean): Assertion; - - // Deprecated properties: - includeStack: boolean; - showDiff: boolean; - - // Partials of functions on ChaiUtils: - addProperty(name: string, getter: (this: AssertionStatic) => any): void; - addMethod(name: string, method: (this: AssertionStatic, ...args: any[]) => any): void; - addChainableMethod( - name: string, - method: (this: AssertionStatic, ...args: any[]) => void, - chainingBehavior?: () => void, - ): void; - overwriteProperty(name: string, getter: (this: AssertionStatic) => any): void; - overwriteMethod(name: string, method: (this: AssertionStatic, ...args: any[]) => any): void; - overwriteChainableMethod( - name: string, - method: (this: AssertionStatic, ...args: any[]) => void, - chainingBehavior?: () => void, - ): void; - } - - export type Operator = string; // "==" | "===" | ">" | ">=" | "<" | "<=" | "!=" | "!=="; - - export type OperatorComparable = boolean | null | number | string | undefined | Date; - - interface ShouldAssertion { - equal(value1: any, value2: any, message?: string): void; - Throw: ShouldThrow; - throw: ShouldThrow; - exist(value: any, message?: string): void; - } - - interface Should extends ShouldAssertion { - not: ShouldAssertion; - fail(message?: string): never; - fail(actual: any, expected: any, message?: string, operator?: Operator): never; - } - - interface ShouldThrow { - (actual: Function, expected?: string | RegExp, message?: string): void; - (actual: Function, constructor: Error | Function, expected?: string | RegExp, message?: string): void; - } - - interface Assertion extends LanguageChains, NumericComparison, TypeComparison { - not: Assertion; - deep: Deep; - ordered: Ordered; - nested: Nested; - own: Own; - any: KeyFilter; - all: KeyFilter; - a: Assertion; - an: Assertion; - include: Include; - includes: Include; - contain: Include; - contains: Include; - ok: Assertion; - true: Assertion; - false: Assertion; - null: Assertion; - undefined: Assertion; - NaN: Assertion; - exist: Assertion; - empty: Assertion; - arguments: Assertion; - Arguments: Assertion; - finite: Assertion; - equal: Equal; - equals: Equal; - eq: Equal; - eql: Equal; - eqls: Equal; - property: Property; - ownProperty: Property; - haveOwnProperty: Property; - ownPropertyDescriptor: OwnPropertyDescriptor; - haveOwnPropertyDescriptor: OwnPropertyDescriptor; - length: Length; - lengthOf: Length; - match: Match; - matches: Match; - string(string: string, message?: string): Assertion; - keys: Keys; - key(string: string): Assertion; - throw: Throw; - throws: Throw; - Throw: Throw; - respondTo: RespondTo; - respondsTo: RespondTo; - itself: Assertion; - satisfy: Satisfy; - satisfies: Satisfy; - closeTo: CloseTo; - approximately: CloseTo; - members: Members; - increase: PropertyChange; - increases: PropertyChange; - decrease: PropertyChange; - decreases: PropertyChange; - change: PropertyChange; - changes: PropertyChange; - extensible: Assertion; - sealed: Assertion; - frozen: Assertion; - oneOf: OneOf; - } - - interface LanguageChains { - to: Assertion; - be: Assertion; - been: Assertion; - is: Assertion; - that: Assertion; - which: Assertion; - and: Assertion; - has: Assertion; - have: Assertion; - with: Assertion; - at: Assertion; - of: Assertion; - same: Assertion; - but: Assertion; - does: Assertion; - } - - interface NumericComparison { - above: NumberComparer; - gt: NumberComparer; - greaterThan: NumberComparer; - least: NumberComparer; - gte: NumberComparer; - greaterThanOrEqual: NumberComparer; - below: NumberComparer; - lt: NumberComparer; - lessThan: NumberComparer; - most: NumberComparer; - lte: NumberComparer; - lessThanOrEqual: NumberComparer; - within(start: number, finish: number, message?: string): Assertion; - within(start: Date, finish: Date, message?: string): Assertion; - } - - interface NumberComparer { - (value: number | Date, message?: string): Assertion; - } - - interface TypeComparison { - (type: string, message?: string): Assertion; - instanceof: InstanceOf; - instanceOf: InstanceOf; - } - - interface InstanceOf { - (constructor: any, message?: string): Assertion; - } - - interface CloseTo { - (expected: number, delta: number, message?: string): Assertion; - } - - interface Nested { - include: Include; - includes: Include; - contain: Include; - contains: Include; - property: Property; - members: Members; - } - - interface Own { - include: Include; - includes: Include; - contain: Include; - contains: Include; - property: Property; - } - - interface Deep extends KeyFilter { - be: Assertion; - equal: Equal; - equals: Equal; - eq: Equal; - include: Include; - includes: Include; - contain: Include; - contains: Include; - property: Property; - ordered: Ordered; - nested: Nested; - oneOf: OneOf; - own: Own; - } - - interface Ordered { - members: Members; - } - - interface KeyFilter { - keys: Keys; - members: Members; - } - - interface Equal { - (value: any, message?: string): Assertion; - } - - interface Property { - (name: string | symbol, value: any, message?: string): Assertion; - (name: string | symbol, message?: string): Assertion; - } - - interface OwnPropertyDescriptor { - (name: string | symbol, descriptor: PropertyDescriptor, message?: string): Assertion; - (name: string | symbol, message?: string): Assertion; - } - - interface Length extends LanguageChains, NumericComparison { - (length: number, message?: string): Assertion; - } - - interface Include { - (value: any, message?: string): Assertion; - keys: Keys; - deep: Deep; - ordered: Ordered; - members: Members; - any: KeyFilter; - all: KeyFilter; - oneOf: OneOf; - } - - interface OneOf { - (list: ReadonlyArray, message?: string): Assertion; - } - - interface Match { - (regexp: RegExp, message?: string): Assertion; - } - - interface Keys { - (...keys: string[]): Assertion; - (keys: ReadonlyArray | Object): Assertion; - } - - interface Throw { - (expected?: string | RegExp, message?: string): Assertion; - (constructor: Error | Function, expected?: string | RegExp, message?: string): Assertion; - } - - interface RespondTo { - (method: string, message?: string): Assertion; - } - - interface Satisfy { - (matcher: Function, message?: string): Assertion; - } - - interface Members { - (set: ReadonlyArray, message?: string): Assertion; - } - - interface PropertyChange { - (object: Object, property?: string, message?: string): DeltaAssertion; - } - - interface DeltaAssertion extends Assertion { - by(delta: number, msg?: string): Assertion; - } - - export interface Assert { - /** - * @param expression Expression to test for truthiness. - * @param message Message to display on error. - */ - (expression: any, message?: string): asserts expression; - - /** - * Throws a failure. - * - * @param message Message to display on error. - * @remarks Node.js assert module-compatible. - */ - fail(message?: string): never; - - /** - * Throws a failure. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - * @param operator Comparison operator, if not strict equality. - * @remarks Node.js assert module-compatible. - */ - fail(actual: T, expected: T, message?: string, operator?: Operator): never; - - /** - * Asserts that object is truthy. - * - * T Type of object. - * @param object Object to test. - * @param message Message to display on error. - */ - isOk(value: T, message?: string): void; - - /** - * Asserts that object is truthy. - * - * T Type of object. - * @param object Object to test. - * @param message Message to display on error. - */ - ok(value: T, message?: string): void; - - /** - * Asserts that object is falsy. - * - * T Type of object. - * @param object Object to test. - * @param message Message to display on error. - */ - isNotOk(value: T, message?: string): void; - - /** - * Asserts that object is falsy. - * - * T Type of object. - * @param object Object to test. - * @param message Message to display on error. - */ - notOk(value: T, message?: string): void; - - /** - * Asserts non-strict equality (==) of actual and expected. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - equal(actual: T, expected: T, message?: string): void; - - /** - * Asserts non-strict inequality (!=) of actual and expected. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - notEqual(actual: T, expected: T, message?: string): void; - - /** - * Asserts strict equality (===) of actual and expected. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - strictEqual(actual: T, expected: T, message?: string): void; - - /** - * Asserts strict inequality (!==) of actual and expected. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - notStrictEqual(actual: T, expected: T, message?: string): void; - - /** - * Asserts that actual is deeply equal to expected. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - deepEqual(actual: T, expected: T, message?: string): void; - - /** - * Asserts that actual is not deeply equal to expected. - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - notDeepEqual(actual: T, expected: T, message?: string): void; - - /** - * Alias to deepEqual - * - * T Type of the objects. - * @param actual Actual value. - * @param expected Potential expected value. - * @param message Message to display on error. - */ - deepStrictEqual(actual: T, expected: T, message?: string): void; - - /** - * Asserts valueToCheck is strictly greater than (>) valueToBeAbove. - * - * @param valueToCheck Actual value. - * @param valueToBeAbove Minimum Potential expected value. - * @param message Message to display on error. - */ - isAbove(valueToCheck: number, valueToBeAbove: number, message?: string): void; - - /** - * Asserts valueToCheck is greater than or equal to (>=) valueToBeAtLeast. - * - * @param valueToCheck Actual value. - * @param valueToBeAtLeast Minimum Potential expected value. - * @param message Message to display on error. - */ - isAtLeast(valueToCheck: number, valueToBeAtLeast: number, message?: string): void; - - /** - * Asserts valueToCheck is strictly less than (<) valueToBeBelow. - * - * @param valueToCheck Actual value. - * @param valueToBeBelow Minimum Potential expected value. - * @param message Message to display on error. - */ - isBelow(valueToCheck: number, valueToBeBelow: number, message?: string): void; - - /** - * Asserts valueToCheck is less than or equal to (<=) valueToBeAtMost. - * - * @param valueToCheck Actual value. - * @param valueToBeAtMost Minimum Potential expected value. - * @param message Message to display on error. - */ - isAtMost(valueToCheck: number, valueToBeAtMost: number, message?: string): void; - - /** - * Asserts that value is true. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isTrue(value: T, message?: string): void; - - /** - * Asserts that value is false. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isFalse(value: T, message?: string): void; - - /** - * Asserts that value is not true. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotTrue(value: T, message?: string): void; - - /** - * Asserts that value is not false. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotFalse(value: T, message?: string): void; - - /** - * Asserts that value is null. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNull(value: T, message?: string): void; - - /** - * Asserts that value is not null. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotNull(value: T, message?: string): void; - - /** - * Asserts that value is NaN. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNaN(value: T, message?: string): void; - - /** - * Asserts that value is not NaN. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotNaN(value: T, message?: string): void; - - /** - * Asserts that the target is neither null nor undefined. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - exists(value: T, message?: string): void; - - /** - * Asserts that the target is either null or undefined. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - notExists(value: T, message?: string): void; - - /** - * Asserts that value is undefined. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isUndefined(value: T, message?: string): void; - - /** - * Asserts that value is not undefined. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isDefined(value: T, message?: string): void; - - /** - * Asserts that value is a function. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isFunction(value: T, message?: string): void; - - /** - * Asserts that value is not a function. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotFunction(value: T, message?: string): void; - - /** - * Asserts that value is an object of type 'Object' - * (as revealed by Object.prototype.toString). - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - * @remarks The assertion does not match subclassed objects. - */ - isObject(value: T, message?: string): void; - - /** - * Asserts that value is not an object of type 'Object' - * (as revealed by Object.prototype.toString). - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotObject(value: T, message?: string): void; - - /** - * Asserts that value is an array. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isArray(value: T, message?: string): void; - - /** - * Asserts that value is not an array. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotArray(value: T, message?: string): void; - - /** - * Asserts that value is a string. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isString(value: T, message?: string): void; - - /** - * Asserts that value is not a string. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotString(value: T, message?: string): void; - - /** - * Asserts that value is a number. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNumber(value: T, message?: string): void; - - /** - * Asserts that value is not a number. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotNumber(value: T, message?: string): void; - - /** - * Asserts that value is a finite number. - * Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. - * - * T Type of value - * @param value Actual value - * @param message Message to display on error. - */ - isFinite(value: T, message?: string): void; - - /** - * Asserts that value is a boolean. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isBoolean(value: T, message?: string): void; - - /** - * Asserts that value is not a boolean. - * - * T Type of value. - * @param value Actual value. - * @param message Message to display on error. - */ - isNotBoolean(value: T, message?: string): void; - - /** - * Asserts that value's type is name, as determined by Object.prototype.toString. - * - * T Type of value. - * @param value Actual value. - * @param name Potential expected type name of value. - * @param message Message to display on error. - */ - typeOf(value: T, name: string, message?: string): void; - - /** - * Asserts that value's type is not name, as determined by Object.prototype.toString. - * - * T Type of value. - * @param value Actual value. - * @param name Potential expected type name of value. - * @param message Message to display on error. - */ - notTypeOf(value: T, name: string, message?: string): void; - - /** - * Asserts that value is an instance of constructor. - * - * T Type of value. - * @param value Actual value. - * @param constructor Potential expected contructor of value. - * @param message Message to display on error. - */ - instanceOf(value: T, constructor: Function, message?: string): void; - - /** - * Asserts that value is not an instance of constructor. - * - * T Type of value. - * @param value Actual value. - * @param constructor Potential expected contructor of value. - * @param message Message to display on error. - */ - notInstanceOf(value: T, type: Function, message?: string): void; - - /** - * Asserts that haystack includes needle. - * - * @param haystack Container string. - * @param needle Potential substring of haystack. - * @param message Message to display on error. - */ - include(haystack: string, needle: string, message?: string): void; - - /** - * Asserts that haystack includes needle. - * - * T Type of values in haystack. - * @param haystack Container array, set or map. - * @param needle Potential value contained in haystack. - * @param message Message to display on error. - */ - include( - haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, - needle: T, - message?: string, - ): void; - - /** - * Asserts that haystack includes needle. - * - * T Type of values in haystack. - * @param haystack WeakSet container. - * @param needle Potential value contained in haystack. - * @param message Message to display on error. - */ - include(haystack: WeakSet, needle: T, message?: string): void; - - /** - * Asserts that haystack includes needle. - * - * T Type of haystack. - * @param haystack Object. - * @param needle Potential subset of the haystack's properties. - * @param message Message to display on error. - */ - include(haystack: T, needle: Partial, message?: string): void; - - /** - * Asserts that haystack does not includes needle. - * - * @param haystack Container string. - * @param needle Potential substring of haystack. - * @param message Message to display on error. - */ - notInclude(haystack: string, needle: string, message?: string): void; - - /** - * Asserts that haystack does not includes needle. - * - * T Type of values in haystack. - * @param haystack Container array, set or map. - * @param needle Potential value contained in haystack. - * @param message Message to display on error. - */ - notInclude( - haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, - needle: T, - message?: string, - ): void; - - /** - * Asserts that haystack does not includes needle. - * - * T Type of values in haystack. - * @param haystack WeakSet container. - * @param needle Potential value contained in haystack. - * @param message Message to display on error. - */ - notInclude(haystack: WeakSet, needle: T, message?: string): void; - - /** - * Asserts that haystack does not includes needle. - * - * T Type of haystack. - * @param haystack Object. - * @param needle Potential subset of the haystack's properties. - * @param message Message to display on error. - */ - notInclude(haystack: T, needle: Partial, message?: string): void; - - /** - * Asserts that haystack includes needle. Deep equality is used. - * - * @param haystack Container string. - * @param needle Potential substring of haystack. - * @param message Message to display on error. - * - * @deprecated Does not have any effect on string. Use {@link Assert#include} instead. - */ - deepInclude(haystack: string, needle: string, message?: string): void; - - /** - * Asserts that haystack includes needle. Deep equality is used. - * - * T Type of values in haystack. - * @param haystack Container array, set or map. - * @param needle Potential value contained in haystack. - * @param message Message to display on error. - */ - deepInclude( - haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, - needle: T, - message?: string, - ): void; - - /** - * Asserts that haystack does not includes needle. - * - * T Type of haystack. - * @param haystack Object. - * @param needle Potential subset of the haystack's properties. - * @param message Message to display on error. - */ - deepInclude(haystack: T, needle: T extends WeakSet ? never : Partial, message?: string): void; - - /** - * Asserts that haystack does not includes needle. Deep equality is used. - * - * @param haystack Container string. - * @param needle Potential substring of haystack. - * @param message Message to display on error. - * - * @deprecated Does not have any effect on string. Use {@link Assert#notInclude} instead. - */ - notDeepInclude(haystack: string, needle: string, message?: string): void; - - /** - * Asserts that haystack does not includes needle. Deep equality is used. - * - * T Type of values in haystack. - * @param haystack Container array, set or map. - * @param needle Potential value contained in haystack. - * @param message Message to display on error. - */ - notDeepInclude( - haystack: ReadonlyArray | ReadonlySet | ReadonlyMap, - needle: T, - message?: string, - ): void; - - /** - * Asserts that haystack does not includes needle. Deep equality is used. - * - * T Type of haystack. - * @param haystack Object. - * @param needle Potential subset of the haystack's properties. - * @param message Message to display on error. - */ - notDeepInclude(haystack: T, needle: T extends WeakSet ? never : Partial, message?: string): void; - - /** - * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object. - * - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. - * Can be used to assert the inclusion of a subset of properties in an object. - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - nestedInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ does not include ‘needle’. Can be used to assert the absence of a subset of properties in an object. - * - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. - * Can be used to assert the inclusion of a subset of properties in an object. - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - notNestedInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while checking for deep equality - * - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. - * Can be used to assert the inclusion of a subset of properties in an object. - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - deepNestedInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ does not include ‘needle’. Can be used to assert the absence of a subset of properties in an object while checking for deep equality. - * - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. - * Can be used to assert the inclusion of a subset of properties in an object. - * Enables the use of dot- and bracket-notation for referencing nested properties. - * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - notDeepNestedInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while ignoring inherited properties. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - ownInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the absence of a subset of properties in an object while ignoring inherited properties. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - notOwnInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while ignoring inherited properties and checking for deep - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - deepOwnInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the absence of a subset of properties in an object while ignoring inherited properties and checking for deep equality. - * - * @param haystack - * @param needle - * @param message Message to display on error. - */ - notDeepOwnInclude(haystack: any, needle: any, message?: string): void; - - /** - * Asserts that value matches the regular expression regexp. - * - * @param value Actual value. - * @param regexp Potential match of value. - * @param message Message to display on error. - */ - match(value: string, regexp: RegExp, message?: string): void; - - /** - * Asserts that value does not match the regular expression regexp. - * - * @param value Actual value. - * @param regexp Potential match of value. - * @param message Message to display on error. - */ - notMatch(expected: any, regexp: RegExp, message?: string): void; - - /** - * Asserts that object has a property named by property. - * - * T Type of object. - * @param object Container object. - * @param property Potential contained property of object. - * @param message Message to display on error. - */ - property(object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that object has a property named by property. - * - * T Type of object. - * @param object Container object. - * @param property Potential contained property of object. - * @param message Message to display on error. - */ - notProperty(object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that object has a property named by property, which can be a string - * using dot- and bracket-notation for deep reference. - * - * T Type of object. - * @param object Container object. - * @param property Potential contained property of object. - * @param message Message to display on error. - */ - deepProperty(object: T, property: string, message?: string): void; - - /** - * Asserts that object does not have a property named by property, which can be a - * string using dot- and bracket-notation for deep reference. - * - * T Type of object. - * @param object Container object. - * @param property Potential contained property of object. - * @param message Message to display on error. - */ - notDeepProperty(object: T, property: string, message?: string): void; - - /** - * Asserts that object has a property named by property with value given by value. - * - * T Type of object. - * V Type of value. - * @param object Container object. - * @param property Potential contained property of object. - * @param value Potential expected property value. - * @param message Message to display on error. - */ - propertyVal(object: T, property: string, /* keyof T */ value: V, message?: string): void; - - /** - * Asserts that object has a property named by property with value given by value. - * - * T Type of object. - * V Type of value. - * @param object Container object. - * @param property Potential contained property of object. - * @param value Potential expected property value. - * @param message Message to display on error. - */ - notPropertyVal(object: T, property: string, /* keyof T */ value: V, message?: string): void; - - /** - * Asserts that object has a property named by property, which can be a string - * using dot- and bracket-notation for deep reference. - * - * T Type of object. - * V Type of value. - * @param object Container object. - * @param property Potential contained property of object. - * @param value Potential expected property value. - * @param message Message to display on error. - */ - deepPropertyVal(object: T, property: string, value: V, message?: string): void; - - /** - * Asserts that object does not have a property named by property, which can be a - * string using dot- and bracket-notation for deep reference. - * - * T Type of object. - * V Type of value. - * @param object Container object. - * @param property Potential contained property of object. - * @param value Potential expected property value. - * @param message Message to display on error. - */ - notDeepPropertyVal(object: T, property: string, value: V, message?: string): void; - - /** - * Asserts that object has a length property with the expected value. - * - * T Type of object. - * @param object Container object. - * @param length Potential expected length of object. - * @param message Message to display on error. - */ - lengthOf(object: T, length: number, message?: string): void; - - /** - * Asserts that fn will throw an error. - * - * @param fn Function that may throw. - * @param errMsgMatcher Expected error message matcher. - * @param ignored Ignored parameter. - * @param message Message to display on error. - */ - throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; - - /** - * Asserts that fn will throw an error. - * - * @param fn Function that may throw. - * @param errorLike Expected error constructor or error instance. - * @param errMsgMatcher Expected error message matcher. - * @param message Message to display on error. - */ - throw( - fn: () => void, - errorLike?: ErrorConstructor | Error | null, - errMsgMatcher?: RegExp | string | null, - message?: string, - ): void; - - /** - * Asserts that fn will throw an error. - * - * @param fn Function that may throw. - * @param errMsgMatcher Expected error message matcher. - * @param ignored Ignored parameter. - * @param message Message to display on error. - */ - throws(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; - - /** - * Asserts that fn will throw an error. - * - * @param fn Function that may throw. - * @param errorLike Expected error constructor or error instance. - * @param errMsgMatcher Expected error message matcher. - * @param message Message to display on error. - */ - throws( - fn: () => void, - errorLike?: ErrorConstructor | Error | null, - errMsgMatcher?: RegExp | string | null, - message?: string, - ): void; - - /** - * Asserts that fn will throw an error. - * - * @param fn Function that may throw. - * @param errMsgMatcher Expected error message matcher. - * @param ignored Ignored parameter. - * @param message Message to display on error. - */ - Throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; - - /** - * Asserts that fn will throw an error. - * - * @param fn Function that may throw. - * @param errorLike Expected error constructor or error instance. - * @param errMsgMatcher Expected error message matcher. - * @param message Message to display on error. - */ - Throw( - fn: () => void, - errorLike?: ErrorConstructor | Error | null, - errMsgMatcher?: RegExp | string | null, - message?: string, - ): void; - - /** - * Asserts that fn will not throw an error. - * - * @param fn Function that may throw. - * @param errMsgMatcher Expected error message matcher. - * @param ignored Ignored parameter. - * @param message Message to display on error. - */ - doesNotThrow(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; - - /** - * Asserts that fn will not throw an error. - * - * @param fn Function that may throw. - * @param errorLike Expected error constructor or error instance. - * @param errMsgMatcher Expected error message matcher. - * @param message Message to display on error. - */ - doesNotThrow( - fn: () => void, - errorLike?: ErrorConstructor | Error | null, - errMsgMatcher?: RegExp | string | null, - message?: string, - ): void; - - /** - * Compares two values using operator. - * - * @param val1 Left value during comparison. - * @param operator Comparison operator. - * @param val2 Right value during comparison. - * @param message Message to display on error. - */ - operator(val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string): void; - - /** - * Asserts that the target is equal to expected, to within a +/- delta range. - * - * @param actual Actual value - * @param expected Potential expected value. - * @param delta Maximum differenced between values. - * @param message Message to display on error. - */ - closeTo(actual: number, expected: number, delta: number, message?: string): void; - - /** - * Asserts that the target is equal to expected, to within a +/- delta range. - * - * @param actual Actual value - * @param expected Potential expected value. - * @param delta Maximum differenced between values. - * @param message Message to display on error. - */ - approximately(act: number, exp: number, delta: number, message?: string): void; - - /** - * Asserts that set1 and set2 have the same members. Order is not take into account. - * - * T Type of set values. - * @param set1 Actual set of values. - * @param set2 Potential expected set of values. - * @param message Message to display on error. - */ - sameMembers(set1: T[], set2: T[], message?: string): void; - - /** - * Asserts that set1 and set2 have the same members using deep equality checking. - * Order is not take into account. - * - * T Type of set values. - * @param set1 Actual set of values. - * @param set2 Potential expected set of values. - * @param message Message to display on error. - */ - sameDeepMembers(set1: T[], set2: T[], message?: string): void; - - /** - * Asserts that set1 and set2 have the same members in the same order. - * Uses a strict equality check (===). - * - * T Type of set values. - * @param set1 Actual set of values. - * @param set2 Potential expected set of values. - * @param message Message to display on error. - */ - sameOrderedMembers(set1: T[], set2: T[], message?: string): void; - - /** - * Asserts that set1 and set2 don’t have the same members in the same order. - * Uses a strict equality check (===). - * - * T Type of set values. - * @param set1 Actual set of values. - * @param set2 Potential expected set of values. - * @param message Message to display on error. - */ - notSameOrderedMembers(set1: T[], set2: T[], message?: string): void; - - /** - * Asserts that set1 and set2 have the same members in the same order. - * Uses a deep equality check. - * - * T Type of set values. - * @param set1 Actual set of values. - * @param set2 Potential expected set of values. - * @param message Message to display on error. - */ - sameDeepOrderedMembers(set1: T[], set2: T[], message?: string): void; - - /** - * Asserts that set1 and set2 don’t have the same members in the same order. - * Uses a deep equality check. - * - * T Type of set values. - * @param set1 Actual set of values. - * @param set2 Potential expected set of values. - * @param message Message to display on error. - */ - notSameDeepOrderedMembers(set1: T[], set2: T[], message?: string): void; - - /** - * Asserts that subset is included in superset in the same order beginning with the first element in superset. - * Uses a strict equality check (===). - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential contained set of values. - * @param message Message to display on error. - */ - includeOrderedMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that subset isn’t included in superset in the same order beginning with the first element in superset. - * Uses a strict equality check (===). - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential contained set of values. - * @param message Message to display on error. - */ - notIncludeOrderedMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that subset is included in superset in the same order beginning with the first element in superset. - * Uses a deep equality check. - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential contained set of values. - * @param message Message to display on error. - */ - includeDeepOrderedMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that subset isn’t included in superset in the same order beginning with the first element in superset. - * Uses a deep equality check. - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential contained set of values. - * @param message Message to display on error. - */ - notIncludeDeepOrderedMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that subset is included in superset. Order is not take into account. - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential contained set of values. - * @param message Message to display on error. - */ - includeMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that subset isn’t included in superset in any order. - * Uses a strict equality check (===). Duplicates are ignored. - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential not contained set of values. - * @param message Message to display on error. - */ - notIncludeMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that subset is included in superset using deep equality checking. - * Order is not take into account. - * - * T Type of set values. - * @param superset Actual set of values. - * @param subset Potential contained set of values. - * @param message Message to display on error. - */ - includeDeepMembers(superset: T[], subset: T[], message?: string): void; - - /** - * Asserts that non-object, non-array value inList appears in the flat array list. - * - * T Type of list values. - * @param inList Value expected to be in the list. - * @param list List of values. - * @param message Message to display on error. - */ - oneOf(inList: T, list: T[], message?: string): void; - - /** - * Asserts that a function changes the value of a property. - * - * T Type of object. - * @param modifier Function to run. - * @param object Container object. - * @param property Property of object expected to be modified. - * @param message Message to display on error. - */ - changes(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that a function does not change the value of a property. - * - * T Type of object. - * @param modifier Function to run. - * @param object Container object. - * @param property Property of object expected not to be modified. - * @param message Message to display on error. - */ - doesNotChange(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that a function increases an object property. - * - * T Type of object. - * @param modifier Function to run. - * @param object Container object. - * @param property Property of object expected to be increased. - * @param message Message to display on error. - */ - increases(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that a function does not increase an object property. - * - * T Type of object. - * @param modifier Function to run. - * @param object Container object. - * @param property Property of object expected not to be increased. - * @param message Message to display on error. - */ - doesNotIncrease(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that a function decreases an object property. - * - * T Type of object. - * @param modifier Function to run. - * @param object Container object. - * @param property Property of object expected to be decreased. - * @param message Message to display on error. - */ - decreases(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts that a function does not decrease an object property. - * - * T Type of object. - * @param modifier Function to run. - * @param object Container object. - * @param property Property of object expected not to be decreased. - * @param message Message to display on error. - */ - doesNotDecrease(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; - - /** - * Asserts if value is not a false value, and throws if it is a true value. - * - * T Type of object. - * @param object Actual value. - * @param message Message to display on error. - * @remarks This is added to allow for chai to be a drop-in replacement for - * Node’s assert class. - */ - ifError(object: T, message?: string): void; - - /** - * Asserts that object is extensible (can have new properties added to it). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isExtensible(object: T, message?: string): void; - - /** - * Asserts that object is extensible (can have new properties added to it). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - extensible(object: T, message?: string): void; - - /** - * Asserts that object is not extensible. - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isNotExtensible(object: T, message?: string): void; - - /** - * Asserts that object is not extensible. - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - notExtensible(object: T, message?: string): void; - - /** - * Asserts that object is sealed (can have new properties added to it - * and its existing properties cannot be removed). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isSealed(object: T, message?: string): void; - - /** - * Asserts that object is sealed (can have new properties added to it - * and its existing properties cannot be removed). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - sealed(object: T, message?: string): void; - - /** - * Asserts that object is not sealed. - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isNotSealed(object: T, message?: string): void; - - /** - * Asserts that object is not sealed. - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - notSealed(object: T, message?: string): void; - - /** - * Asserts that object is frozen (cannot have new properties added to it - * and its existing properties cannot be removed). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isFrozen(object: T, message?: string): void; - - /** - * Asserts that object is frozen (cannot have new properties added to it - * and its existing properties cannot be removed). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - frozen(object: T, message?: string): void; - - /** - * Asserts that object is not frozen (cannot have new properties added to it - * and its existing properties cannot be removed). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isNotFrozen(object: T, message?: string): void; - - /** - * Asserts that object is not frozen (cannot have new properties added to it - * and its existing properties cannot be removed). - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - notFrozen(object: T, message?: string): void; - - /** - * Asserts that the target does not contain any values. For arrays and - * strings, it checks the length property. For Map and Set instances, it - * checks the size property. For non-function objects, it gets the count - * of own enumerable string keys. - * - * T Type of object - * @param object Actual value. - * @param message Message to display on error. - */ - isEmpty(object: T, message?: string): void; - - /** - * Asserts that the target contains values. For arrays and strings, it checks - * the length property. For Map and Set instances, it checks the size property. - * For non-function objects, it gets the count of own enumerable string keys. - * - * T Type of object. - * @param object Object to test. - * @param message Message to display on error. - */ - isNotEmpty(object: T, message?: string): void; - - /** - * Asserts that `object` has at least one of the `keys` provided. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - hasAnyKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` has all and only all of the `keys` provided. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - hasAllKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` has all of the `keys` provided but may have more keys not listed. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - containsAllKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` has none of the `keys` provided. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - doesNotHaveAnyKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` does not have at least one of the `keys` provided. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - doesNotHaveAllKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` has at least one of the `keys` provided. - * Since Sets and Maps can have objects as keys you can use this assertion to perform - * a deep comparison. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - hasAnyDeepKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` has all and only all of the `keys` provided. - * Since Sets and Maps can have objects as keys you can use this assertion to perform - * a deep comparison. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - hasAllDeepKeys(object: T, keys: Array | { [key: string]: any }, message?: string): void; - - /** - * Asserts that `object` contains all of the `keys` provided. - * Since Sets and Maps can have objects as keys you can use this assertion to perform - * a deep comparison. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - containsAllDeepKeys( - object: T, - keys: Array | { [key: string]: any }, - message?: string, - ): void; - - /** - * Asserts that `object` contains all of the `keys` provided. - * Since Sets and Maps can have objects as keys you can use this assertion to perform - * a deep comparison. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - doesNotHaveAnyDeepKeys( - object: T, - keys: Array | { [key: string]: any }, - message?: string, - ): void; - - /** - * Asserts that `object` contains all of the `keys` provided. - * Since Sets and Maps can have objects as keys you can use this assertion to perform - * a deep comparison. - * You can also provide a single object instead of a `keys` array and its keys - * will be used as the expected set of keys. - * - * T Type of object. - * @param object Object to test. - * @param keys Keys to check - * @param message Message to display on error. - */ - doesNotHaveAllDeepKeys( - object: T, - keys: Array | { [key: string]: any }, - message?: string, - ): void; - - /** - * Asserts that object has a direct or inherited property named by property, - * which can be a string using dot- and bracket-notation for nested reference. - * - * T Type of object. - * @param object Object to test. - * @param property Property to test. - * @param message Message to display on error. - */ - nestedProperty(object: T, property: string, message?: string): void; - - /** - * Asserts that object does not have a property named by property, - * which can be a string using dot- and bracket-notation for nested reference. - * The property cannot exist on the object nor anywhere in its prototype chain. - * - * T Type of object. - * @param object Object to test. - * @param property Property to test. - * @param message Message to display on error. - */ - notNestedProperty(object: T, property: string, message?: string): void; - - /** - * Asserts that object has a property named by property with value given by value. - * property can use dot- and bracket-notation for nested reference. Uses a strict equality check (===). - * - * T Type of object. - * @param object Object to test. - * @param property Property to test. - * @param value Value to test. - * @param message Message to display on error. - */ - nestedPropertyVal(object: T, property: string, value: any, message?: string): void; - - /** - * Asserts that object does not have a property named by property with value given by value. - * property can use dot- and bracket-notation for nested reference. Uses a strict equality check (===). - * - * T Type of object. - * @param object Object to test. - * @param property Property to test. - * @param value Value to test. - * @param message Message to display on error. - */ - notNestedPropertyVal(object: T, property: string, value: any, message?: string): void; - - /** - * Asserts that object has a property named by property with a value given by value. - * property can use dot- and bracket-notation for nested reference. Uses a deep equality check. - * - * T Type of object. - * @param object Object to test. - * @param property Property to test. - * @param value Value to test. - * @param message Message to display on error. - */ - deepNestedPropertyVal(object: T, property: string, value: any, message?: string): void; - - /** - * Asserts that object does not have a property named by property with value given by value. - * property can use dot- and bracket-notation for nested reference. Uses a deep equality check. - * - * T Type of object. - * @param object Object to test. - * @param property Property to test. - * @param value Value to test. - * @param message Message to display on error. - */ - notDeepNestedPropertyVal(object: T, property: string, value: any, message?: string): void; - } - - export interface Config { - /** - * Default: false - */ - includeStack: boolean; - - /** - * Default: true - */ - showDiff: boolean; - - /** - * Default: 40 - */ - truncateThreshold: number; - - /** - * Default: true - */ - useProxy: boolean; - - /** - * Default: ['then', 'catch', 'inspect', 'toJSON'] - */ - proxyExcludedKeys: string[]; - } - - export class AssertionError { - constructor(message: string, _props?: any, ssf?: Function); - name: string; - message: string; - showDiff: boolean; - stack: string; - } -} - -declare const chai: Chai.ChaiStatic; - -declare module "chai" { - export = chai; -} - -// interface Object { -// should: Chai.Assertion; -// } +/* SIGNAL: We already have @types/chai and it conflicts with this file */