@plugjs/expect5 0.4.2 → 0.4.3

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 (59) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/dist/expectation/async.cjs +73 -0
  3. package/dist/expectation/async.cjs.map +6 -0
  4. package/dist/expectation/async.d.ts +54 -0
  5. package/dist/expectation/async.mjs +46 -0
  6. package/dist/expectation/async.mjs.map +6 -0
  7. package/dist/expectation/basic.cjs +155 -183
  8. package/dist/expectation/basic.cjs.map +1 -1
  9. package/dist/expectation/basic.d.ts +90 -47
  10. package/dist/expectation/basic.mjs +142 -163
  11. package/dist/expectation/basic.mjs.map +1 -1
  12. package/dist/expectation/diff.cjs +7 -7
  13. package/dist/expectation/diff.cjs.map +1 -1
  14. package/dist/expectation/diff.mjs +7 -7
  15. package/dist/expectation/diff.mjs.map +1 -1
  16. package/dist/expectation/expect.cjs +94 -108
  17. package/dist/expectation/expect.cjs.map +2 -2
  18. package/dist/expectation/expect.d.ts +103 -130
  19. package/dist/expectation/expect.mjs +131 -137
  20. package/dist/expectation/expect.mjs.map +2 -2
  21. package/dist/expectation/include.cjs +50 -61
  22. package/dist/expectation/include.cjs.map +1 -1
  23. package/dist/expectation/include.d.ts +19 -10
  24. package/dist/expectation/include.mjs +53 -57
  25. package/dist/expectation/include.mjs.map +1 -1
  26. package/dist/expectation/throwing.cjs +27 -27
  27. package/dist/expectation/throwing.cjs.map +1 -1
  28. package/dist/expectation/throwing.d.ts +36 -8
  29. package/dist/expectation/throwing.mjs +26 -26
  30. package/dist/expectation/throwing.mjs.map +1 -1
  31. package/dist/expectation/trivial.cjs +96 -0
  32. package/dist/expectation/trivial.cjs.map +6 -0
  33. package/dist/expectation/trivial.d.ts +13 -0
  34. package/dist/expectation/trivial.mjs +61 -0
  35. package/dist/expectation/trivial.mjs.map +6 -0
  36. package/dist/expectation/types.cjs +9 -12
  37. package/dist/expectation/types.cjs.map +1 -1
  38. package/dist/expectation/types.d.ts +52 -10
  39. package/dist/expectation/types.mjs +8 -10
  40. package/dist/expectation/types.mjs.map +1 -1
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.mjs.map +1 -1
  44. package/package.json +2 -2
  45. package/src/expectation/async.ts +151 -0
  46. package/src/expectation/basic.ts +356 -156
  47. package/src/expectation/diff.ts +8 -9
  48. package/src/expectation/expect.ts +239 -268
  49. package/src/expectation/include.ts +93 -59
  50. package/src/expectation/throwing.ts +102 -41
  51. package/src/expectation/trivial.ts +107 -0
  52. package/src/expectation/types.ts +82 -25
  53. package/src/index.ts +2 -0
  54. package/dist/expectation/void.cjs +0 -111
  55. package/dist/expectation/void.cjs.map +0 -6
  56. package/dist/expectation/void.d.ts +0 -39
  57. package/dist/expectation/void.mjs +0 -77
  58. package/dist/expectation/void.mjs.map +0 -6
  59. package/src/expectation/void.ts +0 -80
@@ -1,153 +1,146 @@
1
1
  // expectation/expect.ts
2
- import { ExpectationError, matcherMarker } from "./types.mjs";
3
2
  import {
4
- ToBeA,
5
- ToBeCloseTo,
6
- ToBeError,
7
- ToBeGreaterThan,
8
- ToBeGreaterThanOrEqual,
9
- ToBeInstanceOf,
10
- ToBeLessThan,
11
- ToBeLessThanOrEqual,
12
- ToBeWithinRange,
13
- ToEqual,
14
- ToHaveLength,
15
- ToHaveProperty,
16
- ToHaveSize,
17
- ToMatch,
18
- ToStrictlyEqual
3
+ toBeRejected,
4
+ toBeRejectedWithError,
5
+ toBeResolved
6
+ } from "./async.mjs";
7
+ import {
8
+ toBeA,
9
+ toBeCloseTo,
10
+ toBeError,
11
+ toBeGreaterThan,
12
+ toBeGreaterThanOrEqual,
13
+ toBeInstanceOf,
14
+ toBeLessThan,
15
+ toBeLessThanOrEqual,
16
+ toBeWithinRange,
17
+ toEqual,
18
+ toHaveLength,
19
+ toHaveProperty,
20
+ toHaveSize,
21
+ toMatch,
22
+ toStrictlyEqual
19
23
  } from "./basic.mjs";
