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 +0,0 @@
1
- {"version":3,"file":"ejv.js","sourceRoot":"","sources":["../../src/ejv.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,33 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAyFA,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"}
@@ -1 +0,0 @@
1
- { "type": "module" }
@@ -1,240 +0,0 @@
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.slice(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
@@ -1 +0,0 @@
1
- {"version":3,"file":"tester.js","sourceRoot":"","sources":["../../src/tester.ts"],"names":[],"mappings":"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"}
package/build/esm/util.js DELETED
@@ -1,96 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts DELETED
@@ -1,3 +0,0 @@
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,76 +0,0 @@
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
- enum?: number[];
21
- format?: string | string[] | NumberFormat | NumberFormat[];
22
- }
23
- export interface StringScheme extends CommonScheme {
24
- enum?: string[];
25
- format?: string | string[] | StringFormat | StringFormat[];
26
- pattern?: string | string[] | RegExp | RegExp[];
27
- length?: number;
28
- minLength?: number;
29
- maxLength?: number;
30
- }
31
- export interface ObjectScheme extends CommonScheme {
32
- properties?: Scheme[];
33
- allowNoProperty?: boolean;
34
- }
35
- export interface DateScheme extends MinMaxScheme<string | Date> {
36
- }
37
- export type RegExpScheme = CommonScheme;
38
- export interface ArrayScheme extends CommonScheme {
39
- unique?: boolean;
40
- items?: AllDataType | Scheme | Scheme[];
41
- length?: number;
42
- minLength?: number;
43
- maxLength?: number;
44
- }
45
- export type Scheme = BooleanScheme | NumberScheme | StringScheme | ObjectScheme | DateScheme | RegExpScheme | ArrayScheme;
46
- export interface Options {
47
- customErrorMsg?: {
48
- [key in ErrorType]?: string;
49
- };
50
- }
51
- export interface InternalOptions extends Options {
52
- path: string[];
53
- }
54
- export declare class EjvError {
55
- type: ErrorType;
56
- message: string;
57
- data: unknown;
58
- path: string | undefined;
59
- errorScheme: Scheme | undefined;
60
- errorData: unknown | undefined;
61
- isSchemeError: boolean;
62
- isDataError: boolean;
63
- constructor(param: {
64
- type: ErrorType;
65
- message: string;
66
- data: unknown;
67
- path?: string[];
68
- errorScheme?: Scheme;
69
- errorData?: unknown;
70
- isSchemeError?: boolean;
71
- });
72
- }
73
- export interface AnyObject {
74
- [key: string]: unknown;
75
- }
76
- export {};
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const node_path_1 = require("node:path");
4
- const promises_1 = require("node:fs/promises");
5
- // patch targets
6
- // cjs: const interfaces_1 = require("./interfaces.js");
7
- // esm: import { EjvError } from './interfaces.js';
8
- console.log('* add-js-extensions');
9
- (async () => {
10
- // get all .js file in build folder
11
- const buildFolder = (0, node_path_1.join)('.', 'build');
12
- const folderNames = (await (0, promises_1.readdir)(buildFolder, { withFileTypes: true }))
13
- .filter((one) => one.isDirectory())
14
- .map((one) => one.name);
15
- const importStateRegExp = /['"]\.\/[a-z]+['"]/g;
16
- let modifiedFileCount = 0;
17
- let modifiedStrCount = 0;
18
- for await (const folder of folderNames) {
19
- const jsFilePaths = (await (0, promises_1.readdir)((0, node_path_1.join)(buildFolder, folder), { withFileTypes: true }))
20
- .filter((one) => one.isFile() && one.name.endsWith('.js'))
21
- .map((one) => (0, node_path_1.join)(buildFolder, folder, one.name));
22
- for await (const jsFilePath of jsFilePaths) {
23
- let fileContents = await (0, promises_1.readFile)(jsFilePath, {
24
- encoding: 'utf-8'
25
- });
26
- const matchResults = [...fileContents.matchAll(importStateRegExp)];
27
- if (matchResults.length > 0) {
28
- for (let i = 0; i < matchResults.length; i++) {
29
- const oneResult = matchResults[i];
30
- const beforeStr = oneResult[0];
31
- const afterStr = beforeStr.endsWith('"')
32
- ? beforeStr.replace(/"$/, '.js"')
33
- : beforeStr.replace(/'$/, '.js\'');
34
- fileContents = fileContents.replace(beforeStr, afterStr);
35
- ++modifiedStrCount;
36
- }
37
- await (0, promises_1.writeFile)(jsFilePath, fileContents, {
38
- encoding: 'utf-8'
39
- });
40
- ++modifiedFileCount;
41
- }
42
- }
43
- }
44
- console.log(`${modifiedStrCount} import statements in ${modifiedFileCount} files patched`);
45
- })();
46
- //# sourceMappingURL=add-js-extensions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-js-extensions.js","sourceRoot":"","sources":["../../scripts/add-js-extensions.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAEjC,+CAAgE;AAEhE,gBAAgB;AAChB,qDAAqD;AACrD,gDAAgD;AAEhD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEnC,CAAC,KAAK,IAAmB,EAAE;IAC1B,mCAAmC;IACnC,MAAM,WAAW,GAAW,IAAA,gBAAI,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAa,CAAC,MAAM,IAAA,kBAAO,EAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACjF,MAAM,CAAC,CAAC,GAAW,EAAW,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SACnD,GAAG,CAAC,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;IAEhD,IAAI,iBAAiB,GAAW,CAAC,CAAC;IAClC,IAAI,gBAAgB,GAAW,CAAC,CAAC;IAEjC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,WAAW,GAAa,CAAC,MAAM,IAAA,kBAAO,EAAC,IAAA,gBAAI,EAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/F,MAAM,CAAC,CAAC,GAAW,EAAW,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC1E,GAAG,CAAC,CAAC,GAAW,EAAU,EAAE,CAAC,IAAA,gBAAI,EAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,IAAI,KAAK,EAAC,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YAC3C,IAAI,YAAY,GAAW,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE;gBACrD,QAAQ,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAuB,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEvF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9C,MAAM,SAAS,GAAqB,YAAY,CAAC,CAAC,CAAC,CAAC;oBAEpD,MAAM,SAAS,GAAW,SAAS,CAAC,CAAC,CAAC,CAAC;oBACvC,MAAM,QAAQ,GAAW,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAC/C,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;wBACjC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAEpC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAEzD,EAAE,gBAAgB,CAAC;gBACpB,CAAC;gBAED,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,YAAY,EAAE;oBACzC,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAC;gBAEH,EAAE,iBAAiB,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAI,gBAAiB,yBAA0B,iBAAkB,gBAAgB,CAAC,CAAC;AAChG,CAAC,CAAC,EAAE,CAAC"}