@cli-forge/parser 0.11.0 → 1.0.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/README.md CHANGED
@@ -1,11 +1,207 @@
1
- # parser
1
+ # @cli-forge/parser
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ **A type-safe argument parser for Node.js with full TypeScript inference.**
4
4
 
5
- ## Building
5
+ This is the low-level parsing engine that powers [cli-forge](https://www.npmjs.com/package/cli-forge). Use this package directly if you need fine-grained control over argument parsing without the higher-level command management features.
6
6
 
7
- Run `nx build parser` to build the library.
7
+ ## Installation
8
8
 
9
- ## Running unit tests
9
+ ```bash
10
+ npm install @cli-forge/parser
11
+ ```
10
12
 
11
- Run `nx test parser` to execute the unit tests via [Vitest](https://vitest.dev/).
13
+ ## Quick Start
14
+
15
+ ```typescript
16
+ import { parser } from '@cli-forge/parser';
17
+
18
+ const args = parser()
19
+ .option('name', { type: 'string', required: true })
20
+ .option('port', { type: 'number', default: 3000 })
21
+ .option('verbose', { type: 'boolean', alias: ['v'] })
22
+ .parse(['--name', 'my-app', '--port', '8080', '-v']);
23
+
24
+ // args is fully typed:
25
+ // { name: string; port: number; verbose: boolean }
26
+ console.log(args.name); // 'my-app'
27
+ console.log(args.port); // 8080
28
+ console.log(args.verbose); // true
29
+ ```
30
+
31
+ ## Features
32
+
33
+ - **Full TypeScript inference** - Types accumulate as you chain `.option()` calls
34
+ - **Multiple option types** - `string`, `number`, `boolean`, `array`, `object`
35
+ - **Value sources** - CLI args, environment variables, config files, defaults
36
+ - **Validation** - `choices`, `validate`, `required`, `conflicts`, `implies`
37
+ - **Config file support** - JSON/YAML with inheritance via `extends`
38
+ - **Coercion** - Transform values during parsing
39
+
40
+ ## Option Types
41
+
42
+ ### String
43
+
44
+ ```typescript
45
+ parser().option('name', {
46
+ type: 'string',
47
+ description: 'User name',
48
+ default: 'anonymous',
49
+ });
50
+ ```
51
+
52
+ ### Number
53
+
54
+ ```typescript
55
+ parser().option('port', {
56
+ type: 'number',
57
+ description: 'Port number',
58
+ default: 3000,
59
+ });
60
+ ```
61
+
62
+ ### Boolean
63
+
64
+ ```typescript
65
+ parser().option('verbose', {
66
+ type: 'boolean',
67
+ alias: ['v'],
68
+ description: 'Enable verbose output',
69
+ });
70
+ // Supports: --verbose, --verbose true, --no-verbose
71
+ ```
72
+
73
+ ### Array
74
+
75
+ ```typescript
76
+ parser().option('files', {
77
+ type: 'array',
78
+ items: 'string',
79
+ description: 'Input files',
80
+ });
81
+ // Supports: --files a b c, --files a,b,c, --files a --files b
82
+ ```
83
+
84
+ ### Object
85
+
86
+ ```typescript
87
+ parser().option('config', {
88
+ type: 'object',
89
+ properties: {
90
+ host: { type: 'string', default: 'localhost' },
91
+ port: { type: 'number', required: true },
92
+ ssl: { type: 'boolean' },
93
+ },
94
+ });
95
+ // Supports: --config.host example.com --config.port 443 --config.ssl
96
+ ```
97
+
98
+ ## Positional Arguments
99
+
100
+ ```typescript
101
+ parser()
102
+ .positional('input', { type: 'string', required: true })
103
+ .positional('output', { type: 'string' })
104
+ .parse(['input.txt', 'output.txt']);
105
+ ```
106
+
107
+ ## Validation
108
+
109
+ ### Choices
110
+
111
+ ```typescript
112
+ parser().option('level', {
113
+ type: 'string',
114
+ choices: ['debug', 'info', 'warn', 'error'],
115
+ });
116
+ ```
117
+
118
+ ### Custom Validation
119
+
120
+ ```typescript
121
+ parser().option('port', {
122
+ type: 'number',
123
+ validate: (value) => {
124
+ if (value < 1 || value > 65535) {
125
+ throw new Error('Port must be between 1 and 65535');
126
+ }
127
+ return true;
128
+ },
129
+ });
130
+ ```
131
+
132
+ ### Conflicts and Implies
133
+
134
+ ```typescript
135
+ parser()
136
+ .option('quiet', { type: 'boolean' })
137
+ .option('verbose', {
138
+ type: 'boolean',
139
+ conflicts: ['quiet'],
140
+ })
141
+ .option('output', {
142
+ type: 'string',
143
+ implies: { format: 'json' },
144
+ });
145
+ ```
146
+
147
+ ## Environment Variables
148
+
149
+ ```typescript
150
+ parser().option('apiKey', {
151
+ type: 'string',
152
+ env: 'API_KEY',
153
+ });
154
+ // Will read from process.env.API_KEY if --apiKey not provided
155
+ ```
156
+
157
+ ## Configuration Files
158
+
159
+ ```typescript
160
+ parser()
161
+ .configFile('myapp.config.json')
162
+ .option('port', { type: 'number' })
163
+ .parse([]);
164
+ ```
165
+
166
+ Config files support inheritance:
167
+
168
+ ```json
169
+ {
170
+ "extends": "./base-config.json",
171
+ "port": 8080
172
+ }
173
+ ```
174
+
175
+ ## Coercion
176
+
177
+ Transform values during parsing:
178
+
179
+ ```typescript
180
+ parser().option('date', {
181
+ type: 'string',
182
+ coerce: (value) => new Date(value),
183
+ });
184
+ ```
185
+
186
+ ## Type Inference
187
+
188
+ The parser tracks types as options are added:
189
+
190
+ ```typescript
191
+ const p = parser()
192
+ .option('name', { type: 'string' }) // { name?: string }
193
+ .option('port', { type: 'number' }) // { name?: string; port?: number }
194
+ .option('required', { type: 'string', required: true }); // { name?: string; port?: number; required: string }
195
+ ```
196
+
197
+ ## Related Packages
198
+
199
+ - [`cli-forge`](https://www.npmjs.com/package/cli-forge) - High-level CLI builder with commands, middleware, and documentation generation
200
+
201
+ ## Documentation
202
+
203
+ Full documentation available at: https://craigory.dev/cli-forge/
204
+
205
+ ## License
206
+
207
+ ISC
@@ -1,3 +1,3 @@
1
- export * from './configuration-loader';
2
- export * from './json-file-loader';
3
- export * from './package-json-loader';
1
+ export * from './configuration-loader.js';
2
+ export * from './json-file-loader.js';
3
+ export * from './package-json-loader.js';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./configuration-loader"), exports);
5
- tslib_1.__exportStar(require("./json-file-loader"), exports);
6
- tslib_1.__exportStar(require("./package-json-loader"), exports);
4
+ tslib_1.__exportStar(require("./configuration-loader.js"), exports);
5
+ tslib_1.__exportStar(require("./json-file-loader.js"), exports);
6
+ tslib_1.__exportStar(require("./package-json-loader.js"), exports);
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config-files/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,6DAAmC;AACnC,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config-files/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,gEAAsC;AACtC,mEAAyC"}
@@ -1,4 +1,4 @@
1
- import { ConfigurationProvider } from './configuration-loader';
1
+ import { ConfigurationProvider } from './configuration-loader.js';
2
2
  /**
3
3
  * A factory function to create simple configuration providers that load configuration from a JSON file.
4
4
  * @param filename The filename of the JSON file to load.
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getJsonFileConfigLoader = getJsonFileConfigLoader;
4
4
  const fs_1 = require("fs");
5
5
  const util_1 = require("util");
6
- const utils_1 = require("./utils");
6
+ const utils_js_1 = require("./utils.js");
7
7
  /**
8
8
  * A factory function to create simple configuration providers that load configuration from a JSON file.
9
9
  * @param filename The filename of the JSON file to load.
@@ -17,7 +17,7 @@ function getJsonFileConfigLoader(filename, transform) {
17
17
  class JsonFileConfigLoader {
18
18
  seen = new Set();
19
19
  resolve(configurationRoot) {
20
- const nearestFile = (0, utils_1.traverseForFile)(filename, configurationRoot);
20
+ const nearestFile = (0, utils_js_1.traverseForFile)(filename, configurationRoot);
21
21
  if (!nearestFile || !nearestFile.endsWith('.json')) {
22
22
  return undefined;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-file-loader.js","sourceRoot":"","sources":["../../../src/lib/config-files/json-file-loader.ts"],"names":[],"mappings":";;AAYA,0DAuCC;AAnDD,2BAAkC;AAClC,+BAA+B;AAG/B,mCAA0C;AAE1C;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,SAA4B;IAE5B,SAAS,YAAY,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,oBAAoB;QAChB,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,OAAO,CAAC,iBAAyB;YAC/B,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,WAAW,sHAAsH,CACxL,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,QAAgB;YACnB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,CAAC,cAAO,CAAC,MAAM,CAAC;YACd,OAAO,wBAAwB,GAAG,QAAQ,CAAC;QAC7C,CAAC;KACF;IAED,OAAO,IAAI,oBAAoB,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"json-file-loader.js","sourceRoot":"","sources":["../../../src/lib/config-files/json-file-loader.ts"],"names":[],"mappings":";;AAYA,0DAuCC;AAnDD,2BAAkC;AAClC,+BAA+B;AAG/B,yCAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,SAA4B;IAE5B,SAAS,YAAY,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,oBAAoB;QAChB,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,OAAO,CAAC,iBAAyB;YAC/B,MAAM,WAAW,GAAG,IAAA,0BAAe,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,WAAW,sHAAsH,CACxL,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,QAAgB;YACnB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,CAAC,cAAO,CAAC,MAAM,CAAC;YACd,OAAO,wBAAwB,GAAG,QAAQ,CAAC;QAC7C,CAAC;KACF;IAED,OAAO,IAAI,oBAAoB,EAAE,CAAC;AACpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ConfigurationProvider } from './configuration-loader';
1
+ import { ConfigurationProvider } from './configuration-loader.js';
2
2
  /**
3
3
  * A factory function to create a configuration provider that loads configuration from a package.json file.
4
4
  * @param key The key in the package.json file to load as configuration.
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPackageJsonConfigurationLoader = getPackageJsonConfigurationLoader;
4
4
  const node_util_1 = require("node:util");
5
- const json_file_loader_1 = require("./json-file-loader");
5
+ const json_file_loader_js_1 = require("./json-file-loader.js");
6
6
  /**
7
7
  * A factory function to create a configuration provider that loads configuration from a package.json file.
8
8
  * @param key The key in the package.json file to load as configuration.
9
9
  * @returns A `{@link ConfigurationProvider}` that loads configuration from the specified package.json file.
10
10
  */
11
11
  function getPackageJsonConfigurationLoader(key) {
12
- const loader = (0, json_file_loader_1.getJsonFileConfigLoader)('package.json', (json) => json[key]);
12
+ const loader = (0, json_file_loader_js_1.getJsonFileConfigLoader)('package.json', (json) => json[key]);
13
13
  loader[node_util_1.inspect.custom] = () => 'PackageJsonConfigurationLoader: ' + key;
14
14
  return loader;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-json-loader.js","sourceRoot":"","sources":["../../../src/lib/config-files/package-json-loader.ts"],"names":[],"mappings":";;AAUA,8EAUC;AApBD,yCAAoC;AAGpC,yDAA6D;AAE7D;;;;GAIG;AACH,SAAgB,iCAAiC,CAC/C,GAAW;IAEX,MAAM,MAAM,GAAG,IAAA,0CAAuB,EACpC,cAAc,EACd,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACpB,CAAC;IACD,MAAc,CAAC,mBAAO,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CACrC,kCAAkC,GAAG,GAAG,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"package-json-loader.js","sourceRoot":"","sources":["../../../src/lib/config-files/package-json-loader.ts"],"names":[],"mappings":";;AAUA,8EAUC;AApBD,yCAAoC;AAGpC,+DAAgE;AAEhE;;;;GAIG;AACH,SAAgB,iCAAiC,CAC/C,GAAW;IAEX,MAAM,MAAM,GAAG,IAAA,6CAAuB,EACpC,cAAc,EACd,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACpB,CAAC;IACD,MAAc,CAAC,mBAAO,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CACrC,kCAAkC,GAAG,GAAG,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,16 +1,12 @@
1
1
  import { CommonOptionConfig, Default } from './common';
2
- import { ResolveProperties, AdditionalPropertiesType } from './type-resolution';
2
+ import { ResolveProperties } from './type-resolution';
3
3
  /**
4
4
  * Compute the full value type for an object option.
5
- * Resolves each property to its final type (respecting optional/required)
6
- * and adds an index signature if additionalProperties is set.
7
- *
8
- * Uses a structural constraint for TProperties to avoid circular imports
9
- * with option-config.ts.
5
+ * Resolves each property to its final type (respecting optional/required).
10
6
  */
11
7
  type ObjectValue<TProperties extends Record<string, {
12
8
  type: string;
13
- }>, TAdditionalProperties extends false | 'string' | 'number' | 'boolean'> = ResolveProperties<TProperties> & AdditionalPropertiesType<TAdditionalProperties>;
9
+ }>> = ResolveProperties<TProperties>;
14
10
  /**
15
11
  * Configuration for object options. Objects are parsed from dot notation
16
12
  * or JSON strings.
@@ -45,15 +41,14 @@ type ObjectValue<TProperties extends Record<string, {
45
41
  */
46
42
  type ObjectValidateType<TCoerce, TProperties extends Record<string, {
47
43
  type: string;
48
- }>, TAdditionalProperties extends false | 'string' | 'number' | 'boolean'> = unknown extends TCoerce ? ObjectValue<TProperties, TAdditionalProperties> : TCoerce;
44
+ }>> = unknown extends TCoerce ? ObjectValue<TProperties> : TCoerce;
49
45
  export type ObjectOptionConfig<TCoerce, TProperties extends Record<string, {
50
46
  type: string;
51
- }>, TAdditionalProperties extends false | 'string' | 'number' | 'boolean' = false> = {
52
- [key in keyof Omit<CommonOptionConfig<ObjectValue<NoInfer<TProperties>, NoInfer<TAdditionalProperties>>, NoInfer<TCoerce>>, 'choices' | 'coerce' | 'validate' | 'default'>]: CommonOptionConfig<ObjectValue<NoInfer<TProperties>, NoInfer<TAdditionalProperties>>, NoInfer<TCoerce>>[key];
47
+ }>> = {
48
+ [key in keyof Omit<CommonOptionConfig<ObjectValue<NoInfer<TProperties>>, NoInfer<TCoerce>>, 'choices' | 'coerce' | 'validate' | 'default'>]: CommonOptionConfig<ObjectValue<NoInfer<TProperties>>, NoInfer<TCoerce>>[key];
53
49
  } & {
54
50
  type: 'object';
55
51
  properties: TProperties;
56
- additionalProperties?: TAdditionalProperties;
57
52
  /**
58
53
  * Provide a default value for the entire object.
59
54
  * Uses a permissive type (object) to avoid interfering with TProperties inference.
@@ -64,11 +59,11 @@ export type ObjectOptionConfig<TCoerce, TProperties extends Record<string, {
64
59
  * Coerce transforms the parsed object value.
65
60
  * The return type becomes the final type for this option.
66
61
  */
67
- coerce?: (value: ObjectValue<TProperties, NoInfer<TAdditionalProperties>>) => TCoerce;
62
+ coerce?: (value: ObjectValue<TProperties>) => TCoerce;
68
63
  /**
69
64
  * Validate the object value after coercion (or the raw value if no coerce).
70
65
  * Receives the coerced type if coerce is provided, otherwise the computed ObjectValue type.
71
66
  */
72
- validate?: (value: ObjectValidateType<TCoerce, TProperties, TAdditionalProperties>) => boolean | string;
67
+ validate?: (value: ObjectValidateType<TCoerce, TProperties>) => boolean | string;
73
68
  };
74
69
  export {};
@@ -1,4 +1,4 @@
1
- import { ResolveOptionType, WithOptional, ResolveProperties, AdditionalPropertiesType } from './type-resolution';
1
+ import { ResolveOptionType, WithOptional, ResolveProperties } from './type-resolution';
2
2
  /**
3
3
  * Converts an OptionConfig to the TypeScript type for the parsed value.
4
4
  * Uses shared type resolution logic from type-resolution.ts.
@@ -6,4 +6,4 @@ import { ResolveOptionType, WithOptional, ResolveProperties, AdditionalPropertie
6
6
  export type OptionConfigToType<TOptionConfig extends {
7
7
  type: string;
8
8
  }> = WithOptional<ResolveOptionType<TOptionConfig>, TOptionConfig>;
9
- export type { ResolveProperties, AdditionalPropertiesType };
9
+ export type { ResolveProperties };
@@ -14,11 +14,9 @@ import { StringOptionConfig } from './string';
14
14
  */
15
15
  export type OptionConfig<TCoerce = any, TChoices = any[], TObjectProps extends Record<string, {
16
16
  type: string;
17
- }> = Record<string, any>, TAdditionalProps extends false | 'string' | 'number' | 'boolean' = false> = StringOptionConfig<TCoerce, TChoices> | NumberOptionConfig<TCoerce, TChoices> | ArrayOptionConfig<TCoerce, TChoices> | BooleanOptionConfig<TCoerce, TChoices> | ObjectOptionConfig<TCoerce, TObjectProps, TAdditionalProps>;
17
+ }> = Record<string, any>> = StringOptionConfig<TCoerce, TChoices> | NumberOptionConfig<TCoerce, TChoices> | ArrayOptionConfig<TCoerce, TChoices> | BooleanOptionConfig<TCoerce, TChoices> | ObjectOptionConfig<TCoerce, TObjectProps>;
18
18
  /**
19
19
  * An OptionConfig with generic parameters set for maximum compatibility.
20
20
  * Uses `any` for all type parameters to allow maximum assignability.
21
- * The IsAny check in AdditionalPropertiesType handles the case where
22
- * TAdditionalProps is `any` by returning `unknown` instead of an index signature.
23
21
  */
24
- export type UnknownOptionConfig = OptionConfig<any, any, any, any>;
22
+ export type UnknownOptionConfig = OptionConfig<any, any, any>;
@@ -62,10 +62,6 @@ export type BaseType<T> = T extends {
62
62
  } ? number[] : T extends {
63
63
  type: 'object';
64
64
  properties: infer P;
65
- additionalProperties: infer A;
66
- } ? P extends Record<string, unknown> ? ResolveProperties<P> & AdditionalPropertiesType<A> : never : T extends {
67
- type: 'object';
68
- properties: infer P;
69
65
  } ? P extends Record<string, unknown> ? ResolveProperties<P> : never : never;
70
66
  /**
71
67
  * Resolve a single option config to its final type.
@@ -95,32 +91,19 @@ export type ResolveProperties<TProperties> = IsAny<TProperties> extends true ? u
95
91
  [K in keyof TProperties]: WithOptional<ResolveOptionType<TProperties[K]>, TProperties[K]>;
96
92
  };
97
93
  /**
98
- * Map the additionalProperties field to an index signature type.
99
- * If false, undefined, or any, contributes nothing to the type.
100
- *
101
- * IMPORTANT: We use `unknown` in the index signature instead of the strict
102
- * primitive type (e.g., `Record<string, string>`) to avoid conflicts with
103
- * explicit nested properties. TypeScript's index signatures require ALL values
104
- * (including explicit properties) to be assignable to the index type. Using
105
- * `Record<string, string>` would make `{ server: {...} } & Record<string, string>`
106
- * impossible since the nested object isn't a string.
107
- *
108
- * By using `{ [K: string]: unknown }`, the type is "open" - explicit properties
109
- * retain their types while additional dynamic keys are allowed. Type safety
110
- * for additional properties is enforced at runtime during parsing.
111
- *
112
- * Uses tuple wrapping to prevent distribution over unions.
94
+ * Compute the full value type for an object option.
113
95
  */
114
- export type AdditionalPropertiesType<T> = IsAny<T> extends true ? unknown : [T] extends [false] ? unknown : [T] extends ['string'] ? {
115
- [K: string]: string;
116
- } : [T] extends ['number'] ? {
117
- [K: string]: number;
118
- } : [T] extends ['boolean'] ? {
119
- [K: string]: boolean;
120
- } : unknown;
96
+ export type ObjectValueType<TProperties> = ResolveProperties<TProperties>;
121
97
  /**
122
- * Compute the full value type for an object option.
123
- * Combines resolved properties with additional properties index signature.
98
+ * Makes properties whose type includes `undefined` optional.
99
+ * This allows omitting properties like `{ foo?: string | undefined }` from object literals
100
+ * instead of requiring `{ foo: undefined }`.
101
+ *
102
+ * Uses a simpler mapped type approach that works better with generic keys in .d.ts generation.
124
103
  */
125
- export type ObjectValueType<TProperties, TAdditionalProperties> = ResolveProperties<TProperties> & AdditionalPropertiesType<TAdditionalProperties>;
104
+ export type MakeUndefinedPropertiesOptional<T> = {
105
+ [K in keyof T as undefined extends T[K] ? K : never]?: T[K];
106
+ } & {
107
+ [K in keyof T as undefined extends T[K] ? never : K]: T[K];
108
+ };
126
109
  export {};
@@ -1,5 +1,5 @@
1
- import { OptionConfigToType, ResolveProperties, AdditionalPropertiesType } from './option-types/option-config-to-type';
2
- import { WithOptional } from './option-types/type-resolution';
1
+ import { OptionConfigToType, ResolveProperties } from './option-types/option-config-to-type';
2
+ import { MakeUndefinedPropertiesOptional, WithOptional } from './option-types/type-resolution';
3
3
  import { InternalOptionConfig, ObjectOptionConfig, StringOptionConfig, NumberOptionConfig, BooleanOptionConfig, ArrayOptionConfig, OptionConfig } from './option-types';
4
4
  import { Parser, ParserContext } from './parsers/typings';
5
5
  import { ConfigurationProvider } from './config-files/configuration-loader';
@@ -108,24 +108,24 @@ export declare class ArgvParser<TArgs extends ParsedArgs = {
108
108
  */
109
109
  option<TOption extends string, TCoerce, const TProps extends Record<string, {
110
110
  type: string;
111
- }>, TAdditionalProps extends false | 'string' | 'number' | 'boolean' = false>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps, TAdditionalProps>): ArgvParser<TArgs & {
112
- [key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> & AdditionalPropertiesType<TAdditionalProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps, TAdditionalProps>>;
113
- }>;
114
- option<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
111
+ }>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps>): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
112
+ [key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps>>;
113
+ }>>;
114
+ option<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
115
115
  [key in TOption]: OptionConfigToType<TConfig>;
