@serenity-js/core 3.0.1 → 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 +22 -0
- package/lib/io/FileSystem.js +2 -5
- package/lib/io/FileSystem.js.map +1 -1
- package/lib/model/CorrelationId.d.ts +4 -5
- package/lib/model/CorrelationId.d.ts.map +1 -1
- package/lib/model/CorrelationId.js +11 -6
- package/lib/model/CorrelationId.js.map +1 -1
- package/lib/screenplay/time/abilities/ScheduleWork.d.ts.map +1 -1
- package/lib/screenplay/time/abilities/ScheduleWork.js +1 -4
- package/lib/screenplay/time/abilities/ScheduleWork.js.map +1 -1
- package/lib/screenplay/time/models/Scheduler.d.ts +6 -0
- package/lib/screenplay/time/models/Scheduler.d.ts.map +1 -1
- package/lib/screenplay/time/models/Scheduler.js +13 -0
- package/lib/screenplay/time/models/Scheduler.js.map +1 -1
- package/package.json +3 -4
- package/src/io/FileSystem.ts +2 -2
- package/src/model/CorrelationId.ts +13 -4
- package/src/screenplay/time/abilities/ScheduleWork.ts +1 -4
- package/src/screenplay/time/models/Scheduler.ts +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
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
|
+
|
|
17
|
+
# [3.1.0](https://github.com/serenity-js/serenity-js/compare/v3.0.1...v3.1.0) (2023-04-02)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **core:** replaced dependency on depracated cuid with cuid2 ([0417f1c](https://github.com/serenity-js/serenity-js/commit/0417f1c2c673dce7eaabe0ffae76311757e3b3ee))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [3.0.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0...v3.0.1) (2023-03-25)
|
|
7
29
|
|
|
8
30
|
**Note:** Version bump only for package @serenity-js/core
|
package/lib/io/FileSystem.js
CHANGED
|
@@ -22,12 +22,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
26
|
exports.FileSystem = void 0;
|
|
30
|
-
const
|
|
27
|
+
const cuid2_1 = require("@paralleldrive/cuid2");
|
|
31
28
|
const gracefulFS = __importStar(require("graceful-fs"));
|
|
32
29
|
const nodeOS = __importStar(require("os"));
|
|
33
30
|
const util_1 = require("util");
|
|
@@ -100,7 +97,7 @@ class FileSystem {
|
|
|
100
97
|
return rename(source.value, destination.value);
|
|
101
98
|
}
|
|
102
99
|
tempFilePath(prefix = '', suffix = '.tmp') {
|
|
103
|
-
return Path_1.Path.from(this.fs.realpathSync(this.os.tmpdir()), `${prefix}${(0,
|
|
100
|
+
return Path_1.Path.from(this.fs.realpathSync(this.os.tmpdir()), `${prefix}${(0, cuid2_1.createId)()}${suffix}`);
|
|
104
101
|
}
|
|
105
102
|
write(path, data, encoding) {
|
|
106
103
|
return new Promise((resolve, reject) => {
|
package/lib/io/FileSystem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/io/FileSystem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/io/FileSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare class CorrelationId extends CorrelationId_base {
|
|
1
|
+
import { TinyType } from 'tiny-types';
|
|
2
|
+
export declare class CorrelationId extends TinyType {
|
|
3
|
+
readonly value: string;
|
|
5
4
|
static fromJSON(v: string): CorrelationId;
|
|
6
5
|
static create(): CorrelationId;
|
|
6
|
+
constructor(value: string);
|
|
7
7
|
}
|
|
8
|
-
export {};
|
|
9
8
|
//# sourceMappingURL=CorrelationId.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorrelationId.d.ts","sourceRoot":"","sources":["../../src/model/CorrelationId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CorrelationId.d.ts","sourceRoot":"","sources":["../../src/model/CorrelationId.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtE,qBAAa,aAAc,SAAQ,QAAQ;aASX,KAAK,EAAE,MAAM;IARzC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa;IAIzC,MAAM,CAAC,MAAM,IAAI,aAAa;gBAIF,KAAK,EAAE,MAAM;CAI5C"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.CorrelationId = void 0;
|
|
7
|
-
const
|
|
4
|
+
const cuid2_1 = require("@paralleldrive/cuid2");
|
|
8
5
|
const tiny_types_1 = require("tiny-types");
|
|
9
|
-
class CorrelationId extends
|
|
6
|
+
class CorrelationId extends tiny_types_1.TinyType {
|
|
10
7
|
static fromJSON(v) {
|
|
11
8
|
return new CorrelationId(v);
|
|
12
9
|
}
|
|
13
10
|
static create() {
|
|
14
|
-
return new CorrelationId((0,
|
|
11
|
+
return new CorrelationId((0, cuid2_1.createId)());
|
|
12
|
+
}
|
|
13
|
+
constructor(value) {
|
|
14
|
+
super();
|
|
15
|
+
this.value = value;
|
|
16
|
+
(0, tiny_types_1.ensure)(this.constructor.name, value, (0, tiny_types_1.or)(isACuid(), (0, tiny_types_1.matches)(/^[\dA-Za-z-]+$/)));
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
exports.CorrelationId = CorrelationId;
|
|
20
|
+
function isACuid() {
|
|
21
|
+
return tiny_types_1.Predicate.to(`be a Cuid`, (value) => (0, cuid2_1.isCuid)(value));
|
|
22
|
+
}
|
|
18
23
|
//# sourceMappingURL=CorrelationId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorrelationId.js","sourceRoot":"","sources":["../../src/model/CorrelationId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CorrelationId.js","sourceRoot":"","sources":["../../src/model/CorrelationId.ts"],"names":[],"mappings":";;;AAAA,gDAAwD;AACxD,2CAAsE;AAEtE,MAAa,aAAc,SAAQ,qBAAQ;IACvC,MAAM,CAAC,QAAQ,CAAC,CAAS;QACrB,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,aAAa,CAAC,IAAA,gBAAQ,GAAE,CAAC,CAAC;IACzC,CAAC;IAED,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;QAErC,IAAA,mBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAA,eAAE,EAAC,OAAO,EAAE,EAAE,IAAA,oBAAO,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;CACJ;AAbD,sCAaC;AAED,SAAS,OAAO;IACZ,OAAO,sBAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -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;
|
|
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.
|
|
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,
|
|
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.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "Serenity/JS Screenplay, reporting engine and core interfaces.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"compile": "rimraf lib && tsc --project tsconfig.build.json"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
+
"@paralleldrive/cuid2": "^2.2.0",
|
|
34
35
|
"chalk": "^4.1.2",
|
|
35
|
-
"cuid": "^2.1.8",
|
|
36
36
|
"diff": "^5.1.0",
|
|
37
37
|
"error-stack-parser": "2.1.4",
|
|
38
38
|
"fast-glob": "^3.2.12",
|
|
@@ -46,7 +46,6 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/chai": "^4.3.4",
|
|
49
|
-
"@types/cuid": "^2.0.1",
|
|
50
49
|
"@types/diff": "^5.0.3",
|
|
51
50
|
"@types/filenamify": "^2.0.2",
|
|
52
51
|
"@types/mocha": "^10.0.1",
|
|
@@ -72,5 +71,5 @@
|
|
|
72
71
|
"node": "^14 || ^16 || ^18",
|
|
73
72
|
"npm": "^6 || ^7 || ^8 || ^9"
|
|
74
73
|
},
|
|
75
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "f11d5ecf323507cab2e14319de9f189b91208924"
|
|
76
75
|
}
|
package/src/io/FileSystem.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createId } from '@paralleldrive/cuid2';
|
|
2
2
|
import * as nodeFS from 'fs';
|
|
3
3
|
import { WriteFileOptions } from 'fs';
|
|
4
4
|
import * as gracefulFS from 'graceful-fs';
|
|
@@ -106,7 +106,7 @@ export class FileSystem {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
public tempFilePath(prefix = '', suffix = '.tmp'): Path {
|
|
109
|
-
return Path.from(this.fs.realpathSync(this.os.tmpdir()), `${ prefix }${
|
|
109
|
+
return Path.from(this.fs.realpathSync(this.os.tmpdir()), `${ prefix }${ createId() }${ suffix }`);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
private write(path: Path, data: string | NodeJS.ArrayBufferView, encoding?: WriteFileOptions): Promise<Path> {
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { createId, isCuid } from '@paralleldrive/cuid2';
|
|
2
|
+
import { ensure, matches, or, Predicate, TinyType } from 'tiny-types';
|
|
3
3
|
|
|
4
|
-
export class CorrelationId extends
|
|
4
|
+
export class CorrelationId extends TinyType {
|
|
5
5
|
static fromJSON(v: string): CorrelationId {
|
|
6
6
|
return new CorrelationId(v);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
static create(): CorrelationId {
|
|
10
|
-
return new CorrelationId(
|
|
10
|
+
return new CorrelationId(createId());
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
constructor(public readonly value: string) {
|
|
14
|
+
super();
|
|
15
|
+
ensure(this.constructor.name, value, or(isACuid(), matches(/^[\dA-Za-z-]+$/)));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function isACuid(): Predicate<string> {
|
|
20
|
+
return Predicate.to(`be a Cuid`, (value: string) => isCuid(value));
|
|
12
21
|
}
|
|
@@ -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.
|
|
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
|
*
|