@plugjs/expect5 0.4.6 → 0.4.8

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 (55) hide show
  1. package/dist/cli.mjs +6 -1
  2. package/dist/cli.mjs.map +1 -1
  3. package/dist/execution/executable.mjs +6 -0
  4. package/dist/execution/executable.mjs.map +1 -1
  5. package/dist/execution/executor.mjs +6 -0
  6. package/dist/execution/executor.mjs.map +1 -1
  7. package/dist/execution/setup.mjs +6 -0
  8. package/dist/execution/setup.mjs.map +1 -1
  9. package/dist/expectation/async.cjs +14 -22
  10. package/dist/expectation/async.cjs.map +1 -1
  11. package/dist/expectation/async.d.ts +39 -13
  12. package/dist/expectation/async.mjs +20 -22
  13. package/dist/expectation/async.mjs.map +1 -1
  14. package/dist/expectation/diff.mjs +6 -0
  15. package/dist/expectation/diff.mjs.map +1 -1
  16. package/dist/expectation/expect.cjs +3 -3
  17. package/dist/expectation/expect.cjs.map +1 -1
  18. package/dist/expectation/expect.d.ts +3 -3
  19. package/dist/expectation/expect.mjs +10 -4
  20. package/dist/expectation/expect.mjs.map +1 -1
  21. package/dist/expectation/expectations.cjs +27 -44
  22. package/dist/expectation/expectations.cjs.map +1 -1
  23. package/dist/expectation/expectations.d.ts +72 -14
  24. package/dist/expectation/expectations.mjs +33 -44
  25. package/dist/expectation/expectations.mjs.map +1 -1
  26. package/dist/expectation/include.mjs +6 -0
  27. package/dist/expectation/include.mjs.map +1 -1
  28. package/dist/expectation/matchers.cjs +24 -47
  29. package/dist/expectation/matchers.cjs.map +1 -1
  30. package/dist/expectation/matchers.d.ts +136 -93
  31. package/dist/expectation/matchers.mjs +29 -46
  32. package/dist/expectation/matchers.mjs.map +1 -1
  33. package/dist/expectation/print.cjs +4 -0
  34. package/dist/expectation/print.cjs.map +1 -1
  35. package/dist/expectation/print.mjs +11 -1
  36. package/dist/expectation/print.mjs.map +1 -1
  37. package/dist/expectation/types.cjs.map +1 -1
  38. package/dist/expectation/types.d.ts +2 -2
  39. package/dist/expectation/types.mjs +6 -0
  40. package/dist/expectation/types.mjs.map +1 -1
  41. package/dist/globals.mjs +5 -0
  42. package/dist/index.mjs +6 -0
  43. package/dist/index.mjs.map +1 -1
  44. package/dist/test.cjs +17 -7
  45. package/dist/test.cjs.map +1 -1
  46. package/dist/test.mjs +25 -9
  47. package/dist/test.mjs.map +1 -1
  48. package/package.json +3 -3
  49. package/src/expectation/async.ts +69 -17
  50. package/src/expectation/expect.ts +6 -6
  51. package/src/expectation/expectations.ts +152 -27
  52. package/src/expectation/matchers.ts +207 -125
  53. package/src/expectation/print.ts +7 -1
  54. package/src/expectation/types.ts +2 -2
  55. package/src/test.ts +29 -8
