UNPKG

normul

Version:

Normul is a tiny TypeScript/JavaScript library for data normalization and transformation

20 lines (19 loc) 1.58 kB
import { AnySchema, ArraySchema, BooleanSchema, DiscriminatedUnionSchema, LiteralSchema, NullSchema, NumberSchema, ObjectSchema, RecordSchema, Schema, StringSchema, TupleSchema, TypeSchema, UndefinedSchema, UnionSchema, UnknownSchema, type ExtractShape, type Shape } from './schemas/index.js'; export declare const any: AnySchema; export declare function array<T extends [Schema, ...Schema[]]>(...schemas: T): ArraySchema<T>; export declare const boolean: BooleanSchema; export declare function discriminatedUnion<T extends [ObjectSchema<Shape>, ...ObjectSchema<Shape>[]], D extends Extract<keyof ExtractShape<T[number]>, string>>(discriminator: D, ...schemas: T): DiscriminatedUnionSchema<T, D>; export declare function literal<T extends string | number | boolean>(value: T): LiteralSchema<T>; export declare const nullValue: NullSchema; export declare const number: NumberSchema; export declare function object<T extends Shape>(shape: T): ObjectSchema<T>; export declare function record<V>(valueSchema: Schema<V>): RecordSchema<string, V>; export declare function record<K extends string | number, V>(keySchema: Schema<K>, valueSchema: Schema<V>): RecordSchema<K, V>; export declare const string: StringSchema; export declare function tuple<T extends unknown[]>(...schemas: { [K in keyof T]: Schema<T[K]>; }): TupleSchema<T>; export declare function type<T>(): TypeSchema<T>; export declare const undefinedValue: UndefinedSchema; export declare function union<T extends [Schema, ...Schema[]]>(...schemas: T): UnionSchema<T>; export declare const unknown: UnknownSchema;