Skip to main content
Module

x/scaffold/src/deps/cli.ts>Type

scaffold your next project with style and 💗
Latest
class Type
Re-export
Abstract
import { Type } from "https://deno.land/x/scaffold@0.3.0/src/deps/cli.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

Returns shell completion values. If no complete method is provided, values from the values method are used.

abstract
parse(type: ITypeInfo): T
optional
values(cmd: Command, parent?: Command): ValuesHandlerResult

Returns values displayed in help text. If no complete method is provided, these values are also used for shell completions.