@geekmidas/constructs 3.0.13 → 3.1.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/AWSScheduledFunction-B3cHQSdp.cjs +255 -0
  3. package/dist/AWSScheduledFunction-B3cHQSdp.cjs.map +1 -0
  4. package/dist/AWSScheduledFunction-BRGjgD-i.mjs +243 -0
  5. package/dist/AWSScheduledFunction-BRGjgD-i.mjs.map +1 -0
  6. package/dist/AWSScheduledFunction-BnYDnzsF.d.mts +117 -0
  7. package/dist/AWSScheduledFunction-BnYDnzsF.d.mts.map +1 -0
  8. package/dist/AWSScheduledFunction-vjanLO3-.d.cts +117 -0
  9. package/dist/AWSScheduledFunction-vjanLO3-.d.cts.map +1 -0
  10. package/dist/{Construct-D0n7QTaI.d.mts → Construct-BY0NBQLj.d.mts} +1 -1
  11. package/dist/{Construct-D0n7QTaI.d.mts.map → Construct-BY0NBQLj.d.mts.map} +1 -1
  12. package/dist/{Construct-CdJY2DJS.mjs → Construct-CLIPPqUP.mjs} +3 -28
  13. package/dist/{Construct-CdJY2DJS.mjs.map → Construct-CLIPPqUP.mjs.map} +1 -1
  14. package/dist/{Construct-CXqvzglu.d.cts → Construct-cjIs74Gb.d.cts} +1 -1
  15. package/dist/{Construct-CXqvzglu.d.cts.map → Construct-cjIs74Gb.d.cts.map} +1 -1
  16. package/dist/{Endpoint-NvjIednd.d.mts → Endpoint-4gVYt12g.d.mts} +5 -5
  17. package/dist/{Endpoint-NvjIednd.d.mts.map → Endpoint-4gVYt12g.d.mts.map} +1 -1
  18. package/dist/{Endpoint-CE7qHX5S.d.cts → Endpoint-BlMZIwBY.d.cts} +4 -4
  19. package/dist/{Endpoint-CE7qHX5S.d.cts.map → Endpoint-BlMZIwBY.d.cts.map} +1 -1
  20. package/dist/{HonoEndpointAdaptor-DyYv0IoU.mjs → HonoEndpointAdaptor-6k-rI44C.mjs} +5 -4
  21. package/dist/{HonoEndpointAdaptor-DyYv0IoU.mjs.map → HonoEndpointAdaptor-6k-rI44C.mjs.map} +1 -1
  22. package/dist/{HonoEndpointAdaptor-DFdgCwYU.cjs → HonoEndpointAdaptor-CNIsjEw-.cjs} +6 -5
  23. package/dist/{HonoEndpointAdaptor-DFdgCwYU.cjs.map → HonoEndpointAdaptor-CNIsjEw-.cjs.map} +1 -1
  24. package/dist/{Subscriber-D8WkA8np.d.cts → Subscriber-C6YXAmTp.d.cts} +3 -3
  25. package/dist/{Subscriber-D8WkA8np.d.cts.map → Subscriber-C6YXAmTp.d.cts.map} +1 -1
  26. package/dist/{Subscriber-Tft61-YG.d.mts → Subscriber-CjOHxO0l.d.mts} +3 -3
  27. package/dist/{Subscriber-Tft61-YG.d.mts.map → Subscriber-CjOHxO0l.d.mts.map} +1 -1
  28. package/dist/adaptors/aws.cjs +12 -209
  29. package/dist/adaptors/aws.cjs.map +1 -1
  30. package/dist/adaptors/aws.d.cts +11 -66
  31. package/dist/adaptors/aws.d.cts.map +1 -1
  32. package/dist/adaptors/aws.d.mts +11 -66
  33. package/dist/adaptors/aws.d.mts.map +1 -1
  34. package/dist/adaptors/aws.mjs +11 -208
  35. package/dist/adaptors/aws.mjs.map +1 -1
  36. package/dist/adaptors/hono.cjs +6 -4
  37. package/dist/adaptors/hono.d.cts +4 -4
  38. package/dist/adaptors/hono.d.mts +4 -4
  39. package/dist/adaptors/hono.mjs +7 -5
  40. package/dist/adaptors/middy.cjs +120 -0
  41. package/dist/adaptors/middy.cjs.map +1 -0
  42. package/dist/adaptors/middy.d.cts +139 -0
  43. package/dist/adaptors/middy.d.cts.map +1 -0
  44. package/dist/adaptors/middy.d.mts +139 -0
  45. package/dist/adaptors/middy.d.mts.map +1 -0
  46. package/dist/adaptors/middy.mjs +118 -0
  47. package/dist/adaptors/middy.mjs.map +1 -0
  48. package/dist/adaptors/testing.cjs +9 -7
  49. package/dist/adaptors/testing.cjs.map +1 -1
  50. package/dist/adaptors/testing.d.cts +6 -6
  51. package/dist/adaptors/testing.d.mts +6 -6
  52. package/dist/adaptors/testing.mjs +7 -5
  53. package/dist/adaptors/testing.mjs.map +1 -1
  54. package/dist/chunk-B4qE4VCv.mjs +27 -0
  55. package/dist/crons/index.cjs +4 -1
  56. package/dist/crons/index.cjs.map +1 -1
  57. package/dist/crons/index.d.cts +6 -22
  58. package/dist/crons/index.d.cts.map +1 -1
  59. package/dist/crons/index.d.mts +5 -21
  60. package/dist/crons/index.d.mts.map +1 -1
  61. package/dist/crons/index.mjs +6 -3
  62. package/dist/crons/index.mjs.map +1 -1
  63. package/dist/endpoints/index.cjs +5 -3
  64. package/dist/endpoints/index.cjs.map +1 -1
  65. package/dist/endpoints/index.d.cts +7 -7
  66. package/dist/endpoints/index.d.mts +5 -5
  67. package/dist/endpoints/index.mjs +6 -3
  68. package/dist/endpoints/index.mjs.map +1 -1
  69. package/dist/functions/index.cjs +1 -1
  70. package/dist/functions/index.d.cts +2 -2
  71. package/dist/functions/index.d.mts +2 -2
  72. package/dist/functions/index.mjs +2 -2
  73. package/dist/{functions-GmSHFbpr.mjs → functions-BMR-1CIQ.mjs} +1639 -1638
  74. package/dist/functions-BMR-1CIQ.mjs.map +1 -0
  75. package/dist/{functions-CX21wstW.cjs → functions-_OAiwGYh.cjs} +1637 -1637
  76. package/dist/functions-_OAiwGYh.cjs.map +1 -0
  77. package/dist/{index-CzIMpK-e.d.cts → index-Dj3uvqCO.d.cts} +39 -38
  78. package/dist/index-Dj3uvqCO.d.cts.map +1 -0
  79. package/dist/{index-Cq4fz8uM.d.mts → index-DoiHTgUQ.d.mts} +35 -34
  80. package/dist/index-DoiHTgUQ.d.mts.map +1 -0
  81. package/dist/index.d.cts +3 -3
  82. package/dist/index.d.mts +3 -3
  83. package/dist/index.mjs +1 -1
  84. package/dist/{lazyAccessors-zNy6P6Cg.cjs → lazyAccessors-B4rtX68K.cjs} +6 -889
  85. package/dist/lazyAccessors-B4rtX68K.cjs.map +1 -0
  86. package/dist/{lazyAccessors-5h-aWohM.mjs → lazyAccessors-D-UHg0YJ.mjs} +9 -873
  87. package/dist/lazyAccessors-D-UHg0YJ.mjs.map +1 -0
  88. package/dist/lodash-CM4k4sZD.cjs +836 -0
  89. package/dist/lodash-CM4k4sZD.cjs.map +1 -0
  90. package/dist/lodash-DiUeLbQy.mjs +831 -0
  91. package/dist/lodash-DiUeLbQy.mjs.map +1 -0
  92. package/dist/{processAudits-B0PbJf1Z.mjs → processAudits-BEiSkgH3.mjs} +1 -1
  93. package/dist/{processAudits-B0PbJf1Z.mjs.map → processAudits-BEiSkgH3.mjs.map} +1 -1
  94. package/dist/{processAudits-B_a9bDPs.cjs → processAudits-CPcACKCA.cjs} +1 -1
  95. package/dist/{processAudits-B_a9bDPs.cjs.map → processAudits-CPcACKCA.cjs.map} +1 -1
  96. package/dist/publisher-BZgcrVPy.cjs +53 -0
  97. package/dist/publisher-BZgcrVPy.cjs.map +1 -0
  98. package/dist/publisher-CnpeMv-r.mjs +41 -0
  99. package/dist/publisher-CnpeMv-r.mjs.map +1 -0
  100. package/dist/subscribers/index.d.cts +2 -2
  101. package/dist/subscribers/index.d.mts +2 -2
  102. package/dist/subscribers/index.mjs +1 -1
  103. package/dist/{telemetry-COvVBKBM.d.mts → telemetry-Bp4DLvdQ.d.mts} +1 -1
  104. package/dist/{telemetry-Bt0vK4ma.d.cts.map → telemetry-Bp4DLvdQ.d.mts.map} +1 -1
  105. package/dist/{telemetry-Bt0vK4ma.d.cts → telemetry-Dqx-D3F7.d.cts} +1 -1
  106. package/dist/{telemetry-COvVBKBM.d.mts.map → telemetry-Dqx-D3F7.d.cts.map} +1 -1
  107. package/dist/{types-B8YlI4cx.d.cts → types-BdAaYDvd.d.cts} +1 -1
  108. package/dist/{types-B8YlI4cx.d.cts.map → types-BdAaYDvd.d.cts.map} +1 -1
  109. package/dist/{types-BA3eK4xj.d.mts → types-j0ti0JTY.d.mts} +1 -1
  110. package/dist/{types-BA3eK4xj.d.mts.map → types-j0ti0JTY.d.mts.map} +1 -1
  111. package/dist/types.d.cts +1 -1
  112. package/dist/types.d.mts +1 -1
  113. package/package.json +24 -14
  114. package/src/adaptors/__tests__/middy.spec.ts +212 -0
  115. package/src/adaptors/__tests__/trpc.spec.ts +9 -2
  116. package/src/adaptors/aws.ts +1 -0
  117. package/src/adaptors/middy.ts +225 -0
  118. package/src/crons/AWSScheduledFunction.ts +72 -0
  119. package/src/crons/__tests__/AWSScheduledFunction.spec.ts +152 -0
  120. package/src/crons/index.ts +1 -0
  121. package/tsdown.config.ts +1 -0
  122. package/dist/functions-CX21wstW.cjs.map +0 -1
  123. package/dist/functions-GmSHFbpr.mjs.map +0 -1
  124. package/dist/index-Cq4fz8uM.d.mts.map +0 -1
  125. package/dist/index-CzIMpK-e.d.cts.map +0 -1
  126. package/dist/lazyAccessors-5h-aWohM.mjs.map +0 -1
  127. package/dist/lazyAccessors-zNy6P6Cg.cjs.map +0 -1
