@codethread/tstl-validate
Version:
Fork and adaptation of valibot for use in typescript-to-lua
23 lines (22 loc) • 3.89 kB
TypeScript
/** @noSelfInFile */
import type { AnySchema, ArraySchema, BooleanSchema, EnumSchema, InstanceSchema, LiteralSchema, NonNullishSchema, NonOptionalSchema, NullableSchema, NullishSchema, NumberSchema, ObjectSchema, OptionalSchema, RecordSchema, RecursiveSchema, SpecialSchema, StringSchema, TupleSchema, UnionSchema } from "../../schemas/index";
import type { Input, Output } from "../../types";
export declare function transform<TSchema extends AnySchema, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): AnySchema<TOutput>;
export declare function transform<TSchema extends ArraySchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): ArraySchema<TSchema["array"]["item"], TOutput>;
export declare function transform<TSchema extends BooleanSchema, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): BooleanSchema<TOutput>;
export declare function transform<TSchema extends EnumSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): EnumSchema<TSchema["enum"], TOutput>;
export declare function transform<TSchema extends InstanceSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): InstanceSchema<TSchema["class"], TOutput>;
export declare function transform<TSchema extends LiteralSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): LiteralSchema<TSchema["literal"], TOutput>;
export declare function transform<TSchema extends NonNullishSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): NonNullishSchema<TSchema["wrapped"], TOutput>;
export declare function transform<TSchema extends NonOptionalSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): NonOptionalSchema<TSchema["wrapped"], TOutput>;
export declare function transform<TSchema extends NullableSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): NullableSchema<TSchema["wrapped"], TOutput>;
export declare function transform<TSchema extends NullishSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): NullishSchema<TSchema["wrapped"], TOutput>;
export declare function transform<TSchema extends NumberSchema, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): NumberSchema<TOutput>;
export declare function transform<TSchema extends ObjectSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): ObjectSchema<TSchema["object"], TOutput>;
export declare function transform<TSchema extends OptionalSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): OptionalSchema<TSchema["wrapped"], TOutput>;
export declare function transform<TSchema extends RecordSchema<any, any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): RecordSchema<TSchema["record"]["key"], TSchema["record"]["value"], TOutput>;
export declare function transform<TSchema extends RecursiveSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): RecursiveSchema<TSchema["getter"], TOutput>;
export declare function transform<TSchema extends SpecialSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): SpecialSchema<Input<TSchema>, TOutput>;
export declare function transform<TSchema extends StringSchema, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): StringSchema<TOutput>;
export declare function transform<TSchema extends TupleSchema<any, any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): TupleSchema<TSchema["tuple"]["items"], TSchema["tuple"]["rest"], TOutput>;
export declare function transform<TSchema extends UnionSchema<any>, TOutput>(schema: TSchema, action: (value: Output<TSchema>) => TOutput): UnionSchema<TSchema["union"], TOutput>;