20
24
  import {
21
- ToInclude,
22
- ToMatchContents
25
+ toInclude,
26
+ toMatchContents
23
27
  } from "./include.mjs";
24
28
  import {
25
- ToThrow,
26
- ToThrowError
29
+ toThrow,
30
+ toThrowError
27
31
  } from "./throwing.mjs";
28
32
  import {
29
- ToBeDefined,
30
- ToBeFalse,
31
- ToBeFalsy,
32
- ToBeNaN,
33
- ToBeNegativeInfinity,
34
- ToBeNull,
35
- ToBePositiveInfinity,
36
- ToBeTrue,
37
- ToBeTruthy,
38
- ToBeUndefined
39
- } from "./void.mjs";
40
- var expectations = {
41
- // basic expectations
42
- toBeA: new ToBeA(),
43
- toBeCloseTo: new ToBeCloseTo(),
44
- toBeError: new ToBeError(),
45
- toBeGreaterThan: new ToBeGreaterThan(),
46
- toBeGreaterThanOrEqual: new ToBeGreaterThanOrEqual(),
47
- toBeInstanceOf: new ToBeInstanceOf(),
48
- toBeLessThan: new ToBeLessThan(),
49
- toBeLessThanOrEqual: new ToBeLessThanOrEqual(),
50
- toBeWithinRange: new ToBeWithinRange(),
51
- toEqual: new ToEqual(),
52
- toHaveLength: new ToHaveLength(),
53
- toHaveProperty: new ToHaveProperty(),
54
- toHaveSize: new ToHaveSize(),
55
- toMatch: new ToMatch(),
56
- toStrictlyEqual: new ToStrictlyEqual(),
33
+ toBeDefined,
34
+ toBeFalse,
35
+ toBeFalsy,
36
+ toBeNaN,
37
+ toBeNegativeInfinity,
38
+ toBeNull,
39
+ toBeNullable,
40
+ toBePositiveInfinity,
41
+ toBeTrue,
42
+ toBeTruthy,
43
+ toBeUndefined
44
+ } from "./trivial.mjs";
45
+ import {
46
+ ExpectationError,
47
+ matcherMarker
48
+ } from "./types.mjs";
49
+ var asyncExpectations = {
50
+ toBeResolved,
51
+ toBeRejected,
52
+ toBeRejectedWithError
53
+ };
54
+ var syncExpectations = {
55
+ // basic
56
+ toBeA,
57
+ toBeCloseTo,
58
+ toBeError,
59
+ toBeGreaterThan,
60
+ toBeGreaterThanOrEqual,
61
+ toBeInstanceOf,
62
+ toBeLessThan,
63
+ toBeLessThanOrEqual,
64
+ toBeWithinRange,
65
+ toEqual,
66
+ toHaveLength,
67
+ toHaveProperty,
68
+ toHaveSize,
69
+ toMatch,
70
+ toStrictlyEqual,
57
71
  // include
58
- toInclude: new ToInclude(),
59
- toMatchContents: new ToMatchContents(),
72
+ toInclude,
73
+ toMatchContents,
60
74
  // throwing
61
- toThrow: new ToThrow(),
62
- toThrowError: new ToThrowError(),
63
- // void expectations
64
- toBeDefined: new ToBeDefined(),
65
- toBeFalse: new ToBeFalse(),
66
- toBeFalsy: new ToBeFalsy(),
67
- toBeNaN: new ToBeNaN(),
68
- toBeNegativeInfinity: new ToBeNegativeInfinity(),
69
- toBeNull: new ToBeNull(),
70
- toBePositiveInfinity: new ToBePositiveInfinity(),
71
- toBeTrue: new ToBeTrue(),
72
- toBeTruthy: new ToBeTruthy(),
73
- toBeUndefined: new ToBeUndefined()
75
+ toThrow,
76
+ toThrowError,
77
+ // trivial
78
+ toBeDefined,
79
+ toBeFalse,
80
+ toBeFalsy,
81
+ toBeNaN,
82
+ toBeNegativeInfinity,
83
+ toBeNull,
84
+ toBeNullable,
85
+ toBePositiveInfinity,
86
+ toBeTrue,
87
+ toBeTruthy,
88
+ toBeUndefined
74
89
  };
