summaryrefslogtreecommitdiff
path: root/src/node_modules/class-validator/esm2015/validation/Validator.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2021-12-21 16:52:28 +0100
committerMinteck <contact@minteck.org>2021-12-21 16:52:28 +0100
commit46e43f4bde4a35785b4997b81e86cd19f046b69b (patch)
treec53c2f826f777f9d6b2d249dab556feb72a6c3a6 /src/node_modules/class-validator/esm2015/validation/Validator.js
downloadlangdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.gz
langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.bz2
langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.zip
Commit
Diffstat (limited to 'src/node_modules/class-validator/esm2015/validation/Validator.js')
-rw-r--r--src/node_modules/class-validator/esm2015/validation/Validator.js53
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