@vaadin/hilla-models
Version:
Generative form models for Hilla
90 lines • 3.54 kB
JavaScript
import { ConstraintBuilder } from './ConstraintBuilder.js';
import * as m from './m.js';
import { Model } from './Model.js';
import { ArrayModel, BooleanModel, NumberModel, RecordModel, StringModel } from './models.js';
export const Null = new ConstraintBuilder()
.model(Model)
.attribute('message', m.optional(StringModel))
.name('Null')
.build();
export const NotNull = new ConstraintBuilder()
.model(Model)
.attribute('message', m.optional(StringModel))
.name('NotNull')
.build();
export const AssertTrue = new ConstraintBuilder()
.model(BooleanModel)
.attribute('message', m.optional(StringModel))
.name('AssertTrue')
.build();
export const AssertFalse = new ConstraintBuilder()
.model(BooleanModel)
.attribute('message', m.optional(StringModel))
.name('AssertFalse')
.build();
export const Min = new ConstraintBuilder()
.model(NumberModel)
.attribute('message', m.optional(StringModel))
.name('Min')
.attribute('value', NumberModel)
.build();
export const Max = new ConstraintBuilder()
.model(NumberModel)
.attribute('message', m.optional(StringModel))
.name('Max')
.attribute('value', NumberModel)
.build();
export const DecimalMin = new ConstraintBuilder()
.model(m.union(NumberModel, StringModel))
.name('DecimalMin')
.attribute('value', NumberModel)
.build();
export const DecimalMax = new ConstraintBuilder().model(m.union(NumberModel, StringModel)).name('DecimalMax').build();
export const Negative = new ConstraintBuilder()
.model(NumberModel)
.attribute('message', m.optional(StringModel))
.name('Negative')
.build();
export const NegativeOrZero = new ConstraintBuilder()
.model(NumberModel)
.attribute('message', m.optional(StringModel))
.name('NegativeOrZero')
.build();
export const Positive = new ConstraintBuilder()
.model(NumberModel)
.attribute('message', m.optional(StringModel))
.name('Positive')
.build();
export const PositiveOrZero = new ConstraintBuilder()
.model(NumberModel)
.attribute('message', m.optional(StringModel))
.name('PositiveOrZero')
.build();
export const Size = new ConstraintBuilder()
.model(m.union(StringModel, ArrayModel))
.name('Size')
.attribute('min', m.optional(m.withDefaultValue(NumberModel, 0)))
.attribute('max', m.optional(m.withDefaultValue(NumberModel, Number.MAX_SAFE_INTEGER)))
.build();
export const Digits = new ConstraintBuilder()
.model(m.union(StringModel, NumberModel))
.name('Digits')
.attribute('integer', NumberModel)
.attribute('fraction', NumberModel)
.build();
export const Past = new ConstraintBuilder().model(StringModel).name('Past').build();
export const PastOrPresent = new ConstraintBuilder().model(StringModel).name('PastOrPresent').build();
export const Future = new ConstraintBuilder().model(StringModel).name('Future').build();
export const FutureOrPresent = new ConstraintBuilder().model(StringModel).name('FutureOrPresent').build();
export const Pattern = new ConstraintBuilder()
.model(StringModel)
.name('Pattern')
.attribute('regexp', StringModel)
.build();
export const NotEmpty = new ConstraintBuilder()
.model(m.union(StringModel, ArrayModel, RecordModel))
.name('NotEmpty')
.build();
export const NotBlank = new ConstraintBuilder().model(StringModel).name('NotBlank').build();
export const Email = new ConstraintBuilder().model(StringModel).name('Email').build();
//# sourceMappingURL=constraints.js.map