@v4fire/client
Version:
V4Fire client core library
39 lines (29 loc) • 875 B
text/typescript
/*!
* V4Fire Client Core
* https://github.com/V4Fire/Client
*
* Released under the MIT license
* https://github.com/V4Fire/Client/blob/master/LICENSE
*/
import type iInput from 'super/i-input/i-input';
import type { ValidationError as InputValidationError } from 'super/i-input/i-input';
import type { RequestError, RequestQuery, RequestBody } from 'super/i-data/i-data';
import type bForm from 'form/b-form/b-form';
export interface ValidateOptions {
focusOnError?: boolean;
}
export type SubmitBody =
RequestQuery |
RequestBody;
export interface SubmitCtx {
elements: iInput[];
form: bForm;
}
export type SubmitStatus = 'success' | 'fail' | 'empty';
export interface SubmitResult<D = unknown> {
status: SubmitStatus;
response: D | Error | RequestError | InputValidationError;
}
export interface ActionFn {
(body: SubmitBody, ctx: SubmitCtx): void;
}