@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.
@@ -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
- /** Names of failed nodes */
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.)
@@ -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;;;;;;;;;;;;wBClER,gBAAgB,cAAc,SAC5C,OAAO,YAAY,SAClB,cAAc;;;;wBA+ED,oBAAoB,cAAc,SAChD,KAAK,cAAc,SAClB;;;;wBAOa,aAAa,cAAc,SACzC,KAAK,cAAc;;;;;;;;;;;;;;;wBCrCC,WAAW,cAAc,SAC7C,KAAK,cAAc,QACnB,YAAY,MAAM,UAAU,QAAQ,WAAW,SAC/C,UAAS,oBAAoB,SAC5B,QAAQ,UAAU;;;;wBAqEC,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;;;;wBCvJvB,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"}
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"}
@@ -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 levelResults = await executeWithConcurrency(level, async (node) => {
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
  }
@@ -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":"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"}
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
- * Maximum capacity. When exceeded, least recently used items are evicted.
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
- * Factory function to make an LRU cache.
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
  /**
@@ -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 { capacity, policy = "throw", onOverflow } = options;
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 { capacity, policy = "throw", onOverflow } = options;
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 { capacity, policy = "throw", onOverflow } = options;
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 { capacity, policy = "throw", onOverflow } = options;
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 { capacity, onEvict } = options;
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
- * Factory function to make an LRU cache.
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);