@stackoverfloweth/vue-compositions
Version:
A collection of reusable vue compositions.
23 lines (22 loc) • 878 B
TypeScript
import { ComputedRef, InjectionKey } from 'vue';
import { ResetMethod, UseValidation } from '../useValidation/useValidation';
export type UseValidationObserver = {
register: ValidationObserverRegister;
validate: () => Promise<boolean>;
pause: () => void;
resume: () => void;
/**
* Reset all observed validations' states.
*
* @see UseValidation['reset']
*/
reset: ResetMethod;
valid: ComputedRef<boolean>;
invalid: ComputedRef<boolean>;
errors: ComputedRef<string[]>;
pending: ComputedRef<boolean>;
};
export type ValidationObserverUnregister = () => void;
export type ValidationObserverRegister = (error: UseValidation) => ValidationObserverUnregister;
export declare const VALIDATION_OBSERVER_INJECTION_KEY: InjectionKey<UseValidationObserver>;
export declare function useValidationObserver(): UseValidationObserver;