116
- }>;
117
- option<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
116
+ }>>;
117
+ option<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
118
118
  [key in TOption]: OptionConfigToType<TConfig>;
119
- }>;
119
+ }>>;
120
120
  option<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
121
121
  [key in TOption]: OptionConfigToType<TConfig>;
122
122
  }>;
123
- option<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
123
+ option<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
124
124
  [key in TOption]: OptionConfigToType<TConfig>;
125
- }>;
126
- option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any, any>>(name: TOption, config: TOptionConfig): ArgvParser<TArgs & {
125
+ }>>;
126
+ option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
127
127
  [key in TOption]: OptionConfigToType<TOptionConfig>;
128
- }>;
128
+ }>>;
129
129
  /**
130
130
  * Registers a new positional argument with the parser.
131
131
  * @param name The name of the positional argument
@@ -134,24 +134,24 @@ export declare class ArgvParser<TArgs extends ParsedArgs = {
134
134
  */
135
135
  positional<TOption extends string, TCoerce, const TProps extends Record<string, {
136
136
  type: string;
137
- }>, TAdditionalProps extends false | 'string' | 'number' | 'boolean' = false>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps, TAdditionalProps>): ArgvParser<TArgs & {
138
- [key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> & AdditionalPropertiesType<TAdditionalProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps, TAdditionalProps>>;
139
- }>;
140
- positional<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
137
+ }>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps>): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
138
+ [key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps>>;
139
+ }>>;
140
+ positional<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
141
141
  [key in TOption]: OptionConfigToType<TConfig>;
