@geekmidas/constructs 7.0.1 → 9.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.
- package/CHANGELOG.md +71 -0
- package/dist/{AWSScheduledFunction-CTIa90EH.d.cts → AWSScheduledFunction-BHHlWlfV.d.cts} +2 -2
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts.map → AWSScheduledFunction-BHHlWlfV.d.cts.map} +1 -1
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts → AWSScheduledFunction-BzGCUbkk.d.mts} +2 -2
- package/dist/{AWSScheduledFunction-CTIa90EH.d.cts.map → AWSScheduledFunction-BzGCUbkk.d.mts.map} +1 -1
- package/dist/{AWSScheduledFunction-DbkDr8CA.cjs → AWSScheduledFunction-C42adp8A.cjs} +16 -5
- package/dist/AWSScheduledFunction-C42adp8A.cjs.map +1 -0
- package/dist/{AWSScheduledFunction-CufMMhGB.mjs → AWSScheduledFunction-KP6lqbsW.mjs} +15 -4
- package/dist/AWSScheduledFunction-KP6lqbsW.mjs.map +1 -0
- package/dist/{Construct-r0U2zBwW.mjs → Construct-BWF5HxaM.mjs} +5 -2
- package/dist/Construct-BWF5HxaM.mjs.map +1 -0
- package/dist/{Construct-_1wX7p_Y.d.cts → Construct-JlyQkBkv.d.cts} +39 -4
- package/dist/Construct-JlyQkBkv.d.cts.map +1 -0
- package/dist/{Construct-vXMZJgRp.cjs → Construct-TGIM_E4o.cjs} +5 -2
- package/dist/Construct-TGIM_E4o.cjs.map +1 -0
- package/dist/{Construct-DCMuYOox.d.mts → Construct-pxwC6fDD.d.mts} +39 -4
- package/dist/Construct-pxwC6fDD.d.mts.map +1 -0
- package/dist/{Endpoint-CLPSIl6S.d.mts → Endpoint-B0P_pEMr.d.mts} +3 -3
- package/dist/{Endpoint-CLPSIl6S.d.mts.map → Endpoint-B0P_pEMr.d.mts.map} +1 -1
- package/dist/{Endpoint-CAzNbDEt.d.cts → Endpoint-Cwjhc1Hl.d.cts} +2 -2
- package/dist/Endpoint-Cwjhc1Hl.d.cts.map +1 -0
- package/dist/{HonoEndpointAdaptor-DJDT3PMx.mjs → HonoEndpointAdaptor-BMVwx2cz.mjs} +18 -11
- package/dist/HonoEndpointAdaptor-BMVwx2cz.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-CkJENANP.cjs → HonoEndpointAdaptor-DPDsDi-D.cjs} +19 -12
- package/dist/HonoEndpointAdaptor-DPDsDi-D.cjs.map +1 -0
- package/dist/{Queue-HBDf0fqz.d.mts → Queue-BL68oDJ-.d.mts} +2 -2
- package/dist/{Queue-DaxjwmOQ.d.cts.map → Queue-BL68oDJ-.d.mts.map} +1 -1
- package/dist/{Queue-DaxjwmOQ.d.cts → Queue-DxJ6btRE.d.cts} +2 -2
- package/dist/{Queue-HBDf0fqz.d.mts.map → Queue-DxJ6btRE.d.cts.map} +1 -1
- package/dist/{Subscriber-B69ngPwl.d.cts → Subscriber-BpVhcGhX.d.cts} +2 -2
- package/dist/{Subscriber-B69ngPwl.d.cts.map → Subscriber-BpVhcGhX.d.cts.map} +1 -1
- package/dist/{Subscriber-D8Xm-86W.d.mts → Subscriber-DF6xsBAJ.d.mts} +2 -2
- package/dist/{Subscriber-D8Xm-86W.d.mts.map → Subscriber-DF6xsBAJ.d.mts.map} +1 -1
- package/dist/{Topic-DT10AqHk.d.mts → Topic-DJXoDeMP.d.cts} +3 -3
- package/dist/{Topic-C5ZMfveW.d.cts.map → Topic-DJXoDeMP.d.cts.map} +1 -1
- package/dist/{Topic-C5ZMfveW.d.cts → Topic-DxWQBgMN.d.mts} +3 -3
- package/dist/{Topic-DT10AqHk.d.mts.map → Topic-DxWQBgMN.d.mts.map} +1 -1
- package/dist/adaptors/aws.cjs +14 -7
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +6 -6
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +8 -8
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +14 -7
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +7 -6
- package/dist/adaptors/hono.d.cts +3 -3
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +4 -4
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +7 -6
- package/dist/adaptors/testing.cjs +161 -126
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +7 -5
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +8 -6
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +162 -127
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/clone-I_WIpiFf.cjs +45 -0
- package/dist/clone-I_WIpiFf.cjs.map +1 -0
- package/dist/clone-pdXxc0t3.mjs +39 -0
- package/dist/clone-pdXxc0t3.mjs.map +1 -0
- package/dist/crons/index.cjs +14 -32
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +7 -7
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +3 -3
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +14 -32
- package/dist/crons/index.mjs.map +1 -1
- package/dist/endpoints/index.cjs +74 -61
- package/dist/endpoints/index.cjs.map +1 -1
- package/dist/endpoints/index.d.cts +14 -6
- package/dist/endpoints/index.d.cts.map +1 -1
- package/dist/endpoints/index.d.mts +13 -5
- package/dist/endpoints/index.d.mts.map +1 -1
- package/dist/endpoints/index.mjs +74 -61
- package/dist/endpoints/index.mjs.map +1 -1
- package/dist/functions/index.cjs +3 -2
- package/dist/functions/index.d.cts +2 -2
- package/dist/functions/index.d.mts +2 -2
- package/dist/functions/index.mjs +3 -2
- package/dist/{functions-B-qt91O7.mjs → functions-EqTloHjo.mjs} +107 -46
- package/dist/functions-EqTloHjo.mjs.map +1 -0
- package/dist/{functions-C8i1kCMM.cjs → functions-SqtCDc9c.cjs} +118 -45
- package/dist/functions-SqtCDc9c.cjs.map +1 -0
- package/dist/{index-DP6fqv0I.d.mts → index-C7iynzLI.d.mts} +8 -2
- package/dist/index-C7iynzLI.d.mts.map +1 -0
- package/dist/{index-BGeTScmi.d.cts → index-DdgJRm4q.d.cts} +12 -6
- package/dist/index-DdgJRm4q.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +4 -4
- package/dist/index.mjs +1 -1
- package/dist/{lazyAccessors-DfqZR6C4.mjs → lazyAccessors-CCTK19xj.mjs} +3 -3
- package/dist/{lazyAccessors-DfqZR6C4.mjs.map → lazyAccessors-CCTK19xj.mjs.map} +1 -1
- package/dist/{lazyAccessors-DmTG8sQH.cjs → lazyAccessors-D04oftGw.cjs} +3 -3
- package/dist/{lazyAccessors-DmTG8sQH.cjs.map → lazyAccessors-D04oftGw.cjs.map} +1 -1
- package/dist/monitors/index.cjs +49 -0
- package/dist/monitors/index.cjs.map +1 -0
- package/dist/monitors/index.d.cts +45 -0
- package/dist/monitors/index.d.cts.map +1 -0
- package/dist/monitors/index.d.mts +45 -0
- package/dist/monitors/index.d.mts.map +1 -0
- package/dist/monitors/index.mjs +48 -0
- package/dist/monitors/index.mjs.map +1 -0
- package/dist/{processAudits-CKjjivyz.cjs → processAudits-BJZT5gmy.cjs} +2 -2
- package/dist/{processAudits-CKjjivyz.cjs.map → processAudits-BJZT5gmy.cjs.map} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs → processAudits-CwyaaSQc.mjs} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs.map → processAudits-CwyaaSQc.mjs.map} +1 -1
- package/dist/{publisher-lFQleddL.cjs → publisher-BZgcrVPy.cjs} +1 -1
- package/dist/{publisher-lFQleddL.cjs.map → publisher-BZgcrVPy.cjs.map} +1 -1
- package/dist/{publisher-BrFOF847.mjs → publisher-CnpeMv-r.mjs} +1 -1
- package/dist/{publisher-BrFOF847.mjs.map → publisher-CnpeMv-r.mjs.map} +1 -1
- package/dist/queue/index.cjs +9 -22
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.d.cts +4 -4
- package/dist/queue/index.d.cts.map +1 -1
- package/dist/queue/index.d.mts +2 -2
- package/dist/queue/index.d.mts.map +1 -1
- package/dist/queue/index.mjs +9 -22
- package/dist/queue/index.mjs.map +1 -1
- package/dist/subscribers/index.cjs +9 -22
- package/dist/subscribers/index.cjs.map +1 -1
- package/dist/subscribers/index.d.cts +5 -5
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +3 -3
- package/dist/subscribers/index.d.mts.map +1 -1
- package/dist/subscribers/index.mjs +9 -22
- package/dist/subscribers/index.mjs.map +1 -1
- package/dist/{telemetry-3vdxGn4q.d.mts → telemetry-C--EgYVr.d.mts} +1 -1
- package/dist/{telemetry-3vdxGn4q.d.mts.map → telemetry-C--EgYVr.d.mts.map} +1 -1
- package/dist/topic/index.cjs +4 -7
- package/dist/topic/index.cjs.map +1 -1
- package/dist/topic/index.d.cts +2 -2
- package/dist/topic/index.d.cts.map +1 -1
- package/dist/topic/index.d.mts +2 -2
- package/dist/topic/index.d.mts.map +1 -1
- package/dist/topic/index.mjs +4 -7
- package/dist/topic/index.mjs.map +1 -1
- package/dist/{types-BDNGr7pv.d.mts → types-DNngH0fX.d.mts} +1 -1
- package/dist/{types-BDNGr7pv.d.mts.map → types-DNngH0fX.d.mts.map} +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +32 -22
- package/src/Construct.ts +5 -0
- package/src/__tests__/builder-reuse.spec.ts +587 -0
- package/src/__tests__/monitor.spec.ts +636 -0
- package/src/clone.ts +38 -0
- package/src/crons/CronBuilder.ts +35 -45
- package/src/crons/__tests__/Cron.spec.ts +10 -2
- package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +64 -18
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +23 -2
- package/src/endpoints/EndpointBuilder.ts +61 -70
- package/src/endpoints/EndpointFactory.ts +31 -0
- package/src/endpoints/HonoEndpointAdaptor.ts +16 -1
- package/src/endpoints/TestEndpointAdaptor.ts +194 -150
- package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +6 -3
- package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +4 -1
- package/src/endpoints/__tests__/EndpointBuilder.spec.ts +16 -8
- package/src/functions/AWSLambdaFunction.ts +28 -2
- package/src/functions/BaseFunctionBuilder.ts +33 -22
- package/src/functions/FunctionBuilder.ts +41 -51
- package/src/functions/TestFunctionAdaptor.ts +66 -31
- package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +55 -12
- package/src/index.ts +6 -0
- package/src/monitor.ts +145 -0
- package/src/monitors/heartbeat.ts +86 -0
- package/src/monitors/index.ts +6 -0
- package/src/queue/QueueBuilder.ts +22 -22
- package/src/subscribers/SubscriberBuilder.ts +19 -22
- package/src/topic/TopicBuilder.ts +9 -7
- package/tsdown.config.ts +1 -0
- package/dist/AWSScheduledFunction-CufMMhGB.mjs.map +0 -1
- package/dist/AWSScheduledFunction-DbkDr8CA.cjs.map +0 -1
- package/dist/Construct-DCMuYOox.d.mts.map +0 -1
- package/dist/Construct-_1wX7p_Y.d.cts.map +0 -1
- package/dist/Construct-r0U2zBwW.mjs.map +0 -1
- package/dist/Construct-vXMZJgRp.cjs.map +0 -1
- package/dist/Endpoint-CAzNbDEt.d.cts.map +0 -1
- package/dist/HonoEndpointAdaptor-CkJENANP.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-DJDT3PMx.mjs.map +0 -1
- package/dist/functions-B-qt91O7.mjs.map +0 -1
- package/dist/functions-C8i1kCMM.cjs.map +0 -1
- package/dist/index-BGeTScmi.d.cts.map +0 -1
- package/dist/index-DP6fqv0I.d.mts.map +0 -1
|
@@ -1,8 +1,85 @@
|
|
|
1
|
-
const require_Construct = require('./Construct-
|
|
1
|
+
const require_Construct = require('./Construct-TGIM_E4o.cjs');
|
|
2
|
+
const require_clone = require('./clone-I_WIpiFf.cjs');
|
|
2
3
|
const __geekmidas_errors = require_Construct.__toESM(require("@geekmidas/errors"));
|
|
3
4
|
const __geekmidas_logger_console = require_Construct.__toESM(require("@geekmidas/logger/console"));
|
|
4
5
|
const __geekmidas_schema_parser = require_Construct.__toESM(require("@geekmidas/schema/parser"));
|
|
5
6
|
|
|
7
|
+
//#region src/monitor.ts
|
|
8
|
+
/**
|
|
9
|
+
* Add a monitor to a construct's list, refusing one that is already there.
|
|
10
|
+
*
|
|
11
|
+
* Services are cached by name, so two monitors with one name would silently
|
|
12
|
+
* share an instance: two heartbeats reading `HEARTBEAT_URL` would both ping
|
|
13
|
+
* whichever was registered first, and the other provider would never hear
|
|
14
|
+
* from the construct.
|
|
15
|
+
*/
|
|
16
|
+
function addMonitor(monitors, monitor) {
|
|
17
|
+
if (monitors.some((m) => m.serviceName === monitor.serviceName)) throw new Error(`Monitor "${monitor.serviceName}" is already set on this construct. Two heartbeats reading the same env var would share one URL; give one its own, e.g. heartbeat.healthchecks('HEALTHCHECKS_HEARTBEAT_URL').`);
|
|
18
|
+
return [...monitors, monitor];
|
|
19
|
+
}
|
|
20
|
+
const NOOP_RUN = {
|
|
21
|
+
async success() {},
|
|
22
|
+
async failure() {},
|
|
23
|
+
async settle() {}
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Start a construct's monitors for one run.
|
|
27
|
+
*
|
|
28
|
+
* Never throws: a monitor that fails to register, start or report is logged,
|
|
29
|
+
* and the run goes on without it.
|
|
30
|
+
*/
|
|
31
|
+
async function startMonitors(construct, serviceDiscovery, logger) {
|
|
32
|
+
if (!construct.monitors.length) return NOOP_RUN;
|
|
33
|
+
const ctx = {
|
|
34
|
+
type: construct.type,
|
|
35
|
+
logger
|
|
36
|
+
};
|
|
37
|
+
let started;
|
|
38
|
+
try {
|
|
39
|
+
const registered = await serviceDiscovery.register([...construct.monitors]);
|
|
40
|
+
started = await Promise.all(construct.monitors.map(async ({ serviceName }) => {
|
|
41
|
+
const monitor = registered[serviceName];
|
|
42
|
+
let run$1;
|
|
43
|
+
try {
|
|
44
|
+
run$1 = await monitor.start?.(ctx);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
logger.warn({
|
|
47
|
+
error,
|
|
48
|
+
monitor: serviceName
|
|
49
|
+
}, "Monitor failed to start");
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
monitor,
|
|
53
|
+
run: run$1
|
|
54
|
+
};
|
|
55
|
+
}));
|
|
56
|
+
} catch (error) {
|
|
57
|
+
logger.warn({ error }, "Monitors could not be registered");
|
|
58
|
+
return NOOP_RUN;
|
|
59
|
+
}
|
|
60
|
+
const report = async (call) => {
|
|
61
|
+
const results = await Promise.allSettled(started.map(({ monitor, run: run$1 }) => call(monitor, run$1)));
|
|
62
|
+
for (const result of results) if (result.status === "rejected") logger.warn({ error: result.reason }, "Monitor failed to report");
|
|
63
|
+
};
|
|
64
|
+
const run = {
|
|
65
|
+
success: (output, status) => report((monitor, r) => monitor.success({
|
|
66
|
+
...ctx,
|
|
67
|
+
run: r,
|
|
68
|
+
output,
|
|
69
|
+
status
|
|
70
|
+
})),
|
|
71
|
+
failure: (error, status) => report((monitor, r) => monitor.failure({
|
|
72
|
+
...ctx,
|
|
73
|
+
run: r,
|
|
74
|
+
error,
|
|
75
|
+
status
|
|
76
|
+
})),
|
|
77
|
+
settle: (status, error) => status >= 500 ? run.failure(error ?? new Error(`Responded with ${status}`), status) : run.success(void 0, status)
|
|
78
|
+
};
|
|
79
|
+
return run;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
6
83
|
//#region ../../node_modules/.pnpm/lodash.uniqby@4.7.0/node_modules/lodash.uniqby/index.js
|
|
7
84
|
var require_lodash$1 = require_Construct.__commonJS({ "../../node_modules/.pnpm/lodash.uniqby@4.7.0/node_modules/lodash.uniqby/index.js"(exports, module) {
|
|
8
85
|
/**
|
|
@@ -2668,17 +2745,18 @@ var require_lodash = require_Construct.__commonJS({ "../../node_modules/.pnpm/lo
|
|
|
2668
2745
|
//#endregion
|
|
2669
2746
|
//#region src/functions/BaseFunctionBuilder.ts
|
|
2670
2747
|
var import_lodash$2 = require_Construct.__toESM(require_lodash(), 1);
|
|
2671
|
-
const DEFAULT_LOGGER$
|
|
2748
|
+
const DEFAULT_LOGGER$1 = new __geekmidas_logger_console.ConsoleLogger();
|
|
2672
2749
|
var BaseFunctionBuilder = class BaseFunctionBuilder {
|
|
2673
2750
|
inputSchema;
|
|
2674
2751
|
outputSchema;
|
|
2675
2752
|
_timeout;
|
|
2676
2753
|
_services = [];
|
|
2677
|
-
_logger = DEFAULT_LOGGER$
|
|
2754
|
+
_logger = DEFAULT_LOGGER$1;
|
|
2678
2755
|
_events = [];
|
|
2679
2756
|
_publisher;
|
|
2680
2757
|
_auditorStorage;
|
|
2681
2758
|
_databaseService;
|
|
2759
|
+
_monitors = [];
|
|
2682
2760
|
static isStandardSchemaV1(s) {
|
|
2683
2761
|
const schema = s["~standard"];
|
|
2684
2762
|
return schema && typeof schema.validate === "function";
|
|
@@ -2705,35 +2783,37 @@ var BaseFunctionBuilder = class BaseFunctionBuilder {
|
|
|
2705
2783
|
this.type = type;
|
|
2706
2784
|
}
|
|
2707
2785
|
timeout(timeout) {
|
|
2708
|
-
this
|
|
2709
|
-
|
|
2786
|
+
return require_clone.cloneWith(this, { _timeout: timeout });
|
|
2787
|
+
}
|
|
2788
|
+
/**
|
|
2789
|
+
* Report each run to a monitor — a heartbeat, an uptime check, an error
|
|
2790
|
+
* tracker. Can be called more than once; every monitor is told.
|
|
2791
|
+
*/
|
|
2792
|
+
monitor(monitor) {
|
|
2793
|
+
return require_clone.cloneWith(this, { _monitors: addMonitor(this._monitors, monitor) });
|
|
2710
2794
|
}
|
|
2711
2795
|
event(event) {
|
|
2712
|
-
this._events
|
|
2713
|
-
return this;
|
|
2796
|
+
return require_clone.cloneWith(this, { _events: [...this._events, event] });
|
|
2714
2797
|
}
|
|
2715
2798
|
publisher(publisher) {
|
|
2716
|
-
this
|
|
2717
|
-
return this;
|
|
2799
|
+
return require_clone.cloneWith(this, { _publisher: publisher });
|
|
2718
2800
|
}
|
|
2719
2801
|
auditor(storage) {
|
|
2720
|
-
this
|
|
2721
|
-
return this;
|
|
2802
|
+
return require_clone.cloneWith(this, { _auditorStorage: storage });
|
|
2722
2803
|
}
|
|
2723
2804
|
/**
|
|
2724
2805
|
* Set the database service for this function.
|
|
2725
2806
|
* The database will be available in the handler context as `db`.
|
|
2726
2807
|
*/
|
|
2727
2808
|
database(service) {
|
|
2728
|
-
this
|
|
2729
|
-
return this;
|
|
2809
|
+
return require_clone.cloneWith(this, { _databaseService: service });
|
|
2730
2810
|
}
|
|
2731
2811
|
};
|
|
2732
2812
|
|
|
2733
2813
|
//#endregion
|
|
2734
2814
|
//#region src/functions/Function.ts
|
|
2735
2815
|
var import_lodash$1 = require_Construct.__toESM(require_lodash$1(), 1);
|
|
2736
|
-
const DEFAULT_LOGGER
|
|
2816
|
+
const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
|
|
2737
2817
|
var Function$1 = class Function$1 extends require_Construct.Construct {
|
|
2738
2818
|
__IS_FUNCTION__ = true;
|
|
2739
2819
|
static isFunction(obj) {
|
|
@@ -2774,7 +2854,7 @@ var Function$1 = class Function$1 extends require_Construct.Construct {
|
|
|
2774
2854
|
async parseOutput(output) {
|
|
2775
2855
|
return Function$1.parseSchema(this.outputSchema, output);
|
|
2776
2856
|
}
|
|
2777
|
-
constructor(fn, timeout = 3e4, type = require_Construct.ConstructType.Function, input, outputSchema, services = [], logger = DEFAULT_LOGGER
|
|
2857
|
+
constructor(fn, timeout = 3e4, type = require_Construct.ConstructType.Function, input, outputSchema, services = [], logger = DEFAULT_LOGGER, publisherService, events = [], memorySize, auditorStorageService, databaseService) {
|
|
2778
2858
|
super(type, logger, services, events, publisherService, outputSchema, timeout, memorySize, auditorStorageService);
|
|
2779
2859
|
this.fn = fn;
|
|
2780
2860
|
this.input = input;
|
|
@@ -2785,7 +2865,6 @@ var Function$1 = class Function$1 extends require_Construct.Construct {
|
|
|
2785
2865
|
//#endregion
|
|
2786
2866
|
//#region src/functions/FunctionBuilder.ts
|
|
2787
2867
|
var import_lodash = require_Construct.__toESM(require_lodash$1(), 1);
|
|
2788
|
-
const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
|
|
2789
2868
|
var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
2790
2869
|
_memorySize;
|
|
2791
2870
|
constructor(type = require_Construct.ConstructType.Function) {
|
|
@@ -2793,36 +2872,28 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
|
2793
2872
|
this.type = type;
|
|
2794
2873
|
}
|
|
2795
2874
|
timeout(timeout) {
|
|
2796
|
-
this
|
|
2797
|
-
return this;
|
|
2875
|
+
return require_clone.cloneWith(this, { _timeout: timeout });
|
|
2798
2876
|
}
|
|
2799
2877
|
memorySize(memorySize) {
|
|
2800
|
-
this
|
|
2801
|
-
return this;
|
|
2878
|
+
return require_clone.cloneWith(this, { _memorySize: memorySize });
|
|
2802
2879
|
}
|
|
2803
2880
|
output(schema) {
|
|
2804
|
-
this
|
|
2805
|
-
return this;
|
|
2881
|
+
return require_clone.cloneWith(this, { outputSchema: schema });
|
|
2806
2882
|
}
|
|
2807
2883
|
input(schema) {
|
|
2808
|
-
this
|
|
2809
|
-
return this;
|
|
2884
|
+
return require_clone.cloneWith(this, { inputSchema: schema });
|
|
2810
2885
|
}
|
|
2811
2886
|
services(services) {
|
|
2812
|
-
this
|
|
2813
|
-
return this;
|
|
2887
|
+
return require_clone.cloneWith(this, { _services: (0, import_lodash.default)([...this._services, ...services], (s) => s.serviceName) });
|
|
2814
2888
|
}
|
|
2815
2889
|
logger(logger) {
|
|
2816
|
-
this
|
|
2817
|
-
return this;
|
|
2890
|
+
return require_clone.cloneWith(this, { _logger: logger });
|
|
2818
2891
|
}
|
|
2819
2892
|
publisher(publisher) {
|
|
2820
|
-
this
|
|
2821
|
-
return this;
|
|
2893
|
+
return require_clone.cloneWith(this, { _publisher: publisher });
|
|
2822
2894
|
}
|
|
2823
2895
|
auditor(storage) {
|
|
2824
|
-
this
|
|
2825
|
-
return this;
|
|
2896
|
+
return require_clone.cloneWith(this, { _auditorStorage: storage });
|
|
2826
2897
|
}
|
|
2827
2898
|
/**
|
|
2828
2899
|
* Set the audit action types for this function.
|
|
@@ -2836,21 +2907,11 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
|
2836
2907
|
* The database will be available in the handler context as `db`.
|
|
2837
2908
|
*/
|
|
2838
2909
|
database(service) {
|
|
2839
|
-
this
|
|
2840
|
-
return this;
|
|
2910
|
+
return require_clone.cloneWith(this, { _databaseService: service });
|
|
2841
2911
|
}
|
|
2842
2912
|
handle(fn) {
|
|
2843
2913
|
const func = new Function$1(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._auditorStorage, this._databaseService);
|
|
2844
|
-
|
|
2845
|
-
this._logger = DEFAULT_LOGGER;
|
|
2846
|
-
this._events = [];
|
|
2847
|
-
this._publisher = void 0;
|
|
2848
|
-
this._auditorStorage = void 0;
|
|
2849
|
-
this._databaseService = void 0;
|
|
2850
|
-
this.inputSchema = void 0;
|
|
2851
|
-
this.outputSchema = void 0;
|
|
2852
|
-
this._timeout = void 0;
|
|
2853
|
-
this._memorySize = void 0;
|
|
2914
|
+
func.monitors = this._monitors;
|
|
2854
2915
|
return func;
|
|
2855
2916
|
}
|
|
2856
2917
|
};
|
|
@@ -2878,6 +2939,12 @@ Object.defineProperty(exports, 'FunctionBuilder', {
|
|
|
2878
2939
|
return FunctionBuilder;
|
|
2879
2940
|
}
|
|
2880
2941
|
});
|
|
2942
|
+
Object.defineProperty(exports, 'addMonitor', {
|
|
2943
|
+
enumerable: true,
|
|
2944
|
+
get: function () {
|
|
2945
|
+
return addMonitor;
|
|
2946
|
+
}
|
|
2947
|
+
});
|
|
2881
2948
|
Object.defineProperty(exports, 'f', {
|
|
2882
2949
|
enumerable: true,
|
|
2883
2950
|
get: function () {
|
|
@@ -2890,4 +2957,10 @@ Object.defineProperty(exports, 'require_lodash', {
|
|
|
2890
2957
|
return require_lodash$1;
|
|
2891
2958
|
}
|
|
2892
2959
|
});
|
|
2893
|
-
|
|
2960
|
+
Object.defineProperty(exports, 'startMonitors', {
|
|
2961
|
+
enumerable: true,
|
|
2962
|
+
get: function () {
|
|
2963
|
+
return startMonitors;
|
|
2964
|
+
}
|
|
2965
|
+
});
|
|
2966
|
+
//# sourceMappingURL=functions-SqtCDc9c.cjs.map
|