UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

24 lines (23 loc) 1.08 kB
import { GlobalEmitter } from '../GlobalEmitter'; import ServiceFactory, { ServiceProvider, Service, ServiceMap } from '../services/ServiceFactory'; import { ApiClientFactory, ApiClient, ApiClientFactoryOptions } from '../types/apiClient.types'; export default abstract class AbstractStore implements ServiceProvider { protected cwd: string; protected homeDir: string; protected apiClientFactory: ApiClientFactory; protected emitter: GlobalEmitter; abstract name: string; private serviceFactory; constructor(options: StoreOptions); Service<S extends Service>(type: S, cwd?: string): ServiceMap[S]; protected connectToApi(options?: ApiClientFactoryOptions): Promise<ApiClient>; } interface AbstractStoreOptions { serviceFactory: ServiceFactory; cwd: string; homeDir: string; apiClientFactory: ApiClientFactory; emitter: GlobalEmitter; } export type StoreOptions<Options extends Record<string, any> | undefined = undefined> = Options extends Record<string, any> ? AbstractStoreOptions & Options : AbstractStoreOptions; export {};