@mark1russell7/collections 0.4.0 → 0.6.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/build/dag/index.d.ts +13 -1
- package/build/dag/index.d.ts.map +1 -1
- package/build/dag/index.js +29 -3
- package/build/dag/index.js.map +1 -1
- package/build/index.d.ts +22 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +94 -7
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/src/behaviors/bounded.ts +9 -4
- package/src/behaviors/lru.ts +42 -4
- package/src/core/capacity.ts +21 -0
- package/src/dag/executor.ts +24 -2
- package/src/dag/types.ts +10 -1
package/build/dag/index.d.ts
CHANGED
|
@@ -38,6 +38,11 @@ interface DAGExecutionOptions<TNode extends DAGNode = DAGNode> {
|
|
|
38
38
|
concurrency?: number;
|
|
39
39
|
/** When this value is true, the run stops on the first error. The default is true. */
|
|
40
40
|
failFast?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* When this value is true, a node whose dependency failed or was skipped does not start. Its result has `skipped: true`.
|
|
43
|
+
* The default is true. Give false only when the nodes do not use the work of their dependencies.
|
|
44
|
+
*/
|
|
45
|
+
skipDependents?: boolean;
|
|
41
46
|
/** Callback for progress reporting */
|
|
42
47
|
onNodeStart?: (node: TNode) => void;
|
|
43
48
|
/** Callback when a node completes */
|
|
@@ -59,6 +64,8 @@ interface NodeResult<TNode extends DAGNode = DAGNode> {
|
|
|
59
64
|
logs: string[];
|
|
60
65
|
/** Optional output from the processor */
|
|
61
66
|
output?: unknown | undefined;
|
|
67
|
+
/** This value is true when the node did not start, because a dependency failed or was skipped. */
|
|
68
|
+
skipped?: boolean | undefined;
|
|
62
69
|
}
|
|
63
70
|
/**
|
|
64
71
|
* The result of a run of an entire DAG
|
|
@@ -68,8 +75,10 @@ interface DAGResult<TNode extends DAGNode = DAGNode> {
|
|
|
68
75
|
success: boolean;
|
|
69
76
|
/** Results for each node */
|
|
70
77
|
results: Map<string, NodeResult<TNode>>;
|
|
71
|
-
/**
|
|
78
|
+
/** The ids of the nodes whose processor failed */
|
|
72
79
|
failedNodes: string[];
|
|
80
|
+
/** The ids of the nodes that did not start, because a dependency failed or was skipped */
|
|
81
|
+
skippedNodes: string[];
|
|
73
82
|
/** Total duration in milliseconds */
|
|
74
83
|
totalDuration: number;
|
|
75
84
|
}
|
|
@@ -107,6 +116,9 @@ export declare function visualizeDAG<TNode extends DAGNode>(dag: DependencyDAG<T
|
|
|
107
116
|
* A processor that throws does NOT reject the whole run. The run records the throw
|
|
108
117
|
* as a failed NodeResult, so partial results are always given.
|
|
109
118
|
*
|
|
119
|
+
* With `skipDependents` (the default), a node whose dependency failed or was skipped does not start. Its result has
|
|
120
|
+
* `skipped: true` and an error that names those dependencies. A dependency outside the DAG does not count.
|
|
121
|
+
*
|
|
110
122
|
* `failFast` operates at level granularity. When a node in a level fails, each
|
|
111
123
|
* node already in flight in that level continues to completion. No later level
|
|
112
124
|
* starts. (There is no mid-level cancellation.)
|
package/build/dag/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/dag/types.ts","../../src/dag/traversal.ts","../../src/dag/executor.ts","../../src/dag/builder.ts"],"mappings":";;;;;;;;;UAUiB,QAAQ;;EAEvB;;EAEA;;EAEA;;EAEA,OAAO;;;;;UAMQ,cAAc,cAAc,UAAU;;EAErD,OAAO,YAAY;;EAEnB,QAAQ;;EAER;;EAEA;;;;;UAMe,oBAAoB,cAAc,UAAU;;EAE3D;;EAEA;;EAEA,eAAe,MAAM;;EAErB,kBAAkB,QAAQ,WAAW;;;;;UAMtB,WAAW,cAAc,UAAU;;EAElD,MAAM;;EAEN;;EAEA,QAAQ;;EAER;;EAEA;;EAEA;;;;;UAMe,UAAU,cAAc,UAAU;;EAEjD;;EAEA,SAAS,YAAY,WAAW;;EAEhC;;EAEA;;;;;KAMU,cAAc,cAAc,UAAU,YAChD,MAAM,UACH,QAAQ,WAAW;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/dag/types.ts","../../src/dag/traversal.ts","../../src/dag/executor.ts","../../src/dag/builder.ts"],"mappings":";;;;;;;;;UAUiB,QAAQ;;EAEvB;;EAEA;;EAEA;;EAEA,OAAO;;;;;UAMQ,cAAc,cAAc,UAAU;;EAErD,OAAO,YAAY;;EAEnB,QAAQ;;EAER;;EAEA;;;;;UAMe,oBAAoB,cAAc,UAAU;;EAE3D;;EAEA;;;;;EAKA;;EAEA,eAAe,MAAM;;EAErB,kBAAkB,QAAQ,WAAW;;;;;UAMtB,WAAW,cAAc,UAAU;;EAElD,MAAM;;EAEN;;EAEA,QAAQ;;EAER;;EAEA;;EAEA;;EAEA;;;;;UAMe,UAAU,cAAc,UAAU;;EAEjD;;EAEA,SAAS,YAAY,WAAW;;EAEhC;;EAEA;;EAEA;;;;;KAMU,cAAc,cAAc,UAAU,YAChD,MAAM,UACH,QAAQ,WAAW;;;;;;;;;;;;wBC3ER,gBAAgB,cAAc,SAC5C,OAAO,YAAY,SAClB,cAAc;;;;wBA+ED,oBAAoB,cAAc,SAChD,KAAK,cAAc,SAClB;;;;wBAOa,aAAa,cAAc,SACzC,KAAK,cAAc;;;;;;;;;;;;;;;;;;wBClCC,WAAW,cAAc,SAC7C,KAAK,cAAc,QACnB,YAAY,MAAM,UAAU,QAAQ,WAAW,SAC/C,UAAS,oBAAoB,SAC5B,QAAQ,UAAU;;;;wBAwFC,qBAAqB,cAAc,SACvD,KAAK,cAAc,QACnB,YAAY,MAAM,UAAU,QAAQ,WAAW,SAC/C,UAAS,KAAK,oBAAoB,yBACjC,QAAQ,UAAU;;;;wBAOL,gBAAgB,cAAc,SAC5C,KAAK,MAAM,UAAU,iBACnB,MAAM,UAAU,QAAQ,WAAW;;;;wBC7KvB,kBAAkB,cAAc,SAC9C,OAAO,YAAY,QACnB,iBACC,YAAY;;;;wBAyBC,aAAa,cAAc,SACzC,OAAO,YAAY,QACnB,aACC;;;;wBA0Ba,eAAe,cAAc,SAC3C,OAAO,YAAY,QACnB,aACC;;;;wBAmCa,WAAW,iBACzB,YACA,yBACA,OAAO,oBACN,QAAQ;;;;wBAWK,aAAa,cAAc,SACzC,OAAO,UACN,YAAY"}
|
package/build/dag/index.js
CHANGED
|
@@ -122,19 +122,43 @@ function notify(name, listener, arg) {
|
|
|
122
122
|
* A processor that throws does NOT reject the whole run. The run records the throw
|
|
123
123
|
* as a failed NodeResult, so partial results are always given.
|
|
124
124
|
*
|
|
125
|
+
* With `skipDependents` (the default), a node whose dependency failed or was skipped does not start. Its result has
|
|
126
|
+
* `skipped: true` and an error that names those dependencies. A dependency outside the DAG does not count.
|
|
127
|
+
*
|
|
125
128
|
* `failFast` operates at level granularity. When a node in a level fails, each
|
|
126
129
|
* node already in flight in that level continues to completion. No later level
|
|
127
130
|
* starts. (There is no mid-level cancellation.)
|
|
128
131
|
*/
|
|
129
132
|
async function executeDAG(dag, processor, options = {}) {
|
|
130
|
-
const { concurrency = 4, failFast = true, onNodeStart, onNodeComplete } = options;
|
|
133
|
+
const { concurrency = 4, failFast = true, skipDependents = true, onNodeStart, onNodeComplete } = options;
|
|
131
134
|
const results = /* @__PURE__ */ new Map();
|
|
132
135
|
const failedNodes = [];
|
|
136
|
+
const skippedNodes = [];
|
|
137
|
+
const blocked = /* @__PURE__ */ new Set();
|
|
133
138
|
const startTime = Date.now();
|
|
134
139
|
let shouldStop = false;
|
|
135
140
|
for (const level of dag.levels) {
|
|
136
141
|
if (shouldStop) break;
|
|
137
|
-
const
|
|
142
|
+
const runnable = [];
|
|
143
|
+
for (const node of level) {
|
|
144
|
+
const blockers = skipDependents ? node.dependencies.filter((dep) => blocked.has(dep)) : [];
|
|
145
|
+
if (blockers.length === 0) {
|
|
146
|
+
runnable.push(node);
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
const message = "Skipped " + node.id + ": the dependencies " + blockers.join(", ") + " failed or were skipped";
|
|
150
|
+
results.set(node.id, {
|
|
151
|
+
node,
|
|
152
|
+
success: false,
|
|
153
|
+
skipped: true,
|
|
154
|
+
error: new Error(message),
|
|
155
|
+
duration: 0,
|
|
156
|
+
logs: [message]
|
|
157
|
+
});
|
|
158
|
+
skippedNodes.push(node.id);
|
|
159
|
+
blocked.add(node.id);
|
|
160
|
+
}
|
|
161
|
+
const levelResults = await executeWithConcurrency(runnable, async (node) => {
|
|
138
162
|
const startError = notify("onNodeStart", onNodeStart, node);
|
|
139
163
|
const nodeStart = Date.now();
|
|
140
164
|
let result;
|
|
@@ -161,14 +185,16 @@ async function executeDAG(dag, processor, options = {}) {
|
|
|
161
185
|
results.set(result.node.id, result);
|
|
162
186
|
if (!result.success) {
|
|
163
187
|
failedNodes.push(result.node.id);
|
|
188
|
+
blocked.add(result.node.id);
|
|
164
189
|
if (failFast) shouldStop = true;
|
|
165
190
|
}
|
|
166
191
|
}
|
|
167
192
|
}
|
|
168
193
|
return {
|
|
169
|
-
success: failedNodes.length === 0,
|
|
194
|
+
success: failedNodes.length === 0 && skippedNodes.length === 0,
|
|
170
195
|
results,
|
|
171
196
|
failedNodes,
|
|
197
|
+
skippedNodes,
|
|
172
198
|
totalDuration: Date.now() - startTime
|
|
173
199
|
};
|
|
174
200
|
}
|
package/build/dag/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/dag/traversal.ts","../../src/dag/executor.ts","../../src/dag/builder.ts"],"sourcesContent":["/**\n * DAG Traversal using Kahn's Algorithm\n *\n * This module implements topological sort with level assignment for parallel execution.\n * Level 0 = leaves (no dependencies), higher levels depend on lower levels.\n */\n\nimport type { DAGNode, DependencyDAG } from \"./types.js\";\n\n/**\n * Build a leveled DAG from nodes using Kahn's algorithm\n *\n * This assigns levels to each node where:\n * - Level 0: Nodes with no dependencies (leaves)\n * - Level N: Nodes whose dependencies are all at level < N\n *\n * Nodes at the same level can be processed in parallel.\n *\n * @throws Error if a cycle is detected\n */\nexport function buildLeveledDAG<TNode extends DAGNode>(\n nodes: Map<string, TNode>\n): DependencyDAG<TNode> {\n const inDegree = new Map<string, number>();\n const dependents = new Map<string, Set<string>>();\n\n for (const [name, node] of nodes) {\n // A set: a dependency that a node lists twice counts once. (`dependents` is a set, so it\n // takes the in-degree down once: a repeated dependency was \"Circular\": deep dive DATA-21.)\n const depsInDag = new Set(node.dependencies.filter((dep) => nodes.has(dep)));\n inDegree.set(name, depsInDag.size);\n dependents.set(name, new Set());\n }\n\n for (const [name, node] of nodes) {\n for (const dep of node.dependencies) {\n if (dependents.has(dep)) {\n dependents.get(dep)!.add(name);\n }\n }\n }\n\n let queue: string[] = [];\n for (const [name, degree] of inDegree) {\n if (degree === 0) {\n queue.push(name);\n }\n }\n\n const levels: TNode[][] = [];\n const nodeLevel = new Map<string, number>();\n let processedCount = 0;\n\n while (queue.length > 0) {\n const currentLevel = levels.length;\n const levelNodes: TNode[] = [];\n const nextQueue: string[] = [];\n\n for (const name of queue) {\n const node = nodes.get(name)!;\n node.level = currentLevel;\n nodeLevel.set(name, currentLevel);\n levelNodes.push(node);\n processedCount++;\n\n for (const dependent of dependents.get(name) ?? []) {\n const newDegree = inDegree.get(dependent)! - 1;\n inDegree.set(dependent, newDegree);\n\n if (newDegree === 0) {\n nextQueue.push(dependent);\n }\n }\n }\n\n levels.push(levelNodes);\n queue = nextQueue;\n }\n\n if (processedCount !== nodes.size) {\n const cycleNodes = [...nodes.keys()].filter((n) => !nodeLevel.has(n));\n throw new Error(\"Circular dependency detected involving: \" + cycleNodes.join(\", \"));\n }\n\n const roots = [...nodes.keys()].filter((name) => {\n const deps = dependents.get(name);\n return !deps || deps.size === 0;\n });\n\n const leaves = [...nodes.keys()].filter((name) => {\n const node = nodes.get(name)!;\n const depsInDag = node.dependencies.filter((dep) => nodes.has(dep));\n return depsInDag.length === 0;\n });\n\n return { nodes, levels, roots, leaves };\n}\n\n/**\n * Get the topological order (flat list, leaves first)\n */\nexport function getTopologicalOrder<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>\n): TNode[] {\n return dag.levels.flat();\n}\n\n/**\n * Visualize the DAG structure (for debugging)\n */\nexport function visualizeDAG<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>\n): string {\n const lines = [\"DAG Structure:\"];\n\n for (let i = 0; i < dag.levels.length; i++) {\n const level = dag.levels[i]!;\n lines.push(\" Level \" + i + \":\");\n for (const node of level) {\n const deps =\n node.dependencies.length > 0\n ? \" -> [\" + node.dependencies.join(\", \") + \"]\"\n : \" (leaf)\";\n lines.push(\" - \" + node.id + deps);\n }\n }\n\n return lines.join(\"\\n\");\n}\n","/**\n * DAG Executor with parallel level-based execution\n */\n\nimport type {\n DependencyDAG,\n DAGNode,\n DAGExecutionOptions,\n NodeResult,\n DAGResult,\n} from \"./types.js\";\n\n/**\n * Start a batch of items with concurrency limit\n */\nasync function executeWithConcurrency<T, R>(\n items: T[],\n fn: (item: T) => Promise<R>,\n limit: number\n): Promise<R[]> {\n const results: R[] = [];\n const executing = new Set<Promise<void>>();\n\n for (const item of items) {\n const promise = fn(item)\n .then((result) => {\n results.push(result);\n })\n .finally(() => {\n // Rejection-safe cleanup: always remove the settled promise from the\n // executing set, even if `fn` rejected, so the set never leaks a\n // settled (possibly rejected) promise into later `race`/`all` waits.\n executing.delete(promise);\n });\n\n executing.add(promise);\n\n if (executing.size >= limit) {\n await Promise.race(executing);\n }\n }\n\n await Promise.all(executing);\n return results;\n}\n\n/**\n * Call a listener. A listener that throws does not stop the run: the function gives a log\n * line for its error (deep dive DATA-21).\n */\nfunction notify<T>(name: string, listener: ((arg: T) => void) | undefined, arg: T): string | undefined {\n if (!listener) return undefined;\n try {\n listener(arg);\n return undefined;\n } catch (error) {\n return name + \" threw: \" + (error instanceof Error ? error.message : String(error));\n }\n}\n\n/**\n * Start DAG with level-based parallelization\n *\n * - Levels are processed sequentially (level 0 first, then level 1, and so on)\n * - Within each level, nodes are processed in parallel up to concurrency limit\n * - Supports fail-fast or continue-on-error modes\n *\n * A processor that throws does NOT reject the whole run. The run records the throw\n * as a failed NodeResult, so partial results are always given.\n *\n * `failFast` operates at level granularity. When a node in a level fails, each\n * node already in flight in that level continues to completion. No later level\n * starts. (There is no mid-level cancellation.)\n */\nexport async function executeDAG<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>,\n processor: (node: TNode) => Promise<NodeResult<TNode>>,\n options: DAGExecutionOptions<TNode> = {}\n): Promise<DAGResult<TNode>> {\n const {\n concurrency = 4,\n failFast = true,\n onNodeStart,\n onNodeComplete,\n } = options;\n\n const results = new Map<string, NodeResult<TNode>>();\n const failedNodes: string[] = [];\n const startTime = Date.now();\n let shouldStop = false;\n\n for (const level of dag.levels) {\n if (shouldStop) break;\n\n const levelResults = await executeWithConcurrency(\n level,\n async (node) => {\n const startError = notify(\"onNodeStart\", onNodeStart, node);\n const nodeStart = Date.now();\n let result: NodeResult<TNode>;\n try {\n result = await processor(node);\n } catch (error) {\n // Convert a thrown processor error into a failed NodeResult instead\n // of rejecting the entire run and discarding partial results.\n const err =\n error instanceof Error ? error : new Error(String(error));\n result = {\n node,\n success: false,\n error: err,\n duration: Date.now() - nodeStart,\n logs: [\"Processor threw: \" + err.message],\n };\n }\n const completeError = notify(\"onNodeComplete\", onNodeComplete, result);\n const listenerErrors = [startError, completeError].filter((line): line is string => line !== undefined);\n if (listenerErrors.length > 0) {\n result = { ...result, logs: [...(result.logs ?? []), ...listenerErrors] };\n }\n return result;\n },\n concurrency\n );\n\n for (const result of levelResults) {\n results.set(result.node.id, result);\n if (!result.success) {\n failedNodes.push(result.node.id);\n if (failFast) {\n shouldStop = true;\n }\n }\n }\n }\n\n return {\n success: failedNodes.length === 0,\n results,\n failedNodes,\n totalDuration: Date.now() - startTime,\n };\n}\n\n/**\n * Start DAG sequentially (no parallelization)\n */\nexport async function executeDAGSequential<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>,\n processor: (node: TNode) => Promise<NodeResult<TNode>>,\n options: Omit<DAGExecutionOptions<TNode>, \"concurrency\"> = {}\n): Promise<DAGResult<TNode>> {\n return executeDAG(dag, processor, { ...options, concurrency: 1 });\n}\n\n/**\n * Make a simple processor that wraps an async function\n */\nexport function createProcessor<TNode extends DAGNode>(\n fn: (node: TNode) => Promise<void>\n): (node: TNode) => Promise<NodeResult<TNode>> {\n return async (node: TNode): Promise<NodeResult<TNode>> => {\n const startTime = Date.now();\n const logs: string[] = [];\n\n try {\n logs.push(\"Starting \" + node.id);\n await fn(node);\n logs.push(\"Completed \" + node.id);\n\n return {\n node,\n success: true,\n duration: Date.now() - startTime,\n logs,\n };\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n logs.push(\"Failed \" + node.id + \": \" + err.message);\n\n return {\n node,\n success: false,\n error: err,\n duration: Date.now() - startTime,\n logs,\n };\n }\n };\n}\n","/**\n * DAG Builder utilities\n */\n\nimport type { DAGNode } from \"./types.js\";\n\n/**\n * Filter DAG to only include nodes reachable from a root\n */\nexport function filterDAGFromRoot<TNode extends DAGNode>(\n nodes: Map<string, TNode>,\n rootId: string\n): Map<string, TNode> {\n const filtered = new Map<string, TNode>();\n const visited = new Set<string>();\n\n function visit(id: string): void {\n if (visited.has(id)) return;\n visited.add(id);\n\n const node = nodes.get(id);\n if (!node) return;\n\n filtered.set(id, node);\n\n for (const dep of node.dependencies) {\n visit(dep);\n }\n }\n\n visit(rootId);\n return filtered;\n}\n\n/**\n * Get all ancestors of a node (nodes that this node depends on, transitively)\n */\nexport function getAncestors<TNode extends DAGNode>(\n nodes: Map<string, TNode>,\n id: string\n): Set<string> {\n const ancestors = new Set<string>();\n const visited = new Set<string>();\n\n function visit(n: string): void {\n if (visited.has(n)) return;\n visited.add(n);\n\n const node = nodes.get(n);\n if (!node) return;\n\n for (const dep of node.dependencies) {\n if (nodes.has(dep)) {\n ancestors.add(dep);\n visit(dep);\n }\n }\n }\n\n visit(id);\n return ancestors;\n}\n\n/**\n * Get all descendants of a node (nodes that depend on this node, transitively)\n */\nexport function getDescendants<TNode extends DAGNode>(\n nodes: Map<string, TNode>,\n id: string\n): Set<string> {\n const descendants = new Set<string>();\n const visited = new Set<string>();\n\n // Build reverse dependency map\n const dependents = new Map<string, Set<string>>();\n for (const [nodeId, node] of nodes) {\n for (const dep of node.dependencies) {\n if (!dependents.has(dep)) {\n dependents.set(dep, new Set());\n }\n dependents.get(dep)!.add(nodeId);\n }\n }\n\n function visit(n: string): void {\n if (visited.has(n)) return;\n visited.add(n);\n\n const deps = dependents.get(n);\n if (!deps) return;\n\n for (const dep of deps) {\n descendants.add(dep);\n visit(dep);\n }\n }\n\n visit(id);\n return descendants;\n}\n\n/**\n * Make a DAG node from minimal input\n */\nexport function createNode<TData = unknown>(\n id: string,\n dependencies: string[] = [],\n data?: TData | undefined\n): DAGNode<TData> {\n const node: DAGNode<TData> = { id, dependencies };\n if (data !== undefined) {\n node.data = data;\n }\n return node;\n}\n\n/**\n * Build a Map of nodes from an array\n */\nexport function buildNodeMap<TNode extends DAGNode>(\n nodes: TNode[]\n): Map<string, TNode> {\n return new Map(nodes.map((n) => [n.id, n]));\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/dag/traversal.ts","../../src/dag/executor.ts","../../src/dag/builder.ts"],"sourcesContent":["/**\n * DAG Traversal using Kahn's Algorithm\n *\n * This module implements topological sort with level assignment for parallel execution.\n * Level 0 = leaves (no dependencies), higher levels depend on lower levels.\n */\n\nimport type { DAGNode, DependencyDAG } from \"./types.js\";\n\n/**\n * Build a leveled DAG from nodes using Kahn's algorithm\n *\n * This assigns levels to each node where:\n * - Level 0: Nodes with no dependencies (leaves)\n * - Level N: Nodes whose dependencies are all at level < N\n *\n * Nodes at the same level can be processed in parallel.\n *\n * @throws Error if a cycle is detected\n */\nexport function buildLeveledDAG<TNode extends DAGNode>(\n nodes: Map<string, TNode>\n): DependencyDAG<TNode> {\n const inDegree = new Map<string, number>();\n const dependents = new Map<string, Set<string>>();\n\n for (const [name, node] of nodes) {\n // A set: a dependency that a node lists twice counts once. (`dependents` is a set, so it\n // takes the in-degree down once: a repeated dependency was \"Circular\": deep dive DATA-21.)\n const depsInDag = new Set(node.dependencies.filter((dep) => nodes.has(dep)));\n inDegree.set(name, depsInDag.size);\n dependents.set(name, new Set());\n }\n\n for (const [name, node] of nodes) {\n for (const dep of node.dependencies) {\n if (dependents.has(dep)) {\n dependents.get(dep)!.add(name);\n }\n }\n }\n\n let queue: string[] = [];\n for (const [name, degree] of inDegree) {\n if (degree === 0) {\n queue.push(name);\n }\n }\n\n const levels: TNode[][] = [];\n const nodeLevel = new Map<string, number>();\n let processedCount = 0;\n\n while (queue.length > 0) {\n const currentLevel = levels.length;\n const levelNodes: TNode[] = [];\n const nextQueue: string[] = [];\n\n for (const name of queue) {\n const node = nodes.get(name)!;\n node.level = currentLevel;\n nodeLevel.set(name, currentLevel);\n levelNodes.push(node);\n processedCount++;\n\n for (const dependent of dependents.get(name) ?? []) {\n const newDegree = inDegree.get(dependent)! - 1;\n inDegree.set(dependent, newDegree);\n\n if (newDegree === 0) {\n nextQueue.push(dependent);\n }\n }\n }\n\n levels.push(levelNodes);\n queue = nextQueue;\n }\n\n if (processedCount !== nodes.size) {\n const cycleNodes = [...nodes.keys()].filter((n) => !nodeLevel.has(n));\n throw new Error(\"Circular dependency detected involving: \" + cycleNodes.join(\", \"));\n }\n\n const roots = [...nodes.keys()].filter((name) => {\n const deps = dependents.get(name);\n return !deps || deps.size === 0;\n });\n\n const leaves = [...nodes.keys()].filter((name) => {\n const node = nodes.get(name)!;\n const depsInDag = node.dependencies.filter((dep) => nodes.has(dep));\n return depsInDag.length === 0;\n });\n\n return { nodes, levels, roots, leaves };\n}\n\n/**\n * Get the topological order (flat list, leaves first)\n */\nexport function getTopologicalOrder<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>\n): TNode[] {\n return dag.levels.flat();\n}\n\n/**\n * Visualize the DAG structure (for debugging)\n */\nexport function visualizeDAG<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>\n): string {\n const lines = [\"DAG Structure:\"];\n\n for (let i = 0; i < dag.levels.length; i++) {\n const level = dag.levels[i]!;\n lines.push(\" Level \" + i + \":\");\n for (const node of level) {\n const deps =\n node.dependencies.length > 0\n ? \" -> [\" + node.dependencies.join(\", \") + \"]\"\n : \" (leaf)\";\n lines.push(\" - \" + node.id + deps);\n }\n }\n\n return lines.join(\"\\n\");\n}\n","/**\n * DAG Executor with parallel level-based execution\n */\n\nimport type {\n DependencyDAG,\n DAGNode,\n DAGExecutionOptions,\n NodeResult,\n DAGResult,\n} from \"./types.js\";\n\n/**\n * Start a batch of items with concurrency limit\n */\nasync function executeWithConcurrency<T, R>(\n items: T[],\n fn: (item: T) => Promise<R>,\n limit: number\n): Promise<R[]> {\n const results: R[] = [];\n const executing = new Set<Promise<void>>();\n\n for (const item of items) {\n const promise = fn(item)\n .then((result) => {\n results.push(result);\n })\n .finally(() => {\n // Rejection-safe cleanup: always remove the settled promise from the\n // executing set, even if `fn` rejected, so the set never leaks a\n // settled (possibly rejected) promise into later `race`/`all` waits.\n executing.delete(promise);\n });\n\n executing.add(promise);\n\n if (executing.size >= limit) {\n await Promise.race(executing);\n }\n }\n\n await Promise.all(executing);\n return results;\n}\n\n/**\n * Call a listener. A listener that throws does not stop the run: the function gives a log\n * line for its error (deep dive DATA-21).\n */\nfunction notify<T>(name: string, listener: ((arg: T) => void) | undefined, arg: T): string | undefined {\n if (!listener) return undefined;\n try {\n listener(arg);\n return undefined;\n } catch (error) {\n return name + \" threw: \" + (error instanceof Error ? error.message : String(error));\n }\n}\n\n/**\n * Start DAG with level-based parallelization\n *\n * - Levels are processed sequentially (level 0 first, then level 1, and so on)\n * - Within each level, nodes are processed in parallel up to concurrency limit\n * - Supports fail-fast or continue-on-error modes\n *\n * A processor that throws does NOT reject the whole run. The run records the throw\n * as a failed NodeResult, so partial results are always given.\n *\n * With `skipDependents` (the default), a node whose dependency failed or was skipped does not start. Its result has\n * `skipped: true` and an error that names those dependencies. A dependency outside the DAG does not count.\n *\n * `failFast` operates at level granularity. When a node in a level fails, each\n * node already in flight in that level continues to completion. No later level\n * starts. (There is no mid-level cancellation.)\n */\nexport async function executeDAG<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>,\n processor: (node: TNode) => Promise<NodeResult<TNode>>,\n options: DAGExecutionOptions<TNode> = {}\n): Promise<DAGResult<TNode>> {\n const {\n concurrency = 4,\n failFast = true,\n skipDependents = true,\n onNodeStart,\n onNodeComplete,\n } = options;\n\n const results = new Map<string, NodeResult<TNode>>();\n const failedNodes: string[] = [];\n const skippedNodes: string[] = [];\n // The ids of the nodes that failed or were skipped\n const blocked = new Set<string>();\n const startTime = Date.now();\n let shouldStop = false;\n\n for (const level of dag.levels) {\n if (shouldStop) break;\n\n const runnable: TNode[] = [];\n for (const node of level) {\n const blockers = skipDependents ? node.dependencies.filter((dep) => blocked.has(dep)) : [];\n if (blockers.length === 0) {\n runnable.push(node);\n continue;\n }\n const message = \"Skipped \" + node.id + \": the dependencies \" + blockers.join(\", \") + \" failed or were skipped\";\n results.set(node.id, { node, success: false, skipped: true, error: new Error(message), duration: 0, logs: [message] });\n skippedNodes.push(node.id);\n blocked.add(node.id);\n }\n\n const levelResults = await executeWithConcurrency(\n runnable,\n async (node) => {\n const startError = notify(\"onNodeStart\", onNodeStart, node);\n const nodeStart = Date.now();\n let result: NodeResult<TNode>;\n try {\n result = await processor(node);\n } catch (error) {\n // Convert a thrown processor error into a failed NodeResult instead\n // of rejecting the entire run and discarding partial results.\n const err =\n error instanceof Error ? error : new Error(String(error));\n result = {\n node,\n success: false,\n error: err,\n duration: Date.now() - nodeStart,\n logs: [\"Processor threw: \" + err.message],\n };\n }\n const completeError = notify(\"onNodeComplete\", onNodeComplete, result);\n const listenerErrors = [startError, completeError].filter((line): line is string => line !== undefined);\n if (listenerErrors.length > 0) {\n result = { ...result, logs: [...(result.logs ?? []), ...listenerErrors] };\n }\n return result;\n },\n concurrency\n );\n\n for (const result of levelResults) {\n results.set(result.node.id, result);\n if (!result.success) {\n failedNodes.push(result.node.id);\n blocked.add(result.node.id);\n if (failFast) {\n shouldStop = true;\n }\n }\n }\n }\n\n return {\n success: failedNodes.length === 0 && skippedNodes.length === 0,\n results,\n failedNodes,\n skippedNodes,\n totalDuration: Date.now() - startTime,\n };\n}\n\n/**\n * Start DAG sequentially (no parallelization)\n */\nexport async function executeDAGSequential<TNode extends DAGNode>(\n dag: DependencyDAG<TNode>,\n processor: (node: TNode) => Promise<NodeResult<TNode>>,\n options: Omit<DAGExecutionOptions<TNode>, \"concurrency\"> = {}\n): Promise<DAGResult<TNode>> {\n return executeDAG(dag, processor, { ...options, concurrency: 1 });\n}\n\n/**\n * Make a simple processor that wraps an async function\n */\nexport function createProcessor<TNode extends DAGNode>(\n fn: (node: TNode) => Promise<void>\n): (node: TNode) => Promise<NodeResult<TNode>> {\n return async (node: TNode): Promise<NodeResult<TNode>> => {\n const startTime = Date.now();\n const logs: string[] = [];\n\n try {\n logs.push(\"Starting \" + node.id);\n await fn(node);\n logs.push(\"Completed \" + node.id);\n\n return {\n node,\n success: true,\n duration: Date.now() - startTime,\n logs,\n };\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n logs.push(\"Failed \" + node.id + \": \" + err.message);\n\n return {\n node,\n success: false,\n error: err,\n duration: Date.now() - startTime,\n logs,\n };\n }\n };\n}\n","/**\n * DAG Builder utilities\n */\n\nimport type { DAGNode } from \"./types.js\";\n\n/**\n * Filter DAG to only include nodes reachable from a root\n */\nexport function filterDAGFromRoot<TNode extends DAGNode>(\n nodes: Map<string, TNode>,\n rootId: string\n): Map<string, TNode> {\n const filtered = new Map<string, TNode>();\n const visited = new Set<string>();\n\n function visit(id: string): void {\n if (visited.has(id)) return;\n visited.add(id);\n\n const node = nodes.get(id);\n if (!node) return;\n\n filtered.set(id, node);\n\n for (const dep of node.dependencies) {\n visit(dep);\n }\n }\n\n visit(rootId);\n return filtered;\n}\n\n/**\n * Get all ancestors of a node (nodes that this node depends on, transitively)\n */\nexport function getAncestors<TNode extends DAGNode>(\n nodes: Map<string, TNode>,\n id: string\n): Set<string> {\n const ancestors = new Set<string>();\n const visited = new Set<string>();\n\n function visit(n: string): void {\n if (visited.has(n)) return;\n visited.add(n);\n\n const node = nodes.get(n);\n if (!node) return;\n\n for (const dep of node.dependencies) {\n if (nodes.has(dep)) {\n ancestors.add(dep);\n visit(dep);\n }\n }\n }\n\n visit(id);\n return ancestors;\n}\n\n/**\n * Get all descendants of a node (nodes that depend on this node, transitively)\n */\nexport function getDescendants<TNode extends DAGNode>(\n nodes: Map<string, TNode>,\n id: string\n): Set<string> {\n const descendants = new Set<string>();\n const visited = new Set<string>();\n\n // Build reverse dependency map\n const dependents = new Map<string, Set<string>>();\n for (const [nodeId, node] of nodes) {\n for (const dep of node.dependencies) {\n if (!dependents.has(dep)) {\n dependents.set(dep, new Set());\n }\n dependents.get(dep)!.add(nodeId);\n }\n }\n\n function visit(n: string): void {\n if (visited.has(n)) return;\n visited.add(n);\n\n const deps = dependents.get(n);\n if (!deps) return;\n\n for (const dep of deps) {\n descendants.add(dep);\n visit(dep);\n }\n }\n\n visit(id);\n return descendants;\n}\n\n/**\n * Make a DAG node from minimal input\n */\nexport function createNode<TData = unknown>(\n id: string,\n dependencies: string[] = [],\n data?: TData | undefined\n): DAGNode<TData> {\n const node: DAGNode<TData> = { id, dependencies };\n if (data !== undefined) {\n node.data = data;\n }\n return node;\n}\n\n/**\n * Build a Map of nodes from an array\n */\nexport function buildNodeMap<TNode extends DAGNode>(\n nodes: TNode[]\n): Map<string, TNode> {\n return new Map(nodes.map((n) => [n.id, n]));\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,SAAgB,gBACd,OACsB;CACtB,MAAM,2BAAW,IAAI,IAAoB;CACzC,MAAM,6BAAa,IAAI,IAAyB;CAEhD,KAAK,MAAM,CAAC,MAAM,SAAS,OAAO;EAGhC,MAAM,YAAY,IAAI,IAAI,KAAK,aAAa,QAAQ,QAAQ,MAAM,IAAI,GAAG,CAAC,CAAC;EAC3E,SAAS,IAAI,MAAM,UAAU,IAAI;EACjC,WAAW,IAAI,sBAAM,IAAI,IAAI,CAAC;CAChC;CAEA,KAAK,MAAM,CAAC,MAAM,SAAS,OACzB,KAAK,MAAM,OAAO,KAAK,cACrB,IAAI,WAAW,IAAI,GAAG,GACpB,WAAW,IAAI,GAAG,CAAC,CAAE,IAAI,IAAI;CAKnC,IAAI,QAAkB,CAAC;CACvB,KAAK,MAAM,CAAC,MAAM,WAAW,UAC3B,IAAI,WAAW,GACb,MAAM,KAAK,IAAI;CAInB,MAAM,SAAoB,CAAC;CAC3B,MAAM,4BAAY,IAAI,IAAoB;CAC1C,IAAI,iBAAiB;CAErB,OAAO,MAAM,SAAS,GAAG;EACvB,MAAM,eAAe,OAAO;EAC5B,MAAM,aAAsB,CAAC;EAC7B,MAAM,YAAsB,CAAC;EAE7B,KAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,OAAO,MAAM,IAAI,IAAI;GAC3B,KAAK,QAAQ;GACb,UAAU,IAAI,MAAM,YAAY;GAChC,WAAW,KAAK,IAAI;GACpB;GAEA,KAAK,MAAM,aAAa,WAAW,IAAI,IAAI,KAAK,CAAC,GAAG;IAClD,MAAM,YAAY,SAAS,IAAI,SAAS,IAAK;IAC7C,SAAS,IAAI,WAAW,SAAS;IAEjC,IAAI,cAAc,GAChB,UAAU,KAAK,SAAS;GAE5B;EACF;EAEA,OAAO,KAAK,UAAU;EACtB,QAAQ;CACV;CAEA,IAAI,mBAAmB,MAAM,MAAM;EACjC,MAAM,aAAa,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;EACpE,MAAM,IAAI,MAAM,6CAA6C,WAAW,KAAK,IAAI,CAAC;CACpF;CAaA,OAAO;EAAE;EAAO;EAAQ,OAXV,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,SAAS;GAC/C,MAAM,OAAO,WAAW,IAAI,IAAI;GAChC,OAAO,CAAC,QAAQ,KAAK,SAAS;EAChC,CAQ4B;EAAG,QANhB,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,SAAS;GAGhD,OAFa,MAAM,IAAI,IACF,CAAC,CAAC,aAAa,QAAQ,QAAQ,MAAM,IAAI,GAAG,CAClD,CAAC,CAAC,WAAW;EAC9B,CAEoC;CAAE;AACxC;;;;AAKA,SAAgB,oBACd,KACS;CACT,OAAO,IAAI,OAAO,KAAK;AACzB;;;;AAKA,SAAgB,aACd,KACQ;CACR,MAAM,QAAQ,CAAC,gBAAgB;CAE/B,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,OAAO,QAAQ,KAAK;EAC1C,MAAM,QAAQ,IAAI,OAAO;EACzB,MAAM,KAAK,aAAa,IAAI,GAAG;EAC/B,KAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,OACJ,KAAK,aAAa,SAAS,IACvB,UAAU,KAAK,aAAa,KAAK,IAAI,IAAI,MACzC;GACN,MAAM,KAAK,WAAW,KAAK,KAAK,IAAI;EACtC;CACF;CAEA,OAAO,MAAM,KAAK,IAAI;AACxB;;;;;ACjHA,eAAe,uBACb,OACA,IACA,OACc;CACd,MAAM,UAAe,CAAC;CACtB,MAAM,4BAAY,IAAI,IAAmB;CAEzC,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,UAAU,GAAG,IAAI,CAAC,CACrB,MAAM,WAAW;GAChB,QAAQ,KAAK,MAAM;EACrB,CAAC,CAAC,CACD,cAAc;GAIb,UAAU,OAAO,OAAO;EAC1B,CAAC;EAEH,UAAU,IAAI,OAAO;EAErB,IAAI,UAAU,QAAQ,OACpB,MAAM,QAAQ,KAAK,SAAS;CAEhC;CAEA,MAAM,QAAQ,IAAI,SAAS;CAC3B,OAAO;AACT;;;;;AAMA,SAAS,OAAU,MAAc,UAA0C,KAA4B;CACrG,IAAI,CAAC,UAAU,OAAO,KAAA;CACtB,IAAI;EACF,SAAS,GAAG;EACZ;CACF,SAAS,OAAO;EACd,OAAO,OAAO,cAAc,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;CACnF;AACF;;;;;;;;;;;;;;;;;;AAmBA,eAAsB,WACpB,KACA,WACA,UAAsC,CAAC,GACZ;CAC3B,MAAM,EACJ,cAAc,GACd,WAAW,MACX,iBAAiB,MACjB,aACA,mBACE;CAEJ,MAAM,0BAAU,IAAI,IAA+B;CACnD,MAAM,cAAwB,CAAC;CAC/B,MAAM,eAAyB,CAAC;CAEhC,MAAM,0BAAU,IAAI,IAAY;CAChC,MAAM,YAAY,KAAK,IAAI;CAC3B,IAAI,aAAa;CAEjB,KAAK,MAAM,SAAS,IAAI,QAAQ;EAC9B,IAAI,YAAY;EAEhB,MAAM,WAAoB,CAAC;EAC3B,KAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,WAAW,iBAAiB,KAAK,aAAa,QAAQ,QAAQ,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC;GACzF,IAAI,SAAS,WAAW,GAAG;IACzB,SAAS,KAAK,IAAI;IAClB;GACF;GACA,MAAM,UAAU,aAAa,KAAK,KAAK,wBAAwB,SAAS,KAAK,IAAI,IAAI;GACrF,QAAQ,IAAI,KAAK,IAAI;IAAE;IAAM,SAAS;IAAO,SAAS;IAAM,OAAO,IAAI,MAAM,OAAO;IAAG,UAAU;IAAG,MAAM,CAAC,OAAO;GAAE,CAAC;GACrH,aAAa,KAAK,KAAK,EAAE;GACzB,QAAQ,IAAI,KAAK,EAAE;EACrB;EAEA,MAAM,eAAe,MAAM,uBACzB,UACA,OAAO,SAAS;GACd,MAAM,aAAa,OAAO,eAAe,aAAa,IAAI;GAC1D,MAAM,YAAY,KAAK,IAAI;GAC3B,IAAI;GACJ,IAAI;IACF,SAAS,MAAM,UAAU,IAAI;GAC/B,SAAS,OAAO;IAGd,MAAM,MACJ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;IAC1D,SAAS;KACP;KACA,SAAS;KACT,OAAO;KACP,UAAU,KAAK,IAAI,IAAI;KACvB,MAAM,CAAC,sBAAsB,IAAI,OAAO;IAC1C;GACF;GAEA,MAAM,iBAAiB,CAAC,YADF,OAAO,kBAAkB,gBAAgB,MACf,CAAC,CAAC,CAAC,QAAQ,SAAyB,SAAS,KAAA,CAAS;GACtG,IAAI,eAAe,SAAS,GAC1B,SAAS;IAAE,GAAG;IAAQ,MAAM,CAAC,GAAI,OAAO,QAAQ,CAAC,GAAI,GAAG,cAAc;GAAE;GAE1E,OAAO;EACT,GACA,WACF;EAEA,KAAK,MAAM,UAAU,cAAc;GACjC,QAAQ,IAAI,OAAO,KAAK,IAAI,MAAM;GAClC,IAAI,CAAC,OAAO,SAAS;IACnB,YAAY,KAAK,OAAO,KAAK,EAAE;IAC/B,QAAQ,IAAI,OAAO,KAAK,EAAE;IAC1B,IAAI,UACF,aAAa;GAEjB;EACF;CACF;CAEA,OAAO;EACL,SAAS,YAAY,WAAW,KAAK,aAAa,WAAW;EAC7D;EACA;EACA;EACA,eAAe,KAAK,IAAI,IAAI;CAC9B;AACF;;;;AAKA,eAAsB,qBACpB,KACA,WACA,UAA2D,CAAC,GACjC;CAC3B,OAAO,WAAW,KAAK,WAAW;EAAE,GAAG;EAAS,aAAa;CAAE,CAAC;AAClE;;;;AAKA,SAAgB,gBACd,IAC6C;CAC7C,OAAO,OAAO,SAA4C;EACxD,MAAM,YAAY,KAAK,IAAI;EAC3B,MAAM,OAAiB,CAAC;EAExB,IAAI;GACF,KAAK,KAAK,cAAc,KAAK,EAAE;GAC/B,MAAM,GAAG,IAAI;GACb,KAAK,KAAK,eAAe,KAAK,EAAE;GAEhC,OAAO;IACL;IACA,SAAS;IACT,UAAU,KAAK,IAAI,IAAI;IACvB;GACF;EACF,SAAS,OAAO;GACd,MAAM,MAAM,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;GACpE,KAAK,KAAK,YAAY,KAAK,KAAK,OAAO,IAAI,OAAO;GAElD,OAAO;IACL;IACA,SAAS;IACT,OAAO;IACP,UAAU,KAAK,IAAI,IAAI;IACvB;GACF;EACF;CACF;AACF;;;;;AC1MA,SAAgB,kBACd,OACA,QACoB;CACpB,MAAM,2BAAW,IAAI,IAAmB;CACxC,MAAM,0BAAU,IAAI,IAAY;CAEhC,SAAS,MAAM,IAAkB;EAC/B,IAAI,QAAQ,IAAI,EAAE,GAAG;EACrB,QAAQ,IAAI,EAAE;EAEd,MAAM,OAAO,MAAM,IAAI,EAAE;EACzB,IAAI,CAAC,MAAM;EAEX,SAAS,IAAI,IAAI,IAAI;EAErB,KAAK,MAAM,OAAO,KAAK,cACrB,MAAM,GAAG;CAEb;CAEA,MAAM,MAAM;CACZ,OAAO;AACT;;;;AAKA,SAAgB,aACd,OACA,IACa;CACb,MAAM,4BAAY,IAAI,IAAY;CAClC,MAAM,0BAAU,IAAI,IAAY;CAEhC,SAAS,MAAM,GAAiB;EAC9B,IAAI,QAAQ,IAAI,CAAC,GAAG;EACpB,QAAQ,IAAI,CAAC;EAEb,MAAM,OAAO,MAAM,IAAI,CAAC;EACxB,IAAI,CAAC,MAAM;EAEX,KAAK,MAAM,OAAO,KAAK,cACrB,IAAI,MAAM,IAAI,GAAG,GAAG;GAClB,UAAU,IAAI,GAAG;GACjB,MAAM,GAAG;EACX;CAEJ;CAEA,MAAM,EAAE;CACR,OAAO;AACT;;;;AAKA,SAAgB,eACd,OACA,IACa;CACb,MAAM,8BAAc,IAAI,IAAY;CACpC,MAAM,0BAAU,IAAI,IAAY;CAGhC,MAAM,6BAAa,IAAI,IAAyB;CAChD,KAAK,MAAM,CAAC,QAAQ,SAAS,OAC3B,KAAK,MAAM,OAAO,KAAK,cAAc;EACnC,IAAI,CAAC,WAAW,IAAI,GAAG,GACrB,WAAW,IAAI,qBAAK,IAAI,IAAI,CAAC;EAE/B,WAAW,IAAI,GAAG,CAAC,CAAE,IAAI,MAAM;CACjC;CAGF,SAAS,MAAM,GAAiB;EAC9B,IAAI,QAAQ,IAAI,CAAC,GAAG;EACpB,QAAQ,IAAI,CAAC;EAEb,MAAM,OAAO,WAAW,IAAI,CAAC;EAC7B,IAAI,CAAC,MAAM;EAEX,KAAK,MAAM,OAAO,MAAM;GACtB,YAAY,IAAI,GAAG;GACnB,MAAM,GAAG;EACX;CACF;CAEA,MAAM,EAAE;CACR,OAAO;AACT;;;;AAKA,SAAgB,WACd,IACA,eAAyB,CAAC,GAC1B,MACgB;CAChB,MAAM,OAAuB;EAAE;EAAI;CAAa;CAChD,IAAI,SAAS,KAAA,GACX,KAAK,OAAO;CAEd,OAAO;AACT;;;;AAKA,SAAgB,aACd,OACoB;CACpB,OAAO,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5C"}
|
package/build/index.d.ts
CHANGED
|
@@ -3698,7 +3698,8 @@ export declare function readWriteLock<C extends object>(): Middleware<C>;
|
|
|
3698
3698
|
*/
|
|
3699
3699
|
export interface LRUOptions {
|
|
3700
3700
|
/**
|
|
3701
|
-
*
|
|
3701
|
+
* The maximum number of entries, a positive whole number. When the map is full, a new key
|
|
3702
|
+
* evicts the least recently used entry.
|
|
3702
3703
|
*/
|
|
3703
3704
|
capacity: number;
|
|
3704
3705
|
/**
|
|
@@ -3716,6 +3717,8 @@ export interface LRUOptions {
|
|
|
3716
3717
|
* This function maintains a doubly-linked list to track access order.
|
|
3717
3718
|
* Most recently accessed items are at the head.
|
|
3718
3719
|
* When capacity is exceeded, items at the tail are evicted.
|
|
3720
|
+
*
|
|
3721
|
+
* @throws RangeError when `options.capacity` is not a positive whole number.
|
|
3719
3722
|
*/
|
|
3720
3723
|
export declare function lruMap<K, V>(options: LRUOptions): Middleware<MapLike<K, V>, MapLike<K, V> & {
|
|
3721
3724
|
readonly isFull: boolean;
|
|
@@ -3735,6 +3738,11 @@ export declare class LRUCache<K, V> {
|
|
|
3735
3738
|
private map;
|
|
3736
3739
|
private head;
|
|
3737
3740
|
private tail;
|
|
3741
|
+
/**
|
|
3742
|
+
* @param capacity - The maximum number of entries, a positive whole number.
|
|
3743
|
+
* @param onEvict - The function that this cache starts for each entry that it evicts.
|
|
3744
|
+
* @throws RangeError when `capacity` is not a positive whole number.
|
|
3745
|
+
*/
|
|
3738
3746
|
constructor(capacity: number, onEvict?: ((key: K, value: V) => void) | undefined);
|
|
3739
3747
|
get size(): number;
|
|
3740
3748
|
get isFull(): boolean;
|
|
@@ -3742,6 +3750,16 @@ export declare class LRUCache<K, V> {
|
|
|
3742
3750
|
set(key: K, value: V): void;
|
|
3743
3751
|
has(key: K): boolean;
|
|
3744
3752
|
delete(key: K): boolean;
|
|
3753
|
+
/**
|
|
3754
|
+
* This method deletes each entry for which `matches` gives true, and it gives the number of
|
|
3755
|
+
* deleted entries. It is not a use: the order of the other entries does not change, and it
|
|
3756
|
+
* does not start `onEvict`. It starts `matches` once for each entry, the most recent first. If
|
|
3757
|
+
* `matches` throws, the entries that it matched before stay deleted.
|
|
3758
|
+
*
|
|
3759
|
+
* @param matches - The test of an entry.
|
|
3760
|
+
* @returns The number of deleted entries.
|
|
3761
|
+
*/
|
|
3762
|
+
deleteWhere(matches: (value: V, key: K) => boolean): number;
|
|
3745
3763
|
clear(): void;
|
|
3746
3764
|
private moveToHead;
|
|
3747
3765
|
private removeNode;
|
|
@@ -3756,7 +3774,9 @@ export declare class LRUCache<K, V> {
|
|
|
3756
3774
|
entries(): IterableIterator<[K, V]>;
|
|
3757
3775
|
}
|
|
3758
3776
|
/**
|
|
3759
|
-
*
|
|
3777
|
+
* This function makes an LRU cache.
|
|
3778
|
+
*
|
|
3779
|
+
* @throws RangeError when `capacity` is not a positive whole number.
|
|
3760
3780
|
*/
|
|
3761
3781
|
export declare function lruCache<K, V>(capacity: number, onEvict?: (key: K, value: V) => void): LRUCache<K, V>;
|
|
3762
3782
|
/**
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["Set","AsyncQueue","Set","PriorityQueue","IPriorityQueue","BoundedCollection","IAsyncQueue","toArray","toSet","toMap","toList","toMap"],"sources":["../src/core/traits.ts","../src/core/effects.ts","../src/core/policies.ts","../src/interfaces/collection.ts","../src/core/middleware.ts","../src/core/events.ts","../src/interfaces/list.ts","../src/interfaces/map.ts","../src/interfaces/set.ts","../src/storage/listeners.ts","../src/order/rank.ts","../src/interfaces/queue.ts","../src/impl/array-list.ts","../src/impl/array-deque.ts","../src/impl/hash-map.ts","../src/impl/linked-hash-map.ts","../src/impl/tree-map.ts","../src/impl/tree-set.ts","../src/impl/linked-list.ts","../src/impl/hash-set.ts","../src/impl/priority-queue.ts","../src/impl/summary-tree.ts","../src/behaviors/bounded.ts","../src/behaviors/readonly.ts","../src/behaviors/safe.ts","../src/behaviors/evented.ts","../src/behaviors/synchronized.ts","../src/behaviors/lru.ts","../src/behaviors/ttl.ts","../src/async/async-queue.ts","../src/async/channels.ts","../src/async/settled.ts","../src/fx/iter.ts","../src/fx/collectors.ts","../src/utils/defaults.ts","../src/utils/factories.ts","../src/utils/helpers.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["Set","AsyncQueue","Set","PriorityQueue","IPriorityQueue","BoundedCollection","IAsyncQueue","toArray","toSet","toMap","toList","toMap"],"sources":["../src/core/traits.ts","../src/core/effects.ts","../src/core/policies.ts","../src/interfaces/collection.ts","../src/core/middleware.ts","../src/core/events.ts","../src/interfaces/list.ts","../src/interfaces/map.ts","../src/interfaces/set.ts","../src/storage/listeners.ts","../src/order/rank.ts","../src/interfaces/queue.ts","../src/impl/array-list.ts","../src/impl/array-deque.ts","../src/impl/hash-map.ts","../src/impl/linked-hash-map.ts","../src/impl/tree-map.ts","../src/impl/tree-set.ts","../src/impl/linked-list.ts","../src/impl/hash-set.ts","../src/impl/priority-queue.ts","../src/impl/summary-tree.ts","../src/behaviors/bounded.ts","../src/behaviors/readonly.ts","../src/behaviors/safe.ts","../src/behaviors/evented.ts","../src/behaviors/synchronized.ts","../src/behaviors/lru.ts","../src/behaviors/ttl.ts","../src/async/async-queue.ts","../src/async/channels.ts","../src/async/settled.ts","../src/fx/iter.ts","../src/fx/collectors.ts","../src/utils/defaults.ts","../src/utils/factories.ts","../src/utils/helpers.ts"],"mappings":"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"}
|
package/build/index.js
CHANGED
|
@@ -4629,15 +4629,51 @@ var SummaryTree = class SummaryTree {
|
|
|
4629
4629
|
function summaryTree(spec, leaves = []) {
|
|
4630
4630
|
return SummaryTree.of(spec, leaves);
|
|
4631
4631
|
}
|
|
4632
|
+
// src/core/capacity.ts
|
|
4633
|
+
/**
|
|
4634
|
+
* The check of a capacity, for each layer and class that has a maximum size.
|
|
4635
|
+
*/
|
|
4636
|
+
/**
|
|
4637
|
+
* This function gives the capacity when it is a positive whole number. Otherwise it throws a
|
|
4638
|
+
* `RangeError`. A capacity of `NaN` makes a comparison `size >= capacity` always false, so a
|
|
4639
|
+
* structure with that capacity grows without a limit. A capacity of 0 or less, or a fraction,
|
|
4640
|
+
* has no clear meaning.
|
|
4641
|
+
*
|
|
4642
|
+
* @param capacity - The capacity to check.
|
|
4643
|
+
* @param owner - The name of the layer or class, for the message of the error.
|
|
4644
|
+
* @returns The same capacity.
|
|
4645
|
+
* @throws RangeError when the capacity is not a positive whole number.
|
|
4646
|
+
*/
|
|
4647
|
+
function checkCapacity(capacity, owner) {
|
|
4648
|
+
if (!Number.isSafeInteger(capacity) || capacity < 1) throw new RangeError(`${owner}: the capacity must be a positive whole number, not ${String(capacity)}`);
|
|
4649
|
+
return capacity;
|
|
4650
|
+
}
|
|
4632
4651
|
// src/behaviors/bounded.ts
|
|
4633
4652
|
/**
|
|
4653
|
+
* Bounded behavior - Enforces capacity limits on collections.
|
|
4654
|
+
*
|
|
4655
|
+
* This module wraps collections to prevent them from exceeding a maximum size.
|
|
4656
|
+
* This module gives various overflow policies to handle full collections.
|
|
4657
|
+
*
|
|
4658
|
+
* @example
|
|
4659
|
+
* const list = compose(
|
|
4660
|
+
* boundedList<number>({ capacity: 100, policy: 'drop-oldest' })
|
|
4661
|
+
* )(arrayList<number>())
|
|
4662
|
+
*
|
|
4663
|
+
* // Add 101 elements - first element will be dropped
|
|
4664
|
+
* for (let i = 0; i < 101; i++) {
|
|
4665
|
+
* list.add(i)
|
|
4666
|
+
* }
|
|
4667
|
+
*/
|
|
4668
|
+
/**
|
|
4634
4669
|
* This function makes a bounded List middleware.
|
|
4635
4670
|
*
|
|
4636
4671
|
* Intercepts add operations to enforce capacity limits.
|
|
4637
4672
|
* This function supports multiple overflow policies.
|
|
4638
4673
|
*/
|
|
4639
4674
|
function boundedList(options) {
|
|
4640
|
-
const {
|
|
4675
|
+
const { policy = "throw", onOverflow } = options;
|
|
4676
|
+
const capacity = checkCapacity(options.capacity, "boundedList");
|
|
4641
4677
|
return (next) => {
|
|
4642
4678
|
const handleOverflow = (element, dropFrom = "first") => {
|
|
4643
4679
|
if (onOverflow) {
|
|
@@ -4734,7 +4770,8 @@ function boundedList(options) {
|
|
|
4734
4770
|
* This function makes a bounded Queue middleware.
|
|
4735
4771
|
*/
|
|
4736
4772
|
function boundedQueue(options) {
|
|
4737
|
-
const {
|
|
4773
|
+
const { policy = "throw", onOverflow } = options;
|
|
4774
|
+
const capacity = checkCapacity(options.capacity, "boundedQueue");
|
|
4738
4775
|
return (next) => {
|
|
4739
4776
|
const handleOverflow = (element) => {
|
|
4740
4777
|
if (onOverflow) {
|
|
@@ -4782,7 +4819,8 @@ function boundedQueue(options) {
|
|
|
4782
4819
|
* This function makes a bounded Deque middleware.
|
|
4783
4820
|
*/
|
|
4784
4821
|
function boundedDeque(options) {
|
|
4785
|
-
const {
|
|
4822
|
+
const { policy = "throw", onOverflow } = options;
|
|
4823
|
+
const capacity = checkCapacity(options.capacity, "boundedDeque");
|
|
4786
4824
|
return (next) => {
|
|
4787
4825
|
const handleOverflow = (element) => {
|
|
4788
4826
|
if (onOverflow) {
|
|
@@ -4834,7 +4872,8 @@ function boundedDeque(options) {
|
|
|
4834
4872
|
* This function makes a bounded Map middleware.
|
|
4835
4873
|
*/
|
|
4836
4874
|
function boundedMap(options) {
|
|
4837
|
-
const {
|
|
4875
|
+
const { policy = "throw", onOverflow } = options;
|
|
4876
|
+
const capacity = checkCapacity(options.capacity, "boundedMap");
|
|
4838
4877
|
return (next) => {
|
|
4839
4878
|
let insertionOrder = [];
|
|
4840
4879
|
const handleOverflow = (key, value) => {
|
|
@@ -5711,14 +5750,32 @@ function compositeMapMethod(map, name) {
|
|
|
5711
5750
|
}
|
|
5712
5751
|
// src/behaviors/lru.ts
|
|
5713
5752
|
/**
|
|
5753
|
+
* LRU (Least Recently Used) eviction behavior.
|
|
5754
|
+
*
|
|
5755
|
+
* This module tracks access times and automatically evicts the least recently used
|
|
5756
|
+
* elements when capacity is reached. Perfect for caching.
|
|
5757
|
+
*
|
|
5758
|
+
* @example
|
|
5759
|
+
* const cache = compose(
|
|
5760
|
+
* lruMap<string, Data>({ capacity: 100 })
|
|
5761
|
+
* )(hashMap<string, Data>())
|
|
5762
|
+
*
|
|
5763
|
+
* cache.set('key1', data1) // Accessed
|
|
5764
|
+
* cache.get('key1') // Accessed again (moves to front)
|
|
5765
|
+
* // When full, least recently accessed keys are evicted
|
|
5766
|
+
*/
|
|
5767
|
+
/**
|
|
5714
5768
|
* This function makes an LRU Map middleware.
|
|
5715
5769
|
*
|
|
5716
5770
|
* This function maintains a doubly-linked list to track access order.
|
|
5717
5771
|
* Most recently accessed items are at the head.
|
|
5718
5772
|
* When capacity is exceeded, items at the tail are evicted.
|
|
5773
|
+
*
|
|
5774
|
+
* @throws RangeError when `options.capacity` is not a positive whole number.
|
|
5719
5775
|
*/
|
|
5720
5776
|
function lruMap(options) {
|
|
5721
|
-
const {
|
|
5777
|
+
const { onEvict } = options;
|
|
5778
|
+
const capacity = checkCapacity(options.capacity, "lruMap");
|
|
5722
5779
|
return (next) => {
|
|
5723
5780
|
let head = null;
|
|
5724
5781
|
let tail = null;
|
|
@@ -5851,8 +5908,13 @@ var LRUCache = class {
|
|
|
5851
5908
|
map = /* @__PURE__ */ new Map();
|
|
5852
5909
|
head = null;
|
|
5853
5910
|
tail = null;
|
|
5911
|
+
/**
|
|
5912
|
+
* @param capacity - The maximum number of entries, a positive whole number.
|
|
5913
|
+
* @param onEvict - The function that this cache starts for each entry that it evicts.
|
|
5914
|
+
* @throws RangeError when `capacity` is not a positive whole number.
|
|
5915
|
+
*/
|
|
5854
5916
|
constructor(capacity, onEvict) {
|
|
5855
|
-
this.capacity = capacity;
|
|
5917
|
+
this.capacity = checkCapacity(capacity, "LRUCache");
|
|
5856
5918
|
this.onEvict = onEvict;
|
|
5857
5919
|
}
|
|
5858
5920
|
get size() {
|
|
@@ -5901,6 +5963,29 @@ var LRUCache = class {
|
|
|
5901
5963
|
this.map.delete(key);
|
|
5902
5964
|
return true;
|
|
5903
5965
|
}
|
|
5966
|
+
/**
|
|
5967
|
+
* This method deletes each entry for which `matches` gives true, and it gives the number of
|
|
5968
|
+
* deleted entries. It is not a use: the order of the other entries does not change, and it
|
|
5969
|
+
* does not start `onEvict`. It starts `matches` once for each entry, the most recent first. If
|
|
5970
|
+
* `matches` throws, the entries that it matched before stay deleted.
|
|
5971
|
+
*
|
|
5972
|
+
* @param matches - The test of an entry.
|
|
5973
|
+
* @returns The number of deleted entries.
|
|
5974
|
+
*/
|
|
5975
|
+
deleteWhere(matches) {
|
|
5976
|
+
const nodes = [];
|
|
5977
|
+
for (let node = this.head; node; node = node.next) nodes.push(node);
|
|
5978
|
+
let deleted = 0;
|
|
5979
|
+
for (const node of nodes) {
|
|
5980
|
+
if (this.map.get(node.key)?.node !== node) continue;
|
|
5981
|
+
if (!matches(node.value, node.key)) continue;
|
|
5982
|
+
if (this.map.get(node.key)?.node !== node) continue;
|
|
5983
|
+
this.removeNode(node);
|
|
5984
|
+
this.map.delete(node.key);
|
|
5985
|
+
deleted++;
|
|
5986
|
+
}
|
|
5987
|
+
return deleted;
|
|
5988
|
+
}
|
|
5904
5989
|
clear() {
|
|
5905
5990
|
this.map.clear();
|
|
5906
5991
|
this.head = null;
|
|
@@ -5952,7 +6037,9 @@ var LRUCache = class {
|
|
|
5952
6037
|
}
|
|
5953
6038
|
};
|
|
5954
6039
|
/**
|
|
5955
|
-
*
|
|
6040
|
+
* This function makes an LRU cache.
|
|
6041
|
+
*
|
|
6042
|
+
* @throws RangeError when `capacity` is not a positive whole number.
|
|
5956
6043
|
*/
|
|
5957
6044
|
function lruCache(capacity, onEvict) {
|
|
5958
6045
|
return new LRUCache(capacity, onEvict);
|