/* * Copyright (C) Sapphirecode - All Rights Reserved * This file is part of console-app which is released under MIT. * See file 'LICENSE' for full license details. * Created by Timo Hocker , October 2020 */ 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 { 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 () ); } }