Files
NapCatQQ/.pnpm-store/v3/files/6f/7350f6f599237e96a612771b5498b26add1f352666658cea6d6e9acc95f35bad88f105056ae655affc78784d19b1eeff8c08496e0e4d4437b75c9bf6405220
T
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

54 lines
1.5 KiB
Plaintext

import type { HelpListBasicItem } from './help-list-types.d.ts';
type ParseArgsOptionConfigType = 'string' | 'boolean';
type ParseArgsOptionConfigDefault = string | boolean | string[] | boolean[] | undefined;
// Borrowed from @types/node
interface ParseArgsOptionConfig {
type: ParseArgsOptionConfigType;
multiple?: boolean | undefined;
// "shortFlag" in meow
'short'?: string | undefined;
'default'?: ParseArgsOptionConfigDefault;
}
type TypeMap = {
'string': string,
'boolean': boolean,
// Meow extension
// 'number': number|number[],
};
// Meow extensions
// interface FlagExtensions {
// readonly choices?: Type extends unknown[] ? Type : Type[];
// readonly isRequired?: boolean;
// }
interface BaseFlag extends ParseArgsOptionConfig, HelpListBasicItem {}
interface Flag<
PrimitiveType extends ParseArgsOptionConfigType,
DefaultType extends TypeMap[PrimitiveType]
> extends BaseFlag {
type: PrimitiveType,
'default'?: DefaultType,
multiple?: false | undefined,
}
interface MultiFlag<
PrimitiveType extends ParseArgsOptionConfigType,
DefaultType extends ParseArgsOptionConfigDefault
> extends BaseFlag {
type: PrimitiveType,
'default'?: DefaultType,
multiple: true,
}
export type StringFlag = Flag<'string', string> | MultiFlag<'string', string[]>;
export type BooleanFlag = Flag<'boolean', false>;
// Meow extension
// type NumberFlag = Flag<'number', number> | Flag<'number', number[], true>;
export type AnyFlag = StringFlag | BooleanFlag;// | NumberFlag;
export type AnyFlags = Record<string, AnyFlag>;