@auttam/easycli
Version:
A quick and easy way of creating cli for your npm package.
41 lines (40 loc) • 1.31 kB
TypeScript
import { Config, IConfig } from './base-config';
import { Collection } from './collection';
export declare enum ParamType {
SINGLE = "single",
LIST = "list"
}
export interface IParamConfig extends IConfig {
type?: ParamType;
required?: boolean;
acceptOnly?: string[];
value?: string;
}
export declare class Param extends Config implements IParamConfig {
type: ParamType;
required: boolean;
acceptOnly: string[];
value: any;
$idx: number;
constructor(config: IParamConfig);
static createFromAny(config: any): Param;
}
export declare class ParamCollection extends Collection<Param> {
private _listParam;
private _optionalParam;
private _requiredParam;
private _propNames;
indexParamsParam: number;
indexOptionsParam: number;
indexSpreadParam: number;
addByConfig(configs: IParamConfig | IParamConfig[]): void;
initByProperties(propertyNames: string[], saveIndex?: boolean): void;
initByMethod(methodSignature: any): void;
mergeByConfigs(configs: IParamConfig[]): void;
merge(config: IParamConfig): void;
clear(all?: boolean): void;
protected validate(item: Param): void;
protected itemAdded(item: Param): void;
containsRequired(): string;
verify(): void;
}