@@ -46,19 +46,13 @@ var Expectations = class {
46
46
  _fail(details, diff2) {
47
47
  throw new import_types.ExpectationError(this, details, diff2);
48
48
  }
49
- /* ------------------------------------------------------------------------ *
50
- * BASIC *
51
- * ------------------------------------------------------------------------ */
52
- /**
53
- * Expects the value to be of the specified _extended_ {@link TypeName type},
54
- * and (if specified) further asserts it with an {@link AssertionFunction}.
55
- *
56
- * Negation: {@link NegativeExpectations.toBeA `not.toBeA(...)`}
57
- */
58
- toBeA(type, assertion) {
49
+ toBeA(type, assertionOrMatcher) {
59
50
  if ((0, import_types.typeOf)(this.value) === type) {
60
- if (assertion)
61
- assertion(this);
51
+ if ((0, import_types.isMatcher)(assertionOrMatcher)) {
52
+ assertionOrMatcher.expect(this.value);
53
+ } else if (assertionOrMatcher) {
54
+ assertionOrMatcher(this);
55
+ }
62
56
  return this;
63
57
  }
64
58
  this._fail(`to be ${(0, import_types.prefixType)(type)}`);
@@ -121,17 +115,13 @@ var Expectations = class {
121
115
  return this;
122
116
  this._fail(`to be greater than or equal to ${(0, import_types.stringifyValue)(value)}`);
123
117
  }
124
- /* ------------------------------------------------------------------------ */
125
- /**
126
- * Expects the value to be an instance of the specified {@link Constructor},
127
- * and (if specified) further asserts it with an {@link AssertionFunction}.
128
- *
129
- * Negation: {@link NegativeExpectations.toBeInstanceOf `not.toInstanceOf(...)`}
130
- */
131
- toBeInstanceOf(constructor, assertion) {
118
+ toBeInstanceOf(constructor, assertionOrMatcher) {
132
119
  if (this.value instanceof constructor) {
133
- if (assertion)
134
- assertion(this);
120
+ if ((0, import_types.isMatcher)(assertionOrMatcher)) {
121
+ assertionOrMatcher.expect(this.value);
122
+ } else if (assertionOrMatcher) {
123
+ assertionOrMatcher(this);
124
+ }
135
125
  return this;
136
126
  }
137
127
  this._fail(`to be an instance of ${(0, import_types.stringifyConstructor)(constructor)}`);
@@ -235,24 +225,21 @@ var Expectations = class {
235
225
  }
236
226
  return this;
237
227
  }
238
- /* ------------------------------------------------------------------------ */
239
- /**
240
- * Expects the value to have the specified _property_ and (if specified)
241
- * further asserts its value with an {@link AssertionFunction}.
242
- *
243
- * Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
244
- */
245
- toHaveProperty(property, assertion) {
228
+ toHaveProperty(property, assertionOrMatcher) {
246
229
  this.toBeDefined();
247
230
  const propertyValue = this.value[property];
248
231
  if (propertyValue === void 0) {
249
232
  this._fail(`to have property "${String(property)}"`);
250
233
  }
251
- if (assertion) {
234
+ if (assertionOrMatcher) {
235
+ const parent = { expectations: this, prop: property };
252
236
  try {
253
- const parent = { expectations: this, prop: property };
254
- const expectations = new Expectations(propertyValue, this.remarks, parent);
255
- assertion(expectations);
237
+ if ((0, import_types.isMatcher)(assertionOrMatcher)) {
238
+ assertionOrMatcher.expect(propertyValue, parent);
239
+ } else if (assertionOrMatcher) {
240
+ const expectations = new Expectations(propertyValue, this.remarks, parent);
241
+ assertionOrMatcher(expectations);
242
+ }
256
243
  } catch (error) {
257
244
  if (error instanceof import_types.ExpectationError && error.diff) {
258
245
  error.diff = {
@@ -322,22 +309,18 @@ var Expectations = class {
322
309
  const diff2 = { diff: true, value: this.value, expected };
323
310
  this._fail(`to strictly equal ${(0, import_types.stringifyValue)(expected)}`, diff2);
324
311
  }
325
- /* ------------------------------------------------------------------------ */
326
- /**
327
- * Expects the value to be a `function` throwing, and (if specified) further
328
- * asserts the thrown value with an {@link AssertionFunction}.
329
- *
330
- * Negation: {@link NegativeExpectations.toThrow `not.toThrow()`}
331
- */
332
- toThrow(assert) {
312
+ toThrow(assertionOrMatcher) {
333
313
  const func = this.toBeA("function");
334
314
  let passed = false;
335
315
  try {
336
316
  func.value();
337
317
  passed = true;
338
318
  } catch (thrown) {
339
- if (assert)
340
- assert(new Expectations(thrown, this.remarks));
319
+ if ((0, import_types.isMatcher)(assertionOrMatcher)) {
320
+ assertionOrMatcher.expect(thrown);
321
+ } else if (assertionOrMatcher) {
322
+ assertionOrMatcher(new Expectations(thrown, this.remarks));
323
+ }
341
324
  }
342
325
  if (passed)
343
326
  this._fail("to throw");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/expectation/expectations.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAgC;AAChC,qBAA2C;AAE3C,mBAUO;AAmCA,IAAM,eAAN,MAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUrC,YAEa,OAEA,SAKA,QACX;AARW;AAEA;AAKA;AAEX,SAAK,MAAM,IAAI,qBAAqB,IAAI;AAAA,EAC1C;AAAA;AAAA,EApBS;AAAA;AAAA,EAuBC,MAAM,SAAiBA,OAAoB;AACnD,UAAM,IAAI,8BAAiB,MAAM,SAASA,KAAI;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAKI,MACA,WAC0C;AAC5C,YAAI,qBAAO,KAAK,KAAK,MAAM,MAAM;AAC/B,UAAI;AAAW,kBAAU,IAAyB;AAClD,aAAO;AAAA,IACT;AAEA,SAAK,MAAM,aAAS,yBAAW,IAAI,GAAG;AAAA,EACxC;AAAA,EAoBA,YAAY,OAAwB,OAAsC;AACxE,UAAM,MAAO,QAAoB;AACjC,UAAM,MAAO,QAAoB;AACjC,WAAO,KAAK,gBAAgB,KAAK,GAAG;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,cAA+B;AAC7B,QAAK,KAAK,UAAU,QAAU,KAAK,UAAU;AAAY,aAAO;AAChE,SAAK,MAAM,qBAAiB,6BAAe,IAAI,aAAS,6BAAe,MAAS,GAAG;AAAA,EACrF;AAAA,EA0BA,UACI,sBACA,cACY;AACd,UAAM,CAAE,aAAa,OAAQ,IAC7B,OAAO,yBAAyB,aAC9B,CAAE,sBAAsB,YAAa,IACrC,CAAE,OAAO,oBAAqB;AAEhC,QAAI,YAAY;AAAW,aAAO,KAAK,eAAe,WAAW;AAEjE,WAAO,KAAK,eAAe,aAAa,CAAC,WAAW;AAClD,aAAO,eAAe,WAAW,CAAC,kBAAkB;AAClD,sBAAc,MAAM,QAAQ;AAC5B,YAAI,OAAO,YAAY;AAAU,wBAAc,gBAAgB,OAAO;AAAA;AACjE,wBAAc,QAAQ,OAAO;AAAA,MACpC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA,EAKA,YAAiC;AAC/B,WAAO,KAAK,gBAAgB,KAAK;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YAA6B;AAC3B,QAAI,CAAE,KAAK;AAAO,aAAO;AACzB,SAAK,MAAM,aAAa;AAAA,EAC1B;AAAA,EAoBA,gBAAgB,OAAsC;AACpD,SAAK,MAAM,OAAO,KAAK;AACvB,QAAK,KAAK,QAAgB;AAAO,aAAO;AACxC,SAAK,MAAM,0BAAsB,6BAAe,KAAK,GAAG;AAAA,EAC1D;AAAA,EAoBA,uBAAuB,OAAsC;AAC3D,SAAK,MAAM,OAAO,KAAK;AACvB,QAAK,KAAK,SAAiB;AAAO,aAAO;AACzC,SAAK,MAAM,sCAAkC,6BAAe,KAAK,GAAG;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,eAII,aACA,WACuD;AACzD,QAAI,KAAK,iBAAiB,aAAa;AACrC,UAAI;AAAW,kBAAU,IAAyB;AAClD,aAAO;AAAA,IACT;AAEA,SAAK,MAAM,4BAAwB,mCAAqB,WAAW,GAAG;AAAA,EACxE;AAAA,EAkBA,aAAa,OAAsC;AACjD,SAAK,MAAM,OAAO,KAAK;AACvB,QAAK,KAAK,QAAgB;AAAO,aAAO;AACxC,SAAK,MAAM,uBAAmB,6BAAe,KAAK,GAAG;AAAA,EACvD;AAAA,EAoBA,oBAAoB,OAAsC;AACxD,SAAK,MAAM,OAAO,KAAK;AACvB,QAAK,KAAK,SAAiB;AAAO,aAAO;AACzC,SAAK,MAAM,mCAA+B,6BAAe,KAAK,GAAG;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAgC;AAC9B,UAAM,eAAe,KAAK,MAAM,QAAQ;AACxC,QAAI,MAAM,aAAa,KAAK;AAAG,aAAO;AACtC,SAAK,MAAM,aAAS,6BAAe,GAAG,GAAG;AAAA,EAC3C;AAAA;AAAA;AAAA,EAKA,WAA+B;AAC7B,WAAO,KAAK,gBAAgB,IAAI;AAAA,EAClC;AAAA;AAAA;AAAA,EAKA,WAA+B;AAC7B,WAAO,KAAK,gBAAgB,IAAI;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,aAA8B;AAC5B,QAAI,KAAK;AAAO,aAAO;AACvB,SAAK,MAAM,cAAc;AAAA,EAC3B;AAAA;AAAA;AAAA,EAKA,gBAAyC;AACvC,WAAO,KAAK,gBAAgB,MAAS;AAAA,EACvC;AAAA,EAoBA,gBAAgB,KAAsB,KAAoC;AACxE,QAAI,MAAM,KAAK;AACb,YAAM,MAAM;AACZ,YAAM;AACN,YAAM;AAAA,IACR;AAEA,SAAK,MAAM,OAAO,GAAG;AAErB,QAAM,KAAK,QAAgB,OAAU,KAAK,QAAgB,KAAM;AAC9D,WAAK,MAAM,oBAAgB,6BAAe,GAAG,WAAO,6BAAe,GAAG,GAAG;AAAA,IAC3E;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAAc,UAAmD;AAC/D,QAAK,KAAK,UAAkB;AAAU,aAAO;AAE7C,UAAM,aAAS,kBAAK,KAAK,OAAO,QAAQ;AAExC,QAAI,OAAO,MAAM;AACf,cAAI,wBAAU,QAAQ,GAAG;AACvB,aAAK,MAAM,kCAAkC,MAAM;AAAA,MACrD,OAAO;AACL,aAAK,MAAM,gBAAY,6BAAe,QAAQ,KAAK,MAAM;AAAA,MAC3D;AAAA,IACF,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,aAAa,QAAsD;AACjE,SAAK,YAAY;AAEjB,UAAM,aAAc,KAAK,MAAc,QAAQ;AAC/C,QAAI,OAAO,eAAe,UAAU;AAClC,WAAK,MAAM,qCAAqC;AAAA,IAClD,WAAW,eAAe,QAAQ;AAChC,WAAK,MAAM,kBAAkB,QAAQ;AAAA,IACvC;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,eAII,UACA,WACoE;AACtE,SAAK,YAAY;AAEjB,UAAM,gBAAiB,KAAK,MAAc,QAAQ;AAElD,QAAI,kBAAkB,QAAW;AAC/B,WAAK,MAAM,qBAAqB,OAAO,QAAQ,IAAI;AAAA,IACrD;AAEA,QAAI,WAAW;AACb,UAAI;AACF,cAAM,SAA6B,EAAE,cAAc,MAAM,MAAM,SAAS;AACxE,cAAM,eAAe,IAAI,aAAa,eAAe,KAAK,SAAS,MAAM;AACzE,kBAAU,YAAY;AAAA,MACxB,SAAS,OAAP;AAEA,YAAK,iBAAiB,iCAAsB,MAAM,MAAO;AACvD,gBAAM,OAAO;AAAA,YACX,MAAM;AAAA,YACN,OAAO,KAAK;AAAA,YACZ,OAAO,EAAE,CAAC,QAAQ,GAAG,MAAM,KAAK;AAAA,UAClC;AAAA,QACF;AAGA,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,WAAW,MAAkD;AAC3D,SAAK,YAAY;AAEjB,UAAM,WAAY,KAAK,MAAc,MAAM;AAC3C,QAAI,OAAO,aAAa,UAAU;AAChC,WAAK,MAAM,mCAAmC;AAAA,IAChD,WAAW,aAAa,MAAM;AAC5B,WAAK,MAAM,gBAAgB,MAAM;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAAA,EAqCA,UACI,UACY;AACd,kCAAU,MAAM,OAAO,QAAQ;AAC/B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QACI,SACoB;AACtB,UAAM,eAAe,KAAK,MAAM,QAAQ;AAExC,QAAI,aAAa,MAAM,MAAM,OAAO;AAAG,aAAO;AAE9C,SAAK,MAAM,gBAAY,6BAAe,OAAO,GAAG;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,gBAAgB,UAA6C;AAC3D,wCAAgB,MAAM,QAAQ;AAC9B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,gBAAsB,UAAoC;AACxD,QAAK,KAAK,UAAkB;AAAU,aAAO;AAE7C,UAAMA,QAAO,EAAE,MAAM,MAAM,OAAO,KAAK,OAAO,SAAS;AACvD,SAAK,MAAM,yBAAqB,6BAAe,QAAQ,KAAKA,KAAI;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,QAAqD;AAC3D,UAAM,OAAO,KAAK,MAAM,UAAU;AAElC,QAAI,SAAS;AACb,QAAI;AACF,WAAK,MAAM;AACX,eAAS;AAAA,IACX,SAAS,QAAP;AACA,UAAI;AAAQ,eAAO,IAAI,aAAa,QAAQ,KAAK,OAAO,CAAC;AAAA,IAC3D;AAEA,QAAI;AAAQ,WAAK,MAAM,UAAU;AACjC,WAAO;AAAA,EACT;AAAA,EAgCA,aACI,sBACA,cACY;AACd,UAAM,CAAE,aAAa,OAAQ,IAC5B,OAAO,yBAAyB,aAC9B,CAAE,sBAAsB,YAAa,IACrC,CAAE,OAAO,oBAAqB;AAEjC,WAAO,KAAK,QAAQ,CAAC,WACnB,OAAO,UAAU,aAAa,OAAO,CAAC;AAAA,EAC1C;AACF;AAOO,IAAM,uBAAN,MAAwC;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7C,YAEqB,eACnB;AADmB;AAEnB,SAAK,SAAS,cAAc;AAAA,EAC9B;AAAA;AAAA,EAXiB;AAAA;AAAA,EAcT,MAAM,SAAiBA,OAAoB;AACjD,UAAM,IAAI,8BAAiB,KAAK,eAAe,SAASA,KAAI;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,MAAiC;AACrC,YAAI,qBAAO,KAAK,MAAM,MAAM;AAAM,aAAO,KAAK;AAC9C,SAAK,MAAM,iBAAa,yBAAW,IAAI,GAAG;AAAA,EAC5C;AAAA,EAoBA,YAAY,OAAwB,OAAsC;AACxE,UAAM,MAAO,QAAoB;AACjC,UAAM,MAAO,QAAoB;AACjC,WAAO,KAAK,gBAAgB,KAAK,GAAG;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,cAA8C;AAC5C,QAAK,KAAK,WAAW,QAAU,KAAK,WAAW,QAAY;AACzD,aAAO,KAAK;AAAA,IACd;AAEA,SAAK,MAAM,aAAS,6BAAe,IAAI,YAAQ,6BAAe,MAAS,GAAG;AAAA,EAC5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,eAAe,aAA2C;AACxD,QAAI,KAAK,kBAAkB,aAAa;AACtC,WAAK,MAAM,gCAA4B,mCAAqB,WAAW,GAAG;AAAA,IAC5E;AACA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAgC;AAC9B,UAAM,eAAe,KAAK,cAAc,MAAM,QAAQ;AACtD,QAAI,MAAM,aAAa,KAAK;AAAG,WAAK,MAAM,iBAAa,6BAAe,GAAG,GAAG;AAC5E,WAAO;AAAA,EACT;AAAA,EAoBA,gBAAgB,KAAsB,KAAoC;AACxE,QAAI,MAAM,KAAK;AACb,YAAM,MAAM;AACZ,YAAM;AACN,YAAM;AAAA,IACR;AAEA,SAAK,cAAc,MAAM,OAAO,GAAG;AAEnC,QAAM,KAAK,UAAkB,OAAU,KAAK,UAAkB,KAAM;AAClE,WAAK,MAAM,wBAAoB,6BAAe,GAAG,WAAO,6BAAe,GAAG,GAAG;AAAA,IAC/E;AAEA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,UAAgC;AACtC,QAAI,SAAe,EAAE,MAAM,OAAO,OAAO,KAAK,OAAO;AACrD,QAAI,KAAK,WAAW,UAAU;AAC5B,mBAAS,kBAAK,KAAK,QAAQ,QAAQ;AACnC,UAAI,OAAO;AAAM,eAAO,KAAK;AAAA,IAC/B;AAEA,YAAI,wBAAU,QAAQ,GAAG;AACvB,WAAK,MAAM,sCAAsC,MAAM;AAAA,IACzD,OAAO;AACL,WAAK,MAAM,oBAAgB,6BAAe,QAAQ,KAAK,MAAM;AAAA,IAC/D;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,aAAa,QAAsD;AACjE,SAAK,cAAc,YAAY;AAE/B,UAAM,aAAc,KAAK,OAAe,QAAQ;AAChD,QAAI,OAAO,eAAe,UAAU;AAClC,WAAK,MAAM,qCAAqC;AAAA,IAClD,WAAW,eAAe,QAAQ;AAChC,WAAK,MAAM,sBAAsB,QAAQ;AAAA,IAC3C;AAEA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,eAAe,UAAqD;AAClE,SAAK,cAAc,YAAY;AAE/B,UAAM,gBAAiB,KAAK,OAAe,QAAQ;AACnD,QAAI,kBAAkB;AAAW,aAAO,KAAK;AAC7C,SAAK,MAAM,yBAAyB,OAAO,QAAQ,IAAI;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,WAAW,MAAkD;AAC3D,SAAK,cAAc,YAAY;AAE/B,UAAM,WAAY,KAAK,OAAe,MAAM;AAC5C,QAAI,OAAO,aAAa,UAAU;AAChC,WAAK,MAAM,mCAAmC;AAAA,IAChD,WAAW,aAAa,MAAM;AAC5B,WAAK,MAAM,oBAAoB,MAAM;AAAA,IACvC;AAEA,WAAO,KAAK;AAAA,EACd;AAAA,EAuCA,UACI,UACY;AACd,kCAAU,KAAK,eAAe,MAAM,QAAQ;AAC5C,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAQ,SAAgD;AACtD,UAAM,eAAe,KAAK,cAAc,MAAM,QAAQ;AAEtD,QAAI,CAAE,aAAa,MAAM,MAAM,OAAO;AAAG,aAAO;AAEhD,SAAK,MAAM,oBAAgB,6BAAe,OAAO,GAAG;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAmC;AACjC,UAAM,eAAe,KAAK,cAAc,MAAM,UAAU;AAExD,QAAI;AACF,mBAAa,MAAM;AACnB,aAAO;AAAA,IACT,SAAS,QAAP;AACA,WAAK,MAAM,cAAc;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,gBAAgB,UAAgC;AAC9C,QAAI,KAAK,WAAW;AAAU,aAAO,KAAK;AAC1C,SAAK,MAAM,6BAAyB,6BAAe,QAAQ,GAAG;AAAA,EAChE;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["diff"]
6
6
  }
@@ -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 {};
@@ -1,3 +1,9 @@
1
+ ;const __$$_esm_paths_helper = await (async() => {
2
+ const __filename = (await import("node:url")).fileURLToPath(import.meta.url);
3
+ const __dirname = (await import("node:path")).dirname(__filename);
4
+ return { __filename, __dirname };
5
+ })();
6
+
1
7
  // expectation/expectations.ts
2
8
  import { diff } from "./diff.mjs";
3
9
  import { toInclude, toMatchContents } from "./include.mjs";
@@ -28,19 +34,13 @@ var Expectations = class {
28
34
  _fail(details, diff2) {
29
35
  throw new ExpectationError(this, details, diff2);
30
36
  }
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) {
37
+ toBeA(type, assertionOrMatcher) {
41
38
  if (typeOf(this.value) === type) {
42
- if (assertion)
43
- assertion(this);
39
+ if (isMatcher(assertionOrMatcher)) {
40
+ assertionOrMatcher.expect(this.value);
41
+ } else if (assertionOrMatcher) {
42
+ assertionOrMatcher(this);
43
+ }
44
44
  return this;
45
45
  }
46
46
  this._fail(`to be ${prefixType(type)}`);
@@ -103,17 +103,13 @@ var Expectations = class {
103
103
  return this;
104
104
  this._fail(`to be greater than or equal to ${stringifyValue(value)}`);
105
105
  }
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) {
106
+ toBeInstanceOf(constructor, assertionOrMatcher) {
114
107
  if (this.value instanceof constructor) {
115
- if (assertion)
116
- assertion(this);
108
+ if (isMatcher(assertionOrMatcher)) {
109
+ assertionOrMatcher.expect(this.value);
110
+ } else if (assertionOrMatcher) {
111
+ assertionOrMatcher(this);
112
+ }
117
113
  return this;
118
114
  }
119
115
  this._fail(`to be an instance of ${stringifyConstructor(constructor)}`);
@@ -217,24 +213,21 @@ var Expectations = class {
217
213
  }
218
214
  return this;
219
215
  }
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) {
216
+ toHaveProperty(property, assertionOrMatcher) {
228
217
  this.toBeDefined();
229
218
  const propertyValue = this.value[property];
230
219
  if (propertyValue === void 0) {
231
220
  this._fail(`to have property "${String(property)}"`);
232
221
  }
233
- if (assertion) {
222
+ if (assertionOrMatcher) {
223
+ const parent = { expectations: this, prop: property };
234
224
  try {
235
- const parent = { expectations: this, prop: property };
236
- const expectations = new Expectations(propertyValue, this.remarks, parent);
237
- assertion(expectations);
225
+ if (isMatcher(assertionOrMatcher)) {
226
+ assertionOrMatcher.expect(propertyValue, parent);
227
+ } else if (assertionOrMatcher) {
228
+ const expectations = new Expectations(propertyValue, this.remarks, parent);
229
+ assertionOrMatcher(expectations);
230
+ }
238
231
  } catch (error) {
239
232
  if (error instanceof ExpectationError && error.diff) {
240
233
  error.diff = {
@@ -304,22 +297,18 @@ var Expectations = class {
304
297
  const diff2 = { diff: true, value: this.value, expected };
305
298
  this._fail(`to strictly equal ${stringifyValue(expected)}`, diff2);
306
299
  }
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) {
300
+ toThrow(assertionOrMatcher) {
315
301
  const func = this.toBeA("function");
316
302
  let passed = false;
317
303
  try {
318
304
  func.value();
319
305
  passed = true;
320
306
  } catch (thrown) {
321
- if (assert)
322
- assert(new Expectations(thrown, this.remarks));
307
+ if (isMatcher(assertionOrMatcher)) {
308
+ assertionOrMatcher.expect(thrown);
309
+ } else if (assertionOrMatcher) {
310
+ assertionOrMatcher(new Expectations(thrown, this.remarks));
311
+ }
323
312
  }
324
313
  if (passed)
325
314
  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
  }
@@ -1,3 +1,9 @@
1
+ ;const __$$_esm_paths_helper = await (async() => {
2
+ const __filename = (await import("node:url")).fileURLToPath(import.meta.url);
3
+ const __dirname = (await import("node:path")).dirname(__filename);
4
+ return { __filename, __dirname };
5
+ })();
6
+
1
7
  // expectation/include.ts
2
8
  import { diff } from "./diff.mjs";
3
9
  import {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/expectation/include.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }