strong Class Reference

## Detailed Description

### Opt.name

Set a canonical option identifier to be used anywhere in the API.

Parameters

  </strong> | String `_name` option name

Returns
  COA.Opt `this` instance (for chainability)

### Opt.title

Set a long description for option to be used anywhere in text messages.

Parameters

  </strong> | String `_title` option title

Returns
  COA.Opt `this` instance (for chainability)

### Opt.short

Set a short key for option to be used with one hyphen from command line.

Parameters

  </strong> | String `_short`

Returns
  COA.Opt `this` instance (for chainability)

### Opt.long

Set a short key for option to be used with double hyphens from command line.

Parameters

  </strong> | String `_long`

Returns
  COA.Opt `this` instance (for chainability)

### Opt.flag

Make an option boolean, i.e. option without value.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.arr

Makes an option accepts multiple values.
Otherwise, the value will be used by the latter passed.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.req

Makes an option req.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.only

Makes an option to act as a command, i.e. program will exit just after option action.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.val

Set a validation (or value) function for argument.
Value from command line passes through before becoming available from API.
Using for validation and convertion simple types to any values.

Parameters

  </strong> | Function `_val` validating function, invoked in the context of option instance and has one parameter with value from command line

Returns
  COA.Opt `this` instance (for chainability)

### Opt.def

Set a default value for option. Default value passed through validation function as ordinary value.

Parameters

  </strong> | Object `_def`

Returns
  COA.Opt `this` instance (for chainability)

### Opt.input

Make option value inputting stream. It's add useful validation and shortcut for STDIN.

Returns
  *{COA.Opt}* `this` instance (for chainability)

### Opt.output

Make option value outputing stream.
It's add useful validation and shortcut for STDOUT.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.act

Add action for current option command. This action is performed if the current option is present in parsed options (with any value).

Parameters

  </strong>

  Function `act` action function, invoked in the context of command instance and has the parameters:
  - Object `opts` parsed options
  - Array `args` parsed arguments
  - Object `res` actions result accumulator
    It can return rejected promise by Cmd.reject (in case of error) or any other value treated as result.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.comp

Set custom additional completion for current option.

Parameters

  </strong>

  Function `fn` completion generation function, invoked in the context of command instance. Accepts parameters:
  - Object `opts` completion options
    It can return promise or any other value treated as result.

Returns
  COA.Opt `this` instance (for chainability)

### Opt.end

Finish chain for current option and return parent command instance.

Returns
  COA.Cmd `parent` command

## Arg

Argument is a unnamed entity.
From command line arguments passed as list of unnamed values.

### Arg.name

Set a canonical argument identifier to be used anywhere in text messages.

Parameters

  </strong> | String `_name` argument name

Returns
  COA.Arg `this` instance (for chainability)

### Arg.title

Set a long description for argument to be used anywhere in text messages.

Parameters

  </strong> | String `_title` argument title

Returns
  COA.Arg `this` instance (for chainability)

### Arg.arr

Makes an argument accepts multiple values.
Otherwise, the value will be used by the latter passed.

Returns
  COA.Arg `this` instance (for chainability)

### Arg.req

Makes an argument req.

Returns
  COA.Arg `this` instance (for chainability)

### Arg.val

Set a validation (or value) function for argument.
Value from command line passes through before becoming available from API.
Using for validation and convertion simple types to any values.

Parameters

  </strong> | Function `_val` validating function, invoked in the context of argument instance and has one parameter with value from command line

Returns
  COA.Arg `this` instance (for chainability)

### Arg.def

Set a default value for argument. Default value passed through validation function as ordinary value.

Parameters

  </strong> | Object `_def`

Returns
  COA.Arg `this` instance (for chainability)

### Arg.output

Make argument value outputing stream.
It's add useful validation and shortcut for STDOUT.

Returns
  COA.Arg `this` instance (for chainability)

### Arg.comp

Set custom additional completion for current argument.

Parameters

  </strong>

  Function `fn` completion generation function, invoked in the context of command instance. Accepts parameters:
  - Object `opts` completion options
    It can return promise or any other value treated as result.

Returns
  COA.Arg `this` instance (for chainability)

### Arg.end

Finish chain for current option and return parent command instance.

Returns
  COA.Cmd `parent` command

### Opt.name

Определяет канонический идентификатор параметра, используемый в вызовах API.

Parameters

  </strong> | String `_name` имя параметра

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.title

Определяет описание для параметра, используемое в текстовых сообщениях.

Parameters

  </strong> | String `_title` название параметра

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.short

