UNPKG

@westacks/vortex

Version:

Server-based routing for SPAs

34 lines (33 loc) 1.81 kB
import { RouterRequestConfig } from './router'; export type FData<T extends object> = T & Form<T>; export declare class Form<TForm extends object> { _defaults: TForm; _transform: unknown; _recentlySuccessfulTimeout: NodeJS.Timeout | null; readonly _handler: ProxyHandler<FData<TForm>>; wasSuccessful: boolean; recentlySuccessful: boolean; processing: boolean; errors: Record<string, string>; get hasErrors(): boolean; get isDirty(): boolean; constructor(initial: TForm, handler: ProxyHandler<FData<TForm>>); data(): TForm; transform(fn: (data: TForm) => unknown): this; reset(...fields: string[]): this; fill(data: TForm): this; defaults(field?: string | Record<string, unknown>, value?: unknown): this; clearErrors(...fields: string[]): this; setError(field: string | Record<string, string>, message?: string): this; request<TForm>(options: RouterRequestConfig<TForm>): Promise<import('./router').RouterResponse<any, any>>; get(url: string, options?: RouterRequestConfig): Promise<import('./router').RouterResponse<any, any>>; post(url: string, options?: RouterRequestConfig): Promise<import('./router').RouterResponse<any, any>>; put(url: string, options?: RouterRequestConfig): Promise<import('./router').RouterResponse<any, any>>; patch(url: string, options?: RouterRequestConfig): Promise<import('./router').RouterResponse<any, any>>; delete(url: string, options?: RouterRequestConfig): Promise<import('./router').RouterResponse<any, any>>; } export declare function useForm<T extends object>(data: T | (() => T), rememberKey?: string): { get: import('./signals').SignalGetter<FData<T>>; set: import('./signals').SignalSetter<FData<T>>; subscribe: (fn: (form: FData<T>) => void) => () => void; };