75
- var ExpectationsImpl = class {
76
- constructor(value, _positiveExpectations) {
90
+ var allExpectations = {
91
+ ...asyncExpectations,
92
+ ...syncExpectations
93
+ };
94
+ var ExpectationsContextImpl = class {
95
+ constructor(value, negative, expects, negated, parent) {
77
96
  this.value = value;
78
- if (_positiveExpectations) {
79
- this._negative = true;
80
- this._positiveExpectations = _positiveExpectations;
81
- this._negativeExpectations = this;
82
- } else {
83
- this._negative = false;
84
- this._positiveExpectations = this;
85
- this._negativeExpectations = new ExpectationsImpl(value, this);
86
- }
87
- }
88
- _positiveExpectations;
89
- _negativeExpectations;
90
- _negative;
91
- /* == NEW EXPECTATIONS ==================================================== */
92
- forProperty(prop) {
93
- this.toBeDefined();
94
- const child = new ExpectationsImpl(this.value[prop]);
95
- child.parent = { context: this, prop };
96
- return child;
97
+ this.negative = negative;
98
+ this.expects = expects;
99
+ this.negated = negated;
100
+ this.parent = parent;
97
101
  }
98
102
  forValue(value) {
99
103
  return new ExpectationsImpl(value);
100
104
  }
101
- /* == NEGATION ============================================================ */
102
- negated(negative) {
103
- return negative ? this._negativeExpectations : this._positiveExpectations;
104
- }
105
- get not() {
106
- return this._negative ? this._positiveExpectations : this._negativeExpectations;
107
- }
108
- /* == ASYNCHRONOUS EXPECTATIONS =========================================== */
109
- toBeResolved(assert) {
110
- return Promise.resolve().then(() => {
111
- this._positiveExpectations.toHaveProperty("then", (a) => a.toBeA("function"));
112
- return Promise.allSettled([Promise.resolve(this.value)]);
113
- }).then(([settlement]) => {
114
- if (settlement.status === "fulfilled") {
115
- if (this._negative)
116
- throw new ExpectationError(this, true, "to be resolved");
117
- if (assert)
118
- assert(new ExpectationsImpl(settlement.value));
119
- } else if (!this._negative) {
120
- throw new ExpectationError(this, false, "to be resolved");
121
- }
122
- return this._positiveExpectations;
123
- });
124
- }
125
- toBeRejected(assert) {
126
- return Promise.resolve().then(() => {
127
- this._positiveExpectations.toHaveProperty("then", (a) => a.toBeA("function"));
128
- return Promise.allSettled([Promise.resolve(this.value)]);
129
- }).then(([settlement]) => {
130
- if (settlement.status === "rejected") {
131
- if (this._negative)
132
- throw new ExpectationError(this, true, "to be rejected");
133
- if (assert)
134
- assert(new ExpectationsImpl(settlement.reason));
135
- } else if (!this._negative) {
136
- throw new ExpectationError(this, false, "to be rejected");
137
- }
138
- return this._positiveExpectations;
139
- });
105
+ forProperty(prop) {
106
+ this.expects.toBeDefined();
107
+ const value = this.value[prop];
108
+ const parent = { context: this, prop };
109
+ return new ExpectationsImpl(value, parent);
140
110
  }
141
- toBeRejectedWithError(...args) {
142
- return this.toBeRejected((assert) => assert.toBeError(...args));
111
+ };
112
+ var ExpectationsImpl = class {
113
+ _context;
114
+ value;
115
+ not;
116
+ constructor(value, parent, positives) {
117
+ this.value = value;
118
+ if (positives) {
119
+ this.not = positives;
120
+ this._context = new ExpectationsContextImpl(
121
+ value,
122
+ true,
123
+ positives,
124
+ this,
125
+ parent
126
+ );
127
+ } else {
128
+ this._context = new ExpectationsContextImpl(
129
+ value,
130
+ false,
131
+ this,
132
+ this,
133
+ parent
134
+ );
135
+ this.not = new ExpectationsImpl(value, parent, this);
136
+ }
143
137
  }
144
138
  static {
145
- for (const [key, value] of Object.entries(expectations)) {
139
+ for (const [key, value] of Object.entries(allExpectations)) {
146
140
  const expectation = value;
147
141
  const fn = function(...args) {
148
142
  try {
149
- expectation.expect(this._positiveExpectations, this._negative, ...args);
150
- return this._positiveExpectations;
143
+ return expectation.call(this._context, ...args);
151
144
  } catch (error) {
152
145
  if (error instanceof ExpectationError)
153
146
  Error.captureStackTrace(error, fn);
@@ -159,7 +152,7 @@ var ExpectationsImpl = class {
159
152
  }
160
153
  }
161
154
  };
162
- var ExpectationsMatcherImpl = class {
155
+ var MatcherImpl = class {
163
156
  _matchers;
164
157
  _positiveBuilder;
165
158
  _negativeBuilder;
@@ -173,24 +166,25 @@ var ExpectationsMatcherImpl = class {
173
166
  } else {
174
167
  this._negative = false;
175
168
  this._positiveBuilder = this;
176
- this._negativeBuilder = new ExpectationsMatcherImpl(this._matchers, this);
169
+ this._negativeBuilder = new MatcherImpl(this._matchers, this);
177
170
  }
178
171
  }
179
172
  get not() {
180
173
  return this._negative ? this._positiveBuilder : this._negativeBuilder;
181
174
  }
182
175
  expect(value) {
183
- const expectations2 = new ExpectationsImpl(value);
176
+ const expectations = expect(value);
184
177
  for (const [expectation, negative, args] of this._matchers) {
185
- expectations2.negated(negative)[expectation](...args);
178
+ const expect2 = negative ? expectations.not : expectations;
179
+ expect2[expectation](...args);
186
180
  }
187
181
  }
188
182
  static {
189
183
  Object.defineProperty(this.prototype, matcherMarker, { value: matcherMarker });
190
- for (const key in expectations) {
184
+ for (const key in syncExpectations) {
191
185
  Object.defineProperty(this.prototype, key, {
192
186
  value: function(...args) {
193
- return new ExpectationsMatcherImpl([
187
+ return new MatcherImpl([
194
188
  ...this._matchers,
195
189
  [key, this._negative, args]
196
190
  ]);
@@ -203,12 +197,12 @@ var expect = (value) => {
203
197
  return new ExpectationsImpl(value);
204
198
  };
205
199
  Object.defineProperty(expect, "not", {
206
- get: () => new ExpectationsMatcherImpl([]).not
200
+ get: () => new MatcherImpl([]).not
207
201
  });
208
- for (const name in expectations) {
202
+ for (const name in syncExpectations) {
209
203
  Object.defineProperty(expect, name, {
210
204
  value: function(...args) {
211
- const builder = new ExpectationsMatcherImpl([]);
205
+ const builder = new MatcherImpl([]);
212
206
  return builder[name](...args);
213
207
  }
214
208
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/expectation/expect.ts"],
4
- "mappings": "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",
5
- "names": ["expectations"]
4
+ "mappings": "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",
5
+ "names": ["expect"]
6
6
  }
@@ -20,59 +20,51 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // expectation/include.ts
21
21
  var include_exports = {};
22
22
  __export(include_exports, {
23
- ToInclude: () => ToInclude,
24
- ToMatchContents: () => ToMatchContents,
25
- includesMappings: () => includesMappings,
26
- includesProps: () => includesProps,
27
- includesValues: () => includesValues
23
+ toInclude: () => toInclude,
24
+ toMatchContents: () => toMatchContents
28
25
  });
29
26
  module.exports = __toCommonJS(include_exports);
30
27
  var import_diff = require("./diff.cjs");
31
28
  var import_types = require("./types.cjs");
32
- var ToInclude = class {
33
- expect(context, negative, expected) {
34
- if (expected instanceof Map)
35
- return includesMappings(context, negative, expected);
36
- if (expected instanceof Set)
37
- return includesValues(context, negative, expected);
38
- if (Array.isArray(expected))
39
- return includesValues(context, negative, new Set(expected));
40
- if (expected instanceof Object)
41
- return includesProps(context, negative, expected);
42
- throw new TypeError(`Invalid type for "toInclude(...)": ${(0, import_types.stringifyValue)(expected)}`);
43
- }
44
- };
45
- var ToMatchContents = class {
46
- expect(context, negative, contents) {
47
- let actual;
48
- let expected;
49
- try {
50
- actual = new Set(context.value);
51
- expected = new Set(contents);
52
- } catch (error) {
53
- throw new import_types.ExpectationError(context, false, "to be an iterable object");
54
- }
55
- const result = (0, import_diff.diff)(actual, expected);
56
- delete result.error;
57
- if (result.diff === negative)
58
- return;
59
- throw new import_types.ExpectationError(
60
- context,
61
- negative,
62
- `to match contents of ${(0, import_types.stringifyObjectType)(contents)}`,
63
- { ...result, value: context.value }
64
- );
29
+ function toInclude(expected) {
30
+ if (expected instanceof Map)
31
+ return includesMappings(this, expected);
32
+ if (expected instanceof Set)
33
+ return includesValues(this, expected);
34
+ if (Array.isArray(expected))
35
+ return includesValues(this, new Set(expected));
36
+ if (expected instanceof Object)
37
+ return includesProps(this, expected);
38
+ throw new TypeError(`Invalid type for "toInclude(...)": ${(0, import_types.stringifyValue)(expected)}`);
39
+ }
40
+ function toMatchContents(contents) {
41
+ let actual;
42
+ let expected;
43
+ try {
44
+ actual = new Set(this.value);
45
+ expected = new Set(contents);
46
+ } catch (error) {
47
+ throw new import_types.ExpectationError(this, "to be an iterable object", false);
65
48
  }
66
- };
67
- function includesProps(context, negative, expected) {
49
+ const result = (0, import_diff.diff)(actual, expected);
50
+ delete result.error;
51
+ if (result.diff === this.negative)
52
+ return this.expects;
53
+ throw new import_types.ExpectationError(
54
+ this,
55
+ `to match contents of ${(0, import_types.stringifyObjectType)(contents)}`,
56
+ { ...result, value: this.value }
57
+ );
58
+ }
59
+ function includesProps(context, expected) {
68
60
  if (context.value instanceof Map) {
69
- return includesMappings(context, negative, new Map(Object.entries(expected)));
61
+ return includesMappings(context, new Map(Object.entries(expected)));
70
62
  }
71
- context.toBeInstanceOf(Object);
63
+ context.expects.toBeInstanceOf(Object);
72
64
  const actual = context.value;
73
65
  const keys = new Set(Object.keys(expected));
74
66
  const props = {};
75
- if (negative) {
67
+ if (context.negative) {
76
68
  for (const key of keys) {
77
69
  if (actual[key] !== void 0 || key in actual) {
78
70
  props[key] = { diff: true, extra: actual[key] };
@@ -94,22 +86,22 @@ function includesProps(context, negative, expected) {
94
86
  }
95
87
  const count = Object.keys(props).length;
96
88
  if (count === 0)
97
- return;
89
+ return context.expects;
98
90
  const type = count === 1 ? "property" : "properties";
99
- throw new import_types.ExpectationError(context, negative, `to include ${count} ${type}`, {
91
+ throw new import_types.ExpectationError(context, `to include ${count} ${type}`, {
100
92
  diff: true,
101
93
  value: actual,
102
94
  props
103
95
  });
104
96
  }
105
- function includesValues(context, negative, expected) {
106
- context.toBeInstanceOf(Object);
97
+ function includesValues(context, expected) {
98
+ context.expects.toBeInstanceOf(Object);
107
99
  if (typeof context.value[Symbol.iterator] !== "function") {
108
- throw new import_types.ExpectationError(context, false, "to be an iterable object");
100
+ throw new import_types.ExpectationError(context, "to be an iterable object", false);
109
101
  }
110
102
  const actual = new Set(context.value);
111
103
  const values = [];
112
- if (negative) {
104
+ if (context.negative) {
113
105
  for (const exp of expected) {
114
106
  for (const act of actual) {
115
107
  const result = (0, import_diff.diff)(act, exp);
@@ -136,20 +128,20 @@ function includesValues(context, negative, expected) {
136
128
  }
137
129
  const count = values.length;
138
130
  if (count === 0)
139
- return;
131
+ return context.expects;
140
132
  const type = count === 1 ? "value" : "values";
141
- throw new import_types.ExpectationError(context, negative, `to include ${count} ${type}`, {
133
+ throw new import_types.ExpectationError(context, `to include ${count} ${type}`, {
142
134
  diff: true,
143
135
  value: context.value,
144
136
  values
145
137
  });
146
138
  }
147
- function includesMappings(context, negative, expected) {
148
- context.toBeInstanceOf(Map);
139
+ function includesMappings(context, expected) {
140
+ context.expects.toBeInstanceOf(Map);
149
141
  const actual = context.value;
150
142
  const keys = new Set(expected.keys());
151
143
  const mappings = [];
152
- if (negative) {
144
+ if (context.negative) {
153
145
  for (const key of keys) {
154
146
  if (actual.has(key)) {
155
147
  mappings.push([key, { diff: true, extra: actual.get(key) }]);
@@ -168,9 +160,9 @@ function includesMappings(context, negative, expected) {
168
160
  }
169
161
  const count = mappings.length;
170
162
  if (count === 0)
171
- return;
163
+ return context.expects;
172
164
  const type = count === 1 ? "mapping" : "mappings";
173
- throw new import_types.ExpectationError(context, negative, `to include ${count} ${type}`, {
165
+ throw new import_types.ExpectationError(context, `to include ${count} ${type}`, {
174
166
  diff: true,
175
167
  value: context.value,
176
168
  mappings
@@ -178,10 +170,7 @@ function includesMappings(context, negative, expected) {
178
170
  }
179
171
  // Annotate the CommonJS export names for ESM import in node:
180
172
  0 && (module.exports = {
181
- ToInclude,
182
- ToMatchContents,
183
- includesMappings,
184
- includesProps,
185
- includesValues
173
+ toInclude,
174
+ toMatchContents
186
175
  });
187
176
  //# sourceMappingURL=include.cjs.map
@@ -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
  }
@@ -1,10 +1,19 @@
1
- import type { Expectation, Expectations } from './expect';
2
- export declare class ToInclude implements Expectation {
3
- expect(context: Expectations, negative: boolean, expected: Record<string, any> | Map<any, any> | Set<any> | any[]): void;
4
- }
5
- export declare class ToMatchContents implements Expectation {
6
- expect(context: Expectations, negative: boolean, contents: any[] | Set<any>): void;
7
- }
8
- export declare function includesProps(context: Expectations, negative: boolean, expected: Record<string, any>): void;
9
- export declare function includesValues(context: Expectations, negative: boolean, expected: Set<any>): void;
10
- export declare function includesMappings(context: Expectations, negative: boolean, expected: Map<any, any>): void;
1
+ /** Expect the value to include _all_ properties from the specified _object_. */
2
+ declare function toInclude<T, P extends Record<string, any>>(this: T, properties: P): T;
3
+ /** Expect the value to include _all_ mappings from the specified {@link Map}. */
4
+ declare function toInclude<T>(this: T, mappings: Map<any, any>): T;
5
+ /** Expect the value to include _all_ values from the specified {@link Set}. */
6
+ declare function toInclude<T>(this: T, entries: Set<any>): T;
7
+ /** Expect the value to include _all_ values in any order from the specified _array_. */
8
+ declare function toInclude<T>(this: T, values: any[]): T;
9
+ /**
10
+ * Expect the value to include _all_ values (and only those values, in any
11
+ * order) from the specified _array_.
12
+ */
13
+ declare function toMatchContents<T>(this: T, contents: any[]): T;
14
+ /**
15
+ * Expect the value to include _all_ values (and only those values, in any
16
+ * order) from the specified {@link Set}.
17
+ */
18
+ declare function toMatchContents<T>(this: T, contents: Set<any>): T;
19
+ export { toInclude, toMatchContents, };