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 @@
1
+ {"version":3,"file":"ejv.js","sourceRoot":"","sources":["../../src/ejv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { ejv } from './ejv.js';
2
+ export { DataType, NumberFormat, StringFormat, ErrorMsg, ErrorType } from './constants.js';
3
+ export { EjvError } from './interfaces.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAQN,QAAQ,EAGR,MAAM,cAAc,CAAC"}
@@ -0,0 +1,33 @@
1
+ export class EjvError {
2
+ type;
3
+ message;
4
+ data;
5
+ path;
6
+ errorScheme;
7
+ errorData;
8
+ isSchemeError;
9
+ isDataError;
10
+ constructor(param) {
11
+ this.type = param.type;
12
+ this.message = param.message;
13
+ this.data = param.data;
14
+ if ('path' in param && param.path !== undefined) {
15
+ this.path = param.path.join('/');
16
+ }
17
+ if ('errorScheme' in param) {
18
+ this.errorScheme = param.errorScheme;
19
+ }
20
+ if ('errorData' in param) {
21
+ this.errorData = param.errorData;
22
+ }
23
+ if (param.isSchemeError) {
24
+ this.isSchemeError = true;
25
+ this.isDataError = false;
26
+ }
27
+ else {
28
+ this.isSchemeError = false;
29
+ this.isDataError = true;
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AA6FA,MAAM,OAAO,QAAQ;IACb,IAAI,CAAY;IAChB,OAAO,CAAS;IAEhB,IAAI,CAAU;IACd,IAAI,CAAqB;IAEzB,WAAW,CAAqB;IAChC,SAAS,CAAsB;IAE/B,aAAa,CAAU;IACvB,WAAW,CAAU;IAE5B,YAAa,KAWZ;QACA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEvB,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1B,CAAC;aACI,CAAC;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1 @@
1
+ { "type": "module" }
@@ -0,0 +1,240 @@
1
+ import { DataType } from './constants.js';
2
+ export const typeTester = (value, type) => {
3
+ let valid;
4
+ switch (type) {
5
+ case DataType.BOOLEAN:
6
+ valid = booleanTester(value);
7
+ break;
8
+ case DataType.NUMBER:
9
+ valid = numberTester(value);
10
+ break;
11
+ case DataType.STRING:
12
+ valid = stringTester(value);
13
+ break;
14
+ case DataType.OBJECT:
15
+ valid = objectTester(value);
16
+ break;
17
+ case DataType.DATE:
18
+ valid = dateTester(value);
19
+ break;
20
+ case DataType.REGEXP:
21
+ valid = regExpTester(value);
22
+ break;
23
+ case DataType.ARRAY:
24
+ valid = arrayTester(value);
25
+ break;
26
+ }
27
+ return valid;
28
+ };
29
+ export const definedTester = (value) => {
30
+ return value !== undefined;
31
+ };
32
+ export const enumTester = (value, arr) => {
33
+ return arr.includes(value);
34
+ };
35
+ export const lengthTester = (value, length) => {
36
+ return value.length === length;
37
+ };
38
+ export const minLengthTester = (value, minLength) => {
39
+ return value.length >= minLength;
40
+ };
41
+ export const maxLengthTester = (value, maxLength) => {
42
+ return value.length <= maxLength;
43
+ };
44
+ export const booleanTester = (value) => {
45
+ return typeof value === 'boolean';
46
+ };
47
+ export const numberTester = (value) => {
48
+ return typeof value === 'number' && !isNaN(value);
49
+ };
50
+ export const integerTester = (value) => {
51
+ return +value.toFixed(0) === value;
52
+ };
53
+ export const indexTester = (value) => {
54
+ return integerTester(value) && value >= 0;
55
+ };
56
+ export const minNumberTester = (value, min) => {
57
+ return value >= min;
58
+ };
59
+ export const exclusiveMinNumberTester = (value, min) => {
60
+ return value > min;
61
+ };
62
+ export const maxNumberTester = (value, max) => {
63
+ return value <= max;
64
+ };
65
+ export const exclusiveMaxNumberTester = (value, max) => {
66
+ return value < max;
67
+ };
68
+ export const stringTester = (value) => {
69
+ return typeof value === 'string';
70
+ };
71
+ export const stringRegExpTester = (value, regExp) => {
72
+ let valid = false;
73
+ let _regExp = undefined;
74
+ if (regExpTester(regExp)) {
75
+ _regExp = regExp;
76
+ }
77
+ else if (stringTester(regExp)) {
78
+ _regExp = new RegExp(regExp);
79
+ }
80
+ if (!!_regExp && regExpTester(_regExp)) {
81
+ valid = _regExp.test(value);
82
+ }
83
+ return valid;
84
+ };
85
+ // RFC 5322, 3.4.1. spec
86
+ export const emailTester = (value) => {
87
+ let valid = false;
88
+ if (stringTester(value) && stringRegExpTester(value, /^.+@.+$/)) {
89
+ const valueAsString = value;
90
+ const atIndex = valueAsString.lastIndexOf('@');
91
+ const localPart = valueAsString.substr(0, atIndex);
92
+ const domain = valueAsString.substr(atIndex + 1);
93
+ // regular expression sources
94
+ // const aTextRegExpStr : string = '[-a-zA-Z0-9!#$%&\\\'*+/=?^_`{|}~]+';
95
+ const dotAtomRegExp = /^(\.?[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+)*$/;
96
+ const quotedStringRegExp = /^"[\u0020-\u005b\u005d-\u007e\\]*"$/; // include space (\u005b)
97
+ const domainLiteralRegExp = /^\[[\u0020-\u005a\u005c-\u007e\\]*]$/;
98
+ const validLocalPart = localPart.length <= 64
99
+ && (dotAtomRegExp.test(localPart)
100
+ || quotedStringRegExp.test(localPart));
101
+ const validDomain = !domain.startsWith('.') && !domain.endsWith('.')
102
+ && (dotAtomRegExp.test(domain)
103
+ || domainLiteralRegExp.test(domain));
104
+ valid = validLocalPart && validDomain;
105
+ }
106
+ return valid;
107
+ };
108
+ // RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) : YYYY-MM-DDThh:mm:ss[.SSSZ]
109
+ const rfc3339Tester = (value) => {
110
+ return /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:([0-5][0-9])){2}(\.\d+)?(Z|[-+]\d{2}:\d{2})?$/.test(value);
111
+ };
112
+ const iso8601DateTester = (value) => {
113
+ const years = '(\\d{4})';
114
+ const months = '(0[1-9]|1[0-2])';
115
+ const dates = '(0[1-9]|[1-2][0-9]|3[0-1])';
116
+ const dateOfYear = '(00[1-9]|0[1-9][0-9]|[1-2]\\d{2}|3[0-5]\\d|36[0-6])'; // 366 for leap year
117
+ const weeks = '(W(0[1-9]|[2-4][0-9]|5[0-3]))';
118
+ const days = '[1-7]';
119
+ return [
120
+ new RegExp(`^[-+]?${years}$`), // years : YYYY, +YYYY, -YYYY
121
+ new RegExp(`^${years}-${months}(-${dates})?$`), // calendar dates : YYYY-MM-DD, YYYY-MM
122
+ new RegExp(`^${years}${months}${dates}$`), // calendar dates : YYYYMMDD
123
+ new RegExp(`^--${months}-?${dates}$`), // calendar dates : --MM-DD, --MMDD
124
+ new RegExp(`^${years}-${weeks}(-${days})?$`), // week dates : YYYY-Www, YYYY-Www-D
125
+ new RegExp(`^${years}${weeks}(${days})?$`), // week dates : YYYYWww, YYYYWwwD
126
+ new RegExp(`^${years}-?${dateOfYear}$`) // ordinal dates : YYYY-DDD, YYYYDDD
127
+ ].some((regExp) => {
128
+ return regExp.test(value);
129
+ });
130
+ };
131
+ const iso8601TimeTester = (value) => {
132
+ const hours = '([0-1]\\d|2[0-3])';
133
+ const minutes = '([0-5]\\d)';
134
+ const seconds = '([0-5]\\d|60)'; // 60 for leap second
135
+ const ms = '(\\.[0-9]+)';
136
+ return [
137
+ new RegExp(`^(${hours}|24)$`), // hh
138
+ new RegExp(`^((${hours}:${minutes})|24:00)$`), // hh:mm
139
+ new RegExp(`^((${hours}:${minutes}:${seconds})|24:00:00)$`), // hh:mm:ss
140
+ new RegExp(`^((${hours}:${minutes}:${seconds}${ms})|24:00:00.0+)$`), // hh:mm:ss
141
+ new RegExp(`^(${hours}${minutes}|2400)$`), // hhmm
142
+ new RegExp(`^(${hours}${minutes}${seconds}|240000)$`), // hhmmss
143
+ new RegExp(`^(${hours}${minutes}${seconds}${ms}|240000.0+)$`) // hhmmss.sss
144
+ ]
145
+ .some((regExp) => {
146
+ return regExp.test(value);
147
+ });
148
+ };
149
+ const iso8601DateTimeTester = (value) => {
150
+ let valid = false;
151
+ if (/.+T.+/.test(value) // should have 1 'T'
152
+ && /(Z|[-+]\d{2}:?\d{2})$/.test(value) // should end with 'Z' or timezone
153
+ ) {
154
+ const dateAndTime = value.split('T');
155
+ const date = dateAndTime[0];
156
+ let time = dateAndTime[1];
157
+ if (time.endsWith('Z')) {
158
+ time = time.replace('Z', '');
159
+ }
160
+ else {
161
+ const timezoneStartIndex = time.includes('+')
162
+ ? time.indexOf('+')
163
+ : time.indexOf('-');
164
+ time = time.substr(0, timezoneStartIndex);
165
+ }
166
+ valid = iso8601DateTester(date) && iso8601TimeTester(time);
167
+ }
168
+ return valid;
169
+ };
170
+ export const dateFormatTester = (value) => {
171
+ return iso8601DateTester(value);
172
+ };
173
+ export const timeFormatTester = (value) => {
174
+ return iso8601TimeTester(value);
175
+ };
176
+ export const dateTimeFormatTester = (value) => {
177
+ return rfc3339Tester(value) || iso8601DateTimeTester(value);
178
+ };
179
+ // // with port
180
+ // export const urlTester = (value : any) : boolean => {
181
+ // return stringTester(value)
182
+ // && /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(value);
183
+ // };
184
+ //
185
+ // // TODO: with port
186
+ // export const ipv4Tester = (value : any) : boolean => {
187
+ // return stringTester(value)
188
+ // && /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(value);
189
+ // };
190
+ //
191
+ // export const ipv6Tester = (value : any) : boolean => {
192
+ // return stringTester(value)
193
+ // && /^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$;/.test(value);
194
+ // };
195
+ //
196
+ // export const ipTester = (value : any) : boolean => {
197
+ // return ipv4Tester(value) || ipv6Tester(value);
198
+ // };
199
+ export const objectTester = (value) => {
200
+ return typeof value === 'object';
201
+ };
202
+ export const hasPropertyTester = (value) => {
203
+ return Object.keys(value).length > 0;
204
+ };
205
+ export const dateTester = (value) => {
206
+ return objectTester(value)
207
+ && value !== null
208
+ && typeof value === 'object'
209
+ && value instanceof Date
210
+ && !isNaN(value.getFullYear());
211
+ };
212
+ export const minDateTester = (value, min) => {
213
+ return +value >= +min;
214
+ };
215
+ export const exclusiveMinDateTester = (value, min) => {
216
+ return +value > +min;
217
+ };
218
+ export const maxDateTester = (value, max) => {
219
+ return +value <= +max;
220
+ };
221
+ export const exclusiveMaxDateTester = (value, max) => {
222
+ return +value < +max;
223
+ };
224
+ export const arrayTester = (value) => {
225
+ return Array.isArray(value);
226
+ };
227
+ export const arrayTypeOfTester = (array, type) => {
228
+ return array.every((item) => {
229
+ return typeTester(item, type);
230
+ });
231
+ };
232
+ export const uniqueItemsTester = (array) => {
233
+ return array.every((item) => {
234
+ return array.filter((target) => target === item).length === 1;
235
+ });
236
+ };
237
+ export const regExpTester = (value) => {
238
+ return value instanceof RegExp;
239
+ };
240
+ //# sourceMappingURL=tester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tester.js","sourceRoot":"","sources":["../../src/tester.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ var CloneDataType;
2
+ (function (CloneDataType) {
3
+ CloneDataType["Boolean"] = "boolean";
4
+ CloneDataType["Number"] = "number";
5
+ CloneDataType["Function"] = "function";
6
+ CloneDataType["String"] = "string";
7
+ CloneDataType["Buffer"] = "buffer";
8
+ CloneDataType["Object"] = "object";
9
+ CloneDataType["Array"] = "array";
10
+ CloneDataType["Date"] = "date";
11
+ CloneDataType["RegExp"] = "regexp";
12
+ })(CloneDataType || (CloneDataType = {}));
13
+ export const isArray = (value) => {
14
+ return value !== undefined
15
+ && value !== null
16
+ && Array.isArray(value);
17
+ };
18
+ // sanitize removes undefined & null fields from object. default false
19
+ export const clone = (obj, sanitize) => {
20
+ let result;
21
+ if (obj) {
22
+ let type = typeof obj;
23
+ if (type === CloneDataType.Object) {
24
+ const objAsObject = obj;
25
+ if (isArray(objAsObject)) {
26
+ type = CloneDataType.Array;
27
+ }
28
+ else if (objAsObject instanceof Date) {
29
+ type = CloneDataType.Date;
30
+ }
31
+ else if (objAsObject instanceof RegExp) {
32
+ type = CloneDataType.RegExp;
33
+ }
34
+ else if (objAsObject.byteLength
35
+ && typeof objAsObject.byteLength === 'function') {
36
+ type = CloneDataType.Buffer;
37
+ }
38
+ }
39
+ switch (type) {
40
+ case CloneDataType.Date: {
41
+ const objAsDate = obj;
42
+ result = new Date(objAsDate);
43
+ break;
44
+ }
45
+ case CloneDataType.Array: {
46
+ const objAsArray = obj;
47
+ result = objAsArray.map((one) => {
48
+ return clone(one);
49
+ });
50
+ break;
51
+ }
52
+ case CloneDataType.Object: {
53
+ // sanitize default false
54
+ result = {};
55
+ const entries = Object.entries(obj)
56
+ .filter(([, value]) => {
57
+ return sanitize
58
+ ? value !== undefined && value !== null
59
+ : true;
60
+ });
61
+ for (const [key, value] of entries) {
62
+ // call recursively
63
+ result[key] = clone(value, sanitize);
64
+ }
65
+ break;
66
+ }
67
+ default:
68
+ // simple copy
69
+ result = obj;
70
+ }
71
+ }
72
+ else {
73
+ result = obj; // do not copy null & undefined
74
+ }
75
+ return result;
76
+ };
77
+ export const sift = (arr) => {
78
+ return arr.reduce((acc, cur) => {
79
+ if (cur !== null && cur !== undefined && !acc.includes(cur)) {
80
+ acc.push(cur);
81
+ }
82
+ return acc;
83
+ }, []);
84
+ };
85
+ export const createErrorMsg = (errorMsg, param) => {
86
+ let result = errorMsg;
87
+ if (param?.placeholders) {
88
+ param.placeholders.forEach((strToReplace, i) => {
89
+ result = result.replace(`<<${i + 1}>>`, typeof strToReplace === 'string'
90
+ ? strToReplace
91
+ : '' + strToReplace);
92
+ });
93
+ }
94
+ return result;
95
+ };
96
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ejv } from './ejv';
2
+ export { DataType, NumberFormat, StringFormat, ErrorMsg, ErrorType } from './constants';
3
+ export { BooleanScheme, NumberScheme, StringScheme, ObjectScheme, ArrayScheme, RegExpScheme, DateScheme, EjvError, Scheme, Options } from './interfaces';
@@ -1,38 +1,78 @@
1
- import { DataType, ErrorType, NumberFormat, StringFormat } from './constants';
2
- export interface Scheme {
3
- key?: string;
4
- type: string | string[] | DataType | DataType[];
5
- optional?: boolean;
6
- nullable?: boolean;
7
- min?: number | string | Date;
8
- exclusiveMin?: boolean;
9
- max?: number | string | Date;
10
- exclusiveMax?: boolean;
11
- enum?: number[] | string[];
12
- enumReverse?: number[] | string[];
13
- format?: string | string[] | NumberFormat | NumberFormat[] | StringFormat | StringFormat[];
14
- length?: number;
15
- minLength?: number;
16
- maxLength?: number;
17
- pattern?: string | string[] | RegExp | RegExp[];
18
- properties?: Scheme[];
19
- allowNoProperty?: boolean;
20
- unique?: boolean;
21
- items?: string | string[] | DataType | DataType[] | Scheme | Scheme[];
22
- }
23
- export interface Options {
24
- customErrorMsg?: {
25
- [key in ErrorType]?: string;
26
- };
27
- }
28
- export interface InternalOptions extends Options {
29
- path: string[];
30
- }
31
- export declare class EjvError {
32
- type: ErrorType;
33
- message: string;
34
- data: any;
35
- errorData: any;
36
- path: string;
37
- constructor(type: ErrorType, message: string, path: string[], data: any, errorData: any);
38
- }
1
+ import { DataType, ErrorType, NumberFormat, StringFormat } from './constants';
2
+ export type AllDataType = string | string[] | DataType | DataType[];
3
+ interface CommonScheme {
4
+ parent?: Scheme;
5
+ key?: string;
6
+ type?: AllDataType;
7
+ optional?: boolean;
8
+ nullable?: boolean;
9
+ }
10
+ export type BooleanScheme = CommonScheme;
11
+ export interface MinMax<T> {
12
+ min?: T;
13
+ exclusiveMin?: boolean;
14
+ max?: T;
15
+ exclusiveMax?: boolean;
16
+ }
17
+ export interface MinMaxScheme<T> extends CommonScheme, MinMax<T> {
18
+ }
19
+ export interface NumberScheme extends MinMaxScheme<number> {
20
+ value?: number;
21
+ enum?: number[];
22
+ format?: string | string[] | NumberFormat | NumberFormat[];
23
+ }
24
+ export interface StringScheme extends CommonScheme {
25
+ value?: string;
26
+ enum?: string[];
27
+ format?: string | string[] | StringFormat | StringFormat[];
28
+ pattern?: string | string[] | RegExp | RegExp[];
29
+ length?: number;
30
+ minLength?: number;
31
+ maxLength?: number;
32
+ }
33
+ export interface ObjectScheme extends CommonScheme {
34
+ properties?: Scheme[];
35
+ allowNoProperty?: boolean;
36
+ }
37
+ export interface DateScheme extends MinMaxScheme<string | Date> {
38
+ }
39
+ export type RegExpScheme = CommonScheme;
40
+ export interface ArrayScheme extends CommonScheme {
41
+ unique?: boolean;
42
+ items?: AllDataType | Scheme | Scheme[];
43
+ length?: number;
44
+ minLength?: number;
45
+ maxLength?: number;
46
+ }
47
+ export type Scheme = BooleanScheme | NumberScheme | StringScheme | ObjectScheme | DateScheme | RegExpScheme | ArrayScheme;
48
+ export interface Options {
49
+ customErrorMsg?: {
50
+ [key in ErrorType]?: string;
51
+ };
52
+ }
53
+ export interface InternalOptions extends Options {
54
+ path: string[];
55
+ }
56
+ export declare class EjvError {
57
+ type: ErrorType;
58
+ message: string;
59
+ data: unknown;
60
+ path: string | undefined;
61
+ errorScheme: Scheme | undefined;
62
+ errorData: unknown | undefined;
63
+ isSchemeError: boolean;
64
+ isDataError: boolean;
65
+ constructor(param: {
66
+ type: ErrorType;
67
+ message: string;
68
+ data: unknown;
69
+ path?: string[];
70
+ errorScheme?: Scheme;
71
+ errorData?: unknown;
72
+ isSchemeError?: boolean;
73
+ });
74
+ }
75
+ export interface AnyObject {
76
+ [key: string]: unknown;
77
+ }
78
+ export {};