normul
Version:
Normul is a tiny TypeScript/JavaScript library for data normalization and transformation
10 lines (9 loc) • 612 B
TypeScript
import type { ParseContext, Simplify } from '../../types.js';
import { Schema } from '../Schema.js';
export type InferArray<T extends [Schema, ...Schema[]]> = Simplify<T extends [infer S] ? S extends Schema<infer U> ? U[] : never : T extends [Schema, ...Schema[]] ? (T[number] extends Schema<infer U> ? U : never)[] : never>;
export declare class ArraySchema<T extends [Schema, ...Schema[]]> extends Schema<InferArray<T>> {
protected readonly elementSchemas: T;
constructor(elementSchemas: T);
protected _normalize(input: unknown, ctx: ParseContext): InferArray<T>;
protected cloneArgs(): T[];
}