Module Args.Many

Many expected values

Getters return a list that can contain 0 or more elements.

let req: args:list((t, validate)) => name:string => ?⁠alias:string => doc:string => Type.t('a) => argValidateTuple(list('a));

Required, if users:

  • Provide an arg with this name and no values -> empty list
  • Provide an arg with this name and 1 or more values -> provided values will be returned
  • Don't provide an arg with this name -> validation error
let default: args:list((t, validate)) => name:string => ?⁠alias:string => doc:string => default:list('a) => Type.t('a) => argValidateTuple(list('a));

Optional with a default value, if users:

  • Provide an arg with this name and no values -> empty list
  • Provide an arg with this name and 1 or more values -> provided values will be returned
  • Don't provide an arg with this name -> default will be returned
let opt: args:list((t, validate)) => name:string => ?⁠alias:string => doc:string => Type.t('a) => argValidateTuple(option(list('a)));

Optional

  • Provide an arg with this name and no values -> empty list
  • Provide an arg with this name and 1 or more values -> provided values will be returned
  • Don't provide an arg with this name -> None will be returned