@serenity-js/assertions 3.41.1 → 3.42.0

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 (133) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/esm/Ensure.d.ts +110 -0
  3. package/esm/Ensure.d.ts.map +1 -0
  4. package/esm/Ensure.js +148 -0
  5. package/esm/Ensure.js.map +1 -0
  6. package/esm/EnsureEventually.d.ts +98 -0
  7. package/esm/EnsureEventually.d.ts.map +1 -0
  8. package/esm/EnsureEventually.js +142 -0
  9. package/esm/EnsureEventually.js.map +1 -0
  10. package/esm/expectations/and.d.ts +23 -0
  11. package/esm/expectations/and.d.ts.map +1 -0
  12. package/esm/expectations/and.js +46 -0
  13. package/esm/expectations/and.js.map +1 -0
  14. package/esm/expectations/contain.d.ts +27 -0
  15. package/esm/expectations/contain.d.ts.map +1 -0
  16. package/esm/expectations/contain.js +28 -0
  17. package/esm/expectations/contain.js.map +1 -0
  18. package/esm/expectations/containAtLeastOneItemThat.d.ts +24 -0
  19. package/esm/expectations/containAtLeastOneItemThat.d.ts.map +1 -0
  20. package/esm/expectations/containAtLeastOneItemThat.js +53 -0
  21. package/esm/expectations/containAtLeastOneItemThat.js.map +1 -0
  22. package/esm/expectations/containItemsWhereEachItem.d.ts +24 -0
  23. package/esm/expectations/containItemsWhereEachItem.d.ts.map +1 -0
  24. package/esm/expectations/containItemsWhereEachItem.js +53 -0
  25. package/esm/expectations/containItemsWhereEachItem.js.map +1 -0
  26. package/esm/expectations/endsWith.d.ts +22 -0
  27. package/esm/expectations/endsWith.d.ts.map +1 -0
  28. package/esm/expectations/endsWith.js +22 -0
  29. package/esm/expectations/endsWith.js.map +1 -0
  30. package/esm/expectations/equals.d.ts +28 -0
  31. package/esm/expectations/equals.d.ts.map +1 -0
  32. package/esm/expectations/equals.js +29 -0
  33. package/esm/expectations/equals.js.map +1 -0
  34. package/esm/expectations/includes.d.ts +41 -0
  35. package/esm/expectations/includes.d.ts.map +1 -0
  36. package/esm/expectations/includes.js +41 -0
  37. package/esm/expectations/includes.js.map +1 -0
  38. package/esm/expectations/index.d.ts +21 -0
  39. package/esm/expectations/index.d.ts.map +1 -0
  40. package/esm/expectations/index.js +21 -0
  41. package/esm/expectations/index.js.map +1 -0
  42. package/esm/expectations/isAfter.d.ts +42 -0
  43. package/esm/expectations/isAfter.d.ts.map +1 -0
  44. package/esm/expectations/isAfter.js +50 -0
  45. package/esm/expectations/isAfter.js.map +1 -0
  46. package/esm/expectations/isBefore.d.ts +42 -0
  47. package/esm/expectations/isBefore.d.ts.map +1 -0
  48. package/esm/expectations/isBefore.js +50 -0
  49. package/esm/expectations/isBefore.js.map +1 -0
  50. package/esm/expectations/isCloseTo.d.ts +24 -0
  51. package/esm/expectations/isCloseTo.d.ts.map +1 -0
  52. package/esm/expectations/isCloseTo.js +34 -0
  53. package/esm/expectations/isCloseTo.js.map +1 -0
  54. package/esm/expectations/isFalse.d.ts +21 -0
  55. package/esm/expectations/isFalse.d.ts.map +1 -0
  56. package/esm/expectations/isFalse.js +24 -0
  57. package/esm/expectations/isFalse.js.map +1 -0
  58. package/esm/expectations/isGreaterThan.d.ts +45 -0
  59. package/esm/expectations/isGreaterThan.d.ts.map +1 -0
  60. package/esm/expectations/isGreaterThan.js +45 -0
  61. package/esm/expectations/isGreaterThan.js.map +1 -0
  62. package/esm/expectations/isLessThan.d.ts +45 -0
  63. package/esm/expectations/isLessThan.d.ts.map +1 -0
  64. package/esm/expectations/isLessThan.js +45 -0
  65. package/esm/expectations/isLessThan.js.map +1 -0
  66. package/esm/expectations/isPresent.d.ts +65 -0
  67. package/esm/expectations/isPresent.d.ts.map +1 -0
  68. package/esm/expectations/isPresent.js +96 -0
  69. package/esm/expectations/isPresent.js.map +1 -0
  70. package/esm/expectations/isTrue.d.ts +21 -0
  71. package/esm/expectations/isTrue.d.ts.map +1 -0
  72. package/esm/expectations/isTrue.js +24 -0
  73. package/esm/expectations/isTrue.js.map +1 -0
  74. package/esm/expectations/matches.d.ts +22 -0
  75. package/esm/expectations/matches.d.ts.map +1 -0
  76. package/esm/expectations/matches.js +22 -0
  77. package/esm/expectations/matches.js.map +1 -0
  78. package/esm/expectations/not.d.ts +24 -0
  79. package/esm/expectations/not.d.ts.map +1 -0
  80. package/esm/expectations/not.js +48 -0
  81. package/esm/expectations/not.js.map +1 -0
  82. package/esm/expectations/or.d.ts +23 -0
  83. package/esm/expectations/or.d.ts.map +1 -0
  84. package/esm/expectations/or.js +53 -0
  85. package/esm/expectations/or.js.map +1 -0
  86. package/esm/expectations/property.d.ts +62 -0
  87. package/esm/expectations/property.d.ts.map +1 -0
  88. package/esm/expectations/property.js +82 -0
  89. package/esm/expectations/property.js.map +1 -0
  90. package/esm/expectations/startsWith.d.ts +22 -0
  91. package/esm/expectations/startsWith.d.ts.map +1 -0
  92. package/esm/expectations/startsWith.js +22 -0
  93. package/esm/expectations/startsWith.js.map +1 -0
  94. package/esm/index.d.ts +4 -0
  95. package/esm/index.d.ts.map +1 -0
  96. package/esm/index.js +4 -0
  97. package/esm/index.js.map +1 -0
  98. package/lib/Ensure.d.ts +1 -1
  99. package/lib/Ensure.d.ts.map +1 -1
  100. package/lib/Ensure.js +2 -2
  101. package/lib/Ensure.js.map +1 -1
  102. package/lib/EnsureEventually.d.ts +1 -1
  103. package/lib/EnsureEventually.d.ts.map +1 -1
  104. package/lib/expectations/contain.js +2 -2
  105. package/lib/expectations/contain.js.map +1 -1
  106. package/lib/expectations/equals.js +2 -2
  107. package/lib/expectations/equals.js.map +1 -1
  108. package/lib/expectations/index.d.ts +20 -20
  109. package/lib/expectations/index.d.ts.map +1 -1
  110. package/lib/expectations/index.js +20 -20
  111. package/lib/expectations/index.js.map +1 -1
  112. package/lib/expectations/isAfter.d.ts +1 -1
  113. package/lib/expectations/isBefore.d.ts +1 -1
  114. package/lib/expectations/isFalse.js +2 -2
  115. package/lib/expectations/isFalse.js.map +1 -1
  116. package/lib/expectations/isTrue.js +2 -2
  117. package/lib/expectations/isTrue.js.map +1 -1
  118. package/lib/index.d.ts +3 -3
  119. package/lib/index.d.ts.map +1 -1
  120. package/lib/index.js +3 -3
  121. package/lib/index.js.map +1 -1
  122. package/lib/package.json +1 -0
  123. package/package.json +31 -8
  124. package/src/Ensure.ts +2 -2
  125. package/src/EnsureEventually.ts +1 -1
  126. package/src/expectations/contain.ts +1 -1
  127. package/src/expectations/equals.ts +1 -1
  128. package/src/expectations/index.ts +20 -20
  129. package/src/expectations/isFalse.ts +1 -1
  130. package/src/expectations/isTrue.ts +1 -1
  131. package/src/index.ts +3 -3
  132. package/tsconfig-cjs.build.json +17 -0
  133. package/tsconfig-esm.build.json +18 -0
