import { ValidationMetadata } from './ValidationMetadata';
|
import { ConstraintMetadata } from './ConstraintMetadata';
|
import { ValidationSchema } from '../validation-schema/ValidationSchema';
|
/**
|
* Storage all metadatas.
|
*/
|
export declare class MetadataStorage {
|
private validationMetadatas;
|
private constraintMetadatas;
|
get hasValidationMetaData(): boolean;
|
/**
|
* Adds a new validation metadata.
|
*/
|
addValidationSchema(schema: ValidationSchema): void;
|
/**
|
* Adds a new validation metadata.
|
*/
|
addValidationMetadata(metadata: ValidationMetadata): void;
|
/**
|
* Adds a new constraint metadata.
|
*/
|
addConstraintMetadata(metadata: ConstraintMetadata): void;
|
/**
|
* Groups metadata by their property names.
|
*/
|
groupByPropertyName(metadata: ValidationMetadata[]): {
|
[propertyName: string]: ValidationMetadata[];
|
};
|
/**
|
* Gets all validation metadatas for the given object with the given groups.
|
*/
|
getTargetValidationMetadatas(targetConstructor: Function, targetSchema: string, always: boolean, strictGroups: boolean, groups?: string[]): ValidationMetadata[];
|
/**
|
* Gets all validator constraints for the given object.
|
*/
|
getTargetValidatorConstraints(target: Function): ConstraintMetadata[];
|
}
|
/**
|
* Gets metadata storage.
|
* Metadata storage follows the best practices and stores metadata in a global variable.
|
*/
|
export declare function getMetadataStorage(): MetadataStorage;
|