diff options
Diffstat (limited to 'src/node_modules/class-validator/esm2015/validation/Validator.js')
-rw-r--r-- | src/node_modules/class-validator/esm2015/validation/Validator.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/node_modules/class-validator/esm2015/validation/Validator.js b/src/node_modules/class-validator/esm2015/validation/Validator.js new file mode 100644 index 0000000..5b4fa9b --- /dev/null +++ b/src/node_modules/class-validator/esm2015/validation/Validator.js @@ -0,0 +1,53 @@ +import { ValidationExecutor } from "./ValidationExecutor"; +/** + * Validator performs validation of the given object based on its metadata. + */ +export class Validator { + // ------------------------------------------------------------------------- + // 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); + }); + } + /** + * 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); + } +} + +//# sourceMappingURL=Validator.js.map |