zcatalyst-cli
Version:
Command Line Tool for CATALYST
38 lines (37 loc) • 1.57 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { ChildProcess } from 'child_process';
import { EventEmitter } from 'events';
import { IFnTarget } from '../../fn-utils/lib/common';
import type { IClientTarget } from './lib/web_client/types';
import { TAppSailServerDetails } from '../features/appsail';
import { TSlateServerDetails } from '../features/slate';
export interface IServerDetails<T = IFnTarget | IClientTarget | TAppSailServerDetails | TSlateServerDetails> {
type: 'client' | 'server' | 'functions' | 'appsail' | 'slate';
target: T;
httpPort: T extends IFnTarget | IClientTarget ? number : undefined;
debugPort: T extends IFnTarget ? number : undefined;
process?: ChildProcess | EventEmitter;
isAlive: boolean | null;
restarting: boolean;
}
export type TServerTargets = {
functions: Array<IServerDetails<IFnTarget>>;
server: Array<IServerDetails<IFnTarget>>;
client: Array<IServerDetails<IClientTarget>>;
appSail: Array<IServerDetails<TAppSailServerDetails>>;
slate: Array<IServerDetails<TSlateServerDetails>>;
};
declare class Server {
private targetsMap;
private masterServer?;
private _addBasicFnDetails;
add(type: 'client' | 'server' | 'appsail' | 'functions' | 'slate', target: IFnTarget | TAppSailServerDetails | IClientTarget | TSlateServerDetails): void;
private startServer;
start(): Promise<void>;
wait(): Promise<void>;
private kill;
restart(target: IServerDetails<IFnTarget>): Promise<void>;
stop(): Promise<void>;
}
export default Server;