UNPKG

pretur.clay

Version:
16 lines (15 loc) 805 B
import { Spec, SpecType, Model, SpecPool } from 'pretur.spec'; import { State } from './clay'; import { Value } from './Value'; import { Record } from './Record'; import { Set } from './Set'; export declare type Fields<T extends SpecType> = { [P in keyof T['fields']]: Value<T['fields'][P]>; } & { [P in keyof T['records']]: Record<T['records'][P]>; } & { [P in keyof T['sets']]: Set<T['sets'][P]>; }; export declare function buildFields<T extends SpecType>(pool: SpecPool, spec: Spec<T>, values?: Partial<Model<T>>): Fields<T>; export declare function buildRecord<T extends SpecType>(pool: SpecPool, spec: Spec<T>, values?: Partial<Model<T>>, state?: State): Record<T>; export declare function buildSet<T extends SpecType>(pool: SpecPool, spec: Spec<T>, items?: Partial<Model<T>>[]): Set<T>;