12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { ValidationExecutor } from './ValidationExecutor';
- /**
- * Validator performs validation of the given object based on its metadata.
- */
- export class Validator {
- /**
- * Performs validation of the given object based on decorators or validation schema.
- */
- validate(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {
- return this.coreValidate(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions);
- }
- /**
- * Performs validation of the given object based on decorators or validation schema and reject on error.
- */
- async validateOrReject(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {
- const errors = await this.coreValidate(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions);
- if (errors.length)
- return Promise.reject(errors);
- }
- /**
- * Performs validation of the given object based on decorators or validation schema.
- */
- validateSync(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {
- const object = typeof objectOrSchemaName === 'string' ? objectOrValidationOptions : objectOrSchemaName;
- const options = typeof objectOrSchemaName === 'string' ? maybeValidatorOptions : objectOrValidationOptions;
- const schema = typeof objectOrSchemaName === 'string' ? objectOrSchemaName : undefined;
- const executor = new ValidationExecutor(this, options);
- executor.ignoreAsyncValidations = true;
- const validationErrors = [];
- executor.execute(object, schema, validationErrors);
- return executor.stripEmptyErrors(validationErrors);
- }
- // -------------------------------------------------------------------------
- // Private Properties
- // -------------------------------------------------------------------------
- /**
- * Performs validation of the given object based on decorators or validation schema.
- * Common method for `validateOrReject` and `validate` methods.
- */
- coreValidate(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {
- const object = typeof objectOrSchemaName === 'string' ? objectOrValidationOptions : objectOrSchemaName;
- const options = typeof objectOrSchemaName === 'string' ? maybeValidatorOptions : objectOrValidationOptions;
- const schema = typeof objectOrSchemaName === 'string' ? objectOrSchemaName : undefined;
- const executor = new ValidationExecutor(this, options);
- const validationErrors = [];
- executor.execute(object, schema, validationErrors);
- return Promise.all(executor.awaitingPromises).then(() => {
- return executor.stripEmptyErrors(validationErrors);
- });
- }
- }
- //# sourceMappingURL=Validator.js.map
|