Skip to content

Commit 62dd36e

Browse files
committed
perf: drop now unused reverseNodeDependencies
1 parent ee4f856 commit 62dd36e

4 files changed

Lines changed: 0 additions & 33 deletions

File tree

packages/shared/src/graph/__tests__/walk.test.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ describe('walkTopological', () => {
1111
const makeGraph = (deps: Array<[string, Array<string>]>, nodes: Array<string>) => {
1212
const nodeDependencies = new Map<string, Set<string>>();
1313
const subtreeDependencies = new Map<string, Set<string>>();
14-
const reverseNodeDependencies = new Map<string, Set<string>>();
1514
const nodesMap = new Map<string, any>();
1615

1716
for (const name of nodes) {
@@ -22,16 +21,11 @@ describe('walkTopological', () => {
2221
const s = new Set<string>(toList);
2322
nodeDependencies.set(from, s);
2423
subtreeDependencies.set(from, new Set<string>(toList));
25-
for (const to of toList) {
26-
if (!reverseNodeDependencies.has(to)) reverseNodeDependencies.set(to, new Set());
27-
reverseNodeDependencies.get(to)!.add(from);
28-
}
2924
}
3025

3126
return {
3227
nodeDependencies,
3328
nodes: nodesMap,
34-
reverseNodeDependencies,
3529
subtreeDependencies,
3630
transitiveDependencies: new Map<string, Set<string>>(),
3731
} as unknown as Graph;
@@ -183,13 +177,11 @@ describe('walkTopological', () => {
183177
const nodeDependencies = new Map<string, Set<string>>();
184178
nodeDependencies.set(schema, new Set([param]));
185179
const subtreeDependencies = new Map<string, Set<string>>();
186-
const reverseNodeDependencies = new Map<string, Set<string>>();
187180
const nodesMap = new Map<string, any>();
188181
for (const n of nodes) nodesMap.set(n, { key: null, node: {}, parentPointer: null });
189182
const graph = {
190183
nodeDependencies,
191184
nodes: nodesMap,
192-
reverseNodeDependencies,
193185
subtreeDependencies,
194186
transitiveDependencies: new Map<string, Set<string>>(),
195187
} as unknown as Graph;
@@ -215,7 +207,6 @@ describe('walkTopological', () => {
215207
const graph = {
216208
nodeDependencies,
217209
nodes: nodesMap,
218-
reverseNodeDependencies: new Map<string, Set<string>>(),
219210
subtreeDependencies: new Map<string, Set<string>>(),
220211
transitiveDependencies: new Map<string, Set<string>>(),
221212
} as unknown as Graph;
@@ -240,7 +231,6 @@ describe('walkTopological', () => {
240231
const graph = {
241232
nodeDependencies,
242233
nodes: nodesMap,
243-
reverseNodeDependencies: new Map<string, Set<string>>(),
244234
subtreeDependencies,
245235
transitiveDependencies: new Map<string, Set<string>>(),
246236
} as unknown as Graph;

packages/shared/src/graph/types/graph.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type { Scope } from '../../openApi/shared/utils/graph';
55
*
66
* @property nodeDependencies - For each node with at least one dependency, the set of normalized JSON Pointers it references via $ref. Nodes with no dependencies are omitted.
77
* @property nodes - Map from normalized JSON Pointer to NodeInfo for every node in the spec.
8-
* @property reverseNodeDependencies - For each node with at least one dependent, the set of nodes that reference it via $ref. Nodes with no dependents are omitted.
98
*/
109
export type Graph = {
1110
/**
@@ -17,11 +16,6 @@ export type Graph = {
1716
* Map from normalized JSON Pointer to NodeInfo for every node in the spec.
1817
*/
1918
nodes: Map<string, NodeInfo>;
20-
/**
21-
* For each node with at least one dependent, the set of nodes that reference it via $ref.
22-
* Nodes with no dependents are omitted from this map.
23-
*/
24-
reverseNodeDependencies: Map<string, Set<string>>;
2519
/**
2620
* For each node, the set of direct $ref targets that appear anywhere inside the node's
2721
* subtree (the node itself and its children). This is populated during graph construction

packages/shared/src/openApi/shared/utils/__tests__/graph.test.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,6 @@ describe('buildGraph', () => {
4040
// Qux transitive deps should include Baz (and vice-versa because of the cycle)
4141
expect(graph.transitiveDependencies.get(qux)).toBeDefined();
4242
expect(Array.from(graph.transitiveDependencies.get(qux)!).sort()).toEqual([baz].sort());
43-
44-
// Reverse dependencies should reflect the mutual references
45-
expect(graph.reverseNodeDependencies.get(qux)).toBeDefined();
46-
expect(Array.from(graph.reverseNodeDependencies.get(qux)!).sort()).toEqual([baz].sort());
47-
expect(Array.from(graph.reverseNodeDependencies.get(baz)!).sort()).toEqual([qux].sort());
4843
});
4944

5045
it('handles a small hand-constructed tree with child-level $ref', () => {

packages/shared/src/openApi/shared/utils/graph.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -246,14 +246,12 @@ export const seedLocalScopes = (nodes: Graph['nodes']): void => {
246246
* - All keys in the returned maps are normalized JSON Pointers (RFC 6901, always starting with '#').
247247
* - The `nodes` map allows fast lookup of any node and its parent/key context.
248248
* - The `dependencies` map records, for each node, the set of normalized pointers it references via $ref.
249-
* - The `reverseNodeDependencies` map records, for each node, the set of nodes that reference it via $ref.
250249
* - After construction, all nodes will have their local and propagated scopes annotated.
251250
*
252251
* @param root The root object (e.g., the OpenAPI spec)
253252
* @returns An object with:
254253
* - nodes: Map from normalized JSON Pointer string to NodeInfo
255254
* - dependencies: Map from normalized JSON Pointer string to Set of referenced normalized JSON Pointers
256-
* - reverseNodeDependencies: Map from normalized JSON Pointer string to Set of referencing normalized JSON Pointers
257255
*/
258256
export function buildGraph(
259257
root: unknown,
@@ -265,7 +263,6 @@ export function buildGraph(
265263
const graph: Graph = {
266264
nodeDependencies: new Map(),
267265
nodes: new Map(),
268-
reverseNodeDependencies: new Map(),
269266
subtreeDependencies: new Map(),
270267
transitiveDependencies: new Map(),
271268
};
@@ -352,15 +349,6 @@ export function buildGraph(
352349
cache.parentToChildren.get(parent)!.push(pointer);
353350
}
354351

355-
for (const [pointerFrom, pointers] of graph.nodeDependencies) {
356-
for (const pointerTo of pointers) {
357-
if (!graph.reverseNodeDependencies.has(pointerTo)) {
358-
graph.reverseNodeDependencies.set(pointerTo, new Set());
359-
}
360-
graph.reverseNodeDependencies.get(pointerTo)!.add(pointerFrom);
361-
}
362-
}
363-
364352
seedLocalScopes(graph.nodes);
365353
propagateScopes(graph);
366354
annotateChildScopes(graph.nodes);

0 commit comments

Comments
 (0)