UNPKG

@codethread/tstl-validate

Version:

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

34 lines (33 loc) 1.28 kB
/** @noSelfInFile */ import type { BaseSchema, BaseSchemaAsync, PipeAsync } from "../../types"; import type { ObjectInput, ObjectOutput } from "./types"; /** * Object shape async type. */ export type ObjectShapeAsync = Record<string, BaseSchema<any> | BaseSchemaAsync<any>>; /** * Object schema async type. */ export type ObjectSchemaAsync<TObjectShape extends ObjectShapeAsync, TOutput = ObjectOutput<TObjectShape>> = BaseSchemaAsync<ObjectInput<TObjectShape>, TOutput> & { schema: "object"; object: TObjectShape; }; /** * Creates an async object schema. * * @param object The object schema. * @param pipe A validation and transformation pipe. * * @returns An async object schema. */ export declare function objectAsync<TObjectShape extends ObjectShapeAsync>(object: TObjectShape, pipe?: PipeAsync<ObjectOutput<TObjectShape>>): ObjectSchemaAsync<TObjectShape>; /** * Creates an async object schema. * * @param object The object schema. * @param error The error message. * @param pipe A validation and transformation pipe. * * @returns An async object schema. */ export declare function objectAsync<TObjectShape extends ObjectShapeAsync>(object: TObjectShape, error?: string, pipe?: PipeAsync<ObjectOutput<TObjectShape>>): ObjectSchemaAsync<TObjectShape>;