142
- }>;
143
- positional<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
142
+ }>>;
143
+ positional<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
144
144
  [key in TOption]: OptionConfigToType<TConfig>;
145
- }>;
146
- positional<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
145
+ }>>;
146
+ positional<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
147
147
  [key in TOption]: OptionConfigToType<TConfig>;
148
- }>;
149
- positional<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & {
148
+ }>>;
149
+ positional<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
150
150
  [key in TOption]: OptionConfigToType<TConfig>;
151
- }>;
152
- positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any, any>>(name: TOption, config: TOptionConfig): ArgvParser<TArgs & {
151
+ }>>;
152
+ positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig): ArgvParser<TArgs & MakeUndefinedPropertiesOptional<{
153
153
  [key in TOption]: OptionConfigToType<TOptionConfig>;
154
- }>;
154
+ }>>;
155
155
  /**
156
156
  * Enables environment variable population for options.
157
157
  * @param envPrefix Prefix for environment variables. The full environment variable name will be `${envPrefix}_${optionName}`.
@@ -225,7 +225,8 @@ class ArgvParser {
225
225
  }
226
226
  }
227
227
  // Apply nested defaults for object options (before coerce)
228
- if (configuration.type === 'object' && normalized[configuration.key] !== undefined) {
228
+ if (configuration.type === 'object' &&
229
+ normalized[configuration.key] !== undefined) {
229
230
  const objectConfig = configuration;
230
231
  if (objectConfig.properties) {
231
232
  normalized[configuration.key] = applyNestedObjectDefaults(normalized[configuration.key], objectConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { Internal, ObjectOptionConfig } from '../option-types';
2
2
  import { Parser } from './typings';
3
- export declare const objectParser: Parser<Internal<ObjectOptionConfig<any, any, any>>>;
3
+ export declare const objectParser: Parser<Internal<ObjectOptionConfig<any, any>>>;
@@ -84,19 +84,9 @@ const objectParser = ({ tokens, config, providedFlag, current, }) => {
84
84
  }
85
85
  const c = currentConfig.properties[last];
86
86
  if (!c) {
87
- if ('additionalProperties' in currentConfig &&
88
- currentConfig.additionalProperties) {
89
- currentConfig = {
90
- type: currentConfig.additionalProperties,
91
- };
92
- }
93
- else {
94
- throw new Error(`No configuration found for ${last} in ${config.key}`);
95
- }
96
- }
97
- else {
98
- currentConfig = c;
87
+ throw new Error(`No configuration found for ${last} in ${config.key}`);
99
88
  }
89
+ currentConfig = c;
100
90
  }
101
91
  }
102
92
  };
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/lib/parsers/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/lib/parsers/object.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ type UnaryFunction<T, R> = (arg: T) => R;
20
20
  * @returns Updated value after all functions have been applied
21
21
  * @hidden docs for {@link chain} are found on the main signature.
22
22
  */
