@serenity-js/core 3.25.5 → 3.26.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 +26 -0
- package/lib/events/actor/ActorEntersStage.d.ts +17 -0
- package/lib/events/actor/ActorEntersStage.d.ts.map +1 -0
- package/lib/events/actor/ActorEntersStage.js +29 -0
- package/lib/events/actor/ActorEntersStage.js.map +1 -0
- package/lib/events/actor/ActorStageExitAttempted.d.ts +19 -0
- package/lib/events/actor/ActorStageExitAttempted.d.ts.map +1 -0
- package/lib/events/actor/ActorStageExitAttempted.js +29 -0
- package/lib/events/actor/ActorStageExitAttempted.js.map +1 -0
- package/lib/events/actor/ActorStageExitCompleted.d.ts +20 -0
- package/lib/events/actor/ActorStageExitCompleted.d.ts.map +1 -0
- package/lib/events/actor/ActorStageExitCompleted.js +30 -0
- package/lib/events/actor/ActorStageExitCompleted.js.map +1 -0
- package/lib/events/actor/ActorStageExitFailed.d.ts +17 -0
- package/lib/events/actor/ActorStageExitFailed.d.ts.map +1 -0
- package/lib/events/actor/ActorStageExitFailed.js +25 -0
- package/lib/events/actor/ActorStageExitFailed.js.map +1 -0
- package/lib/events/actor/ActorStageExitStarts.d.ts +20 -0
- package/lib/events/actor/ActorStageExitStarts.d.ts.map +1 -0
- package/lib/events/actor/ActorStageExitStarts.js +32 -0
- package/lib/events/actor/ActorStageExitStarts.js.map +1 -0
- package/lib/events/actor/index.d.ts +6 -0
- package/lib/events/actor/index.d.ts.map +1 -0
- package/lib/events/actor/index.js +22 -0
- package/lib/events/actor/index.js.map +1 -0
- package/lib/events/index.d.ts +1 -0
- package/lib/events/index.d.ts.map +1 -1
- package/lib/events/index.js +1 -0
- package/lib/events/index.js.map +1 -1
- package/lib/screenplay/Actor.d.ts +8 -1
- package/lib/screenplay/Actor.d.ts.map +1 -1
- package/lib/screenplay/Actor.js +14 -10
- package/lib/screenplay/Actor.js.map +1 -1
- package/lib/screenplay/SerialisedActor.d.ts +9 -0
- package/lib/screenplay/SerialisedActor.d.ts.map +1 -0
- package/lib/screenplay/SerialisedActor.js +3 -0
- package/lib/screenplay/SerialisedActor.js.map +1 -0
- package/lib/screenplay/abilities/Ability.d.ts +39 -0
- package/lib/screenplay/abilities/Ability.d.ts.map +1 -1
- package/lib/screenplay/abilities/Ability.js +65 -0
- package/lib/screenplay/abilities/Ability.js.map +1 -1
- package/lib/screenplay/abilities/AbilityType.d.ts +5 -1
- package/lib/screenplay/abilities/AbilityType.d.ts.map +1 -1
- package/lib/screenplay/abilities/SerialisedAbility.d.ts +10 -0
- package/lib/screenplay/abilities/SerialisedAbility.d.ts.map +1 -0
- package/lib/screenplay/abilities/SerialisedAbility.js +3 -0
- package/lib/screenplay/abilities/SerialisedAbility.js.map +1 -0
- package/lib/screenplay/abilities/index.d.ts +1 -0
- package/lib/screenplay/abilities/index.d.ts.map +1 -1
- package/lib/screenplay/abilities/index.js +1 -0
- package/lib/screenplay/abilities/index.js.map +1 -1
- package/lib/screenplay/index.d.ts +1 -0
- package/lib/screenplay/index.d.ts.map +1 -1
- package/lib/screenplay/index.js +1 -0
- package/lib/screenplay/index.js.map +1 -1
- package/lib/screenplay/notes/TakeNotes.d.ts +2 -1
- package/lib/screenplay/notes/TakeNotes.d.ts.map +1 -1
- package/lib/screenplay/notes/TakeNotes.js +8 -0
- package/lib/screenplay/notes/TakeNotes.js.map +1 -1
- package/lib/screenplay/time/abilities/ScheduleWork.d.ts +2 -1
- package/lib/screenplay/time/abilities/ScheduleWork.d.ts.map +1 -1
- package/lib/screenplay/time/abilities/ScheduleWork.js +8 -0
- package/lib/screenplay/time/abilities/ScheduleWork.js.map +1 -1
- package/lib/screenplay/time/models/Clock.d.ts +2 -0
- package/lib/screenplay/time/models/Clock.d.ts.map +1 -1
- package/lib/screenplay/time/models/Clock.js +5 -0
- package/lib/screenplay/time/models/Clock.js.map +1 -1
- package/lib/screenplay/time/models/Scheduler.d.ts +2 -0
- package/lib/screenplay/time/models/Scheduler.d.ts.map +1 -1
- package/lib/screenplay/time/models/Scheduler.js +6 -0
- package/lib/screenplay/time/models/Scheduler.js.map +1 -1
- package/lib/stage/Stage.d.ts +6 -7
- package/lib/stage/Stage.d.ts.map +1 -1
- package/lib/stage/Stage.js +15 -5
- package/lib/stage/Stage.js.map +1 -1
- package/package.json +5 -5
- package/src/events/actor/ActorEntersStage.ts +32 -0
- package/src/events/actor/ActorStageExitAttempted.ts +34 -0
- package/src/events/actor/ActorStageExitCompleted.ts +34 -0
- package/src/events/actor/ActorStageExitFailed.ts +27 -0
- package/src/events/actor/ActorStageExitStarts.ts +35 -0
- package/src/events/actor/index.ts +5 -0
- package/src/events/index.ts +1 -0
- package/src/screenplay/Actor.ts +19 -28
- package/src/screenplay/SerialisedActor.ts +9 -0
- package/src/screenplay/abilities/Ability.ts +73 -0
- package/src/screenplay/abilities/AbilityType.ts +8 -1
- package/src/screenplay/abilities/SerialisedAbility.ts +10 -0
- package/src/screenplay/abilities/index.ts +1 -0
- package/src/screenplay/index.ts +1 -0
- package/src/screenplay/notes/TakeNotes.ts +10 -1
- package/src/screenplay/time/abilities/ScheduleWork.ts +11 -2
- package/src/screenplay/time/models/Clock.ts +7 -1
- package/src/screenplay/time/models/Scheduler.ts +9 -0
- package/src/stage/Stage.ts +50 -25
|
@@ -400,6 +400,71 @@ class Ability {
|
|
|
400
400
|
static as(actor) {
|
|
401
401
|
return actor.abilityTo(this);
|
|
402
402
|
}
|
|
403
|
+
/**
|
|
404
|
+
* Returns a JSON representation of the ability and its current state, if available.
|
|
405
|
+
* The purpose of this method is to enable reporting the state of the ability in a human-readable format,
|
|
406
|
+
* rather than to serialise and deserialise the ability itself.
|
|
407
|
+
*/
|
|
408
|
+
toJSON() {
|
|
409
|
+
const abilityClass = this.constructor.name;
|
|
410
|
+
const abilityType = this.abilityType().name;
|
|
411
|
+
if (abilityClass !== abilityType) {
|
|
412
|
+
return {
|
|
413
|
+
class: abilityClass,
|
|
414
|
+
type: abilityType,
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
return {
|
|
418
|
+
type: abilityType,
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Returns the most abstract type of this Ability class,
|
|
423
|
+
* specifically the first class in the inheritance hierarchy that directly extends the `Ability` class.
|
|
424
|
+
*
|
|
425
|
+
* ```ts
|
|
426
|
+
* import { Ability } from '@serenity-js/core';
|
|
427
|
+
*
|
|
428
|
+
* class MyAbility extends Ability {}
|
|
429
|
+
* class MySpecialisedAbility extends MyAbility {}
|
|
430
|
+
*
|
|
431
|
+
* MyAbility.abilityType(); // returns MyAbility
|
|
432
|
+
* MySpecialisedAbility.abilityType(); // returns MyAbility
|
|
433
|
+
* ```
|
|
434
|
+
*/
|
|
435
|
+
static abilityType() {
|
|
436
|
+
return Ability.abilityTypeOf(this);
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* Returns the most abstract type of this Ability instance,
|
|
440
|
+
* specifically the first class in the inheritance hierarchy that directly extends the `Ability` class.
|
|
441
|
+
*
|
|
442
|
+
* ```ts
|
|
443
|
+
* import { Ability } from '@serenity-js/core';
|
|
444
|
+
*
|
|
445
|
+
* class MyAbility extends Ability {}
|
|
446
|
+
* class MySpecialisedAbility extends MyAbility {}
|
|
447
|
+
*
|
|
448
|
+
* new MyAbility().abilityType(); // returns MyAbility
|
|
449
|
+
* new MySpecialisedAbility().abilityType(); // returns MyAbility
|
|
450
|
+
* ```
|
|
451
|
+
*/
|
|
452
|
+
abilityType() {
|
|
453
|
+
return Ability.abilityTypeOf(this.constructor);
|
|
454
|
+
}
|
|
455
|
+
static abilityTypeOf(abilityType) {
|
|
456
|
+
const abilityTypes = Ability.ancestorTypes(abilityType);
|
|
457
|
+
return [
|
|
458
|
+
...abilityTypes,
|
|
459
|
+
abilityType
|
|
460
|
+
][0];
|
|
461
|
+
}
|
|
462
|
+
static ancestorTypes(abilityType, ancestors = []) {
|
|
463
|
+
const parentType = Object.getPrototypeOf(abilityType);
|
|
464
|
+
return !parentType || parentType === Ability
|
|
465
|
+
? ancestors
|
|
466
|
+
: this.ancestorTypes(parentType, [parentType, ...ancestors]);
|
|
467
|
+
}
|
|
403
468
|
}
|
|
404
469
|
exports.Ability = Ability;
|
|
405
470
|
//# sourceMappingURL=Ability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ability.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/Ability.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Ability.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/Ability.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqWG;AACH,MAAsB,OAAO;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,MAAM,CAAC,EAAE,CAEL,KAAoB;QAEpB,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAM,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;QAE5C,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO;gBACH,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,WAAW;aACpB,CAAC;QACN,CAAC;QACD,OAAO;YACH,IAAI,EAAE,WAAW;SACpB,CAAA;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW;QACd,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,WAAW;QACP,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAmC,CAAC,CAAC;IAC3E,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,WAAiC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO;YACH,GAAG,YAAY;YACf,WAAW;SACd,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,WAAiC,EAAE,YAAyC,EAAE;QACvG,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEtD,OAAO,CAAE,UAAU,IAAI,UAAU,KAAK,OAAO;YACzC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAE,UAAU,EAAE,GAAG,SAAS,CAAE,CAAC,CAAC;IACvE,CAAC;CACJ;AArHD,0BAqHC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Ability } from './Ability';
|
|
2
|
+
import type { UsesAbilities } from './UsesAbilities';
|
|
2
3
|
/**
|
|
3
4
|
* An interface describing the static access method that every [`Ability`](https://serenity-js.org/api/core/class/Ability/) class
|
|
4
5
|
* needs to provide in order to be accessible from within the [interactions](https://serenity-js.org/api/core/class/Interaction/).
|
|
@@ -41,5 +42,8 @@ import type { Ability } from './Ability';
|
|
|
41
42
|
*
|
|
42
43
|
* @group Abilities
|
|
43
44
|
*/
|
|
44
|
-
export type AbilityType<A extends Ability> = (abstract new (...args: any[]) => A)
|
|
45
|
+
export type AbilityType<A extends Ability> = (abstract new (...args: any[]) => A) & {
|
|
46
|
+
as<S extends Ability>(this: AbilityType<S>, actor: UsesAbilities): S;
|
|
47
|
+
abilityType(): AbilityType<Ability>;
|
|
48
|
+
};
|
|
45
49
|
//# sourceMappingURL=AbilityType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbilityType.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/AbilityType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"AbilityType.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/AbilityType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,QAAQ,MAAM,GAAI,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;IACpC,EAAE,CAAC,CAAC,SAAS,OAAO,EAChB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,aAAa,GACrB,CAAC,CAAC;IACL,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;CACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerialisedAbility.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/SerialisedAbility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerialisedAbility.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/SerialisedAbility.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
@@ -21,5 +21,6 @@ __exportStar(require("./CanHaveAbilities"), exports);
|
|
|
21
21
|
__exportStar(require("./Discardable"), exports);
|
|
22
22
|
__exportStar(require("./Initialisable"), exports);
|
|
23
23
|
__exportStar(require("./PerformActivities"), exports);
|
|
24
|
+
__exportStar(require("./SerialisedAbility"), exports);
|
|
24
25
|
__exportStar(require("./UsesAbilities"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,kDAAgC"}
|
|
@@ -12,6 +12,7 @@ export * from './Optional';
|
|
|
12
12
|
export * from './Question';
|
|
13
13
|
export * from './questions';
|
|
14
14
|
export * from './RecursivelyAnswered';
|
|
15
|
+
export * from './SerialisedActor';
|
|
15
16
|
export * from './Task';
|
|
16
17
|
export * from './time';
|
|
17
18
|
export * from './WithAnswerableProperties';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/screenplay/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/screenplay/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,4BAA4B,CAAC"}
|
package/lib/screenplay/index.js
CHANGED
|
@@ -28,6 +28,7 @@ __exportStar(require("./Optional"), exports);
|
|
|
28
28
|
__exportStar(require("./Question"), exports);
|
|
29
29
|
__exportStar(require("./questions"), exports);
|
|
30
30
|
__exportStar(require("./RecursivelyAnswered"), exports);
|
|
31
|
+
__exportStar(require("./SerialisedActor"), exports);
|
|
31
32
|
__exportStar(require("./Task"), exports);
|
|
32
33
|
__exportStar(require("./time"), exports);
|
|
33
34
|
__exportStar(require("./WithAnswerableProperties"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screenplay/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB;AACxB,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B,CAAI,0CAA0C;AAC1E,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB;AACxB,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,wDAAsC;AACtC,yCAAuB;AACvB,yCAAuB;AACvB,6DAA2C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screenplay/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB;AACxB,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B,CAAI,0CAA0C;AAC1E,8CAA4B;AAC5B,gDAA8B;AAC9B,0CAAwB;AACxB,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,wDAAsC;AACtC,oDAAkC;AAClC,yCAAuB;AACvB,yCAAuB;AACvB,6DAA2C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ability } from '../abilities';
|
|
1
|
+
import { Ability, type SerialisedAbility } from '../abilities';
|
|
2
2
|
import { Notepad } from './Notepad';
|
|
3
3
|
/**
|
|
4
4
|
* An [`Ability`](https://serenity-js.org/api/core/class/Ability/) that enables an [`Actor`](https://serenity-js.org/api/core/class/Actor/) to remember information
|
|
@@ -245,5 +245,6 @@ export declare class TakeNotes<Notes_Type extends Record<any, any>> extends Abil
|
|
|
245
245
|
* @param notepad
|
|
246
246
|
*/
|
|
247
247
|
constructor(notepad: Notepad<Notes_Type>);
|
|
248
|
+
toJSON(): SerialisedAbility;
|
|
248
249
|
}
|
|
249
250
|
//# sourceMappingURL=TakeNotes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TakeNotes.d.ts","sourceRoot":"","sources":["../../../src/screenplay/notes/TakeNotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"TakeNotes.d.ts","sourceRoot":"","sources":["../../../src/screenplay/notes/TakeNotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmOG;AACH,qBAAa,SAAS,CAAC,UAAU,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAE,SAAQ,OAAO;aAsB3C,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IApBxD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;IAItE;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAI3E;;OAEG;gBACyB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IAIxD,MAAM,IAAI,iBAAiB;CAQ9B"}
|
|
@@ -255,6 +255,14 @@ class TakeNotes extends abilities_1.Ability {
|
|
|
255
255
|
super();
|
|
256
256
|
this.notepad = notepad;
|
|
257
257
|
}
|
|
258
|
+
toJSON() {
|
|
259
|
+
return {
|
|
260
|
+
...super.toJSON(),
|
|
261
|
+
options: {
|
|
262
|
+
notepad: this.notepad.toJSON(),
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
}
|
|
258
266
|
}
|
|
259
267
|
exports.TakeNotes = TakeNotes;
|
|
260
268
|
//# sourceMappingURL=TakeNotes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TakeNotes.js","sourceRoot":"","sources":["../../../src/screenplay/notes/TakeNotes.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"TakeNotes.js","sourceRoot":"","sources":["../../../src/screenplay/notes/TakeNotes.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAC/D,uCAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmOG;AACH,MAAa,SAA+C,SAAQ,mBAAO;IAsB3C;IApB5B;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACtB,OAAO,SAAS,CAAC,KAAK,CAAI,iBAAO,CAAC,KAAK,EAAK,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAA6B,OAAmB;QACxD,OAAO,IAAI,SAAS,CAAI,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,YAA4B,OAA4B;QACpD,KAAK,EAAE,CAAC;QADgB,YAAO,GAAP,OAAO,CAAqB;IAExD,CAAC;IAED,MAAM;QACF,OAAO;YACH,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;aACjC;SACJ,CAAC;IACN,CAAC;CACJ;AAlCD,8BAkCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Discardable } from '../../abilities';
|
|
1
|
+
import type { Discardable, SerialisedAbility } from '../../abilities';
|
|
2
2
|
import { Ability } from '../../abilities';
|
|
3
3
|
import type { Clock, DelayedCallback, Duration, RepeatUntilLimits } from '../models';
|
|
4
4
|
/**
|
|
@@ -21,5 +21,6 @@ export declare class ScheduleWork extends Ability implements Discardable {
|
|
|
21
21
|
repeatUntil<Result>(callback: DelayedCallback<Result>, limits?: RepeatUntilLimits<Result>): Promise<Result>;
|
|
22
22
|
waitFor(delay: Duration): Promise<void>;
|
|
23
23
|
discard(): void;
|
|
24
|
+
toJSON(): SerialisedAbility;
|
|
24
25
|
}
|
|
25
26
|
//# sourceMappingURL=ScheduleWork.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduleWork.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ScheduleWork.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGrF;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,OAAQ,YAAW,WAAW;IAE5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ;IAKtD;;;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;IAIN,MAAM,IAAI,iBAAiB;CAQvC"}
|
|
@@ -32,6 +32,14 @@ class ScheduleWork extends abilities_1.Ability {
|
|
|
32
32
|
discard() {
|
|
33
33
|
this.scheduler.stop();
|
|
34
34
|
}
|
|
35
|
+
toJSON() {
|
|
36
|
+
return {
|
|
37
|
+
...super.toJSON(),
|
|
38
|
+
options: {
|
|
39
|
+
scheduler: this.scheduler.toJSON(),
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
35
43
|
}
|
|
36
44
|
exports.ScheduleWork = ScheduleWork;
|
|
37
45
|
//# sourceMappingURL=ScheduleWork.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduleWork.js","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAE1C,sCAAsC;AAEtC;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,mBAAO;IAEpB,SAAS,CAAY;IAEtC,YAAY,KAAY,EAAE,kBAA4B;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC9D,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;
|
|
1
|
+
{"version":3,"file":"ScheduleWork.js","sourceRoot":"","sources":["../../../../src/screenplay/time/abilities/ScheduleWork.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAE1C,sCAAsC;AAEtC;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,mBAAO;IAEpB,SAAS,CAAY;IAEtC,YAAY,KAAY,EAAE,kBAA4B;QAClD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC9D,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;IAEQ,MAAM;QACX,OAAO;YACH,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;aACrC;SACJ,CAAC;IACN,CAAC;CACJ;AApCD,oCAoCC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type JSONObject } from 'tiny-types';
|
|
1
2
|
import { Duration } from './Duration';
|
|
2
3
|
import { Timestamp } from './Timestamp';
|
|
3
4
|
/**
|
|
@@ -19,6 +20,7 @@ export declare class Clock {
|
|
|
19
20
|
private static resolution;
|
|
20
21
|
private timeAdjustment;
|
|
21
22
|
constructor(checkTime?: () => Date);
|
|
23
|
+
toJSON(): JSONObject;
|
|
22
24
|
/**
|
|
23
25
|
* Sets the clock ahead to force early resolution of promises
|
|
24
26
|
* returned by [`Clock.waitFor`](https://serenity-js.org/api/core/class/Clock/#waitFor).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clock.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Clock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Clock.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Clock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;IAIF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAHtC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAyC;IAClE,OAAO,CAAC,cAAc,CAAwC;gBAEjC,SAAS,GAAE,MAAM,IAAuB;IAGrE,MAAM,IAAI,UAAU;IAMpB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIlC;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACH,GAAG,IAAI,SAAS;IAIhB;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAcnD"}
|
|
@@ -25,6 +25,11 @@ class Clock {
|
|
|
25
25
|
constructor(checkTime = () => new Date()) {
|
|
26
26
|
this.checkTime = checkTime;
|
|
27
27
|
}
|
|
28
|
+
toJSON() {
|
|
29
|
+
return {
|
|
30
|
+
timeAdjustment: this.timeAdjustment.toJSON(),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
28
33
|
/**
|
|
29
34
|
* Sets the clock ahead to force early resolution of promises
|
|
30
35
|
* returned by [`Clock.waitFor`](https://serenity-js.org/api/core/class/Clock/#waitFor).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Clock.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Clock.ts"],"names":[],"mappings":";;;AAAA,2CAAgE;AAEhE,yCAAsC;AACtC,2CAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAa,KAAK;IAIe;IAHrB,MAAM,CAAC,UAAU,GAAa,mBAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1D,cAAc,GAAa,mBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9D,YAA6B,YAAwB,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QAAxC,cAAS,GAAT,SAAS,CAA+B;IACrE,CAAC;IAED,MAAM;QACF,OAAO;YACH,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;SAC/C,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAkB;QACvB,IAAI,CAAC,cAAc,GAAG,IAAA,mBAAM,EAAC,UAAU,EAAE,QAAQ,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,GAAG;QACC,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,KAAqB,CAAC;QAE1B,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC/B,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBACrB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,OAAO,EAAE,CAAC;gBACrB,CAAC;YACL,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;;AA3DL,sBA4DC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { JSONObject } from 'tiny-types';
|
|
1
2
|
import type { Clock } from './Clock';
|
|
2
3
|
import type { DelayedCallback } from './DelayedCallback';
|
|
3
4
|
import { Duration } from './Duration';
|
|
@@ -15,6 +16,7 @@ export declare class Scheduler {
|
|
|
15
16
|
* The maximum amount of time to give to a callback to complete before throwing an error
|
|
16
17
|
*/
|
|
17
18
|
constructor(clock: Clock, interactionTimeout: Duration);
|
|
19
|
+
toJSON(): JSONObject;
|
|
18
20
|
/**
|
|
19
21
|
* Schedules a callback function to be invoked after a delay
|
|
20
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D;;GAEG;AACH,qBAAa,SAAS;IAUd,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IATvC,OAAO,CAAC,mBAAmB,CAA0C;IAErE;;;;OAIG;gBAEkB,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,QAAQ;IAIjD,MAAM,IAAI,UAAU;IAOpB;;;;;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;IA0BlB,IAAI,IAAI,IAAI;CAKf"}
|
|
@@ -19,6 +19,12 @@ class Scheduler {
|
|
|
19
19
|
this.clock = clock;
|
|
20
20
|
this.interactionTimeout = interactionTimeout;
|
|
21
21
|
}
|
|
22
|
+
toJSON() {
|
|
23
|
+
return {
|
|
24
|
+
clock: this.clock.toJSON(),
|
|
25
|
+
interactionTimeout: this.interactionTimeout.toJSON(),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
22
28
|
/**
|
|
23
29
|
* Schedules a callback function to be invoked after a delay
|
|
24
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Scheduler.ts"],"names":[],"mappings":"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"}
|
package/lib/stage/Stage.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
4
|
-
import {
|
|
5
|
-
import type { Clock, Duration, Timestamp } from '../screenplay';
|
|
6
|
-
import { Actor } from '../screenplay';
|
|
1
|
+
import { type ErrorFactory, type ErrorOptions, type RuntimeError } from '../errors';
|
|
2
|
+
import { type DomainEvent, type EmitsDomainEvents } from '../events';
|
|
3
|
+
import { type ActivityDetails, CorrelationId } from '../model';
|
|
4
|
+
import { Actor, type Clock, type Duration, type Timestamp } from '../screenplay';
|
|
7
5
|
import type { ListensToDomainEvents } from '../stage';
|
|
8
6
|
import type { Cast } from './Cast';
|
|
9
7
|
import type { StageManager } from './StageManager';
|
|
@@ -29,7 +27,7 @@ export declare class Stage implements EmitsDomainEvents {
|
|
|
29
27
|
private errors;
|
|
30
28
|
private readonly clock;
|
|
31
29
|
private readonly interactionTimeout;
|
|
32
|
-
|
|
30
|
+
static readonly unknownSceneId: CorrelationId;
|
|
33
31
|
/**
|
|
34
32
|
* Actors instantiated after the scene has started,
|
|
35
33
|
* who will be dismissed when the scene finishes.
|
|
@@ -155,6 +153,7 @@ export declare class Stage implements EmitsDomainEvents {
|
|
|
155
153
|
waitForNextCue(): Promise<void>;
|
|
156
154
|
createError<RE extends RuntimeError>(errorType: new (...args: any[]) => RE, options: ErrorOptions): RE;
|
|
157
155
|
private instantiatedActorCalled;
|
|
156
|
+
private notifyOfStageExit;
|
|
158
157
|
private dismiss;
|
|
159
158
|
private typeOf;
|
|
160
159
|
}
|
package/lib/stage/Stage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,YAAY,EAA0B,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAChI,OAAO,EAMH,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAIzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAQ,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAgB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,KAAM,YAAW,iBAAiB;IAmCvC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IArCvC,gBAAuB,cAAc,gBAA+B;IAEpE;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAgD;IAE1E;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAgD;IAEzE,OAAO,CAAC,aAAa,CAA8C;IAEnE;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAoB;IAE/C,OAAO,CAAC,eAAe,CAA8D;IAErF,OAAO,CAAC,YAAY,CAAuC;IAE3D;;;;;;OAMG;gBAES,IAAI,EAAE,IAAI,EACD,OAAO,EAAE,YAAY,EAC9B,MAAM,EAAE,YAAY,EACX,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,QAAQ;IASjD;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAInC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IA2C1B;;;;;;OAMG;IACH,sBAAsB,IAAI,KAAK;IAQ/B;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAM1B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAS,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAInD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI;IAM7C,OAAO,CAAC,cAAc;IAsBtB;;;OAGG;IACH,WAAW,IAAI,SAAS;IAIxB;;;;;;;;;OASG;IACH,gBAAgB,IAAI,aAAa;IAOjC;;;;;OAKG;IACH,cAAc,IAAI,aAAa;IAI/B;;;;;;;;;OASG;IACH,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa;IASpE;;;;;OAKG;IACH,iBAAiB,IAAI,aAAa;IAQlC;;;;;;;OAOG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE;IAOtG,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,iBAAiB;YAUX,OAAO;IAuCrB,OAAO,CAAC,MAAM;CAKjB"}
|
package/lib/stage/Stage.js
CHANGED
|
@@ -89,8 +89,6 @@ class Stage {
|
|
|
89
89
|
new screenplay_1.ScheduleWork(this.clock, this.interactionTimeout)
|
|
90
90
|
]);
|
|
91
91
|
actor = this.cast.prepare(newActor);
|
|
92
|
-
// todo this.manager.notifyOf(ActorStarts)
|
|
93
|
-
// todo: map this in Serenity BDD Reporter so that the "cast" is recorded
|
|
94
92
|
}
|
|
95
93
|
catch (error) {
|
|
96
94
|
throw new errors_1.ConfigurationError(`${this.typeOf(this.cast)} encountered a problem when preparing actor "${name}" for stage`, error);
|
|
@@ -99,6 +97,10 @@ class Stage {
|
|
|
99
97
|
throw new errors_1.ConfigurationError(`Instead of a new instance of actor "${name}", ${this.typeOf(this.cast)} returned ${actor}`);
|
|
100
98
|
}
|
|
101
99
|
this.actorsOnStage.set(name, actor);
|
|
100
|
+
this.announce(new events_1.ActorEntersStage(this.currentScene, actor.toJSON()));
|
|
101
|
+
}
|
|
102
|
+
if (this.actorsOnBackstage.has(name)) {
|
|
103
|
+
this.announce(new events_1.ActorEntersStage(this.currentScene, this.actorsOnBackstage.get(name).toJSON()));
|
|
102
104
|
}
|
|
103
105
|
this.actorInTheSpotlight = this.instantiatedActorCalled(name);
|
|
104
106
|
return this.actorInTheSpotlight;
|
|
@@ -156,6 +158,9 @@ class Stage {
|
|
|
156
158
|
if (event instanceof events_1.SceneStarts) {
|
|
157
159
|
this.actorsOnStage = this.actorsOnFrontStage;
|
|
158
160
|
}
|
|
161
|
+
if (event instanceof events_1.SceneFinishes || event instanceof events_1.TestRunFinishes) {
|
|
162
|
+
this.notifyOfStageExit(this.currentSceneId());
|
|
163
|
+
}
|
|
159
164
|
this.manager.notifyOf(event);
|
|
160
165
|
if (event instanceof events_1.SceneFinishes) {
|
|
161
166
|
this.dismiss(this.actorsOnStage);
|
|
@@ -247,6 +252,11 @@ class Stage {
|
|
|
247
252
|
? this.actorsOnBackstage.get(name)
|
|
248
253
|
: this.actorsOnFrontStage.get(name);
|
|
249
254
|
}
|
|
255
|
+
notifyOfStageExit(sceneId) {
|
|
256
|
+
for (const actor of this.actorsOnStage.values()) {
|
|
257
|
+
this.announce(new events_1.ActorStageExitStarts(sceneId, actor.toJSON(), this.currentTime()));
|
|
258
|
+
}
|
|
259
|
+
}
|
|
250
260
|
async dismiss(activeActors) {
|
|
251
261
|
const actors = Array.from(activeActors.values());
|
|
252
262
|
if (actors.includes(this.actorInTheSpotlight)) {
|
|
@@ -256,16 +266,16 @@ class Stage {
|
|
|
256
266
|
await this.manager.waitForAsyncOperationsToComplete();
|
|
257
267
|
const actorsToDismiss = new Map(actors.map(actor => [actor, model_1.CorrelationId.create()]));
|
|
258
268
|
for (const [actor, correlationId] of actorsToDismiss) {
|
|
259
|
-
this.announce(new events_1.
|
|
269
|
+
this.announce(new events_1.ActorStageExitAttempted(correlationId, new model_1.Name(actor.name), this.currentTime()));
|
|
260
270
|
}
|
|
261
271
|
// Try to dismiss each actor
|
|
262
272
|
for (const [actor, correlationId] of actorsToDismiss) {
|
|
263
273
|
try {
|
|
264
274
|
await actor.dismiss();
|
|
265
|
-
this.announce(new events_1.
|
|
275
|
+
this.announce(new events_1.ActorStageExitCompleted(correlationId, new model_1.Name(actor.name), this.currentTime()));
|
|
266
276
|
}
|
|
267
277
|
catch (error) {
|
|
268
|
-
this.announce(new events_1.
|
|
278
|
+
this.announce(new events_1.ActorStageExitFailed(error, correlationId, this.currentTime()));
|
|
269
279
|
}
|
|
270
280
|
}
|
|
271
281
|
activeActors.clear();
|
package/lib/stage/Stage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;
|
|
1
|
+
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../src/stage/Stage.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.
|
|
3
|
+
"version": "3.26.1",
|
|
4
4
|
"description": "The core Serenity/JS framework, providing the Screenplay Pattern interfaces, as well as the test reporting and integration infrastructure",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@paralleldrive/cuid2": "2.2.2",
|
|
37
37
|
"chalk": "4.1.2",
|
|
38
|
-
"diff": "
|
|
38
|
+
"diff": "6.0.0",
|
|
39
39
|
"error-stack-parser": "2.1.4",
|
|
40
40
|
"fast-glob": "3.3.2",
|
|
41
41
|
"filenamify": "4.3.0",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"validate-npm-package-name": "5.0.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@types/chai": "4.3.
|
|
50
|
-
"@types/diff": "5.2.
|
|
49
|
+
"@types/chai": "4.3.19",
|
|
50
|
+
"@types/diff": "5.2.2",
|
|
51
51
|
"@types/filenamify": "2.0.2",
|
|
52
52
|
"@types/mocha": "10.0.7",
|
|
53
53
|
"@types/semver": "7.5.8",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"engines": {
|
|
72
72
|
"node": "^16.13 || ^18.12 || ^20"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "cad873513046dad486d02090303e4cb8b5cdfd58"
|
|
75
75
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { JSONObject } from 'tiny-types';
|
|
2
|
+
import { ensure, isDefined } from 'tiny-types';
|
|
3
|
+
|
|
4
|
+
import { CorrelationId } from '../../model';
|
|
5
|
+
import { type SerialisedActor, Timestamp } from '../../screenplay';
|
|
6
|
+
import { DomainEvent } from '../DomainEvent';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Emitted when an [`Actor`](https://serenity-js.org/api/core/class/Actor/) is activated
|
|
10
|
+
* as the result of invoking [`actorCalled`](https://serenity-js.org/api/core/function/actorCalled/).
|
|
11
|
+
*
|
|
12
|
+
* @group Events
|
|
13
|
+
*/
|
|
14
|
+
export class ActorEntersStage extends DomainEvent {
|
|
15
|
+
public static fromJSON(o: JSONObject): ActorEntersStage {
|
|
16
|
+
return new ActorEntersStage(
|
|
17
|
+
CorrelationId.fromJSON(o.sceneId as string),
|
|
18
|
+
o.actor as unknown as SerialisedActor,
|
|
19
|
+
Timestamp.fromJSON(o.timestamp as string),
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
constructor(
|
|
24
|
+
public readonly sceneId: CorrelationId,
|
|
25
|
+
public readonly actor: SerialisedActor,
|
|
26
|
+
timestamp?: Timestamp,
|
|
27
|
+
) {
|
|
28
|
+
super(timestamp);
|
|
29
|
+
ensure('sceneId', sceneId, isDefined());
|
|
30
|
+
ensure('actor', actor, isDefined());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { JSONObject } from 'tiny-types';
|
|
2
|
+
import { ensure, isDefined } from 'tiny-types';
|
|
3
|
+
|
|
4
|
+
import { CorrelationId, Description, Name } from '../../model';
|
|
5
|
+
import { Timestamp } from '../../screenplay';
|
|
6
|
+
import { AsyncOperationAttempted } from '../AsyncOperationAttempted';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Emitted when an [`Actor`](https://serenity-js.org/api/core/class/Actor/) is dismissed
|
|
10
|
+
* either upon the [`SceneFinishes`](https://serenity-js.org/api/core-events/class/SceneFinishes/) event
|
|
11
|
+
* for actors initialised within the scope of a test scenario,
|
|
12
|
+
* or upon the [`TestRunFinishes`](https://serenity-js.org/api/core-events/class/TestRunFinishes/) event
|
|
13
|
+
* for actors initialised within the scope of a test suite.
|
|
14
|
+
*
|
|
15
|
+
* @group Events
|
|
16
|
+
*/
|
|
17
|
+
export class ActorStageExitAttempted extends AsyncOperationAttempted {
|
|
18
|
+
static fromJSON(o: JSONObject): ActorStageExitAttempted {
|
|
19
|
+
return new ActorStageExitAttempted(
|
|
20
|
+
CorrelationId.fromJSON(o.correlationId as string),
|
|
21
|
+
Name.fromJSON(o.actor as string),
|
|
22
|
+
Timestamp.fromJSON(o.timestamp as string),
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
constructor(
|
|
27
|
+
correlationId: CorrelationId,
|
|
28
|
+
public readonly actor: Name,
|
|
29
|
+
timestamp?: Timestamp,
|
|
30
|
+
) {
|
|
31
|
+
ensure('actor', actor, isDefined());
|
|
32
|
+
super(new Name('Stage'), new Description(`Actor ${ actor.value } exits the stage`), correlationId, timestamp);
|
|
33
|
+
}
|
|
34
|
+
}
|