@bgord/bun 1.2.0 → 1.2.2

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 (33) hide show
  1. package/dist/prerequisites/clock-drift.d.ts +1 -1
  2. package/dist/prerequisites/clock-drift.d.ts.map +1 -1
  3. package/dist/prerequisites/clock-drift.js +2 -1
  4. package/dist/prerequisites/clock-drift.js.map +1 -1
  5. package/dist/prerequisites/external-api.d.ts +4 -1
  6. package/dist/prerequisites/external-api.d.ts.map +1 -1
  7. package/dist/prerequisites/external-api.js +4 -1
  8. package/dist/prerequisites/external-api.js.map +1 -1
  9. package/dist/prerequisites/index.d.ts +1 -0
  10. package/dist/prerequisites/index.d.ts.map +1 -1
  11. package/dist/prerequisites/index.js +1 -0
  12. package/dist/prerequisites/index.js.map +1 -1
  13. package/dist/prerequisites/os.d.ts +13 -0
  14. package/dist/prerequisites/os.d.ts.map +1 -0
  15. package/dist/prerequisites/os.js +27 -0
  16. package/dist/prerequisites/os.js.map +1 -0
  17. package/dist/prerequisites/space.d.ts +1 -1
  18. package/dist/prerequisites/space.d.ts.map +1 -1
  19. package/dist/prerequisites/space.js +2 -1
  20. package/dist/prerequisites/space.js.map +1 -1
  21. package/dist/prerequisites/translations.d.ts +4 -4
  22. package/dist/prerequisites/translations.d.ts.map +1 -1
  23. package/dist/prerequisites/translations.js +6 -5
  24. package/dist/prerequisites/translations.js.map +1 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +3 -3
  27. package/readme.md +1 -0
  28. package/src/prerequisites/clock-drift.ts +3 -2
  29. package/src/prerequisites/external-api.ts +11 -3
  30. package/src/prerequisites/index.ts +1 -0
  31. package/src/prerequisites/os.ts +33 -0
  32. package/src/prerequisites/space.ts +3 -2
  33. package/src/prerequisites/translations.ts +8 -7