23
- export declare function chain<T0, R>(initial: T0, fn0: UnaryFunction<T0, R>): R;
23
+ export declare function chain<T0, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, R>): R;
24
24
  /**
25
25
  * Applies a series of functions to an initial value, passing the result of each function to the next.
26
26
  *
@@ -40,7 +40,7 @@ export declare function chain<T0, R>(initial: T0, fn0: UnaryFunction<T0, R>): R;
40
40
  * @returns Updated value after all functions have been applied
41
41
  * @hidden docs for {@link chain} are found on the main signature.
42
42
  */
43
- export declare function chain<T0, T1, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, R>): R;
43
+ export declare function chain<T0, T1, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, R>): R;
44
44
  /**
45
45
  * Applies a series of functions to an initial value, passing the result of each function to the next.
46
46
  *
@@ -60,7 +60,7 @@ export declare function chain<T0, T1, R>(initial: T0, fn0: UnaryFunction<T0, T1>
60
60
  * @returns Updated value after all functions have been applied
61
61
  * @hidden docs for {@link chain} are found on the main signature.
62
62
  */
63
- export declare function chain<T0, T1, T2, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, R>): R;
63
+ export declare function chain<T0, T1, T2, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, R>): R;
64
64
  /**
65
65
  * Applies a series of functions to an initial value, passing the result of each function to the next.
66
66
  *
@@ -80,7 +80,7 @@ export declare function chain<T0, T1, T2, R>(initial: T0, fn0: UnaryFunction<T0,
80
80
  * @returns Updated value after all functions have been applied
81
81
  * @hidden docs for {@link chain} are found on the main signature.
82
82
  */
