@serenity-js/core 3.10.3 → 3.11.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
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.11.0](https://github.com/serenity-js/serenity-js/compare/v3.10.4...v3.11.0) (2023-10-03)
7
+
8
+
9
+ ### Features
10
+
11
+ * **core:** inspecting a Timestamp returns a human-friendly description of its value ([da26b54](https://github.com/serenity-js/serenity-js/commit/da26b5478108c811e52ea8d902dd6c626c843ffc))
12
+
13
+
14
+
15
+
16
+
17
+ ## [3.10.4](https://github.com/serenity-js/serenity-js/compare/v3.10.3...v3.10.4) (2023-09-22)
18
+
19
+ **Note:** Version bump only for package @serenity-js/core
20
+
21
+
22
+
23
+
24
+
6
25
  ## [3.10.3](https://github.com/serenity-js/serenity-js/compare/v3.10.2...v3.10.3) (2023-09-15)
7
26
 
8
27
  **Note:** Version bump only for package @serenity-js/core
@@ -1 +1 @@
1
- {"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Clock.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,yCAAsC;AACtC,2CAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAa,KAAK;IAId,YAA6B,YAAwB,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QAAxC,cAAS,GAAT,SAAS,CAA+B;QAF7D,mBAAc,GAAa,mBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,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,KAAmB,CAAC;QAExB,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;oBACnC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,OAAO,EAAE,CAAC;iBACpB;YACL,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;;AArDL,sBAsDC;AArDkB,gBAAU,GAAa,mBAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,AAAxC,CAAyC"}
1
+ {"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Clock.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,yCAAsC;AACtC,2CAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAa,KAAK;IAId,YAA6B,YAAwB,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QAAxC,cAAS,GAAT,SAAS,CAA+B;QAF7D,mBAAc,GAAa,mBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,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;oBACnC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,OAAO,EAAE,CAAC;iBACpB;YACL,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;;AArDL,sBAsDC;AArDkB,gBAAU,GAAa,mBAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,AAAxC,CAAyC"}
@@ -1,9 +1,11 @@
1
+ /// <reference types="node" />
1
2
  import { TinyType } from 'tiny-types';
3
+ import { inspect } from 'util';
2
4
  import { Duration } from './Duration';
3
5
  /**
4
6
  * Represents a point in time.
5
7
  *
6
- * `Timestamp` makes it easier for Serenity/JS to work with information related to time, like {@apilink DomainEvent|domain events}.
8
+ * `Timestamp` makes it easier for you to work with information related to time, like {@apilink DomainEvent|domain events}.
7
9
  *
8
10
  * ## Learn more
9
11
  * - {@apilink Duration}
@@ -16,6 +18,7 @@ export declare class Timestamp extends TinyType {
16
18
  static fromJSON(v: string): Timestamp;
17
19
  static fromTimestampInSeconds(v: number): Timestamp;
18
20
  static fromTimestampInMilliseconds(v: number): Timestamp;
21
+ static now(): Timestamp;
19
22
  constructor(value?: Date);
20
23
  diff(another: Timestamp): Duration;
21
24
  plus(duration: Duration): Timestamp;
@@ -28,5 +31,6 @@ export declare class Timestamp extends TinyType {
28
31
  toSeconds(): number;
29
32
  toJSON(): string;
30
33
  toString(): string;
34
+ [inspect.custom](): string;
31
35
  }
32
36
  //# sourceMappingURL=Timestamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Timestamp.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,QAAQ;aAaP,KAAK,EAAE,IAAI;IAZvC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrC,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAInD,MAAM,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;gBAI5B,KAAK,GAAE,IAAiB;IAKpD,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ;IAKlC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAKnC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAKnC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAKrC,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAK5C,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAKpC,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAK3C,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Timestamp.ts"],"names":[],"mappings":";AACA,OAAO,EAA8C,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,QAAQ;aAiBP,KAAK,EAAE,IAAI;IAhBvC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrC,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAInD,MAAM,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAIxD,MAAM,CAAC,GAAG,IAAI,SAAS;gBAIK,KAAK,GAAE,IAAiB;IAKpD,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ;IAKlC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAKnC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAKnC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAKrC,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAK5C,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAKpC,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO;IAK3C,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM;IAIlB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;CAG7B"}
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Timestamp = void 0;
7
7
  const moment_1 = __importDefault(require("moment"));
8
8
  const tiny_types_1 = require("tiny-types");
9
+ const util_1 = require("util");
9
10
  const Duration_1 = require("./Duration");
10
11
  /**
11
12
  * Represents a point in time.
12
13
  *
13
- * `Timestamp` makes it easier for Serenity/JS to work with information related to time, like {@apilink DomainEvent|domain events}.
14
+ * `Timestamp` makes it easier for you to work with information related to time, like {@apilink DomainEvent|domain events}.
14
15
  *
15
16
  * ## Learn more
16
17
  * - {@apilink Duration}
@@ -28,6 +29,9 @@ class Timestamp extends tiny_types_1.TinyType {
28
29
  static fromTimestampInMilliseconds(v) {
29
30
  return new Timestamp((0, moment_1.default)(v).toDate());
30
31
  }
32
+ static now() {
33
+ return new Timestamp();
34
+ }
31
35
  constructor(value = new Date()) {
32
36
  super();
33
37
  this.value = value;
@@ -73,6 +77,9 @@ class Timestamp extends tiny_types_1.TinyType {
73
77
  toString() {
74
78
  return this.value.toISOString();
75
79
  }
80
+ [util_1.inspect.custom]() {
81
+ return `Timestamp(${this.value.toISOString()})`;
82
+ }
76
83
  }
77
84
  exports.Timestamp = Timestamp;
78
85
  function isSerialisedISO8601Date() {
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Timestamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../../src/screenplay/time/models/Timestamp.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.10.3",
3
+ "version": "3.11.0",
4
4
  "description": "Serenity/JS Screenplay, reporting engine and core interfaces.",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -47,14 +47,14 @@
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/chai": "^4.3.6",
50
- "@types/diff": "^5.0.3",
50
+ "@types/diff": "^5.0.5",
51
51
  "@types/filenamify": "^2.0.2",
52
- "@types/mocha": "^10.0.1",
53
- "@types/semver": "^7.5.2",
52
+ "@types/mocha": "^10.0.2",
53
+ "@types/semver": "^7.5.3",
54
54
  "@types/validate-npm-package-name": "^4.0.0",
55
55
  "assertion-error-formatter": "^3.0.0",
56
56
  "c8": "8.0.1",
57
- "memfs": "^4.2.1",
57
+ "memfs": "^4.5.0",
58
58
  "mocha": "^10.2.0",
59
59
  "mocha-multi": "^1.1.7",
60
60
  "ts-node": "^10.9.1",
@@ -71,5 +71,5 @@
71
71
  "engines": {
72
72
  "node": "^16.13 || ^18.12 || ^20"
73
73
  },
74
- "gitHead": "064edb63e8d4dee447feaab63cf61cbcf6414fdf"
74
+ "gitHead": "4cd38cd3f6c8ea72e7e2776d76af9fa8a0672265"
75
75
  }
@@ -60,7 +60,7 @@ export class Clock {
60
60
  async waitFor(duration: Duration): Promise<void> {
61
61
  const stopAt = this.now().plus(duration);
62
62
 
63
- let timer: NodeJS.Timer;
63
+ let timer: NodeJS.Timeout;
64
64
 
65
65
  return new Promise<void>(resolve => {
66
66
  timer = setInterval(() => {
@@ -1,12 +1,13 @@
1
1
  import moment from 'moment';
2
2
  import { ensure, isDefined, isInstanceOf, Predicate, TinyType } from 'tiny-types';
3
+ import { inspect } from 'util';
3
4
 
4
5
  import { Duration } from './Duration';
5
6
 
6
7
  /**
7
8
  * Represents a point in time.
8
9
  *
9
- * `Timestamp` makes it easier for Serenity/JS to work with information related to time, like {@apilink DomainEvent|domain events}.
10
+ * `Timestamp` makes it easier for you to work with information related to time, like {@apilink DomainEvent|domain events}.
10
11
  *
11
12
  * ## Learn more
12
13
  * - {@apilink Duration}
@@ -27,6 +28,10 @@ export class Timestamp extends TinyType {
27
28
  return new Timestamp(moment(v).toDate());
28
29
  }
29
30
 
31
+ static now(): Timestamp {
32
+ return new Timestamp();
33
+ }
34
+
30
35
  constructor(public readonly value: Date = new Date()) {
31
36
  super();
32
37
  ensure(Timestamp.name, value, isDefined(), isInstanceOf(Date));
@@ -82,6 +87,10 @@ export class Timestamp extends TinyType {
82
87
  toString(): string {
83
88
  return this.value.toISOString();
84
89
  }
90
+
91
+ [inspect.custom](): string {
92
+ return `Timestamp(${ this.value.toISOString() })`;
93
+ }
85
94
  }
86
95
 
87
96
  function isSerialisedISO8601Date(): Predicate<string> {