@finos/legend-graph 31.3.11 → 31.4.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.
Files changed (49) hide show
  1. package/lib/graph/BasicModel.d.ts +3 -1
  2. package/lib/graph/BasicModel.d.ts.map +1 -1
  3. package/lib/graph/BasicModel.js +10 -3
  4. package/lib/graph/BasicModel.js.map +1 -1
  5. package/lib/graph/DependencyManager.d.ts +6 -3
  6. package/lib/graph/DependencyManager.d.ts.map +1 -1
  7. package/lib/graph/DependencyManager.js +7 -4
  8. package/lib/graph/DependencyManager.js.map +1 -1
  9. package/lib/graph/PureGraphPlugin.d.ts +2 -2
  10. package/lib/graph/PureGraphPlugin.d.ts.map +1 -1
  11. package/lib/graph/PureGraphPlugin.js.map +1 -1
  12. package/lib/graph/PureModel.d.ts +4 -5
  13. package/lib/graph/PureModel.d.ts.map +1 -1
  14. package/lib/graph/PureModel.js +17 -17
  15. package/lib/graph/PureModel.js.map +1 -1
  16. package/lib/graph/metamodel/pure/packageableElements/runtime/Runtime.d.ts +1 -8
  17. package/lib/graph/metamodel/pure/packageableElements/runtime/Runtime.d.ts.map +1 -1
  18. package/lib/graph/metamodel/pure/packageableElements/runtime/Runtime.js +0 -16
  19. package/lib/graph/metamodel/pure/packageableElements/runtime/Runtime.js.map +1 -1
  20. package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
  21. package/lib/graph-manager/AbstractPureGraphManager.js +3 -9
  22. package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
  23. package/lib/graph-manager/GraphManagerState.d.ts.map +1 -1
  24. package/lib/graph-manager/GraphManagerState.js +2 -5
  25. package/lib/graph-manager/GraphManagerState.js.map +1 -1
  26. package/lib/graph-manager/action/changeDetection/GraphObserverHelper.js +1 -1
  27. package/lib/graph-manager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  28. package/lib/graph-manager/helpers/DSL_Data_GraphManagerHelper.js +1 -1
  29. package/lib/graph-manager/helpers/DSL_Data_GraphManagerHelper.js.map +1 -1
  30. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts +0 -7
  31. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
  32. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/runtime/V1_Runtime.js +0 -13
  33. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
  34. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts.map +1 -1
  35. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js +2 -7
  36. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js.map +1 -1
  37. package/lib/package.json +1 -1
  38. package/package.json +1 -1
  39. package/src/graph/BasicModel.ts +20 -2
  40. package/src/graph/DependencyManager.ts +10 -6
  41. package/src/graph/PureGraphPlugin.ts +4 -2
  42. package/src/graph/PureModel.ts +17 -19
  43. package/src/graph/metamodel/pure/packageableElements/runtime/Runtime.ts +1 -30
  44. package/src/graph-manager/AbstractPureGraphManager.ts +3 -17
  45. package/src/graph-manager/GraphManagerState.ts +4 -5
  46. package/src/graph-manager/action/changeDetection/GraphObserverHelper.ts +1 -1
  47. package/src/graph-manager/helpers/DSL_Data_GraphManagerHelper.ts +1 -1
  48. package/src/graph-manager/protocol/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +0 -16
  49. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.ts +0 -9
@@ -41,6 +41,7 @@ import { ExecutionEnvironmentInstance } from './metamodel/pure/packageableElemen
41
41
  import type { GraphDataOrigin } from './GraphDataOrigin.js';
42
42
  import { INTERNAL__UnknownPackageableElement } from './metamodel/pure/packageableElements/INTERNAL__UnknownPackageableElement.js';
43
43
  import { FunctionActivator } from './metamodel/pure/packageableElements/function/FunctionActivator.js';
