@vaadin/hilla-models
Version:
Generative form models for Hilla
22 lines • 1.14 kB
JavaScript
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