@@ -1,31 +1,15 @@
1
- import "../Construct-CXqvzglu.cjs";
2
- import { Function, FunctionBuilder, FunctionHandler } from "../index-CzIMpK-e.cjs";
1
+ import "../Construct-cjIs74Gb.cjs";
2
+ import { FunctionBuilder, FunctionHandler } from "../index-Dj3uvqCO.cjs";
3
+ import { AWSScheduledFunction, Cron, CronExpression, RateExpression, ScheduleExpression } from "../AWSScheduledFunction-vjanLO3-.cjs";
3
4
  import { EventPublisher } from "@geekmidas/events";
4
5
  import * as _geekmidas_logger2 from "@geekmidas/logger";
5
6
  import { Logger } from "@geekmidas/logger";
7
+ import * as _geekmidas_schema0 from "@geekmidas/schema";
8
+ import { ComposableStandardSchema } from "@geekmidas/schema";
6
9
  import * as _geekmidas_services1 from "@geekmidas/services";
7
10
  import { Service } from "@geekmidas/services";
8
11
  import { StandardSchemaV1 } from "@standard-schema/spec";
9
- import { AuditableAction } from "@geekmidas/audit";
10
- import * as _geekmidas_schema0 from "@geekmidas/schema";
11
- import { ComposableStandardSchema } from "@geekmidas/schema";
12
12
 
