ejv 1.1.10 → 2.0.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.
Files changed (75) hide show
  1. package/.eslintrc.json +88 -0
  2. package/.mocharc.json +8 -0
  3. package/CHANGELOG.md +70 -29
  4. package/README-KR.md +6 -2
  5. package/README.md +6 -2
  6. package/build/{constants.js → cjs/constants.js} +117 -118
  7. package/build/cjs/constants.js.map +1 -0
  8. package/build/cjs/ejv.js +1263 -0
  9. package/build/cjs/ejv.js.map +1 -0
  10. package/build/{public_api.js → cjs/index.js} +14 -14
  11. package/build/cjs/index.js.map +1 -0
  12. package/build/cjs/interfaces.js +29 -0
  13. package/build/cjs/interfaces.js.map +1 -0
  14. package/build/cjs/package.json +1 -0
  15. package/build/{tester.js → cjs/tester.js} +273 -268
  16. package/build/cjs/tester.js.map +1 -0
  17. package/build/cjs/util.js +103 -0
  18. package/build/cjs/util.js.map +1 -0
  19. package/build/constants.d.ts +101 -104
  20. package/build/ejv.d.ts +2 -2
  21. package/build/esm/constants.js +115 -0
  22. package/build/esm/constants.js.map +1 -0
  23. package/build/esm/ejv.js +1261 -0
  24. package/build/esm/ejv.js.map +1 -0
  25. package/build/esm/index.js +4 -0
  26. package/build/esm/index.js.map +1 -0
  27. package/build/esm/interfaces.js +33 -0
  28. package/build/esm/interfaces.js.map +1 -0
  29. package/build/esm/package.json +1 -0
  30. package/build/esm/tester.js +240 -0
  31. package/build/esm/tester.js.map +1 -0
  32. package/build/esm/util.js +96 -0
  33. package/build/esm/util.js.map +1 -0
  34. package/build/index.d.ts +3 -0
  35. package/build/interfaces.d.ts +78 -38
  36. package/build/scripts/add-js-extensions.js +46 -0
  37. package/build/scripts/add-js-extensions.js.map +1 -0
  38. package/build/tester.d.ts +33 -34
  39. package/build/util.d.ts +7 -1
  40. package/package.json +48 -37
  41. package/scripts/add-js-extensions.ts +59 -0
  42. package/spec/ArrayScheme.ts +1021 -0
  43. package/spec/CommonScheme.ts +251 -0
  44. package/spec/DateScheme.ts +472 -0
  45. package/spec/NumberScheme.ts +1032 -0
  46. package/spec/ObjectScheme.ts +499 -0
  47. package/spec/RegExpScheme.ts +112 -0
  48. package/spec/StringScheme.ts +1239 -0
  49. package/spec/common-test-util.ts +63 -0
  50. package/spec/ejv.spec.ts +133 -4558
  51. package/spec/testers.spec.ts +17 -16
  52. package/src/constants.ts +41 -42
  53. package/src/ejv.ts +1141 -564
  54. package/src/index.ts +14 -0
  55. package/src/interfaces.ts +127 -41
  56. package/src/tester.ts +75 -69
  57. package/src/util.ts +106 -41
  58. package/tsconfig.cjs.json +8 -0
  59. package/tsconfig.esm.json +7 -0
  60. package/tsconfig.json +21 -18
  61. package/tsconfig.scripts.json +14 -0
  62. package/tsconfig.types.json +9 -0
  63. package/build/constants.js.map +0 -1
  64. package/build/ejv.js +0 -685
  65. package/build/ejv.js.map +0 -1
  66. package/build/interfaces.js +0 -15
  67. package/build/interfaces.js.map +0 -1
  68. package/build/public_api.d.ts +0 -3
  69. package/build/public_api.js.map +0 -1
  70. package/build/tester.js.map +0 -1
  71. package/build/util.js +0 -66
  72. package/build/util.js.map +0 -1
  73. package/spec/common-test-runner.ts +0 -17
  74. package/src/public_api.ts +0 -3
  75. package/tsconfig.spec.json +0 -19
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createErrorMsg = exports.sift = exports.clone = exports.isArray = void 0;
4
+ var CloneDataType;
5
+ (function (CloneDataType) {
6
+ CloneDataType["Boolean"] = "boolean";
7
+ CloneDataType["Number"] = "number";
8
+ CloneDataType["Function"] = "function";
9
+ CloneDataType["String"] = "string";
10
+ CloneDataType["Buffer"] = "buffer";
11
+ CloneDataType["Object"] = "object";
12
+ CloneDataType["Array"] = "array";
13
+ CloneDataType["Date"] = "date";
14
+ CloneDataType["RegExp"] = "regexp";
15
+ })(CloneDataType || (CloneDataType = {}));
16
+ const isArray = (value) => {
17
+ return value !== undefined
18
+ && value !== null
19
+ && Array.isArray(value);
20
+ };
21
+ exports.isArray = isArray;
22
+ // sanitize removes undefined & null fields from object. default false
23
+ const clone = (obj, sanitize) => {
24
+ let result;
25
+ if (obj) {
26
+ let type = typeof obj;
27
+ if (type === CloneDataType.Object) {
28
+ const objAsObject = obj;
29
+ if ((0, exports.isArray)(objAsObject)) {
30
+ type = CloneDataType.Array;
31
+ }
32
+ else if (objAsObject instanceof Date) {
33
+ type = CloneDataType.Date;
34
+ }
35
+ else if (objAsObject instanceof RegExp) {
36
+ type = CloneDataType.RegExp;
37
+ }
38
+ else if (objAsObject.byteLength
39
+ && typeof objAsObject.byteLength === 'function') {
40
+ type = CloneDataType.Buffer;
41
+ }
42
+ }
43
+ switch (type) {
44
+ case CloneDataType.Date: {
45
+ const objAsDate = obj;
46
+ result = new Date(objAsDate);
47
+ break;
48
+ }
49
+ case CloneDataType.Array: {
50
+ const objAsArray = obj;
51
+ result = objAsArray.map((one) => {
52
+ return (0, exports.clone)(one);
53
+ });
54
+ break;
55
+ }
56
+ case CloneDataType.Object: {
57
+ // sanitize default false
58
+ result = {};
59
+ const entries = Object.entries(obj)
60
+ .filter(([, value]) => {
61
+ return sanitize
62
+ ? value !== undefined && value !== null
63
+ : true;
64
+ });
65
+ for (const [key, value] of entries) {
66
+ // call recursively
67
+ result[key] = (0, exports.clone)(value, sanitize);
68
+ }
69
+ break;
70
+ }
71
+ default:
72
+ // simple copy
73
+ result = obj;
74
+ }
75
+ }
76
+ else {
77
+ result = obj; // do not copy null & undefined
78
+ }
79
+ return result;
80
+ };
81
+ exports.clone = clone;
82
+ const sift = (arr) => {
83
+ return arr.reduce((acc, cur) => {
84
+ if (cur !== null && cur !== undefined && !acc.includes(cur)) {
85
+ acc.push(cur);
86
+ }
87
+ return acc;
88
+ }, []);
89
+ };
90
+ exports.sift = sift;
91
+ const createErrorMsg = (errorMsg, param) => {
92
+ let result = errorMsg;
93
+ if (param === null || param === void 0 ? void 0 : param.placeholders) {
94
+ param.placeholders.forEach((strToReplace, i) => {
95
+ result = result.replace(`<<${i + 1}>>`, typeof strToReplace === 'string'
96
+ ? strToReplace
97
+ : '' + strToReplace);
98
+ });
99
+ }
100
+ return result;
101
+ };
102
+ exports.createErrorMsg = createErrorMsg;
103
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,104 +1,101 @@
1
- export declare enum DataType {
2
- BOOLEAN = "boolean",
3
- NUMBER = "number",
4
- STRING = "string",
5
- OBJECT = "object",
6
- DATE = "date",
7
- REGEXP = "regexp",
8
- ARRAY = "array"
9
- }
10
- export declare enum NumberFormat {
11
- INTEGER = "integer",
12
- INDEX = "index"
13
- }
14
- export declare enum StringFormat {
15
- EMAIL = "email",
16
- DATE = "date",
17
- DATE_TIME = "date-time",
18
- TIME = "time"
19
- }
20
- export declare const ErrorMsgCursorA: string;
21
- export declare enum ErrorType {
22
- REQUIRED = "REQUIRED",
23
- TYPE_MISMATCH = "TYPE_MISMATCH",
24
- TYPE_MISMATCH_ONE_OF = "TYPE_MISMATCH_ONE_OF",
25
- ONE_OF = "ONE_OF",
26
- NOT_ONE_OF = "NOT_ONE_OF",
27
- FORMAT = "FORMAT",
28
- FORMAT_ONE_OF = "FORMAT_ONE_OF",
29
- GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL",
30
- GREATER_THAN = "GREATER_THAN",
31
- SMALLER_THAN_OR_EQUAL = "SMALLER_THAN_OR_EQUAL",
32
- SMALLER_THAN = "SMALLER_THAN",
33
- LENGTH = "LENGTH",
34
- MIN_LENGTH = "MIN_LENGTH",
35
- MAX_LENGTH = "MAX_LENGTH",
36
- PATTERN = "PATTERN",
37
- PATTERN_ONE_OF = "PATTERN_ONE_OF",
38
- NO_PROPERTY = "NO_PROPERTY",
39
- AFTER_OR_SAME_DATE = "AFTER_OR_SAME_DATE",
40
- AFTER_DATE = "AFTER_DATE",
41
- BEFORE_OR_SAME_DATE = "BEFORE_OR_SAME_DATE",
42
- BEFORE_DATE = "BEFORE_DATE",
43
- UNIQUE_ITEMS = "UNIQUE_ITEMS",
44
- ITEMS_TYPE = "ITEMS_TYPE",
45
- ITEMS_SCHEMES = "ITEMS_SCHEMES"
46
- }
47
- export declare enum ErrorMsg {
48
- NO_DATA = "no data to validate",
49
- NO_SCHEME = "no scheme",
50
- NO_ARRAY_SCHEME = "schemes should be array",
51
- NO_OBJECT_ARRAY_SCHEME = "schemes should be array of object",
52
- EMPTY_SCHEME = "scheme should not be empty",
53
- SCHEMES_SHOULD_HAVE_TYPE = "scheme should have type",
54
- SCHEMES_HAS_INVALID_TYPE = "schemes has invalid type : <<A>>",
55
- SCHEMES_HAS_DUPLICATED_TYPE = "schemes has duplicated type : <<A>>",
56
- ENUM_SHOULD_BE_ARRAY = "enum should be array",
57
- ENUM_SHOULD_BE_NUMBERS = "enum values should be numbers",
58
- ENUM_SHOULD_BE_STRINGS = "enum values should be strings",
59
- ENUM_REVERSE_SHOULD_BE_ARRAY = "enumReverse should be array",
60
- ENUM_REVERSE_SHOULD_BE_NUMBERS = "enumReverse values should be numbers",
61
- ENUM_REVERSE_SHOULD_BE_STRINGS = "enumReverse values should be strings",
62
- MIN_SHOULD_BE_NUMBER = "min should be number",
63
- EXCLUSIVE_MIN_SHOULD_BE_BOOLEAN = "exclusiveMin should be a boolean",
64
- MAX_SHOULD_BE_NUMBER = "max should be number",
65
- EXCLUSIVE_MAX_SHOULD_BE_BOOLEAN = "exclusiveMax should be a boolean",
66
- INVALID_NUMBER_FORMAT = "invalid number format : <<A>>",
67
- INVALID_STRING_FORMAT = "invalid string format : <<A>>",
68
- INVALID_STRING_PATTERN = "invalid string pattern : <<A>>",
69
- LENGTH_SHOULD_BE_INTEGER = "length should be a integer",
70
- MIN_LENGTH_SHOULD_BE_INTEGER = "minLength should be a integer",
71
- MAX_LENGTH_SHOULD_BE_INTEGER = "maxLength should be a integer",
72
- PROPERTIES_SHOULD_BE_ARRAY = "properties should be array",
73
- PROPERTIES_SHOULD_HAVE_ITEMS = "properties should have items",
74
- PROPERTIES_SHOULD_BE_ARRAY_OF_OBJECT = "properties should be array of object",
75
- ALLOW_NO_PROPERTY_SHOULD_BE_BOOLEAN = "allowNoProperty should be a boolean",
76
- MIN_DATE_SHOULD_BE_DATE_OR_STRING = "min should be Date or string representing date",
77
- MAX_DATE_SHOULD_BE_DATE_OR_STRING = "max should be Date or string representing date",
78
- UNIQUE_SHOULD_BE_BOOLEAN = "unique should be a boolean",
79
- INVALID_ITEMS_SCHEME = "invalid schemes of array items : <<A>>",
80
- REQUIRED = "required",
81
- TYPE_MISMATCH = "the value should be a <<A>>",
82
- TYPE_MISMATCH_ONE_OF = "the value should be one of <<A>>",
83
- ONE_OF = "the value should be one of <<A>>",
84
- NOT_ONE_OF = "the value should be not one of <<A>>",
85
- FORMAT = "the value should be a form of <<A>>",
86
- FORMAT_ONE_OF = "the value should be form of one of <<A>>",
87
- GREATER_THAN_OR_EQUAL = "the value should be greater or equal than <<A>>",
88
- GREATER_THAN = "the value should be greater than <<A>>",
89
- SMALLER_THAN_OR_EQUAL = "the value should be smaller or equal than <<A>>",
90
- SMALLER_THAN = "the value should be smaller than <<A>>",
91
- LENGTH = "the value should be length of <<A>>",
92
- MIN_LENGTH = "the value should be longer than <<A>>",
93
- MAX_LENGTH = "the value should be shorter than <<A>>",
94
- PATTERN = "the value should be pattern of <<A>>",
95
- PATTERN_ONE_OF = "the value should be one of pattern of <<A>>",
96
- NO_PROPERTY = "the value should have property",
97
- AFTER_OR_SAME_DATE = "the value should be after or same date than <<A>>",
98
- AFTER_DATE = "the value should be after date than <<A>>",
99
- BEFORE_OR_SAME_DATE = "the value should be before or same date than <<A>>",
100
- BEFORE_DATE = "the value should be before date than <<A>>",
101
- UNIQUE_ITEMS = "the array should be unique items",
102
- ITEMS_TYPE = "the array should have items in type of <<A>>",
103
- ITEMS_SCHEMES = "the array should have items matched with schemes of <<A>>"
104
- }
1
+ export declare enum DataType {
2
+ BOOLEAN = "boolean",
3
+ NUMBER = "number",
4
+ STRING = "string",
5
+ OBJECT = "object",
6
+ DATE = "date",
7
+ REGEXP = "regexp",
8
+ ARRAY = "array"
9
+ }
10
+ export declare enum NumberFormat {
11
+ INTEGER = "integer",
12
+ INDEX = "index"
13
+ }
14
+ export declare enum StringFormat {
15
+ EMAIL = "email",
16
+ DATE = "date",
17
+ DATE_TIME = "date-time",
18
+ TIME = "time"
19
+ }
20
+ export declare enum ErrorType {
21
+ NO_DATA = "NO_DATA",
22
+ NO_SCHEME = "NO_SCHEME",
23
+ INVALID_SCHEMES = "INVALID_SCHEMES",
24
+ REQUIRED = "REQUIRED",
25
+ TYPE_MISMATCH = "TYPE_MISMATCH",
26
+ TYPE_MISMATCH_ONE_OF = "TYPE_MISMATCH_ONE_OF",
27
+ ONE_OF = "ONE_OF",
28
+ FORMAT = "FORMAT",
29
+ FORMAT_ONE_OF = "FORMAT_ONE_OF",
30
+ BIGGER_THAN_OR_EQUAL = "BIGGER_THAN_OR_EQUAL",
31
+ BIGGER_THAN = "BIGGER_THAN",
32
+ SMALLER_THAN_OR_EQUAL = "SMALLER_THAN_OR_EQUAL",
33
+ SMALLER_THAN = "SMALLER_THAN",
34
+ LENGTH = "LENGTH",
35
+ MIN_LENGTH = "MIN_LENGTH",
36
+ MAX_LENGTH = "MAX_LENGTH",
37
+ PATTERN = "PATTERN",
38
+ PATTERN_ONE_OF = "PATTERN_ONE_OF",
39
+ PROPERTY = "PROPERTY",
40
+ AFTER_OR_SAME_DATE = "AFTER_OR_SAME_DATE",
41
+ AFTER_DATE = "AFTER_DATE",
42
+ BEFORE_OR_SAME_DATE = "BEFORE_OR_SAME_DATE",
43
+ BEFORE_DATE = "BEFORE_DATE",
44
+ UNIQUE_ITEMS = "UNIQUE_ITEMS",
45
+ ITEMS_TYPE = "ITEMS_TYPE",
46
+ ITEMS_SCHEMES = "ITEMS_SCHEMES"
47
+ }
48
+ export declare enum ErrorMsg {
49
+ NO_DATA = "no data to validate",
50
+ NO_SCHEME = "no scheme",
51
+ NO_ARRAY_SCHEME = "schemes should be array",
52
+ NO_OBJECT_ARRAY_SCHEME = "schemes should be array of object",
53
+ EMPTY_SCHEME = "schemes should not be empty",
54
+ SCHEMES_SHOULD_HAVE_TYPE = "schemes should have type",
55
+ SCHEMES_HAS_INVALID_TYPE = "schemes has invalid type: <<1>>",
56
+ SCHEMES_HAS_DUPLICATED_TYPE = "schemes has duplicated type: <<1>>",
57
+ ENUM_SHOULD_BE_ARRAY = "enum should be array",
58
+ ENUM_SHOULD_BE_NUMBERS = "enum values should be numbers",
59
+ ENUM_SHOULD_BE_STRINGS = "enum values should be strings",
60
+ MIN_SHOULD_BE_NUMBER = "min should be number",
61
+ EXCLUSIVE_MIN_SHOULD_BE_BOOLEAN = "exclusiveMin should be a boolean",
62
+ MAX_SHOULD_BE_NUMBER = "max should be number",
63
+ EXCLUSIVE_MAX_SHOULD_BE_BOOLEAN = "exclusiveMax should be a boolean",
64
+ INVALID_NUMBER_FORMAT = "invalid number format: <<1>>",
65
+ INVALID_STRING_FORMAT = "invalid string format: <<1>>",
66
+ INVALID_STRING_PATTERN = "invalid string pattern: <<1>>",
67
+ LENGTH_SHOULD_BE_INTEGER = "length should be a integer",
68
+ MIN_LENGTH_SHOULD_BE_INTEGER = "minLength should be a integer",
69
+ MAX_LENGTH_SHOULD_BE_INTEGER = "maxLength should be a integer",
70
+ PROPERTIES_SHOULD_BE_ARRAY = "properties should be array",
71
+ PROPERTIES_SHOULD_HAVE_ITEMS = "properties should have items",
72
+ PROPERTIES_SHOULD_BE_ARRAY_OF_OBJECT = "properties should be array of object",
73
+ ALLOW_NO_PROPERTY_SHOULD_BE_BOOLEAN = "allowNoProperty should be a boolean",
74
+ MIN_DATE_SHOULD_BE_DATE_OR_STRING = "min should be Date or string representing date",
75
+ MAX_DATE_SHOULD_BE_DATE_OR_STRING = "max should be Date or string representing date",
76
+ UNIQUE_SHOULD_BE_BOOLEAN = "unique should be a boolean",
77
+ INVALID_ITEMS_SCHEME = "invalid schemes of array items: <<1>>",
78
+ REQUIRED = "value is required",
79
+ TYPE_MISMATCH = "the value should be a <<1>>",
80
+ TYPE_MISMATCH_ONE_OF = "the value should be type of <<1>>",
81
+ ONE_VALUE_OF = "the value should be one of <<1>>",// enum
82
+ FORMAT = "the value should be a form of <<1>>",// format
83
+ FORMAT_ONE_OF = "the value should be form of one of <<1>>",
84
+ BIGGER_THAN_OR_EQUAL = "the value should be bigger or equal than <<1>>",// min
85
+ BIGGER_THAN = "the value should be bigger than <<1>>",// min
86
+ SMALLER_THAN_OR_EQUAL = "the value should be smaller or equal than <<1>>",// max
87
+ SMALLER_THAN = "the value should be smaller than <<1>>",// max
88
+ LENGTH = "the value should be length of <<1>>",// length
89
+ MIN_LENGTH = "the value should be longer than <<1>>",// minLength
90
+ MAX_LENGTH = "the value should be shorter than <<1>>",// maxLength
91
+ PATTERN = "the value should be pattern of <<1>>",// pattern
92
+ PATTERN_ONE_OF = "the value should be one of pattern of <<1>>",// pattern
93
+ PROPERTY = "the value should have property",
94
+ AFTER_OR_SAME_DATE = "the value should be after or same date than <<1>>",// date
95
+ AFTER_DATE = "the value should be after date than <<1>>",// date
96
+ BEFORE_OR_SAME_DATE = "the value should be before or same date than <<1>>",// date
97
+ BEFORE_DATE = "the value should be before date than <<1>>",// date
98
+ UNIQUE_ITEMS = "the array should be unique items",
99
+ ITEMS_TYPE = "the array should have items in type of <<1>>",
100
+ ITEMS_SCHEMES = "the array should have items matched with schemes of <<1>>"
101
+ }
package/build/ejv.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { EjvError, Options, Scheme } from './interfaces';
2
- export declare const ejv: (data: object, schemes: Scheme[], options?: Options | undefined) => null | EjvError;
1
+ import { EjvError, Options, Scheme } from './interfaces';
2
+ export declare const ejv: (data: object, schemes: Scheme[], options?: Options) => null | EjvError;
@@ -0,0 +1,115 @@
1
+ export var DataType;
2
+ (function (DataType) {
3
+ DataType["BOOLEAN"] = "boolean";
4
+ DataType["NUMBER"] = "number";
5
+ DataType["STRING"] = "string";
6
+ DataType["OBJECT"] = "object";
7
+ DataType["DATE"] = "date";
8
+ DataType["REGEXP"] = "regexp";
9
+ DataType["ARRAY"] = "array";
10
+ })(DataType || (DataType = {}));
11
+ export var NumberFormat;
12
+ (function (NumberFormat) {
13
+ NumberFormat["INTEGER"] = "integer";
14
+ NumberFormat["INDEX"] = "index";
15
+ })(NumberFormat || (NumberFormat = {}));
16
+ export var StringFormat;
17
+ (function (StringFormat) {
18
+ StringFormat["EMAIL"] = "email";
19
+ StringFormat["DATE"] = "date";
20
+ StringFormat["DATE_TIME"] = "date-time";
21
+ StringFormat["TIME"] = "time";
22
+ // URL = 'url',
23
+ // IP = 'ip', // ipv4 || ipv6
24
+ // IPV4 = 'ipv4',
25
+ // IPV6 = 'ipv6'
26
+ })(StringFormat || (StringFormat = {}));
27
+ export var ErrorType;
28
+ (function (ErrorType) {
29
+ // about ejv() running
30
+ ErrorType["NO_DATA"] = "NO_DATA";
31
+ ErrorType["NO_SCHEME"] = "NO_SCHEME";
32
+ ErrorType["INVALID_SCHEMES"] = "INVALID_SCHEMES";
33
+ // not match with scheme
34
+ ErrorType["REQUIRED"] = "REQUIRED";
35
+ ErrorType["TYPE_MISMATCH"] = "TYPE_MISMATCH";
36
+ ErrorType["TYPE_MISMATCH_ONE_OF"] = "TYPE_MISMATCH_ONE_OF";
37
+ ErrorType["ONE_OF"] = "ONE_OF";
38
+ ErrorType["FORMAT"] = "FORMAT";
39
+ ErrorType["FORMAT_ONE_OF"] = "FORMAT_ONE_OF";
40
+ ErrorType["BIGGER_THAN_OR_EQUAL"] = "BIGGER_THAN_OR_EQUAL";
41
+ ErrorType["BIGGER_THAN"] = "BIGGER_THAN";
42
+ ErrorType["SMALLER_THAN_OR_EQUAL"] = "SMALLER_THAN_OR_EQUAL";
43
+ ErrorType["SMALLER_THAN"] = "SMALLER_THAN";
44
+ ErrorType["LENGTH"] = "LENGTH";
45
+ ErrorType["MIN_LENGTH"] = "MIN_LENGTH";
46
+ ErrorType["MAX_LENGTH"] = "MAX_LENGTH";
47
+ ErrorType["PATTERN"] = "PATTERN";
48
+ ErrorType["PATTERN_ONE_OF"] = "PATTERN_ONE_OF";
49
+ ErrorType["PROPERTY"] = "PROPERTY";
50
+ ErrorType["AFTER_OR_SAME_DATE"] = "AFTER_OR_SAME_DATE";
51
+ ErrorType["AFTER_DATE"] = "AFTER_DATE";
52
+ ErrorType["BEFORE_OR_SAME_DATE"] = "BEFORE_OR_SAME_DATE";
53
+ ErrorType["BEFORE_DATE"] = "BEFORE_DATE";
54
+ ErrorType["UNIQUE_ITEMS"] = "UNIQUE_ITEMS";
55
+ ErrorType["ITEMS_TYPE"] = "ITEMS_TYPE";
56
+ ErrorType["ITEMS_SCHEMES"] = "ITEMS_SCHEMES";
57
+ })(ErrorType || (ErrorType = {}));
58
+ export var ErrorMsg;
59
+ (function (ErrorMsg) {
60
+ // about Error
61
+ ErrorMsg["NO_DATA"] = "no data to validate";
62
+ ErrorMsg["NO_SCHEME"] = "no scheme";
63
+ ErrorMsg["NO_ARRAY_SCHEME"] = "schemes should be array";
64
+ ErrorMsg["NO_OBJECT_ARRAY_SCHEME"] = "schemes should be array of object";
65
+ ErrorMsg["EMPTY_SCHEME"] = "schemes should not be empty";
66
+ ErrorMsg["SCHEMES_SHOULD_HAVE_TYPE"] = "schemes should have type";
67
+ ErrorMsg["SCHEMES_HAS_INVALID_TYPE"] = "schemes has invalid type: <<1>>";
68
+ ErrorMsg["SCHEMES_HAS_DUPLICATED_TYPE"] = "schemes has duplicated type: <<1>>";
69
+ ErrorMsg["ENUM_SHOULD_BE_ARRAY"] = "enum should be array";
70
+ ErrorMsg["ENUM_SHOULD_BE_NUMBERS"] = "enum values should be numbers";
71
+ ErrorMsg["ENUM_SHOULD_BE_STRINGS"] = "enum values should be strings";
72
+ ErrorMsg["MIN_SHOULD_BE_NUMBER"] = "min should be number";
73
+ ErrorMsg["EXCLUSIVE_MIN_SHOULD_BE_BOOLEAN"] = "exclusiveMin should be a boolean";
74
+ ErrorMsg["MAX_SHOULD_BE_NUMBER"] = "max should be number";
75
+ ErrorMsg["EXCLUSIVE_MAX_SHOULD_BE_BOOLEAN"] = "exclusiveMax should be a boolean";
76
+ ErrorMsg["INVALID_NUMBER_FORMAT"] = "invalid number format: <<1>>";
77
+ ErrorMsg["INVALID_STRING_FORMAT"] = "invalid string format: <<1>>";
78
+ ErrorMsg["INVALID_STRING_PATTERN"] = "invalid string pattern: <<1>>";
79
+ ErrorMsg["LENGTH_SHOULD_BE_INTEGER"] = "length should be a integer";
80
+ ErrorMsg["MIN_LENGTH_SHOULD_BE_INTEGER"] = "minLength should be a integer";
81
+ ErrorMsg["MAX_LENGTH_SHOULD_BE_INTEGER"] = "maxLength should be a integer";
82
+ ErrorMsg["PROPERTIES_SHOULD_BE_ARRAY"] = "properties should be array";
83
+ ErrorMsg["PROPERTIES_SHOULD_HAVE_ITEMS"] = "properties should have items";
84
+ ErrorMsg["PROPERTIES_SHOULD_BE_ARRAY_OF_OBJECT"] = "properties should be array of object";
85
+ ErrorMsg["ALLOW_NO_PROPERTY_SHOULD_BE_BOOLEAN"] = "allowNoProperty should be a boolean";
86
+ ErrorMsg["MIN_DATE_SHOULD_BE_DATE_OR_STRING"] = "min should be Date or string representing date";
87
+ ErrorMsg["MAX_DATE_SHOULD_BE_DATE_OR_STRING"] = "max should be Date or string representing date";
88
+ ErrorMsg["UNIQUE_SHOULD_BE_BOOLEAN"] = "unique should be a boolean";
89
+ ErrorMsg["INVALID_ITEMS_SCHEME"] = "invalid schemes of array items: <<1>>";
90
+ // about EjvError
91
+ ErrorMsg["REQUIRED"] = "value is required";
92
+ ErrorMsg["TYPE_MISMATCH"] = "the value should be a <<1>>";
93
+ ErrorMsg["TYPE_MISMATCH_ONE_OF"] = "the value should be type of <<1>>";
94
+ ErrorMsg["ONE_VALUE_OF"] = "the value should be one of <<1>>";
95
+ ErrorMsg["FORMAT"] = "the value should be a form of <<1>>";
96
+ ErrorMsg["FORMAT_ONE_OF"] = "the value should be form of one of <<1>>";
97
+ ErrorMsg["BIGGER_THAN_OR_EQUAL"] = "the value should be bigger or equal than <<1>>";
98
+ ErrorMsg["BIGGER_THAN"] = "the value should be bigger than <<1>>";
99
+ ErrorMsg["SMALLER_THAN_OR_EQUAL"] = "the value should be smaller or equal than <<1>>";
100
+ ErrorMsg["SMALLER_THAN"] = "the value should be smaller than <<1>>";
101
+ ErrorMsg["LENGTH"] = "the value should be length of <<1>>";
102
+ ErrorMsg["MIN_LENGTH"] = "the value should be longer than <<1>>";
103
+ ErrorMsg["MAX_LENGTH"] = "the value should be shorter than <<1>>";
104
+ ErrorMsg["PATTERN"] = "the value should be pattern of <<1>>";
105
+ ErrorMsg["PATTERN_ONE_OF"] = "the value should be one of pattern of <<1>>";
106
+ ErrorMsg["PROPERTY"] = "the value should have property";
107
+ ErrorMsg["AFTER_OR_SAME_DATE"] = "the value should be after or same date than <<1>>";
108
+ ErrorMsg["AFTER_DATE"] = "the value should be after date than <<1>>";
109
+ ErrorMsg["BEFORE_OR_SAME_DATE"] = "the value should be before or same date than <<1>>";
110
+ ErrorMsg["BEFORE_DATE"] = "the value should be before date than <<1>>";
111
+ ErrorMsg["UNIQUE_ITEMS"] = "the array should be unique items";
112
+ ErrorMsg["ITEMS_TYPE"] = "the array should have items in type of <<1>>";
113
+ ErrorMsg["ITEMS_SCHEMES"] = "the array should have items matched with schemes of <<1>>";
114
+ })(ErrorMsg || (ErrorMsg = {}));
115
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}