83
- export declare function chain<T0, T1, T2, T3, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, R>): R;
83
+ export declare function chain<T0, T1, T2, T3, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, R>): R;
84
84
  /**
85
85
  * Applies a series of functions to an initial value, passing the result of each function to the next.
86
86
  *
@@ -100,7 +100,7 @@ export declare function chain<T0, T1, T2, T3, R>(initial: T0, fn0: UnaryFunction
100
100
  * @returns Updated value after all functions have been applied
101
101
  * @hidden docs for {@link chain} are found on the main signature.
102
102
  */
103
- export declare function chain<T0, T1, T2, T3, T4, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, R>): R;
103
+ export declare function chain<T0, T1, T2, T3, T4, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, R>): R;
104
104
  /**
105
105
  * Applies a series of functions to an initial value, passing the result of each function to the next.
106
106
  *
@@ -120,7 +120,7 @@ export declare function chain<T0, T1, T2, T3, T4, R>(initial: T0, fn0: UnaryFunc
120
120
  * @returns Updated value after all functions have been applied
121
121
  * @hidden docs for {@link chain} are found on the main signature.
122
122
  */
123
- export declare function chain<T0, T1, T2, T3, T4, T5, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, R>): R;
123
+ export declare function chain<T0, T1, T2, T3, T4, T5, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, R>): R;
124
124
  /**
125
125
  * Applies a series of functions to an initial value, passing the result of each function to the next.
126
126
  *
@@ -140,7 +140,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, R>(initial: T0, fn0: Unary
140
140
  * @returns Updated value after all functions have been applied
141
141
  * @hidden docs for {@link chain} are found on the main signature.
142
142
  */