@@ -0,0 +1,24 @@
1
+ import { Expectation } from '@serenity-js/core';
2
+ /**
3
+ * Produces an [expectation](https://serenity-js.org/api/core/class/Expectation/) that negates the provided `expectation`.
4
+ *
5
+ * ## Ensuring that the actual value does not equal the expected value
6
+ *
7
+ * ```ts
8
+ * import { actorCalled } from '@serenity-js/core'
9
+ * import { Ensure, equals, not } from '@serenity-js/assertions'
10
+ *
11
+ * const actual = { name: 'apples' }
12
+ * const expected = { name: 'bananas' }
13
+ *
14
+ * await actorCalled('Ester').attemptsTo(
15
+ * Ensure.that(actual, not(equals(expected))),
16
+ * )
17
+ * ```
18
+ *
19
+ * @param expectation
20
+ *
21
+ * @group Expectations
22
+ */
23
+ export declare function not<Actual>(expectation: Expectation<Actual>): Expectation<Actual>;
24
+ //# sourceMappingURL=not.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not.d.ts","sourceRoot":"","sources":["../../src/expectations/not.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAyD,MAAM,mBAAmB,CAAC;AAEvG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAEjF"}
@@ -0,0 +1,48 @@
1
+ import { Expectation, ExpectationDetails, ExpectationMet, ExpectationNotMet } from '@serenity-js/core';
2
+ /**
3
+ * Produces an [expectation](https://serenity-js.org/api/core/class/Expectation/) that negates the provided `expectation`.
4
+ *
5
+ * ## Ensuring that the actual value does not equal the expected value
6
+ *
7
+ * ```ts
8
+ * import { actorCalled } from '@serenity-js/core'
9
+ * import { Ensure, equals, not } from '@serenity-js/assertions'
10
+ *
11
+ * const actual = { name: 'apples' }
12
+ * const expected = { name: 'bananas' }
13
+ *
14
+ * await actorCalled('Ester').attemptsTo(
15
+ * Ensure.that(actual, not(equals(expected))),
16
+ * )
17
+ * ```
18
+ *
19
+ * @param expectation
20
+ *
21
+ * @group Expectations
22
+ */
23
+ export function not(expectation) {
24
+ return new Not(expectation);
25
+ }
26
+ /**
27
+ * @package
28
+ */
29
+ class Not extends Expectation {
30
+ expectation;
31
+ static flipped(message) {
32
+ return message.startsWith('not ')
33
+ ? message.slice(4)
34
+ : `not ${message}`;
35
+ }
36
+ constructor(expectation) {
37
+ super('not', Not.flipped(expectation.toString()), async (actor, actual) => {
38
+ const subject = Not.flipped(expectation.toString());
39
+ const outcome = await actor.answer(expectation.isMetFor(actual));
40
+ const expectationDetails = ExpectationDetails.of('not', outcome.expectation);
41
+ return outcome instanceof ExpectationNotMet
42
+ ? new ExpectationMet(subject, expectationDetails, outcome.expected, outcome.actual)
43
+ : new ExpectationNotMet(subject, expectationDetails, outcome.expected, outcome.actual);
44
+ });
45
+ this.expectation = expectation;
46
+ }
47
+ }
48
+ //# sourceMappingURL=not.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not.js","sourceRoot":"","sources":["../../src/expectations/not.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEvG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,GAAG,CAAS,WAAgC;IACxD,OAAO,IAAI,GAAG,CAAS,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,GAAY,SAAQ,WAAmB;IAOZ;IANrB,MAAM,CAAC,OAAO,CAAC,OAAe;QAClC,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,OAAQ,OAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,YAA6B,WAAgC;QACzD,KAAK,CACD,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EACnC,KAAK,EAAE,KAAuB,EAAE,MAA0B,EAAE,EAAE;YAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACjE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAE7E,OAAO,OAAO,YAAY,iBAAiB;gBACvC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAE;gBACpF,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;QAChG,CAAC,CACJ,CAAC;QAduB,gBAAW,GAAX,WAAW,CAAqB;IAe7D,CAAC;CACJ"}
@@ -0,0 +1,23 @@
1
+ import { Expectation } from '@serenity-js/core';
2
+ /**
3
+ * Creates an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when at least one of the `expectations` is met for the given actual value.
4
+ *
5
+ * Use `or` to combine several expectations using logical "or",
6
+ *
7
+ * ## Combining several expectations
8
+ *
9
+ * ```ts
10
+ * import { actorCalled } from '@serenity-js/core'
11
+ * import { Ensure, or, startsWith } from '@serenity-js/assertions'
12
+ *
13
+ * await actorCalled('Ester').attemptsTo(
14
+ * Ensure.that('Hello World!', or(startsWith('Hello'), startsWith('Hi'))),
15
+ * )
16
+ * ```
17
+ *
18
+ * @param expectations
19
+ *
20
+ * @group Expectations
21
+ */
22
+ export declare function or<Actual_Type>(...expectations: Array<Expectation<Actual_Type>>): Expectation<Actual_Type>;
23
+ //# sourceMappingURL=or.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or.d.ts","sourceRoot":"","sources":["../../src/expectations/or.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiD,MAAM,mBAAmB,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,EAAE,CAAC,WAAW,EAAE,GAAG,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAE1G"}
@@ -0,0 +1,53 @@
1
+ import { Expectation, ExpectationMet, ExpectationNotMet, LogicError } from '@serenity-js/core';
2
+ /**
3
+ * Creates an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when at least one of the `expectations` is met for the given actual value.
4
+ *
5
+ * Use `or` to combine several expectations using logical "or",
6
+ *
7
+ * ## Combining several expectations
8
+ *
9
+ * ```ts
10
+ * import { actorCalled } from '@serenity-js/core'
11
+ * import { Ensure, or, startsWith } from '@serenity-js/assertions'
12
+ *
13
+ * await actorCalled('Ester').attemptsTo(
14
+ * Ensure.that('Hello World!', or(startsWith('Hello'), startsWith('Hi'))),
15
+ * )
16
+ * ```
17
+ *
18
+ * @param expectations
19
+ *
20
+ * @group Expectations
21
+ */
22
+ export function or(...expectations) {
23
+ return new Or(expectations);
24
+ }
25
+ /**
26
+ * @package
27
+ */
28
+ class Or extends Expectation {
29
+ expectations;
30
+ static Separator = ' or ';
31
+ static subjectFor(expectations) {
32
+ return expectations
33
+ .map(expectation => expectation.toString())
34
+ .join(Or.Separator);
35
+ }
36
+ constructor(expectations) {
37
+ super('or', Or.subjectFor(expectations), async (actor, actual) => {
38
+ if (!expectations || expectations.length === 0) {
39
+ throw new LogicError(`No expectations provided to or()`);
40
+ }
41
+ let outcome;
42
+ for (const expectation of expectations) {
43
+ outcome = await actor.answer(expectation.isMetFor(actual));
44
+ if (outcome instanceof ExpectationMet) {
45
+ return outcome;
46
+ }
47
+ }
48
+ return new ExpectationNotMet(Or.subjectFor(expectations), outcome.expectation, outcome.expected, outcome.actual);
49
+ });
50
+ this.expectations = expectations;
51
+ }
52
+ }
53
+ //# sourceMappingURL=or.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or.js","sourceRoot":"","sources":["../../src/expectations/or.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,EAAE,CAAc,GAAG,YAA6C;IAC5E,OAAO,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,EAAW,SAAQ,WAAmB;IASX;IARrB,MAAM,CAAU,SAAS,GAAG,MAAM,CAAC;IAEnC,MAAM,CAAC,UAAU,CAAI,YAAmC;QAC5D,OAAO,YAAY;aACd,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;aAC1C,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,YAA6B,YAAwC;QACjE,KAAK,CACD,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAC3B,KAAK,EAAE,KAAuB,EAAE,MAA0B,EAAE,EAAE;YAC1D,IAAI,CAAE,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,OAA2B,CAAC;YAChC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACrC,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE3D,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;oBACpC,OAAO,OAAO,CAAC;gBACnB,CAAC;YACL,CAAC;YAED,OAAO,IAAI,iBAAiB,CACxB,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAC3B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,CACjB,CAAC;QACN,CAAC,CACJ,CAAC;QAzBuB,iBAAY,GAAZ,YAAY,CAA4B;IA0BrE,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { Expectation } from '@serenity-js/core';
2
+ /**
3
+ * Creates an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when the value of
4
+ * the `actual[propertyName]` meets the `expectation`.
5
+ *
6
+ * ## Ensuring that an array has an item
7
+ *
8
+ * ```ts
9
+ * import { actorCalled } from '@serenity-js/core'
10
+ * import { Ensure, property } from '@serenity-js/assertions'
11
+ *
12
+ * const list = [ 'hello', 'world' ]
13
+ *
14
+ * await actorCalled('Ester').attemptsTo(
15
+ * Ensure.that(list, property(0, isPresent())),
16
+ * )
17
+ * ```
18
+ *
19
+ * ## Ensuring that the property meets an expectation
20
+ *
21
+ * ```ts
22
+ * import { actorCalled } from '@serenity-js/core'
23
+ * import { Ensure, property, equals } from '@serenity-js/assertions'
24
+ *
25
+ * const list = [ 'hello', 'world' ]
26
+ *
27
+ * await actorCalled('Ester').attemptsTo(
28
+ * Ensure.that(list, property('length', equals(2))),
29
+ * )
30
+ * ```
31
+ *
32
+ * ## Asserting on a list of objects
33
+ *
34
+ * ```ts
35
+ * import { actorCalled } from '@serenity-js/core'
36
+ * import { Ensure, property, equals } from '@serenity-js/assertions'
37
+ *
38
+ * const developers = [{
39
+ * name: 'Jan',
40
+ * id: '@jan-molak',
41
+ * }, {
42
+ * name: 'John',
43
+ * id: '@wakaleo',
44
+ * }]
45
+ *
46
+ * await actorCalled('Ester').attemptsTo(
47
+ * Ensure.that(
48
+ * developers,
49
+ * containItemsWhereEachItem(
50
+ * property('id', startsWith('@'))
51
+ * ),
52
+ * ),
53
+ * )
54
+ * ```
55
+ *
56
+ * @param propertyName
57
+ * @param expectation
58
+ *
59
+ * @group Expectations
60
+ */
61
+ export declare function property<Actual extends object, PropertyName extends keyof Actual>(propertyName: PropertyName, expectation: Expectation<Actual[PropertyName]>): Expectation<Actual>;
62
+ //# sourceMappingURL=property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../src/expectations/property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAyD,MAAM,mBAAmB,CAAC;AAEvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,QAAQ,CAAC,MAAM,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,MAAM,EAC7E,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAC/C,WAAW,CAAC,MAAM,CAAC,CAErB"}
@@ -0,0 +1,82 @@
1
+ import { Expectation, ExpectationDetails, ExpectationMet, ExpectationNotMet } from '@serenity-js/core';
2
+ /**
3
+ * Creates an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when the value of
4
+ * the `actual[propertyName]` meets the `expectation`.
5
+ *
6
+ * ## Ensuring that an array has an item
7
+ *
8
+ * ```ts
9
+ * import { actorCalled } from '@serenity-js/core'
10
+ * import { Ensure, property } from '@serenity-js/assertions'
11
+ *
12
+ * const list = [ 'hello', 'world' ]
13
+ *
14
+ * await actorCalled('Ester').attemptsTo(
15
+ * Ensure.that(list, property(0, isPresent())),
16
+ * )
17
+ * ```
18
+ *
19
+ * ## Ensuring that the property meets an expectation
20
+ *
21
+ * ```ts
22
+ * import { actorCalled } from '@serenity-js/core'
23
+ * import { Ensure, property, equals } from '@serenity-js/assertions'
24
+ *
25
+ * const list = [ 'hello', 'world' ]
26
+ *
27
+ * await actorCalled('Ester').attemptsTo(
28
+ * Ensure.that(list, property('length', equals(2))),
29
+ * )
30
+ * ```
31
+ *
32
+ * ## Asserting on a list of objects
33
+ *
34
+ * ```ts
35
+ * import { actorCalled } from '@serenity-js/core'
36
+ * import { Ensure, property, equals } from '@serenity-js/assertions'
37
+ *
38
+ * const developers = [{
39
+ * name: 'Jan',
40
+ * id: '@jan-molak',
41
+ * }, {
42
+ * name: 'John',
43
+ * id: '@wakaleo',
44
+ * }]
45
+ *
46
+ * await actorCalled('Ester').attemptsTo(
47
+ * Ensure.that(
48
+ * developers,
49
+ * containItemsWhereEachItem(
50
+ * property('id', startsWith('@'))
51
+ * ),
52
+ * ),
53
+ * )
54
+ * ```
55
+ *
56
+ * @param propertyName
57
+ * @param expectation
58
+ *
59
+ * @group Expectations
60
+ */
61
+ export function property(propertyName, expectation) {
62
+ return new HasProperty(propertyName, expectation);
63
+ }
64
+ /**
65
+ * @package
66
+ */
67
+ class HasProperty extends Expectation {
68
+ propertyName;
69
+ constructor(propertyName, expectation) {
70
+ const subject = `have property ${String(propertyName)} that does ${expectation}`;
71
+ super('property', subject, async (actor, actual) => {
72
+ const actualValue = await actor.answer(actual);
73
+ const outcome = await actor.answer(expectation.isMetFor(actualValue[propertyName]));
74
+ const expectationDetails = ExpectationDetails.of('property', String(propertyName), outcome.expectation);
75
+ return outcome instanceof ExpectationMet
76
+ ? new ExpectationMet(subject, expectationDetails, outcome.expected, outcome.actual)
77
+ : new ExpectationNotMet(subject, expectationDetails, outcome.expected, outcome.actual);
78
+ });
79
+ this.propertyName = propertyName;
80
+ }
81
+ }
82
+ //# sourceMappingURL=property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../src/expectations/property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,UAAU,QAAQ,CACpB,YAA0B,EAC1B,WAA8C;IAE9C,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,WAAsE,SAAQ,WAAmB;IAE9E;IADrB,YACqB,YAA0B,EAC3C,WAA8C;QAE9C,MAAM,OAAO,GAAG,iBAAkB,MAAM,CAAC,YAAY,CAAE,cAAe,WAAY,EAAE,CAAC;QACrF,KAAK,CACD,UAAU,EACV,OAAO,EACP,KAAK,EAAE,KAAuB,EAAE,MAA0B,EAAE,EAAE;YAC1D,MAAM,WAAW,GAAK,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,OAAO,GAAS,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE1F,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAExG,OAAO,OAAO,YAAY,cAAc;gBACpC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;gBACnF,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/F,CAAC,CACJ,CAAC;QAjBe,iBAAY,GAAZ,YAAY,CAAc;IAkB/C,CAAC;CACJ"}
@@ -0,0 +1,22 @@
1
+ import { Expectation } from '@serenity-js/core';
2
+ /**
3
+ * Creates an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when the actual `string` value
4
+ * starts with the resolved value of `expected`.
5
+ *
6
+ * ## Ensuring that a given string starts with an expected substring
7
+ *
8
+ * ```ts
9
+ * import { actorCalled } from '@serenity-js/core'
10
+ * import { Ensure, startsWith } from '@serenity-js/assertions'
11
+ *
12
+ * await actorCalled('Ester').attemptsTo(
13
+ * Ensure.that('Hello World!', startsWith('Hello')),
14
+ * )
15
+ * ```
16
+ *
17
+ * @param expected
18
+ *
19
+ * @group Expectations
20
+ */
21
+ export declare const startsWith: (expected: import("@serenity-js/core").Answerable<string>) => Expectation<string>;
22
+ //# sourceMappingURL=startsWith.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startsWith.d.ts","sourceRoot":"","sources":["../../src/expectations/startsWith.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,mFAItB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { Expectation } from '@serenity-js/core';
2
+ /**
3
+ * Creates an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when the actual `string` value
4
+ * starts with the resolved value of `expected`.
5
+ *
6
+ * ## Ensuring that a given string starts with an expected substring
7
+ *
8
+ * ```ts
9
+ * import { actorCalled } from '@serenity-js/core'
10
+ * import { Ensure, startsWith } from '@serenity-js/assertions'
11
+ *
12
+ * await actorCalled('Ester').attemptsTo(
13
+ * Ensure.that('Hello World!', startsWith('Hello')),
14
+ * )
15
+ * ```
16
+ *
17
+ * @param expected
18
+ *
19
+ * @group Expectations
20
+ */
21
+ export const startsWith = Expectation.define('startsWith', 'start with', (actual, expected) => actual.startsWith(expected));
22
+ //# sourceMappingURL=startsWith.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startsWith.js","sourceRoot":"","sources":["../../src/expectations/startsWith.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CACxC,YAAY,EAAE,YAAY,EAC1B,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE,CACjC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAClC,CAAA"}
package/esm/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './Ensure.js';
2
+ export * from './EnsureEventually.js';
3
+ export * from './expectations/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
package/esm/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from './Ensure.js';
2
+ export * from './EnsureEventually.js';
3
+ export * from './expectations/index.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
package/lib/Ensure.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Answerable, AnswersQuestions, CollectsArtifacts, Expectation, RuntimeError, UsesAbilities } from '@serenity-js/core';
2
2
  import { Interaction } from '@serenity-js/core';
