Skip to main content
Module

x/cliffy/command/type.ts>Type

Command line framework for deno 🦕 Including Commandline-Interfaces, Prompts, CLI-Table, Arguments Parser and more...
Extremely Popular
Go to Latest
namespace Type
import { Type } from "https://deno.land/x/cliffy@v0.25.7/command/type.ts";
class Type
Abstract
import { Type } from "https://deno.land/x/cliffy@v0.25.7/command/type.ts";

Base class for custom types.

Custom type example:

export class ColorType extends Type<string> {
  public parse({ label, name, value, type }: ArgumentValue): 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: ArgumentValue): TValue
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.