@bluelibs/runner 3.2.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +482 -34
- package/dist/cli/extract-docs.d.ts +2 -0
- package/dist/cli/extract-docs.js +88 -0
- package/dist/cli/extract-docs.js.map +1 -0
- package/dist/define.d.ts +21 -1
- package/dist/define.js +95 -23
- package/dist/define.js.map +1 -1
- package/dist/defs/core.d.ts +144 -0
- package/dist/defs/core.js +6 -0
- package/dist/defs/core.js.map +1 -0
- package/dist/defs/symbols.d.ts +42 -0
- package/dist/defs/symbols.js +45 -0
- package/dist/defs/symbols.js.map +1 -0
- package/dist/defs/tags.d.ts +70 -0
- package/dist/defs/tags.js +6 -0
- package/dist/defs/tags.js.map +1 -0
- package/dist/defs.d.ts +168 -16
- package/dist/defs.js +41 -14
- package/dist/defs.js.map +1 -1
- package/dist/docs/introspect.d.ts +7 -0
- package/dist/docs/introspect.js +199 -0
- package/dist/docs/introspect.js.map +1 -0
- package/dist/docs/markdown.d.ts +2 -0
- package/dist/docs/markdown.js +148 -0
- package/dist/docs/markdown.js.map +1 -0
- package/dist/docs/model.d.ts +62 -0
- package/dist/docs/model.js +33 -0
- package/dist/docs/model.js.map +1 -0
- package/dist/express/docsRouter.d.ts +12 -0
- package/dist/express/docsRouter.js +54 -0
- package/dist/express/docsRouter.js.map +1 -0
- package/dist/globals/globalMiddleware.d.ts +1 -0
- package/dist/globals/globalMiddleware.js +2 -0
- package/dist/globals/globalMiddleware.js.map +1 -1
- package/dist/globals/middleware/timeout.middleware.d.ts +8 -0
- package/dist/globals/middleware/timeout.middleware.js +35 -0
- package/dist/globals/middleware/timeout.middleware.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/models/DependencyProcessor.js +2 -2
- package/dist/models/DependencyProcessor.js.map +1 -1
- package/dist/models/Store.d.ts +1 -1
- package/dist/models/StoreConstants.d.ts +1 -1
- package/dist/models/StoreConstants.js +2 -1
- package/dist/models/StoreConstants.js.map +1 -1
- package/dist/models/TaskRunner.d.ts +2 -3
- package/dist/models/TaskRunner.js +1 -2
- package/dist/models/TaskRunner.js.map +1 -1
- package/dist/testing.d.ts +24 -0
- package/dist/testing.js +41 -0
- package/dist/testing.js.map +1 -0
- package/dist/types/dependencies.d.ts +47 -18
- package/dist/types/event.d.ts +49 -0
- package/dist/types/event.js +4 -0
- package/dist/types/event.js.map +1 -0
- package/dist/types/index.d.ts +4 -10
- package/dist/types/index.js +8 -7
- package/dist/types/index.js.map +1 -1
- package/dist/types/metadata.d.ts +75 -0
- package/dist/types/metadata.js +3 -0
- package/dist/types/metadata.js.map +1 -0
- package/dist/types/middleware.d.ts +43 -18
- package/dist/types/middleware.js +0 -3
- package/dist/types/middleware.js.map +1 -1
- package/dist/types/resource.d.ts +96 -0
- package/dist/types/resource.js +3 -0
- package/dist/types/resource.js.map +1 -0
- package/dist/types/symbols.d.ts +17 -0
- package/dist/types/symbols.js +18 -3
- package/dist/types/symbols.js.map +1 -1
- package/dist/types/task.d.ts +68 -0
- package/dist/types/task.js +3 -0
- package/dist/types/task.js.map +1 -0
- package/package.json +4 -4
- package/src/__tests__/benchmark/task-benchmark.test.ts +132 -0
- package/src/__tests__/createTestResource.test.ts +139 -0
- package/src/__tests__/globals/timeout.middleware.test.ts +88 -0
- package/src/__tests__/models/EventManager.test.ts +39 -6
- package/src/__tests__/models/Semaphore.test.ts +1 -1
- package/src/__tests__/override.test.ts +104 -0
- package/src/__tests__/run.overrides.test.ts +50 -21
- package/src/__tests__/run.test.ts +19 -0
- package/src/__tests__/tags.test.ts +396 -0
- package/src/__tests__/tools/getCallerFile.test.ts +9 -11
- package/src/__tests__/typesafety.test.ts +109 -1
- package/src/define.ts +128 -24
- package/src/defs.ts +174 -22
- package/src/globals/globalMiddleware.ts +2 -0
- package/src/globals/middleware/timeout.middleware.ts +46 -0
- package/src/index.ts +6 -0
- package/src/models/DependencyProcessor.ts +2 -10
- package/src/models/StoreConstants.ts +2 -1
- package/src/models/TaskRunner.ts +1 -3
- package/src/testing.ts +66 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderMarkdown = renderMarkdown;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
function ensureDir(dir) {
|
|
7
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
8
|
+
}
|
|
9
|
+
function escapeMd(s) {
|
|
10
|
+
if (!s)
|
|
11
|
+
return "";
|
|
12
|
+
return String(s).replace(/\|/g, "\\|");
|
|
13
|
+
}
|
|
14
|
+
function kinds(nodes) {
|
|
15
|
+
return {
|
|
16
|
+
resources: nodes.filter((n) => n.kind === "resource"),
|
|
17
|
+
tasks: nodes.filter((n) => n.kind === "task"),
|
|
18
|
+
events: nodes.filter((n) => n.kind === "event"),
|
|
19
|
+
middleware: nodes.filter((n) => n.kind === "middleware"),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function slugifyId(id) {
|
|
23
|
+
return id
|
|
24
|
+
.replace(/Symbol\(([^)]*)\)/g, "$1")
|
|
25
|
+
.replace(/[^a-zA-Z0-9._-]+/g, "-")
|
|
26
|
+
.replace(/-+/g, "-")
|
|
27
|
+
.replace(/^-|-$|\.$/g, "");
|
|
28
|
+
}
|
|
29
|
+
function kindDir(kind) {
|
|
30
|
+
if (kind === "resource")
|
|
31
|
+
return "resources";
|
|
32
|
+
if (kind === "task")
|
|
33
|
+
return "tasks";
|
|
34
|
+
if (kind === "event")
|
|
35
|
+
return "events";
|
|
36
|
+
return "middleware";
|
|
37
|
+
}
|
|
38
|
+
function renderTable(nodes) {
|
|
39
|
+
if (nodes.length === 0)
|
|
40
|
+
return "_None_\n";
|
|
41
|
+
let out = "| ID | Title | Description | File | Tags |\n| --- | --- | --- | --- | --- |\n";
|
|
42
|
+
for (const n of nodes) {
|
|
43
|
+
const tags = Array.isArray(n.tags)
|
|
44
|
+
? n.tags
|
|
45
|
+
.map((t) => (typeof t === "string" ? t : t?.id ?? "[tag]"))
|
|
46
|
+
.join(", ")
|
|
47
|
+
: "";
|
|
48
|
+
const link = `${kindDir(n.kind)}/${slugifyId(n.id)}.md`;
|
|
49
|
+
out += `| [${escapeMd(n.id)}](${link}) | ${escapeMd(n.title)} | ${escapeMd(n.description)} | ${escapeMd(n.file)} | ${escapeMd(tags)} |\n`;
|
|
50
|
+
}
|
|
51
|
+
return out + "\n";
|
|
52
|
+
}
|
|
53
|
+
function renderMarkdown(graph, outDir) {
|
|
54
|
+
ensureDir(outDir);
|
|
55
|
+
ensureDir(path.join(outDir, "resources"));
|
|
56
|
+
ensureDir(path.join(outDir, "tasks"));
|
|
57
|
+
ensureDir(path.join(outDir, "events"));
|
|
58
|
+
ensureDir(path.join(outDir, "middleware"));
|
|
59
|
+
const idx = [
|
|
60
|
+
`# Project Book`,
|
|
61
|
+
``,
|
|
62
|
+
`This document was generated from your Runner definitions.`,
|
|
63
|
+
``,
|
|
64
|
+
`## Summary`,
|
|
65
|
+
`- Resources: ${graph.summary.counts.resources}`,
|
|
66
|
+
`- Tasks: ${graph.summary.counts.tasks}`,
|
|
67
|
+
`- Events: ${graph.summary.counts.events}`,
|
|
68
|
+
`- Middleware: ${graph.summary.counts.middleware}`,
|
|
69
|
+
`- Edges: ${graph.summary.counts.edges}`,
|
|
70
|
+
``,
|
|
71
|
+
`## Table of Contents`,
|
|
72
|
+
`- [Resources](#resources)`,
|
|
73
|
+
`- [Tasks](#tasks)`,
|
|
74
|
+
`- [Events](#events)`,
|
|
75
|
+
`- [Middleware](#middleware)`,
|
|
76
|
+
`- [Namespaces](#namespaces)`,
|
|
77
|
+
``,
|
|
78
|
+
];
|
|
79
|
+
const grouped = kinds(graph.nodes);
|
|
80
|
+
idx.push("## Resources\n\n" + renderTable(grouped.resources));
|
|
81
|
+
idx.push("## Tasks\n\n" + renderTable(grouped.tasks));
|
|
82
|
+
idx.push("## Events\n\n" + renderTable(grouped.events));
|
|
83
|
+
idx.push("## Middleware\n\n" + renderTable(grouped.middleware));
|
|
84
|
+
// Namespaces section
|
|
85
|
+
const byNs = new Map();
|
|
86
|
+
for (const n of graph.nodes) {
|
|
87
|
+
const ns = n.namespace || "(none)";
|
|
88
|
+
const list = byNs.get(ns) || [];
|
|
89
|
+
list.push(n);
|
|
90
|
+
byNs.set(ns, list);
|
|
91
|
+
}
|
|
92
|
+
idx.push("## Namespaces\n");
|
|
93
|
+
for (const [ns, list] of Array.from(byNs.entries()).sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
94
|
+
const counts = kinds(list);
|
|
95
|
+
idx.push(`### ${ns}\n- resources: ${counts.resources.length}\n- tasks: ${counts.tasks.length}\n- events: ${counts.events.length}\n- middleware: ${counts.middleware.length}\n`);
|
|
96
|
+
}
|
|
97
|
+
const readme = idx.join("\n");
|
|
98
|
+
fs.writeFileSync(path.join(outDir, "index.md"), readme, "utf-8");
|
|
99
|
+
fs.writeFileSync(path.join(outDir, "README.md"), readme, "utf-8");
|
|
100
|
+
// Build reverse edge index for dependents
|
|
101
|
+
const incoming = new Map();
|
|
102
|
+
for (const e of graph.edges) {
|
|
103
|
+
const list = incoming.get(e.to) || [];
|
|
104
|
+
list.push({ type: e.type, from: e.from, meta: e.meta });
|
|
105
|
+
incoming.set(e.to, list);
|
|
106
|
+
}
|
|
107
|
+
// Detail pages
|
|
108
|
+
for (const n of graph.nodes) {
|
|
109
|
+
const header = [
|
|
110
|
+
`# ${n.id}`,
|
|
111
|
+
"",
|
|
112
|
+
n.title ? `> ${n.title}` : "",
|
|
113
|
+
n.description ? `\n${n.description}\n` : "",
|
|
114
|
+
];
|
|
115
|
+
const file = n.file
|
|
116
|
+
? `- File: \
|
|
117
|
+
\`${n.file}\``
|
|
118
|
+
: "";
|
|
119
|
+
const tags = Array.isArray(n.tags)
|
|
120
|
+
? n.tags
|
|
121
|
+
.map((t) => typeof t === "string" ? `\`${t}\`` : `\`${t?.id}\``)
|
|
122
|
+
.join(" ")
|
|
123
|
+
: "";
|
|
124
|
+
const edgesOut = graph.edges.filter((e) => e.from === n.id);
|
|
125
|
+
const edgesIn = incoming.get(n.id) || [];
|
|
126
|
+
const sect = [
|
|
127
|
+
...header,
|
|
128
|
+
"",
|
|
129
|
+
file,
|
|
130
|
+
tags ? `- Tags: ${tags}` : "",
|
|
131
|
+
"",
|
|
132
|
+
"## Outgoing",
|
|
133
|
+
edgesOut.length ? "" : "_None_",
|
|
134
|
+
...edgesOut.map((e) => `- ${e.type} → \
|
|
135
|
+
\`${e.to}\`${e.meta ? ` (${JSON.stringify(e.meta)})` : ""}`),
|
|
136
|
+
"",
|
|
137
|
+
"## Incoming",
|
|
138
|
+
edgesIn.length ? "" : "_None_",
|
|
139
|
+
...edgesIn.map((e) => `- ${e.type} ← \
|
|
140
|
+
\`${e.from}\`${e.meta ? ` (${JSON.stringify(e.meta)})` : ""}`),
|
|
141
|
+
"",
|
|
142
|
+
"[Back to index](../index.md)",
|
|
143
|
+
].filter(Boolean);
|
|
144
|
+
const dir = path.join(outDir, kindDir(n.kind));
|
|
145
|
+
fs.writeFileSync(path.join(dir, `${slugifyId(n.id)}.md`), sect.join("\n"), "utf-8");
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/docs/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export type NormalizedId = string;
|
|
2
|
+
export type NodeKind = "resource" | "task" | "event" | "middleware";
|
|
3
|
+
export type BaseNode = {
|
|
4
|
+
id: NormalizedId;
|
|
5
|
+
kind: NodeKind;
|
|
6
|
+
file?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
tags?: any[];
|
|
10
|
+
namespace?: string;
|
|
11
|
+
};
|
|
12
|
+
export type ResourceNode = BaseNode & {
|
|
13
|
+
kind: "resource";
|
|
14
|
+
};
|
|
15
|
+
export type TaskNode = BaseNode & {
|
|
16
|
+
kind: "task";
|
|
17
|
+
on?: NormalizedId | "*";
|
|
18
|
+
listenerOrder?: number;
|
|
19
|
+
};
|
|
20
|
+
export type EventNode = BaseNode & {
|
|
21
|
+
kind: "event";
|
|
22
|
+
};
|
|
23
|
+
export type MiddlewareNode = BaseNode & {
|
|
24
|
+
kind: "middleware";
|
|
25
|
+
everywhere?: {
|
|
26
|
+
tasks: boolean;
|
|
27
|
+
resources: boolean;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type GraphNode = ResourceNode | TaskNode | EventNode | MiddlewareNode;
|
|
31
|
+
export type EdgeType = "registers" | "dependsOn" | "listensTo" | "middleware" | "overrideRequest" | "overrides";
|
|
32
|
+
export type GraphEdge = {
|
|
33
|
+
type: EdgeType;
|
|
34
|
+
from: NormalizedId;
|
|
35
|
+
to: NormalizedId;
|
|
36
|
+
meta?: Record<string, any>;
|
|
37
|
+
};
|
|
38
|
+
export type DocsGraph = {
|
|
39
|
+
version: 1;
|
|
40
|
+
summary: {
|
|
41
|
+
counts: {
|
|
42
|
+
resources: number;
|
|
43
|
+
tasks: number;
|
|
44
|
+
events: number;
|
|
45
|
+
middleware: number;
|
|
46
|
+
edges: number;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
nodes: GraphNode[];
|
|
50
|
+
edges: GraphEdge[];
|
|
51
|
+
packages?: {
|
|
52
|
+
name: string;
|
|
53
|
+
root?: string;
|
|
54
|
+
}[];
|
|
55
|
+
};
|
|
56
|
+
export declare function guessNamespaceFromId(id: string): string | undefined;
|
|
57
|
+
export declare function normalizeId(id: string | symbol): NormalizedId;
|
|
58
|
+
export declare function buildBaseNode(kind: NodeKind, id: string | symbol, file: string | undefined, meta: {
|
|
59
|
+
title?: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
tags?: any[];
|
|
62
|
+
} | undefined): BaseNode;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.guessNamespaceFromId = guessNamespaceFromId;
|
|
4
|
+
exports.normalizeId = normalizeId;
|
|
5
|
+
exports.buildBaseNode = buildBaseNode;
|
|
6
|
+
function guessNamespaceFromId(id) {
|
|
7
|
+
if (!id)
|
|
8
|
+
return undefined;
|
|
9
|
+
const parts = id.split(".");
|
|
10
|
+
if (parts.length < 2)
|
|
11
|
+
return parts[0] || undefined;
|
|
12
|
+
// Heuristic: first two segments, eg: "app.tasks"
|
|
13
|
+
return parts.slice(0, 2).join(".");
|
|
14
|
+
}
|
|
15
|
+
function normalizeId(id) {
|
|
16
|
+
if (typeof id === "string")
|
|
17
|
+
return id;
|
|
18
|
+
const s = id.toString?.() || String(id);
|
|
19
|
+
return s;
|
|
20
|
+
}
|
|
21
|
+
function buildBaseNode(kind, id, file, meta) {
|
|
22
|
+
const normId = normalizeId(id);
|
|
23
|
+
return {
|
|
24
|
+
id: normId,
|
|
25
|
+
kind,
|
|
26
|
+
file,
|
|
27
|
+
title: meta?.title,
|
|
28
|
+
description: meta?.description,
|
|
29
|
+
tags: meta?.tags,
|
|
30
|
+
namespace: typeof id === "string" ? guessNamespaceFromId(id) : undefined,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/docs/model.ts"],"names":[],"mappings":";;AAuEA,oDAMC;AAED,kCAIC;AAED,sCAgBC;AA9BD,SAAgB,oBAAoB,CAAC,EAAU;IAC7C,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACnD,iDAAiD;IACjD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,WAAW,CAAC,EAAmB;IAC7C,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,GAAI,EAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,aAAa,CAC3B,IAAc,EACd,EAAmB,EACnB,IAAwB,EACxB,IAAwE;IAExE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO;QACL,EAAE,EAAE,MAAM;QACV,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI,EAAE,WAAW;QAC9B,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,SAAS,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Router } from "express";
|
|
2
|
+
import type { IResource } from "../defs";
|
|
3
|
+
type DocsRouterOptions = {
|
|
4
|
+
getRoot: () => {
|
|
5
|
+
resource: IResource<any, any, any, any>;
|
|
6
|
+
config?: any;
|
|
7
|
+
};
|
|
8
|
+
includeGlobals?: boolean;
|
|
9
|
+
enabled?: boolean | (() => boolean);
|
|
10
|
+
};
|
|
11
|
+
export declare function createDocsRouter(options: DocsRouterOptions): Router;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDocsRouter = createDocsRouter;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const introspect_1 = require("../docs/introspect");
|
|
6
|
+
function createDocsRouter(options) {
|
|
7
|
+
const router = express_1.default.Router();
|
|
8
|
+
const isEnabled = () => {
|
|
9
|
+
if (typeof options.enabled === "function")
|
|
10
|
+
return options.enabled();
|
|
11
|
+
if (typeof options.enabled === "boolean")
|
|
12
|
+
return options.enabled;
|
|
13
|
+
return process.env.RUNNER_DOCS === "1";
|
|
14
|
+
};
|
|
15
|
+
router.get("/docs.json", async (req, res) => {
|
|
16
|
+
if (!isEnabled())
|
|
17
|
+
return res.status(404).end();
|
|
18
|
+
const { resource, config } = options.getRoot();
|
|
19
|
+
const graph = await (0, introspect_1.introspectResource)(resource, config ?? {}, {
|
|
20
|
+
includeGlobals: options.includeGlobals,
|
|
21
|
+
});
|
|
22
|
+
res.json(graph);
|
|
23
|
+
});
|
|
24
|
+
router.get("/docs", (req, res) => {
|
|
25
|
+
if (!isEnabled())
|
|
26
|
+
return res.status(404).end();
|
|
27
|
+
res.setHeader("content-type", "text/html");
|
|
28
|
+
res.end(`<!doctype html>
|
|
29
|
+
<html>
|
|
30
|
+
<head>
|
|
31
|
+
<meta charset="utf-8" />
|
|
32
|
+
<title>Runner Docs</title>
|
|
33
|
+
<style>
|
|
34
|
+
body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; margin: 2rem; }
|
|
35
|
+
pre { background: #f6f8fa; padding: 1rem; overflow: auto; }
|
|
36
|
+
</style>
|
|
37
|
+
</head>
|
|
38
|
+
<body>
|
|
39
|
+
<h1>Runner Docs</h1>
|
|
40
|
+
<p>This is a minimal viewer. Fetching <code>/docs.json</code> below:</p>
|
|
41
|
+
<pre id="out">Loading...</pre>
|
|
42
|
+
<script>
|
|
43
|
+
fetch('./docs.json').then(r=>r.json()).then(g=>{
|
|
44
|
+
document.getElementById('out').textContent = JSON.stringify(g, null, 2);
|
|
45
|
+
}).catch(e=>{
|
|
46
|
+
document.getElementById('out').textContent = String(e);
|
|
47
|
+
});
|
|
48
|
+
</script>
|
|
49
|
+
</body>
|
|
50
|
+
</html>`);
|
|
51
|
+
});
|
|
52
|
+
return router;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=docsRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docsRouter.js","sourceRoot":"","sources":["../../src/express/docsRouter.ts"],"names":[],"mappings":";;AAUA,4CA8CC;AAxDD,qCAA0C;AAC1C,mDAAwD;AASxD,SAAgB,gBAAgB,CAAC,OAA0B;IACzD,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAkB,EAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE;YAC7D,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;UAsBF,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -20,4 +20,5 @@ export declare const globalMiddlewares: {
|
|
|
20
20
|
cacheFactoryTask: import("../defs").ITask<any, Promise<import("./middleware/cache.middleware").ICacheInstance>, any, undefined>;
|
|
21
21
|
}, any>;
|
|
22
22
|
}>;
|
|
23
|
+
timeout: import("../defs").IMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, import("../defs").DependencyMapType>;
|
|
23
24
|
};
|
|
@@ -4,6 +4,7 @@ exports.globalMiddlewares = void 0;
|
|
|
4
4
|
const cache_middleware_1 = require("./middleware/cache.middleware");
|
|
5
5
|
const requireContext_middleware_1 = require("./middleware/requireContext.middleware");
|
|
6
6
|
const retry_middleware_1 = require("./middleware/retry.middleware");
|
|
7
|
+
const timeout_middleware_1 = require("./middleware/timeout.middleware");
|
|
7
8
|
/**
|
|
8
9
|
* Global middlewares
|
|
9
10
|
*/
|
|
@@ -11,5 +12,6 @@ exports.globalMiddlewares = {
|
|
|
11
12
|
requireContext: requireContext_middleware_1.requireContextMiddleware,
|
|
12
13
|
retry: retry_middleware_1.retryMiddleware,
|
|
13
14
|
cache: cache_middleware_1.cacheMiddleware,
|
|
15
|
+
timeout: timeout_middleware_1.timeoutMiddleware,
|
|
14
16
|
};
|
|
15
17
|
//# sourceMappingURL=globalMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalMiddleware.js","sourceRoot":"","sources":["../../src/globals/globalMiddleware.ts"],"names":[],"mappings":";;;AAEA,oEAAgE;AAChE,sFAAkF;AAClF,oEAAgE;
|
|
1
|
+
{"version":3,"file":"globalMiddleware.js","sourceRoot":"","sources":["../../src/globals/globalMiddleware.ts"],"names":[],"mappings":";;;AAEA,oEAAgE;AAChE,sFAAkF;AAClF,oEAAgE;AAChE,wEAAoE;AAEpE;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,cAAc,EAAE,oDAAwB;IACxC,KAAK,EAAE,kCAAe;IACtB,KAAK,EAAE,kCAAe;IACtB,OAAO,EAAE,sCAAiB;CAC3B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface TimeoutMiddlewareConfig {
|
|
2
|
+
/**
|
|
3
|
+
* Maximum time in milliseconds before the wrapped operation is aborted
|
|
4
|
+
* and a timeout error is thrown. Defaults to 5000ms.
|
|
5
|
+
*/
|
|
6
|
+
ttl: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const timeoutMiddleware: import("../../defs").IMiddleware<TimeoutMiddlewareConfig, import("../../defs").DependencyMapType>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.timeoutMiddleware = void 0;
|
|
4
|
+
const define_1 = require("../../define");
|
|
5
|
+
exports.timeoutMiddleware = (0, define_1.defineMiddleware)({
|
|
6
|
+
id: "globals.middleware.timeout",
|
|
7
|
+
async run({ task, resource, next }, _deps, config) {
|
|
8
|
+
const input = task ? task.input : resource?.config;
|
|
9
|
+
const ttl = Math.max(0, config.ttl);
|
|
10
|
+
const message = `Operation timed out after ${ttl}ms`;
|
|
11
|
+
// Fast-path: immediate timeout
|
|
12
|
+
if (ttl === 0) {
|
|
13
|
+
const error = new Error(message);
|
|
14
|
+
error.name = "TimeoutError";
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
const controller = new AbortController();
|
|
18
|
+
// Create a timeout promise that rejects when aborted
|
|
19
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
20
|
+
const timeoutId = setTimeout(() => {
|
|
21
|
+
controller.abort();
|
|
22
|
+
const error = new Error(message);
|
|
23
|
+
error.name = "TimeoutError";
|
|
24
|
+
reject(error);
|
|
25
|
+
}, ttl);
|
|
26
|
+
// Clean up timeout if abort signal fires for other reasons
|
|
27
|
+
controller.signal.addEventListener("abort", () => {
|
|
28
|
+
clearTimeout(timeoutId);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
// Race between the actual operation and the timeout
|
|
32
|
+
return Promise.race([next(input), timeoutPromise]);
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=timeout.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/timeout.middleware.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAUnC,QAAA,iBAAiB,GAAG,IAAA,yBAAgB,EAAC;IAChD,EAAE,EAAE,4BAA4B;IAChC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAA+B;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,6BAA6B,GAAG,IAAI,CAAC;QAErD,+BAA+B;QAC/B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,KAAa,CAAC,IAAI,GAAG,cAAc,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,qDAAqD;QACrD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,KAAa,CAAC,IAAI,GAAG,cAAc,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,2DAA2D;YAC3D,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC/C,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;CACF,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { defineTask, defineResource, defineEvent, defineMiddleware, defineIndex } from "./define";
|
|
1
|
+
import { defineTask, defineResource, defineEvent, defineMiddleware, defineIndex, defineTag, defineOverride } from "./define";
|
|
2
2
|
import { createContext } from "./context";
|
|
3
3
|
import { run } from "./run";
|
|
4
|
+
import { createTestResource } from "./testing";
|
|
4
5
|
declare const globals: {
|
|
5
6
|
events: {
|
|
6
7
|
beforeInit: import("./defs").IEvent<void>;
|
|
@@ -81,9 +82,10 @@ declare const globals: {
|
|
|
81
82
|
cacheFactoryTask: import("./defs").ITask<any, Promise<import("./defs").ICacheInstance>, any, undefined>;
|
|
82
83
|
}, any>;
|
|
83
84
|
}>;
|
|
85
|
+
timeout: import("./defs").IMiddleware<import("./globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, import("./defs").DependencyMapType>;
|
|
84
86
|
};
|
|
85
87
|
};
|
|
86
88
|
export { globals };
|
|
87
|
-
export { defineTask as task, defineResource as resource, defineEvent as event, defineMiddleware as middleware, defineIndex as index, run, createContext, };
|
|
89
|
+
export { defineTask as task, defineResource as resource, defineEvent as event, defineMiddleware as middleware, defineIndex as index, defineTag as tag, defineOverride as override, run, createContext, createTestResource, };
|
|
88
90
|
export * as definitions from "./defs";
|
|
89
91
|
export { Semaphore, Store, EventManager, TaskRunner, Queue } from "./models";
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Queue = exports.TaskRunner = exports.EventManager = exports.Store = exports.Semaphore = exports.definitions = exports.createContext = exports.run = exports.index = exports.middleware = exports.event = exports.resource = exports.task = exports.globals = void 0;
|
|
3
|
+
exports.Queue = exports.TaskRunner = exports.EventManager = exports.Store = exports.Semaphore = exports.definitions = exports.createTestResource = exports.createContext = exports.run = exports.override = exports.tag = exports.index = exports.middleware = exports.event = exports.resource = exports.task = exports.globals = void 0;
|
|
4
4
|
const define_1 = require("./define");
|
|
5
5
|
Object.defineProperty(exports, "task", { enumerable: true, get: function () { return define_1.defineTask; } });
|
|
6
6
|
Object.defineProperty(exports, "resource", { enumerable: true, get: function () { return define_1.defineResource; } });
|
|
7
7
|
Object.defineProperty(exports, "event", { enumerable: true, get: function () { return define_1.defineEvent; } });
|
|
8
8
|
Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return define_1.defineMiddleware; } });
|
|
9
9
|
Object.defineProperty(exports, "index", { enumerable: true, get: function () { return define_1.defineIndex; } });
|
|
10
|
+
Object.defineProperty(exports, "tag", { enumerable: true, get: function () { return define_1.defineTag; } });
|
|
11
|
+
Object.defineProperty(exports, "override", { enumerable: true, get: function () { return define_1.defineOverride; } });
|
|
10
12
|
const context_1 = require("./context");
|
|
11
13
|
Object.defineProperty(exports, "createContext", { enumerable: true, get: function () { return context_1.createContext; } });
|
|
12
14
|
const globalEvents_1 = require("./globals/globalEvents");
|
|
@@ -14,6 +16,8 @@ const globalResources_1 = require("./globals/globalResources");
|
|
|
14
16
|
const globalMiddleware_1 = require("./globals/globalMiddleware");
|
|
15
17
|
const run_1 = require("./run");
|
|
16
18
|
Object.defineProperty(exports, "run", { enumerable: true, get: function () { return run_1.run; } });
|
|
19
|
+
const testing_1 = require("./testing");
|
|
20
|
+
Object.defineProperty(exports, "createTestResource", { enumerable: true, get: function () { return testing_1.createTestResource; } });
|
|
17
21
|
const globals = {
|
|
18
22
|
events: globalEvents_1.globalEvents,
|
|
19
23
|
resources: globalResources_1.globalResources,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAQkB;AAgBF,qFAvBd,mBAAU,OAuBQ;AACA,yFAvBlB,uBAAc,OAuBY;AACX,sFAvBf,oBAAW,OAuBS;AACA,2FAvBpB,yBAAgB,OAuBc;AACf,sFAvBf,oBAAW,OAuBS;AACP,oFAvBb,kBAAS,OAuBO;AACE,yFAvBlB,uBAAc,OAuBY;AArB5B,uCAA0C;AAuBxC,8FAvBO,uBAAa,OAuBP;AAtBf,yDAAsD;AACtD,+DAA4D;AAC5D,iEAA+D;AAC/D,+BAA4B;AAkB1B,oFAlBO,SAAG,OAkBP;AAjBL,uCAA+C;AAmB7C,mGAnBO,4BAAkB,OAmBP;AAjBpB,MAAM,OAAO,GAAG;IACd,MAAM,EAAE,2BAAY;IACpB,SAAS,EAAE,iCAAe;IAC1B,WAAW,EAAE,oCAAiB;CAC/B,CAAC;AAEO,0BAAO;AAchB,wCAAsC;AACtC,mCAA6E;AAApE,mGAAA,SAAS,OAAA;AAAE,+FAAA,KAAK,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,+FAAA,KAAK,OAAA"}
|
|
@@ -88,7 +88,7 @@ class DependencyProcessor {
|
|
|
88
88
|
// process.exit(0);
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
-
return this.taskRunner.run(task.task, receivedEvent
|
|
91
|
+
return this.taskRunner.run(task.task, receivedEvent);
|
|
92
92
|
};
|
|
93
93
|
if (eventDefinition === "*") {
|
|
94
94
|
this.eventManager.addGlobalListener(handler, {
|
|
@@ -149,7 +149,7 @@ class DependencyProcessor {
|
|
|
149
149
|
storeTask.computedDependencies = await this.extractDependencies(dependencies, storeTask.task.id);
|
|
150
150
|
}
|
|
151
151
|
return (input) => {
|
|
152
|
-
return this.taskRunner.run(storeTask.task, input
|
|
152
|
+
return this.taskRunner.run(storeTask.task, input);
|
|
153
153
|
};
|
|
154
154
|
}
|
|
155
155
|
async extractResourceDependency(object) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyProcessor.js","sourceRoot":"","sources":["../../src/models/DependencyProcessor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DependencyProcessor.js","sourceRoot":"","sources":["../../src/models/DependencyProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Store.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export declare class Store {
|
|
|
20
20
|
get resources(): Map<string | symbol, ResourceStoreElementType>;
|
|
21
21
|
get events(): Map<string | symbol, EventStoreElementType>;
|
|
22
22
|
get middlewares(): Map<string | symbol, MiddlewareStoreElementType>;
|
|
23
|
-
get overrides(): Map<string | symbol,
|
|
23
|
+
get overrides(): Map<string | symbol, IResource<void, any, any, any> | import("../defs").ITask<any, any, {}, undefined> | IMiddleware<any, any> | import("../defs").IResourceWithConfig<any, any, any>>;
|
|
24
24
|
get overrideRequests(): Set<{
|
|
25
25
|
source: string | symbol;
|
|
26
26
|
override: RegisterableItems;
|
|
@@ -8,4 +8,4 @@ export declare function getBuiltInResources(eventManager: EventManager, store: S
|
|
|
8
8
|
}> | import("../defs").IResourceWithConfig<EventManager, EventManager, {}> | import("../defs").IResourceWithConfig<Store, Store, {}>)[];
|
|
9
9
|
export declare function getBuiltInMiddlewares(): (import("../defs").IMiddleware<{
|
|
10
10
|
context: import("../context").Context<any>;
|
|
11
|
-
}, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/retry.middleware").RetryMiddlewareConfig, import("../defs").DependencyMapType>)[];
|
|
11
|
+
}, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/retry.middleware").RetryMiddlewareConfig, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, import("../defs").DependencyMapType>)[];
|
|
@@ -5,6 +5,7 @@ exports.getBuiltInMiddlewares = getBuiltInMiddlewares;
|
|
|
5
5
|
const globalResources_1 = require("../globals/globalResources");
|
|
6
6
|
const requireContext_middleware_1 = require("../globals/middleware/requireContext.middleware");
|
|
7
7
|
const retry_middleware_1 = require("../globals/middleware/retry.middleware");
|
|
8
|
+
const timeout_middleware_1 = require("../globals/middleware/timeout.middleware");
|
|
8
9
|
function getBuiltInResources(eventManager, store) {
|
|
9
10
|
return [
|
|
10
11
|
globalResources_1.globalResources.eventManager.with(eventManager),
|
|
@@ -13,6 +14,6 @@ function getBuiltInResources(eventManager, store) {
|
|
|
13
14
|
];
|
|
14
15
|
}
|
|
15
16
|
function getBuiltInMiddlewares() {
|
|
16
|
-
return [requireContext_middleware_1.requireContextMiddleware, retry_middleware_1.retryMiddleware];
|
|
17
|
+
return [requireContext_middleware_1.requireContextMiddleware, retry_middleware_1.retryMiddleware, timeout_middleware_1.timeoutMiddleware];
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=StoreConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreConstants.js","sourceRoot":"","sources":["../../src/models/StoreConstants.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"StoreConstants.js","sourceRoot":"","sources":["../../src/models/StoreConstants.ts"],"names":[],"mappings":";;AAOA,kDAMC;AAED,sDAEC;AAjBD,gEAA6D;AAC7D,+FAA2F;AAC3F,6EAAyE;AACzE,iFAA6E;AAI7E,SAAgB,mBAAmB,CAAC,YAA0B,EAAE,KAAY;IAC1E,OAAO;QACL,iCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/C,iCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,iCAAe,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,CAAC,oDAAwB,EAAE,kCAAe,EAAE,sCAAiB,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DependencyMapType,
|
|
1
|
+
import { DependencyMapType, ITask } from "../defs";
|
|
2
2
|
import { EventManager } from "./EventManager";
|
|
3
3
|
import { Store } from "./Store";
|
|
4
4
|
import { Logger } from "./Logger";
|
|
@@ -13,9 +13,8 @@ export declare class TaskRunner {
|
|
|
13
13
|
* This function can throw only if any of the event listeners or run function throws
|
|
14
14
|
* @param task the task to be run
|
|
15
15
|
* @param input the input to be passed to the task
|
|
16
|
-
* @param taskDependencies optional dependencies to be passed to the task, if not provided, the dependencies will be the ones already computed from the store.
|
|
17
16
|
*/
|
|
18
|
-
run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input: TInput
|
|
17
|
+
run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input: TInput): Promise<TOutput | undefined>;
|
|
19
18
|
/**
|
|
20
19
|
* Creates the function with the chain of middleware.
|
|
21
20
|
* @param task
|
|
@@ -17,9 +17,8 @@ class TaskRunner {
|
|
|
17
17
|
* This function can throw only if any of the event listeners or run function throws
|
|
18
18
|
* @param task the task to be run
|
|
19
19
|
* @param input the input to be passed to the task
|
|
20
|
-
* @param taskDependencies optional dependencies to be passed to the task, if not provided, the dependencies will be the ones already computed from the store.
|
|
21
20
|
*/
|
|
22
|
-
async run(task, input
|
|
21
|
+
async run(task, input) {
|
|
23
22
|
let runner = this.runnerStore.get(task.id);
|
|
24
23
|
if (!runner) {
|
|
25
24
|
runner = this.createRunnerWithMiddleware(task);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":";;;AAGA,0DAAuD;AAKvD,MAAa,UAAU;IAOA;IACA;IACA;IARF,WAAW,GAAG,IAAI,GAAG,EAGrC,CAAC;IAEJ,YACqB,KAAY,EACZ,YAA0B,EAC1B,MAAc;QAFd,UAAK,GAAL,KAAK,CAAO;QACZ,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;IAChC,CAAC;IAEJ
|
|
1
|
+
{"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":"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"}
|