@clerc/core 0.27.1 → 0.28.0
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.d.ts +26 -21
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -234,6 +234,29 @@ type TypeFlag<Schemas extends Flags$1> = ParsedFlags<{
|
|
|
234
234
|
[flag in keyof Schemas]: InferFlagType<Schemas[flag]>;
|
|
235
235
|
}>;
|
|
236
236
|
|
|
237
|
+
type StripBrackets<Parameter extends string> = (Parameter extends `<${infer ParameterName}>` | `[${infer ParameterName}]` ? (ParameterName extends `${infer SpreadName}...` ? SpreadName : ParameterName) : never);
|
|
238
|
+
type ParameterType<Parameter extends string> = (Parameter extends `<${infer _ParameterName}...>` | `[${infer _ParameterName}...]` ? string[] : Parameter extends `<${infer _ParameterName}>` ? string : Parameter extends `[${infer _ParameterName}]` ? string | undefined : never);
|
|
239
|
+
type NonNullableParameters<T extends string[] | undefined> = T extends undefined ? [] : NonNullable<T>;
|
|
240
|
+
type TransformParameters<C extends Command> = {
|
|
241
|
+
[Parameter in NonNullableParameters<C["parameters"]>[number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
|
|
242
|
+
};
|
|
243
|
+
type MakeEventMap<T extends CommandRecord> = {
|
|
244
|
+
[K in keyof T]: [InspectorContext];
|
|
245
|
+
};
|
|
246
|
+
type FallbackFlags<C extends Command> = Equals<NonNullableFlag<C>["flags"], {}> extends true ? Dict<any> : NonNullableFlag<C>["flags"];
|
|
247
|
+
type NonNullableFlag<C extends Command> = TypeFlag<NonNullable<C["flags"]>>;
|
|
248
|
+
type ParseFlag<C extends CommandRecord, N extends keyof C> = N extends keyof C ? OmitIndexSignature<NonNullableFlag<C[N]>["flags"]> : FallbackFlags<C[N]>["flags"];
|
|
249
|
+
type ParseRaw<C extends Command> = NonNullableFlag<C> & {
|
|
250
|
+
flags: FallbackFlags<C>;
|
|
251
|
+
parameters: string[];
|
|
252
|
+
mergedFlags: FallbackFlags<C> & NonNullableFlag<C>["unknownFlags"];
|
|
253
|
+
};
|
|
254
|
+
type ParseParameters<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = Equals<TransformParameters<C[N]>, {}> extends true ? N extends keyof C ? TransformParameters<C[N]> : Dict<string | string[] | undefined> : TransformParameters<C[N]>;
|
|
255
|
+
|
|
256
|
+
interface Plugin<T extends Clerc = Clerc, U extends Clerc = Clerc> {
|
|
257
|
+
setup: (cli: T) => U;
|
|
258
|
+
}
|
|
259
|
+
|
|
237
260
|
type CommandType = RootType | string;
|
|
238
261
|
type FlagOptions = FlagSchema & {
|
|
239
262
|
description?: string;
|
|
@@ -268,25 +291,7 @@ interface ParseOptions {
|
|
|
268
291
|
argv?: string[];
|
|
269
292
|
run?: boolean;
|
|
270
293
|
}
|
|
271
|
-
type StripBrackets<Parameter extends string> = (Parameter extends `<${infer ParameterName}>` | `[${infer ParameterName}]` ? (ParameterName extends `${infer SpreadName}...` ? SpreadName : ParameterName) : never);
|
|
272
|
-
type ParameterType<Parameter extends string> = (Parameter extends `<${infer _ParameterName}...>` | `[${infer _ParameterName}...]` ? string[] : Parameter extends `<${infer _ParameterName}>` ? string : Parameter extends `[${infer _ParameterName}]` ? string | undefined : never);
|
|
273
|
-
type MakeEventMap<T extends CommandRecord> = {
|
|
274
|
-
[K in keyof T]: [InspectorContext];
|
|
275
|
-
};
|
|
276
294
|
type PossibleInputKind = string | number | boolean | Dict<any>;
|
|
277
|
-
type NonNullableParameters<T extends string[] | undefined> = T extends undefined ? [] : NonNullable<T>;
|
|
278
|
-
type TransformParameters<C extends Command> = {
|
|
279
|
-
[Parameter in NonNullableParameters<C["parameters"]>[number] as CamelCase<StripBrackets<Parameter>>]: ParameterType<Parameter>;
|
|
280
|
-
};
|
|
281
|
-
type FallbackFlags<C extends Command> = Equals<NonNullableFlag<C>["flags"], {}> extends true ? Dict<any> : NonNullableFlag<C>["flags"];
|
|
282
|
-
type NonNullableFlag<C extends Command> = TypeFlag<NonNullable<C["flags"]>>;
|
|
283
|
-
type ParseFlag<C extends CommandRecord, N extends keyof C> = N extends keyof C ? OmitIndexSignature<NonNullableFlag<C[N]>["flags"]> : FallbackFlags<C[N]>["flags"];
|
|
284
|
-
type ParseRaw<C extends Command> = NonNullableFlag<C> & {
|
|
285
|
-
flags: FallbackFlags<C>;
|
|
286
|
-
parameters: string[];
|
|
287
|
-
mergedFlags: FallbackFlags<C> & NonNullableFlag<C>["unknownFlags"];
|
|
288
|
-
};
|
|
289
|
-
type ParseParameters<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> = Equals<TransformParameters<C[N]>, {}> extends true ? N extends keyof C ? TransformParameters<C[N]> : Dict<string | string[] | undefined> : TransformParameters<C[N]>;
|
|
290
295
|
interface HandlerContext<C extends CommandRecord = CommandRecord, N extends keyof C = keyof C> {
|
|
291
296
|
name?: LiteralUnion<N, string>;
|
|
292
297
|
called?: string | RootType;
|
|
@@ -319,8 +324,8 @@ interface InspectorObject<C extends CommandRecord = CommandRecord> {
|
|
|
319
324
|
enforce?: "pre" | "post";
|
|
320
325
|
fn: InspectorFn<C>;
|
|
321
326
|
}
|
|
322
|
-
interface
|
|
323
|
-
|
|
327
|
+
interface I18N {
|
|
328
|
+
add: () => void;
|
|
324
329
|
}
|
|
325
330
|
|
|
326
331
|
declare const Root: unique symbol;
|
|
@@ -509,4 +514,4 @@ declare const isInvalidName: (name: CommandType) => boolean;
|
|
|
509
514
|
declare const withBrackets: (s: string, isOptional?: boolean) => string;
|
|
510
515
|
declare const formatCommandName: (name: string | string[] | RootType) => string;
|
|
511
516
|
|
|
512
|
-
export { Clerc, Command, CommandAlias, CommandCustomProperties, CommandExistsError, CommandNameConflictError, CommandOptions, CommandRecord, CommandType, CommandWithHandler, DescriptionNotSetError, FallbackType, Flag, FlagOptions, Flags, Handler, HandlerContext, HandlerInCommand, Inspector, InspectorContext, InspectorFn, InspectorObject, InvalidCommandNameError, MakeEventMap, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParseOptions, Plugin, PossibleInputKind, Root, RootType, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, formatCommandName, isInvalidName, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent, withBrackets };
|
|
517
|
+
export { Clerc, Command, CommandAlias, CommandCustomProperties, CommandExistsError, CommandNameConflictError, CommandOptions, CommandRecord, CommandType, CommandWithHandler, DescriptionNotSetError, FallbackType, Flag, FlagOptions, Flags, Handler, HandlerContext, HandlerInCommand, I18N, Inspector, InspectorContext, InspectorFn, InspectorObject, InvalidCommandNameError, MakeEventMap, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParseOptions, Plugin, PossibleInputKind, Root, RootType, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, formatCommandName, isInvalidName, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent, withBrackets };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clerc/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
|
|
5
5
|
"description": "Clerc core",
|
|
6
6
|
"keywords": [
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"lite-emit": "^1.4.0",
|
|
52
52
|
"type-fest": "^3.5.3",
|
|
53
53
|
"type-flag": "^3.0.0",
|
|
54
|
-
"@clerc/utils": "0.
|
|
54
|
+
"@clerc/utils": "0.28.0"
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
57
|
"build": "puild --minify",
|