@themost/data
Version:
MOST Web Framework Codename Blueshift - Data module
87 lines (70 loc) • 2.53 kB
TypeScript
// MOST Web Framework 2.0 Codename Blueshift BSD-3-Clause license Copyright (c) 2017-2022, THEMOST LP All rights reserved
import {BeforeSaveEventListener, DataContext, DataEventArgs} from "./types";
export declare interface DataValidationResult {
code: string;
message: string;
innerMessage?: string;
}
export declare class DataValidator {
setContext(context: DataContext): void;
getContext(): DataContext;
target: any;
}
export declare class PatternValidator extends DataValidator {
constructor(pattern: string);
pattern: number;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class MinLengthValidator extends DataValidator {
constructor(length: number);
minLength: number;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class MaxLengthValidator extends DataValidator {
constructor(length: number);
maxLength: number;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class MinValueValidator extends DataValidator {
constructor(min: any);
minValue: any;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class MaxValueValidator extends DataValidator {
constructor(max: any);
maxValue: any;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class RangeValidator extends DataValidator {
constructor(min: any,max: any);
minValue: any;
maxValue: any;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class DataTypeValidator extends DataValidator {
constructor(type: string);
type: string;
message?: string;
validateSync(val:any): DataValidationResult;
}
export declare class RequiredValidator extends DataValidator {
constructor();
validateSync(val:any): DataValidationResult;
}
export declare class JsonTypeValidator extends DataValidator {
constructor(type: string, state: number);
validate(value: unknown, callback?: (err?: Error, res?: DataValidationResult) => void): void;
}
export declare class DataValidatorListener implements BeforeSaveEventListener {
beforeSave(event: DataEventArgs, callback: (err?: Error) => void): void;
}
export declare class AsyncExecuteValidator extends DataValidator {
constructor(model: any, validator: (event: { model: any, target: any, value: any }) => Promise<boolean>)
validate(val:any): Promise<DataValidationResult>;
}