@clerc/plugin-completions 0.10.2 → 0.10.4

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.
Files changed (2) hide show
  1. package/dist/index.d.ts +18 -9
  2. package/package.json +11 -3
package/dist/index.d.ts CHANGED
@@ -93,18 +93,27 @@ type CommandRecord = Dict<Command> & {
93
93
  [SingleCommand]?: Command;
94
94
  };
95
95
  type NonNullableParameters<T extends string[] | undefined> = T extends undefined ? [] : NonNullable<T>;
96
+ type TransformParameters<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = {
97
+ [Parameter in [...NonNullableParameters<C[N]["parameters"]>][number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
98
+ };
99
+ type TransformFlags<F extends Record<string, FlagSchema>> = {
100
+ [K in keyof F]: F[K]["type"] extends any[] ? F[K]["default"] extends never[] ? F[K] & {
101
+ default: any[];
102
+ } : F[K] : F[K];
103
+ };
104
+ type TypeFlagWithDefault<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = TypeFlag<TransformFlags<NonNullable<C[N]["flags"]>>>;
105
+ type Raw<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = TypeFlagWithDefault<C, N> & {
106
+ parameters: string[];
107
+ mergedFlags: TypeFlagWithDefault<C, N>["flags"] & TypeFlagWithDefault<C, N>["unknownFlags"];
108
+ };
96
109
  interface HandlerContext<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> {
97
110
  name?: N;
98
111
  resolved: boolean;
99
112
  isSingleCommand: boolean;
100
- raw: TypeFlag<NonNullable<C[N]["flags"]>> & {
101
- parameters: string[];
102
- };
103
- parameters: {
104
- [Parameter in [...NonNullableParameters<C[N]["parameters"]>][number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
105
- };
113
+ raw: Raw<C, N>;
114
+ parameters: TransformParameters<C, N>;
106
115
  unknownFlags: ParsedFlags["unknownFlags"];
107
- flags: TypeFlag<NonNullable<C[N]["flags"]>>["flags"];
116
+ flags: TypeFlagWithDefault<C, N>["flags"];
108
117
  cli: Clerc<C>;
109
118
  }
110
119
  type Handler<C extends CommandRecord = CommandRecord, K extends keyof C = keyof C> = (ctx: HandlerContext<C, K>) => void;
@@ -202,8 +211,8 @@ declare class Clerc<C extends CommandRecord = {}> {
202
211
  * })
203
212
  * ```
204
213
  */
205
- command<N extends string | SingleCommandType, O extends CommandOptions<[...P], A, F>, P extends string[] = string[], A extends MaybeArray<string> = MaybeArray<string>, F extends Dict<FlagOptions> = Dict<FlagOptions>>(c: CommandWithHandler<N, O & CommandOptions<[...P], A, F>>): this & Clerc<C & Record<N, Command<N, O>>>;
206
- command<N extends string | SingleCommandType, P extends string[], O extends CommandOptions<[...P]>>(name: N, description: string, options?: O & CommandOptions<[...P]>): this & Clerc<C & Record<N, Command<N, O>>>;
214
+ command<N extends string | SingleCommandType, O extends CommandOptions<[...P], A, F>, P extends string[] = string[], A extends MaybeArray<string> = MaybeArray<string>, F extends Dict<FlagOptions> = {}>(c: CommandWithHandler<N, O & CommandOptions<[...P], A, F>>): this & Clerc<C & Record<N, Command<N, O>>>;
215
+ command<N extends string | SingleCommandType, O extends CommandOptions<[...P], A, F>, P extends string[] = string[], A extends MaybeArray<string> = MaybeArray<string>, F extends Dict<FlagOptions> = {}>(name: N, description: string, options?: O & CommandOptions<[...P], A, F>): this & Clerc<C & Record<N, Command<N, O>>>;
207
216
  /**
208
217
  * Register a handler
209
218
  * @param name
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerc/plugin-completions",
3
- "version": "0.10.2",
3
+ "version": "0.10.4",
4
4
  "author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
5
5
  "description": "Clerc plugin completions",
6
6
  "keywords": [
@@ -33,6 +33,14 @@
33
33
  "main": "dist/index.cjs",
34
34
  "module": "dist/index.mjs",
35
35
  "types": "dist/index.d.ts",
36
+ "typesVersions": {
37
+ "*": {
38
+ "*": [
39
+ "./dist/*",
40
+ "./dist/index.d.ts"
41
+ ]
42
+ }
43
+ },
36
44
  "files": [
37
45
  "dist"
38
46
  ],
@@ -43,10 +51,10 @@
43
51
  "clerc": "*"
44
52
  },
45
53
  "dependencies": {
46
- "@clerc/utils": "0.10.2"
54
+ "@clerc/utils": "0.10.4"
47
55
  },
48
56
  "devDependencies": {
49
- "@clerc/core": "0.10.2"
57
+ "@clerc/core": "0.10.4"
50
58
  },
51
59
  "scripts": {
52
60
  "build": "puild",