UNPKG

@finos/legend-graph

Version:
112 lines 7.13 kB
/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type Clazz } from '@finos/legend-shared'; import type { PackageableElement } from '../graph/metamodel/pure/packageableElements/PackageableElement.js'; import type { Enumeration } from '../graph/metamodel/pure/packageableElements/domain/Enumeration.js'; import type { Type } from '../graph/metamodel/pure/packageableElements/domain/Type.js'; import type { Class } from '../graph/metamodel/pure/packageableElements/domain/Class.js'; import type { Mapping } from '../graph/metamodel/pure/packageableElements/mapping/Mapping.js'; import type { Profile } from '../graph/metamodel/pure/packageableElements/domain/Profile.js'; import { Package } from '../graph/metamodel/pure/packageableElements/domain/Package.js'; import type { ConcreteFunctionDefinition } from './metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js'; import type { Store } from '../graph/metamodel/pure/packageableElements/store/Store.js'; import type { Association } from '../graph/metamodel/pure/packageableElements/domain/Association.js'; import type { Service } from '../graph/metamodel/pure/packageableElements/service/Service.js'; import { BasicModel } from '../graph/BasicModel.js'; import type { PackageableRuntime } from '../graph/metamodel/pure/packageableElements/runtime/PackageableRuntime.js'; import type { PackageableConnection } from '../graph/metamodel/pure/packageableElements/connection/PackageableConnection.js'; import type { FileGenerationSpecification } from '../graph/metamodel/pure/packageableElements/fileGeneration/FileGenerationSpecification.js'; import type { GenerationSpecification } from '../graph/metamodel/pure/packageableElements/generationSpecification/GenerationSpecification.js'; import type { Measure } from '../graph/metamodel/pure/packageableElements/domain/Measure.js'; import type { SectionIndex } from '../graph/metamodel/pure/packageableElements/section/SectionIndex.js'; import { type EntitiesWithOrigin } from '@finos/legend-storage'; import type { Database } from './metamodel/pure/packageableElements/store/relational/model/Database.js'; import type { DataElement } from './metamodel/pure/packageableElements/data/DataElement.js'; import type { ExecutionEnvironmentInstance } from './metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js'; import { type GraphDataOrigin } from './GraphDataOrigin.js'; import type { FunctionActivator } from './metamodel/pure/packageableElements/function/FunctionActivator.js'; import type { PureGraphPlugin } from './PureGraphPlugin.js'; import type { Testable } from './metamodel/pure/test/Testable.js'; import type { IngestDefinition } from './metamodel/pure/packageableElements/ingest/IngestDefinition.js'; export declare const DEPENDENCY_ROOT_PACKAGE_PREFIX = "@dependency__"; export declare const generateDependencyRootPackageName: (dependencyKey: string) => string; export declare const extractDependencyGACoordinateFromRootPackageName: (packageName: string) => string | undefined; export declare class DependencyModel extends BasicModel { constructor(extensionElementClasses: PureGraphPlugin[], root: Package, origin: GraphDataOrigin); } export declare class DependencyManager { private readonly graphPlugins; private _origin; roots: Package[]; projectDependencyModelsIndex: Map<string, BasicModel>; constructor(graphPlugins: PureGraphPlugin[]); /** * Here we create and index a graph for each dependency */ initialize(dependencyEntitiesIndex: Map<string, EntitiesWithOrigin>): void; get numberOfDependencies(): number; get hasDependencies(): boolean; get dependencyGraphs(): BasicModel[]; get allOwnElements(): PackageableElement[]; get origin(): GraphDataOrigin | undefined; setOrigin(val: GraphDataOrigin): void; getOwnNullableSectionIndex: (path: string) => SectionIndex | undefined; getOwnNullableProfile: (path: string) => Profile | undefined; getOwnNullableType: (path: string) => Type | undefined; getOwnNullableClass: (path: string) => Class | undefined; getOwnNullableEnumeration: (path: string) => Enumeration | undefined; getOwnNullableMeasure: (path: string) => Measure | undefined; getOwnNullableAssociation: (path: string) => Association | undefined; getOwnNullableFunction: (path: string) => ConcreteFunctionDefinition | undefined; getOwnNullableFunctionActivator: (path: string) => FunctionActivator | undefined; getOwnNullableStore: (path: string) => Store | undefined; getOwnNullableMapping: (path: string) => Mapping | undefined; getOwnNullableConnection: (path: string) => PackageableConnection | undefined; getOwnNullableRuntime: (path: string) => PackageableRuntime | undefined; getOwnNullableService: (path: string) => Service | undefined; getOwnNullableGenerationSpecification: (path: string) => GenerationSpecification | undefined; getOwnNullableFileGeneration: (path: string) => FileGenerationSpecification | undefined; getOwnNullableDataElement: (path: string) => DataElement | undefined; getOwnExecutionEnvironment: (path: string) => ExecutionEnvironmentInstance | undefined; getOwnNullableExtensionElement<T extends PackageableElement>(path: string, extensionElementClass: Clazz<T>): T | undefined; get sectionIndices(): SectionIndex[]; get profiles(): Profile[]; get enumerations(): Enumeration[]; get measures(): Measure[]; get classes(): Class[]; get types(): Type[]; get associations(): Association[]; get functions(): ConcreteFunctionDefinition[]; get functionActivators(): FunctionActivator[]; get stores(): Store[]; get databases(): Database[]; get mappings(): Mapping[]; get services(): Service[]; get runtimes(): PackageableRuntime[]; get connections(): PackageableConnection[]; get dataElements(): DataElement[]; get generationSpecifications(): GenerationSpecification[]; get fileGenerations(): FileGenerationSpecification[]; get testables(): Testable[]; get executionEnvironments(): ExecutionEnvironmentInstance[]; get ingests(): IngestDefinition[]; getExtensionElements<T extends PackageableElement>(extensionElementClass: Clazz<T>): T[]; getModel(projectId: string): BasicModel; getNullableElement(path: string, includePackage?: boolean): PackageableElement | undefined; getPackages(path: string): Package[]; getElementOrigin(element: PackageableElement): string | undefined; } //# sourceMappingURL=DependencyManager.d.ts.map