13
- //#region src/crons/Cron.d.ts
14
- declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName, AuditableAction<string, unknown>, FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>> {
15
- protected _schedule?: ScheduleExpression | undefined;
16
- static isCron(obj: any): obj is Cron<any, any, any, any>;
17
- constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number, databaseService?: Service<TDatabaseServiceName, TDatabase>);
18
- get schedule(): ScheduleExpression | undefined;
19
- }
20
- type RateExpression = `rate(${string})`;
21
- type CronMinute = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | `${number},${number}` | string;
22
- type CronHour = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | `${number},${number}` | string;
23
- type CronDay = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | `${number},${number}` | string;
24
- type CronMonth = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC' | string;
25
- type CronWeekday = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | 'SUN' | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | `${string}-${string}` | string;
26
- type CronExpression = `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;
27
- type ScheduleExpression = RateExpression | CronExpression;
28
- //#endregion
29
13
  //#region src/crons/CronBuilder.d.ts
30
14
  declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
31
15
  private _schedule?;
@@ -51,5 +35,5 @@ declare const c: CronBuilder<_geekmidas_schema0.ComposableStandardSchema, _geekm
51
35
  //# sourceMappingURL=index.d.ts.map
52
36
 
53
37
  //#endregion
54
- export { Cron, CronBuilder, CronExpression, RateExpression, ScheduleExpression, c };
38
+ export { AWSScheduledFunction, Cron, CronBuilder, CronExpression, RateExpression, ScheduleExpression, c };
55
39
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/crons/Cron.ts","../../src/crons/CronBuilder.ts","../../src/crons/index.ts"],"sourcesContent":[],"mappings":"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,SD9JiB,EC+JjB,OD/JiB,ECgKjB,SDhKiB,ECiKjB,CDjKiB,ECkKjB,KDlKiB,ECmKjB,SDnKiB,ECoKjB,oBDpKiB,CAAA;EAAgB;;;;EAQ3B,QACP,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,ECmLU,ODnLV,CCmLkB,KDnLlB,ECmLyB,CDnLzB,CAAA,CAAA,ECoLG,WDpLH,CCqLC,MDrLD,ECsLC,SDtLD,ECuLC,ODvLD,ECwLC,SDxLD,ECyLC,eDzLD,EC0LC,0BD1LD,EC2LC,CD3LD,EC4LC,KD5LD,CAAA;EAAS,MACT,CAAA,EAAA,EC+MK,eD/ML,CC+MqB,MD/MrB,EC+M6B,SD/M7B,EC+MwC,OD/MxC,EC+MiD,SD/MjD,EC+M4D,SD/M5D,CAAA,CAAA,ECgNG,IDhNH,CCiNC,MDjND,ECkNC,SDlND,ECmNC,ODnND,ECoNC,SDpND,ECqNC,eDrND,ECsNC,0BDtND,ECuNC,SDvND,ECwNC,oBDxND,CAAA;;;;;cEdY,GAAC,YAAoB,kBAAA,CAApB,wBAAA,EAAA,oBAAA,CAAA,4BAAA,kBAAA,CAAA,MAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/crons/CronBuilder.ts","../../src/crons/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;cAaa,2BACG,4CACG,2BACF,SAAS,0BACP,kEACM,8KAIf,gBACT,QACA,WACA,WACA,SACA,iBACA,+CAGA,WACA;;;;wBAcc,qBACX,YACF,QACA,WACA,SACA,WACA,iBACA,4BACA,WACA;kBAMwB,kCAChB,IACN,YACF,GACA,WACA,SACA,WACA,iBACA,4BACA,WACA;EA1DW,MAAA,CAAA,UA0Ec,gBA1EH,CAAA,CAAA,MAAA,EA2Ed,CA3Ec,CAAA,EA4EpB,WA5EoB,CA6EtB,MA7EsB,EA8EtB,SA9EsB,EA+EtB,OA/EsB,EAgFtB,CAhFsB,EAiFtB,eAjFsB,EAkFtB,0BAlFsB,EAmFtB,SAnFsB,EAoFtB,oBApFsB,CAAA;EAAA,QAAA,CAAA,UAoGK,OApGL,EAAA,CAAA,CAAA,QAAA,EAqGZ,CArGY,CAAA,EAsGpB,WAtGoB,CAuGtB,MAvGsB,EAAA,CACR,GAuGV,SAvGU,EACG,GAsGC,CAtGD,CAAO,EAuGxB,OAtGe,EAuGf,SAvGe,EAwGf,eAxGe,EAyGf,0BAzGe,EA0Gf,SA1Ge,EA2Gf,oBA3Ge,CAAA;EAAM,MAAG,CAAA,UA8HC,MA9HD,CAAA,CAAA,MAAA,EA+HhB,CA/HgB,CAAA,EAgItB,WAhIsB,CAiIxB,MAjIwB,EAkIxB,SAlIwB,EAmIxB,CAnIwB,EAoIxB,SApIwB,EAqIxB,eArIwB,EAsIxB,0BAtIwB,EAuIxB,SAvIwB,EAwIxB,oBAxIwB,CAAA;EAAM,SACb,CAAA,UAuJW,cAvJX,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,EAwJN,OAxJM,CAwJE,KAxJF,EAwJS,CAxJT,CAAA,CAAA,EAyJf,WAzJe,CA0JjB,MA1JiB,EA2JjB,SA3JiB,EA4JjB,OA5JiB,EA6JjB,SA7JiB,EA8JjB,CA9JiB,EA+JjB,KA/JiB,EAgKjB,SAhKiB,EAiKjB,oBAjKiB,CAAA;EAAgB;;;;EAQzB,QACT,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAgLU,OAhLV,CAgLkB,KAhLlB,EAgLyB,CAhLzB,CAAA,CAAA,EAiLG,WAjLH,CAkLC,MAlLD,EAmLC,SAnLD,EAoLC,OApLD,EAqLC,SArLD,EAsLC,eAtLD,EAuLC,0BAvLD,EAwLC,CAxLD,EAyLC,KAzLD,CAAA;EAAO,MACP,CAAA,EAAA,EA4MK,eA5ML,CA4MqB,MA5MrB,EA4M6B,SA5M7B,EA4MwC,OA5MxC,EA4MiD,SA5MjD,EA4M4D,SA5M5D,CAAA,CAAA,EA6MG,IA7MH,CA8MC,MA9MD,EA+MC,SA/MD,EAgNC,OAhND,EAiNC,SAjND,EAkNC,eAlND,EAmNC,0BAnND,EAoNC,SApND,EAqNC,oBArND,CAAA;;;;;cChBY,GAAC,YAAoB,kBAAA,CAApB,wBAAA,EAAA,oBAAA,CAAA,4BAAA,kBAAA,CAAA,MAAA"}
@@ -1,28 +1,12 @@
1
- import "../Construct-D0n7QTaI.mjs";
2
- import { Function, FunctionBuilder, FunctionHandler } from "../index-Cq4fz8uM.mjs";
1
+ import "../Construct-BY0NBQLj.mjs";
2
+ import { FunctionBuilder, FunctionHandler } from "../index-DoiHTgUQ.mjs";
3
+ import { AWSScheduledFunction, Cron, CronExpression, RateExpression, ScheduleExpression } from "../AWSScheduledFunction-BnYDnzsF.mjs";
3
4
  import { Service as Service$1 } from "@geekmidas/services";
4
- import { AuditableAction } from "@geekmidas/audit";
5
5
  import { EventPublisher } from "@geekmidas/events";
6
6
  import { Logger as Logger$1 } from "@geekmidas/logger";
7
- import { StandardSchemaV1 } from "@standard-schema/spec";
8
7
  import { ComposableStandardSchema as ComposableStandardSchema$1 } from "@geekmidas/schema";
8
+ import { StandardSchemaV1 } from "@standard-schema/spec";
9
9
 
10
- //#region src/crons/Cron.d.ts
11
- declare class Cron<TInput extends ComposableStandardSchema$1 | undefined = undefined, TServices extends Service$1[] = [], TLogger extends Logger$1 = Logger$1, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName, AuditableAction<string, unknown>, FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>> {
12
- protected _schedule?: ScheduleExpression | undefined;
13
- static isCron(obj: any): obj is Cron<any, any, any, any>;
14
- constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service$1<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number, databaseService?: Service$1<TDatabaseServiceName, TDatabase>);
15
- get schedule(): ScheduleExpression | undefined;
16
- }
17
- type RateExpression = `rate(${string})`;
18
- type CronMinute = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | `${number},${number}` | string;
19
- type CronHour = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | `${number},${number}` | string;
20
- type CronDay = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | `${number},${number}` | string;
21
- type CronMonth = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC' | string;
22
- type CronWeekday = '*' | number | `${number}` | `${number}-${number}` | `${number}/${number}` | `*/${number}` | 'SUN' | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | `${string}-${string}` | string;
23
- type CronExpression = `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;
24
- type ScheduleExpression = RateExpression | CronExpression;
25
- //#endregion
26
10
  //#region src/crons/CronBuilder.d.ts
