UNPKG

@neo-one/server-plugin

Version:

NEO•ONE Server plugin API.

27 lines (26 loc) 1.48 kB
import { Observable } from 'rxjs'; import { CLIOption, CRUDBase } from './CRUDBase'; import { ResourceType } from './ResourceType'; import { BaseResource, BaseResourceOptions, Client, InteractiveCLI } from './types'; export interface ExecCLIOptions<ResourceOptions extends BaseResourceOptions> { readonly cli: InteractiveCLI; readonly options: ResourceOptions; } export interface GetResources$Options<ResourceOptions extends BaseResourceOptions> { readonly client: Client; readonly options: ResourceOptions; } export interface GetCRUDOptions<Resource extends BaseResource, ResourceOptions extends BaseResourceOptions> { readonly resourceType: ResourceType<Resource, ResourceOptions>; readonly help?: string; readonly aliases?: readonly string[]; readonly options?: readonly CLIOption[]; readonly autocomplete?: readonly string[]; readonly hidden?: boolean; } export declare class GetCRUD<Resource extends BaseResource = BaseResource, ResourceOptions extends BaseResourceOptions = BaseResourceOptions> extends CRUDBase<Resource, ResourceOptions> { constructor({ resourceType, help, aliases, options, autocomplete, hidden, }: GetCRUDOptions<Resource, ResourceOptions>); preExecCLI(_options: ExecCLIOptions<ResourceOptions>): Promise<void>; postExecCLI(_options: ExecCLIOptions<ResourceOptions>): Promise<void>; getResources$({ client, options }: GetResources$Options<ResourceOptions>): Observable<readonly Resource[]>; }