23 lines
645 B
TypeScript
23 lines
645 B
TypeScript
import { AutoComplete } from 'enquirer';
|
|
import { StringOptionConfig } from '../../SubConfigs';
|
|
import { InteractiveSubSource } from './InteractiveSubSource';
|
|
|
|
export class PresetSubSource extends InteractiveSubSource {
|
|
protected condition ():boolean {
|
|
return typeof (this.opt as StringOptionConfig).preset !== 'undefined';
|
|
}
|
|
|
|
protected async run ():Promise<void> {
|
|
await this.val.assign_arg (
|
|
this.opt,
|
|
await new AutoComplete ({
|
|
message: this.get_message (),
|
|
default: this.opt.default,
|
|
choices: (this.opt as StringOptionConfig).preset,
|
|
limit: 10
|
|
})
|
|
.run ()
|
|
);
|
|
}
|
|
}
|