44
+ import type { PureGraphPlugin } from './PureGraphPlugin.js';
44
45
  /**
45
46
  * Since this is the basis of the Pure graph itself, it shares many methods with the graph.
46
47
  * But the graph holds references to many basic graphs and expose those to outside consumers
@@ -53,6 +54,7 @@ export declare abstract class BasicModel {
53
54
  root: Package;
54
55
  private _origin;
55
56
  readonly extensions: PureGraphExtension<PackageableElement>[];
57
+ readonly graphPlugins: PureGraphPlugin[];
56
58
  private elementSectionIndex;
57
59
  private sectionIndicesIndex;
58
60
  private readonly profilesIndex;
@@ -70,7 +72,7 @@ export declare abstract class BasicModel {
70
72
  private readonly dataElementsIndex;
71
73
  private readonly executionEnvironmentsIndex;
72
74
  private readonly INTERNAL__unknownElementsIndex;
73
- constructor(rootPackageName: string, extensionElementClasses: Clazz<PackageableElement>[], origin?: GraphDataOrigin | undefined);
75
+ constructor(rootPackageName: string, graphPlugins: PureGraphPlugin[], origin?: GraphDataOrigin | undefined);
74
76
  private createGraphExtensions;
75
77
  get ownSectionIndices(): SectionIndex[];
76
78
  get ownProfiles(): Profile[];
@@ -1 +1 @@
1
- {"version":3,"file":"BasicModel.d.ts","sourceRoot":"","sources":["../../src/graph/BasicModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasicModel.d.ts","sourceRoot":"","sources":["../../src/graph/BasicModel.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { UnsupportedOperationError, getClass, IllegalStateError, returnUndefOnError, promisify, filterByType, guaranteeNonNullable, guaranteeType, } from '@finos/legend-shared';
16
+ import { UnsupportedOperationError, getClass, IllegalStateError, returnUndefOnError, promisify, filterByType, guaranteeNonNullable, guaranteeType, isNonNullable, } from '@finos/legend-shared';
17
17
  import { Package } from '../graph/metamodel/pure/packageableElements/domain/Package.js';
18
18
  import { Type } from '../graph/metamodel/pure/packageableElements/domain/Type.js';
19
19
  import { Association } from '../graph/metamodel/pure/packageableElements/domain/Association.js';
@@ -81,6 +81,7 @@ export class BasicModel {
81
81
  root;
82
82
  _origin;
83
83
  extensions = [];
84
+ graphPlugins = [];
84
85
  elementSectionIndex = new Map();
85
86
  sectionIndicesIndex = new Map();
86
87
  profilesIndex = new Map();
@@ -98,8 +99,9 @@ export class BasicModel {
98
99
  dataElementsIndex = new Map();
99
100
  executionEnvironmentsIndex = new Map();
100
101
  INTERNAL__unknownElementsIndex = new Map();
101
- constructor(rootPackageName, extensionElementClasses, origin) {
102
+ constructor(rootPackageName, graphPlugins, origin) {
102
103
  this.root = new Package(rootPackageName);
104
+ const extensionElementClasses = graphPlugins.flatMap((plugin) => plugin.getExtraPureGraphExtensionClasses?.() ?? []);
103
105
  this.extensions = this.createGraphExtensions(extensionElementClasses);
104
106
  this._origin = origin;
105
107
  }
@@ -172,7 +174,12 @@ export class BasicModel {
172
174
  return Array.from(this.generationSpecificationsIndex.values());
173
175
  }
174
176
  get ownTestables() {
175
- return [...this.ownServices, ...this.ownMappings];
177
+ const coreTestables = [...this.ownServices, ...this.ownMappings];
178
+ const filters = this.graphPlugins.flatMap((plugin) => plugin.getExtraTestablesCollectors?.() ?? []);
179
+ const extraTestables = this.allOwnElements
180
+ .map((element) => filters.find((elementFilter) => Boolean(elementFilter(element)))?.(element))
181
+ .filter(isNonNullable);
182
+ return [...coreTestables, ...extraTestables];
176
183
  }
177
184
  get origin() {
178
185
  return this._origin;
@@ -1 +1 @@
1
- {"version":3,"file":"BasicModel.js","sourceRoot":"","sources":["../../src/graph/BasicModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasicModel.js","sourceRoot":"","sources":["../../src/graph/BasicModel.ts"],"names":[],"mappings":"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"}
@@ -38,18 +38,20 @@ import type { DataElement } from './metamodel/pure/packageableElements/data/Data
38
38
  import type { ExecutionEnvironmentInstance } from './metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
39
39
  import { type GraphDataOrigin } from './GraphDataOrigin.js';
40
40
  import type { FunctionActivator } from './metamodel/pure/packageableElements/function/FunctionActivator.js';
41
+ import type { PureGraphPlugin } from './PureGraphPlugin.js';
42
+ import type { Testable } from './metamodel/pure/test/Testable.js';
41
43
  export declare const DEPENDENCY_ROOT_PACKAGE_PREFIX = "@dependency__";
42
44
  export declare const generateDependencyRootPackageName: (dependencyKey: string) => string;
43
45
  export declare const extractDependencyGACoordinateFromRootPackageName: (packageName: string) => string | undefined;
44
46
  export declare class DependencyModel extends BasicModel {
45
- constructor(extensionElementClasses: Clazz<PackageableElement>[], root: Package, origin: GraphDataOrigin);
47
+ constructor(extensionElementClasses: PureGraphPlugin[], root: Package, origin: GraphDataOrigin);
46
48
  }
47
49
  export declare class DependencyManager {
48
- private readonly extensionElementClasses;
50
+ private readonly graphPlugins;
49
51
  private _origin;
50
52
  roots: Package[];
51
53
  projectDependencyModelsIndex: Map<string, BasicModel>;
52
- constructor(extensionElementClasses: Clazz<PackageableElement>[]);
54
+ constructor(graphPlugins: PureGraphPlugin[]);
53
55
  /**
54
56
  * Here we create and index a graph for each dependency
55
57
  */