3
- import { EnsureEventually } from './EnsureEventually';
3
+ import { EnsureEventually } from './EnsureEventually.js';
4
4
  /**
5
5
  * The [interaction](https://serenity-js.org/api/core/class/Interaction/) to `Ensure`
6
6
  * verifies if the resolved value of the provided [`Answerable`](https://serenity-js.org/api/core/#Answerable)
@@ -1 +1 @@
1
- {"version":3,"file":"Ensure.d.ts","sourceRoot":"","sources":["../src/Ensure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAMH,WAAW,EAKd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,MAAM,CAAC,MAAM,CAAE,SAAQ,WAAW;IAgDvC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IA/CvD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAIrH;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAIrI;;;;OAIG;IACH,OAAO;IAQP;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3F;;;;;;;;;OASG;IACH,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW;CAgB7H"}
1
+ {"version":3,"file":"Ensure.d.ts","sourceRoot":"","sources":["../src/Ensure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAMH,WAAW,EAKd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,MAAM,CAAC,MAAM,CAAE,SAAQ,WAAW;IAgDvC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IA/CvD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAIrH;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAIrI;;;;OAIG;IACH,OAAO;IAQP;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3F;;;;;;;;;OASG;IACH,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW;CAgB7H"}
package/lib/Ensure.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Ensure = void 0;
4
4
  const core_1 = require("@serenity-js/core");
5
- const EnsureEventually_1 = require("./EnsureEventually");
5
+ const EnsureEventually_js_1 = require("./EnsureEventually.js");
6
6
  /**
7
7
  * The [interaction](https://serenity-js.org/api/core/class/Interaction/) to `Ensure`
8
8
  * verifies if the resolved value of the provided [`Answerable`](https://serenity-js.org/api/core/#Answerable)
@@ -89,7 +89,7 @@ class Ensure extends core_1.Interaction {
89
89
  * @returns {Ensure<Actual_Type>}
90
90
  */
