export type WizardSelectOption<T = string> = {
value: T;
label: string;
hint?: string;
};
export type WizardSelectParams<T = string> = {
message: string;
options: Array<WizardSelectOption<T>>;
initialValue?: T;
searchable?: boolean ;
};
export type WizardMultiSelectParams<T = string> = {
message: string;
options: Array<WizardSelectOption<T>>;
initialValues?: T[];
searchable?: boolean ;
};
export type WizardTextParams = {
message: string;
initialValue?: string;
placeholder?: string;
validate?: (value: string) => string | undefined;
};
export type WizardConfirmParams = {
message: string;
initialValue?: boolean ;
};
export type WizardProgress = {
update: (message: string) => void ;
stop: (message?: string) => void ;
};
export type WizardPrompter = {
intro: (title: string) => Promise<void >;
outro: (message: string) => Promise<void >;
note: (message: string, title?: string) => Promise<void >;
select: <T>(params: WizardSelectParams<T>) => Promise<T>;
multiselect: <T>(params: WizardMultiSelectParams<T>) => Promise<T[]>;
text: (params: WizardTextParams) => Promise<string>;
confirm: (params: WizardConfirmParams) => Promise<boolean >;
progress: (label: string) => WizardProgress;
};
export class WizardCancelledError extends Error {
constructor(message = "wizard cancelled" ) {
super (message);
this .name = "WizardCancelledError" ;
}
}
Messung V0.5 in Prozent C=100 H=99 G=99
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-08)
¤
*© Formatika GbR, Deutschland