ejv 2.1.0 → 2.1.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.
Files changed (62) hide show
  1. package/.mocharc.json +8 -8
  2. package/CHANGELOG.md +134 -127
  3. package/README-KR.md +597 -597
  4. package/README.md +603 -603
  5. package/build/cjs/constants.js +124 -0
  6. package/build/cjs/constants.js.map +1 -0
  7. package/build/cjs/ejv.js +1341 -0
  8. package/build/cjs/ejv.js.map +1 -0
  9. package/build/cjs/index.js +14 -0
  10. package/build/cjs/index.js.map +1 -0
  11. package/build/cjs/interfaces.js +29 -0
  12. package/build/cjs/interfaces.js.map +1 -0
  13. package/build/cjs/package.json +1 -0
  14. package/build/cjs/tester.js +288 -0
  15. package/build/cjs/tester.js.map +1 -0
  16. package/build/cjs/util.js +103 -0
  17. package/build/cjs/util.js.map +1 -0
  18. package/build/constants.d.ts +107 -0
  19. package/build/ejv.d.ts +2 -0
  20. package/build/esm/constants.js +121 -0
  21. package/build/esm/constants.js.map +1 -0
  22. package/build/esm/ejv.js +1339 -0
  23. package/build/esm/ejv.js.map +1 -0
  24. package/build/esm/index.js +4 -0
  25. package/build/esm/index.js.map +1 -0
  26. package/build/esm/interfaces.js +33 -0
  27. package/build/esm/interfaces.js.map +1 -0
  28. package/build/esm/package.json +1 -0
  29. package/build/esm/tester.js +252 -0
  30. package/build/esm/tester.js.map +1 -0
  31. package/build/esm/util.js +96 -0
  32. package/build/esm/util.js.map +1 -0
  33. package/build/index.d.ts +3 -0
  34. package/build/interfaces.d.ts +77 -0
  35. package/build/scripts/add-js-extensions.js +46 -0
  36. package/build/scripts/add-js-extensions.js.map +1 -0
  37. package/build/tester.d.ts +35 -0
  38. package/build/util.d.ts +7 -0
  39. package/eslint.config.mjs +66 -59
  40. package/package.json +54 -55
  41. package/scripts/add-js-extensions.ts +59 -59
  42. package/spec/ArrayScheme.ts +1021 -1021
  43. package/spec/CommonScheme.ts +251 -251
  44. package/spec/DateScheme.ts +472 -472
  45. package/spec/NumberScheme.ts +1160 -1160
  46. package/spec/ObjectScheme.ts +499 -499
  47. package/spec/RegExpScheme.ts +112 -112
  48. package/spec/StringScheme.ts +1407 -1336
  49. package/spec/common-test-util.ts +63 -63
  50. package/spec/ejv.spec.ts +235 -235
  51. package/spec/testers.spec.ts +833 -833
  52. package/src/constants.ts +164 -162
  53. package/src/ejv.ts +1751 -1746
  54. package/src/index.ts +14 -14
  55. package/src/interfaces.ts +144 -144
  56. package/src/tester.ts +323 -312
  57. package/src/util.ts +124 -124
  58. package/tsconfig.cjs.json +8 -8
  59. package/tsconfig.esm.json +7 -7
  60. package/tsconfig.json +19 -18
  61. package/tsconfig.scripts.json +14 -14
  62. package/tsconfig.types.json +9 -9
