@clerc/plugin-help 1.0.0-beta.13 → 1.0.0-beta.14
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 +5 -2
- package/dist/index.js +10 -3
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Plugin } from "@clerc/core";
|
|
2
2
|
|
|
3
3
|
//#region ../parser/src/types.d.ts
|
|
4
|
-
|
|
4
|
+
type FlagDefaultValue<T = unknown> = T | ((() => T) & {
|
|
5
|
+
display?: string;
|
|
6
|
+
});
|
|
5
7
|
/**
|
|
6
8
|
* Defines how a string input is converted to the target type T.
|
|
7
9
|
*
|
|
@@ -12,13 +14,14 @@ type FlagTypeFunction<T = unknown> = ((value: string) => T) & {
|
|
|
12
14
|
* Optional display name for the type, useful in help output.
|
|
13
15
|
* If provided, this will be shown instead of the function name.
|
|
14
16
|
*/
|
|
15
|
-
|
|
17
|
+
display?: string;
|
|
16
18
|
};
|
|
17
19
|
type FlagType<T = unknown> = FlagTypeFunction<T> | readonly [FlagTypeFunction<T>];
|
|
18
20
|
//#endregion
|
|
19
21
|
//#region src/types.d.ts
|
|
20
22
|
interface Formatters {
|
|
21
23
|
formatFlagType: (type: FlagType) => string;
|
|
24
|
+
formatFlagDefault: <T>(value: FlagDefaultValue<T>) => string;
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* A group definition as a tuple of [key, displayName].
|
package/dist/index.js
CHANGED
|
@@ -14,10 +14,14 @@ const objectIsEmpty = (obj) => Object.keys(obj).length === 0;
|
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/utils.ts
|
|
16
16
|
function formatFlagType(type) {
|
|
17
|
-
if (typeof type === "function") return type.
|
|
17
|
+
if (typeof type === "function") return type.display ?? type.name;
|
|
18
18
|
const innerType = type[0];
|
|
19
19
|
return `Array<${innerType.displayName ?? innerType.name}>`;
|
|
20
20
|
}
|
|
21
|
+
function formatFlagDefault(value) {
|
|
22
|
+
if (typeof value === "function" && "display" in value && value.display) return value.display;
|
|
23
|
+
return String(value);
|
|
24
|
+
}
|
|
21
25
|
function formatCommandName(name) {
|
|
22
26
|
if (name === "") return "(root)";
|
|
23
27
|
return name;
|
|
@@ -25,7 +29,10 @@ function formatCommandName(name) {
|
|
|
25
29
|
|
|
26
30
|
//#endregion
|
|
27
31
|
//#region src/formatters.ts
|
|
28
|
-
const defaultFormatters = {
|
|
32
|
+
const defaultFormatters = {
|
|
33
|
+
formatFlagType,
|
|
34
|
+
formatFlagDefault
|
|
35
|
+
};
|
|
29
36
|
|
|
30
37
|
//#endregion
|
|
31
38
|
//#region src/renderer.ts
|
|
@@ -159,7 +166,7 @@ var HelpRenderer = class {
|
|
|
159
166
|
yc.blue([flagName, aliases].filter(Boolean).join(", ")),
|
|
160
167
|
yc.gray(type),
|
|
161
168
|
flag.description,
|
|
162
|
-
flag.default !== void 0 && yc.gray(`[default: ${
|
|
169
|
+
flag.default !== void 0 && yc.gray(`[default: ${this._formatters.formatFlagDefault(flag.default)}]`)
|
|
163
170
|
].filter(isTruthy);
|
|
164
171
|
}
|
|
165
172
|
renderGroupedFlags(flags, groupMap, itemType) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clerc/plugin-help",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.14",
|
|
4
4
|
"author": "Ray <i@mk1.io> (https://github.com/so1ve)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Clerc plugin help",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"kons": "^0.7.1",
|
|
55
|
-
"@clerc/core": "1.0.0-beta.
|
|
56
|
-
"@clerc/
|
|
57
|
-
"@clerc/
|
|
55
|
+
"@clerc/core": "1.0.0-beta.14",
|
|
56
|
+
"@clerc/utils": "1.0.0-beta.14",
|
|
57
|
+
"@clerc/parser": "1.0.0-beta.14"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"@clerc/core": "*"
|