|
1 | 1 | import { ConfigSetFromMetaSet, OptionsResults } from 'jackspeak'; |
2 | 2 | import * as Options from './Options.js'; |
3 | 3 |
|
4 | | -type FlattenConfigMetaSets<O extends Options.Options> = ConfigSetFromMetaSet< |
5 | | - 'number', |
6 | | - false, |
7 | | - Exclude<O['num'], undefined> |
8 | | -> & |
9 | | - ConfigSetFromMetaSet<'number', true, Exclude<O['numList'], undefined>> & |
10 | | - ConfigSetFromMetaSet<'string', false, Exclude<O['opt'], undefined>> & |
11 | | - ConfigSetFromMetaSet<'string', false, Exclude<O['opt'], undefined>> & |
12 | | - ConfigSetFromMetaSet<'string', true, Exclude<O['optList'], undefined>> & |
13 | | - ConfigSetFromMetaSet<'boolean', false, Exclude<O['flag'], undefined>> & |
14 | | - ConfigSetFromMetaSet<'boolean', true, Exclude<O['flagList'], undefined>> & |
15 | | - Exclude<O['fields'], undefined>; |
| 4 | +type FlattenConfigMetaSets<O extends Options.Options> = |
| 5 | + // FIXME all options are getting typed `string | undefined` |
| 6 | + ConfigSetFromMetaSet<'number', false, Exclude<O['num'], undefined>> & |
| 7 | + ConfigSetFromMetaSet<'number', true, Exclude<O['numList'], undefined>> & |
| 8 | + ConfigSetFromMetaSet<'string', false, Exclude<O['opt'], undefined>> & |
| 9 | + ConfigSetFromMetaSet<'string', false, Exclude<O['opt'], undefined>> & |
| 10 | + ConfigSetFromMetaSet<'string', true, Exclude<O['optList'], undefined>> & |
| 11 | + ConfigSetFromMetaSet<'boolean', false, Exclude<O['flag'], undefined>> & |
| 12 | + ConfigSetFromMetaSet<'boolean', true, Exclude<O['flagList'], undefined>> & |
| 13 | + Exclude<O['fields'], undefined>; |
16 | 14 |
|
17 | 15 | export type Arguments<O extends Options.Options> = { |
18 | 16 | positionals: (string | undefined)[]; |
|
0 commit comments