27
11
  declare class CronBuilder<TInput extends ComposableStandardSchema$1, TServices extends Service$1[], TLogger extends Logger$1 = Logger$1, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
28
12
  private _schedule?;
@@ -48,5 +32,5 @@ declare const c: CronBuilder<ComposableStandardSchema, Service[], Logger, undefi
48
32
  //# sourceMappingURL=index.d.ts.map
49
33
 
50
34
  //#endregion
51
- export { Cron, CronBuilder, CronExpression, RateExpression, ScheduleExpression, c };
35
+ export { AWSScheduledFunction, Cron, CronBuilder, CronExpression, RateExpression, ScheduleExpression, c };
52
36
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/crons/Cron.ts","../../src/crons/CronBuilder.ts","../../src/crons/index.ts"],"sourcesContent":[],"mappings":"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EiB,EC+EjB,SD/EiB,ECgFjB,ODhFiB,ECiFjB,CDjFiB,ECkFjB,eDlFiB,ECmFjB,0BDnFiB,ECoFjB,SDpFiB,ECqFjB,oBDrFiB,CAAA;EAAO,QACT,CAAA,UCoGY,SDpGZ,EAAA,CAAA,CAAA,QAAA,ECqGL,CDrGK,CAAA,ECsGb,WDtGa,CCuGf,MDvGe,EAAA,CAAS,GCwGpB,SDxGoB,EACP,GCuGC,CDvGD,CAAgB,ECwGjC,ODvGuB,ECwGvB,SDxGuB,ECyGvB,eDzGuB,EC0GvB,0BD1GuB,EC2GvB,SD3GuB,EC4GvB,oBD5GuB,CAAA;EAAc,MAKtC,CAAA,UC0H0B,QD1H1B,CAAA,CAAA,MAAA,EC2HS,CD3HT,CAAA,EC4HG,WD5HH,CC6HC,MD7HD,EC8HC,SD9HD,EC+HC,CD/HD,ECgIC,SDhID,ECiIC,eDjID,ECkIC,0BDlID,ECmIC,SDnID,ECoIC,oBDpID,CAAA;EAAM,SACN,CAAA,UCmJ6B,cDnJ7B,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,ECoJY,SDpJZ,CCoJoB,KDpJpB,ECoJ2B,CDpJ3B,CAAA,CAAA,ECqJG,WDrJH,CCsJC,MDtJD,ECuJC,SDvJD,ECwJC,ODxJD,ECyJC,SDzJD,EC0JC,CD1JD,EC2JC,KD3JD,EC4JC,SD5JD,EC6JC,oBD7JD,CAAA;EAAS;;;;EAIiB,QAG1B,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EC8KU,SD9KV,CC8KkB,KD9KlB,EC8KyB,CD9KzB,CAAA,CAAA,EC+KG,WD/KH,CCgLC,MDhLD,ECiLC,SDjLD,ECkLC,ODlLD,ECmLC,SDnLD,ECoLC,eDpLD,ECqLC,0BDrLD,ECsLC,CDtLD,ECuLC,KDvLD,CAAA;EAAS,MACT,CAAA,EAAA,EC0MK,eD1ML,CC0MqB,MD1MrB,EC0M6B,SD1M7B,EC0MwC,OD1MxC,EC0MiD,SD1MjD,EC0M4D,SD1M5D,CAAA,CAAA,EC2MG,ID3MH,CC4MC,MD5MD,EC6MC,SD7MD,EC8MC,OD9MD,EC+MC,SD/MD,ECgNC,eDhND,ECiNC,0BDjND,ECkNC,SDlND,ECmNC,oBDnND,CAAA;;;;;cEnBY,GAAC,YAAA,0BAAA,WAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/crons/CronBuilder.ts","../../src/crons/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;cAaa,2BACG,8CACG,6BACF,WAAS,4BACP,kEACM,8KAIf,gBACT,QACA,WACA,WACA,SACA,iBACA,+CAGA,WACA;;;EAnBY,UAAA,CAAA,UAAW,EAAA,MAAA,CAAA,EAAA,IAAA;EAAA,QAAA,CAAA,WAAA,EAiCT,kBAjCS,CAAA,EAkCpB,WAlCoB,CAmCtB,MAnCsB,EAoCtB,SApCsB,EAqCtB,OArCsB,EAsCtB,SAtCsB,EAuCtB,eAvCsB,EAwCtB,0BAxCsB,EAyCtB,SAzCsB,EA0CtB,oBA1CsB,CAAA;EAAA,KACR,CAAA,UA+CU,0BA/CV,CAAA,CAAA,MAAA,EAgDN,CAhDM,CAAA,EAiDZ,WAjDY,CAkDd,CAlDc,EAmDd,SAnDc,EAoDd,OApDc,EAqDd,SArDc,EAsDd,eAtDc,EAuDd,0BAvDc,EAwDd,SAxDc,EAyDd,oBAzDc,CAAA;EAAwB,MACrB,CAAA,UAwEQ,gBAxER,CAAA,CAAA,MAAA,EAyET,CAzES,CAAA,EA0Ef,WA1Ee,CA2EjB,MA3EiB,EA4EjB,SA5EiB,EA6EjB,OA7EiB,EA8EjB,CA9EiB,EA+EjB,eA/EiB,EAgFjB,0BAhFiB,EAiFjB,SAjFiB,EAkFjB,oBAlFiB,CAAA;EAAO,QACT,CAAA,UAiGY,SAjGZ,EAAA,CAAA,CAAA,QAAA,EAkGL,CAlGK,CAAA,EAmGb,WAnGa,CAoGf,MApGe,EAAA,CAAS,GAqGpB,SArGoB,EACP,GAoGC,CApGD,CAAgB,EAqGjC,OApGuB,EAqGvB,SArGuB,EAsGvB,eAtGuB,EAuGvB,0BAvGuB,EAwGvB,SAxGuB,EAyGvB,oBAzGuB,CAAA;EAAc,MAKtC,CAAA,UAuH0B,QAvH1B,CAAA,CAAA,MAAA,EAwHS,CAxHT,CAAA,EAyHG,WAzHH,CA0HC,MA1HD,EA2HC,SA3HD,EA4HC,CA5HD,EA6HC,SA7HD,EA8HC,eA9HD,EA+HC,0BA/HD,EAgIC,SAhID,EAiIC,oBAjID,CAAA;EAAM,SACN,CAAA,UAgJ6B,cAhJ7B,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,EAiJY,SAjJZ,CAiJoB,KAjJpB,EAiJ2B,CAjJ3B,CAAA,CAAA,EAkJG,WAlJH,CAmJC,MAnJD,EAoJC,SApJD,EAqJC,OArJD,EAsJC,SAtJD,EAuJC,CAvJD,EAwJC,KAxJD,EAyJC,SAzJD,EA0JC,oBA1JD,CAAA;EAAS;;;;EAIiB,QAG1B,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EA2KU,SA3KV,CA2KkB,KA3KlB,EA2KyB,CA3KzB,CAAA,CAAA,EA4KG,WA5KH,CA6KC,MA7KD,EA8KC,SA9KD,EA+KC,OA/KD,EAgLC,SAhLD,EAiLC,eAjLD,EAkLC,0BAlLD,EAmLC,CAnLD,EAoLC,KApLD,CAAA;EAAS,MACT,CAAA,EAAA,EAuMK,eAvML,CAuMqB,MAvMrB,EAuM6B,SAvM7B,EAuMwC,OAvMxC,EAuMiD,SAvMjD,EAuM4D,SAvM5D,CAAA,CAAA,EAwMG,IAxMH,CAyMC,MAzMD,EA0MC,SA1MD,EA2MC,OA3MD,EA4MC,SA5MD,EA6MC,eA7MD,EA8MC,0BA9MD,EA+MC,SA/MD,EAgNC,oBAhND,CAAA;;;;;cCrBY,GAAC,YAAA,0BAAA,WAAA"}
@@ -1,5 +1,8 @@
1
- import { ConstructType, __toESM } from "../Construct-CdJY2DJS.mjs";
2
- import { Function, FunctionBuilder, require_lodash } from "../functions-GmSHFbpr.mjs";
1
+ import { __toESM } from "../chunk-B4qE4VCv.mjs";
2
+ import { ConstructType } from "../Construct-CLIPPqUP.mjs";
3
+ import { Function, FunctionBuilder, require_lodash } from "../functions-BMR-1CIQ.mjs";
4
+ import "../publisher-CnpeMv-r.mjs";
5
+ import { AWSScheduledFunction } from "../AWSScheduledFunction-BRGjgD-i.mjs";
3
6
  import { ConsoleLogger } from "@geekmidas/logger/console";