@@ -97,6 +99,7 @@ export declare class DependencyManager {
97
99
  get dataElements(): DataElement[];
98
100
  get generationSpecifications(): GenerationSpecification[];
99
101
  get fileGenerations(): FileGenerationSpecification[];
102
+ get testables(): Testable[];
100
103
  get executionEnvironments(): ExecutionEnvironmentInstance[];
101
104
  getExtensionElements<T extends PackageableElement>(extensionElementClass: Clazz<T>): T[];
102
105
  getModel(projectId: string): BasicModel;
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyManager.d.ts","sourceRoot":"","sources":["../../src/graph/DependencyManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,KAAK,EAGX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mEAAmE,CAAC;AAC5G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAC;AACrG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4DAA4D,CAAC;AACvF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6DAA6D,CAAC;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gEAAgE,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,+DAA+D,CAAC;AACxF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6EAA6E,CAAC;AAC9H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4DAA4D,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mEAAmE,CAAC;AACrG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gEAAgE,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAC;AACpH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iFAAiF,CAAC;AAC7H,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gGAAgG,CAAC;AAC9I,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+DAA+D,CAAC;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qEAAqE,CAAC;AACxG,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yEAAyE,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8EAA8E,CAAC;AACjI,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oEAAoE,CAAC;AAE5G,eAAO,MAAM,8BAA8B,kBAAkB,CAAC;AAC9D,eAAO,MAAM,iCAAiC,kBAC7B,MAAM,KACpB,MAA6D,CAAC;AACjE,eAAO,MAAM,gDAAgD,gBAC9C,MAAM,KAClB,MAAM,GAAG,SAMX,CAAC;AAEF,qBAAa,eAAgB,SAAQ,UAAU;gBAE3C,uBAAuB,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,EACpD,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,eAAe;CAK1B;AAiBD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA8B;IAEtE,OAAO,CAAC,OAAO,CAA8B;IAE7C,KAAK,EAAE,OAAO,EAAE,CAAM;IACtB,4BAA4B,0BAAiC;gBAEjD,uBAAuB,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE;IAIhE;;OAEG;IACH,UAAU,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI;IAwB1E,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,cAAc,IAAI,kBAAkB,EAAE,CAEzC;IAED,IAAI,MAAM,IAAI,eAAe,GAAG,SAAS,CAExC;IAED,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAQrC,0BAA0B,6CAGxB;IACF,qBAAqB,wCAGnB;IACF,kBAAkB,qCAGhB;IACF,mBAAmB,sCAGjB;IACF,yBAAyB,4CAGvB;IACF,qBAAqB,wCAGnB;IACF,yBAAyB,4CAGvB;IACF,sBAAsB,2DAGpB;IACF,+BAA+B,kDAI7B;IACF,mBAAmB,sCAGjB;IACF,qBAAqB,wCAGnB;IACF,wBAAwB,sDAGtB;IACF,qBAAqB,mDAGnB;IACF,qBAAqB,wCAGnB;IACF,qCAAqC,wDAInC;IACF,4BAA4B,4DAG1B;IACF,yBAAyB,4CAGvB;IACF,0BAA0B,6DAIxB;IACF,8BAA8B,CAAC,CAAC,SAAS,kBAAkB,EACzD,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,GAC9B,CAAC,GAAG,SAAS;IAYhB,IAAI,cAAc,IAAI,YAAY,EAAE,CAEnC;IACD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IACD,IAAI,YAAY,IAAI,WAAW,EAAE,CAEhC;IACD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IACD,IAAI,OAAO,IAAI,KAAK,EAAE,CAErB;IACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IACD,IAAI,YAAY,IAAI,WAAW,EAAE,CAEhC;IACD,IAAI,SAAS,IAAI,0BAA0B,EAAE,CAE5C;IACD,IAAI,kBAAkB,IAAI,iBAAiB,EAAE,CAE5C;IACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAEpB;IACD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAE1B;IACD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IACD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IACD,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAEnC;IACD,IAAI,WAAW,IAAI,qBAAqB,EAAE,CAEzC;IACD,IAAI,YAAY,IAAI,WAAW,EAAE,CAEhC;IACD,IAAI,wBAAwB,IAAI,uBAAuB,EAAE,CAIxD;IACD,IAAI,eAAe,IAAI,2BAA2B,EAAE,CAEnD;IAED,IAAI,qBAAqB,IAAI,4BAA4B,EAAE,CAE1D;IAED,oBAAoB,CAAC,CAAC,SAAS,kBAAkB,EAC/C,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,GAC9B,CAAC,EAAE;IAMN,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAOvC,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,GACvB,kBAAkB,GAAG,SAAS;IAOjC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;CAQlE"}
1
+ {"version":3,"file":"DependencyManager.d.ts","sourceRoot":"","sources":["../../src/graph/DependencyManager.ts"],"names":[],"mappings":"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"}
@@ -43,12 +43,12 @@ const buildDependencyElementGetter = (dependencyManager, elementGetter) => (path
43
43
  return undefined;
44
44
  };
45
45
  export class DependencyManager {
46
- extensionElementClasses;
46
+ graphPlugins;
47
47
  _origin;
48
48
  roots = [];
49
49
  projectDependencyModelsIndex = new Map();
50
- constructor(extensionElementClasses) {
51
- this.extensionElementClasses = extensionElementClasses;
50
+ constructor(graphPlugins) {
51
+ this.graphPlugins = graphPlugins;
52
52
  }
53
53
  /**
54
54
  * Here we create and index a graph for each dependency
@@ -58,7 +58,7 @@ export class DependencyManager {
58
58
  const pkg = new Package(generateDependencyRootPackageName(dependencyKey));
59
59
  this.roots.push(pkg);
60
60
  // NOTE: all dependency models will share the dependency manager root package.
61
- this.projectDependencyModelsIndex.set(dependencyKey, new DependencyModel(this.extensionElementClasses, pkg, new LegendSDLC(entitiesWithOrigin.groupId, entitiesWithOrigin.artifactId, entitiesWithOrigin.versionId)));
61
+ this.projectDependencyModelsIndex.set(dependencyKey, new DependencyModel(this.graphPlugins, pkg, new LegendSDLC(entitiesWithOrigin.groupId, entitiesWithOrigin.artifactId, entitiesWithOrigin.versionId)));
62
62
  });
63
63
  }
64
64
  get numberOfDependencies() {
@@ -167,6 +167,9 @@ export class DependencyManager {
167
167
  get fileGenerations() {
168
168
  return this.dependencyGraphs.flatMap((dep) => dep.ownFileGenerations);
169
169
  }
170
+ get testables() {
171
+ return this.dependencyGraphs.flatMap((dep) => dep.ownTestables);
172
+ }
170
173
  get executionEnvironments() {
171
174
  return this.dependencyGraphs.flatMap((dep) => dep.ownExecutionEnvironments);
172
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyManager.js","sourceRoot":"","sources":["../../src/graph/DependencyManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DependencyManager.js","sourceRoot":"","sources":["../../src/graph/DependencyManager.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import type { PureModel } from './PureModel.js';
19
19
  import type { GraphPluginManager } from './GraphPluginManager.js';
20
20
  import type { Testable } from '../graph/metamodel/pure/test/Testable.js';
21
21
  export type DeadReferencesCleaner = (graph: PureModel) => void;
22
- export type TestablesCollector = (graph: PureModel) => Testable[];
22
+ export type TestableElementFilter = (element: PackageableElement) => Testable | undefined;
23
23
  /**
24
24
  * Plugins for Pure graph (aka `PureModel`). These plugins concern the operations of the graph alone and
25
25
  * should not refer to anything but the graph itself as it would be embedded as part of the graph.
@@ -45,6 +45,6 @@ export declare abstract class PureGraphPlugin extends AbstractPlugin {
45
45
  /**
46
46
  * Get the list of collectors for testable items
47
47
  */
48
- getExtraTestablesCollectors?(): TestablesCollector[];
48
+ getExtraTestablesCollectors?(): TestableElementFilter[];
49
49
  }
50
50
  //# sourceMappingURL=PureGraphPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PureGraphPlugin.d.ts","sourceRoot":"","sources":["../../src/graph/PureGraphPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mEAAmE,CAAC;AAC5G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;AAElE;;;;;GAKG;AACH,8BAAsB,eAAgB,SAAQ,cAAc;IAC1D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAIhD;;;OAGG;IACH,iCAAiC,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;IAEjE;;OAEG;IACH,8BAA8B,CAAC,IAAI,qBAAqB,EAAE;IAE1D;;OAEG;IACH,2BAA2B,CAAC,IAAI,kBAAkB,EAAE;CACrD"}
1
+ {"version":3,"file":"PureGraphPlugin.d.ts","sourceRoot":"","sources":["../../src/graph/PureGraphPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mEAAmE,CAAC;AAC5G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAC/D,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,kBAAkB,KACxB,QAAQ,GAAG,SAAS,CAAC;AAE1B;;;;;GAKG;AACH,8BAAsB,eAAgB,SAAQ,cAAc;IAC1D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAIhD;;;OAGG;IACH,iCAAiC,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;IAEjE;;OAEG;IACH,8BAA8B,CAAC,IAAI,qBAAqB,EAAE;IAE1D;;OAEG;IACH,2BAA2B,CAAC,IAAI,qBAAqB,EAAE;CACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"PureGraphPlugin.js","sourceRoot":"","sources":["../../src/graph/PureGraphPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AASlE;;;;;GAKG;AACH,MAAM,OAAgB,eAAgB,SAAQ,cAAc;IAC1D;;;OAGG;IACc,kBAAkB,CAAqB;IAExD,OAAO,CAAC,aAAiC;QACvC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CAiBF"}
1
+ {"version":3,"file":"PureGraphPlugin.js","sourceRoot":"","sources":["../../src/graph/PureGraphPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AAWlE;;;;;GAKG;AACH,MAAM,OAAgB,eAAgB,SAAQ,cAAc;IAC1D;;;OAGG;IACc,kBAAkB,CAAqB;IAExD,OAAO,CAAC,aAAiC;QACvC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CAiBF"}
@@ -56,7 +56,7 @@ import { FunctionActivator } from './metamodel/pure/packageableElements/function
56
56
  export declare class CoreModel extends BasicModel {
57
57
  primitiveTypesIndex: Map<string, PrimitiveType>;
58
58
  get primitiveTypes(): PrimitiveType[];
59
- constructor(extensionElementClasses: Clazz<PackageableElement>[]);
59
+ constructor(graphPlugins: PureGraphPlugin[]);
60
60
  get allOwnElements(): PackageableElement[];
61
61
  /**
62
62
  * NOTE: primitive types are special, they are not put in any package (i.e. they are not linked to `Root` package at all)
@@ -65,7 +65,7 @@ export declare class CoreModel extends BasicModel {
65
65
  }
66
66
  export declare class SystemModel extends BasicModel {
67
67
  autoImports: Package[];
68
- constructor(extensionElementClasses: Clazz<PackageableElement>[]);
68
+ constructor(graphPlugins: PureGraphPlugin[]);
69
69
  /**
70
70
  * NOTE: auto imports are for special types and profiles from system model
71
71
  * such as `Any` or `doc` profiles. We don't actually build the packages here
@@ -78,7 +78,7 @@ export declare class SystemModel extends BasicModel {
78
78
  initializeAutoImports(): void;
79
79
  }
80
80
  export declare class GenerationModel extends BasicModel {
81
- constructor(extensionElementClasses: Clazz<PackageableElement>[]);
81
+ constructor(graphPlugins: PureGraphPlugin[]);
82
82
  }
83
83
  /**
84
84
  * The model of Pure, a.k.a the Pure graph
@@ -88,7 +88,6 @@ export declare class PureModel extends BasicModel {
88
88
  readonly systemModel: SystemModel;
89
89
  generationModel: GenerationModel;
90
90
  dependencyManager: DependencyManager;
91
- graphPlugins: PureGraphPlugin[];
92
91
  constructor(coreModel: CoreModel, systemModel: SystemModel, graphPlugins: PureGraphPlugin[]);
93
92
  get autoImports(): Package[];
94
93
  get primitiveTypes(): PrimitiveType[];
@@ -112,7 +111,7 @@ export declare class PureModel extends BasicModel {
112
111
  get generationSpecifications(): GenerationSpecification[];
113
112
  get fileGenerations(): FileGenerationSpecification[];
114
113
  get allElements(): PackageableElement[];
115
- get allOwnTestables(): Testable[];
114
+ get testables(): Testable[];
116
115
  getPrimitiveType: (type: PRIMITIVE_TYPE) => PrimitiveType;
117
116
  getType: (path: string) => Type;
118
117
  getProfile: (path: string) => Profile;
@@ -1 +1 @@
1
- {"version":3,"file":"PureModel.d.ts","sourceRoot":"","sources":["../../src/graph/PureModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PureModel.d.ts","sourceRoot":"","sources":["../../src/graph/PureModel.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,8 @@ export class CoreModel extends BasicModel {
43
43
  get primitiveTypes() {
44
44
  return Array.from(this.primitiveTypesIndex.values());
45
45
  }
46
- constructor(extensionElementClasses) {
47
- super(ROOT_PACKAGE_NAME.CORE, extensionElementClasses);
46
+ constructor(graphPlugins) {
47
+ super(ROOT_PACKAGE_NAME.CORE, graphPlugins);
48
48
  this.initializePrimitiveTypes();
49
49
  // index model store singleton
50
50
  this.setOwnStore(ModelStore.NAME, ModelStore.INSTANCE);
@@ -78,8 +78,8 @@ export class CoreModel extends BasicModel {
78
78
  }
79
79
  export class SystemModel extends BasicModel {
80
80
  autoImports = [];
81
- constructor(extensionElementClasses) {
82
- super(ROOT_PACKAGE_NAME.SYSTEM, extensionElementClasses);
81
+ constructor(graphPlugins) {
82
+ super(ROOT_PACKAGE_NAME.SYSTEM, graphPlugins);
83
83
  }
84
84
  /**
85
85
  * NOTE: auto imports are for special types and profiles from system model
@@ -95,8 +95,8 @@ export class SystemModel extends BasicModel {
95
95
  }
96
96
  }
97
97
  export class GenerationModel extends BasicModel {
98
- constructor(extensionElementClasses) {
99
- super(ROOT_PACKAGE_NAME.MODEL_GENERATION, extensionElementClasses);
98
+ constructor(graphPlugins) {
99
+ super(ROOT_PACKAGE_NAME.MODEL_GENERATION, graphPlugins);
100
100
  }
101
101
  }
102
102
  /**
@@ -107,15 +107,12 @@ export class PureModel extends BasicModel {
107
107
  systemModel;
108
108
  generationModel;
109
109
  dependencyManager; // used to manage the elements from dependency projects
110
- graphPlugins = [];
111
110
  constructor(coreModel, systemModel, graphPlugins) {
112
- const extensionElementClasses = graphPlugins.flatMap((plugin) => plugin.getExtraPureGraphExtensionClasses?.() ?? []);
113
- super(ROOT_PACKAGE_NAME.MAIN, extensionElementClasses);
114
- this.graphPlugins = graphPlugins;
111
+ super(ROOT_PACKAGE_NAME.MAIN, graphPlugins);
115
112
  this.coreModel = coreModel;
116
113
  this.systemModel = systemModel;
117
- this.generationModel = new GenerationModel(extensionElementClasses);
118
- this.dependencyManager = new DependencyManager(extensionElementClasses);
114
+ this.generationModel = new GenerationModel(graphPlugins);
115
+ this.dependencyManager = new DependencyManager(graphPlugins);
119
116
  }
120
117
  get autoImports() {
121
118
  return this.systemModel.autoImports;
@@ -303,11 +300,14 @@ export class PureModel extends BasicModel {
303
300
  ...this.generationModel.allOwnElements,
304
301
  ];
305
302
  }
306
- get allOwnTestables() {
307
- const extraTestables = this.graphPlugins
308
- .flatMap((plugin) => plugin.getExtraTestablesCollectors?.() ?? [])
309
- .map((collector) => collector(this));
310
- return [...this.ownTestables].concat(...extraTestables);
303
+ get testables() {
304
+ return [
305
+ ...this.coreModel.ownTestables,
306
+ ...this.systemModel.ownTestables,
307
+ ...this.dependencyManager.testables,
308
+ ...this.ownTestables,
309
+ ...this.generationModel.ownTestables,
310
+ ];
311
311
  }
312
312
  getPrimitiveType = (type) => guaranteeNonNullable(this.coreModel.primitiveTypesIndex.get(type), `Can't find primitive type '${type}'`);
313
313
  getType = (path) => guaranteeNonNullable(this.getOwnNullableType(path) ??
@@ -1 +1 @@
1
- {"version":3,"file":"PureModel.js","sourceRoot":"","sources":["../../src/graph/PureModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PureModel.js","sourceRoot":"","sources":["../../src/graph/PureModel.ts"],"names":[],"mappings":"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"}