@clerc/core 0.10.2 → 0.10.3

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/dist/index.cjs CHANGED
@@ -320,11 +320,12 @@ const _Clerc = class {
320
320
  parameters
321
321
  );
322
322
  }
323
+ const mergedFlags = { ...parsed.flags, ...parsed.unknownFlags };
323
324
  const context = {
324
325
  name: command == null ? void 0 : command.name,
325
326
  resolved: isCommandResolved,
326
327
  isSingleCommand: __privateGet(this, _isSingleCommand, isSingleCommand_get),
327
- raw: { ...parsed, parameters },
328
+ raw: { ...parsed, parameters, mergedFlags },
328
329
  parameters: mapping,
329
330
  flags,
330
331
  unknownFlags: parsed.unknownFlags,
package/dist/index.d.ts CHANGED
@@ -104,18 +104,27 @@ type MakeEventMap<T extends CommandRecord> = {
104
104
  };
105
105
  type PossibleInputKind = string | number | boolean | Dict<any>;
106
106
  type NonNullableParameters<T extends string[] | undefined> = T extends undefined ? [] : NonNullable<T>;
107
+ type TransformParameters<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = {
108
+ [Parameter in [...NonNullableParameters<C[N]["parameters"]>][number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
109
+ };
110
+ type TransformFlags<F extends Record<string, FlagSchema>> = {
111
+ [K in keyof F]: F[K]["type"] extends any[] ? F[K]["default"] extends never[] ? F[K] & {
112
+ default: any[];
113
+ } : F[K] : F[K];
114
+ };
115
+ type TypeFlagWithDefault<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = TypeFlag<TransformFlags<NonNullable<C[N]["flags"]>>>;
116
+ type Raw<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = TypeFlagWithDefault<C, N> & {
117
+ parameters: string[];
118
+ mergedFlags: TypeFlagWithDefault<C, N>["flags"] & TypeFlagWithDefault<C, N>["unknownFlags"];
119
+ };
107
120
  interface HandlerContext<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> {
108
121
  name?: N;
109
122
  resolved: boolean;
110
123
  isSingleCommand: boolean;
111
- raw: TypeFlag<NonNullable<C[N]["flags"]>> & {
112
- parameters: string[];
113
- };
114
- parameters: {
115
- [Parameter in [...NonNullableParameters<C[N]["parameters"]>][number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
116
- };
124
+ raw: Raw<C, N>;
125
+ parameters: TransformParameters<C, N>;
117
126
  unknownFlags: ParsedFlags["unknownFlags"];
118
- flags: TypeFlag<NonNullable<C[N]["flags"]>>["flags"];
127
+ flags: TypeFlagWithDefault<C, N>["flags"];
119
128
  cli: Clerc<C>;
120
129
  }
121
130
  type Handler<C extends CommandRecord = CommandRecord, K extends keyof C = keyof C> = (ctx: HandlerContext<C, K>) => void;
@@ -213,8 +222,8 @@ declare class Clerc<C extends CommandRecord = {}> {
213
222
  * })
214
223
  * ```
215
224
  */
216
- 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>>>;
217
- 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>>>;
225
+ 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>>>;
226
+ 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>>>;
218
227
  /**
219
228
  * Register a handler
220
229
  * @param name
package/dist/index.mjs CHANGED
@@ -316,11 +316,12 @@ const _Clerc = class {
316
316
  parameters
317
317
  );
318
318
  }
319
+ const mergedFlags = { ...parsed.flags, ...parsed.unknownFlags };
319
320
  const context = {
320
321
  name: command == null ? void 0 : command.name,
321
322
  resolved: isCommandResolved,
322
323
  isSingleCommand: __privateGet(this, _isSingleCommand, isSingleCommand_get),
323
- raw: { ...parsed, parameters },
324
+ raw: { ...parsed, parameters, mergedFlags },
324
325
  parameters: mapping,
325
326
  flags,
326
327
  unknownFlags: parsed.unknownFlags,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerc/core",
3
- "version": "0.10.2",
3
+ "version": "0.10.3",
4
4
  "author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
5
5
  "description": "Clerc core",
6
6
  "keywords": [
@@ -39,10 +39,10 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "@clerc/utils": "0.10.2",
43
42
  "is-platform": "^0.2.0",
44
43
  "lite-emit": "^1.4.0",
45
- "type-flag": "^3.0.0"
44
+ "type-flag": "^3.0.0",
45
+ "@clerc/utils": "0.10.3"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "puild",