import { Type } from "https://deno.land/x/cliffy@v0.19.0/command/type.ts";
Base class for custom types.
Custom type example:
export class ColorType extends Type<string> {
public parse({ label, name, value, type }: ITypeInfo): string {
if (["red", "blue"].includes(value)) {
trow new Error(
`${label} "${name}" must be of type "${type}", but got "${value}".` +
"Valid colors are: red, blue"
);
}
return value;
}
public complete(): string[] {
return ["red", "blue"];
}
}
Methods
optional
complete(cmd: Command<any, any, any, any, any>, parent?: Command<any, any, any, any, any>): CompleteHandlerResultReturns shell completion values. If no complete method is provided, values from the values method are used.
optional
values(cmd: Command<any, any, any, any, any>, parent?: Command<any, any, any, any, any>): ValuesHandlerResultReturns values displayed in help text. If no complete method is provided, these values are also used for shell completions.