@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
35 lines (34 loc) • 1.28 kB
TypeScript
import { ServiceOptions } from './models';
import { IWebAppServiceComposer } from './WebAppServiceComposer';
import { IWorkerServiceComposer } from './WorkerServiceComposer';
import { ICustomServiceComposer } from './CustomServiceComposer';
export interface IRegisterService {
/** Specify service type for this omnia service project.
E.g. A service could be a worker, doing simple async jobs, worker queues etc
it can also be a webapp serving UI resources
*/
registerService: (serviceInfo: ServiceOptions) => IServiceComposer;
}
export interface IServiceComposer {
/**
* Register service to be of type web app
*/
AsWebApp: () => IWebAppServiceComposer;
/**
* Register service to be of type worker
*/
AsWorker: () => IWorkerServiceComposer;
/**
* Register service to be of custom type (to install helm)
*/
AsCustom: () => ICustomServiceComposer;
}
export declare class ServiceComposer implements IServiceComposer {
private manifestId;
private manifestName;
private serviceInfo;
constructor(manifestId: string, manifestName: string, serviceInfo: ServiceOptions);
AsWebApp: () => IWebAppServiceComposer;
AsWorker: () => IWorkerServiceComposer;
AsCustom: () => ICustomServiceComposer;
}