thesimplevalidation 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,8 +32,6 @@ export class Validation {
32
32
  return this;
33
33
  };
34
34
  this.isPropertyDirty = (model, field, key = null) => {
35
- if (this.isDisabled === true)
36
- return false;
37
35
  const fieldKey = key ?? this.modelInfo[field]?.key ?? null;
38
36
  const originalField = this.originalModel[field];
39
37
  const modelField = model[field];
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "thesimplevalidation",
3
3
  "description": "The simple validation",
4
- "version": "2.3.0",
4
+ "version": "2.4.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "files": [
@@ -37,8 +37,8 @@
37
37
  "devDependencies": {
38
38
  "@types/lodash.get": "4.4.9",
39
39
  "@types/lodash.isequal": "4.5.8",
40
- "@vitest/coverage-v8": "^4.0.9",
40
+ "@vitest/coverage-v8": "4.1.6",
41
41
  "typescript": "5.9.3",
42
- "vitest": "4.0.9"
42
+ "vitest": "4.1.6"
43
43
  }
44
44
  }
@@ -1,3 +0,0 @@
1
- export type ValidationErrorsModel<TModel> = {
2
- [k in keyof TModel]: string[];
3
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ValidationErrorsModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValidationErrorsModel.js","sourceRoot":"","sources":["../src/ValidationErrorsModel.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export type ValidationModel<TModel> = {
2
- [K in keyof TModel]: boolean;
3
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ValidationModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValidationModel.js","sourceRoot":"","sources":["../src/ValidationModel.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { ValidationPropertyResult } from "./ValidationPropertyResult";
2
- import { ValidationResult } from "./ValidationResult";
3
- import { Validator } from "./Validator";
4
- export declare class ValidationScope<TModel extends {}> {
5
- private originalModel;
6
- private modelInfo;
7
- constructor(originalModel: TModel);
8
- useOriginal: (model: TModel) => ValidationScope<TModel>;
9
- useValidators: <K extends keyof TModel>(key: K, ...validators: Array<Validator<TModel, K>>) => ValidationScope<TModel>;
10
- isPropertyDirty: (model: TModel, field: keyof TModel, key?: string | null) => boolean;
11
- getOriginalProperty: <K extends keyof TModel>(field: K) => TModel[K];
12
- isDirty: (model: TModel, ...fields: Array<keyof TModel>) => boolean;
13
- isPropertyValid: <K extends keyof TModel>(model: TModel, field: K) => Promise<ValidationPropertyResult>;
14
- isValid: (model: TModel, ...fields: Array<keyof TModel>) => Promise<ValidationResult<TModel>>;
15
- }
@@ -1,95 +0,0 @@
1
- import get from "lodash.get";
2
- import isEqual from "lodash.isequal";
3
- export class ValidationScope {
4
- constructor(originalModel) {
5
- this.useOriginal = (model) => {
6
- this.originalModel = structuredClone(model);
7
- return this;
8
- };
9
- this.useValidators = (key, ...validators) => {
10
- this.modelInfo[key] = {
11
- validators: validators,
12
- };
13
- return this;
14
- };
15
- this.isPropertyDirty = (model, field, key = null) => {
16
- const originalField = this.originalModel[field];
17
- const modelField = model[field];
18
- if (Array.isArray(originalField) && Array.isArray(modelField)) {
19
- if (originalField.length !== modelField.length)
20
- return true;
21
- for (let index = 0; index < originalField.length; index++) {
22
- if (originalField[index] === modelField[index])
23
- continue;
24
- if (key == null)
25
- return true;
26
- if (get(originalField[index], key) !== get(modelField[index], key))
27
- return true;
28
- }
29
- return false;
30
- }
31
- if (key == null)
32
- return !isEqual(this.originalModel[field], model[field]);
33
- return get(this.originalModel[field], key) !== get(model[field], key);
34
- };
35
- this.getOriginalProperty = (field) => {
36
- return this.originalModel[field];
37
- };
38
- this.isDirty = (model, ...fields) => {
39
- for (const property in this.originalModel) {
40
- if (!this.originalModel.hasOwnProperty(property))
41
- continue;
42
- if (fields && fields.length > 0) {
43
- if (!fields.some((x) => x === property))
44
- continue;
45
- }
46
- if (this.isPropertyDirty(model, property))
47
- return true;
48
- }
49
- return false;
50
- };
51
- this.isPropertyValid = async (model, field) => {
52
- if (this.modelInfo[field] &&
53
- this.modelInfo[field].validators &&
54
- this.modelInfo[field].validators) {
55
- let isValid = true;
56
- let errors = [];
57
- const value = model[field];
58
- for (const validator of this.modelInfo[field].validators) {
59
- const validatorResult = await validator.isValid(value, model, field);
60
- isValid = isValid && validatorResult.isValid;
61
- if (!validatorResult.isValid)
62
- errors = [...errors, ...validatorResult.errors];
63
- }
64
- return {
65
- isValid: isValid,
66
- errors: errors,
67
- };
68
- }
69
- return {
70
- isValid: true,
71
- errors: [],
72
- };
73
- };
74
- this.isValid = async (model, ...fields) => {
75
- model = model ?? {};
76
- const properties = (fields == null || fields.length === 0 ? Object.keys(model) : fields);
77
- const result = {
78
- isValid: true,
79
- errors: [],
80
- properties: {},
81
- };
82
- for (const property of properties) {
83
- const propertyValidationResult = await this.isPropertyValid(model, property);
84
- result.isValid = result.isValid && propertyValidationResult.isValid;
85
- result.properties[property] = propertyValidationResult;
86
- if (!propertyValidationResult.isValid)
87
- result.errors = [...result.errors, ...propertyValidationResult.errors];
88
- }
89
- return result;
90
- };
91
- this.originalModel = structuredClone(originalModel);
92
- this.modelInfo = {};
93
- }
94
- }
95
- //# sourceMappingURL=ValidationScope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValidationScope.js","sourceRoot":"","sources":["../src/ValidationScope.ts"],"names":[],"mappings":"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"}