@plugjs/expect5 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/dist/expectation/async.cjs +14 -22
  3. package/dist/expectation/async.cjs.map +1 -1
  4. package/dist/expectation/async.d.ts +39 -13
  5. package/dist/expectation/async.mjs +14 -22
  6. package/dist/expectation/async.mjs.map +1 -1
  7. package/dist/expectation/expect.cjs +3 -3
  8. package/dist/expectation/expect.cjs.map +1 -1
  9. package/dist/expectation/expect.d.ts +3 -3
  10. package/dist/expectation/expect.mjs +4 -4
  11. package/dist/expectation/expect.mjs.map +1 -1
  12. package/dist/expectation/expectations.cjs +27 -44
  13. package/dist/expectation/expectations.cjs.map +1 -1
  14. package/dist/expectation/expectations.d.ts +72 -14
  15. package/dist/expectation/expectations.mjs +27 -44
  16. package/dist/expectation/expectations.mjs.map +1 -1
  17. package/dist/expectation/matchers.cjs +24 -47
  18. package/dist/expectation/matchers.cjs.map +1 -1
  19. package/dist/expectation/matchers.d.ts +136 -93
  20. package/dist/expectation/matchers.mjs +23 -46
  21. package/dist/expectation/matchers.mjs.map +1 -1
  22. package/dist/expectation/types.cjs.map +1 -1
  23. package/dist/expectation/types.d.ts +2 -2
  24. package/dist/expectation/types.mjs.map +1 -1
  25. package/dist/test.cjs +5 -2
  26. package/dist/test.cjs.map +1 -1
  27. package/dist/test.mjs +6 -3
  28. package/dist/test.mjs.map +1 -1
  29. package/package.json +3 -3
  30. package/src/expectation/async.ts +69 -17
  31. package/src/expectation/expect.ts +6 -6
  32. package/src/expectation/expectations.ts +152 -27
  33. package/src/expectation/matchers.ts +207 -125
  34. package/src/expectation/types.ts +2 -2
  35. package/src/test.ts +8 -2
@@ -1,15 +1,18 @@
1
1
  import { type Diff } from './diff';
2
- import { type Matchers } from './matchers';
2
+ import { type Matcher } from './matchers';
3
3
  import { type Constructor, type TypeMappings, type TypeName } from './types';
4
4
  /** An assertion function, for sub-expectations and value introspection */
5
5
  export type AssertionFunction<T = unknown> = (assert: Expectations<T>) => void | Expectations;
6
6
  /** Return the type asserted by an {@link AssertionFunction} or `T` */
7
7
  export type AssertedType<T, F extends AssertionFunction<any>, R = ReturnType<F>> = R extends Expectations<infer I> ? unknown extends I ? T : I : T;
