@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
33 lines • 1.07 kB
text/typescript
//#region src/base-ui/FormKit/schema.d.ts
interface StandardSchemaIssue {
message: string;
path?: ReadonlyArray<PropertyKey | {
key: PropertyKey;
}>;
}
interface StandardSchema<Input = unknown, Output = Input> {
readonly '~standard': {
readonly types?: {
readonly input: Input;
readonly output: Output;
};
readonly validate: (value: unknown) => {
readonly issues?: undefined;
readonly value: Output;
} | {
readonly issues: ReadonlyArray<StandardSchemaIssue>;
} | Promise<{
readonly issues?: undefined;
readonly value: Output;
} | {
readonly issues: ReadonlyArray<StandardSchemaIssue>;
}>;
readonly vendor: string;
readonly version: 1;
};
}
type InferSchemaInput<S> = S extends StandardSchema<infer I, any> ? I : never;
type FieldValidate = StandardSchema | ((value: any, values: any) => string | undefined | Promise<string | undefined>);
//#endregion
export { FieldValidate, InferSchemaInput, StandardSchema, StandardSchemaIssue };
//# sourceMappingURL=schema.d.mts.map