thesimplevalidation 2.2.1 → 2.2.2
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.
- package/dist/Validation.d.ts +6 -1
- package/dist/Validation.js +12 -7
- package/dist/Validation.js.map +1 -1
- package/package.json +1 -1
package/dist/Validation.d.ts
CHANGED
|
@@ -5,7 +5,12 @@ export declare class Validation<TModel extends {}> {
|
|
|
5
5
|
private originalModel;
|
|
6
6
|
private modelInfo;
|
|
7
7
|
private isDisabled;
|
|
8
|
-
constructor(originalModel: TModel
|
|
8
|
+
constructor(originalModel: TModel, modelInfo: {
|
|
9
|
+
[K in keyof TModel]?: {
|
|
10
|
+
validators?: Array<Validator<TModel, K>>;
|
|
11
|
+
key?: string;
|
|
12
|
+
};
|
|
13
|
+
});
|
|
9
14
|
disable: () => Validation<TModel>;
|
|
10
15
|
enable: () => Validation<TModel>;
|
|
11
16
|
getisEnabled: () => boolean;
|
package/dist/Validation.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import get from "lodash.get";
|
|
2
2
|
import isEqual from "lodash.isequal";
|
|
3
3
|
export class Validation {
|
|
4
|
-
constructor(originalModel) {
|
|
4
|
+
constructor(originalModel, modelInfo) {
|
|
5
5
|
this.isDisabled = false;
|
|
6
6
|
this.disable = () => {
|
|
7
7
|
this.isDisabled = true;
|
|
@@ -19,11 +19,14 @@ export class Validation {
|
|
|
19
19
|
return this;
|
|
20
20
|
};
|
|
21
21
|
this.useNoValidators = () => {
|
|
22
|
-
this.modelInfo
|
|
22
|
+
for (const field in this.modelInfo) {
|
|
23
|
+
delete this.modelInfo[field]?.validators;
|
|
24
|
+
}
|
|
23
25
|
return this;
|
|
24
26
|
};
|
|
25
27
|
this.useValidators = (key, ...validators) => {
|
|
26
28
|
this.modelInfo[key] = {
|
|
29
|
+
...this.modelInfo[key],
|
|
27
30
|
validators: validators,
|
|
28
31
|
};
|
|
29
32
|
return this;
|
|
@@ -31,6 +34,7 @@ export class Validation {
|
|
|
31
34
|
this.isPropertyDirty = (model, field, key = null) => {
|
|
32
35
|
if (this.isDisabled === true)
|
|
33
36
|
return false;
|
|
37
|
+
const fieldKey = key ?? this.modelInfo[field]?.key ?? null;
|
|
34
38
|
const originalField = this.originalModel[field];
|
|
35
39
|
const modelField = model[field];
|
|
36
40
|
if (Array.isArray(originalField) && Array.isArray(modelField)) {
|
|
@@ -39,16 +43,17 @@ export class Validation {
|
|
|
39
43
|
for (let index = 0; index < originalField.length; index++) {
|
|
40
44
|
if (originalField[index] === modelField[index])
|
|
41
45
|
continue;
|
|
42
|
-
if (
|
|
46
|
+
if (fieldKey == null)
|
|
43
47
|
return true;
|
|
44
|
-
if (get(originalField[index],
|
|
48
|
+
if (get(originalField[index], fieldKey) !==
|
|
49
|
+
get(modelField[index], fieldKey))
|
|
45
50
|
return true;
|
|
46
51
|
}
|
|
47
52
|
return false;
|
|
48
53
|
}
|
|
49
|
-
if (
|
|
54
|
+
if (fieldKey == null)
|
|
50
55
|
return !isEqual(this.originalModel[field], model[field]);
|
|
51
|
-
return get(this.originalModel[field],
|
|
56
|
+
return (get(this.originalModel[field], fieldKey) !== get(model[field], fieldKey));
|
|
52
57
|
};
|
|
53
58
|
this.getOriginalProperty = (field) => {
|
|
54
59
|
return this.originalModel[field];
|
|
@@ -107,7 +112,7 @@ export class Validation {
|
|
|
107
112
|
return result;
|
|
108
113
|
};
|
|
109
114
|
this.originalModel = structuredClone(originalModel);
|
|
110
|
-
this.modelInfo =
|
|
115
|
+
this.modelInfo = modelInfo;
|
|
111
116
|
}
|
|
112
117
|
}
|
|
113
118
|
//# sourceMappingURL=Validation.js.map
|
package/dist/Validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAKrC,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"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"}
|