143
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, R>): R;
143
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, R>): R;
144
144
  /**
145
145
  * Applies a series of functions to an initial value, passing the result of each function to the next.
146
146
  *
@@ -160,7 +160,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, R>(initial: T0, fn0: U
160
160
  * @returns Updated value after all functions have been applied
161
161
  * @hidden docs for {@link chain} are found on the main signature.
162
162
  */
163
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, R>): R;
163
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, R>): R;
164
164
  /**
165
165
  * Applies a series of functions to an initial value, passing the result of each function to the next.
166
166
  *
@@ -180,7 +180,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, R>(initial: T0, fn
180
180
  * @returns Updated value after all functions have been applied
181
181
  * @hidden docs for {@link chain} are found on the main signature.
182
182
  */
183
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, R>): R;
183
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, R>): R;
184
184
  /**
185
185
  * Applies a series of functions to an initial value, passing the result of each function to the next.
186
186
  *
@@ -200,7 +200,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>(initial: T0
200
200
  * @returns Updated value after all functions have been applied
201
201
  * @hidden docs for {@link chain} are found on the main signature.
202
202
  */
203
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, R>): R;
203
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, R>): R;
204
204
  /**
205
205
  * Applies a series of functions to an initial value, passing the result of each function to the next.
206
206
  *
@@ -220,7 +220,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(initial
220
220
  * @returns Updated value after all functions have been applied
221
221
  * @hidden docs for {@link chain} are found on the main signature.
222
222
  */
