UNPKG

veffect

Version:

powerful TypeScript validation library built on the robust foundation of Effect combining exceptional type safety, high performance, and developer experience. Taking inspiration from Effect's functional principles, VEffect delivers a balanced approach tha

21 lines (20 loc) 1.08 kB
import { Schema, RefinableSchema, TransformableSchema, DefaultableSchema, NullableSchema } from '../types'; /** * Record schema interface */ export interface RecordSchema<K extends string | number | symbol, V> extends Schema<Record<K, V>>, RefinableSchema<Record<K, V>, RecordSchema<K, V>>, TransformableSchema<Record<K, V>, RecordSchema<K, V>>, DefaultableSchema<Record<K, V>, RecordSchema<K, V>>, NullableSchema<Record<K, V>, RecordSchema<K, V>> { readonly _tag: 'RecordSchema'; readonly keySchema: Schema<K>; readonly valueSchema: Schema<V>; readonly minSize: (min: number, message?: string) => RecordSchema<K, V>; readonly maxSize: (max: number, message?: string) => RecordSchema<K, V>; readonly exactSize: (size: number, message?: string) => RecordSchema<K, V>; } /** * Create a record schema */ export declare function record<K extends string, V>(keySchema: Schema<K>, valueSchema: Schema<V>): RecordSchema<K, V>; /** * Create a record schema with string keys */ export declare function map<V>(valueSchema: Schema<V>): RecordSchema<string, V>;