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.
- package/.eslintrc.json +88 -0
- package/.mocharc.json +8 -0
- package/CHANGELOG.md +70 -29
- package/README-KR.md +6 -2
- package/README.md +6 -2
- package/build/{constants.js → cjs/constants.js} +117 -118
- package/build/cjs/constants.js.map +1 -0
- package/build/cjs/ejv.js +1263 -0
- package/build/cjs/ejv.js.map +1 -0
- package/build/{public_api.js → cjs/index.js} +14 -14
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/interfaces.js +29 -0
- package/build/cjs/interfaces.js.map +1 -0
- package/build/cjs/package.json +1 -0
- package/build/{tester.js → cjs/tester.js} +273 -268
- package/build/cjs/tester.js.map +1 -0
- package/build/cjs/util.js +103 -0
- package/build/cjs/util.js.map +1 -0
- package/build/constants.d.ts +101 -104
- package/build/ejv.d.ts +2 -2
- package/build/esm/constants.js +115 -0
- package/build/esm/constants.js.map +1 -0
- package/build/esm/ejv.js +1261 -0
- package/build/esm/ejv.js.map +1 -0
- package/build/esm/index.js +4 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/interfaces.js +33 -0
- package/build/esm/interfaces.js.map +1 -0
- package/build/esm/package.json +1 -0
- package/build/esm/tester.js +240 -0
- package/build/esm/tester.js.map +1 -0
- package/build/esm/util.js +96 -0
- package/build/esm/util.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/interfaces.d.ts +78 -38
- package/build/scripts/add-js-extensions.js +46 -0
- package/build/scripts/add-js-extensions.js.map +1 -0
- package/build/tester.d.ts +33 -34
- package/build/util.d.ts +7 -1
- package/package.json +48 -37
- package/scripts/add-js-extensions.ts +59 -0
- package/spec/ArrayScheme.ts +1021 -0
- package/spec/CommonScheme.ts +251 -0
- package/spec/DateScheme.ts +472 -0
- package/spec/NumberScheme.ts +1032 -0
- package/spec/ObjectScheme.ts +499 -0
- package/spec/RegExpScheme.ts +112 -0
- package/spec/StringScheme.ts +1239 -0
- package/spec/common-test-util.ts +63 -0
- package/spec/ejv.spec.ts +133 -4558
- package/spec/testers.spec.ts +17 -16
- package/src/constants.ts +41 -42
- package/src/ejv.ts +1141 -564
- package/src/index.ts +14 -0
- package/src/interfaces.ts +127 -41
- package/src/tester.ts +75 -69
- package/src/util.ts +106 -41
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.esm.json +7 -0
- package/tsconfig.json +21 -18
- package/tsconfig.scripts.json +14 -0
- package/tsconfig.types.json +9 -0
- package/build/constants.js.map +0 -1
- package/build/ejv.js +0 -685
- package/build/ejv.js.map +0 -1
- package/build/interfaces.js +0 -15
- package/build/interfaces.js.map +0 -1
- package/build/public_api.d.ts +0 -3
- package/build/public_api.js.map +0 -1
- package/build/tester.js.map +0 -1
- package/build/util.js +0 -66
- package/build/util.js.map +0 -1
- package/spec/common-test-runner.ts +0 -17
- package/src/public_api.ts +0 -3
- package/tsconfig.spec.json +0 -19
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// to test common type easily
|
|
2
|
+
|
|
3
|
+
import { expect } from 'chai';
|
|
4
|
+
|
|
5
|
+
import { EjvError, Scheme } from '../src/interfaces';
|
|
6
|
+
import { ejv } from '../src/ejv';
|
|
7
|
+
import { ErrorType } from '../src/constants';
|
|
8
|
+
|
|
9
|
+
export const commonTestRunner = (
|
|
10
|
+
testFnc: (args: unknown) => unknown,
|
|
11
|
+
nullResult: boolean,
|
|
12
|
+
undefinedResult: boolean,
|
|
13
|
+
booleanResult: boolean,
|
|
14
|
+
numberResult: boolean,
|
|
15
|
+
stringResult: boolean,
|
|
16
|
+
arrayResult: boolean,
|
|
17
|
+
objectResult: boolean
|
|
18
|
+
): boolean => {
|
|
19
|
+
return testFnc(null) === nullResult
|
|
20
|
+
&& testFnc(undefined) === undefinedResult
|
|
21
|
+
&& testFnc(true) === booleanResult
|
|
22
|
+
&& testFnc(8) === numberResult
|
|
23
|
+
&& testFnc('hello') === stringResult
|
|
24
|
+
&& testFnc([1, 2, 3]) === arrayResult
|
|
25
|
+
&& testFnc({ a: 1 }) === objectResult;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export interface TypeTester {
|
|
29
|
+
type: string;
|
|
30
|
+
value: unknown;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const typeTesterArr: TypeTester[] = [
|
|
34
|
+
{ type: 'boolean', value: true },
|
|
35
|
+
{ type: 'number', value: 123 },
|
|
36
|
+
{ type: 'string', value: 'ejv' },
|
|
37
|
+
{ type: 'object', value: {} },
|
|
38
|
+
{ type: 'date', value: new Date },
|
|
39
|
+
{ type: 'regexp', value: new RegExp('ejv') },
|
|
40
|
+
{ type: 'array', value: [1, 2, 3] }
|
|
41
|
+
];
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
export const checkSchemeError = (param: {
|
|
45
|
+
data: object,
|
|
46
|
+
errorScheme: Scheme,
|
|
47
|
+
message: string,
|
|
48
|
+
}): void => {
|
|
49
|
+
const ejvError: EjvError | null = ejv(param.data, [param.errorScheme]);
|
|
50
|
+
|
|
51
|
+
expect(ejvError).to.be.instanceOf(EjvError);
|
|
52
|
+
expect(ejvError).to.have.property('type', ErrorType.INVALID_SCHEMES);
|
|
53
|
+
expect(ejvError).to.have.property('message', param.message);
|
|
54
|
+
|
|
55
|
+
expect(ejvError).to.have.property('data', param.data);
|
|
56
|
+
expect(ejvError).to.not.have.property('path');
|
|
57
|
+
|
|
58
|
+
expect(ejvError).to.have.property('errorScheme', param.errorScheme);
|
|
59
|
+
expect(ejvError).to.not.have.property('errorData');
|
|
60
|
+
|
|
61
|
+
expect(ejvError).to.have.property('isSchemeError', true);
|
|
62
|
+
expect(ejvError).to.have.property('isDataError', false);
|
|
63
|
+
};
|