223
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, T10>, fn10: UnaryFunction<T10, R>): R;
223
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, T10>, fn10: UnaryFunction<T10, R>): R;
224
224
  /**
225
225
  * Applies a series of functions to an initial value, passing the result of each function to the next.
226
226
  *
@@ -240,7 +240,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>(in
240
240
  * @returns Updated value after all functions have been applied
241
241
  * @hidden docs for {@link chain} are found on the main signature.
242
242
  */
243
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, R>): R;
243
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, R>): R;
244
244
  /**
245
245
  * Applies a series of functions to an initial value, passing the result of each function to the next.
246
246
  *
@@ -260,7 +260,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
260
260
  * @returns Updated value after all functions have been applied
261
261
  * @hidden docs for {@link chain} are found on the main signature.
262
262
  */
263
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, R>): R;
263
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, R>): R;
264
264
  /**
265
265
  * Applies a series of functions to an initial value, passing the result of each function to the next.
266
266
  *
@@ -280,7 +280,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
280
280
  * @returns Updated value after all functions have been applied
281
281
  * @hidden docs for {@link chain} are found on the main signature.
282
282
  */
283
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, T13>, fn13: UnaryFunction<T13, R>): R;
283
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, T13>, fn13: UnaryFunction<T13, R>): R;
284
284
  /**
285
285
  * Applies a series of functions to an initial value, passing the result of each function to the next.
286
286
  *
@@ -300,7 +300,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
300
300
  * @returns Updated value after all functions have been applied
301
301
  * @hidden docs for {@link chain} are found on the main signature.
302
302
  */
303
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, T13>, fn13: UnaryFunction<T13, T14>, fn14: UnaryFunction<T14, R>): R;
303
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, T13>, fn13: UnaryFunction<T13, T14>, fn14: UnaryFunction<T14, R>): R;
304
304
  /**
305
305
  * Applies a series of functions to an initial value, passing the result of each function to the next.
306
306
  *
@@ -319,7 +319,7 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
319
319
  * @param fns Functions to apply to the initial value, and each subsequent value
320
320
  * @returns {R} Updated value after all functions have been applied
321
321
  */
322
- export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>(initial: T0, fn0: UnaryFunction<T0, T1>, fn1: UnaryFunction<T1, T2>, fn2: UnaryFunction<T2, T3>, fn3: UnaryFunction<T3, T4>, fn4: UnaryFunction<T4, T5>, fn5: UnaryFunction<T5, T6>, fn6: UnaryFunction<T6, T7>, fn7: UnaryFunction<T7, T8>, fn8: UnaryFunction<T8, T9>, fn9: UnaryFunction<T9, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, T13>, fn13: UnaryFunction<T13, T14>, fn14: UnaryFunction<T14, T15>, fn15: UnaryFunction<T15, R>): R;
322
+ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>(initial: T0, fn0: UnaryFunction<NoInfer<T0>, T1>, fn1: UnaryFunction<NoInfer<T1>, T2>, fn2: UnaryFunction<NoInfer<T2>, T3>, fn3: UnaryFunction<NoInfer<T3>, T4>, fn4: UnaryFunction<NoInfer<T4>, T5>, fn5: UnaryFunction<NoInfer<T5>, T6>, fn6: UnaryFunction<NoInfer<T6>, T7>, fn7: UnaryFunction<NoInfer<T7>, T8>, fn8: UnaryFunction<NoInfer<T8>, T9>, fn9: UnaryFunction<NoInfer<T9>, T10>, fn10: UnaryFunction<T10, T11>, fn11: UnaryFunction<T11, T12>, fn12: UnaryFunction<T12, T13>, fn13: UnaryFunction<T13, T14>, fn14: UnaryFunction<T14, T15>, fn15: UnaryFunction<T15, R>): R;
323
323
  /**
324
324
  * A composition helper to be used with {@link chain}.
325
325
  *
@@ -327,5 +327,5 @@ export declare function chain<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
327
327
  * @param config The configuration for the option
328
328
  * @returns A unary function that adds an option to an {@link ArgvParser}.
329
329
  */
