@vaadin/hilla-models
Version:
Generative form models for Hilla
26 lines (25 loc) • 1.16 kB
TypeScript
import type { EmptyObject } from 'type-fest';
import { ObjectModelBuilder } from './builders.js';
import { ArrayModel, EnumModel, type UnionModel } from './core.js';
import { type AnyObject, type Target, type Enum, type Extensions, Model, type References, type Value } from './model.js';
export * from './model.js';
export * from './core.js';
export type * from './builders.js';
declare const m: {
attach<M extends Model>(model: M, target: Target<Value<M>>): M;
extend<M extends Model<AnyObject>>(base: M): ObjectModelBuilder<Value<M>, Value<M>, Extensions<M>, {
named: false;
selfRefKeys: References<M>;
}>;
optional<M extends Model>(base: M): M;
array<M extends Model>(itemModel: M): ArrayModel<M>;
object<T extends AnyObject>(name: string): ObjectModelBuilder<T, EmptyObject, EmptyObject, {
named: true;
selfRefKeys: never;
}>;
enum<T extends typeof Enum>(obj: T, name: string): EnumModel<T>;
union<MM extends Model[]>(...members: MM): UnionModel<MM>;
items<V extends Model>(model: ArrayModel<V>): Generator<V, undefined, void>;
value<T>(model: Model<T>): T;
};
export default m;