UNPKG

1.14 kBPlain TextView Raw
1import { CLIOption } from './CRUDBase';
2import { CRUDResourceBase } from './CRUDResourceBase';
3import { ResourceType } from './ResourceType';
4import { BaseResource, BaseResourceOptions } from './types';
5
6export interface DescribeCRUDOptions<Resource extends BaseResource, ResourceOptions extends BaseResourceOptions> {
7 readonly resourceType: ResourceType<Resource, ResourceOptions>;
8 readonly help?: string;
9 readonly aliases?: ReadonlyArray<string>;
10 readonly options?: ReadonlyArray<CLIOption>;
11 readonly autocomplete?: ReadonlyArray<string>;
12 readonly hidden?: boolean;
13}
14
15export class DescribeCRUD<
16 Resource extends BaseResource = BaseResource,
17 ResourceOptions extends BaseResourceOptions = BaseResourceOptions
18> extends CRUDResourceBase<Resource, ResourceOptions> {
19 public constructor({
20 resourceType,
21 help = `Describe ${resourceType.names.lower} <name>`,
22 aliases,
23 options,
24 autocomplete,
25 hidden,
26 }: DescribeCRUDOptions<Resource, ResourceOptions>) {
27 super({
28 name: 'describe',
29 resourceType,
30 help,
31 aliases,
32 options,
33 autocomplete,
34 hidden,
35 });
36 }
37}