@bgord/bun 1.16.2 → 1.16.4

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 (96) hide show
  1. package/dist/cron-expression.vo.d.ts +12 -0
  2. package/dist/cron-expression.vo.d.ts.map +1 -0
  3. package/dist/cron-expression.vo.js +17 -0
  4. package/dist/cron-expression.vo.js.map +1 -0
  5. package/dist/cron-scheduler-croner.adapter.d.ts +15 -0
  6. package/dist/cron-scheduler-croner.adapter.d.ts.map +1 -0
  7. package/dist/cron-scheduler-croner.adapter.js +23 -0
  8. package/dist/cron-scheduler-croner.adapter.js.map +1 -0
  9. package/dist/cron-scheduler-noop.adapter.d.ts +7 -0
  10. package/dist/cron-scheduler-noop.adapter.d.ts.map +1 -0
  11. package/dist/cron-scheduler-noop.adapter.js +7 -0
  12. package/dist/cron-scheduler-noop.adapter.js.map +1 -0
  13. package/dist/cron-scheduler.port.d.ts +6 -0
  14. package/dist/cron-scheduler.port.d.ts.map +1 -0
  15. package/dist/cron-scheduler.port.js +2 -0
  16. package/dist/cron-scheduler.port.js.map +1 -0
  17. package/dist/cron-task-handler-bare.strategy.d.ts +13 -0
  18. package/dist/cron-task-handler-bare.strategy.d.ts.map +1 -0
  19. package/dist/cron-task-handler-bare.strategy.js +14 -0
  20. package/dist/cron-task-handler-bare.strategy.js.map +1 -0
  21. package/dist/cron-task-handler-noop.strategy.d.ts +6 -0
  22. package/dist/cron-task-handler-noop.strategy.d.ts.map +1 -0
  23. package/dist/cron-task-handler-noop.strategy.js +6 -0
  24. package/dist/cron-task-handler-noop.strategy.js.map +1 -0
  25. package/dist/{job-handler-with-logger.strategy.d.ts → cron-task-handler-with-logger.strategy.d.ts} +5 -4
  26. package/dist/cron-task-handler-with-logger.strategy.d.ts.map +1 -0
  27. package/dist/cron-task-handler-with-logger.strategy.js +38 -0
  28. package/dist/cron-task-handler-with-logger.strategy.js.map +1 -0
  29. package/dist/cron-task-handler.strategy.d.ts +5 -0
  30. package/dist/cron-task-handler.strategy.d.ts.map +1 -0
  31. package/dist/cron-task-handler.strategy.js +2 -0
  32. package/dist/cron-task-handler.strategy.js.map +1 -0
  33. package/dist/cron-task.vo.d.ts +7 -0
  34. package/dist/cron-task.vo.d.ts.map +1 -0
  35. package/dist/cron-task.vo.js +2 -0
  36. package/dist/cron-task.vo.js.map +1 -0
  37. package/dist/index.d.ts +10 -6
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +10 -6
  40. package/dist/index.js.map +1 -1
  41. package/dist/modules/system/services/passage-of-time-hourly.service.d.ts +2 -8
  42. package/dist/modules/system/services/passage-of-time-hourly.service.d.ts.map +1 -1
  43. package/dist/modules/system/services/passage-of-time-hourly.service.js +9 -13
  44. package/dist/modules/system/services/passage-of-time-hourly.service.js.map +1 -1
  45. package/dist/modules/system/services/passage-of-time-minute.service.d.ts +2 -8
  46. package/dist/modules/system/services/passage-of-time-minute.service.d.ts.map +1 -1
  47. package/dist/modules/system/services/passage-of-time-minute.service.js +9 -13
  48. package/dist/modules/system/services/passage-of-time-minute.service.js.map +1 -1
  49. package/dist/prerequisite-verifier-cron-scheduler.adapter.d.ts +13 -0
  50. package/dist/prerequisite-verifier-cron-scheduler.adapter.d.ts.map +1 -0
  51. package/dist/prerequisite-verifier-cron-scheduler.adapter.js +16 -0
  52. package/dist/prerequisite-verifier-cron-scheduler.adapter.js.map +1 -0
  53. package/package.json +7 -2
  54. package/readme.md +10 -6
  55. package/src/cron-expression.vo.ts +23 -0
  56. package/src/cron-scheduler-croner.adapter.ts +34 -0
  57. package/src/cron-scheduler-noop.adapter.ts +10 -0
  58. package/src/cron-scheduler.port.ts +7 -0
  59. package/src/cron-task-handler-bare.strategy.ts +17 -0
  60. package/src/cron-task-handler-noop.strategy.ts +8 -0
  61. package/src/cron-task-handler-with-logger.strategy.ts +46 -0
  62. package/src/cron-task-handler.strategy.ts +5 -0
  63. package/src/cron-task.vo.ts +3 -0
  64. package/src/index.ts +10 -6
  65. package/src/modules/system/services/passage-of-time-hourly.service.ts +10 -14
  66. package/src/modules/system/services/passage-of-time-minute.service.ts +10 -14
  67. package/src/prerequisite-verifier-cron-scheduler.adapter.ts +21 -0
  68. package/dist/job-handler-bare.strategy.d.ts +0 -12
  69. package/dist/job-handler-bare.strategy.d.ts.map +0 -1
  70. package/dist/job-handler-bare.strategy.js +0 -12
  71. package/dist/job-handler-bare.strategy.js.map +0 -1
  72. package/dist/job-handler-noop.strategy.d.ts +0 -5
  73. package/dist/job-handler-noop.strategy.d.ts.map +0 -1
  74. package/dist/job-handler-noop.strategy.js +0 -6
  75. package/dist/job-handler-noop.strategy.js.map +0 -1
  76. package/dist/job-handler-with-logger.strategy.d.ts.map +0 -1
  77. package/dist/job-handler-with-logger.strategy.js +0 -35
  78. package/dist/job-handler-with-logger.strategy.js.map +0 -1
  79. package/dist/job-handler.strategy.d.ts +0 -9
  80. package/dist/job-handler.strategy.d.ts.map +0 -1
  81. package/dist/job-handler.strategy.js +0 -2
  82. package/dist/job-handler.strategy.js.map +0 -1
  83. package/dist/jobs.service.d.ts +0 -15
  84. package/dist/jobs.service.d.ts.map +0 -1
  85. package/dist/jobs.service.js +0 -10
  86. package/dist/jobs.service.js.map +0 -1
  87. package/dist/prerequisite-verifier-jobs.adapter.d.ts +0 -13
  88. package/dist/prerequisite-verifier-jobs.adapter.d.ts.map +0 -1
  89. package/dist/prerequisite-verifier-jobs.adapter.js +0 -17
  90. package/dist/prerequisite-verifier-jobs.adapter.js.map +0 -1
  91. package/src/job-handler-bare.strategy.ts +0 -15
  92. package/src/job-handler-noop.strategy.ts +0 -7
  93. package/src/job-handler-with-logger.strategy.ts +0 -43
  94. package/src/job-handler.strategy.ts +0 -10
  95. package/src/jobs.service.ts +0 -15
  96. package/src/prerequisite-verifier-jobs.adapter.ts +0 -21