Назначает ключ для короткого имени параметра, передаваемого из командной строки с одинарным дефисом (например, `-v`).

Parameters

  </strong> | String `_short`

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.long

Назначает ключ для длинного имени параметра, передаваемого из командной строки с двойным дефисом (например, `--version`).

Parameters

  </strong> | String `_long`

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.flag

Помечает параметр как логический, т.е. параметр не имеющий значения.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.arr

Помечает параметр как принимающий множественные значения.
Иначе будет использовано последнее переданное значение параметра.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.req

Помечает параметр как обязательный.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.only

Интерпретирует параметр как команду, т.е. программа будет завершена сразу после выполнения параметра.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.val

Назначает функцию валидации (или трансформации значения) для значения параметра.
Значение, полученное из командной строки, передается в функцию-валидатор прежде чем оно станет доступно из API.
Используется для валидации и трансформации введенных данных.

Parameters

  </strong> | Function `_val` функция валидации, исполняемая в контексте экземпляра параметра и принимающая в качестве единственного параметра значение, полученное из командной строки

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.def

Назначает значение параметра по умолчанию. Это значение также передается в функцию валидации как обычное значение.

Parameters

  </strong> | Object `_def`

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.input

Помечает параметр как принимающий ввод пользователя.
Позволяет использовать валидацию для STDIN.

Returns
  *{COA.Opt}* `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.output

Помечает параметр как вывод.
Позволяет использовать валидацию для STDOUT.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.act

Добавляет (или создает) действие для текущего параметра команды. Это действие будет выполнено, если текущий параметр есть в списке полученных параметров (с любым значением).

Parameters

  </strong>

  Function `act` функция, выполняемая в контексте экземпляра текущей команды и принимающая следующие параметры:
  - Object `opts` параметры команды
  - Array `args` аргументы команды
  - Object `res` объект-аккумулятор результатов
    Функция может вернуть проваленный промис из Cmd.reject (в случае ошибки) или любое другое значение, рассматриваемое как результат.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.comp

Назначает кастомную функцию автодополнения для текущей команды.

Parameters

  </strong>

  Function `fn` функция-генератор автодоплнения, исполняемая в контексте экземпляра команды. Принимает параметры:
  - Object `opts` параметры автодополнения
    Может возвращать промис или любое другое значение, рассматриваемое как результат исполнения команды.

Returns
  COA.Opt `this` экземпляр параметра (для поддержки цепочки методов)

### Opt.end

Завершает цепочку методов текущего параметра и возвращает экземпляр родительской команды.

Returns
  COA.Cmd `parent` родительская команда

## Arg

Аргумент — неименованная сущность.
Аргументы передаются из командной строки как список неименованных значений.

### Arg.name

Определяет канонический идентификатор аргумента, используемый в вызовах API.

Parameters

  </strong> | String `_name` имя аргумента

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.title

Определяет описание для аргумента, используемое в текстовых сообщениях.

Parameters

  </strong> | String `_title` описание аргумента

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.arr

Помечает аргумент как принимающий множественные значения.
Иначе будет использовано последнее переданное значение аргумента.

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.req

Помечает аргумент как обязательный.

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.val

Назначает функцию валидации (или трансформации значения) для аргумента.
Значение, полученное из командной строки, передается в функцию-валидатор прежде чем оно станет доступно из API.
Используется для валидации и трансформации введенных данных.

Parameters

  </strong> | Function `_val` функция валидации, исполняемая в контексте экземпляра аргумента и принимающая в качестве единственного параметра значение, полученное из командной строки

Returns
  COA.Opt `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.def

Назначает дефолтное значение для аргумента. Дефолтное значение передается в функцию валидации как обычное значение.

Parameters

  </strong> | Object `_def`

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.output

Помечает параметр как вывод.
Позволяет назначить валидацию для STDOUT.

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.comp

Назначает кастомную функцию автодополнения для текущего аргумента.

Parameters

  </strong>

  Function `fn` функция-генератор автодоплнения, исполняемая в контексте текущей команды. Принимает параметры:
  - Object `opts` параметры Может возвращать промис или любое другое значение, рассматриваемое как результат исполнения команды.

Returns
  COA.Arg `this` экземпляр аргумента (для поддержки цепочки методов)

### Arg.end

Завершает цепочку методов текущего аргумента и возвращает экземпляр родительской команды.

Returns
  COA.Cmd `parent` родительская команда

The documentation for this class was generated from the following file:

- sfcode/node_modules/coa/README.md