4
7
 
5
8
  //#region src/crons/Cron.ts
@@ -82,5 +85,5 @@ var CronBuilder = class extends FunctionBuilder {
82
85
  const c = new CronBuilder();
83
86
 
84
87
  //#endregion
85
- export { Cron, CronBuilder, c };
88
+ export { AWSScheduledFunction, Cron, CronBuilder, c };
86
89
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["obj: any","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>","DEFAULT_LOGGER","memorySize: number","_expression: ScheduleExpression","schema: T","services: T","logger: T","publisher: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>"],"sources":["../../src/crons/Cron.ts","../../src/crons/CronBuilder.ts","../../src/crons/index.ts"],"sourcesContent":["import type { AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nexport class Cron<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends Function<\n\tTInput,\n\tTServices,\n\tTLogger,\n\tOutSchema,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName,\n\tAuditableAction<string, unknown>,\n\tFunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>\n> {\n\tstatic isCron(obj: any): obj is Cron<any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\t(obj as Function).__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Cron,\n\t\t);\n\t}\n\n\tconstructor(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t\ttimeout?: number,\n\t\tprotected _schedule?: ScheduleExpression,\n\t\tinput?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger?: TLogger,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: any[] = [],\n\t\tmemorySize?: number,\n\t\tdatabaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\tfn,\n\t\t\ttimeout,\n\t\t\tConstructType.Cron,\n\t\t\tinput,\n\t\t\toutputSchema,\n\t\t\tservices,\n\t\t\tlogger,\n\t\t\tpublisherService,\n\t\t\tevents,\n\t\t\tmemorySize,\n\t\t\tundefined, // auditorStorageService\n\t\t\tdatabaseService,\n\t\t);\n\t}\n\n\tget schedule(): ScheduleExpression | undefined {\n\t\treturn this._schedule;\n\t}\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronHour =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronDay =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronMonth =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'JAN'\n\t| 'FEB'\n\t| 'MAR'\n\t| 'APR'\n\t| 'MAY'\n\t| 'JUN'\n\t| 'JUL'\n\t| 'AUG'\n\t| 'SEP'\n\t| 'OCT'\n\t| 'NOV'\n\t| 'DEC'\n\t| string; // Allow more complex patterns\n\ntype CronWeekday =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'SUN'\n\t| 'MON'\n\t| 'TUE'\n\t| 'WED'\n\t| 'THU'\n\t| 'FRI'\n\t| 'SAT'\n\t| `${string}-${string}` // Allow patterns like MON-FRI\n\t| string; // Allow more complex patterns\n\nexport type CronExpression =\n\t`cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n","import type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { FunctionBuilder, type FunctionHandler } from '../functions';\nimport { Cron, type ScheduleExpression } from './Cron';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class CronBuilder<\n\tTInput extends ComposableStandardSchema,\n\tTServices extends Service[],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends FunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprivate _schedule?: ScheduleExpression;\n\n\tconstructor() {\n\t\tsuper(ConstructType.Cron);\n\t}\n\n\toverride memorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\tschedule(\n\t\t_expression: ScheduleExpression,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._schedule = _expression;\n\t\treturn this;\n\t}\n\n\toverride input<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.inputSchema = schema as unknown as TInput;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride output<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride services<T extends Service[]>(\n\t\tservices: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride logger<T extends Logger>(\n\t\tlogger: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this cron job.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\toverride handle(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t): Cron<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst cron = new Cron(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis._schedule,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._databaseService,\n\t\t);\n\n\t\t// Reset builder state after creating the cron to prevent pollution\n\t\tthis._services = [] as Service[] as TServices;\n\t\tthis._logger = DEFAULT_LOGGER;\n\t\tthis._events = [];\n\t\tthis._publisher = undefined;\n\t\tthis._databaseService = undefined;\n\t\tthis._schedule = undefined;\n\t\tthis.inputSchema = undefined;\n\t\tthis.outputSchema = undefined;\n\t\tthis._timeout = undefined;\n\t\tthis._memorySize = undefined;\n\n\t\treturn cron;\n\t}\n}\n","export {\n\tCron,\n\ttype CronExpression,\n\ttype RateExpression,\n\ttype ScheduleExpression,\n} from './Cron';\nexport { CronBuilder } from './CronBuilder';\n\nimport { CronBuilder } from './CronBuilder';\n\nexport const c = new CronBuilder();\n"],"mappings":";;;;;AAUA,IAAa,OAAb,cASU,SAaR;CACD,OAAO,OAAOA,KAA2C;AACxD,SAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAAS,cAAc,KAC5B;CACD;CAED,YACCC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBACC;AACD,QACC,IACA,SACA,cAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,gBACA;EAvBS;CAwBV;CAED,IAAI,WAA2C;AAC9C,SAAO,KAAK;CACZ;AACD;;;;;AC9DD,MAAMC,mBAAiB,IAAI;AAE3B,IAAa,cAAb,cASU,gBAWR;CACD,AAAQ;CAER,cAAc;AACb,QAAM,cAAc,KAAK;CACzB;CAED,AAAS,WAAWC,YAA0B;AAC7C,OAAK,cAAc;AACnB,SAAO;CACP;CAED,SACCC,aAUC;AACD,OAAK,YAAY;AACjB,SAAO;CACP;CAED,AAAS,MACRC,QAUC;AACD,OAAK,cAAc;AAEnB,SAAO;CAUP;CAED,AAAS,OACRA,QAUC;AACD,OAAK,eAAe;AAEpB,SAAO;CAUP;CAED,AAAS,SACRC,UAUC;AACD,OAAK,YAAY,2BAChB,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT;AAED,SAAO;CAUP;CAED,AAAS,OACRC,QAUC;AACD,OAAK,UAAU;AAEf,SAAO;CAUP;CAED,AAAS,UACRC,WAUC;AACD,OAAK,aAAa;AAKlB,SAAO;CAUP;;;;;CAMD,AAAS,SACRC,SAUC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAUP;CAED,AAAS,OACRC,IAUC;EACD,MAAM,OAAO,IAAI,KAChB,IACA,KAAK,UACL,KAAK,WACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK;AAIN,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUR;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACP;AACD;;;;ACpQD,MAAa,IAAI,IAAI"}
1
+ {"version":3,"file":"index.mjs","names":["obj: any","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>","DEFAULT_LOGGER","memorySize: number","_expression: ScheduleExpression","schema: T","services: T","logger: T","publisher: Service<TName, T>","service: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>"],"sources":["../../src/crons/Cron.ts","../../src/crons/CronBuilder.ts","../../src/crons/index.ts"],"sourcesContent":["import type { AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nexport class Cron<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends Function<\n\tTInput,\n\tTServices,\n\tTLogger,\n\tOutSchema,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName,\n\tAuditableAction<string, unknown>,\n\tFunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>\n> {\n\tstatic isCron(obj: any): obj is Cron<any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\t(obj as Function).__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Cron,\n\t\t);\n\t}\n\n\tconstructor(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t\ttimeout?: number,\n\t\tprotected _schedule?: ScheduleExpression,\n\t\tinput?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger?: TLogger,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: any[] = [],\n\t\tmemorySize?: number,\n\t\tdatabaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\tfn,\n\t\t\ttimeout,\n\t\t\tConstructType.Cron,\n\t\t\tinput,\n\t\t\toutputSchema,\n\t\t\tservices,\n\t\t\tlogger,\n\t\t\tpublisherService,\n\t\t\tevents,\n\t\t\tmemorySize,\n\t\t\tundefined, // auditorStorageService\n\t\t\tdatabaseService,\n\t\t);\n\t}\n\n\tget schedule(): ScheduleExpression | undefined {\n\t\treturn this._schedule;\n\t}\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronHour =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronDay =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronMonth =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'JAN'\n\t| 'FEB'\n\t| 'MAR'\n\t| 'APR'\n\t| 'MAY'\n\t| 'JUN'\n\t| 'JUL'\n\t| 'AUG'\n\t| 'SEP'\n\t| 'OCT'\n\t| 'NOV'\n\t| 'DEC'\n\t| string; // Allow more complex patterns\n\ntype CronWeekday =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'SUN'\n\t| 'MON'\n\t| 'TUE'\n\t| 'WED'\n\t| 'THU'\n\t| 'FRI'\n\t| 'SAT'\n\t| `${string}-${string}` // Allow patterns like MON-FRI\n\t| string; // Allow more complex patterns\n\nexport type CronExpression =\n\t`cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n","import type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { FunctionBuilder, type FunctionHandler } from '../functions';\nimport { Cron, type ScheduleExpression } from './Cron';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class CronBuilder<\n\tTInput extends ComposableStandardSchema,\n\tTServices extends Service[],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends FunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprivate _schedule?: ScheduleExpression;\n\n\tconstructor() {\n\t\tsuper(ConstructType.Cron);\n\t}\n\n\toverride memorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\tschedule(\n\t\t_expression: ScheduleExpression,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._schedule = _expression;\n\t\treturn this;\n\t}\n\n\toverride input<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.inputSchema = schema as unknown as TInput;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride output<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride services<T extends Service[]>(\n\t\tservices: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride logger<T extends Logger>(\n\t\tlogger: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this cron job.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\toverride handle(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t): Cron<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst cron = new Cron(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis._schedule,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._databaseService,\n\t\t);\n\n\t\t// Reset builder state after creating the cron to prevent pollution\n\t\tthis._services = [] as Service[] as TServices;\n\t\tthis._logger = DEFAULT_LOGGER;\n\t\tthis._events = [];\n\t\tthis._publisher = undefined;\n\t\tthis._databaseService = undefined;\n\t\tthis._schedule = undefined;\n\t\tthis.inputSchema = undefined;\n\t\tthis.outputSchema = undefined;\n\t\tthis._timeout = undefined;\n\t\tthis._memorySize = undefined;\n\n\t\treturn cron;\n\t}\n}\n","export { AWSScheduledFunction } from './AWSScheduledFunction';\nexport {\n\tCron,\n\ttype CronExpression,\n\ttype RateExpression,\n\ttype ScheduleExpression,\n} from './Cron';\nexport { CronBuilder } from './CronBuilder';\n\nimport { CronBuilder } from './CronBuilder';\n\nexport const c = new CronBuilder();\n"],"mappings":";;;;;;;;AAUA,IAAa,OAAb,cASU,SAaR;CACD,OAAO,OAAOA,KAA2C;AACxD,SAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAAS,cAAc,KAC5B;CACD;CAED,YACCC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBACC;AACD,QACC,IACA,SACA,cAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,gBACA;EAvBS;CAwBV;CAED,IAAI,WAA2C;AAC9C,SAAO,KAAK;CACZ;AACD;;;;;AC9DD,MAAMC,mBAAiB,IAAI;AAE3B,IAAa,cAAb,cASU,gBAWR;CACD,AAAQ;CAER,cAAc;AACb,QAAM,cAAc,KAAK;CACzB;CAED,AAAS,WAAWC,YAA0B;AAC7C,OAAK,cAAc;AACnB,SAAO;CACP;CAED,SACCC,aAUC;AACD,OAAK,YAAY;AACjB,SAAO;CACP;CAED,AAAS,MACRC,QAUC;AACD,OAAK,cAAc;AAEnB,SAAO;CAUP;CAED,AAAS,OACRA,QAUC;AACD,OAAK,eAAe;AAEpB,SAAO;CAUP;CAED,AAAS,SACRC,UAUC;AACD,OAAK,YAAY,2BAChB,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT;AAED,SAAO;CAUP;CAED,AAAS,OACRC,QAUC;AACD,OAAK,UAAU;AAEf,SAAO;CAUP;CAED,AAAS,UACRC,WAUC;AACD,OAAK,aAAa;AAKlB,SAAO;CAUP;;;;;CAMD,AAAS,SACRC,SAUC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAUP;CAED,AAAS,OACRC,IAUC;EACD,MAAM,OAAO,IAAI,KAChB,IACA,KAAK,UACL,KAAK,WACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK;AAIN,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUR;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACP;AACD;;;;ACnQD,MAAa,IAAI,IAAI"}
@@ -1,7 +1,9 @@
1
1
  const require_chunk = require('../chunk-DWy1uDak.cjs');
2
2
  const require_Construct = require('../Construct-DXfLPGwg.cjs');
3
- const require_lazyAccessors = require('../lazyAccessors-zNy6P6Cg.cjs');
4
- const require_functions = require('../functions-CX21wstW.cjs');
3
+ const require_functions = require('../functions-_OAiwGYh.cjs');
4
+ const require_publisher = require('../publisher-BZgcrVPy.cjs');
5
+ require('../lodash-CM4k4sZD.cjs');
6
+ const require_lazyAccessors = require('../lazyAccessors-B4rtX68K.cjs');
5
7
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
6
8
 
7
9
  //#region src/endpoints/Authorizer.ts
@@ -750,5 +752,5 @@ exports.createNoopHeaders = require_lazyAccessors.createNoopHeaders;
750
752
  exports.e = e;
751
753
  exports.getSecurityScheme = getSecurityScheme;
752
754
  exports.isBuiltInSecurityScheme = isBuiltInSecurityScheme;
753
- exports.publishConstructEvents = require_lazyAccessors.publishConstructEvents;
755
+ exports.publishConstructEvents = require_publisher.publishConstructEvents;
754
756
  //# sourceMappingURL=index.cjs.map