/* eslint-disable complexity */ /* eslint-disable max-statements */ /* eslint-disable no-process-env */ import { Persistent } from '@scode/modelling'; import fs from 'fs-extra'; enum OptionType { string = 'string', number = 'number', boolean = 'boolean', file = 'file', folder = 'folder', path = 'path' } interface Option { name: string; type: OptionType; required?: boolean; default?: unknown; alias?: string; env?: string; } interface OptionProcess extends Option { filled: boolean; value?: unknown; } export class InteractiveOptions extends Persistent { protected options: Array; public constructor (options: Array