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/index.ts CHANGED
@@ -1,14 +1,14 @@
1
- export { ejv } from './ejv';
2
- export { DATA_TYPE, NUMBER_FORMAT, STRING_FORMAT, ERROR_MESSAGE, ERROR_TYPE } from './constants';
3
- export {
4
- BooleanScheme,
5
- NumberScheme,
6
- StringScheme,
7
- ObjectScheme,
8
- ArrayScheme,
9
- RegExpScheme,
10
- DateScheme,
11
- EjvError,
12
- Scheme,
13
- Options
14
- } from './interfaces';
1
+ export { ejv } from './ejv';
2
+ export { DATA_TYPE, NUMBER_FORMAT, STRING_FORMAT, ERROR_MESSAGE, ERROR_TYPE } from './constants';
3
+ export {
4
+ BooleanScheme,
5
+ NumberScheme,
6
+ StringScheme,
7
+ ObjectScheme,
8
+ ArrayScheme,
9
+ RegExpScheme,
10
+ DateScheme,
11
+ EjvError,
12
+ Scheme,
13
+ Options
14
+ } from './interfaces';
package/src/interfaces.ts CHANGED
@@ -1,144 +1,144 @@
1
- import { DATA_TYPE, ERROR_TYPE, NUMBER_FORMAT, STRING_FORMAT } from './constants';
2
-
3
- export type AllDataType = string | string[] | DATA_TYPE | DATA_TYPE[];
4
-
5
-
6
- interface CommonScheme {
7
- parent?: Scheme;
8
-
9
- key?: string; // can be omitted in array items
10
- type?: AllDataType; // optional for not
11
-
12
- optional?: boolean; // false
13
- nullable?: boolean; // false
14
- }
15
-
16
- // no additional rule
17
- export type BooleanScheme = CommonScheme;
18
-
19
- export interface MinMax<T> {
20
- min?: T;
21
- exclusiveMin?: boolean; // default false
22
-
23
- max?: T;
24
- exclusiveMax?: boolean; // default false
25
- }
26
-
27
- export interface MinMaxScheme<T> extends CommonScheme, MinMax<T> {
28
- }
29
-
30
- export interface NumberScheme extends MinMaxScheme<number> {
31
- enum?: number[];
32
- notEnum?: number[];
33
-
34
- format?: string | string[] | NUMBER_FORMAT | NUMBER_FORMAT[];
35
- }
36
-
37
- export interface StringScheme extends CommonScheme {
38
- enum?: string[];
39
- notEnum?: string[];
40
-
41
- format?: string | string[] | STRING_FORMAT | STRING_FORMAT[];
42
- pattern?: string | string[] | RegExp | RegExp[];
43
-
44
- length?: number;
45
- minLength?: number;
46
- maxLength?: number;
47
- }
48
-
49
- export interface ObjectScheme extends CommonScheme {
50
- properties?: Scheme[];
51
- allowNoProperty?: boolean; // true
52
- }
53
-
54
- // min, max string for date string
55
- export type DateScheme = MinMaxScheme<string | Date>
56
-
57
- // no additional rule
58
- export type RegExpScheme = CommonScheme;
59
-
60
- export interface ArrayScheme extends CommonScheme {
61
- unique?: boolean; // false
62
- items?: AllDataType | Scheme | Scheme[];
63
-
64
- length?: number;
65
- minLength?: number;
66
- maxLength?: number;
67
- }
68
-
69
- export type Scheme =
70
- BooleanScheme
71
- | NumberScheme
72
- | StringScheme
73
- | ObjectScheme
74
- | DateScheme
75
- | RegExpScheme
76
- | ArrayScheme;
77
-
78
-
79
- export interface Options {
80
- customErrorMsg?: {
81
- [key in ERROR_TYPE]?: string;
82
- };
83
- }
84
-
85
- export interface InternalOptions extends Options {
86
- path: string[];
87
- }
88
-
89
- export class EjvError {
90
- public type: ERROR_TYPE;
91
- public message: string;
92
-
93
- public data: unknown;
94
- public path: string | undefined;
95
-
96
- public errorScheme: Scheme | undefined;
97
- public errorData: unknown | undefined;
98
-
99
- public isSchemeError: boolean;
100
- public isDataError: boolean;
101
-
102
- constructor (param: {
103
- type: ERROR_TYPE,
104
- message: string,
105
-
106
- data: unknown,
107
- path?: string[],
108
-
109
- errorScheme?: Scheme,
110
- errorData?: unknown,
111
-
112
- isSchemeError?: boolean
113
- }) {
114
- this.type = param.type;
115
- this.message = param.message;
116
-
117
- this.data = param.data;
118
-
119
- if ('path' in param && param.path !== undefined) {
120
- this.path = param.path.join('/');
121
- }
122
-
123
- if ('errorScheme' in param) {
124
- this.errorScheme = param.errorScheme;
125
- }
126
-
127
- if ('errorData' in param) {
128
- this.errorData = param.errorData;
129
- }
130
-
131
- if (param.isSchemeError) {
132
- this.isSchemeError = true;
133
- this.isDataError = false;
134
- }
135
- else {
136
- this.isSchemeError = false;
137
- this.isDataError = true;
138
- }
139
- }
140
- }
141
-
142
- export interface AnyObject {
143
- [key: string]: unknown;
144
- }
1
+ import { DATA_TYPE, ERROR_TYPE, NUMBER_FORMAT, STRING_FORMAT } from './constants';
2
+
3
+ export type AllDataType = string | string[] | DATA_TYPE | DATA_TYPE[];
4
+
5
+
6
+ interface CommonScheme {
7
+ parent?: Scheme;
8
+
9
+ key?: string; // can be omitted in array items
10
+ type?: AllDataType; // optional for not
11
+
12
+ optional?: boolean; // false
13
+ nullable?: boolean; // false
14
+ }
15
+
16
+ // no additional rule
17
+ export type BooleanScheme = CommonScheme;
18
+
19
+ export interface MinMax<T> {
20
+ min?: T;
21
+ exclusiveMin?: boolean; // default false
22
+
23
+ max?: T;
24
+ exclusiveMax?: boolean; // default false
25
+ }
26
+
27
+ export interface MinMaxScheme<T> extends CommonScheme, MinMax<T> {
28
+ }
29
+
30
+ export interface NumberScheme extends MinMaxScheme<number> {
31
+ enum?: number[];
32
+ notEnum?: number[];
33
+
34
+ format?: string | string[] | NUMBER_FORMAT | NUMBER_FORMAT[];
35
+ }
36
+
37
+ export interface StringScheme extends CommonScheme {
38
+ enum?: string[];
39
+ notEnum?: string[];
40
+
41
+ format?: string | string[] | STRING_FORMAT | STRING_FORMAT[];
42
+ pattern?: string | string[] | RegExp | RegExp[];
43
+
44
+ length?: number;
45
+ minLength?: number;
46
+ maxLength?: number;
47
+ }
48
+
49
+ export interface ObjectScheme extends CommonScheme {
50
+ properties?: Scheme[];
51
+ allowNoProperty?: boolean; // true
52
+ }
53
+
54
+ // min, max string for date string
55
+ export type DateScheme = MinMaxScheme<string | Date>
56
+
57
+ // no additional rule
58
+ export type RegExpScheme = CommonScheme;
59
+
60
+ export interface ArrayScheme extends CommonScheme {
61
+ unique?: boolean; // false
62
+ items?: AllDataType | Scheme | Scheme[];
63
+
64
+ length?: number;
65
+ minLength?: number;
66
+ maxLength?: number;
67
+ }
68
+
69
+ export type Scheme =
70
+ BooleanScheme
71
+ | NumberScheme
72
+ | StringScheme
73
+ | ObjectScheme
74
+ | DateScheme
75
+ | RegExpScheme
76
+ | ArrayScheme;
77
+
78
+
79
+ export interface Options {
80
+ customErrorMsg?: {
81
+ [key in ERROR_TYPE]?: string;
82
+ };
83
+ }
84
+
85
+ export interface InternalOptions extends Options {
86
+ path: string[];
87
+ }
88
+
89
+ export class EjvError {
90
+ public type: ERROR_TYPE;
91
+ public message: string;
92
+
93
+ public data: unknown;
94
+ public path: string | undefined;
95
+
96
+ public errorScheme: Scheme | undefined;
97
+ public errorData: unknown | undefined;
98
+
99
+ public isSchemeError: boolean;
100
+ public isDataError: boolean;
101
+
102
+ constructor (param: {
103
+ type: ERROR_TYPE,
104
+ message: string,
105
+
106
+ data: unknown,
107
+ path?: string[],
108
+
109
+ errorScheme?: Scheme,
110
+ errorData?: unknown,
111
+
112
+ isSchemeError?: boolean
113
+ }) {
114
+ this.type = param.type;
115
+ this.message = param.message;
116
+
117
+ this.data = param.data;
118
+
119
+ if ('path' in param && param.path !== undefined) {
120
+ this.path = param.path.join('/');
121
+ }
122
+
123
+ if ('errorScheme' in param) {
124
+ this.errorScheme = param.errorScheme;
125
+ }
126
+
127
+ if ('errorData' in param) {
128
+ this.errorData = param.errorData;
129
+ }
130
+
131
+ if (param.isSchemeError) {
132
+ this.isSchemeError = true;
133
+ this.isDataError = false;
134
+ }
135
+ else {
136
+ this.isSchemeError = false;
137
+ this.isDataError = true;
138
+ }
139
+ }
140
+ }
141
+
142
+ export interface AnyObject {
143
+ [key: string]: unknown;
144
+ }