armisa-models
Version:
models of armisa!
28 lines (27 loc) • 961 B
TypeScript
import { EnumValidateState } from './enums';
import { IResultOfValidate } from './Page/ValidatingControl';
interface ICancellableEvent<T> {
add(eventHandler: (eventArgs: T) => void): void;
remove(eventHandler: (eventArgs: T) => void): void;
}
interface ICancellableEventArgs {
cancel: boolean;
}
export declare class CancellableEvent<T extends ICancellableEventArgs> implements ICancellableEvent<T> {
private _eventHandlers;
add(eventHandler: (eventArgs: T) => void): void;
remove(eventHandler: (eventArgs: T) => void): void;
raise(e: T): void;
}
export declare class ValidationEventArgs implements ICancellableEventArgs {
state: EnumValidateState;
cancel: boolean;
error: string;
result: () => IResultOfValidate;
}
export declare class ValidationChain {
private _validators;
get validators(): ICancellableEvent<ValidationEventArgs>;
validate(): IResultOfValidate;
}
export {};