axios-form-handler
Version:
A form handling library inspired by Inertia.js useForm, with Axios integration and Laravel validation support
32 lines • 1.35 kB
TypeScript
import { AxiosError, AxiosInstance, Method } from 'axios';
interface ResponseOption {
onSuccess?: (data: Record<any, any>) => void;
onValidationErrors?: (data: Record<any, any>) => void;
onError?: (error: AxiosError) => void;
onFinish?: () => void;
}
declare class Form {
private readonly _initialData;
private _fields;
errors: Record<string, string | null>;
processing: boolean;
private static http;
[key: string]: any;
constructor(fields: Record<string, any>);
static setAxiosInstance(axiosInstance: AxiosInstance): void;
get fields(): Record<string, any>;
get hasErrors(): boolean;
clearErrors(): this;
setError(key: string | Record<string, string>, message?: string | null): this;
request(method: Method, url: string, data: Record<string, any> | undefined, options: ResponseOption): void;
post(route: string, options?: ResponseOption): void;
put(route: string, options?: ResponseOption): void;
patch(route: string, options?: ResponseOption): void;
delete(route: string, options?: ResponseOption): void;
reset(): this;
}
export declare function useForm(fields: Record<string, any>): Form;
export declare function setFormAxios(axios: AxiosInstance): void;
export type FormInstance = Form & Record<string, any>;
export {};
//# sourceMappingURL=index.d.ts.map