@sprucelabs/schema
Version:
Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓
15 lines (14 loc) • 798 B
TypeScript
import { FieldError } from '../errors/options.types';
import { FieldTemplateDetailOptions, FieldTemplateDetails } from '../types/template.types';
import AbstractField from './AbstractField';
import { SelectFieldDefinition, SelectChoice } from './SelectField.types';
export default class SelectField<T extends SelectFieldDefinition = SelectFieldDefinition> extends AbstractField<T> {
static readonly description = "Stored as string, lets user select between available options.";
constructor(name: string, definition: T);
static generateTypeDetails(): {
valueTypeMapper: string;
};
validate(value: any): FieldError[];
static generateTemplateDetails(options: FieldTemplateDetailOptions<SelectFieldDefinition>): FieldTemplateDetails;
getChoices(): SelectChoice[];
}