@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
31 lines (30 loc) • 1.32 kB
TypeScript
import { IComposerDone } from "./Composer";
import { GuidValue } from '@omnia/fx-models';
export interface IDependencyComposer<T> {
/**
* Add dependencies to other manifests
* Dependent manifests will be loaded before the current manifest is loaded.
*/
withNoDependency: () => T;
/**
* Add dependencies to other manifests
* Dependent manifests will be loaded before the current manifest is loaded.
*/
withDependency: (manifestId: GuidValue) => ICompletableDependencyComposer<T>;
/**
* Add dependencies to a manifest in another omnia service
* Dependent manifests will be loaded before the current manifest is loaded.
*/
withExternalDependency: (omniaServiceId: GuidValue, manifestId: GuidValue) => ICompletableDependencyComposer<T>;
}
export interface ICompletableDependencyComposer<T> extends IDependencyComposer<T>, IComposerDone<T> {
}
export declare class DependencyComposer<T> implements ICompletableDependencyComposer<T> {
private currentManifestId;
private composerForDone;
constructor(currentManifestId: string, composerForDone: T);
done: () => T;
withNoDependency: () => T;
withDependency: (manifestId: GuidValue) => this;
withExternalDependency: (omniaServiceId: GuidValue, manifestId: GuidValue) => this;
}