UNPKG

@codethread/tstl-validate

Version:

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

23 lines (22 loc) 3.89 kB
/** @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>;