UNPKG

@codethread/tstl-validate

Version:

Fork and adaptation of valibot for use in typescript-to-lua

18 lines (17 loc) 588 B
/** @noSelfInFile */ import type { BaseSchema, Input, Output } from '../../types'; /** * Recursive schema type. */ export type RecursiveSchema<TSchemaGetter extends () => BaseSchema, TOutput = Output<ReturnType<TSchemaGetter>>> = BaseSchema<Input<ReturnType<TSchemaGetter>>, TOutput> & { schema: 'recursive'; getter: TSchemaGetter; }; /** * Creates a recursive schema. * * @param getter The schema getter. * * @returns A recursive schema. */ export declare function recursive<TSchemaGetter extends () => BaseSchema>(getter: TSchemaGetter): RecursiveSchema<TSchemaGetter>;