import { Type } from "https://dotland.deno.dev/x/cliffy@v0.23.2/command/mod.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, parent?: Command): CompleteHandlerResultReturns shell completion values. If no complete method is provided, values from the values method are used.
optional
values(cmd: Command, parent?: Command): ValuesHandlerResultReturns values displayed in help text. If no complete method is provided, these values are also used for shell completions.