@types/yargs
Advanced tools
Comparing version 17.0.7 to 17.0.8
@@ -13,3 +13,2 @@ // Type definitions for yargs 17.0 | ||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped | ||
// TypeScript Version: 3.0 | ||
@@ -49,3 +48,3 @@ // The following TSLint rules have been disabled: | ||
interface Argv<T = {}> { | ||
(): { [key in keyof Arguments<T>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T>]: Arguments<T>[key] }>; | ||
(): { [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }>; | ||
(args: ReadonlyArray<string>, cwd?: string): Argv<T>; | ||
@@ -76,3 +75,3 @@ | ||
*/ | ||
argv: { [key in keyof Arguments<T>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T>]: Arguments<T>[key] }>; | ||
argv: { [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }>; | ||
@@ -155,3 +154,3 @@ /** | ||
builder?: BuilderCallback<T, U>, | ||
handler?: (args: Arguments<U>) => void | Promise<void>, | ||
handler?: (args: ArgumentsCamelCase<U>) => void | Promise<void>, | ||
middlewares?: MiddlewareFunction[], | ||
@@ -164,3 +163,3 @@ deprecated?: boolean | string, | ||
builder?: O, | ||
handler?: (args: Arguments<InferredOptionTypes<O>>) => void | Promise<void>, | ||
handler?: (args: ArgumentsCamelCase<InferredOptionTypes<O>>) => void | Promise<void>, | ||
middlewares?: MiddlewareFunction[], | ||
@@ -174,3 +173,3 @@ deprecated?: boolean | string, | ||
builder?: BuilderCallback<T, U>, | ||
handler?: (args: Arguments<U>) => void | Promise<void>, | ||
handler?: (args: ArgumentsCamelCase<U>) => void | Promise<void>, | ||
middlewares?: MiddlewareFunction[], | ||
@@ -183,3 +182,3 @@ deprecated?: boolean | string, | ||
builder?: O, | ||
handler?: (args: Arguments<InferredOptionTypes<O>>) => void | Promise<void>, | ||
handler?: (args: ArgumentsCamelCase<InferredOptionTypes<O>>) => void | Promise<void>, | ||
): Argv<T>; | ||
@@ -469,3 +468,3 @@ command<U>(command: string | ReadonlyArray<string>, showInHelp: false, module: CommandModule<T, U>): Argv<U>; | ||
*/ | ||
parse(): { [key in keyof Arguments<T>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T>]: Arguments<T>[key] }>; | ||
parse(): { [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }>; | ||
parse( | ||
@@ -475,7 +474,7 @@ arg: string | ReadonlyArray<string>, | ||
parseCallback?: ParseCallback<T>, | ||
): { [key in keyof Arguments<T>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T>]: Arguments<T>[key] }>; | ||
parseSync(): { [key in keyof Arguments<T>]: Arguments<T>[key] }; | ||
parseSync(arg: string | ReadonlyArray<string>, context?: object, parseCallback?: ParseCallback<T>): { [key in keyof Arguments<T>]: Arguments<T>[key] }; | ||
parseAsync(): Promise<{ [key in keyof Arguments<T>]: Arguments<T>[key] }>; | ||
parseAsync(arg: string | ReadonlyArray<string>, context?: object, parseCallback?: ParseCallback<T>): Promise<{ [key in keyof Arguments<T>]: Arguments<T>[key] }>; | ||
): { [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] } | Promise<{ [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }>; | ||
parseSync(): { [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }; | ||
parseSync(arg: string | ReadonlyArray<string>, context?: object, parseCallback?: ParseCallback<T>): { [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }; | ||
parseAsync(): Promise<{ [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }>; | ||
parseAsync(arg: string | ReadonlyArray<string>, context?: object, parseCallback?: ParseCallback<T>): Promise<{ [key in keyof Arguments<T> as key | CamelCaseKey<key>]: Arguments<T>[key] }>; | ||
@@ -636,4 +635,4 @@ /** | ||
usage(message: string): Argv<T>; | ||
usage<U>(command: string | ReadonlyArray<string>, description: string, builder?: (args: Argv<T>) => Argv<U>, handler?: (args: Arguments<U>) => void | Promise<void>): Argv<T>; | ||
usage<U>(command: string | ReadonlyArray<string>, showInHelp: boolean, builder?: (args: Argv<T>) => Argv<U>, handler?: (args: Arguments<U>) => void | Promise<void>): Argv<T>; | ||
usage<U>(command: string | ReadonlyArray<string>, description: string, builder?: (args: Argv<T>) => Argv<U>, handler?: (args: ArgumentsCamelCase<U>) => void | Promise<void>): Argv<T>; | ||
usage<U>(command: string | ReadonlyArray<string>, showInHelp: boolean, builder?: (args: Argv<T>) => Argv<U>, handler?: (args: ArgumentsCamelCase<U>) => void | Promise<void>): Argv<T>; | ||
usage<O extends { [key: string]: Options }>( | ||
@@ -643,3 +642,3 @@ command: string | ReadonlyArray<string>, | ||
builder?: O, | ||
handler?: (args: Arguments<InferredOptionTypes<O>>) => void | Promise<void>, | ||
handler?: (args: ArgumentsCamelCase<InferredOptionTypes<O>>) => void | Promise<void>, | ||
): Argv<T>; | ||
@@ -650,3 +649,3 @@ usage<O extends { [key: string]: Options }>( | ||
builder?: O, | ||
handler?: (args: Arguments<InferredOptionTypes<O>>) => void | Promise<void>, | ||
handler?: (args: ArgumentsCamelCase<InferredOptionTypes<O>>) => void | Promise<void>, | ||
): Argv<T>; | ||
@@ -686,2 +685,12 @@ | ||
/** Arguments type, with camelcased keys */ | ||
type ArgumentsCamelCase<T = {}> = { [key in keyof T as key | CamelCaseKey<key>]: T[key] } & { | ||
/** Non-option arguments */ | ||
_: Array<string | number>; | ||
/** The script name or node command */ | ||
$0: string; | ||
/** All remaining options */ | ||
[argName: string]: unknown; | ||
}; | ||
interface RequireDirectoryOptions { | ||
@@ -805,2 +814,22 @@ /** Look for command modules in all subdirectories and apply them as a flattened (non-hierarchical) list. */ | ||
// not implemented: yargs camelizes '_', but only if there's a '-' in the arg name | ||
// not implemented: yargs decamelizes (converts fooBar to foo-bar) | ||
/** Convert literal string types like 'foo-bar' to 'FooBar' */ | ||
type PascalCase<S extends string> = string extends S | ||
? string | ||
: S extends `${infer T}-${infer U}` | ||
? `${Capitalize<T>}${PascalCase<U>}` | ||
: Capitalize<S>; | ||
/** Convert literal string types like 'foo-bar' to 'fooBar' */ | ||
type CamelCase<S extends string> = string extends S | ||
? string | ||
: S extends `${infer T}-${infer U}` | ||
? `${T}${PascalCase<U>}` | ||
: S; | ||
/** Convert literal string types like 'foo-bar' to 'fooBar', allowing all `PropertyKey` types */ | ||
type CamelCaseKey<K extends PropertyKey> = K extends string ? Exclude<CamelCase<K>, ''> : K; | ||
/** Remove keys K in T */ | ||
@@ -877,6 +906,6 @@ type Omit<T, K> = { [key in Exclude<keyof T, K>]: T[key] }; | ||
/** a function which will be passed the parsed argv. */ | ||
handler: (args: Arguments<U>) => void | Promise<void>; | ||
handler: (args: ArgumentsCamelCase<U>) => void | Promise<void>; | ||
} | ||
type ParseCallback<T = {}> = (err: Error | undefined, argv: Arguments<T> | Promise<Arguments<T>>, output: string) => void; | ||
type ParseCallback<T = {}> = (err: Error | undefined, argv: ArgumentsCamelCase<T>, output: string) => void | Promise<void>; | ||
type CommandBuilder<T = {}, U = {}> = { [key: string]: Options } | ((args: Argv<T>) => Argv<U>) | ((args: Argv<T>) => PromiseLike<Argv<U>>); | ||
@@ -883,0 +912,0 @@ type SyncCompletionFunction = (current: string, argv: any) => string[]; |
{ | ||
"name": "@types/yargs", | ||
"version": "17.0.7", | ||
"version": "17.0.8", | ||
"description": "TypeScript definitions for yargs", | ||
@@ -56,2 +56,9 @@ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/yargs", | ||
"types": "index.d.ts", | ||
"typesVersions": { | ||
"<=4.1": { | ||
"*": [ | ||
"ts4.1/*" | ||
] | ||
} | ||
}, | ||
"repository": { | ||
@@ -66,4 +73,4 @@ "type": "git", | ||
}, | ||
"typesPublisherContentHash": "b0ad85989b238fef5b94147fd81cb376b2d26f919fa831203ef522a59ddd95ab", | ||
"typeScriptVersion": "3.7", | ||
"typesPublisherContentHash": "2ff81d51a7846308736765fd80ef385e4d6901ea5367cdadcc370a58a4cc1bda", | ||
"typeScriptVersion": "3.8", | ||
"exports": { | ||
@@ -86,4 +93,5 @@ ".": { | ||
} | ||
} | ||
}, | ||
"./package.json": "./package.json" | ||
} | ||
} |
@@ -11,3 +11,3 @@ # Installation | ||
### Additional Details | ||
* Last updated: Thu, 18 Nov 2021 04:31:25 GMT | ||
* Last updated: Thu, 23 Dec 2021 01:31:20 GMT | ||
* Dependencies: [@types/yargs-parser](https://npmjs.com/package/@types/yargs-parser) | ||
@@ -14,0 +14,0 @@ * Global values: none |
107140
9
1591