@@ -1,17 +0,0 @@
1
- import { Jobs } from "./jobs.service";
2
- import { PrerequisiteVerification, } from "./prerequisite-verifier.port";
3
- export class PrerequisiteVerifierJobsAdapter {
4
- config;
5
- constructor(config) {
6
- this.config = config;
7
- }
8
- async verify() {
9
- if (Jobs.areAllRunning(this.config.Jobs))
10
- return PrerequisiteVerification.success;
11
- return PrerequisiteVerification.failure();
12
- }
13
- get kind() {
14
- return "jobs";
15
- }
16
- }
17
- //# sourceMappingURL=prerequisite-verifier-jobs.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prerequisite-verifier-jobs.adapter.js","sourceRoot":"","sources":["../src/prerequisite-verifier-jobs.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAyB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,wBAAwB,GAGzB,MAAM,8BAA8B,CAAC;AAItC,MAAM,OAAO,+BAA+B;IACb;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,wBAAwB,CAAC,OAAO,CAAC;QAClF,OAAO,wBAAwB,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,15 +0,0 @@
1
- import { CorrelationStorage } from "./correlation-storage.service";
2
- import type { IdProviderPort } from "./id-provider.port";
3
- import type { JobHandlerStrategy, UnitOfWork } from "./job-handler.strategy";
4
-
5
- type Dependencies = { IdProvider: IdProviderPort };
6
-
7
- export class JobHandlerBareStrategy implements JobHandlerStrategy {
8
- constructor(private readonly deps: Dependencies) {}
9
-
10
- handle(uow: UnitOfWork): () => Promise<void> {
11
- const correlationId = this.deps.IdProvider.generate();
12
-
13
- return async () => CorrelationStorage.run(correlationId, async () => uow.process());
14
- }
15
- }
@@ -1,7 +0,0 @@
1
- import type { JobHandlerStrategy, UnitOfWork } from "./job-handler.strategy";
2
-
3
- export class JobHandlerNoopStrategy implements JobHandlerStrategy {
4
- handle(_uow: UnitOfWork): () => Promise<void> {
5
- return async () => {};
6
- }
7
- }
@@ -1,43 +0,0 @@
1
- import type { ClockPort } from "./clock.port";
2
- import { CorrelationStorage } from "./correlation-storage.service";
3
- import type { IdProviderPort } from "./id-provider.port";
4
- import type { JobHandlerStrategy, UnitOfWork } from "./job-handler.strategy";
5
- import type { LoggerPort } from "./logger.port";
6
- import { Stopwatch } from "./stopwatch.service";
7
-
8
- type Dependencies = { Logger: LoggerPort; IdProvider: IdProviderPort; Clock: ClockPort };
9
-
10
- export class JobHandlerWithLoggerStrategy implements JobHandlerStrategy {
11
- private readonly base = { component: "infra", operation: "job_handler" };
12
-
13
- constructor(private readonly deps: Dependencies) {}
14
-
15
- handle(uow: UnitOfWork): () => Promise<void> {
16
- const correlationId = this.deps.IdProvider.generate();
17
-
18
- return async () => {
19
- const duration = new Stopwatch(this.deps);
20
-
21
- try {
22
- this.deps.Logger.info({ message: `${uow.label} start`, correlationId, ...this.base });
23
-
24
- await CorrelationStorage.run(correlationId, async () => uow.process());
25
-
26
- this.deps.Logger.info({
27
- message: `${uow.label} success`,
28
- correlationId,
29
- metadata: duration.stop(),
30
- ...this.base,
31
- });
32
- } catch (error) {
33
- this.deps.Logger.error({
34
- message: `${uow.label} error`,
35
- correlationId,
36
- error,
37
- metadata: duration.stop(),
38
- ...this.base,
39
- });
40
- }
41
- };
42
- }
43
- }
@@ -1,10 +0,0 @@
1
- import type { JobNameType } from "./jobs.service";
2
-
3
- export interface UnitOfWork {
4
- label: JobNameType;
5
- process: () => Promise<void>;
6
- }
7
-
8
- export interface JobHandlerStrategy {
9
- handle(uow: UnitOfWork): () => Promise<void>;
10
- }
@@ -1,15 +0,0 @@
1
- export type JobNameType = string;
2
- export type JobType = { stop: () => void; isRunning: () => boolean };
3
- export type MultipleJobsType = Record<JobNameType, JobType>;
4
-
5
- export class Jobs {
6
- static SCHEDULES = { EVERY_MINUTE: "* * * * *", EVERY_HOUR: "0 * * * *" };
7
-
8
- static stopAll(jobs: MultipleJobsType) {
9
- Object.values(jobs).forEach((job) => job.stop());
10
- }
11
-
12
- static areAllRunning(jobs: MultipleJobsType): boolean {
13
- return Object.values(jobs).every((job) => job.isRunning());
14
- }
15
- }
@@ -1,21 +0,0 @@
1
- import { Jobs, type MultipleJobsType } from "./jobs.service";
2
- import {
3
- PrerequisiteVerification,
4
- type PrerequisiteVerificationResult,
5
- type PrerequisiteVerifierPort,
6
- } from "./prerequisite-verifier.port";
7
-
8
- type Config = { Jobs: MultipleJobsType };
9
-
10
- export class PrerequisiteVerifierJobsAdapter implements PrerequisiteVerifierPort {
11
- constructor(private readonly config: Config) {}
12
-
13
- async verify(): Promise<PrerequisiteVerificationResult> {
14
- if (Jobs.areAllRunning(this.config.Jobs)) return PrerequisiteVerification.success;
15
- return PrerequisiteVerification.failure();
16
- }
17
-
18
- get kind(): string {
19
- return "jobs";
20
- }
21
- }