UNPKG

@vaadin/hilla-models

Version:

Generative form models for Hilla

22 lines 1.14 kB
import { Model, } from './Model.js'; import { CoreModelBuilder } from './modelBuilders.js'; export const PrimitiveModel = new CoreModelBuilder(Model, () => undefined).name('primitive').build(); export const StringModel = new CoreModelBuilder(PrimitiveModel, () => '').name('string').build(); export const NumberModel = new CoreModelBuilder(PrimitiveModel, () => NaN).name('number').build(); export const BooleanModel = new CoreModelBuilder(PrimitiveModel, () => false).name('boolean').build(); export const $itemModel = Symbol('itemModel'); export const ArrayModel = new CoreModelBuilder(Model, () => []) .name('Array') .define($itemModel, { value: Model }) .build(); export const ObjectModel = new CoreModelBuilder(Model, () => ({})).name('Object').build(); export const RecordModel = new CoreModelBuilder(ObjectModel, () => ({})) .name('Record') .build(); export const $enum = Symbol('enumerate'); export const EnumModel = new CoreModelBuilder(Model) .name('Enum') .define($enum, { value: {} }) .defaultValueProvider((self) => Object.values(self[$enum])[0]) .build(); //# sourceMappingURL=models.js.map