package/src/constants.ts CHANGED
@@ -1,162 +1,164 @@
1
- export enum DATA_TYPE {
2
- BOOLEAN = 'boolean',
3
- NUMBER = 'number',
4
- STRING = 'string',
5
- OBJECT = 'object',
6
- DATE = 'date',
7
- REGEXP = 'regexp',
8
- ARRAY = 'array'
9
- }
10
-
11
- export enum NUMBER_FORMAT {
12
- INTEGER = 'integer',
13
- INDEX = 'index'
14
- }
15
-
16
- export enum STRING_FORMAT {
17
- EMAIL = 'email',
18
-
19
- DATE = 'date',
20
- DATE_TIME = 'date-time',
21
- TIME = 'time',
22
-
23
- // URL = 'url',
24
-
25
- // IP = 'ip', // ipv4 || ipv6
26
- // IPV4 = 'ipv4',
27
- // IPV6 = 'ipv6'
28
- }
29
-
30
- export enum ERROR_TYPE {
31
- // about ejv() running
32
- NO_DATA = 'NO_DATA',
33
-
34
- NO_SCHEME = 'NO_SCHEME',
35
- INVALID_SCHEMES = 'INVALID_SCHEMES',
36
-
37
- // not match with scheme
38
- REQUIRED = 'REQUIRED',
39
-
40
- TYPE_MISMATCH = 'TYPE_MISMATCH',
41
- TYPE_MISMATCH_ONE_OF = 'TYPE_MISMATCH_ONE_OF',
42
-
43
- ONE_VALUE_OF = 'ONE_VALUE_OF',
44
- NOT_ONE_VALUE_OF = 'NOT_ONE_VALUE_OF',
45
-
46
- FORMAT = 'FORMAT',
47
- FORMAT_ONE_OF = 'FORMAT_ONE_OF',
48
-
49
- BIGGER_THAN_OR_EQUAL = 'BIGGER_THAN_OR_EQUAL',
50
- BIGGER_THAN = 'BIGGER_THAN',
51
-
52
- SMALLER_THAN_OR_EQUAL = 'SMALLER_THAN_OR_EQUAL',
53
- SMALLER_THAN = 'SMALLER_THAN',
54
-
55
- LENGTH = 'LENGTH',
56
- MIN_LENGTH = 'MIN_LENGTH',
57
- MAX_LENGTH = 'MAX_LENGTH',
58
-
59
- PATTERN = 'PATTERN',
60
- PATTERN_ONE_OF = 'PATTERN_ONE_OF',
61
-
62
- PROPERTY = 'PROPERTY',
63
-
64
- AFTER_OR_SAME_DATE = 'AFTER_OR_SAME_DATE',
65
- AFTER_DATE = 'AFTER_DATE',
66
-
67
- BEFORE_OR_SAME_DATE = 'BEFORE_OR_SAME_DATE',
68
- BEFORE_DATE = 'BEFORE_DATE',
69
-
70
- UNIQUE_ITEMS = 'UNIQUE_ITEMS',
71
-
72
- ITEMS_TYPE = 'ITEMS_TYPE',
73
- ITEMS_SCHEMES = 'ITEMS_SCHEMES'
74
- }
75
-
76
- export enum ERROR_MESSAGE {
77
- // about Error
78
- NO_DATA = 'no data to validate',
79
-
80
- NO_SCHEME = 'no scheme',
81
- NO_ARRAY_SCHEME = 'schemes should be array',
82
- NO_OBJECT_ARRAY_SCHEME = 'schemes should be array of object',
83
-
84
- EMPTY_SCHEME = 'schemes should not be empty',
85
- SCHEMES_SHOULD_HAVE_TYPE = 'schemes should have type',
86
- SCHEMES_HAS_INVALID_TYPE = 'schemes has invalid type: <<1>>',
87
- SCHEMES_HAS_DUPLICATED_TYPE = 'schemes has duplicated type: <<1>>',
88
-
89
- ENUM_SHOULD_BE_ARRAY = 'enum should be array',
90
- ENUM_SHOULD_BE_NUMBERS = 'enum values should be numbers',
91
- ENUM_SHOULD_BE_STRINGS = 'enum values should be strings',
92
-
93
- NOT_ENUM_SHOULD_BE_ARRAY = 'notEnum should be array',
94
- NOT_ENUM_SHOULD_BE_NUMBERS = 'notEnum values should be numbers',
95
- NOT_ENUM_SHOULD_BE_STRINGS = 'notEnum values should be strings',
96
-
97
- MIN_SHOULD_BE_NUMBER = 'min should be number',
98
- EXCLUSIVE_MIN_SHOULD_BE_BOOLEAN = 'exclusiveMin should be a boolean',
99
-
100
- MAX_SHOULD_BE_NUMBER = 'max should be number',
101
- EXCLUSIVE_MAX_SHOULD_BE_BOOLEAN = 'exclusiveMax should be a boolean',
102
-
103
- INVALID_NUMBER_FORMAT = 'invalid number format: <<1>>',
104
- INVALID_STRING_FORMAT = 'invalid string format: <<1>>',
105
- INVALID_STRING_PATTERN = 'invalid string pattern: <<1>>',
106
-
107
- LENGTH_SHOULD_BE_INTEGER = 'length should be a integer',
108
- MIN_LENGTH_SHOULD_BE_INTEGER = 'minLength should be a integer',
109
- MAX_LENGTH_SHOULD_BE_INTEGER = 'maxLength should be a integer',
110
-
111
- PROPERTIES_SHOULD_BE_ARRAY = 'properties should be array',
112
- PROPERTIES_SHOULD_HAVE_ITEMS = 'properties should have items',
113
- PROPERTIES_SHOULD_BE_ARRAY_OF_OBJECT = 'properties should be array of object',
114
-
115
- ALLOW_NO_PROPERTY_SHOULD_BE_BOOLEAN = 'allowNoProperty should be a boolean',
116
-
117
- MIN_DATE_SHOULD_BE_DATE_OR_STRING = 'min should be Date or string representing date',
118
- MAX_DATE_SHOULD_BE_DATE_OR_STRING = 'max should be Date or string representing date',
119
-
120
- UNIQUE_SHOULD_BE_BOOLEAN = 'unique should be a boolean',
121
-
122
- INVALID_ITEMS_SCHEME = 'invalid schemes of array items: <<1>>',
123
-
124
- // about EjvError
125
- REQUIRED = 'value is required',
126
-
127
- TYPE_MISMATCH = 'the value should be a <<1>>',
128
- TYPE_MISMATCH_ONE_OF = 'the value should be type of <<1>>',
129
-
130
- ONE_VALUE_OF = 'the value should be one of <<1>>', // enum
131
- NOT_ONE_VALUE_OF = 'the value should not be one of <<1>>', // enum
132
-
133
- FORMAT = 'the value should be a form of <<1>>', // format
134
- FORMAT_ONE_OF = 'the value should be form of one of <<1>>',
135
-
136
- BIGGER_THAN_OR_EQUAL = 'the value should be bigger or equal than <<1>>', // min
137
- BIGGER_THAN = 'the value should be bigger than <<1>>', // min
138
-
139
- SMALLER_THAN_OR_EQUAL = 'the value should be smaller or equal than <<1>>', // max
140
- SMALLER_THAN = 'the value should be smaller than <<1>>', // max
141
-
142
- LENGTH = 'the value should be length of <<1>>', // length
143
- MIN_LENGTH = 'the value should be longer than <<1>>', // minLength
144
- MAX_LENGTH = 'the value should be shorter than <<1>>', // maxLength
145
-
146
- PATTERN = 'the value should be pattern of <<1>>', // pattern
147
- PATTERN_ONE_OF = 'the value should be one of pattern of <<1>>', // pattern
148
-
149
- PROPERTY = 'the value should have property',
150
-
151
- AFTER_OR_SAME_DATE = 'the value should be after or same date than <<1>>', // date
152
- AFTER_DATE = 'the value should be after date than <<1>>', // date
153
-
154
- BEFORE_OR_SAME_DATE = 'the value should be before or same date than <<1>>', // date
155
- BEFORE_DATE = 'the value should be before date than <<1>>', // date
156
-
157
- UNIQUE_ITEMS = 'the array should be unique items',
158
-
159
- ITEMS_TYPE = 'the array should have items in type of <<1>>',
160
- ITEMS_SCHEMES = 'the array should have items matched with schemes of <<1>>'
161
- }
162
-
1
+ export enum DATA_TYPE {
2
+ BOOLEAN = 'boolean',
3
+ NUMBER = 'number',
4
+ STRING = 'string',
5
+ OBJECT = 'object',
6
+ DATE = 'date',
7
+ REGEXP = 'regexp',
8
+ ARRAY = 'array'
9
+ }
10
+
11
+ export enum NUMBER_FORMAT {
12
+ INTEGER = 'integer',
13
+ INDEX = 'index'
14
+ }
15
+
16
+ export enum STRING_FORMAT {
17
+ EMAIL = 'email',
18
+
19
+ JSON = 'json',
20
+
21
+ DATE = 'date',
22
+ DATE_TIME = 'date-time',
23
+ TIME = 'time',
24
+
25
+ // URL = 'url',
26
+
27
+ // IP = 'ip', // ipv4 || ipv6
28
+ // IPV4 = 'ipv4',
29
+ // IPV6 = 'ipv6'
30
+ }
31
+
32
+ export enum ERROR_TYPE {
33
+ // about ejv() running
34
+ NO_DATA = 'NO_DATA',
35
+
36
+ NO_SCHEME = 'NO_SCHEME',
37
+ INVALID_SCHEMES = 'INVALID_SCHEMES',
38
+
39
+ // not match with scheme
40
+ REQUIRED = 'REQUIRED',
41
+
42
+ TYPE_MISMATCH = 'TYPE_MISMATCH',
43
+ TYPE_MISMATCH_ONE_OF = 'TYPE_MISMATCH_ONE_OF',
44
+
45
+ ONE_VALUE_OF = 'ONE_VALUE_OF',
46
+ NOT_ONE_VALUE_OF = 'NOT_ONE_VALUE_OF',
47
+
48
+ FORMAT = 'FORMAT',
49
+ FORMAT_ONE_OF = 'FORMAT_ONE_OF',
50
+
51
+ BIGGER_THAN_OR_EQUAL = 'BIGGER_THAN_OR_EQUAL',
52
+ BIGGER_THAN = 'BIGGER_THAN',
53
+
54
+ SMALLER_THAN_OR_EQUAL = 'SMALLER_THAN_OR_EQUAL',
55
+ SMALLER_THAN = 'SMALLER_THAN',
56
+
57
+ LENGTH = 'LENGTH',
58
+ MIN_LENGTH = 'MIN_LENGTH',
59
+ MAX_LENGTH = 'MAX_LENGTH',
60
+
61
+ PATTERN = 'PATTERN',
62
+ PATTERN_ONE_OF = 'PATTERN_ONE_OF',
63
+
64
+ PROPERTY = 'PROPERTY',
65
+
66
+ AFTER_OR_SAME_DATE = 'AFTER_OR_SAME_DATE',
67
+ AFTER_DATE = 'AFTER_DATE',
68
+
69
+ BEFORE_OR_SAME_DATE = 'BEFORE_OR_SAME_DATE',
70
+ BEFORE_DATE = 'BEFORE_DATE',
71
+
72
+ UNIQUE_ITEMS = 'UNIQUE_ITEMS',
73
+
74
+ ITEMS_TYPE = 'ITEMS_TYPE',
75
+ ITEMS_SCHEMES = 'ITEMS_SCHEMES'
76
+ }
77
+
78
+ export enum ERROR_MESSAGE {
79
+ // about Error
80
+ NO_DATA = 'no data to validate',
81
+
82
+ NO_SCHEME = 'no scheme',
83
+ NO_ARRAY_SCHEME = 'schemes should be array',
84
+ NO_OBJECT_ARRAY_SCHEME = 'schemes should be array of object',
85
+
86
+ EMPTY_SCHEME = 'schemes should not be empty',
87
+ SCHEMES_SHOULD_HAVE_TYPE = 'schemes should have type',
88
+ SCHEMES_HAS_INVALID_TYPE = 'schemes has invalid type: <<1>>',
89
+ SCHEMES_HAS_DUPLICATED_TYPE = 'schemes has duplicated type: <<1>>',
90
+
91
+ ENUM_SHOULD_BE_ARRAY = 'enum should be array',
92
+ ENUM_SHOULD_BE_NUMBERS = 'enum values should be numbers',
93
+ ENUM_SHOULD_BE_STRINGS = 'enum values should be strings',
94
+
95
+ NOT_ENUM_SHOULD_BE_ARRAY = 'notEnum should be array',
96
+ NOT_ENUM_SHOULD_BE_NUMBERS = 'notEnum values should be numbers',
97
+ NOT_ENUM_SHOULD_BE_STRINGS = 'notEnum values should be strings',
98
+
99
+ MIN_SHOULD_BE_NUMBER = 'min should be number',
100
+ EXCLUSIVE_MIN_SHOULD_BE_BOOLEAN = 'exclusiveMin should be a boolean',
101
+
102
+ MAX_SHOULD_BE_NUMBER = 'max should be number',
103
+ EXCLUSIVE_MAX_SHOULD_BE_BOOLEAN = 'exclusiveMax should be a boolean',
104
+
105
+ INVALID_NUMBER_FORMAT = 'invalid number format: <<1>>',
106
+ INVALID_STRING_FORMAT = 'invalid string format: <<1>>',
107
+ INVALID_STRING_PATTERN = 'invalid string pattern: <<1>>',
108
+
109
+ LENGTH_SHOULD_BE_INTEGER = 'length should be a integer',
110
+ MIN_LENGTH_SHOULD_BE_INTEGER = 'minLength should be a integer',
111
+ MAX_LENGTH_SHOULD_BE_INTEGER = 'maxLength should be a integer',
112
+
113
+ PROPERTIES_SHOULD_BE_ARRAY = 'properties should be array',
114
+ PROPERTIES_SHOULD_HAVE_ITEMS = 'properties should have items',
115
+ PROPERTIES_SHOULD_BE_ARRAY_OF_OBJECT = 'properties should be array of object',
116
+
117
+ ALLOW_NO_PROPERTY_SHOULD_BE_BOOLEAN = 'allowNoProperty should be a boolean',
118
+
119
+ MIN_DATE_SHOULD_BE_DATE_OR_STRING = 'min should be Date or string representing date',
120
+ MAX_DATE_SHOULD_BE_DATE_OR_STRING = 'max should be Date or string representing date',
121
+
122
+ UNIQUE_SHOULD_BE_BOOLEAN = 'unique should be a boolean',
123
+
124
+ INVALID_ITEMS_SCHEME = 'invalid schemes of array items: <<1>>',
125
+
126
+ // about EjvError
127
+ REQUIRED = 'value is required',
128
+
129
+ TYPE_MISMATCH = 'the value should be a <<1>>',
130
+ TYPE_MISMATCH_ONE_OF = 'the value should be type of <<1>>',
131
+
132
+ ONE_VALUE_OF = 'the value should be one of <<1>>', // enum
133
+ NOT_ONE_VALUE_OF = 'the value should not be one of <<1>>', // enum
134
+
135
+ FORMAT = 'the value should be a form of <<1>>', // format
136
+ FORMAT_ONE_OF = 'the value should be form of one of <<1>>',
137
+
138
+ BIGGER_THAN_OR_EQUAL = 'the value should be bigger or equal than <<1>>', // min
139
+ BIGGER_THAN = 'the value should be bigger than <<1>>', // min
140
+
141
+ SMALLER_THAN_OR_EQUAL = 'the value should be smaller or equal than <<1>>', // max
142
+ SMALLER_THAN = 'the value should be smaller than <<1>>', // max
143
+
144
+ LENGTH = 'the value should be length of <<1>>', // length
145
+ MIN_LENGTH = 'the value should be longer than <<1>>', // minLength
146
+ MAX_LENGTH = 'the value should be shorter than <<1>>', // maxLength
147
+
148
+ PATTERN = 'the value should be pattern of <<1>>', // pattern
149
+ PATTERN_ONE_OF = 'the value should be one of pattern of <<1>>', // pattern
150
+
151
+ PROPERTY = 'the value should have property',
152
+
153
+ AFTER_OR_SAME_DATE = 'the value should be after or same date than <<1>>', // date
154
+ AFTER_DATE = 'the value should be after date than <<1>>', // date
155
+
156
+ BEFORE_OR_SAME_DATE = 'the value should be before or same date than <<1>>', // date
157
+ BEFORE_DATE = 'the value should be before date than <<1>>', // date
158
+
159
+ UNIQUE_ITEMS = 'the array should be unique items',
160
+
161
+ ITEMS_TYPE = 'the array should have items in type of <<1>>',
162
+ ITEMS_SCHEMES = 'the array should have items matched with schemes of <<1>>'
163
+ }
164
+