bob-core 3.0.0-beta.4 → 3.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/cjs/{src/Cli.d.ts → Cli.d.ts} +20 -0
- package/dist/cjs/Command.d.ts +91 -0
- package/dist/cjs/CommandParser.d.ts +122 -0
- package/dist/cjs/{src/CommandRegistry.d.ts → CommandRegistry.d.ts} +12 -0
- package/dist/cjs/ExceptionHandler.d.ts +14 -0
- package/dist/cjs/HelpFlag.d.ts +27 -0
- package/dist/cjs/StringSimilarity.d.ts +31 -0
- package/dist/cjs/args/index.d.ts +131 -0
- package/dist/{esm/src → cjs}/errors/BadCommandArgument.d.ts +4 -2
- package/dist/cjs/{src/errors → errors}/BadCommandFlag.d.ts +4 -2
- package/dist/cjs/errors/BobError.d.ts +13 -0
- package/dist/cjs/errors/CommandNotFoundError.d.ts +9 -0
- package/dist/{esm/src → cjs}/errors/InvalidFlag.d.ts +4 -2
- package/dist/cjs/errors/MissingRequiredArgumentValue.d.ts +9 -0
- package/dist/cjs/errors/MissingRequiredFlagValue.d.ts +9 -0
- package/dist/cjs/errors/TooManyArguments.d.ts +10 -0
- package/dist/cjs/errors/ValidationError.d.ts +10 -0
- package/dist/{esm/src → cjs}/errors/renderError.d.ts +2 -2
- package/dist/cjs/flags/boolean.d.ts +20 -0
- package/dist/cjs/flags/custom.d.ts +12 -0
- package/dist/cjs/flags/directory.d.ts +27 -0
- package/dist/cjs/flags/file.d.ts +27 -0
- package/dist/cjs/flags/helpers.d.ts +9 -0
- package/dist/cjs/flags/index.d.ts +160 -0
- package/dist/cjs/flags/number.d.ts +32 -0
- package/dist/cjs/flags/option.d.ts +8 -0
- package/dist/cjs/flags/string.d.ts +19 -0
- package/dist/cjs/flags/url.d.ts +19 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/{src/lib → lib}/helpers.d.ts +1 -1
- package/dist/cjs/lib/types.d.ts +99 -0
- package/dist/cjs/shared/ask-helpers.d.ts +7 -0
- package/dist/cjs/shared/flagsUtils.d.ts +5 -0
- package/dist/cjs/ux/askForConfirmation.d.ts +10 -0
- package/dist/cjs/{src/ux → ux}/askForToggle.d.ts +5 -1
- package/dist/cjs/ux/helpers.d.ts +6 -0
- package/dist/{esm/src → cjs}/ux/index.d.ts +30 -2
- package/dist/esm/{src/Cli.d.ts → Cli.d.ts} +20 -0
- package/dist/esm/Command.d.ts +91 -0
- package/dist/esm/CommandParser.d.ts +122 -0
- package/dist/esm/{src/CommandRegistry.d.ts → CommandRegistry.d.ts} +12 -0
- package/dist/esm/ExceptionHandler.d.ts +14 -0
- package/dist/esm/HelpFlag.d.ts +27 -0
- package/dist/esm/StringSimilarity.d.ts +31 -0
- package/dist/esm/args/index.d.ts +131 -0
- package/dist/{cjs/src → esm}/errors/BadCommandArgument.d.ts +4 -2
- package/dist/esm/{src/errors → errors}/BadCommandFlag.d.ts +4 -2
- package/dist/esm/errors/BobError.d.ts +13 -0
- package/dist/esm/errors/CommandNotFoundError.d.ts +9 -0
- package/dist/{cjs/src → esm}/errors/InvalidFlag.d.ts +4 -2
- package/dist/esm/errors/MissingRequiredArgumentValue.d.ts +9 -0
- package/dist/esm/errors/MissingRequiredFlagValue.d.ts +9 -0
- package/dist/esm/errors/TooManyArguments.d.ts +10 -0
- package/dist/esm/errors/ValidationError.d.ts +10 -0
- package/dist/{cjs/src → esm}/errors/renderError.d.ts +2 -2
- package/dist/esm/flags/boolean.d.ts +20 -0
- package/dist/esm/flags/custom.d.ts +12 -0
- package/dist/esm/flags/directory.d.ts +27 -0
- package/dist/esm/flags/file.d.ts +27 -0
- package/dist/esm/flags/helpers.d.ts +9 -0
- package/dist/esm/flags/index.d.ts +160 -0
- package/dist/esm/flags/number.d.ts +32 -0
- package/dist/esm/flags/option.d.ts +8 -0
- package/dist/esm/flags/string.d.ts +19 -0
- package/dist/esm/flags/url.d.ts +19 -0
- package/dist/esm/{src/index.js → index.js} +346 -267
- package/dist/esm/{src/lib → lib}/helpers.d.ts +1 -1
- package/dist/esm/lib/types.d.ts +99 -0
- package/dist/esm/shared/ask-helpers.d.ts +7 -0
- package/dist/esm/shared/flagsUtils.d.ts +5 -0
- package/dist/esm/ux/askForConfirmation.d.ts +10 -0
- package/dist/esm/{src/ux → ux}/askForToggle.d.ts +5 -1
- package/dist/esm/ux/helpers.d.ts +6 -0
- package/dist/{cjs/src → esm}/ux/index.d.ts +30 -2
- package/package.json +1 -1
- package/dist/cjs/package-BYPkkzPN.cjs +0 -1
- package/dist/cjs/src/Command.d.ts +0 -48
- package/dist/cjs/src/CommandParser.d.ts +0 -110
- package/dist/cjs/src/ExceptionHandler.d.ts +0 -6
- package/dist/cjs/src/HelpFlag.d.ts +0 -12
- package/dist/cjs/src/StringSimilarity.d.ts +0 -26
- package/dist/cjs/src/args/index.d.ts +0 -67
- package/dist/cjs/src/errors/BobError.d.ts +0 -5
- package/dist/cjs/src/errors/CommandNotFoundError.d.ts +0 -7
- package/dist/cjs/src/errors/MissingRequiredArgumentValue.d.ts +0 -7
- package/dist/cjs/src/errors/MissingRequiredFlagValue.d.ts +0 -7
- package/dist/cjs/src/errors/TooManyArguments.d.ts +0 -8
- package/dist/cjs/src/errors/ValidationError.d.ts +0 -3
- package/dist/cjs/src/flags/boolean.d.ts +0 -9
- package/dist/cjs/src/flags/custom.d.ts +0 -9
- package/dist/cjs/src/flags/directory.d.ts +0 -14
- package/dist/cjs/src/flags/file.d.ts +0 -14
- package/dist/cjs/src/flags/helpers.d.ts +0 -3
- package/dist/cjs/src/flags/index.d.ts +0 -76
- package/dist/cjs/src/flags/number.d.ts +0 -17
- package/dist/cjs/src/flags/option.d.ts +0 -6
- package/dist/cjs/src/flags/string.d.ts +0 -8
- package/dist/cjs/src/flags/url.d.ts +0 -8
- package/dist/cjs/src/index.js +0 -10
- package/dist/cjs/src/lib/types.d.ts +0 -59
- package/dist/cjs/src/shared/ask-helpers.d.ts +0 -7
- package/dist/cjs/src/ux/askForConfirmation.d.ts +0 -5
- package/dist/cjs/src/ux/helpers.d.ts +0 -1
- package/dist/esm/package-LkysKcR6.js +0 -60
- package/dist/esm/src/Command.d.ts +0 -48
- package/dist/esm/src/CommandParser.d.ts +0 -110
- package/dist/esm/src/ExceptionHandler.d.ts +0 -6
- package/dist/esm/src/HelpFlag.d.ts +0 -12
- package/dist/esm/src/StringSimilarity.d.ts +0 -26
- package/dist/esm/src/args/index.d.ts +0 -67
- package/dist/esm/src/errors/BobError.d.ts +0 -5
- package/dist/esm/src/errors/CommandNotFoundError.d.ts +0 -7
- package/dist/esm/src/errors/MissingRequiredArgumentValue.d.ts +0 -7
- package/dist/esm/src/errors/MissingRequiredFlagValue.d.ts +0 -7
- package/dist/esm/src/errors/TooManyArguments.d.ts +0 -8
- package/dist/esm/src/errors/ValidationError.d.ts +0 -3
- package/dist/esm/src/flags/boolean.d.ts +0 -9
- package/dist/esm/src/flags/custom.d.ts +0 -9
- package/dist/esm/src/flags/directory.d.ts +0 -14
- package/dist/esm/src/flags/file.d.ts +0 -14
- package/dist/esm/src/flags/helpers.d.ts +0 -3
- package/dist/esm/src/flags/index.d.ts +0 -76
- package/dist/esm/src/flags/number.d.ts +0 -17
- package/dist/esm/src/flags/option.d.ts +0 -6
- package/dist/esm/src/flags/string.d.ts +0 -8
- package/dist/esm/src/flags/url.d.ts +0 -8
- package/dist/esm/src/lib/types.d.ts +0 -59
- package/dist/esm/src/shared/ask-helpers.d.ts +0 -7
- package/dist/esm/src/ux/askForConfirmation.d.ts +0 -5
- package/dist/esm/src/ux/helpers.d.ts +0 -1
- /package/dist/cjs/{src/CommandSignatureParser.d.ts → CommandSignatureParser.d.ts} +0 -0
- /package/dist/cjs/{src/CommandWithSignature.d.ts → CommandWithSignature.d.ts} +0 -0
- /package/dist/cjs/{src/Logger.d.ts → Logger.d.ts} +0 -0
- /package/dist/cjs/{src/commands → commands}/HelpCommand.d.ts +0 -0
- /package/dist/cjs/{src/contracts → contracts}/LoggerContract.d.ts +0 -0
- /package/dist/cjs/{src/contracts → contracts}/index.d.ts +0 -0
- /package/dist/cjs/{src/errors → errors}/index.d.ts +0 -0
- /package/dist/cjs/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/cjs/{src/lib → lib}/string.d.ts +0 -0
- /package/dist/cjs/{src/shared → shared}/parsers.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForCheckbox.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForEditor.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForExpand.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForFileSelector.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForInput.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForList.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForNumber.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForPassword.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForRawList.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForSearch.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/askForSelect.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/keyValue.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/loader.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/progressBar.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/table.d.ts +0 -0
- /package/dist/cjs/{src/ux → ux}/types.d.ts +0 -0
- /package/dist/esm/{src/CommandSignatureParser.d.ts → CommandSignatureParser.d.ts} +0 -0
- /package/dist/esm/{src/CommandWithSignature.d.ts → CommandWithSignature.d.ts} +0 -0
- /package/dist/esm/{src/Logger.d.ts → Logger.d.ts} +0 -0
- /package/dist/esm/{src/commands → commands}/HelpCommand.d.ts +0 -0
- /package/dist/esm/{src/contracts → contracts}/LoggerContract.d.ts +0 -0
- /package/dist/esm/{src/contracts → contracts}/index.d.ts +0 -0
- /package/dist/esm/{src/errors → errors}/index.d.ts +0 -0
- /package/dist/esm/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/esm/{src/lib → lib}/string.d.ts +0 -0
- /package/dist/esm/{src/shared → shared}/parsers.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForCheckbox.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForEditor.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForExpand.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForFileSelector.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForInput.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForList.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForNumber.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForPassword.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForRawList.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForSearch.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/askForSelect.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/keyValue.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/loader.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/progressBar.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/table.d.ts +0 -0
- /package/dist/esm/{src/ux → ux}/types.d.ts +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LoggerContract } from '../contracts/index.js';
|
|
2
|
+
import { BobError } from './BobError.js';
|
|
3
|
+
/** Thrown in strict mode when more positional arguments were supplied than the schema declares. */
|
|
4
|
+
export declare class TooManyArguments extends BobError {
|
|
5
|
+
readonly expected: number;
|
|
6
|
+
readonly received: number;
|
|
7
|
+
readonly $type: "TooManyArguments";
|
|
8
|
+
constructor(expected: number, received: number);
|
|
9
|
+
pretty(logger: LoggerContract): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raised by `parse`/`ask` validators to signal user-facing input problems.
|
|
3
|
+
*
|
|
4
|
+
* `safeParse` in {@link CommandParser} catches this specifically (and re-wraps
|
|
5
|
+
* it as {@link BadCommandFlag} or {@link BadCommandArgument}) — anything else
|
|
6
|
+
* is treated as a programmer bug and propagates unchanged.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ValidationError extends Error {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LoggerContract } from '../contracts/index.js';
|
|
2
2
|
export type ErrorDetail = [label: string, value: string];
|
|
3
3
|
export type RenderErrorOptions = {
|
|
4
4
|
title: string;
|
|
@@ -6,4 +6,4 @@ export type RenderErrorOptions = {
|
|
|
6
6
|
hint?: string;
|
|
7
7
|
};
|
|
8
8
|
export declare function quote(name: string): string;
|
|
9
|
-
export declare function renderError(logger:
|
|
9
|
+
export declare function renderError(logger: LoggerContract, opts: RenderErrorOptions): void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FlagOpts } from '../lib/types.js';
|
|
2
|
+
/** Boolean flag (`--debug` / `--no-debug`). Defaults to `false` when omitted. */
|
|
3
|
+
export declare const booleanFlag: <const O extends Partial<import('../lib/types.js').FlagDefinition<boolean, import('../lib/types.js').CustomOptions>>>(overrides?: O | undefined) => {
|
|
4
|
+
[x: string]: unknown;
|
|
5
|
+
} & {
|
|
6
|
+
parse: (input: any, opts: FlagOpts<any, import('../lib/types.js').CustomOptions>) => boolean;
|
|
7
|
+
type?: import('../lib/types.js').FlagKind;
|
|
8
|
+
ask?: (opts: FlagOpts) => Promise<any>;
|
|
9
|
+
description?: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
default?: boolean | boolean[] | (() => boolean | boolean[] | null) | (() => Promise<boolean | boolean[] | null>) | null | undefined;
|
|
12
|
+
multiple?: boolean;
|
|
13
|
+
help?: string;
|
|
14
|
+
alias?: string | readonly string[];
|
|
15
|
+
handler?: ((value: boolean, opts: FlagOpts) => {
|
|
16
|
+
shouldStop: boolean;
|
|
17
|
+
} | void) | undefined;
|
|
18
|
+
} & Omit<import('../lib/types.js').FlagDefinition<boolean, import('../lib/types.js').CustomOptions>, "parse"> & {
|
|
19
|
+
parse?: ((input: any, opts: FlagOpts<any, import('../lib/types.js').CustomOptions>) => boolean) | undefined;
|
|
20
|
+
} & O;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CustomOptions, FlagDefinition, InitFlagDefinition } from '../lib/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Escape hatch for declaring arbitrary parameter types. Returns a builder
|
|
4
|
+
* function — call it with overrides to produce a `FlagDefinition`.
|
|
5
|
+
*
|
|
6
|
+
* `parse` is required when there's no built-in for the target type. `multiple`
|
|
7
|
+
* defaults the value to `[]`; non-multiple flags default to `null`.
|
|
8
|
+
*
|
|
9
|
+
* The `type` literal supplied in `defaults` is preserved in the returned shape
|
|
10
|
+
* so downstream consumers can rely on it (e.g. for help rendering).
|
|
11
|
+
*/
|
|
12
|
+
export declare function custom<T, C extends CustomOptions = CustomOptions, const D extends InitFlagDefinition<T, C> = InitFlagDefinition<T, C>>(defaults?: D): <const O extends Partial<FlagDefinition<T, C>>>(overrides?: O) => FlagDefinition<T, C> & D & O;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Filesystem directory flag. Pass `exists: true` to require the directory to exist at parse time. */
|
|
2
|
+
export declare const directoryFlag: <const O extends Partial<import('../index.js').FlagDefinition<string, {
|
|
3
|
+
exists?: boolean;
|
|
4
|
+
}>>>(overrides?: O | undefined) => {
|
|
5
|
+
exists?: boolean | undefined;
|
|
6
|
+
} & {
|
|
7
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, {
|
|
8
|
+
exists?: boolean;
|
|
9
|
+
}>) => string;
|
|
10
|
+
type?: import('../index.js').FlagKind;
|
|
11
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
12
|
+
description?: string;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
default?: string | string[] | (() => string | string[] | null) | (() => Promise<string | string[] | null>) | null | undefined;
|
|
15
|
+
multiple?: boolean;
|
|
16
|
+
help?: string;
|
|
17
|
+
alias?: string | readonly string[];
|
|
18
|
+
handler?: ((value: string, opts: import('../index.js').FlagOpts) => {
|
|
19
|
+
shouldStop: boolean;
|
|
20
|
+
} | void) | undefined;
|
|
21
|
+
} & Omit<import('../index.js').FlagDefinition<string, {
|
|
22
|
+
exists?: boolean;
|
|
23
|
+
}>, "parse"> & {
|
|
24
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, {
|
|
25
|
+
exists?: boolean;
|
|
26
|
+
}>) => string) | undefined;
|
|
27
|
+
} & O;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Filesystem file flag. Pass `exists: true` to require the path to exist at parse time. */
|
|
2
|
+
export declare const fileFlag: <const O extends Partial<import('../index.js').FlagDefinition<string, {
|
|
3
|
+
exists?: boolean;
|
|
4
|
+
}>>>(overrides?: O | undefined) => {
|
|
5
|
+
exists?: boolean | undefined;
|
|
6
|
+
} & {
|
|
7
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, {
|
|
8
|
+
exists?: boolean;
|
|
9
|
+
}>) => string;
|
|
10
|
+
type?: import('../index.js').FlagKind;
|
|
11
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
12
|
+
description?: string;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
default?: string | string[] | (() => string | string[] | null) | (() => Promise<string | string[] | null>) | null | undefined;
|
|
15
|
+
multiple?: boolean;
|
|
16
|
+
help?: string;
|
|
17
|
+
alias?: string | readonly string[];
|
|
18
|
+
handler?: ((value: string, opts: import('../index.js').FlagOpts) => {
|
|
19
|
+
shouldStop: boolean;
|
|
20
|
+
} | void) | undefined;
|
|
21
|
+
} & Omit<import('../index.js').FlagDefinition<string, {
|
|
22
|
+
exists?: boolean;
|
|
23
|
+
}>, "parse"> & {
|
|
24
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, {
|
|
25
|
+
exists?: boolean;
|
|
26
|
+
}>) => string) | undefined;
|
|
27
|
+
} & O;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FlagDefinition } from '../lib/types.js';
|
|
2
|
+
export declare function formatPromptMessage(name: string, definition: FlagDefinition): string;
|
|
3
|
+
export declare function normalizeAliases(alias: string | readonly string[] | undefined): readonly string[];
|
|
4
|
+
/**
|
|
5
|
+
* Formats an alias with the correct dash prefix for help/error output:
|
|
6
|
+
* single-character aliases get one dash (`-v`), multi-character aliases get
|
|
7
|
+
* two (`--verbose`). This matches POSIX/minimist parsing conventions.
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatAlias(alias: string): string;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { custom } from './custom.js';
|
|
2
|
+
import { optionFlag } from './option.js';
|
|
3
|
+
/**
|
|
4
|
+
* Flag builders used in `static flags = { ... }` schemas.
|
|
5
|
+
*
|
|
6
|
+
* - `Flags.string({ secret? })` — text input; `secret` masks the prompt.
|
|
7
|
+
* - `Flags.number({ min?, max? })` — numeric input with range validation.
|
|
8
|
+
* - `Flags.boolean()` — toggle flag (`--debug` / `--no-debug`).
|
|
9
|
+
* - `Flags.option({ options: [...] as const })` — fixed enum.
|
|
10
|
+
* - `Flags.file({ exists? })` / `Flags.directory({ exists? })` — filesystem
|
|
11
|
+
* paths; `exists` validates presence at parse time.
|
|
12
|
+
* - `Flags.url()` — `URL`-typed input.
|
|
13
|
+
* - `Flags.custom<T>({ parse, ... })` — escape hatch for arbitrary types;
|
|
14
|
+
* `parse` is required.
|
|
15
|
+
*
|
|
16
|
+
* Every builder accepts the common `FlagProps` (description, alias, required,
|
|
17
|
+
* default, multiple, ask, handler, help) plus its builder-specific extras.
|
|
18
|
+
*/
|
|
19
|
+
export declare const Flags: {
|
|
20
|
+
string: <const O extends Partial<import('../index.js').FlagDefinition<string, import('../index.js').CustomOptions>>>(overrides?: O | undefined) => {
|
|
21
|
+
[x: string]: unknown;
|
|
22
|
+
} & {
|
|
23
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => string;
|
|
24
|
+
type?: import('../index.js').FlagKind;
|
|
25
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
26
|
+
description?: string;
|
|
27
|
+
required?: boolean;
|
|
28
|
+
default?: string | string[] | (() => string | string[] | null) | (() => Promise<string | string[] | null>) | null | undefined;
|
|
29
|
+
multiple?: boolean;
|
|
30
|
+
help?: string;
|
|
31
|
+
alias?: string | readonly string[];
|
|
32
|
+
handler?: ((value: string, opts: import('../index.js').FlagOpts) => {
|
|
33
|
+
shouldStop: boolean;
|
|
34
|
+
} | void) | undefined;
|
|
35
|
+
} & Omit<import('../index.js').FlagDefinition<string, import('../index.js').CustomOptions>, "parse"> & {
|
|
36
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => string) | undefined;
|
|
37
|
+
} & O;
|
|
38
|
+
number: <const O extends Partial<import('../index.js').FlagDefinition<number, {
|
|
39
|
+
min?: number;
|
|
40
|
+
max?: number;
|
|
41
|
+
}>>>(overrides?: O | undefined) => {
|
|
42
|
+
min?: number | undefined;
|
|
43
|
+
max?: number | undefined;
|
|
44
|
+
} & {
|
|
45
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, {
|
|
46
|
+
min?: number;
|
|
47
|
+
max?: number;
|
|
48
|
+
}>) => number;
|
|
49
|
+
type?: import('../index.js').FlagKind;
|
|
50
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
51
|
+
description?: string;
|
|
52
|
+
required?: boolean;
|
|
53
|
+
default?: number | number[] | (() => number | number[] | null) | (() => Promise<number | number[] | null>) | null | undefined;
|
|
54
|
+
multiple?: boolean;
|
|
55
|
+
help?: string;
|
|
56
|
+
alias?: string | readonly string[];
|
|
57
|
+
handler?: ((value: number, opts: import('../index.js').FlagOpts) => {
|
|
58
|
+
shouldStop: boolean;
|
|
59
|
+
} | void) | undefined;
|
|
60
|
+
} & Omit<import('../index.js').FlagDefinition<number, {
|
|
61
|
+
min?: number;
|
|
62
|
+
max?: number;
|
|
63
|
+
}>, "parse"> & {
|
|
64
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, {
|
|
65
|
+
min?: number;
|
|
66
|
+
max?: number;
|
|
67
|
+
}>) => number) | undefined;
|
|
68
|
+
} & O;
|
|
69
|
+
boolean: <const O extends Partial<import('../index.js').FlagDefinition<boolean, import('../index.js').CustomOptions>>>(overrides?: O | undefined) => {
|
|
70
|
+
[x: string]: unknown;
|
|
71
|
+
} & {
|
|
72
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => boolean;
|
|
73
|
+
type?: import('../index.js').FlagKind;
|
|
74
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
75
|
+
description?: string;
|
|
76
|
+
required?: boolean;
|
|
77
|
+
default?: boolean | boolean[] | (() => boolean | boolean[] | null) | (() => Promise<boolean | boolean[] | null>) | null | undefined;
|
|
78
|
+
multiple?: boolean;
|
|
79
|
+
help?: string;
|
|
80
|
+
alias?: string | readonly string[];
|
|
81
|
+
handler?: ((value: boolean, opts: import('../index.js').FlagOpts) => {
|
|
82
|
+
shouldStop: boolean;
|
|
83
|
+
} | void) | undefined;
|
|
84
|
+
} & Omit<import('../index.js').FlagDefinition<boolean, import('../index.js').CustomOptions>, "parse"> & {
|
|
85
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => boolean) | undefined;
|
|
86
|
+
} & O;
|
|
87
|
+
option: typeof optionFlag;
|
|
88
|
+
file: <const O extends Partial<import('../index.js').FlagDefinition<string, {
|
|
89
|
+
exists?: boolean;
|
|
90
|
+
}>>>(overrides?: O | undefined) => {
|
|
91
|
+
exists?: boolean | undefined;
|
|
92
|
+
} & {
|
|
93
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, {
|
|
94
|
+
exists?: boolean;
|
|
95
|
+
}>) => string;
|
|
96
|
+
type?: import('../index.js').FlagKind;
|
|
97
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
98
|
+
description?: string;
|
|
99
|
+
required?: boolean;
|
|
100
|
+
default?: string | string[] | (() => string | string[] | null) | (() => Promise<string | string[] | null>) | null | undefined;
|
|
101
|
+
multiple?: boolean;
|
|
102
|
+
help?: string;
|
|
103
|
+
alias?: string | readonly string[];
|
|
104
|
+
handler?: ((value: string, opts: import('../index.js').FlagOpts) => {
|
|
105
|
+
shouldStop: boolean;
|
|
106
|
+
} | void) | undefined;
|
|
107
|
+
} & Omit<import('../index.js').FlagDefinition<string, {
|
|
108
|
+
exists?: boolean;
|
|
109
|
+
}>, "parse"> & {
|
|
110
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, {
|
|
111
|
+
exists?: boolean;
|
|
112
|
+
}>) => string) | undefined;
|
|
113
|
+
} & O;
|
|
114
|
+
directory: <const O extends Partial<import('../index.js').FlagDefinition<string, {
|
|
115
|
+
exists?: boolean;
|
|
116
|
+
}>>>(overrides?: O | undefined) => {
|
|
117
|
+
exists?: boolean | undefined;
|
|
118
|
+
} & {
|
|
119
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, {
|
|
120
|
+
exists?: boolean;
|
|
121
|
+
}>) => string;
|
|
122
|
+
type?: import('../index.js').FlagKind;
|
|
123
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
124
|
+
description?: string;
|
|
125
|
+
required?: boolean;
|
|
126
|
+
default?: string | string[] | (() => string | string[] | null) | (() => Promise<string | string[] | null>) | null | undefined;
|
|
127
|
+
multiple?: boolean;
|
|
128
|
+
help?: string;
|
|
129
|
+
alias?: string | readonly string[];
|
|
130
|
+
handler?: ((value: string, opts: import('../index.js').FlagOpts) => {
|
|
131
|
+
shouldStop: boolean;
|
|
132
|
+
} | void) | undefined;
|
|
133
|
+
} & Omit<import('../index.js').FlagDefinition<string, {
|
|
134
|
+
exists?: boolean;
|
|
135
|
+
}>, "parse"> & {
|
|
136
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, {
|
|
137
|
+
exists?: boolean;
|
|
138
|
+
}>) => string) | undefined;
|
|
139
|
+
} & O;
|
|
140
|
+
url: <const O extends Partial<import('../index.js').FlagDefinition<URL, import('../index.js').CustomOptions>>>(overrides?: O | undefined) => {
|
|
141
|
+
[x: string]: unknown;
|
|
142
|
+
} & {
|
|
143
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => URL;
|
|
144
|
+
type?: import('../index.js').FlagKind;
|
|
145
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
146
|
+
description?: string;
|
|
147
|
+
required?: boolean;
|
|
148
|
+
default?: URL | URL[] | (() => URL | URL[] | null) | (() => Promise<URL | URL[] | null>) | null | undefined;
|
|
149
|
+
multiple?: boolean;
|
|
150
|
+
help?: string;
|
|
151
|
+
alias?: string | readonly string[];
|
|
152
|
+
handler?: ((value: URL, opts: import('../index.js').FlagOpts) => {
|
|
153
|
+
shouldStop: boolean;
|
|
154
|
+
} | void) | undefined;
|
|
155
|
+
} & Omit<import('../index.js').FlagDefinition<URL, import('../index.js').CustomOptions>, "parse"> & {
|
|
156
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => URL) | undefined;
|
|
157
|
+
} & O;
|
|
158
|
+
custom: typeof custom;
|
|
159
|
+
};
|
|
160
|
+
export { Args } from '../args/index.js';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Numeric flag. Optional `min`/`max` clamp the accepted range and surface as `BadCommandFlag`. */
|
|
2
|
+
export declare const numberFlag: <const O extends Partial<import('../index.js').FlagDefinition<number, {
|
|
3
|
+
min?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
}>>>(overrides?: O | undefined) => {
|
|
6
|
+
min?: number | undefined;
|
|
7
|
+
max?: number | undefined;
|
|
8
|
+
} & {
|
|
9
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, {
|
|
10
|
+
min?: number;
|
|
11
|
+
max?: number;
|
|
12
|
+
}>) => number;
|
|
13
|
+
type?: import('../index.js').FlagKind;
|
|
14
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
15
|
+
description?: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
default?: number | number[] | (() => number | number[] | null) | (() => Promise<number | number[] | null>) | null | undefined;
|
|
18
|
+
multiple?: boolean;
|
|
19
|
+
help?: string;
|
|
20
|
+
alias?: string | readonly string[];
|
|
21
|
+
handler?: ((value: number, opts: import('../index.js').FlagOpts) => {
|
|
22
|
+
shouldStop: boolean;
|
|
23
|
+
} | void) | undefined;
|
|
24
|
+
} & Omit<import('../index.js').FlagDefinition<number, {
|
|
25
|
+
min?: number;
|
|
26
|
+
max?: number;
|
|
27
|
+
}>, "parse"> & {
|
|
28
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, {
|
|
29
|
+
min?: number;
|
|
30
|
+
max?: number;
|
|
31
|
+
}>) => number) | undefined;
|
|
32
|
+
} & O;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FlagDefinition, InitFlagDefinition } from '../lib/types.js';
|
|
2
|
+
export declare function optionFlag<const T extends readonly string[], const O extends Partial<InitFlagDefinition<T[number], {
|
|
3
|
+
options: T;
|
|
4
|
+
}>>>(opts: {
|
|
5
|
+
options: T;
|
|
6
|
+
} & O): FlagDefinition<T[number], {
|
|
7
|
+
options: T;
|
|
8
|
+
}> & O;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Text input flag. Pass `secret: true` to mask the prompt as a password. */
|
|
2
|
+
export declare const stringFlag: <const O extends Partial<import('../index.js').FlagDefinition<string, import('../index.js').CustomOptions>>>(overrides?: O | undefined) => {
|
|
3
|
+
[x: string]: unknown;
|
|
4
|
+
} & {
|
|
5
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => string;
|
|
6
|
+
type?: import('../index.js').FlagKind;
|
|
7
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
8
|
+
description?: string;
|
|
9
|
+
required?: boolean;
|
|
10
|
+
default?: string | string[] | (() => string | string[] | null) | (() => Promise<string | string[] | null>) | null | undefined;
|
|
11
|
+
multiple?: boolean;
|
|
12
|
+
help?: string;
|
|
13
|
+
alias?: string | readonly string[];
|
|
14
|
+
handler?: ((value: string, opts: import('../index.js').FlagOpts) => {
|
|
15
|
+
shouldStop: boolean;
|
|
16
|
+
} | void) | undefined;
|
|
17
|
+
} & Omit<import('../index.js').FlagDefinition<string, import('../index.js').CustomOptions>, "parse"> & {
|
|
18
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => string) | undefined;
|
|
19
|
+
} & O;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** URL flag — parses the input with `new URL()` and returns the resulting `URL` object. */
|
|
2
|
+
export declare const urlFlag: <const O extends Partial<import('../index.js').FlagDefinition<URL, import('../index.js').CustomOptions>>>(overrides?: O | undefined) => {
|
|
3
|
+
[x: string]: unknown;
|
|
4
|
+
} & {
|
|
5
|
+
parse: (input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => URL;
|
|
6
|
+
type?: import('../index.js').FlagKind;
|
|
7
|
+
ask?: (opts: import('../index.js').FlagOpts) => Promise<any>;
|
|
8
|
+
description?: string;
|
|
9
|
+
required?: boolean;
|
|
10
|
+
default?: URL | URL[] | (() => URL | URL[] | null) | (() => Promise<URL | URL[] | null>) | null | undefined;
|
|
11
|
+
multiple?: boolean;
|
|
12
|
+
help?: string;
|
|
13
|
+
alias?: string | readonly string[];
|
|
14
|
+
handler?: ((value: URL, opts: import('../index.js').FlagOpts) => {
|
|
15
|
+
shouldStop: boolean;
|
|
16
|
+
} | void) | undefined;
|
|
17
|
+
} & Omit<import('../index.js').FlagDefinition<URL, import('../index.js').CustomOptions>, "parse"> & {
|
|
18
|
+
parse?: ((input: any, opts: import('../index.js').FlagOpts<any, import('../index.js').CustomOptions>) => URL) | undefined;
|
|
19
|
+
} & O;
|