ejv 2.0.4 → 2.1.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 (57) hide show
  1. package/.mocharc.json +1 -1
  2. package/CHANGELOG.md +18 -0
  3. package/README-KR.md +166 -165
  4. package/README.md +182 -178
  5. package/eslint.config.mjs +59 -0
  6. package/package.json +18 -13
  7. package/spec/ArrayScheme.ts +46 -46
  8. package/spec/CommonScheme.ts +15 -15
  9. package/spec/DateScheme.ts +22 -22
  10. package/spec/NumberScheme.ts +229 -121
  11. package/spec/ObjectScheme.ts +22 -22
  12. package/spec/RegExpScheme.ts +5 -5
  13. package/spec/StringScheme.ts +223 -126
  14. package/spec/common-test-util.ts +2 -2
  15. package/spec/ejv.spec.ts +20 -20
  16. package/spec/testers.spec.ts +5 -5
  17. package/src/constants.ts +12 -5
  18. package/src/ejv.ts +291 -202
  19. package/src/index.ts +1 -1
  20. package/src/interfaces.ts +11 -12
  21. package/src/tester.ts +14 -10
  22. package/src/util.ts +2 -2
  23. package/.eslintrc.json +0 -88
  24. package/build/cjs/constants.js +0 -118
  25. package/build/cjs/constants.js.map +0 -1
  26. package/build/cjs/ejv.js +0 -1266
  27. package/build/cjs/ejv.js.map +0 -1
  28. package/build/cjs/index.js +0 -14
  29. package/build/cjs/index.js.map +0 -1
  30. package/build/cjs/interfaces.js +0 -29
  31. package/build/cjs/interfaces.js.map +0 -1
  32. package/build/cjs/package.json +0 -1
  33. package/build/cjs/tester.js +0 -274
  34. package/build/cjs/tester.js.map +0 -1
  35. package/build/cjs/util.js +0 -103
  36. package/build/cjs/util.js.map +0 -1
  37. package/build/constants.d.ts +0 -101
  38. package/build/ejv.d.ts +0 -2
  39. package/build/esm/constants.js +0 -115
  40. package/build/esm/constants.js.map +0 -1
  41. package/build/esm/ejv.js +0 -1264
  42. package/build/esm/ejv.js.map +0 -1
  43. package/build/esm/index.js +0 -4
  44. package/build/esm/index.js.map +0 -1
  45. package/build/esm/interfaces.js +0 -33
  46. package/build/esm/interfaces.js.map +0 -1
  47. package/build/esm/package.json +0 -1
  48. package/build/esm/tester.js +0 -240
  49. package/build/esm/tester.js.map +0 -1
  50. package/build/esm/util.js +0 -96
  51. package/build/esm/util.js.map +0 -1
  52. package/build/index.d.ts +0 -3
  53. package/build/interfaces.d.ts +0 -76
  54. package/build/scripts/add-js-extensions.js +0 -46
  55. package/build/scripts/add-js-extensions.js.map +0 -1
  56. package/build/tester.d.ts +0 -33
  57. package/build/util.d.ts +0 -7
@@ -1,101 +0,0 @@
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_VALUE_OF = "ONE_VALUE_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 DELETED
@@ -1,2 +0,0 @@
1
- import { EjvError, Options, Scheme } from './interfaces';
2
- export declare const ejv: (data: object, schemes: Scheme[], options?: Options) => null | EjvError;
@@ -1,115 +0,0 @@
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_VALUE_OF"] = "ONE_VALUE_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
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}