91
91
  static eventually(actual, expectation) {
92
- return new EnsureEventually_1.EnsureEventually(actual, expectation, core_1.Activity.callerLocation(5));
92
+ return new EnsureEventually_js_1.EnsureEventually(actual, expectation, core_1.Activity.callerLocation(5));
93
93
  }
94
94
  /**
95
95
  * @param actual
package/lib/Ensure.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Ensure.js","sourceRoot":"","sources":["../src/Ensure.ts"],"names":[],"mappings":";;;AAQA,4CAW2B;AAG3B,yDAAsD;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,MAAe,SAAQ,kBAAW;IAgDpB;IACA;IA/CvB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,CAAc,MAA+B,EAAE,WAAqC;QAC3F,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,eAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAc,MAA+B,EAAE,WAAqC;QACjG,OAAO,IAAI,mCAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,eAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACH,YACuB,MAA0B,EAC1B,WAAgC,EACnD,QAA4B;QAE5B,KAAK,CAAC,IAAA,UAAG,EAAA,uBAAwB,MAAO,SAAU,WAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;QAJzD,WAAM,GAAN,MAAM,CAAoB;QAC1B,gBAAW,GAAX,WAAW,CAAqB;IAIvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAA2D;QACvE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3E,IAAI,OAAO,YAAY,wBAAiB,EAAE,CAAC;YACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS;gBAC/C,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,eAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,YAAa,iBAAkB,OAAQ,OAAO,CAAC,OAAQ,EAAE,CAAC;YAE1E,MAAM,kBAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAc,EAAE;gBAC/C,OAAO;gBACP,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC5D,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE;aACzC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAE,CAAC,OAAO,YAAY,qBAAc,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,iBAAU,CAAC,IAAA,QAAC,EAAA,wFAAyF,OAAQ,EAAE,CAAC,CAAC;QAC/H,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,kBAAwE,EAAE,OAAgB;QACxG,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE9C,OAAO,kBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpD,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACX,MAAM,kBAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBACnD,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO;oBACjC,QAAQ;oBACR,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3GD,wBA2GC"}
1
+ {"version":3,"file":"Ensure.js","sourceRoot":"","sources":["../src/Ensure.ts"],"names":[],"mappings":";;;AAQA,4CAW2B;AAG3B,+DAAyD;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,MAAe,SAAQ,kBAAW;IAgDpB;IACA;IA/CvB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,CAAc,MAA+B,EAAE,WAAqC;QAC3F,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,eAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAc,MAA+B,EAAE,WAAqC;QACjG,OAAO,IAAI,sCAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,eAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACH,YACuB,MAA0B,EAC1B,WAAgC,EACnD,QAA4B;QAE5B,KAAK,CAAC,IAAA,UAAG,EAAA,uBAAwB,MAAO,SAAU,WAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;QAJzD,WAAM,GAAN,MAAM,CAAoB;QAC1B,gBAAW,GAAX,WAAW,CAAqB;IAIvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAA2D;QACvE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3E,IAAI,OAAO,YAAY,wBAAiB,EAAE,CAAC;YACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS;gBAC/C,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,eAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,YAAa,iBAAkB,OAAQ,OAAO,CAAC,OAAQ,EAAE,CAAC;YAE1E,MAAM,kBAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAc,EAAE;gBAC/C,OAAO;gBACP,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC5D,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE;aACzC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAE,CAAC,OAAO,YAAY,qBAAc,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,iBAAU,CAAC,IAAA,QAAC,EAAA,wFAAyF,OAAQ,EAAE,CAAC,CAAC;QAC/H,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,kBAAwE,EAAE,OAAgB;QACxG,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE9C,OAAO,kBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACpD,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACX,MAAM,kBAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE;oBACnD,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO;oBACjC,QAAQ;oBACR,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3GD,wBA2GC"}
@@ -1,6 +1,6 @@
1
1
  import type { Answerable, AnswersQuestions, CollectsArtifacts, Expectation, RuntimeError, UsesAbilities } from '@serenity-js/core';
2
2
  import { Duration, Interaction } from '@serenity-js/core';
3
- import type { FileSystemLocation } from '@serenity-js/core/lib/io';
3
+ import type { FileSystemLocation } from '@serenity-js/core/io';
4
4
  /**
5
5
  * The [interaction](https://serenity-js.org/api/core/class/Interaction/) to `EnsureEventually`
6
6
  * verifies if the resolved value of the provided [`Answerable`](https://serenity-js.org/api/core/#Answerable)
@@ -1 +1 @@
1
- {"version":3,"file":"EnsureEventually.d.ts","sourceRoot":"","sources":["../src/EnsureEventually.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EAEX,YAAY,EACZ,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGH,QAAQ,EAER,WAAW,EAMd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,qBAAa,gBAAgB,CAAC,MAAM,CAAE,SAAQ,WAAW;IAQjD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ;IAVzC;;;;;OAKG;gBAEoB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EACnD,QAAQ,EAAE,kBAAkB,EACT,OAAO,CAAC,EAAE,QAAQ;IAKzC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAIzD;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC3F;;;;;;;;;OASG;IACH,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW;CAe7H"}
1
+ {"version":3,"file":"EnsureEventually.d.ts","sourceRoot":"","sources":["../src/EnsureEventually.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EAEX,YAAY,EACZ,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGH,QAAQ,EAER,WAAW,EAMd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,qBAAa,gBAAgB,CAAC,MAAM,CAAE,SAAQ,WAAW;IAQjD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ;IAVzC;;;;;OAKG;gBAEoB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EACnD,QAAQ,EAAE,kBAAkB,EACT,OAAO,CAAC,EAAE,QAAQ;IAKzC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAIzD;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC3F;;;;;;;;;OASG;IACH,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW;CAe7H"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contain = void 0;
4
4
  const core_1 = require("@serenity-js/core");
5
- const objects_1 = require("tiny-types/lib/objects");
5
+ const index_js_1 = require("tiny-types/lib/objects/index.js");
6
6
  /**
7
7
  * Produces an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when the actual array of `Item[]` contains
8
8
  * at least one `Item` that is equal to the resolved value of `expected`.
@@ -27,5 +27,5 @@ const objects_1 = require("tiny-types/lib/objects");
27
27
  *
28
28
  * @group Expectations
29
29
  */
