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
@@ -1,112 +1,112 @@
1
- import { describe, it } from 'mocha';
2
- import { expect } from 'chai';
3
-
4
- import { ejv } from '../src/ejv';
5
-
6
- import { EjvError } from '../src/interfaces';
7
- import { ERROR_MESSAGE, ERROR_TYPE } from '../src/constants';
8
- import { createErrorMsg } from '../src/util';
9
- import { TypeTester, typeTesterArr } from './common-test-util';
10
-
11
-
12
- describe('RegExpScheme', () => {
13
- describe('type', () => {
14
- describe('mismatch', () => {
15
- typeTesterArr
16
- .filter((obj: TypeTester): boolean => obj.type !== 'regexp')
17
- .forEach((obj: TypeTester): void => {
18
- it(obj.type, () => {
19
- const testData = {
20
- a: obj.value
21
- };
22
-
23
- const error: EjvError | null = ejv(testData, [{
24
- key: 'a',
25
- type: 'regexp'
26
- }]);
27
-
28
- expect(error).to.be.instanceof(EjvError);
29
-
30
- if (!error) {
31
- throw new Error('spec failed');
32
- }
33
-
34
- expect(error.type).to.be.eql(ERROR_TYPE.TYPE_MISMATCH);
35
- expect(error.message).to.be.eql(createErrorMsg(ERROR_MESSAGE.TYPE_MISMATCH, {
36
- placeholders: ['regexp']
37
- }));
38
- expect(error.path).to.be.eql('a');
39
- expect(error.data).to.be.deep.equal(testData);
40
- expect(error.errorData).to.be.eql(obj.value);
41
- });
42
- });
43
-
44
- it('multiple types', () => {
45
- const value = 'ejv';
46
- const typeArr: string[] = ['boolean', 'regexp'];
47
-
48
- const testData = {
49
- a: value
50
- };
51
-
52
- const error: EjvError | null = ejv(testData, [{
53
- key: 'a',
54
- type: typeArr
55
- }]);
56
-
57
- expect(error).to.be.instanceof(EjvError);
58
-
59
- if (!error) {
60
- throw new Error('spec failed');
61
- }
62
-
63
- expect(error.type).to.be.eql(ERROR_TYPE.TYPE_MISMATCH_ONE_OF);
64
- expect(error.message).to.be.eql(createErrorMsg(ERROR_MESSAGE.TYPE_MISMATCH_ONE_OF, {
65
- placeholders: [JSON.stringify(typeArr)]
66
- }));
67
- expect(error.path).to.be.eql('a');
68
- expect(error.data).to.be.deep.equal(testData);
69
- expect(error.errorData).to.be.eql(value);
70
- });
71
- });
72
-
73
- describe('match', () => {
74
- it('optional', () => {
75
- expect(ejv({
76
- a: undefined
77
- }, [{
78
- key: 'a',
79
- type: 'regexp',
80
- optional: true
81
- }])).to.be.null;
82
- });
83
-
84
- it('single type', () => {
85
- expect(ejv({
86
- a: /./
87
- }, [{
88
- key: 'a',
89
- type: 'regexp'
90
- }])).to.be.null;
91
- });
92
-
93
- it('multiple types', () => {
94
- expect(ejv({
95
- a: /./
96
- }, [{
97
- key: 'a',
98
- type: ['regexp', 'number']
99
- }])).to.be.null;
100
- });
101
-
102
- it('multiple types', () => {
103
- expect(ejv({
104
- a: /./
105
- }, [{
106
- key: 'a',
107
- type: ['number', 'regexp']
108
- }])).to.be.null;
109
- });
110
- });
111
- });
112
- });
1
+ import { describe, it } from 'mocha';
2
+ import { expect } from 'chai';
3
+
4
+ import { ejv } from '../src/ejv';
5
+
6
+ import { EjvError } from '../src/interfaces';
7
+ import { ERROR_MESSAGE, ERROR_TYPE } from '../src/constants';
8
+ import { createErrorMsg } from '../src/util';
9
+ import { TypeTester, typeTesterArr } from './common-test-util';
10
+
11
+
12
+ describe('RegExpScheme', () => {
13
+ describe('type', () => {
14
+ describe('mismatch', () => {
15
+ typeTesterArr
16
+ .filter((obj: TypeTester): boolean => obj.type !== 'regexp')
17
+ .forEach((obj: TypeTester): void => {
18
+ it(obj.type, () => {
19
+ const testData = {
20
+ a: obj.value
21
+ };
22
+
23
+ const error: EjvError | null = ejv(testData, [{
24
+ key: 'a',
25
+ type: 'regexp'
26
+ }]);
27
+
28
+ expect(error).to.be.instanceof(EjvError);
29
+
30
+ if (!error) {
31
+ throw new Error('spec failed');
32
+ }
33
+
34
+ expect(error.type).to.be.eql(ERROR_TYPE.TYPE_MISMATCH);
35
+ expect(error.message).to.be.eql(createErrorMsg(ERROR_MESSAGE.TYPE_MISMATCH, {
36
+ placeholders: ['regexp']
37
+ }));
38
+ expect(error.path).to.be.eql('a');
39
+ expect(error.data).to.be.deep.equal(testData);
40
+ expect(error.errorData).to.be.eql(obj.value);
41
+ });
42
+ });
43
+
44
+ it('multiple types', () => {
45
+ const value = 'ejv';
46
+ const typeArr: string[] = ['boolean', 'regexp'];
47
+
48
+ const testData = {
49
+ a: value
50
+ };
51
+
52
+ const error: EjvError | null = ejv(testData, [{
53
+ key: 'a',
54
+ type: typeArr
55
+ }]);
56
+
57
+ expect(error).to.be.instanceof(EjvError);
58
+
59
+ if (!error) {
60
+ throw new Error('spec failed');
61
+ }
62
+
63
+ expect(error.type).to.be.eql(ERROR_TYPE.TYPE_MISMATCH_ONE_OF);
64
+ expect(error.message).to.be.eql(createErrorMsg(ERROR_MESSAGE.TYPE_MISMATCH_ONE_OF, {
65
+ placeholders: [JSON.stringify(typeArr)]
66
+ }));
67
+ expect(error.path).to.be.eql('a');
68
+ expect(error.data).to.be.deep.equal(testData);
69
+ expect(error.errorData).to.be.eql(value);
70
+ });
71
+ });
72
+
73
+ describe('match', () => {
74
+ it('optional', () => {
75
+ expect(ejv({
76
+ a: undefined
77
+ }, [{
78
+ key: 'a',
79
+ type: 'regexp',
80
+ optional: true
81
+ }])).to.be.null;
82
+ });
83
+
84
+ it('single type', () => {
85
+ expect(ejv({
86
+ a: /./
87
+ }, [{
88
+ key: 'a',
89
+ type: 'regexp'
90
+ }])).to.be.null;
91
+ });
92
+
93
+ it('multiple types', () => {
94
+ expect(ejv({
95
+ a: /./
96
+ }, [{
97
+ key: 'a',
98
+ type: ['regexp', 'number']
99
+ }])).to.be.null;
100
+ });
101
+
102
+ it('multiple types', () => {
103
+ expect(ejv({
104
+ a: /./
105
+ }, [{
106
+ key: 'a',
107
+ type: ['number', 'regexp']
108
+ }])).to.be.null;
109
+ });
110
+ });
111
+ });
112
+ });