Class: Args
The argument parser to be used in Command.
Constructors
new Args()
new Args(
message:Message<boolean>,command:MessageCommand,parser:ArgumentStream,context:MessageCommandContext):Args
Parameters
| Parameter | Type |
|---|---|
message | Message<boolean> |
command | MessageCommand |
parser | ArgumentStream |
context | MessageCommandContext |
Returns
Defined in
projects/framework/src/lib/parsers/Args.ts:59
Properties
command
readonlycommand:MessageCommand
The command that is being run.
Defined in
projects/framework/src/lib/parsers/Args.ts:40
commandContext
readonlycommandContext:MessageCommandContext
The context of the command being run.
Defined in
projects/framework/src/lib/parsers/Args.ts:45
message
readonlymessage:Message<boolean>
The original message that triggered the command.
Defined in
projects/framework/src/lib/parsers/Args.ts:35
parser
protectedreadonlyparser:ArgumentStream
The internal Lexure parser.
Defined in
projects/framework/src/lib/parsers/Args.ts:50
Accessors
finished
Get Signature
get finished():
boolean
Whether all arguments have been consumed.
Returns
boolean
Defined in
projects/framework/src/lib/parsers/Args.ts:725
Methods
getFlags()
getFlags(...
keys: readonlystring[]):boolean
Checks if one or more flag were given.
Parameters
| Parameter | Type | Description |
|---|---|---|
...keys | readonly string[] | The name(s) of the flag. |
Returns
boolean
Example
// Suppose args are from '--f --g'.
console.log(args.getFlags('f'));
// >>> true
console.log(args.getFlags('g', 'h'));
// >>> true
console.log(args.getFlags('h'));
// >>> false
Defined in
projects/framework/src/lib/parsers/Args.ts:615
getOption()
getOption(...
keys: readonlystring[]):null|string
Gets the last value of one or more options.
Similar to Args.getOptionResult but returns the value on success, or null if not.
Parameters
| Parameter | Type | Description |
|---|---|---|
...keys | readonly string[] | The name(s) of the option. |
Returns
null | string
Example
// Suppose args are from '--a=1 --b=2 --c=3'.
console.log(args.getOption('a'));
// >>> '1'
console.log(args.getOption('b', 'c'));
// >>> '2'
console.log(args.getOption('d'));
// >>> null
Defined in
projects/framework/src/lib/parsers/Args.ts:658
getOptionResult()
getOptionResult(...
keys: readonlystring[]):Option<string,boolean>
Gets the last value of one or more options as an Option.
If you do not care about safely handling non-existing values
you can use Args.getOption to get string | null as return type
Parameters
| Parameter | Type | Description |
|---|---|---|
...keys | readonly string[] | The name(s) of the option. |
Returns
Option<string, boolean>
Example
// Suppose args are from '--a=1 --b=2 --c=3'.
console.log(args.getOptionResult('a'));
// >>> Some { value: '1' }
console.log(args.getOptionResult('b', 'c'));
// >>> Some { value: '2' }
console.log(args.getOptionResult('d'));
// >>> None {}
Defined in
projects/framework/src/lib/parsers/Args.ts:637
getOptions()
getOptions(...
keys: readonlystring[]):null| readonlystring[]
Gets all the values of one or more option.
Similar to Args.getOptionsResult but returns the value on success, or null if not.
Parameters
| Parameter | Type | Description |
|---|---|---|
...keys | readonly string[] | The name(s) of the option. |
Returns
null | readonly string[]
Example
// Suppose args are from '--a=1 --a=1 --b=2 --c=3'.
console.log(args.getOptions('a'));
// >>> ['1', '1']
console.log(args.getOptions('b', 'c'));
// >>> ['2', '3']
console.log(args.getOptions('d'));
// >>> null
Defined in
projects/framework/src/lib/parsers/Args.ts:702
getOptionsResult()
getOptionsResult(...
keys: readonlystring[]):Option<readonlystring[],boolean>
Gets all the values of one or more option.
Parameters
| Parameter | Type | Description |
|---|---|---|
...keys | readonly string[] | The name(s) of the option. |
Returns
Option<readonly string[], boolean>
Example
// Suppose args are from '--a=1 --a=1 --b=2 --c=3'.
console.log(args.getOptionsResult('a'));
// >>> Some { value: [ '1' ] }
console.log(args.getOptionsResult('a', 'd'));
// >>> Some { value: [ '1' ] }
console.log(args.getOptionsResult('b', 'c'));
// >>> Some { value: [ '2', '3' ] }
console.log(args.getOptionsResult('d'));
// >>> None {}
Defined in
projects/framework/src/lib/parsers/Args.ts:681
missingArguments()
protectedmissingArguments():Err<UserError,any>
Returns
Err<UserError, any>
Defined in
projects/framework/src/lib/parsers/Args.ts:747
next()
next()
next():
string
Similar to Args.nextMaybe but returns the value on success, null otherwise.
Returns
string
Example
// !numbers 1 2 3
console.log(args.next());
// -> '1'
Defined in
projects/framework/src/lib/parsers/Args.ts:576
next(cb)
next<
T>(cb:ArgsNextCallback<T>):T
Similar to Args.nextMaybe but returns the value on success, null otherwise.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
cb | ArgsNextCallback<T> | Gives an option of either the resulting value, or nothing if failed. |
Returns
T
Typeparam
T Output type of the callback.
Example
// !numbers 1 2 3
const parse = (x: string) => {
const n = Number(x);
return Number.isNaN(n) ? none() : some(n);
};
console.log(args.nextMaybe(parse));
// -> 1
Defined in
projects/framework/src/lib/parsers/Args.ts:593
nextMaybe()
nextMaybe()
nextMaybe():
Option<string,boolean>
Retrieves the next raw argument from the parser.
Returns
Option<string, boolean>
Example
// !numbers 1 2 3
console.log(args.nextMaybe());
// -> { exists: true, value: '1' }
Defined in
projects/framework/src/lib/parsers/Args.ts:543
nextMaybe(cb)
nextMaybe<
T>(cb:ArgsNextCallback<T>):Option<T,boolean>
Retrieves the value of the next unused ordered token, but only if it could be transformed. That token will now be used if the transformation succeeds.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
cb | ArgsNextCallback<T> | Gives an option of either the resulting value, or nothing if failed. |
Returns
Option<T, boolean>
Typeparam
T Output type of the callback.
Example
// !numbers 1 2 3
const parse = (x: string) => {
const n = Number(x);
return Number.isNaN(n) ? none() : some(n);
};
console.log(args.nextMaybe(parse));
// -> { exists: true, value: 1 }
Defined in
projects/framework/src/lib/parsers/Args.ts:561
peek()
peek(type)
Similar to Args.peekResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | () => Result<T> | The function, custom argument, or argument name. |
Returns
Promise<T>
Example
// !bigintsumthensquarefirst 25 50 75
const resolver = Args.make((arg, { argument }) => {
try {
return Args.ok(BigInt(arg));
} catch {
return Args.error({ parameter: arg, argument, identifier: 'InvalidBigInt', message: 'You must specify a valid number for a bigint.' })
}
});
const peeked = await args.repeatResult(resolver);
await peeked.inspectAsync((value) => message.channel.send(`Sum: **${value.reduce((x, y) => x + y, 0n)}**`)); // Sum: 150n
const first = await args.pick(resolver);
await message.channel.send(`First bigint squared: ${first**2n}`); // First bigint squared: 625
Defined in
projects/framework/src/lib/parsers/Args.ts:481
peek(type, options)
peek<
T>(type:IArgument<T>,options?:ArgOptions):Promise<T>
Similar to Args.peekResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The function, custom argument, or argument name. |
options? | ArgOptions | The peek options. |
Returns
Promise<T>
Example
import { SnowflakeRegex } from '@sapphire/discord.js-utilities';
import { DiscordSnowflake } from '@sapphire/snowflake';
// !createdat 730159185517477900
const snowflakeResolver = Args.make<bigint>((arg, { argument }) => {
return SnowflakeRegex.test(arg)
? Args.ok(BigInt(arg))
: Args.error({ parameter: arg, argument, identifier: 'InvalidSnowflake', message: 'You must specify a valid snowflake.' });
});
const snowflake = await args.peek(snowflakeResolver);
const timestamp = Number((snowflake >> 22n) + DiscordSnowflake.epoch);
const createdAt = new Date(timestamp);
await message.channel.send(
`The snowflake ${snowflake} was registered on ${createdAt.toUTCString()}.`
); // The snowflake 730159185517477900 was registered on Tue, 07 Jul 2020 20:31:55 GMT.
const id = await args.pick('string');
await message.channel.send(`Your ID, reversed: ${id.split('').reverse().join('')}`); // Your ID, reversed: 009774715581951037
Defined in
projects/framework/src/lib/parsers/Args.ts:510
peek(type, options)
peek<
K>(type:K| () =>Result<ArgType[K]>,options?:ArgOptions):Promise<ArgType[K]>
Similar to Args.peekResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | () => Result<ArgType[K]> | The function, custom argument, or argument name. |
options? | ArgOptions | The peek options. |
Returns
Example
// !messagelink https://discord.com/channels/737141877803057244/737142209639350343/791843123898089483
const remoteMessage = await args.peek('message');
await message.channel.send(
`${remoteMessage.author.tag}: ${remoteMessage.content}`
); // RealShadowNova#7462: Yeah, Sapphire has been a great experience so far, especially being able to help and contribute.
const url = await args.pick('hyperlink');
await message.channel.send(`Hostname: ${url.hostname}`); // Hostname: discord.com
Defined in
projects/framework/src/lib/parsers/Args.ts:527
peekResult()
peekResult(type)
peekResult<
T>(type: () =>Result<T>):Promise<ResultType<T>>
Peeks the following parameter(s) without advancing the parser's state. Passing a function as a parameter allows for returning Args.pickResult, Args.repeatResult, or Args.restResult; otherwise, passing the custom argument or the argument type with options will use Args.pickResult and only peek a single argument.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | () => Result<T> | The function, custom argument, or argument name. |
Returns
Promise<ResultType<T>>
Example
// !reversedandscreamfirst hello world
const resolver = Args.make((arg) => Args.ok(arg.split('').reverse().join('')));
const result = await args.repeatResult(resolver);
await result.inspectAsync((value) =>
message.channel.send(`Reversed ${value.length} word(s): ${value.join(' ')}`)
); // Reversed 2 word(s): olleh dlrow
const firstWord = await args.pickResult('string');
await firstWord.inspectAsync((value) =>
message.channel.send(firstWord.value.toUpperCase())
); // HELLO
Defined in
projects/framework/src/lib/parsers/Args.ts:403
peekResult(type, options)
peekResult<
T>(type:IArgument<T>,options?:ArgOptions):Promise<ResultType<T>>
Peeks the following parameter(s) without advancing the parser's state. Passing a function as a parameter allows for returning Args.pickResult, Args.repeatResult, or Args.restResult; otherwise, passing the custom argument or the argument type with options will use Args.pickResult and only peek a single argument.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The function, custom argument, or argument name. |
options? | ArgOptions | The peekResult options. |
Returns
Promise<ResultType<T>>
Example
// !reverseandscreamfirst sapphire community
const resolver = Args.make((arg) => Args.ok(arg.split('').reverse().join('')));
const peekedWord = await args.peekResult(resolver);
await peekedWord.inspectAsync((value) => message.channel.send(value)); // erihppas
const firstWord = await args.pickResult('string');
await firstWord.inspectAsync((value) => message.channel.send(value.toUpperCase())); // SAPPHIRE
Defined in
projects/framework/src/lib/parsers/Args.ts:423
peekResult(type, options)
peekResult<
K>(type:K| () =>Awaitable<Result<ArgType[K]>>,options?:ArgOptions):Promise<ResultType<ArgType[K]>>
Peeks the following parameter(s) without advancing the parser's state. Passing a function as a parameter allows for returning Args.pickResult, Args.repeatResult, or Args.restResult; otherwise, passing the custom argument or the argument type with options will use Args.pickResult and only peek a single argument.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | () => Awaitable<Result<ArgType[K]>> | The function, custom argument, or argument name. |
options? | ArgOptions | The peekResult options. |
Returns
Promise<ResultType<ArgType[K]>>
Example
// !datethenaddtwo 1608867472611
const date = await args.peekResult('date');
await date.inspectAsync((value) =>
message.channel.send(`Your date (in UTC): ${value.toUTCString()}`)
); // Your date (in UTC): Fri, 25 Dec 2020 03:37:52 GMT
const result = await args.pickResult('number', { maximum: Number.MAX_SAFE_INTEGER - 2 });
await result.inspectAsync((value) =>
message.channel.send(`Your number plus two: ${value + 2}`)
); // Your number plus two: 1608867472613
Defined in
projects/framework/src/lib/parsers/Args.ts:445
pick()
pick(type, options)
pick<
T>(type:IArgument<T>,options?:ArgOptions):Promise<T>
Similar to Args.pickResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The type of the argument. |
options? | ArgOptions | The pick options. |
Returns
Promise<T>
Example
// !square 5
const resolver = Args.make((parameter, { argument }) => {
const parsed = Number(parameter);
if (Number.isNaN(parsed)) {
return Args.error({ argument, parameter, identifier: 'ArgumentNumberNaN', message: 'You must write a valid number.' });
}
return Args.ok(parsed);
});
const a = await args.pick(resolver);
await message.channel.send(`The result is: ${a ** 2}!`);
// Sends "The result is: 25"
Defined in
projects/framework/src/lib/parsers/Args.ts:165
pick(type, options)
pick<
K>(type:K,options?:ArgOptions):Promise<ArgType[K]>
Similar to Args.pickResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | The type of the argument. |
options? | ArgOptions | The pick options. |
Returns
Example
// !add 1 2
const a = await args.pick('integer');
const b = await args.pick('integer');
await message.channel.send(`The result is: ${a + b}!`);
// Sends "The result is: 3"
Defined in
projects/framework/src/lib/parsers/Args.ts:179
pickResult()
pickResult(type, options)
pickResult<
T>(type:IArgument<T>,options?:ArgOptions):Promise<ResultType<T>>
Retrieves the next parameter and parses it. Advances index on success.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The type of the argument. |
options? | ArgOptions | The pickResult options. |
Returns
Promise<ResultType<T>>
Example
// !square 5
const resolver = Args.make((parameter, { argument }) => {
const parsed = Number(parameter);
if (Number.isNaN(parsed)) {
return Args.error({ argument, parameter, identifier: 'ArgumentNumberNaN', message: 'You must write a valid number.' });
}
return Args.ok(parsed);
});
const a = await args.pickResult(resolver);
if (!a.success) {
throw new UserError({ identifier: 'ArgumentNumberNaN', message: 'You must write a valid number.' });
}
await message.channel.send(`The result is: ${a.value ** 2}!`);
// Sends "The result is: 25"
Defined in
projects/framework/src/lib/parsers/Args.ts:99
pickResult(type, options)
pickResult<
K>(type:K,options?:ArgOptions):Promise<ResultType<ArgType[K]>>
Retrieves the next parameter and parses it. Advances index on success.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | The type of the argument. |
options? | ArgOptions | The pickResult options. |
Returns
Promise<ResultType<ArgType[K]>>
Example
// !add 1 2
const a = await args.pickResult('integer');
if (!a.success) {
throw new UserError({ identifier: 'AddArgumentError', message: 'You must write two numbers, but the first one did not match.' });
}
const b = await args.pickResult('integer');
if (!b.success) {
throw new UserError({ identifier: 'AddArgumentError', message: 'You must write two numbers, but the second one did not match.' });
}
await message.channel.send(`The result is: ${a.value + b.value}!`);
// Sends "The result is: 3"
Defined in
projects/framework/src/lib/parsers/Args.ts:121
repeat()
repeat(type, options)
repeat<
T>(type:IArgument<T>,options?:RepeatArgOptions):Promise<T[]>
Similar to Args.repeatResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The type of the argument. |
options? | RepeatArgOptions | The repeat options. |
Returns
Promise<T[]>
Example
// !reverse-each 2 Hello World!
const resolver = Args.make((arg) => Args.ok(arg.split('').reverse()));
const result = await args.repeat(resolver, { times: 5 });
await message.channel.send(`You have written ${result.length} word(s): ${result.join(' ')}`);
// Sends "You have written 2 word(s): Hello World!"
Defined in
projects/framework/src/lib/parsers/Args.ts:362
repeat(type, options)
repeat<
K>(type:K,options?:RepeatArgOptions):Promise<ArgType[K][]>
Similar to Args.repeatResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | The type of the argument. |
options? | RepeatArgOptions | The repeat options. |
Returns
Example
// !add 2 Hello World!
const words = await args.repeat('string', { times: 5 });
await message.channel.send(`You have written ${words.length} word(s): ${words.join(' ')}`);
// Sends "You have written 2 word(s): Hello World!"
Defined in
projects/framework/src/lib/parsers/Args.ts:375
repeatResult()
repeatResult(type, options)
repeatResult<
T>(type:IArgument<T>,options?:RepeatArgOptions):Promise<ArrayResultType<T>>
Retrieves all the following arguments.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The type of the argument. |
options? | RepeatArgOptions | The repeatResult options. |
Returns
Example
// !add 2 Hello World!
const resolver = Args.make((arg) => Args.ok(arg.split('').reverse()));
const result = await args.repeatResult(resolver, { times: 5 });
if (!result.success) {
throw new UserError({ identifier: 'CountArgumentError', message: 'You must write up to 5 words.' });
}
await message.channel.send(`You have written ${result.value.length} word(s): ${result.value.join(' ')}`);
// Sends "You have written 2 word(s): olleH !dlroW"
Defined in
projects/framework/src/lib/parsers/Args.ts:295
repeatResult(type, options)
repeatResult<
K>(type:K,options?:RepeatArgOptions):Promise<ArrayResultType<ArgType[K]>>
Retrieves all the following arguments.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | The type of the argument. |
options? | RepeatArgOptions | The repeatResult options. |
Returns
Promise<ArrayResultType<ArgType[K]>>
Example
// !reverse-each 2 Hello World!
const result = await args.repeatResult('string', { times: 5 });
if (!result.success) {
throw new UserError({ identifier: 'CountArgumentError', message: 'You must write up to 5 words.' });
}
await message.channel.send(`You have written ${result.value.length} word(s): ${result.value.join(' ')}`);
// Sends "You have written 2 word(s): Hello World!"
Defined in
projects/framework/src/lib/parsers/Args.ts:312
rest()
rest(type, options)
rest<
T>(type:IArgument<T>,options?:ArgOptions):Promise<T>
Similar to Args.restResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The type of the argument. |
options? | ArgOptions | The rest options. |
Returns
Promise<T>
Example
// !reverse Hello world!
const resolver = Args.make((arg) => Args.ok(arg.split('').reverse()));
const a = await args.rest(resolver);
await message.channel.send(`The reversed value is... ${a}`);
// Sends "The reversed value is... !dlrow olleH"
Defined in
projects/framework/src/lib/parsers/Args.ts:258
rest(type, options)
rest<
K>(type:K,options?:ArgOptions):Promise<ArgType[K]>
Similar to Args.restResult but returns the value on success, throwing otherwise.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | The type of the argument. |
options? | ArgOptions | The rest options. |
Returns
Example
// !add 2 Hello World!
const a = await args.pick('integer');
const b = await args.rest('string', { minimum: 1 });
await message.channel.send(`The repeated value is... ${b.repeat(a)}!`);
// Sends "The repeated value is... Hello World!Hello World!"
Defined in
projects/framework/src/lib/parsers/Args.ts:272
restore()
restore():
void
Restores the previously saved state from the stack.
Returns
void
See
Args#save
Defined in
projects/framework/src/lib/parsers/Args.ts:718
restResult()
restResult(type, options)
restResult<
T>(type:IArgument<T>,options?:ArgOptions):Promise<ResultType<T>>
Retrieves all the following arguments.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | IArgument<T> | The type of the argument. |
options? | ArgOptions | The restResult options. |
Returns
Promise<ResultType<T>>
Example
// !reverse Hello world!
const resolver = Args.make((parameter) => Args.ok(parameter.split('').reverse()));
const a = await args.restResult(resolver);
if (!a.success) {
throw new UserError({ identifier: 'AddArgumentError', message: 'You must write some text.' });
}
await message.channel.send(`The reversed value is... ${a.value}`);
// Sends "The reversed value is... !dlrow olleH"
Defined in
projects/framework/src/lib/parsers/Args.ts:203
restResult(type, options)
restResult<
K>(type:K,options?:ArgOptions):Promise<ResultType<ArgType[K]>>
Retrieves all the following arguments.
Type Parameters
| Type Parameter |
|---|
K extends keyof ArgType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | K | The type of the argument. |
options? | ArgOptions | The restResult options. |
Returns
Promise<ResultType<ArgType[K]>>
Example
// !add 2 Hello World!
const a = await args.pickResult('integer');
if (!a.success) {
throw new UserError({ identifier: 'AddArgumentError', message: 'You must write a number and a text, but the former did not match.' });
}
const b = await args.restResult('string', { minimum: 1 });
if (!b.success) {
throw new UserError({ identifier: 'AddArgumentError', message: 'You must write a number and a text, but the latter did not match.' });
}
await message.channel.send(`The repeated value is... ${b.value.repeat(a.value)}!`);
// Sends "The repeated value is... Hello World!Hello World!"
Defined in
projects/framework/src/lib/parsers/Args.ts:225
save()
save():
void
Saves the current state into the stack following a FILO strategy (first-in, last-out).
Returns
void
See
Args#restore
Defined in
projects/framework/src/lib/parsers/Args.ts:710
start()
start():
Args
Sets the parser to the first token.
Returns
Defined in
projects/framework/src/lib/parsers/Args.ts:69
toJSON()
toJSON():
ArgsJson
Defines the JSON.stringify override.
Returns
Defined in
projects/framework/src/lib/parsers/Args.ts:732
unavailableArgument()
protectedunavailableArgument<T>(type:string|IArgument<T>):Err<UserError,any>
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
type | string | IArgument<T> |
Returns
Err<UserError, any>
Defined in
projects/framework/src/lib/parsers/Args.ts:736
error()
staticerror<T>(options:Options<T>):Err<ArgumentError<T>,any>
Constructs an Err result containing an ArgumentError.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | Options<T> | The options for the argument error. |
Returns
Err<ArgumentError<T>, any>
Defined in
projects/framework/src/lib/parsers/Args.ts:781
make()
staticmake<T>(cb: (parameter:string,context:Context<T>) =>AwaitableResult<T>,name:string):IArgument<T>
Converts a callback into a usable argument.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
cb | (parameter: string, context: Context<T>) => AwaitableResult<T> | undefined | The callback to convert into an IArgument. |
name | string | '' | The name of the argument. |
Returns
IArgument<T>
Defined in
projects/framework/src/lib/parsers/Args.ts:765
ok()
staticok<T>(value:T):Ok<T,any>
Constructs an Ok result.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
value | T | The value to pass. |
Returns
Ok<T, any>