30
- exports.contain = core_1.Expectation.define('contain', 'contain', (actual, expected) => actual.some(item => (0, objects_1.equal)(item, expected)));
30
+ exports.contain = core_1.Expectation.define('contain', 'contain', (actual, expected) => actual.some(item => (0, index_js_1.equal)(item, expected)));
31
31
  //# sourceMappingURL=contain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contain.js","sourceRoot":"","sources":["../../src/expectations/contain.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,oDAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACU,QAAA,OAAO,GAAG,kBAAW,CAAC,MAAM,CACrC,SAAS,EAAE,SAAS,EACpB,CAAO,MAAc,EAAE,QAAc,EAAE,EAAE,CACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,eAAK,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CACjD,CAAC"}
1
+ {"version":3,"file":"contain.js","sourceRoot":"","sources":["../../src/expectations/contain.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,8DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACU,QAAA,OAAO,GAAG,kBAAW,CAAC,MAAM,CACrC,SAAS,EAAE,SAAS,EACpB,CAAO,MAAc,EAAE,QAAc,EAAE,EAAE,CACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,gBAAK,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CACjD,CAAC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.equals = void 0;
4
4
  const core_1 = require("@serenity-js/core");
5
- const objects_1 = require("tiny-types/lib/objects");
5
+ const index_js_1 = require("tiny-types/lib/objects/index.js");
6
6
  /**
7
7
  * Produces an [expectation](https://serenity-js.org/api/core/class/Expectation/) that is met when the actual value
8
8
  * is equal to the resolved value of `expectedValue`.
@@ -28,5 +28,5 @@ const objects_1 = require("tiny-types/lib/objects");
28
28
  *
29
29
  * @group Expectations
30
30
  */
31
- exports.equals = core_1.Expectation.define('equals', 'equal', (actual, expected) => (0, objects_1.equal)(actual, expected));
31
+ exports.equals = core_1.Expectation.define('equals', 'equal', (actual, expected) => (0, index_js_1.equal)(actual, expected));
32
32
  //# sourceMappingURL=equals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/expectations/equals.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,oDAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACU,QAAA,MAAM,GAAG,kBAAW,CAAC,MAAM,CACpC,QAAQ,EAAE,OAAO,EACjB,CAAI,MAAS,EAAE,QAAW,EAAE,EAAE,CAC1B,IAAA,eAAK,EAAC,MAAM,EAAE,QAAQ,CAAC,CAC9B,CAAC"}
1
+ {"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/expectations/equals.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,8DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACU,QAAA,MAAM,GAAG,kBAAW,CAAC,MAAM,CACpC,QAAQ,EAAE,OAAO,EACjB,CAAI,MAAS,EAAE,QAAW,EAAE,EAAE,CAC1B,IAAA,gBAAK,EAAC,MAAM,EAAE,QAAQ,CAAC,CAC9B,CAAC"}
@@ -1,21 +1,21 @@
1
- export * from './and';
2
- export * from './contain';
3
- export * from './containAtLeastOneItemThat';
4
- export * from './containItemsWhereEachItem';
5
- export * from './endsWith';
6
- export * from './equals';
7
- export * from './includes';
8
- export * from './isAfter';
9
- export * from './isBefore';
10
- export * from './isCloseTo';
11
- export * from './isFalse';
12
- export * from './isGreaterThan';
13
- export * from './isLessThan';
14
- export * from './isPresent';
15
- export * from './isTrue';
16
- export * from './matches';
17
- export * from './not';
18
- export * from './or';
19
- export * from './property';
20
- export * from './startsWith';
1
+ export * from './and.js';
2
+ export * from './contain.js';
3
+ export * from './containAtLeastOneItemThat.js';
4
+ export * from './containItemsWhereEachItem.js';
5
+ export * from './endsWith.js';
6
+ export * from './equals.js';
7
+ export * from './includes.js';
8
+ export * from './isAfter.js';
9
+ export * from './isBefore.js';
10
+ export * from './isCloseTo.js';
11
+ export * from './isFalse.js';
12
+ export * from './isGreaterThan.js';
13
+ export * from './isLessThan.js';
14
+ export * from './isPresent.js';
15
+ export * from './isTrue.js';
16
+ export * from './matches.js';
17
+ export * from './not.js';
18
+ export * from './or.js';
19
+ export * from './property.js';
20
+ export * from './startsWith.js';
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expectations/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expectations/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -14,24 +14,24 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./and"), exports);
18
- __exportStar(require("./contain"), exports);
19
- __exportStar(require("./containAtLeastOneItemThat"), exports);
20
- __exportStar(require("./containItemsWhereEachItem"), exports);
21
- __exportStar(require("./endsWith"), exports);
22
- __exportStar(require("./equals"), exports);
23
- __exportStar(require("./includes"), exports);
24
- __exportStar(require("./isAfter"), exports);
25
- __exportStar(require("./isBefore"), exports);
26
- __exportStar(require("./isCloseTo"), exports);
27
- __exportStar(require("./isFalse"), exports);
28
- __exportStar(require("./isGreaterThan"), exports);
29
- __exportStar(require("./isLessThan"), exports);
30
- __exportStar(require("./isPresent"), exports);
31
- __exportStar(require("./isTrue"), exports);
32
- __exportStar(require("./matches"), exports);
33
- __exportStar(require("./not"), exports);
34
- __exportStar(require("./or"), exports);
35
- __exportStar(require("./property"), exports);
36
- __exportStar(require("./startsWith"), exports);
17
+ __exportStar(require("./and.js"), exports);
18
+ __exportStar(require("./contain.js"), exports);
19
+ __exportStar(require("./containAtLeastOneItemThat.js"), exports);
20
+ __exportStar(require("./containItemsWhereEachItem.js"), exports);
21
+ __exportStar(require("./endsWith.js"), exports);
22
+ __exportStar(require("./equals.js"), exports);
23
+ __exportStar(require("./includes.js"), exports);
24
+ __exportStar(require("./isAfter.js"), exports);
25
+ __exportStar(require("./isBefore.js"), exports);
26
+ __exportStar(require("./isCloseTo.js"), exports);
27
+ __exportStar(require("./isFalse.js"), exports);
28
+ __exportStar(require("./isGreaterThan.js"), exports);
29
+ __exportStar(require("./isLessThan.js"), exports);
30
+ __exportStar(require("./isPresent.js"), exports);
31
+ __exportStar(require("./isTrue.js"), exports);
32
+ __exportStar(require("./matches.js"), exports);
33
+ __exportStar(require("./not.js"), exports);
34
+ __exportStar(require("./or.js"), exports);
35
+ __exportStar(require("./property.js"), exports);
36
+ __exportStar(require("./startsWith.js"), exports);
37
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expectations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,4CAA0B;AAC1B,8DAA4C;AAC5C,8DAA4C;AAC5C,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,kDAAgC;AAChC,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,4CAA0B;AAC1B,wCAAsB;AACtB,uCAAqB;AACrB,6CAA2B;AAC3B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expectations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,iEAA+C;AAC/C,iEAA+C;AAC/C,gDAA8B;AAC9B,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,8CAA4B;AAC5B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,gDAA8B;AAC9B,kDAAgC"}
@@ -38,5 +38,5 @@ import { Expectation, type Timestamp } from '@serenity-js/core';
38
38
  *
39
39
  * @group Expectations
40
40
  */
41
- export declare const isAfter: (expected: import("@serenity-js/core").Answerable<Date | Timestamp>) => Expectation<Date | Timestamp>;
41
+ export declare const isAfter: (expected: import("@serenity-js/core").Answerable<Timestamp | Date>) => Expectation<Timestamp | Date>;
42
42
  //# sourceMappingURL=isAfter.d.ts.map
@@ -38,5 +38,5 @@ import { Expectation, type Timestamp } from '@serenity-js/core';
38
38
  *
39
39
  * @group Expectations
40
40
  */
41
- export declare const isBefore: (expected: import("@serenity-js/core").Answerable<Date | Timestamp>) => Expectation<Date | Timestamp>;
41
+ export declare const isBefore: (expected: import("@serenity-js/core").Answerable<Timestamp | Date>) => Expectation<Timestamp | Date>;
42
42
  //# sourceMappingURL=isBefore.d.ts.map