330
- export declare function makeComposableOption<const TKey extends string, const TOptionConfig extends UnknownOptionConfig>(name: TKey, config: TOptionConfig): <const T extends ParsedArgs>(argv: ArgvParser<T>) => ArgvParser<T & { [key in TKey]: import("../option-types").WithOptional<import("../option-types").ResolveOptionType<TOptionConfig>, TOptionConfig>; }>;
330
+ export declare function makeComposableOption<const TKey extends string, const TOptionConfig extends UnknownOptionConfig>(name: TKey, config: TOptionConfig): <const T extends ParsedArgs>(argv: ArgvParser<T>) => ArgvParser<T & ({ [key in TKey]: import("../option-types").WithOptional<import("../option-types").ResolveOptionType<TOptionConfig>, TOptionConfig>; } extends infer T_1 ? { [K in keyof T_1 as undefined extends { [key in TKey]: import("../option-types").WithOptional<import("../option-types").ResolveOptionType<TOptionConfig>, TOptionConfig>; }[K] ? K : never]?: T_1[K] | undefined; } : never) & ({ [key in TKey]: import("../option-types").WithOptional<import("../option-types").ResolveOptionType<TOptionConfig>, TOptionConfig>; } extends infer T_2 ? { [K_1 in keyof T_2 as undefined extends { [key in TKey]: import("../option-types").WithOptional<import("../option-types").ResolveOptionType<TOptionConfig>, TOptionConfig>; }[K_1] ? never : K_1]: T_2[K_1]; } : never)>;
331
331
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/lib/utils/chain.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,wFAAwF;AACxF,4FAA4F;AAC5F,0GAA0G;AAC1G,oGAAoG;AACpG,+CAA+C;;AA4kB/C,sBAKC;AASD,oDAMC;AAlDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,KAAK,CACnB,OAAW,EACX,GAAG,GAA8B;IAEjC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAGlC,IAAU,EAAE,MAAqB;IACjC,OAAO,CAA6B,IAAmB,EAAE,EAAE,CACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/lib/utils/chain.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,wFAAwF;AACxF,4FAA4F;AAC5F,0GAA0G;AAC1G,oGAAoG;AACpG,+CAA+C;;AA+kB/C,sBAKC;AASD,oDAMC;AAlDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,KAAK,CACnB,OAAW,EACX,GAAG,GAA8B;IAEjC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAGlC,IAAU,EAAE,MAAqB;IACjC,OAAO,CAA6B,IAAmB,EAAE,EAAE,CACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-default-value.js","sourceRoot":"","sources":["../../../src/lib/utils/read-default-value.ts"],"names":[],"mappings":";;AAOA,4CAsBC;AAtBD,SAAgB,gBAAgB,CAC9B,MAAS;IAET,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,CAAC,OAA4B,CAAC;QAC5D,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAqC,CAAC;gBACpE,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;gBACjC,MAAM,OAAO,GACX,eAAe,CAAC,OAA6C,CAAC;gBAChE,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;YACD,+EAA+E;YAC/E,OAAO,CAAC,eAA+C,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"read-default-value.js","sourceRoot":"","sources":["../../../src/lib/utils/read-default-value.ts"],"names":[],"mappings":";;AAMA,4CAsBC;AAtBD,SAAgB,gBAAgB,CAC9B,MAAS;IAET,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,CAAC,OAA4B,CAAC;QAC5D,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAqC,CAAC;gBACpE,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;gBACjC,MAAM,OAAO,GACX,eAAe,CAAC,OAA6C,CAAC;gBAChE,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;YACD,+EAA+E;YAC/E,OAAO,CAAC,eAA+C,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@cli-forge/parser",
3
- "version": "0.11.0",
3
+ "version": "1.0.0",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
7
+ "devDependencies": {
8
+ "vite": "^5.4.0"
9
+ },
7
10
  "type": "commonjs",
8
11
  "main": "./dist/index.js",
9
12
  "typings": "./dist/index.d.ts",
10
13
  "license": "ISC",
14
+ "homepage": "https://craigory.dev/cli-forge/",
11
15
  "repository": {
12
16
  "type": "git",
13
17
  "directory": "packages/parser",
@@ -17,7 +21,8 @@
17
21
  ".": {
18
22
  "require": "./dist/index.js",
19
23
  "types": "./dist/index.d.ts",
20
- "default": "./dist/index.js"
24
+ "default": "./dist/index.js",
25
+ "import": "./dist/index.js"
21
26
  },
22
27
  "./package.json": "./package.json"
23
28
  },