@neo-one/server-plugin
Version:
NEO•ONE Server plugin API.
24 lines (23 loc) • 1.39 kB
TypeScript
import { Observable } from 'rxjs';
import { CLIOption } from './CRUDBase';
import { CRUDResource, Request$Options } from './CRUDResource';
import { GetCLIAutocompleteOptions } from './CRUDResourceBase';
import { ResourceType } from './ResourceType';
import { BaseResource, BaseResourceOptions, ExecuteTaskListResponse } from './types';
export interface CreateCRUDOptions<Resource extends BaseResource, ResourceOptions extends BaseResourceOptions> {
readonly resourceType: ResourceType<Resource, ResourceOptions>;
readonly name?: string;
readonly help?: string;
readonly aliases?: readonly string[];
readonly extraArgs?: readonly string[];
readonly options?: readonly CLIOption[];
readonly autocomplete?: readonly string[];
readonly startOnCreate?: boolean;
readonly hidden?: boolean;
}
export declare class CreateCRUD<Resource extends BaseResource, ResourceOptions extends BaseResourceOptions> extends CRUDResource<Resource, ResourceOptions> {
readonly startOnCreate: boolean;
constructor({ resourceType, name, help, aliases, extraArgs, options, autocomplete, startOnCreate, hidden, }: CreateCRUDOptions<Resource, ResourceOptions>);
getAutocomplete(_options: GetCLIAutocompleteOptions): Promise<readonly string[]>;
request$({ name, cancel$, options, client, }: Request$Options<ResourceOptions>): Observable<ExecuteTaskListResponse>;
}