@@ -11,7 +11,7 @@ export declare class PrerequisiteClockDrift implements prereqs.Prerequisite {
11
11
  readonly timeout: tools.Duration;
12
12
  constructor(config: prereqs.PrerequisiteConfigType & {
13
13
  skew: tools.Duration;
14
- timekeeper: TimekeeperPort;
14
+ timekeeper?: TimekeeperPort;
15
15
  timeout?: tools.Duration;
16
16
  });
17
17
  verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
@@ -1 +1 @@
1
- {"version":3,"file":"clock-drift.d.ts","sourceRoot":"","sources":["../../src/prerequisites/clock-drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,qBAAa,sBAAuB,YAAW,OAAO,CAAC,YAAY;IACjE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAG/B,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QACvC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;QACrB,UAAU,EAAE,cAAc,CAAC;QAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;KAC1B;IAUG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAoB/D"}
1
+ {"version":3,"file":"clock-drift.d.ts","sourceRoot":"","sources":["../../src/prerequisites/clock-drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,qBAAa,sBAAuB,YAAW,OAAO,CAAC,YAAY;IACjE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAG/B,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QACvC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;QACrB,UAAU,CAAC,EAAE,cAAc,CAAC;QAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;KAC1B;IAUG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAoB/D"}
@@ -1,5 +1,6 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import * as prereqs from "../prerequisites.service";
3
+ import { TimekeeperGoogleAdapter } from "../timekeeper-google.adapter";
3
4
  import { Timeout } from "../timeout.service";
4
5
  export class PrerequisiteClockDrift {
5
6
  kind = "clock-drift";
@@ -12,7 +13,7 @@ export class PrerequisiteClockDrift {
12
13
  this.label = config.label;
13
14
  this.enabled = config.enabled === undefined ? true : config.enabled;
14
15
  this.skew = config.skew;
15
- this.timekeeper = config.timekeeper;
16
+ this.timekeeper = config.timekeeper ?? new TimekeeperGoogleAdapter();
16
17
  this.timeout = config.timeout ?? tools.Duration.Seconds(2);
17
18
  }
18
19
  async verify(clock) {
@@ -1 +1 @@
1
- {"version":3,"file":"clock-drift.js","sourceRoot":"","sources":["../../src/prerequisites/clock-drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,aAAa,CAAC;IACrB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEzB,IAAI,CAAiB;IACrB,UAAU,CAAiB;IAC3B,OAAO,CAAiB;IAEjC,YACE,MAIC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CACzC,CAAC,MAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EACpD,IAAI,CAAC,OAAO,CACb,CAAC;YACF,IAAI,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAE3E,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;YAEhE,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7F,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"clock-drift.js","sourceRoot":"","sources":["../../src/prerequisites/clock-drift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,aAAa,CAAC;IACrB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEzB,IAAI,CAAiB;IACrB,UAAU,CAAiB;IAC3B,OAAO,CAAiB;IAEjC,YACE,MAIC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,uBAAuB,EAAE,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CACzC,CAAC,MAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EACpD,IAAI,CAAC,OAAO,CACb,CAAC;YACF,IAAI,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAE3E,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;YAEhE,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7F,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import * as tools from "@bgord/tools";
1
2
  import type { ClockPort } from "../clock.port";
2
3
  import * as prereqs from "../prerequisites.service";
3
4
  export declare class PrerequisiteExternalApi implements prereqs.Prerequisite {
@@ -5,8 +6,10 @@ export declare class PrerequisiteExternalApi implements prereqs.Prerequisite {
5
6
  readonly label: prereqs.PrerequisiteLabelType;
6
7
  readonly enabled?: boolean;
7
8
  private readonly request;
9
+ readonly timeout: tools.Duration;
8
10
  constructor(config: prereqs.PrerequisiteConfigType & {
9
- request: () => Promise<Response>;
11
+ request: (signal: AbortSignal) => Promise<Response>;
12
+ timeout?: tools.Duration;
10
13
  });
11
14
  verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"external-api.d.ts","sourceRoot":"","sources":["../../src/prerequisites/external-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,uBAAwB,YAAW,OAAO,CAAC,YAAY;IAClE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;KAAE;IAOnF,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAc/D"}
1
+ {"version":3,"file":"external-api.d.ts","sourceRoot":"","sources":["../../src/prerequisites/external-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAGpD,qBAAa,uBAAwB,YAAW,OAAO,CAAC,YAAY;IAClE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAG/B,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QACvC,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;KAC1B;IASG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAc/D"}
@@ -1,21 +1,24 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import * as prereqs from "../prerequisites.service";
3
+ import { Timeout } from "../timeout.service";
3
4
  export class PrerequisiteExternalApi {
4
5
  kind = "external-api";
5
6
  label;
6
7
  enabled = true;
7
8
  request;
9
+ timeout;
8
10
  constructor(config) {
9
11
  this.label = config.label;
10
12
  this.enabled = config.enabled === undefined ? true : config.enabled;
11
13
  this.request = config.request;
14
+ this.timeout = config.timeout ?? tools.Duration.Seconds(2);
12
15
  }
13
16
  async verify(clock) {
14
17
  const stopwatch = new tools.Stopwatch(clock.now());
15
18
  if (!this.enabled)
16
19
  return prereqs.Verification.undetermined(stopwatch.stop());
17
20
  try {
18
- const response = await this.request();
21
+ const response = await Timeout.cancellable((signal) => this.request(signal), this.timeout);
19
22
  if (response.ok)
20
23
  return prereqs.Verification.success(stopwatch.stop());
21
24
  return prereqs.Verification.failure(stopwatch.stop(), { message: `HTTP ${response.status}` });
@@ -1 +1 @@
1
- {"version":3,"file":"external-api.js","sourceRoot":"","sources":["../../src/prerequisites/external-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,cAAc,CAAC;IACtB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAA0B;IAElD,YAAY,MAA6E;QACvF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAEtC,IAAI,QAAQ,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"external-api.js","sourceRoot":"","sources":["../../src/prerequisites/external-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,cAAc,CAAC;IACtB,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAA6C;IAC5D,OAAO,CAAiB;IAEjC,YACE,MAGC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAExG,IAAI,QAAQ,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
@@ -9,6 +9,7 @@ export * from "./log-file";
9
9
  export * from "./mailer";
10
10
  export * from "./memory";
11
11
  export * from "./node";
12
+ export * from "./os";
12
13
  export * from "./outside-connectivity";
13
14
  export * from "./port";
14
15
  export * from "./ram";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prerequisites/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prerequisites/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -9,6 +9,7 @@ export * from "./log-file";
9
9
  export * from "./mailer";
10
10
  export * from "./memory";
11
11
  export * from "./node";
12
+ export * from "./os";
12
13
  export * from "./outside-connectivity";
13
14
  export * from "./port";
14
15
  export * from "./ram";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prerequisites/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prerequisites/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ClockPort } from "../clock.port";
2
+ import * as prereqs from "../prerequisites.service";
3
+ export declare class PrerequisiteOs implements prereqs.Prerequisite {
4
+ readonly kind = "os";
5
+ readonly label: prereqs.PrerequisiteLabelType;
6
+ readonly enabled?: boolean;
7
+ private readonly accepted;
8
+ constructor(config: prereqs.PrerequisiteConfigType & {
9
+ accepted: string[];
10
+ });
11
+ verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
12
+ }
13
+ //# sourceMappingURL=os.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../../src/prerequisites/os.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,cAAe,YAAW,OAAO,CAAC,YAAY;IACzD,QAAQ,CAAC,IAAI,QAAQ;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAExB,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;IAMrE,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAc/D"}
@@ -0,0 +1,27 @@
1
+ import os from "node:os";
2
+ import * as tools from "@bgord/tools";
3
+ import * as prereqs from "../prerequisites.service";
4
+ export class PrerequisiteOs {
5
+ kind = "os";
6
+ label;
7
+ enabled = true;
8
+ accepted;
9
+ constructor(config) {
10
+ this.label = config.label;
11
+ this.enabled = config.enabled === undefined ? true : config.enabled;
12
+ this.accepted = config.accepted;
13
+ }
14
+ async verify(clock) {
15
+ const stopwatch = new tools.Stopwatch(clock.now());
16
+ if (!this.enabled)
17
+ return prereqs.Verification.undetermined(stopwatch.stop());
18
+ const type = os.type();
19
+ if (this.accepted.map((type) => type.toLowerCase()).includes(type.toLowerCase())) {
20
+ return prereqs.Verification.success(stopwatch.stop());
21
+ }
22
+ return prereqs.Verification.failure(stopwatch.stop(), {
23
+ message: `Unacceptable os: ${this.accepted.join(", ")}`,
24
+ });
25
+ }
26
+ }
27
+ //# sourceMappingURL=os.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os.js","sourceRoot":"","sources":["../../src/prerequisites/os.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,IAAI,CAAC;IACZ,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,QAAQ,CAAW;IAEpC,YAAY,MAA+D;QACzE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACjF,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACpD,OAAO,EAAE,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACxD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -10,7 +10,7 @@ export declare class PrerequisiteSpace implements prereqs.Prerequisite {
10
10
  private readonly checker;
11
11
  constructor(config: prereqs.PrerequisiteConfigType & {
12
12
  minimum: tools.Size;
13
- checker: DiskSpaceCheckerPort;
13
+ checker?: DiskSpaceCheckerPort;
14
14
  });
15
15
  verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,iBAAkB,YAAW,OAAO,CAAC,YAAY;IAC5D,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAG7C,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE;IAS3F,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAiB/D"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,qBAAa,iBAAkB,YAAW,OAAO,CAAC,YAAY;IAC5D,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAG7C,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAS5F,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CAiB/D"}
@@ -1,5 +1,6 @@
1
1
  import path from "node:path";
2
2
  import * as tools from "@bgord/tools";
3
+ import { DiskSpaceCheckerBunAdapter } from "../disk-space-checker-bun.adapter";
3
4
  import * as prereqs from "../prerequisites.service";
4
5
  export class PrerequisiteSpace {
5
6
  kind = "space";
@@ -11,7 +12,7 @@ export class PrerequisiteSpace {
11
12
  this.label = config.label;
12
13
  this.enabled = config.enabled === undefined ? true : config.enabled;
13
14
  this.minimum = config.minimum;
14
- this.checker = config.checker;
15
+ this.checker = config.checker ?? new DiskSpaceCheckerBunAdapter();
15
16
  }
16
17
  async verify(clock) {
17
18
  const stopwatch = new tools.Stopwatch(clock.now());
@@ -1 +1 @@
1
- {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,OAAO,CAAC;IACf,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAAa;IACpB,OAAO,CAAuB;IAE/C,YACE,MAA+F;QAE/F,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACpD,OAAO,EAAE,oBAAoB,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"space.js","sourceRoot":"","sources":["../../src/prerequisites/space.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,OAAO,CAAC;IACf,KAAK,CAAgC;IACrC,OAAO,GAAa,IAAI,CAAC;IAEjB,OAAO,CAAa;IACpB,OAAO,CAAuB;IAE/C,YACE,MAAgG;QAEhG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEpE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,0BAA0B,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;gBACpD,OAAO,EAAE,oBAAoB,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAc,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF"}
@@ -10,13 +10,13 @@ export declare class PrerequisiteTranslations implements prereqs.Prerequisite {
10
10
  readonly enabled?: boolean;
11
11
  private readonly translationsPath?;
12
12
  private readonly supportedLanguages;
13
- private readonly Logger;
14
- private readonly JsonFileReader;
13
+ private readonly logger;
14
+ private readonly jsonFileReader;
15
15
  constructor(config: prereqs.PrerequisiteConfigType & {
16
16
  translationsPath?: typeof I18n.DEFAULT_TRANSLATIONS_PATH;
17
17
  supportedLanguages: types.I18nConfigType["supportedLanguages"];
18
- Logger: LoggerPort;
19
- JsonFileReader: JsonFileReaderPort;
18
+ logger: LoggerPort;
19
+ jsonFileReader?: JsonFileReaderPort;
20
20
  });
21
21
  verify(clock: ClockPort): Promise<prereqs.VerifyOutcome>;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/prerequisites/translations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAQpD,qBAAa,wBAAyB,YAAW,OAAO,CAAC,YAAY;IACnE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAEhF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAGlD,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QACvC,gBAAgB,CAAC,EAAE,OAAO,IAAI,CAAC,yBAAyB,CAAC;QACzD,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,EAAE,UAAU,CAAC;QACnB,cAAc,EAAE,kBAAkB,CAAC;KACpC;IAYG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CA2D/D"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/prerequisites/translations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AAQpD,qBAAa,wBAAyB,YAAW,OAAO,CAAC,YAAY;IACnE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAwC;IAC1E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAEhF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAGlD,MAAM,EAAE,OAAO,CAAC,sBAAsB,GAAG;QACvC,gBAAgB,CAAC,EAAE,OAAO,IAAI,CAAC,yBAAyB,CAAC;QACzD,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,EAAE,UAAU,CAAC;QACnB,cAAc,CAAC,EAAE,kBAAkB,CAAC;KACrC;IAYG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;CA2D/D"}
@@ -2,6 +2,7 @@ import { constants } from "node:fs";
2
2
  import fsp from "node:fs/promises";
3
3
  import * as tools from "@bgord/tools";
4
4
  import { I18n } from "../i18n.service";
5
+ import { JsonFileReaderBunForgivingAdapter } from "../json-file-reader-bun-forgiving.adapter";
5
6
  import * as prereqs from "../prerequisites.service";
6
7
  export class PrerequisiteTranslations {
7
8
  kind = "translations";
@@ -9,15 +10,15 @@ export class PrerequisiteTranslations {
9
10
  enabled = true;
10
11
  translationsPath;
11
12
  supportedLanguages;
12
- Logger;
13
- JsonFileReader;
13
+ logger;
14
+ jsonFileReader;
14
15
  constructor(config) {
15
16
  this.label = config.label;
16
17
  this.enabled = config.enabled === undefined ? true : config.enabled;
17
18
  this.translationsPath = config.translationsPath;
18
19
  this.supportedLanguages = config.supportedLanguages;
19
- this.Logger = config.Logger;
20
- this.JsonFileReader = config.JsonFileReader;
20
+ this.logger = config.logger;
21
+ this.jsonFileReader = config.jsonFileReader ?? new JsonFileReaderBunForgivingAdapter();
21
22
  }
22
23
  async verify(clock) {
23
24
  const stopwatch = new tools.Stopwatch(clock.now());
@@ -25,7 +26,7 @@ export class PrerequisiteTranslations {
25
26
  return prereqs.Verification.undetermined(stopwatch.stop());
26
27
  const translationsPath = this.translationsPath ?? I18n.DEFAULT_TRANSLATIONS_PATH;
27
28
  const supportedLanguages = Object.keys(this.supportedLanguages);
28
- const i18n = new I18n({ Logger: this.Logger, JsonFileReader: this.JsonFileReader });
29
+ const i18n = new I18n({ Logger: this.logger, JsonFileReader: this.jsonFileReader });
29
30
  try {
30
31
  await fsp.access(translationsPath, constants.R_OK);
31
32
  for (const language of supportedLanguages) {
@@ -1 +1 @@
1
- {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../src/prerequisites/translations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../src/prerequisites/translations.ts"],"names":[],"mappings":"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"}