ts-morph-extensions 2.26.1 → 2.27.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.
@@ -12,8 +12,11 @@ export declare class Graph {
12
12
  findProvider(name: string): Provider | undefined;
13
13
  getProviders(): Provider[];
14
14
  getSubgraphs(): Graph[];
15
+ getPrivateSubgraphs(): Graph[];
16
+ getAllSubgraphs(): Graph[];
15
17
  private getGraphFromSubgraph;
16
18
  private getSubgraphsFromDecorator;
19
+ private getPrivateSubgraphsFromDecorator;
17
20
  resolveProviders(dedupeSet?: DedupeSet<string>): Provider[];
18
21
  private getBaseGraph;
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/dto/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,UAAU,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,qBAAa,KAAK;IACH,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE3C,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEM,eAAe,CAAC,IAAI,EAAE,MAAM;IAM5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,eAAe,CAAC,IAAI,EAAE,MAAM;IAInC,OAAO,CAAC,4BAA4B;IAO7B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB,YAAY;IAKZ,YAAY,IAAI,KAAK,EAAE;IAM9B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,yBAAyB;IAM1B,gBAAgB,CAAC,SAAS,oBAAkB,GAAG,QAAQ,EAAE;IAOhE,OAAO,CAAC,YAAY;CAGrB"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/dto/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,UAAU,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,qBAAa,KAAK;IACH,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE3C,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEM,eAAe,CAAC,IAAI,EAAE,MAAM;IAM5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,eAAe,CAAC,IAAI,EAAE,MAAM;IAInC,OAAO,CAAC,4BAA4B;IAO7B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB,YAAY;IAKZ,YAAY,IAAI,KAAK,EAAE;IAMvB,mBAAmB,IAAI,KAAK,EAAE;IAM9B,eAAe,IAAI,KAAK,EAAE;IAIjC,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,gCAAgC;IAMjC,gBAAgB,CAAC,SAAS,oBAAkB,GAAG,QAAQ,EAAE;IAOhE,OAAO,CAAC,YAAY;CAGrB"}
package/dist/dto/graph.js CHANGED
@@ -24,7 +24,7 @@ class Graph {
24
24
  return this.findProvider(name);
25
25
  }
26
26
  resolveProviderFromSubgraphs(name) {
27
- for (const subgraph of this.getSubgraphs()) {
27
+ for (const subgraph of this.getAllSubgraphs()) {
28
28
  const provider = subgraph.resolveProvider(name);
29
29
  if (provider)
30
30
  return provider;
@@ -42,6 +42,14 @@ class Graph {
42
42
  .map(graph => this.getGraphFromSubgraph(graph))
43
43
  .filter(objects_1.isDefined);
44
44
  }
45
+ getPrivateSubgraphs() {
46
+ return this.getPrivateSubgraphsFromDecorator()
47
+ .map(graph => this.getGraphFromSubgraph(graph))
48
+ .filter(objects_1.isDefined);
49
+ }
50
+ getAllSubgraphs() {
51
+ return [...this.getSubgraphs(), ...this.getPrivateSubgraphs()];
52
+ }
45
53
  getGraphFromSubgraph(graph) {
46
54
  const declaration = (0, index_1.getDefinition)(graph, ts_morph_1.SyntaxKind.ClassDeclaration);
47
55
  return declaration && new Graph(declaration);
@@ -51,11 +59,16 @@ class Graph {
51
59
  const subgraphsArg = graphDecorator?.getArgument(0, 'subgraphs');
52
60
  return ts_morph_1.Node.isArrayLiteralExpression(subgraphsArg) ? subgraphsArg.getElements() : [];
53
61
  }
62
+ getPrivateSubgraphsFromDecorator() {
63
+ const graphDecorator = (0, index_1.getDecorator)(this.node, ['Graph', 'graph']);
64
+ const privateSubgraphsArg = graphDecorator?.getArgument(0, 'privateSubgraphs');
65
+ return ts_morph_1.Node.isArrayLiteralExpression(privateSubgraphsArg) ? privateSubgraphsArg.getElements() : [];
66
+ }
54
67
  resolveProviders(dedupeSet = new dedupeSet_1.DedupeSet()) {
55
68
  const ownProviders = this.getProviders().filter(provider => dedupeSet.dedupe(provider.name));
56
- const subgraphProviders = this.getSubgraphs().flatMap(subgraph => subgraph.resolveProviders(dedupeSet));
69
+ const allSubgraphProviders = this.getAllSubgraphs().flatMap(subgraph => subgraph.resolveProviders(dedupeSet));
57
70
  const baseGraphProviders = this.getBaseGraph()?.getProviders().filter(provider => dedupeSet.dedupe(provider.name)) || [];
58
- return [...ownProviders, ...baseGraphProviders, ...subgraphProviders];
71
+ return [...ownProviders, ...baseGraphProviders, ...allSubgraphProviders];
59
72
  }
60
73
  getBaseGraph() {
61
74
  if (this.node.getBaseClass())
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/dto/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/dto/graph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-morph-extensions",
3
- "version": "2.26.1",
3
+ "version": "2.27.0",
4
4
  "description": "Extensions and utilities for working with ts-morph projects and TypeScript configurations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",