@platecms/delta-validation 0.4.1 → 0.7.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.
- package/package.json +5 -6
- package/src/lib/enums/rule-types.enum.ts +10 -0
- package/src/lib/errors/invalid-validation-arguments.error.ts +1 -0
- package/src/lib/errors/invalid-validation-rule-settings.error.ts +1 -0
- package/src/lib/errors/validation-error-details.ts +15 -0
- package/src/lib/errors/validation.error.ts +18 -0
- package/src/lib/helpers/deserialize-validation-rule.ts +94 -0
- package/src/lib/helpers/rule-to-schema.spec.ts +254 -0
- package/src/lib/helpers/rule-to-schema.ts +95 -0
- package/src/lib/helpers/schema-builder.spec.ts +52 -0
- package/src/lib/helpers/schema-builder.ts +28 -0
- package/src/lib/helpers/validate-with-function.spec.ts +264 -0
- package/src/lib/helpers/validate-with-function.ts +45 -0
- package/src/lib/schemas/array.schema.spec.ts +127 -0
- package/src/lib/schemas/array.schema.ts +104 -0
- package/src/lib/schemas/base.schema.spec.ts +168 -0
- package/src/lib/schemas/base.schema.ts +150 -0
- package/src/lib/schemas/content-value.schema.spec.ts +133 -0
- package/src/lib/schemas/content-value.schema.ts +61 -0
- package/src/lib/schemas/date.schema.spec.ts +144 -0
- package/src/lib/schemas/date.schema.ts +82 -0
- package/src/lib/schemas/number.schema.spec.ts +232 -0
- package/src/lib/schemas/number.schema.ts +123 -0
- package/src/lib/schemas/string.schema.spec.ts +135 -0
- package/src/lib/schemas/string.schema.ts +73 -0
- package/src/lib/test-utils/setup-files.ts +1 -0
- package/src/lib/test-utils/validation-result-matcher.ts +71 -0
- package/src/lib/types/{existing-content-validation-rules-settings.type.d.ts → existing-content-validation-rules-settings.type.ts} +10 -1
- package/src/lib/types/{existing-content-validation-rules.type.d.ts → existing-content-validation-rules.type.ts} +10 -1
- package/src/lib/types/{existing-validation-schemas.type.d.ts → existing-validation-schemas.type.ts} +7 -1
- package/src/lib/types/rule-instance.interface.ts +9 -0
- package/src/lib/types/{validation-context.interface.d.ts → validation-context.interface.ts} +3 -2
- package/src/lib/types/{validation-error-data.interface.d.ts → validation-error-data.interface.ts} +5 -4
- package/src/lib/types/{validation-result.interface.d.ts → validation-result.interface.ts} +3 -2
- package/src/lib/types/validation-schema.interface.ts +15 -0
- package/src/lib/validation-rules/allowed-values.validation-rule.spec.ts +57 -0
- package/src/lib/validation-rules/allowed-values.validation-rule.ts +53 -0
- package/src/lib/validation-rules/base.validation-rule.ts +35 -0
- package/src/lib/validation-rules/count.validation-rule.spec.ts +67 -0
- package/src/lib/validation-rules/count.validation-rule.ts +60 -0
- package/src/lib/validation-rules/date-between.validation-rule.spec.ts +77 -0
- package/src/lib/validation-rules/date-between.validation-rule.ts +54 -0
- package/src/lib/validation-rules/decimal-count.validation-rule.spec.ts +46 -0
- package/src/lib/validation-rules/decimal-count.validation-rule.ts +52 -0
- package/src/lib/validation-rules/number-between.validation-rule.spec.ts +77 -0
- package/src/lib/validation-rules/number-between.validation-rule.ts +58 -0
- package/src/lib/validation-rules/relatable-content-types.validation-rule.spec.ts +35 -0
- package/src/lib/validation-rules/relatable-content-types.validation-rule.ts +61 -0
- package/src/lib/validation-rules/string-format.validation-rule.spec.ts +43 -0
- package/src/lib/validation-rules/string-format.validation-rule.ts +50 -0
- package/src/lib/validation-rules/validation-rule-function.factory.ts +23 -0
- package/src/lib/validation-rules/value-type.validation-rule.spec.ts +108 -0
- package/src/lib/validation-rules/value-type.validation-rule.ts +76 -0
- package/src/index.js +0 -23
- package/src/index.js.map +0 -1
- package/src/lib/enums/rule-types.enum.d.ts +0 -10
- package/src/lib/enums/rule-types.enum.js +0 -15
- package/src/lib/enums/rule-types.enum.js.map +0 -1
- package/src/lib/errors/invalid-validation-arguments.error.d.ts +0 -2
- package/src/lib/errors/invalid-validation-arguments.error.js +0 -7
- package/src/lib/errors/invalid-validation-arguments.error.js.map +0 -1
- package/src/lib/errors/invalid-validation-rule-settings.error.d.ts +0 -2
- package/src/lib/errors/invalid-validation-rule-settings.error.js +0 -7
- package/src/lib/errors/invalid-validation-rule-settings.error.js.map +0 -1
- package/src/lib/errors/validation-error-details.d.ts +0 -6
- package/src/lib/errors/validation-error-details.js +0 -18
- package/src/lib/errors/validation-error-details.js.map +0 -1
- package/src/lib/errors/validation.error.d.ts +0 -8
- package/src/lib/errors/validation.error.js +0 -13
- package/src/lib/errors/validation.error.js.map +0 -1
- package/src/lib/helpers/deserialize-validation-rule.d.ts +0 -2
- package/src/lib/helpers/deserialize-validation-rule.js +0 -42
- package/src/lib/helpers/deserialize-validation-rule.js.map +0 -1
- package/src/lib/helpers/rule-to-schema.d.ts +0 -4
- package/src/lib/helpers/rule-to-schema.js +0 -65
- package/src/lib/helpers/rule-to-schema.js.map +0 -1
- package/src/lib/helpers/schema-builder.d.ts +0 -12
- package/src/lib/helpers/schema-builder.js +0 -27
- package/src/lib/helpers/schema-builder.js.map +0 -1
- package/src/lib/helpers/validate-with-function.d.ts +0 -4
- package/src/lib/helpers/validate-with-function.js +0 -31
- package/src/lib/helpers/validate-with-function.js.map +0 -1
- package/src/lib/schemas/array.schema.d.ts +0 -17
- package/src/lib/schemas/array.schema.js +0 -84
- package/src/lib/schemas/array.schema.js.map +0 -1
- package/src/lib/schemas/base.schema.d.ts +0 -20
- package/src/lib/schemas/base.schema.js +0 -95
- package/src/lib/schemas/base.schema.js.map +0 -1
- package/src/lib/schemas/content-value.schema.d.ts +0 -15
- package/src/lib/schemas/content-value.schema.js +0 -42
- package/src/lib/schemas/content-value.schema.js.map +0 -1
- package/src/lib/schemas/date.schema.d.ts +0 -13
- package/src/lib/schemas/date.schema.js +0 -62
- package/src/lib/schemas/date.schema.js.map +0 -1
- package/src/lib/schemas/number.schema.d.ts +0 -16
- package/src/lib/schemas/number.schema.js +0 -84
- package/src/lib/schemas/number.schema.js.map +0 -1
- package/src/lib/schemas/string.schema.d.ts +0 -11
- package/src/lib/schemas/string.schema.js +0 -56
- package/src/lib/schemas/string.schema.js.map +0 -1
- package/src/lib/types/existing-content-validation-rules-settings.type.js +0 -3
- package/src/lib/types/existing-content-validation-rules-settings.type.js.map +0 -1
- package/src/lib/types/existing-content-validation-rules.type.js +0 -3
- package/src/lib/types/existing-content-validation-rules.type.js.map +0 -1
- package/src/lib/types/existing-validation-schemas.type.js +0 -3
- package/src/lib/types/existing-validation-schemas.type.js.map +0 -1
- package/src/lib/types/rule-instance.interface.d.ts +0 -6
- package/src/lib/types/rule-instance.interface.js +0 -3
- package/src/lib/types/rule-instance.interface.js.map +0 -1
- package/src/lib/types/validation-context.interface.js +0 -3
- package/src/lib/types/validation-context.interface.js.map +0 -1
- package/src/lib/types/validation-error-data.interface.js +0 -3
- package/src/lib/types/validation-error-data.interface.js.map +0 -1
- package/src/lib/types/validation-result.interface.js +0 -3
- package/src/lib/types/validation-result.interface.js.map +0 -1
- package/src/lib/types/validation-schema.interface.d.ts +0 -7
- package/src/lib/types/validation-schema.interface.js +0 -3
- package/src/lib/types/validation-schema.interface.js.map +0 -1
- package/src/lib/validation-rules/allowed-values.validation-rule.d.ts +0 -13
- package/src/lib/validation-rules/allowed-values.validation-rule.js +0 -36
- package/src/lib/validation-rules/allowed-values.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/base.validation-rule.d.ts +0 -13
- package/src/lib/validation-rules/base.validation-rule.js +0 -14
- package/src/lib/validation-rules/base.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/count.validation-rule.d.ts +0 -16
- package/src/lib/validation-rules/count.validation-rule.js +0 -36
- package/src/lib/validation-rules/count.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/date-between.validation-rule.d.ts +0 -16
- package/src/lib/validation-rules/date-between.validation-rule.js +0 -36
- package/src/lib/validation-rules/date-between.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/decimal-count.validation-rule.d.ts +0 -13
- package/src/lib/validation-rules/decimal-count.validation-rule.js +0 -37
- package/src/lib/validation-rules/decimal-count.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/number-between.validation-rule.d.ts +0 -16
- package/src/lib/validation-rules/number-between.validation-rule.js +0 -37
- package/src/lib/validation-rules/number-between.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/relatable-content-types.validation-rule.d.ts +0 -13
- package/src/lib/validation-rules/relatable-content-types.validation-rule.js +0 -37
- package/src/lib/validation-rules/relatable-content-types.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/string-format.validation-rule.d.ts +0 -13
- package/src/lib/validation-rules/string-format.validation-rule.js +0 -35
- package/src/lib/validation-rules/string-format.validation-rule.js.map +0 -1
- package/src/lib/validation-rules/validation-rule-function.factory.d.ts +0 -4
- package/src/lib/validation-rules/validation-rule-function.factory.js +0 -9
- package/src/lib/validation-rules/validation-rule-function.factory.js.map +0 -1
- package/src/lib/validation-rules/value-type.validation-rule.d.ts +0 -13
- package/src/lib/validation-rules/value-type.validation-rule.js +0 -53
- package/src/lib/validation-rules/value-type.validation-rule.js.map +0 -1
- /package/src/{index.d.ts → index.ts} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InvalidValidationRuleSettingsError = void 0;
|
|
4
|
-
class InvalidValidationRuleSettingsError extends Error {
|
|
5
|
-
}
|
|
6
|
-
exports.InvalidValidationRuleSettingsError = InvalidValidationRuleSettingsError;
|
|
7
|
-
//# sourceMappingURL=invalid-validation-rule-settings.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-validation-rule-settings.error.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/errors/invalid-validation-rule-settings.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,kCAAmC,SAAQ,KAAK;CAAG;AAAhE,gFAAgE"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { RuleInstance } from "../types/rule-instance.interface";
|
|
2
|
-
export declare class ValidationErrorDetails<TRuleInstance extends RuleInstance<unknown>> {
|
|
3
|
-
readonly message: string;
|
|
4
|
-
readonly validationRule: TRuleInstance;
|
|
5
|
-
constructor(message: string, validationRule: TRuleInstance);
|
|
6
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationErrorDetails = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const class_transformer_1 = require("class-transformer");
|
|
6
|
-
const deserialize_validation_rule_1 = require("../helpers/deserialize-validation-rule");
|
|
7
|
-
class ValidationErrorDetails {
|
|
8
|
-
constructor(message, validationRule) {
|
|
9
|
-
this.message = message;
|
|
10
|
-
this.validationRule = validationRule;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ValidationErrorDetails = ValidationErrorDetails;
|
|
14
|
-
tslib_1.__decorate([
|
|
15
|
-
(0, class_transformer_1.Transform)((validationRule) => (0, deserialize_validation_rule_1.deserializeValidationRule)(validationRule)),
|
|
16
|
-
tslib_1.__metadata("design:type", Object)
|
|
17
|
-
], ValidationErrorDetails.prototype, "validationRule", void 0);
|
|
18
|
-
//# sourceMappingURL=validation-error-details.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation-error-details.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/errors/validation-error-details.ts"],"names":[],"mappings":";;;;AAAA,yDAA8C;AAC9C,wFAAmF;AAGnF,MAAa,sBAAsB;IAMjC,YAAmB,OAAe,EAAE,cAA6B;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF;AAVD,wDAUC;AANiB;IADf,IAAA,6BAAS,EAAC,CAAC,cAAuB,EAAE,EAAE,CAAC,IAAA,uDAAyB,EAAC,cAAc,CAAC,CAAC;;8DACpC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RuleInstance } from "../types/rule-instance.interface";
|
|
2
|
-
import { ValidationErrorData } from "../types/validation-error-data.interface";
|
|
3
|
-
export declare class ValidationError<TSettings extends object = object> extends Error implements ValidationErrorData<TSettings> {
|
|
4
|
-
readonly path: string[];
|
|
5
|
-
readonly validationRule: RuleInstance<TSettings>;
|
|
6
|
-
readonly provided: unknown;
|
|
7
|
-
constructor(path: string[], message: string, validationRule: RuleInstance<TSettings>, provided: unknown);
|
|
8
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationError = void 0;
|
|
4
|
-
class ValidationError extends Error {
|
|
5
|
-
constructor(path, message, validationRule, provided) {
|
|
6
|
-
super(message);
|
|
7
|
-
this.path = path;
|
|
8
|
-
this.validationRule = validationRule;
|
|
9
|
-
this.provided = provided;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.ValidationError = ValidationError;
|
|
13
|
-
//# sourceMappingURL=validation.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.error.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/errors/validation.error.ts"],"names":[],"mappings":";;;AAGA,MAAa,eACX,SAAQ,KAAK;IAOb,YAAmB,IAAc,EAAE,OAAe,EAAE,cAAuC,EAAE,QAAiB;QAC5G,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAdD,0CAcC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deserializeValidationRule = deserializeValidationRule;
|
|
4
|
-
const rule_types_enum_1 = require("../enums/rule-types.enum");
|
|
5
|
-
const allowed_values_validation_rule_1 = require("../validation-rules/allowed-values.validation-rule");
|
|
6
|
-
const count_validation_rule_1 = require("../validation-rules/count.validation-rule");
|
|
7
|
-
const date_between_validation_rule_1 = require("../validation-rules/date-between.validation-rule");
|
|
8
|
-
const decimal_count_validation_rule_1 = require("../validation-rules/decimal-count.validation-rule");
|
|
9
|
-
const number_between_validation_rule_1 = require("../validation-rules/number-between.validation-rule");
|
|
10
|
-
const relatable_content_types_validation_rule_1 = require("../validation-rules/relatable-content-types.validation-rule");
|
|
11
|
-
const string_format_validation_rule_1 = require("../validation-rules/string-format.validation-rule");
|
|
12
|
-
const value_type_validation_rule_1 = require("../validation-rules/value-type.validation-rule");
|
|
13
|
-
function deserializeValidationRule(input) {
|
|
14
|
-
if (typeof input !== "object" || input == null) {
|
|
15
|
-
throw new Error(`The input is not an object or is null. Input: '${JSON.stringify(input)}'`);
|
|
16
|
-
}
|
|
17
|
-
if (input["value"] == null) {
|
|
18
|
-
throw new Error(`The input does not contain a 'value' property. Input: '${JSON.stringify(input)}'`);
|
|
19
|
-
}
|
|
20
|
-
const rawValidationRule = input["value"];
|
|
21
|
-
switch (rawValidationRule.ruleType) {
|
|
22
|
-
case rule_types_enum_1.RuleType.ALLOWED_VALUES:
|
|
23
|
-
return new allowed_values_validation_rule_1.AllowedValuesValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
24
|
-
case rule_types_enum_1.RuleType.COUNT:
|
|
25
|
-
return new count_validation_rule_1.CountValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
26
|
-
case rule_types_enum_1.RuleType.DATE_BETWEEN:
|
|
27
|
-
return new date_between_validation_rule_1.DateBetweenValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
28
|
-
case rule_types_enum_1.RuleType.DECIMAL_COUNT:
|
|
29
|
-
return new decimal_count_validation_rule_1.DecimalCountValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
30
|
-
case rule_types_enum_1.RuleType.NUMBER_BETWEEN:
|
|
31
|
-
return new number_between_validation_rule_1.NumberBetweenValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
32
|
-
case rule_types_enum_1.RuleType.RELATABLE_CONTENT_TYPES:
|
|
33
|
-
return new relatable_content_types_validation_rule_1.RelatableContentTypesValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
34
|
-
case rule_types_enum_1.RuleType.STRING_FORMAT:
|
|
35
|
-
return new string_format_validation_rule_1.StringFormatValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
36
|
-
case rule_types_enum_1.RuleType.VALUE_TYPE:
|
|
37
|
-
return new value_type_validation_rule_1.ValueTypeValidationRule(rawValidationRule.prn, rawValidationRule.settings);
|
|
38
|
-
default:
|
|
39
|
-
throw new Error(`Unknown validation rule type: ${rawValidationRule.ruleType}. Rule: ${JSON.stringify(rawValidationRule)}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=deserialize-validation-rule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize-validation-rule.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/helpers/deserialize-validation-rule.ts"],"names":[],"mappings":";;AAoCA,8DAyDC;AA3FD,8DAAoD;AACpD,uGAG4D;AAC5D,qFAA6G;AAC7G,mGAG0D;AAC1D,qGAG2D;AAC3D,uGAG4D;AAC5D,yHAGqE;AACrE,qGAG2D;AAC3D,+FAGwD;AAKxD,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,KAAK,CAAC,OAAuB,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IAGD,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAuB,CAAmC,CAAC;IAE3F,QAAQ,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,0BAAQ,CAAC,cAAc;YAC1B,OAAO,IAAI,4DAA2B,CACpC,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA+C,CAClE,CAAC;QACJ,KAAK,0BAAQ,CAAC,KAAK;YACjB,OAAO,IAAI,2CAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,CAAC,QAAuC,CAAC,CAAC;QACnH,KAAK,0BAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,wDAAyB,CAClC,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA6C,CAChE,CAAC;QACJ,KAAK,0BAAQ,CAAC,aAAa;YACzB,OAAO,IAAI,0DAA0B,CACnC,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA8C,CACjE,CAAC;QACJ,KAAK,0BAAQ,CAAC,cAAc;YAC1B,OAAO,IAAI,4DAA2B,CACpC,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA+C,CAClE,CAAC;QACJ,KAAK,0BAAQ,CAAC,uBAAuB;YACnC,OAAO,IAAI,6EAAmC,CAC5C,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA4D,CAC/E,CAAC;QACJ,KAAK,0BAAQ,CAAC,aAAa;YACzB,OAAO,IAAI,0DAA0B,CACnC,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA8C,CACjE,CAAC;QACJ,KAAK,0BAAQ,CAAC,UAAU;YACtB,OAAO,IAAI,oDAAuB,CAChC,iBAAiB,CAAC,GAAG,EACrB,iBAAiB,CAAC,QAA2C,CAC9D,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CACb,iCACE,iBAAiB,CAAC,QACpB,WAAW,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAC/C,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ContentValueType } from "@platecms/delta-types";
|
|
2
|
-
import { RuleInstance } from "../types/rule-instance.interface";
|
|
3
|
-
import { ArrayValidationSchema } from "../schemas/array.schema";
|
|
4
|
-
export declare function ruleToSchema(ruleInstance: RuleInstance<unknown>): ArrayValidationSchema<ContentValueType>;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ruleToSchema = ruleToSchema;
|
|
4
|
-
const rule_types_enum_1 = require("../enums/rule-types.enum");
|
|
5
|
-
const array_schema_1 = require("../schemas/array.schema");
|
|
6
|
-
const content_value_schema_1 = require("../schemas/content-value.schema");
|
|
7
|
-
const string_schema_1 = require("../schemas/string.schema");
|
|
8
|
-
const number_schema_1 = require("../schemas/number.schema");
|
|
9
|
-
const date_schema_1 = require("../schemas/date.schema");
|
|
10
|
-
function ruleToSchema(ruleInstance) {
|
|
11
|
-
switch (ruleInstance.ruleType) {
|
|
12
|
-
case rule_types_enum_1.RuleType.ALLOWED_VALUES: {
|
|
13
|
-
const settings = ruleInstance.settings;
|
|
14
|
-
return new array_schema_1.ArrayValidationSchema().of(new content_value_schema_1.ContentValueValidationSchema(ruleInstance).allowedValues(settings.allowedValues));
|
|
15
|
-
}
|
|
16
|
-
case rule_types_enum_1.RuleType.COUNT: {
|
|
17
|
-
const countSettings = ruleInstance.settings;
|
|
18
|
-
return new array_schema_1.ArrayValidationSchema(ruleInstance)
|
|
19
|
-
.min(countSettings.min ?? 0)
|
|
20
|
-
.max(countSettings.max ?? 0);
|
|
21
|
-
}
|
|
22
|
-
case rule_types_enum_1.RuleType.STRING_FORMAT: {
|
|
23
|
-
const formatSettings = ruleInstance.settings;
|
|
24
|
-
return new array_schema_1.ArrayValidationSchema().of(new string_schema_1.StringValidationSchema(ruleInstance).format(formatSettings.allowedFormat));
|
|
25
|
-
}
|
|
26
|
-
case rule_types_enum_1.RuleType.NUMBER_BETWEEN: {
|
|
27
|
-
const numberSettings = ruleInstance.settings;
|
|
28
|
-
const numberSchema = new number_schema_1.NumberValidationSchema(ruleInstance);
|
|
29
|
-
if (numberSettings.min !== undefined) {
|
|
30
|
-
numberSchema.min(numberSettings.min);
|
|
31
|
-
}
|
|
32
|
-
if (numberSettings.max !== undefined) {
|
|
33
|
-
numberSchema.max(numberSettings.max);
|
|
34
|
-
}
|
|
35
|
-
return new array_schema_1.ArrayValidationSchema().of(numberSchema);
|
|
36
|
-
}
|
|
37
|
-
case rule_types_enum_1.RuleType.DATE_BETWEEN: {
|
|
38
|
-
const dateSettings = ruleInstance.settings;
|
|
39
|
-
const dateSchema = new date_schema_1.DateValidationSchema(ruleInstance);
|
|
40
|
-
if (dateSettings.start) {
|
|
41
|
-
dateSchema.start(dateSettings.start);
|
|
42
|
-
}
|
|
43
|
-
if (dateSettings.end) {
|
|
44
|
-
dateSchema.end(dateSettings.end);
|
|
45
|
-
}
|
|
46
|
-
return new array_schema_1.ArrayValidationSchema().of(dateSchema);
|
|
47
|
-
}
|
|
48
|
-
case rule_types_enum_1.RuleType.DECIMAL_COUNT: {
|
|
49
|
-
const decimalSettings = ruleInstance.settings;
|
|
50
|
-
return new array_schema_1.ArrayValidationSchema().of(new number_schema_1.NumberValidationSchema(ruleInstance).maxDecimals(decimalSettings.max));
|
|
51
|
-
}
|
|
52
|
-
case rule_types_enum_1.RuleType.VALUE_TYPE: {
|
|
53
|
-
const valueTypeSettings = ruleInstance.settings;
|
|
54
|
-
return new array_schema_1.ArrayValidationSchema().of(new content_value_schema_1.ContentValueValidationSchema(ruleInstance).allowedValueTypes(valueTypeSettings.allowedTypes));
|
|
55
|
-
}
|
|
56
|
-
case rule_types_enum_1.RuleType.RELATABLE_CONTENT_TYPES: {
|
|
57
|
-
const relatableSettings = ruleInstance.settings;
|
|
58
|
-
return new array_schema_1.ArrayValidationSchema().of(new content_value_schema_1.ContentValueValidationSchema(ruleInstance).allowedContentTypes(relatableSettings.allowedContentTypes));
|
|
59
|
-
}
|
|
60
|
-
default: {
|
|
61
|
-
return new array_schema_1.ArrayValidationSchema();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=rule-to-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule-to-schema.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/helpers/rule-to-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ArrayValidationSchema } from "../schemas/array.schema";
|
|
2
|
-
import { ContentValueValidationSchema } from "../schemas/content-value.schema";
|
|
3
|
-
import { DateValidationSchema } from "../schemas/date.schema";
|
|
4
|
-
import { NumberValidationSchema } from "../schemas/number.schema";
|
|
5
|
-
import { StringValidationSchema } from "../schemas/string.schema";
|
|
6
|
-
export declare class SchemaBuilder {
|
|
7
|
-
static string(): StringValidationSchema;
|
|
8
|
-
static number(): NumberValidationSchema;
|
|
9
|
-
static date(): DateValidationSchema;
|
|
10
|
-
static array<T>(): ArrayValidationSchema<T>;
|
|
11
|
-
static contentValue(): ContentValueValidationSchema;
|
|
12
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SchemaBuilder = void 0;
|
|
4
|
-
const array_schema_1 = require("../schemas/array.schema");
|
|
5
|
-
const content_value_schema_1 = require("../schemas/content-value.schema");
|
|
6
|
-
const date_schema_1 = require("../schemas/date.schema");
|
|
7
|
-
const number_schema_1 = require("../schemas/number.schema");
|
|
8
|
-
const string_schema_1 = require("../schemas/string.schema");
|
|
9
|
-
class SchemaBuilder {
|
|
10
|
-
static string() {
|
|
11
|
-
return new string_schema_1.StringValidationSchema();
|
|
12
|
-
}
|
|
13
|
-
static number() {
|
|
14
|
-
return new number_schema_1.NumberValidationSchema();
|
|
15
|
-
}
|
|
16
|
-
static date() {
|
|
17
|
-
return new date_schema_1.DateValidationSchema();
|
|
18
|
-
}
|
|
19
|
-
static array() {
|
|
20
|
-
return new array_schema_1.ArrayValidationSchema();
|
|
21
|
-
}
|
|
22
|
-
static contentValue() {
|
|
23
|
-
return new content_value_schema_1.ContentValueValidationSchema();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.SchemaBuilder = SchemaBuilder;
|
|
27
|
-
//# sourceMappingURL=schema-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/helpers/schema-builder.ts"],"names":[],"mappings":";;;AAAA,0DAAgE;AAChE,0EAA+E;AAC/E,wDAA8D;AAC9D,4DAAkE;AAClE,4DAAkE;AAGlE,MAAa,aAAa;IACjB,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,sCAAsB,EAAE,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,sCAAsB,EAAE,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,IAAI;QAChB,OAAO,IAAI,kCAAoB,EAAE,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,oCAAqB,EAAK,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,YAAY;QACxB,OAAO,IAAI,mDAA4B,EAAE,CAAC;IAC5C,CAAC;CACF;AApBD,sCAoBC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { RuleInstance } from "../types/rule-instance.interface";
|
|
2
|
-
import { ValidationErrorData } from "../types/validation-error-data.interface";
|
|
3
|
-
import { ContentValidationResultType } from "../validation-rules/base.validation-rule";
|
|
4
|
-
export declare function validateWithFunction<TSettings extends object, TType>(valueOrValues: TType, validationRule: RuleInstance<TSettings>, path: string[], fallbackErrorMessage: string, validationFunction: (input: TType, validationRule: RuleInstance<TSettings>) => ContentValidationResultType): ValidationErrorData<TSettings> | null;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateWithFunction = validateWithFunction;
|
|
4
|
-
const validation_error_details_1 = require("../errors/validation-error-details");
|
|
5
|
-
function validateWithFunctionInternal(value, validationRule, path, fallbackErrorMessage, validationFunction) {
|
|
6
|
-
let validationResult;
|
|
7
|
-
try {
|
|
8
|
-
validationResult = validationFunction(value, validationRule);
|
|
9
|
-
}
|
|
10
|
-
catch (error) {
|
|
11
|
-
return {
|
|
12
|
-
path,
|
|
13
|
-
message: error instanceof Error ? error.message : fallbackErrorMessage,
|
|
14
|
-
provided: value,
|
|
15
|
-
validationRule,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
if (validationResult === true || validationResult === null) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
return {
|
|
22
|
-
path,
|
|
23
|
-
message: validationResult instanceof validation_error_details_1.ValidationErrorDetails ? validationResult.message : fallbackErrorMessage,
|
|
24
|
-
provided: value,
|
|
25
|
-
validationRule,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function validateWithFunction(valueOrValues, validationRule, path, fallbackErrorMessage, validationFunction) {
|
|
29
|
-
return validateWithFunctionInternal(valueOrValues, validationRule, path, fallbackErrorMessage, validationFunction);
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=validate-with-function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-with-function.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/helpers/validate-with-function.ts"],"names":[],"mappings":";;AAoCA,oDAQC;AA5CD,iFAA4E;AAK5E,SAAS,4BAA4B,CACnC,KAAa,EACb,cAAuC,EACvC,IAAc,EACd,oBAA4B,EAC5B,kBAA2G;IAE3G,IAAI,gBAA6C,CAAC;IAClD,IAAI,CAAC;QACH,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB;YACtE,QAAQ,EAAE,KAAK;YACf,cAAc;SACf,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,gBAAgB,YAAY,iDAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB;QAC7G,QAAQ,EAAE,KAAK;QACf,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAClC,aAAoB,EACpB,cAAuC,EACvC,IAAc,EACd,oBAA4B,EAC5B,kBAA0G;IAE1G,OAAO,4BAA4B,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;AACrH,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ValidationContext } from "../types/validation-context.interface";
|
|
2
|
-
import { ValidationErrorData } from "../types/validation-error-data.interface";
|
|
3
|
-
import { ValidationSchema } from "../types/validation-schema.interface";
|
|
4
|
-
import { BaseValidationSchema } from "./base.schema";
|
|
5
|
-
export declare class ArrayValidationSchema<T> extends BaseValidationSchema<T[], ArrayValidationSchema<T>> {
|
|
6
|
-
readonly type = "array";
|
|
7
|
-
private _itemSchema?;
|
|
8
|
-
private _min?;
|
|
9
|
-
private _max?;
|
|
10
|
-
of(itemSchema: ValidationSchema<T>): this;
|
|
11
|
-
min(min: number): this;
|
|
12
|
-
max(max: number): this;
|
|
13
|
-
protected _typeCheck(value: unknown, path: string[]): ValidationErrorData[];
|
|
14
|
-
protected _validateAgainstSchema(value: T[], context?: ValidationContext): ValidationErrorData[];
|
|
15
|
-
private _validateCount;
|
|
16
|
-
private _validateItems;
|
|
17
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArrayValidationSchema = void 0;
|
|
4
|
-
const rule_types_enum_1 = require("../enums/rule-types.enum");
|
|
5
|
-
const validate_with_function_1 = require("../helpers/validate-with-function");
|
|
6
|
-
const count_validation_rule_1 = require("../validation-rules/count.validation-rule");
|
|
7
|
-
const base_schema_1 = require("./base.schema");
|
|
8
|
-
class ArrayValidationSchema extends base_schema_1.BaseValidationSchema {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.type = "array";
|
|
12
|
-
}
|
|
13
|
-
of(itemSchema) {
|
|
14
|
-
this._itemSchema = itemSchema;
|
|
15
|
-
return this;
|
|
16
|
-
}
|
|
17
|
-
min(min) {
|
|
18
|
-
this._min = min;
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
max(max) {
|
|
22
|
-
this._max = max;
|
|
23
|
-
return this;
|
|
24
|
-
}
|
|
25
|
-
_typeCheck(value, path) {
|
|
26
|
-
if (!Array.isArray(value)) {
|
|
27
|
-
return [
|
|
28
|
-
{
|
|
29
|
-
path,
|
|
30
|
-
message: this._message ?? "Value must be an array",
|
|
31
|
-
provided: value,
|
|
32
|
-
validationRule: {
|
|
33
|
-
ruleType: rule_types_enum_1.RuleType.COUNT,
|
|
34
|
-
settings: {
|
|
35
|
-
min: this._min,
|
|
36
|
-
max: this._max,
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
];
|
|
41
|
-
}
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
_validateAgainstSchema(value, context = {}) {
|
|
45
|
-
const errors = [];
|
|
46
|
-
const itemsCountError = this._validateCount(value, context.path ?? []);
|
|
47
|
-
if (itemsCountError) {
|
|
48
|
-
errors.push(itemsCountError);
|
|
49
|
-
}
|
|
50
|
-
errors.push(...this._validateItems(value, context));
|
|
51
|
-
return errors;
|
|
52
|
-
}
|
|
53
|
-
_validateCount(value, path) {
|
|
54
|
-
if (this._min === undefined && this._max === undefined && this._validationRule === undefined) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
const validationRule = this._validationRule ?? {
|
|
58
|
-
ruleType: rule_types_enum_1.RuleType.COUNT,
|
|
59
|
-
settings: {
|
|
60
|
-
min: this._min,
|
|
61
|
-
max: this._max,
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
return (0, validate_with_function_1.validateWithFunction)(value, validationRule, path, this._message ?? "Array count validation failed", count_validation_rule_1.validateValuesCount);
|
|
65
|
-
}
|
|
66
|
-
_validateItems(value, context) {
|
|
67
|
-
if (this._itemSchema === undefined) {
|
|
68
|
-
return [];
|
|
69
|
-
}
|
|
70
|
-
const errors = [];
|
|
71
|
-
for (let i = 0; i < value.length; i++) {
|
|
72
|
-
const itemValidationResult = this._itemSchema.validate(value[i], {
|
|
73
|
-
...context,
|
|
74
|
-
path: [...(context.path ?? []), i.toString()],
|
|
75
|
-
});
|
|
76
|
-
if (!itemValidationResult.isValid) {
|
|
77
|
-
errors.push(...itemValidationResult.errors);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return errors;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.ArrayValidationSchema = ArrayValidationSchema;
|
|
84
|
-
//# sourceMappingURL=array.schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.schema.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/schemas/array.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { RuleInstance } from "../types/rule-instance.interface";
|
|
2
|
-
import { ValidationContext } from "../types/validation-context.interface";
|
|
3
|
-
import { ValidationErrorData } from "../types/validation-error-data.interface";
|
|
4
|
-
import { ValidationResult } from "../types/validation-result.interface";
|
|
5
|
-
import { SchemaType, ValidationSchema } from "../types/validation-schema.interface";
|
|
6
|
-
export declare abstract class BaseValidationSchema<TType, TSelf extends BaseValidationSchema<TType, TSelf>> implements ValidationSchema<TType> {
|
|
7
|
-
protected _required?: boolean;
|
|
8
|
-
protected _message?: string;
|
|
9
|
-
protected _validationRule?: RuleInstance<unknown>;
|
|
10
|
-
protected _allowedValues?: unknown[];
|
|
11
|
-
abstract readonly type: SchemaType;
|
|
12
|
-
constructor(validationRule?: RuleInstance<unknown>);
|
|
13
|
-
required(required: boolean): TSelf;
|
|
14
|
-
message(msg: string): TSelf;
|
|
15
|
-
allowedValues(values: unknown[]): TSelf;
|
|
16
|
-
validate(value: TType, context?: ValidationContext): ValidationResult;
|
|
17
|
-
private _validateAllowedValues;
|
|
18
|
-
protected abstract _typeCheck(value: TType, path: string[]): ValidationErrorData[];
|
|
19
|
-
protected abstract _validateAgainstSchema(value: TType, context: ValidationContext): ValidationErrorData[];
|
|
20
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseValidationSchema = void 0;
|
|
4
|
-
const rule_types_enum_1 = require("../enums/rule-types.enum");
|
|
5
|
-
const validate_with_function_1 = require("../helpers/validate-with-function");
|
|
6
|
-
const allowed_values_validation_rule_1 = require("../validation-rules/allowed-values.validation-rule");
|
|
7
|
-
class BaseValidationSchema {
|
|
8
|
-
constructor(validationRule) {
|
|
9
|
-
if (validationRule) {
|
|
10
|
-
this._validationRule = {
|
|
11
|
-
id: validationRule.id,
|
|
12
|
-
ruleType: validationRule.ruleType,
|
|
13
|
-
settings: validationRule.settings,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
required(required) {
|
|
18
|
-
this._required = required;
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
message(msg) {
|
|
22
|
-
this._message = msg;
|
|
23
|
-
return this;
|
|
24
|
-
}
|
|
25
|
-
allowedValues(values) {
|
|
26
|
-
this._allowedValues = values;
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
validate(value, context = {}) {
|
|
30
|
-
const errors = [];
|
|
31
|
-
const path = context?.path ?? [];
|
|
32
|
-
const isRequired = this._required ?? false;
|
|
33
|
-
if (isRequired && (value === undefined || value === null)) {
|
|
34
|
-
return {
|
|
35
|
-
isValid: false,
|
|
36
|
-
errors: [
|
|
37
|
-
{
|
|
38
|
-
path,
|
|
39
|
-
message: this._message ?? "Value is required",
|
|
40
|
-
provided: value,
|
|
41
|
-
validationRule: {
|
|
42
|
-
ruleType: rule_types_enum_1.RuleType.COUNT,
|
|
43
|
-
settings: {
|
|
44
|
-
min: 1,
|
|
45
|
-
max: 1,
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
if (!isRequired && (value === undefined || value === null)) {
|
|
53
|
-
return {
|
|
54
|
-
isValid: true,
|
|
55
|
-
errors: [],
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
errors.push(...this._typeCheck(value, path));
|
|
59
|
-
if (errors.length > 0) {
|
|
60
|
-
return {
|
|
61
|
-
isValid: false,
|
|
62
|
-
errors,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
errors.push(...this._validateAgainstSchema(value, context));
|
|
66
|
-
if (errors.length > 0) {
|
|
67
|
-
return {
|
|
68
|
-
isValid: false,
|
|
69
|
-
errors,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
const allowedValuesError = this._validateAllowedValues(value, path);
|
|
73
|
-
if (allowedValuesError) {
|
|
74
|
-
errors.push(allowedValuesError);
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
isValid: errors.length === 0,
|
|
78
|
-
errors,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
_validateAllowedValues(value, path) {
|
|
82
|
-
if (this._allowedValues === undefined) {
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
const validationRule = this._validationRule ?? {
|
|
86
|
-
ruleType: rule_types_enum_1.RuleType.ALLOWED_VALUES,
|
|
87
|
-
settings: {
|
|
88
|
-
allowedValues: this._allowedValues,
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
return (0, validate_with_function_1.validateWithFunction)(value, validationRule, path, this._message ?? "Value is not in allowed values list", allowed_values_validation_rule_1.validateValueAllowedValues);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.BaseValidationSchema = BaseValidationSchema;
|
|
95
|
-
//# sourceMappingURL=base.schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.schema.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/schemas/base.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PRN } from "@platecms/delta-plate-resource-notation";
|
|
2
|
-
import { ContentValueType, ContentValueTypeName } from "@platecms/delta-types";
|
|
3
|
-
import { ValidationContext } from "../types/validation-context.interface";
|
|
4
|
-
import { ValidationErrorData } from "../types/validation-error-data.interface";
|
|
5
|
-
import { BaseValidationSchema } from "./base.schema";
|
|
6
|
-
export declare class ContentValueValidationSchema extends BaseValidationSchema<ContentValueType, ContentValueValidationSchema> {
|
|
7
|
-
readonly type = "content-value";
|
|
8
|
-
private _allowedValueTypes?;
|
|
9
|
-
private _allowedContentTypes?;
|
|
10
|
-
allowedContentTypes(types: PRN[]): this;
|
|
11
|
-
allowedValueTypes(types: ContentValueTypeName<ContentValueType>[]): this;
|
|
12
|
-
protected _typeCheck(value: unknown, path: string[]): ValidationErrorData[];
|
|
13
|
-
protected _validateAgainstSchema(_value: ContentValueType, _context?: ValidationContext): ValidationErrorData[];
|
|
14
|
-
private _validateAllowedValueTypes;
|
|
15
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContentValueValidationSchema = void 0;
|
|
4
|
-
const rule_types_enum_1 = require("../enums/rule-types.enum");
|
|
5
|
-
const validate_with_function_1 = require("../helpers/validate-with-function");
|
|
6
|
-
const value_type_validation_rule_1 = require("../validation-rules/value-type.validation-rule");
|
|
7
|
-
const base_schema_1 = require("./base.schema");
|
|
8
|
-
class ContentValueValidationSchema extends base_schema_1.BaseValidationSchema {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.type = "content-value";
|
|
12
|
-
}
|
|
13
|
-
allowedContentTypes(types) {
|
|
14
|
-
this._allowedContentTypes = types;
|
|
15
|
-
return this;
|
|
16
|
-
}
|
|
17
|
-
allowedValueTypes(types) {
|
|
18
|
-
this._allowedValueTypes = types;
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
_typeCheck(value, path) {
|
|
22
|
-
const allowedValueTypesError = this._validateAllowedValueTypes(value, path);
|
|
23
|
-
return allowedValueTypesError ? [allowedValueTypesError] : [];
|
|
24
|
-
}
|
|
25
|
-
_validateAgainstSchema(_value, _context = {}) {
|
|
26
|
-
return [];
|
|
27
|
-
}
|
|
28
|
-
_validateAllowedValueTypes(value, path) {
|
|
29
|
-
if (this._allowedValueTypes === undefined) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const validationRule = this._validationRule ?? {
|
|
33
|
-
ruleType: rule_types_enum_1.RuleType.VALUE_TYPE,
|
|
34
|
-
settings: {
|
|
35
|
-
allowedTypes: this._allowedValueTypes,
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
return (0, validate_with_function_1.validateWithFunction)(value, validationRule, path, this._message ?? "Value type validation failed", value_type_validation_rule_1.validateValueValueType);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.ContentValueValidationSchema = ContentValueValidationSchema;
|
|
42
|
-
//# sourceMappingURL=content-value.schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-value.schema.js","sourceRoot":"","sources":["../../../../../../../packages/validation/src/lib/schemas/content-value.schema.ts"],"names":[],"mappings":";;;AAEA,8DAAoD;AACpD,8EAAyE;AAIzE,+FAGwD;AACxD,+CAAqD;AAErD,MAAa,4BAA6B,SAAQ,kCAAoE;IAAtH;;QACkB,SAAI,GAAG,eAAe,CAAC;IA8CzC,CAAC;IA1CQ,mBAAmB,CAAC,KAAY;QACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,KAA+C;QACtE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,UAAU,CAAC,KAAc,EAAE,IAAc;QACjD,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAyB,EAAE,IAAI,CAAC,CAAC;QAChG,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAES,sBAAsB,CAAC,MAAwB,EAAE,WAA8B,EAAE;QACzF,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,0BAA0B,CAChC,KAAuB,EACvB,IAAc;QAEd,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI;YAC7C,QAAQ,EAAE,0BAAQ,CAAC,UAAU;YAC7B,QAAQ,EAAE;gBACR,YAAY,EAAE,IAAI,CAAC,kBAAkB;aACtC;SACF,CAAC;QAEF,OAAO,IAAA,6CAAoB,EACzB,KAAK,EACL,cAA+D,EAC/D,IAAI,EACJ,IAAI,CAAC,QAAQ,IAAI,8BAA8B,EAC/C,mDAAsB,CACvB,CAAC;IACJ,CAAC;CACF;AA/CD,oEA+CC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ValidationContext } from "../types/validation-context.interface";
|
|
2
|
-
import { ValidationErrorData } from "../types/validation-error-data.interface";
|
|
3
|
-
import { BaseValidationSchema } from "./base.schema";
|
|
4
|
-
export declare class DateValidationSchema extends BaseValidationSchema<Date, DateValidationSchema> {
|
|
5
|
-
readonly type = "date";
|
|
6
|
-
private _start?;
|
|
7
|
-
private _end?;
|
|
8
|
-
start(start: Date): this;
|
|
9
|
-
end(end: Date): this;
|
|
10
|
-
protected _typeCheck(value: unknown, path: string[]): ValidationErrorData[];
|
|
11
|
-
protected _validateAgainstSchema(value: Date, context?: ValidationContext): ValidationErrorData[];
|
|
12
|
-
private _validateDateBetween;
|
|
13
|
-
}
|