@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
20 lines (17 loc) • 566 B
text/typescript
import { Schema } from '@sprucelabs/schema'
import TerminalInterface from '../interfaces/TerminalInterface'
import FormComponent, { FormOptions } from './FormComponent'
export default abstract class AbstractComponent {
protected ui: TerminalInterface
public constructor(ui: TerminalInterface) {
this.ui = ui
}
public formComponent<T extends Schema>(
options: Omit<FormOptions<T>, 'term'>
): FormComponent<T> {
const formBuilder = new FormComponent({
...options,
})
return formBuilder
}
}