@clerc/core 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.
- package/dist/index.cjs +2 -1
- package/dist/index.d.ts +18 -9
- package/dist/index.mjs +2 -1
- package/package.json +11 -3
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:
|
|
112
|
-
|
|
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:
|
|
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> =
|
|
217
|
-
command<N extends string | SingleCommandType, P extends string[],
|
|
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.
|
|
3
|
+
"version": "0.10.4",
|
|
4
4
|
"author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
|
|
5
5
|
"description": "Clerc core",
|
|
6
6
|
"keywords": [
|
|
@@ -32,6 +32,14 @@
|
|
|
32
32
|
"main": "dist/index.cjs",
|
|
33
33
|
"module": "dist/index.mjs",
|
|
34
34
|
"types": "dist/index.d.ts",
|
|
35
|
+
"typesVersions": {
|
|
36
|
+
"*": {
|
|
37
|
+
"*": [
|
|
38
|
+
"./dist/*",
|
|
39
|
+
"./dist/index.d.ts"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
35
43
|
"files": [
|
|
36
44
|
"dist"
|
|
37
45
|
],
|
|
@@ -39,10 +47,10 @@
|
|
|
39
47
|
"access": "public"
|
|
40
48
|
},
|
|
41
49
|
"dependencies": {
|
|
42
|
-
"@clerc/utils": "0.10.2",
|
|
43
50
|
"is-platform": "^0.2.0",
|
|
44
51
|
"lite-emit": "^1.4.0",
|
|
45
|
-
"type-flag": "^3.0.0"
|
|
52
|
+
"type-flag": "^3.0.0",
|
|
53
|
+
"@clerc/utils": "0.10.4"
|
|
46
54
|
},
|
|
47
55
|
"scripts": {
|
|
48
56
|
"build": "puild",
|