8
- export type InferMatchers<T> = T extends Matchers<infer V> ? V : T extends Record<any, any> ? {
9
- [k in keyof T]: InferMatchers<T[k]>;
8
+ /** Infer the type of a {@link Matcher} */
9
+ export type InferMatcher<T, M extends Matcher> = M extends Matcher<infer I> ? unknown extends I ? T : T & I : never;
10
+ /** Recursively infer the type of a {@link Matcher} in a `Record` */
11
+ export type InferToEqual<T> = T extends Matcher<infer V> ? V : T extends Record<any, any> ? {
12
+ [k in keyof T]: InferToEqual<T[k]>;
10
13
  } : T;
11
14
  /** Simple wrapper defining the _parent_ instance of an {@link Expectations}. */
12
- type ExpectationsParent = {
15
+ export type ExpectationsParent = {
13
16
  /** Parent {@link Expectations} instance */
14
17
  expectations: Expectations;
15
18
  /** Property associating _this_ to the parent */
@@ -46,13 +49,26 @@ export declare class Expectations<T = unknown> {
46
49
  parent?: ExpectationsParent | undefined);
47
50
  /** Throw an {@link ExpectationError} associated with _this_ */
48
51
  protected _fail(details: string, diff?: Diff): never;
52
+ /**
53
+ * Expects the value to be of the specified _extended_ {@link TypeName type}.
54
+ *
55
+ * Negation: {@link NegativeExpectations.toBeA `not.toBeA(...)`}
56
+ */
57
+ toBeA<Name extends TypeName>(type: Name): Expectations<TypeMappings[Name]>;
58
+ /**
59
+ * Expects the value to be of the specified _extended_ {@link TypeName type},
60
+ * and further validates it with a {@link Matcher}.
61
+ *
62
+ * Negation: {@link NegativeExpectations.toBeA `not.toBeA(...)`}
63
+ */
64
+ toBeA<Name extends TypeName, Mapped extends TypeMappings[Name], Match extends Matcher>(type: Name, matcher: Match): Expectations<InferMatcher<Mapped, Match>>;
49
65
  /**
50
66
  * Expects the value to be of the specified _extended_ {@link TypeName type},
51
- * and (if specified) further asserts it with an {@link AssertionFunction}.
67
+ * and further asserts it with an {@link AssertionFunction}.
52
68
  *
53
69
  * Negation: {@link NegativeExpectations.toBeA `not.toBeA(...)`}
54
70
  */
55
- toBeA<Name extends TypeName, Mapped extends TypeMappings[Name], Assert extends AssertionFunction<Mapped>>(type: Name, assertion?: Assert): Expectations<AssertedType<Mapped, Assert>>;
71
+ toBeA<Name extends TypeName, Mapped extends TypeMappings[Name], Assert extends AssertionFunction<Mapped>>(type: Name, assertion: Assert): Expectations<AssertedType<Mapped, Assert>>;
56
72
  /**
57
73
  * Expects the value to be a `number` within a given +/- _delta_ range of the
58
74
  * specified expected value.
@@ -124,13 +140,26 @@ export declare class Expectations<T = unknown> {
124
140
  * Negation: {@link Expectations.toBeLessThan `toBeLessThan(...)`}
125
141
  */
126
142
  toBeGreaterThanOrEqual(value: bigint): Expectations<bigint>;
143
+ /**
144
+ * Expects the value to be an instance of the specified {@link Constructor}.
145
+ *
146
+ * Negation: {@link NegativeExpectations.toBeInstanceOf `not.toInstanceOf(...)`}
147
+ */
148
+ toBeInstanceOf<Class extends Constructor>(constructor: Class): Expectations<InstanceType<Class>>;
127
149
  /**
128
150
  * Expects the value to be an instance of the specified {@link Constructor},
129
- * and (if specified) further asserts it with an {@link AssertionFunction}.
151
+ * and further validates it with a {@link Matcher}.
130
152
  *
131
153
  * Negation: {@link NegativeExpectations.toBeInstanceOf `not.toInstanceOf(...)`}
132
154
  */
133
- toBeInstanceOf<Class extends Constructor, Assert extends AssertionFunction<InstanceType<Class>>>(constructor: Class, assertion?: Assert): Expectations<AssertedType<InstanceType<Class>, Assert>>;
155
+ toBeInstanceOf<Class extends Constructor, Match extends Matcher>(constructor: Class, matcher: Match): Expectations<InferMatcher<InstanceType<Class>, Match>>;
156
+ /**
157
+ * Expects the value to be an instance of the specified {@link Constructor},
158
+ * and further asserts it with an {@link AssertionFunction}.
159
+ *
160
+ * Negation: {@link NegativeExpectations.toBeInstanceOf `not.toInstanceOf(...)`}
161
+ */
162
+ toBeInstanceOf<Class extends Constructor, Assert extends AssertionFunction<InstanceType<Class>>>(constructor: Class, assertion: Assert): Expectations<AssertedType<InstanceType<Class>, Assert>>;
134
163
  /**
135
164
  * Expects the value to be a `number` less than the specified expected value.
136
165
  *
@@ -194,7 +223,7 @@ export declare class Expectations<T = unknown> {
194
223
  *
195
224
  * Negation: {@link NegativeExpectations.toEqual `not.toEqual(...)`}
196
225
  */
197
- toEqual<Type>(expected: Type): Expectations<InferMatchers<Type>>;
226
+ toEqual<Type>(expected: Type): Expectations<InferToEqual<Type>>;
198
227
  /**
199
228
  * Expects the value to have a `number` _property_ `length` with the specified
200
229
  * expected value.
@@ -204,13 +233,30 @@ export declare class Expectations<T = unknown> {
204
233
  toHaveLength(length: number): Expectations<T & {
205
234
  length: number;
206
235
  }>;
236
+ /**
237
+ * Expects the value to have the specified _property_.
238
+ *
239
+ * Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
240
+ */
241
+ toHaveProperty<Prop extends string | number | symbol>(property: Prop): Expectations<T & {
242
+ [keyt in Prop]: unknown;
243
+ }>;
244
+ /**
245
+ * Expects the value to have the specified _property_ and (if specified)
246
+ * further validates its value with a {@link Matcher}.
247
+ *
248
+ * Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
249
+ */
250
+ toHaveProperty<Prop extends string | number | symbol, Match extends Matcher>(property: Prop, matcher: Match): Expectations<T & {
251
+ [keyt in Prop]: InferMatcher<unknown, Match>;
252
+ }>;
207
253
  /**
208
254
  * Expects the value to have the specified _property_ and (if specified)
209
255
  * further asserts its value with an {@link AssertionFunction}.
210
256
  *
211
257
  * Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
212
258
  */
213
- toHaveProperty<Prop extends string | number | symbol, Assert extends AssertionFunction>(property: Prop, assertion?: Assert): Expectations<T & {
259
+ toHaveProperty<Prop extends string | number | symbol, Assert extends AssertionFunction>(property: Prop, assertion: Assert): Expectations<T & {
214
260
  [keyt in Prop]: AssertedType<unknown, Assert>;
215
261
  }>;
216
262
  /**
@@ -271,12 +317,25 @@ export declare class Expectations<T = unknown> {
271
317
  */
272
318
  toStrictlyEqual<Type>(expected: Type): Expectations<Type>;
273
319
  /**
274
- * Expects the value to be a `function` throwing, and (if specified) further
275
- * asserts the thrown value with an {@link AssertionFunction}.
320
+ * Expects the value to be a `function` throwing.
321
+ *
322
+ * Negation: {@link NegativeExpectations.toThrow `not.toThrow()`}
323
+ */
324
+ toThrow(): Expectations<() => any>;
325
+ /**
326
+ * Expects the value to be a `function` throwing, and further validates the
327
+ * thrown value with a {@link Matcher}.
328
+ *
329
+ * Negation: {@link NegativeExpectations.toThrow `not.toThrow()`}
330
+ */
331
+ toThrow(matcher: Matcher): Expectations<() => any>;
332
+ /**
333
+ * Expects the value to be a `function` throwing, and further asserts the
334
+ * thrown value with an {@link AssertionFunction}.
276
335
  *
277
336
  * Negation: {@link NegativeExpectations.toThrow `not.toThrow()`}
278
337
  */
279
- toThrow(assert?: AssertionFunction): Expectations<() => any>;
338
+ toThrow(assert: AssertionFunction): Expectations<() => any>;
280
339
  /**
281
340
  * Expects the value to be a `function` throwing an {@link Error}.
282
341
  *
@@ -451,4 +510,3 @@ export declare class NegativeExpectations<T = unknown> {
451
510
  */
452
511
  toStrictlyEqual(expected: any): Expectations<T>;
453
512
  }
454
- export {};
@@ -28,19 +28,13 @@ var Expectations = class {
28
28
  _fail(details, diff2) {
29
29
  throw new ExpectationError(this, details, diff2);
30
30
  }
31
- /* ------------------------------------------------------------------------ *
32
- * BASIC *
33
- * ------------------------------------------------------------------------ */
34
- /**
35
- * Expects the value to be of the specified _extended_ {@link TypeName type},
36
- * and (if specified) further asserts it with an {@link AssertionFunction}.
37
- *
38
- * Negation: {@link NegativeExpectations.toBeA `not.toBeA(...)`}
39
- */
40
- toBeA(type, assertion) {
31
+ toBeA(type, assertionOrMatcher) {
41
32
  if (typeOf(this.value) === type) {
42
- if (assertion)
43
- assertion(this);
33
+ if (isMatcher(assertionOrMatcher)) {
34
+ assertionOrMatcher.expect(this.value);
35
+ } else if (assertionOrMatcher) {
36
+ assertionOrMatcher(this);
37
+ }
44
38
  return this;
45
39
  }
46
40
  this._fail(`to be ${prefixType(type)}`);
@@ -103,17 +97,13 @@ var Expectations = class {
103
97
  return this;
104
98
  this._fail(`to be greater than or equal to ${stringifyValue(value)}`);
105
99
  }
106
- /* ------------------------------------------------------------------------ */
107
- /**
108
- * Expects the value to be an instance of the specified {@link Constructor},
109
- * and (if specified) further asserts it with an {@link AssertionFunction}.
110
- *
111
- * Negation: {@link NegativeExpectations.toBeInstanceOf `not.toInstanceOf(...)`}
112
- */
113
- toBeInstanceOf(constructor, assertion) {
100
+ toBeInstanceOf(constructor, assertionOrMatcher) {
114
101
  if (this.value instanceof constructor) {
115
- if (assertion)
116
- assertion(this);
102
+ if (isMatcher(assertionOrMatcher)) {
103
+ assertionOrMatcher.expect(this.value);
104
+ } else if (assertionOrMatcher) {
105
+ assertionOrMatcher(this);
106
+ }
117
107
  return this;
118
108
  }
119
109
  this._fail(`to be an instance of ${stringifyConstructor(constructor)}`);
@@ -217,24 +207,21 @@ var Expectations = class {
217
207
  }
218
208
  return this;
219
209
  }
220
- /* ------------------------------------------------------------------------ */
221
- /**
222
- * Expects the value to have the specified _property_ and (if specified)
223
- * further asserts its value with an {@link AssertionFunction}.
224
- *
225
- * Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
226
- */
227
- toHaveProperty(property, assertion) {
210
+ toHaveProperty(property, assertionOrMatcher) {
228
211
  this.toBeDefined();
229
212
  const propertyValue = this.value[property];
230
213
  if (propertyValue === void 0) {
231
214
  this._fail(`to have property "${String(property)}"`);
232
215
  }
233
- if (assertion) {
216
+ if (assertionOrMatcher) {
217
+ const parent = { expectations: this, prop: property };
234
218
  try {
235
- const parent = { expectations: this, prop: property };
236
- const expectations = new Expectations(propertyValue, this.remarks, parent);
237
- assertion(expectations);
219
+ if (isMatcher(assertionOrMatcher)) {
220
+ assertionOrMatcher.expect(propertyValue, parent);
221
+ } else if (assertionOrMatcher) {
222
+ const expectations = new Expectations(propertyValue, this.remarks, parent);
223
+ assertionOrMatcher(expectations);
224
+ }
238
225
  } catch (error) {
239
226
  if (error instanceof ExpectationError && error.diff) {
240
227
  error.diff = {
@@ -304,22 +291,18 @@ var Expectations = class {
304
291
  const diff2 = { diff: true, value: this.value, expected };
305
292
  this._fail(`to strictly equal ${stringifyValue(expected)}`, diff2);
306
293
  }
307
- /* ------------------------------------------------------------------------ */
308
- /**
309
- * Expects the value to be a `function` throwing, and (if specified) further
310
- * asserts the thrown value with an {@link AssertionFunction}.
311
- *
312
- * Negation: {@link NegativeExpectations.toThrow `not.toThrow()`}
313
- */
314
- toThrow(assert) {
294
+ toThrow(assertionOrMatcher) {
315
295
  const func = this.toBeA("function");
316
296
  let passed = false;
317
297
  try {
318
298
  func.value();
319
299
  passed = true;
320
300
  } catch (thrown) {
321
- if (assert)
322
- assert(new Expectations(thrown, this.remarks));
301
+ if (isMatcher(assertionOrMatcher)) {
302
+ assertionOrMatcher.expect(thrown);
303
+ } else if (assertionOrMatcher) {
304
+ assertionOrMatcher(new Expectations(thrown, this.remarks));
305
+ }
323
306
  }
324
307
  if (passed)
325
308
  this._fail("to throw");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/expectation/expectations.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["diff"]
6
6
  }
@@ -20,13 +20,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // expectation/matchers.ts
21
21
  var matchers_exports = {};
22
22
  __export(matchers_exports, {
23
- Matchers: () => Matchers,
23
+ Matcher: () => Matcher,
24
24
  NegativeMatchers: () => NegativeMatchers
25
25
  });
26
26
  module.exports = __toCommonJS(matchers_exports);
27
27
  var import_expectations = require("./expectations.cjs");
28
28
  var import_types = require("./types.cjs");
29
- var Matchers = class {
29
+ var Matcher = class {
30
30
  _matchers;
31
31
  not;
32
32
  constructor() {
@@ -34,32 +34,23 @@ var Matchers = class {
34
34
  this.not = new NegativeMatchers(this, matchers);
35
35
  this._matchers = matchers;
36
36
  }
37
- expect(value) {
38
- let expectations = new import_expectations.Expectations(value, void 0);
37
+ expect(value, parent) {
38
+ let expectations = new import_expectations.Expectations(value, void 0, parent);
39
39
  for (const matcher of this._matchers) {
40
40
  expectations = matcher(expectations);
41
41
  }
42
42
  return expectations.value;
43
43
  }
44
44
  _push(matcher) {
45
- const matchers = new Matchers();
45
+ const matchers = new Matcher();
46
46
  matchers._matchers.push(...this._matchers, matcher);
47
47
  return matchers;
48
48
  }
49
49
  static {
50
50
  this.prototype[import_types.matcherMarker] = import_types.matcherMarker;
51
51
  }
52
- /* ------------------------------------------------------------------------ *
53
- * BASIC *
54
- * ------------------------------------------------------------------------ */
55
- /**
56
- * Expects the value to be of the specified _extended_ {@link TypeName type},
57
- * and (if specified) further asserts it with an {@link AssertionFunction}.
58
- *
59
- * Negation: {@link NegativeMatchers.toBeA `not.toBeA(...)`}
60
- */
61
- toBeA(type, assertion) {
62
- return this._push((e) => e.toBeA(type, assertion));
52
+ toBeA(type, assertionOrMatcher) {
53
+ return this._push((e) => e.toBeA(type, assertionOrMatcher));
63
54
  }
64
55
  /**
65
56
  * Expects the value to be a `number` or `bigint` within a given +/- _delta_
@@ -92,7 +83,7 @@ var Matchers = class {
92
83
  /**
93
84
  * Expects the value to be _falsy_ (zero, empty string, `false`, ...).
94
85
  *
95
- * Negation: {@link Matchers.toBeTruthy `toBeTruthy()`}
86
+ * Negation: {@link Matcher.toBeTruthy `toBeTruthy()`}
96
87
  */
97
88
  toBeFalsy() {
98
89
  return this._push((e) => e.toBeFalsy());
@@ -103,15 +94,8 @@ var Matchers = class {
103
94
  toBeGreaterThanOrEqual(value) {
104
95
  return this._push((e) => e.toBeGreaterThanOrEqual(value));
105
96
  }
106
- /* ------------------------------------------------------------------------ */
107
- /**
108
- * Expects the value to be an instance of the specified {@link Constructor},
109
- * and (if specified) further asserts it with an {@link AssertionFunction}.
110
- *
111
- * Negation: {@link NegativeMatchers.toBeInstanceOf `not.toInstanceOf(...)`}
112
- */
113
- toBeInstanceOf(constructor, assertion) {
114
- return this._push((e) => e.toBeInstanceOf(constructor, assertion));
97
+ toBeInstanceOf(constructor, assertionOrMatcher) {
98
+ return this._push((e) => e.toBeInstanceOf(constructor, assertionOrMatcher));
115
99
  }
116
100
  toBeLessThan(value) {
117
101
  return this._push((e) => e.toBeLessThan(value));
@@ -142,7 +126,7 @@ var Matchers = class {
142
126
  /**
143
127
  * Expects the value to be _falsy_ (non-zero, non-empty string, ...).
144
128
  *
145
- * Negation: {@link Matchers.toBeFalsy `toBeFalsy()`}
129
+ * Negation: {@link Matcher.toBeFalsy `toBeFalsy()`}
146
130
  */
147
131
  toBeTruthy() {
148
132
  return this._push((e) => e.toBeTruthy());
@@ -180,15 +164,8 @@ var Matchers = class {
180
164
  toHaveLength(length) {
181
165
  return this._push((e) => e.toHaveLength(length));
182
166
  }
183
- /* ------------------------------------------------------------------------ */
184
- /**
185
- * Expects the value to have the specified _property_ and (if specified)
186
- * further asserts its value with an {@link AssertionFunction}.
187
- *
188
- * Negation: {@link NegativeMatchers.toHaveProperty `not.toHaveProperty(...)`}
189
- */
190
- toHaveProperty(property, assertion) {
191
- return this._push((e) => e.toHaveProperty(property, assertion));
167
+ toHaveProperty(property, assertionOrMatcher) {
168
+ return this._push((e) => e.toHaveProperty(property, assertionOrMatcher));
192
169
  }
193
170
  /* ------------------------------------------------------------------------ */
194
171
  /**
@@ -240,7 +217,7 @@ var NegativeMatchers = class {
240
217
  * Expects the value _**NOT**_ to be of the specified _extended_
241
218
  * {@link TypeName type}.
242
219
  *
243
- * Negates: {@link Matchers.toBeA `toBeA(...)`}
220
+ * Negates: {@link Matcher.toBeA `toBeA(...)`}
244
221
  */
245
222
  toBeA(type) {
246
223
  return this._push((e) => e.toBeA(type));
@@ -252,7 +229,7 @@ var NegativeMatchers = class {
252
229
  /**
253
230
  * Expects the value to be either `null` or `undefined`.
254
231
  *
255
- * Negates: {@link Matchers.toBeDefined `toBeDefined()`}
232
+ * Negates: {@link Matcher.toBeDefined `toBeDefined()`}
256
233
  */
257
234
  toBeDefined() {
258
235
  return this._push((e) => e.toBeDefined());
@@ -262,7 +239,7 @@ var NegativeMatchers = class {
262
239
  * Expects the value _**NOT**_ to be an instance of the specified
263
240
  * {@link Constructor}.
264
241
  *
265
- * Negates: {@link Matchers.toBeInstanceOf `toBeInstanceOf(...)`}
242
+ * Negates: {@link Matcher.toBeInstanceOf `toBeInstanceOf(...)`}
266
243
  */
267
244
  toBeInstanceOf(constructor) {
268
245
  return this._push((e) => e.toBeInstanceOf(constructor));
@@ -271,7 +248,7 @@ var NegativeMatchers = class {
271
248
  /**
272
249
  * Expects the value _**NOT**_ to be `NaN`.
273
250
  *
274
- * Negates: {@link Matchers.toBeNaN `toBeNaN()`}
251
+ * Negates: {@link Matcher.toBeNaN `toBeNaN()`}
275
252
  */
276
253
  toBeNaN() {
277
254
  return this._push((e) => e.toBeNaN());
@@ -284,7 +261,7 @@ var NegativeMatchers = class {
284
261
  * Expects the value _**NOT**_ to be _deep equal to_ the specified expected
285
262
  * one.
286
263
  *
287
- * Negates: {@link Matchers.toEqual `toEqual(...)`}
264
+ * Negates: {@link Matcher.toEqual `toEqual(...)`}
288
265
  */
289
266
  toEqual(expected) {
290
267
  return this._push((e) => e.toEqual(expected));
@@ -294,7 +271,7 @@ var NegativeMatchers = class {
294
271
  * Expects the value to have a `number` _property_ `length` _different_ from
295
272
  * the specified expected value.
296
273
  *
297
- * Negates: {@link Matchers.toHaveLength `toHaveLength(...)`}
274
+ * Negates: {@link Matcher.toHaveLength `toHaveLength(...)`}
298
275
  */
299
276
  toHaveLength(length) {
300
277
  return this._push((e) => e.toHaveLength(length));
@@ -303,7 +280,7 @@ var NegativeMatchers = class {
303
280
  /**
304
281
  * Expects the value _**NOT**_ to have the specified _property_.
305
282
  *
306
- * Negates: {@link Matchers.toHaveProperty `toHaveProperty(...)`}
283
+ * Negates: {@link Matcher.toHaveProperty `toHaveProperty(...)`}
307
284
  */
308
285
  toHaveProperty(property) {
309
286
  return this._push((e) => e.toHaveProperty(property));
@@ -313,7 +290,7 @@ var NegativeMatchers = class {
313
290
  * Expects the value to have a `number` _property_ `size` _different_ from
314
291
  * the specified expected value.
315
292
  *
316
- * Negates: {@link Matchers.toHaveSize `toHaveSize(...)`}
293
+ * Negates: {@link Matcher.toHaveSize `toHaveSize(...)`}
317
294
  */
318
295
  toHaveSize(size) {
319
296
  return this._push((e) => e.toHaveSize(size));
@@ -326,7 +303,7 @@ var NegativeMatchers = class {
326
303
  * Expects the value to be a `string` _**NOT MATCHING**_ the specified
327
304
  * sub-`string` or {@link RegExp}.
328
305
  *
329
- * Negates: {@link Matchers.toMatch `toMatch(...)`}
306
+ * Negates: {@link Matcher.toMatch `toMatch(...)`}
330
307
  */
331
308
  toMatch(matcher) {
332
309
  return this._push((e) => e.toMatch(matcher));
@@ -336,7 +313,7 @@ var NegativeMatchers = class {
336
313
  * Expects the value _**NOT**_ to be _strictly equal to_ the specified
337
314
  * expected one.
338
315
  *
339
- * Negates: {@link Matchers.toStrictlyEqual `toStrictlyEqual(...)`}
316
+ * Negates: {@link Matcher.toStrictlyEqual `toStrictlyEqual(...)`}
340
317
  */
341
318
  toStrictlyEqual(expected) {
342
319
  return this._push((e) => e.toStrictlyEqual(expected));
@@ -344,7 +321,7 @@ var NegativeMatchers = class {
344
321
  };
345
322
  // Annotate the CommonJS export names for ESM import in node:
346
323
  0 && (module.exports = {
347
- Matchers,
324
+ Matcher,
348
325
  NegativeMatchers
349
326
  });
350
327
  //# sourceMappingURL=matchers.cjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/expectation/matchers.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }