@serenity-js/core 3.1.0 → 3.1.1

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.1.1](https://github.com/serenity-js/serenity-js/compare/v3.1.0...v3.1.1) (2023-04-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **core:** ensure Wait.for(..) is not terminated prematurely by interactionTimeout ([f1a94e2](https://github.com/serenity-js/serenity-js/commit/f1a94e259942725f2603cc33cd9772478e825dde)), closes [#1604](https://github.com/serenity-js/serenity-js/issues/1604)
12
+
13
+
14
+
15
+
16
+
6
17
  # [3.1.0](https://github.com/serenity-js/serenity-js/compare/v3.0.1...v3.1.0) (2023-04-02)
7
18
 
8
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleWork.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAa,MAAM,WAAW,CAAC;AAE3F;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,OAAQ,YAAW,aAAa,EAAE,WAAW;IAE3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ;IAKtD,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACH,WAAW,CAAC,MAAM,EACd,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC;IAIlB,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvC,OAAO,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"ScheduleWork.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAa,MAAM,WAAW,CAAC;AAE3F;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,OAAQ,YAAW,aAAa,EAAE,WAAW;IAE3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ;IAKtD,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACH,WAAW,CAAC,MAAM,EACd,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC;IAIlB,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,IAAI,IAAI;CAGlB"}
@@ -32,10 +32,7 @@ class ScheduleWork extends abilities_1.Ability {
32
32
  return this.scheduler.repeatUntil(callback, limits);
33
33
  }
34
34
  waitFor(delay) {
35
- this.scheduler.start();
36
- return this.scheduler.after(delay, () => {
37
- // do nothing
38
- });
35
+ return this.scheduler.waitFor(delay);
39
36
  }
40
37
  discard() {
41
38
  this.scheduler.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleWork.js","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AACtE,sCAA2F;AAE3F;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,mBAAO;IAIrC,YAAY,KAAY,EAAE,kBAA4B;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU;QACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,WAAW,CACP,QAAiC,EACjC,MAAkC;QAElC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,KAAe;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YACpC,aAAa;QACjB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACJ;AAtCD,oCAsCC"}
1
+ {"version":3,"file":"ScheduleWork.js","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AACtE,sCAA2F;AAE3F;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,mBAAO;IAIrC,YAAY,KAAY,EAAE,kBAA4B;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU;QACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,WAAW,CACP,QAAiC,EACjC,MAAkC;QAElC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,KAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACJ;AAnCD,oCAmCC"}
@@ -25,6 +25,12 @@ export declare class Scheduler {
25
25
  * @param callback
26
26
  */
27
27
  after<Result>(delay: Duration, callback: DelayedCallback<Result>): Promise<Result>;
28
+ /**
29
+ * Returns a `Promise` to be resolved after a `delay`
30
+ *
31
+ * @param delay
32
+ */
33
+ waitFor(delay: Duration): Promise<void>;
28
34
  /**
29
35
  * Schedules a callback function to be repeated, according to configured limits.
30
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,qBAAa,SAAS;IAcd,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAbvC,OAAO,CAAC,kBAAkB,CAAmE;IAC7F,OAAO,CAAC,kBAAkB,CAAmE;IAC7F,OAAO,CAAC,eAAe,CAAsE;IAE7F,OAAO,CAAC,KAAK,CAAe;IAE5B;;;;OAIG;gBAEkB,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,QAAQ;IAIjD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAWlF;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EACpB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,MAAM,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACvC,OAAO,CAAC,MAAM,CAAC;IAwBlB,KAAK,IAAI,IAAI;IASb,SAAS,IAAI,OAAO;IAIpB,IAAI,IAAI,IAAI;IAeZ,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAMzD,OAAO,CAAC,6BAA6B;IAWrC,OAAO,CAAC,MAAM;IA6Dd,OAAO,CAAC,UAAU;CAgBrB"}
1
+ {"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,qBAAa,SAAS;IAcd,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAbvC,OAAO,CAAC,kBAAkB,CAAmE;IAC7F,OAAO,CAAC,kBAAkB,CAAmE;IAC7F,OAAO,CAAC,eAAe,CAAsE;IAE7F,OAAO,CAAC,KAAK,CAAe;IAE5B;;;;OAIG;gBAEkB,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,QAAQ;IAIjD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAWlF;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EACpB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,MAAM,GAAE,iBAAiB,CAAC,MAAM,CAAM,GACvC,OAAO,CAAC,MAAM,CAAC;IAwBlB,KAAK,IAAI,IAAI;IASb,SAAS,IAAI,OAAO;IAIpB,IAAI,IAAI,IAAI;IAeZ,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAMzD,OAAO,CAAC,6BAA6B;IAWrC,OAAO,CAAC,MAAM;IA6Dd,OAAO,CAAC,UAAU;CAgBrB"}
@@ -32,6 +32,19 @@ class Scheduler {
32
32
  timeout: this.interactionTimeout,
33
33
  });
34
34
  }
35
+ /**
36
+ * Returns a `Promise` to be resolved after a `delay`
37
+ *
38
+ * @param delay
39
+ */
40
+ waitFor(delay) {
41
+ return this.repeatUntil(() => void 0, {
42
+ maxInvocations: 1,
43
+ delayBetweenInvocations: () => delay,
44
+ // make sure waitFor doesn't get terminated before it's resolved
45
+ timeout: this.interactionTimeout.plus(delay),
46
+ });
47
+ }
35
48
  /**
36
49
  * Schedules a callback function to be repeated, according to configured limits.
37
50
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/core",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "Serenity/JS Screenplay, reporting engine and core interfaces.",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -71,5 +71,5 @@
71
71
  "node": "^14 || ^16 || ^18",
72
72
  "npm": "^6 || ^7 || ^8 || ^9"
73
73
  },
74
- "gitHead": "a188b0763c1df74bb10499f0482e510f08467705"
74
+ "gitHead": "f11d5ecf323507cab2e14319de9f189b91208924"
75
75
  }
@@ -40,10 +40,7 @@ export class ScheduleWork extends Ability implements Initialisable, Discardable
40
40
  }
41
41
 
42
42
  waitFor(delay: Duration): Promise<void> {
43
- this.scheduler.start();
44
- return this.scheduler.after(delay, () => {
45
- // do nothing
46
- })
43
+ return this.scheduler.waitFor(delay);
47
44
  }
48
45
 
49
46
  discard(): void {
@@ -44,6 +44,24 @@ export class Scheduler {
44
44
  );
45
45
  }
46
46
 
47
+ /**
48
+ * Returns a `Promise` to be resolved after a `delay`
49
+ *
50
+ * @param delay
51
+ */
52
+ waitFor(delay: Duration): Promise<void> {
53
+ return this.repeatUntil<void>(
54
+ () => void 0,
55
+ {
56
+ maxInvocations: 1,
57
+ delayBetweenInvocations: () => delay,
58
+
59
+ // make sure waitFor doesn't get terminated before it's resolved
60
+ timeout: this.interactionTimeout.plus(delay),
61
+ },
62
+ );
63
+ }
64
+
47
65
  /**
48
66
  * Schedules a callback function to be repeated, according to configured limits.
49
67
  *