ejv 2.1.3 → 2.1.5

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 (46) hide show
  1. package/README-KR.md +47 -1
  2. package/README.md +47 -0
  3. package/build/cjs/constants.js +10 -0
  4. package/build/cjs/constants.js.map +1 -1
  5. package/build/cjs/ejv.js +83 -4
  6. package/build/cjs/ejv.js.map +1 -1
  7. package/build/cjs/interfaces.js.map +1 -1
  8. package/build/cjs/package.json +1 -1
  9. package/build/cjs/tester.js +145 -125
  10. package/build/cjs/tester.js.map +1 -1
  11. package/build/cjs/util.js +15 -16
  12. package/build/cjs/util.js.map +1 -1
  13. package/build/constants.d.ts +11 -1
  14. package/build/ejv.d.ts +1 -1
  15. package/build/esm/constants.js +10 -0
  16. package/build/esm/constants.js.map +1 -1
  17. package/build/esm/ejv.js +83 -3
  18. package/build/esm/ejv.js.map +1 -1
  19. package/build/esm/interfaces.js.map +1 -1
  20. package/build/esm/package.json +1 -1
  21. package/build/esm/tester.js +93 -76
  22. package/build/esm/tester.js.map +1 -1
  23. package/build/esm/util.js +8 -8
  24. package/build/esm/util.js.map +1 -1
  25. package/build/interfaces.d.ts +7 -1
  26. package/build/scripts/create-package-json.js +13 -0
  27. package/build/scripts/create-package-json.js.map +1 -0
  28. package/build/tester.d.ts +38 -34
  29. package/build/util.d.ts +5 -5
  30. package/eslint.config.mjs +1 -0
  31. package/package.json +18 -19
  32. package/scripts/create-package-json.ts +15 -0
  33. package/spec/ArrayScheme.ts +113 -12
  34. package/spec/BufferScheme.ts +406 -0
  35. package/spec/DateScheme.ts +12 -8
  36. package/spec/NumberScheme.ts +23 -14
  37. package/spec/ObjectScheme.ts +12 -9
  38. package/spec/RegExpScheme.ts +2 -2
  39. package/spec/StringScheme.ts +34 -18
  40. package/spec/common-test-util.ts +13 -10
  41. package/spec/testers.spec.ts +35 -1
  42. package/src/constants.ts +14 -1
  43. package/src/ejv.ts +109 -2
  44. package/src/interfaces.ts +13 -1
  45. package/src/tester.ts +99 -77
  46. package/src/util.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"tester.js","sourceRoot":"","sources":["../../src/tester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tester.js","sourceRoot":"","sources":["../../src/tester.ts"],"names":[],"mappings":"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"}
package/build/esm/util.js CHANGED
@@ -10,13 +10,13 @@ var CloneDataType;
10
10
  CloneDataType["Date"] = "date";
11
11
  CloneDataType["RegExp"] = "regexp";
12
12
  })(CloneDataType || (CloneDataType = {}));
13
- export const isArray = (value) => {
13
+ export function isArray(value) {
14
14
  return value !== undefined
15
15
  && value !== null
16
16
  && Array.isArray(value);
17
- };
17
+ }
18
18
  // sanitize removes undefined & null fields from object. default false
19
- export const clone = (obj, sanitize) => {
19
+ export function clone(obj, sanitize) {
20
20
  let result;
21
21
  if (obj) {
22
22
  let type = typeof obj;
@@ -73,16 +73,16 @@ export const clone = (obj, sanitize) => {
73
73
  result = obj; // do not copy null & undefined
74
74
  }
75
75
  return result;
76
- };
77
- export const sift = (arr) => {
76
+ }
77
+ export function sift(arr) {
78
78
  return arr.reduce((acc, cur) => {
79
79
  if (cur !== null && cur !== undefined && !acc.includes(cur)) {
80
80
  acc.push(cur);
81
81
  }
82
82
  return acc;
83
83
  }, []);
84
- };
85
- export const createErrorMsg = (errorMsg, param) => {
84
+ }
85
+ export function createErrorMsg(errorMsg, param) {
86
86
  let result = errorMsg;
87
87
  if (param?.placeholders) {
88
88
  param.placeholders.forEach((strToReplace, i) => {
@@ -92,5 +92,5 @@ export const createErrorMsg = (errorMsg, param) => {
92
92
  });
93
93
  }
94
94
  return result;
95
- };
95
+ }
96
96
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,13 @@ export interface ArrayScheme extends CommonScheme {
43
43
  minLength?: number;
44
44
  maxLength?: number;
45
45
  }
46
- export type Scheme = BooleanScheme | NumberScheme | StringScheme | ObjectScheme | DateScheme | RegExpScheme | ArrayScheme;
46
+ export type BufferLike = ArrayBuffer | SharedArrayBuffer | Exclude<ArrayBufferView, DataView>;
47
+ export interface BufferScheme extends CommonScheme {
48
+ byteLength?: number;
49
+ minByteLength?: number;
50
+ maxByteLength?: number;
51
+ }
52
+ export type Scheme = BooleanScheme | NumberScheme | StringScheme | ObjectScheme | DateScheme | RegExpScheme | ArrayScheme | BufferScheme;
47
53
  export interface Options {
48
54
  customErrorMsg?: {
49
55
  [key in ERROR_TYPE]?: string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const node_path_1 = require("node:path");
4
+ const node_fs_1 = require("node:fs");
5
+ console.log('* create-package-json');
6
+ const buildPath = (0, node_path_1.join)('.', 'build');
7
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(buildPath, 'cjs', 'package.json'), JSON.stringify({
8
+ type: 'commonjs'
9
+ }));
10
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(buildPath, 'esm', 'package.json'), JSON.stringify({
11
+ type: 'module'
12
+ }));
13
+ //# sourceMappingURL=create-package-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-package-json.js","sourceRoot":"","sources":["../../scripts/create-package-json.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AACjC,qCAAwC;AAGxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAErC,MAAM,SAAS,GAAW,IAAA,gBAAI,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAE7C,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACpE,IAAI,EAAE,UAAU;CAChB,CAAC,CAAC,CAAC;AAEJ,IAAA,uBAAa,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACpE,IAAI,EAAE,QAAQ;CACd,CAAC,CAAC,CAAC"}
package/build/tester.d.ts CHANGED
@@ -1,35 +1,39 @@
1
1
  import { DATA_TYPE } from './constants';
2
- import { AnyObject } from './interfaces';
3
- export declare const typeTester: (value: unknown, type: DATA_TYPE) => boolean;
4
- export declare const definedTester: (value: unknown) => value is boolean;
5
- export declare const enumTester: <T>(value: T, arr: T[]) => boolean;
6
- export declare const notEnumTester: <T>(value: T, arr: T[]) => boolean;
7
- export declare const lengthTester: (value: string | unknown[], length: number) => boolean;
8
- export declare const minLengthTester: (value: string | unknown[], minLength: number) => boolean;
9
- export declare const maxLengthTester: (value: string | unknown[], maxLength: number) => boolean;
10
- export declare const booleanTester: (value: unknown) => value is boolean;
11
- export declare const numberTester: (value: unknown) => value is number;
12
- export declare const integerTester: (value: number) => boolean;
13
- export declare const indexTester: (value: number) => value is number;
14
- export declare const minNumberTester: (value: number, min: number) => boolean;
15
- export declare const exclusiveMinNumberTester: (value: number, min: number) => boolean;
16
- export declare const maxNumberTester: (value: number, max: number) => boolean;
17
- export declare const exclusiveMaxNumberTester: (value: number, max: number) => boolean;
18
- export declare const stringTester: (value: unknown) => value is string;
19
- export declare const stringRegExpTester: (value: string, regExp: string | RegExp) => boolean;
20
- export declare const emailTester: (value: string) => boolean;
21
- export declare const jsonStrTester: (value: string) => boolean;
22
- export declare const dateFormatTester: (value: string) => boolean;
23
- export declare const timeFormatTester: (value: string) => boolean;
24
- export declare const dateTimeFormatTester: (value: string) => boolean;
25
- export declare const objectTester: (value: unknown) => boolean;
26
- export declare const hasPropertyTester: (value: AnyObject) => boolean;
27
- export declare const dateTester: (value: unknown) => value is Date;
28
- export declare const minDateTester: (value: Date, min: Date) => boolean;
29
- export declare const exclusiveMinDateTester: (value: Date, min: Date) => boolean;
30
- export declare const maxDateTester: (value: Date, max: Date) => boolean;
31
- export declare const exclusiveMaxDateTester: (value: Date, max: Date) => boolean;
32
- export declare const arrayTester: (value: unknown) => value is unknown[];
33
- export declare const arrayTypeOfTester: (array: unknown[], type: DATA_TYPE) => boolean;
34
- export declare const uniqueItemsTester: (array: unknown[]) => boolean;
35
- export declare const regExpTester: (value: unknown) => value is RegExp;
2
+ import { AnyObject, BufferLike } from './interfaces';
3
+ export declare function typeTester(value: unknown, type: DATA_TYPE): boolean;
4
+ export declare function definedTester(value: unknown): value is boolean;
5
+ export declare function enumTester<T>(value: T, arr: T[]): boolean;
6
+ export declare function notEnumTester<T>(value: T, arr: T[]): boolean;
7
+ export declare function lengthTester(value: string | unknown[], length: number): boolean;
8
+ export declare function minLengthTester(value: string | unknown[], minLength: number): boolean;
9
+ export declare function maxLengthTester(value: string | unknown[], maxLength: number): boolean;
10
+ export declare function bufferLengthTester(value: BufferLike, length: number): boolean;
11
+ export declare function minByteLengthTester(value: BufferLike, minLength: number): boolean;
12
+ export declare function maxByteLengthTester(value: BufferLike, maxLength: number): boolean;
13
+ export declare function booleanTester(value: unknown): value is boolean;
14
+ export declare function numberTester(value: unknown): value is number;
15
+ export declare function integerTester(value: number): boolean;
16
+ export declare function indexTester(value: number): value is number;
17
+ export declare function minNumberTester(value: number, min: number): boolean;
18
+ export declare function exclusiveMinNumberTester(value: number, min: number): boolean;
19
+ export declare function maxNumberTester(value: number, max: number): boolean;
20
+ export declare function exclusiveMaxNumberTester(value: number, max: number): boolean;
21
+ export declare function stringTester(value: unknown): value is string;
22
+ export declare function stringRegExpTester(value: string, regExp: string | RegExp): boolean;
23
+ export declare function emailTester(value: string): boolean;
24
+ export declare function jsonStrTester(value: string): boolean;
25
+ export declare function dateFormatTester(value: string): boolean;
26
+ export declare function timeFormatTester(value: string): boolean;
27
+ export declare function dateTimeFormatTester(value: string): boolean;
28
+ export declare function objectTester(value: unknown): boolean;
29
+ export declare function hasPropertyTester(value: AnyObject): boolean;
30
+ export declare function dateTester(value: unknown): value is Date;
31
+ export declare function minDateTester(value: Date, min: Date): boolean;
32
+ export declare function exclusiveMinDateTester(value: Date, min: Date): boolean;
33
+ export declare function maxDateTester(value: Date, max: Date): boolean;
34
+ export declare function exclusiveMaxDateTester(value: Date, max: Date): boolean;
35
+ export declare function arrayTester(value: unknown): value is unknown[];
36
+ export declare function arrayTypeOfTester(array: unknown[], type: DATA_TYPE): boolean;
37
+ export declare function uniqueItemsTester(array: unknown[]): boolean;
38
+ export declare function regExpTester(value: unknown): value is RegExp;
39
+ export declare function bufferTester(value: unknown): value is BufferLike;
package/build/util.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ERROR_MESSAGE } from './constants';
2
- export declare const isArray: <T>(value: unknown) => value is T[];
3
- export declare const clone: <T>(obj: T, sanitize?: boolean) => T;
4
- export declare const sift: <T>(arr: T[]) => T[];
5
- export declare const createErrorMsg: (errorMsg: ERROR_MESSAGE, param?: {
2
+ export declare function isArray<T>(value: unknown): value is T[];
3
+ export declare function clone<T>(obj: T, sanitize?: boolean): T;
4
+ export declare function sift<T>(arr: T[]): T[];
5
+ export declare function createErrorMsg(errorMsg: ERROR_MESSAGE, param?: {
6
6
  placeholders?: (string | number)[];
7
- }) => string;
7
+ }): string;
package/eslint.config.mjs CHANGED
@@ -52,6 +52,7 @@ export default [
52
52
  'quotes': ['warn', 'single'],
53
53
  'semi': ['warn', 'always'],
54
54
  '@typescript-eslint/no-shadow': 'error',
55
+ 'no-extra-semi': 'warn',
55
56
  'no-trailing-spaces': 'warn',
56
57
  'key-spacing': [
57
58
  'warn',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ejv",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Easy JSON Validator",
5
5
  "exports": {
6
6
  "require": "./build/cjs/index.js",
@@ -13,10 +13,10 @@
13
13
  "clean": "rimraf ./build",
14
14
  "prebuild": "yarn clean",
15
15
  "build:types": "tsc -p tsconfig.types.json",
16
- "build:cjs": "tsc -p tsconfig.cjs.json&&echo { \"type\": \"commonjs\" } > build/cjs/package.json",
17
- "build:esm": "tsc -p tsconfig.esm.json&&echo { \"type\": \"module\" } > build/esm/package.json",
16
+ "build:cjs": "tsc -p tsconfig.cjs.json",
17
+ "build:esm": "tsc -p tsconfig.esm.json",
18
18
  "build": "yarn build:types&&yarn build:cjs&&yarn build:esm",
19
- "postbuild": "tsc -p tsconfig.scripts.json&&node build/scripts/add-js-extensions",
19
+ "postbuild": "tsc -p tsconfig.scripts.json&&node build/scripts/add-js-extensions&&node build/scripts/create-package-json",
20
20
  "test": "mocha",
21
21
  "lint": "eslint"
22
22
  },
@@ -36,21 +36,20 @@
36
36
  },
37
37
  "homepage": "https://github.com/han41858/ejv#readme",
38
38
  "devDependencies": {
39
- "@eslint/js": "^9.30.1",
40
- "@types/chai": "^5.2.2",
39
+ "@eslint/js": "^10.0.1",
40
+ "@types/chai": "^5.2.3",
41
41
  "@types/mocha": "^10.0.10",
42
- "@types/node": "^22.16.0",
43
- "@typescript-eslint/eslint-plugin": "^8.35.1",
44
- "@typescript-eslint/parser": "^8.35.1",
45
- "chai": "^5.2.0",
46
- "eslint": "^9.30.1",
42
+ "@types/node": "24.1.0",
43
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
44
+ "@typescript-eslint/parser": "^8.54.0",
45
+ "chai": "^6.2.2",
46
+ "eslint": "^10.0.0",
47
47
  "eslint-plugin-chai-friendly": "^1.1.0",
48
- "globals": "^16.3.0",
49
- "mocha": "^11.7.1",
50
- "rimraf": "^6.0.1",
51
- "tsx": "^4.20.3",
52
- "typescript": "^5.8.3",
53
- "typescript-eslint": "^8.35.1"
54
- },
55
- "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447"
48
+ "globals": "^17.3.0",
49
+ "mocha": "^11.7.5",
50
+ "rimraf": "^6.1.2",
51
+ "tsx": "^4.21.0",
52
+ "typescript": "^5.9.3",
53
+ "typescript-eslint": "^8.54.0"
54
+ }
56
55
  }
@@ -0,0 +1,15 @@
1
+ import { join } from 'node:path';
2
+ import { writeFileSync } from 'node:fs';
3
+
4
+
5
+ console.log('* create-package-json');
6
+
7
+ const buildPath: string = join('.', 'build');
8
+
9
+ writeFileSync(join(buildPath, 'cjs', 'package.json'), JSON.stringify({
10
+ type: 'commonjs'
11
+ }));
12
+
13
+ writeFileSync(join(buildPath, 'esm', 'package.json'), JSON.stringify({
14
+ type: 'module'
15
+ }));
@@ -6,13 +6,13 @@ import { ejv } from '../src/ejv';
6
6
  import { EjvError, Scheme } from '../src/interfaces';
7
7
  import { ERROR_MESSAGE, ERROR_TYPE } from '../src/constants';
8
8
  import { createErrorMsg } from '../src/util';
9
- import { checkSchemeError, TypeTester, typeTesterArr } from './common-test-util';
9
+ import { checkSchemeError, TYPE_TESTER_ARR, TypeTester } from './common-test-util';
10
10
 
11
11
 
12
12
  describe('ArrayScheme', () => {
13
13
  describe('type', () => {
14
14
  describe('mismatch', () => {
15
- typeTesterArr
15
+ TYPE_TESTER_ARR
16
16
  .filter((obj: TypeTester): boolean => obj.type !== 'array')
17
17
  .forEach((obj: TypeTester): void => {
18
18
  it(obj.type, () => {
@@ -191,6 +191,100 @@ describe('ArrayScheme', () => {
191
191
  });
192
192
  });
193
193
 
194
+ describe('length', () => {
195
+ describe('check parameter', () => {
196
+ const data = {
197
+ a: [1, 2, 3]
198
+ };
199
+
200
+ it('undefined is ok', () => {
201
+ expect(ejv(data, [{
202
+ key: 'a',
203
+ type: 'array',
204
+ length: undefined
205
+ }])).to.be.null;
206
+ });
207
+
208
+ it('null', () => {
209
+ checkSchemeError({
210
+ data: data,
211
+ errorScheme: {
212
+ key: 'a',
213
+ type: 'array',
214
+ // @ts-expect-error: null
215
+ length: null
216
+ },
217
+
218
+ message: createErrorMsg(ERROR_MESSAGE.LENGTH_SHOULD_BE_INTEGER)
219
+ });
220
+ });
221
+
222
+ it('float number', () => {
223
+ checkSchemeError({
224
+ data: data,
225
+ errorScheme: {
226
+ key: 'a',
227
+ type: 'array',
228
+ length: 1.5
229
+ },
230
+
231
+ message: createErrorMsg(ERROR_MESSAGE.LENGTH_SHOULD_BE_INTEGER)
232
+ });
233
+ });
234
+
235
+ it('string', () => {
236
+ checkSchemeError({
237
+ data: data,
238
+ errorScheme: {
239
+ key: 'a',
240
+ type: 'array',
241
+ // @ts-expect-error: type mismatch
242
+ length: '1'
243
+ },
244
+
245
+ message: createErrorMsg(ERROR_MESSAGE.LENGTH_SHOULD_BE_INTEGER)
246
+ });
247
+ });
248
+ });
249
+
250
+ it('fail', () => {
251
+ const value = [1, 2, 3];
252
+ const testData = {
253
+ a: value
254
+ };
255
+
256
+ const error: EjvError | null = ejv(testData, [{
257
+ key: 'a',
258
+ type: 'array',
259
+ length: 2
260
+ }]);
261
+
262
+ expect(error).to.be.instanceof(EjvError);
263
+
264
+ if (!error) {
265
+ throw new Error('spec failed');
266
+ }
267
+
268
+ expect(error.type).to.be.eql(ERROR_TYPE.LENGTH);
269
+ expect(error.message).to.be.eql(createErrorMsg(ERROR_MESSAGE.LENGTH, {
270
+ placeholders: [2]
271
+ }));
272
+ expect(error.path).to.be.eql('a');
273
+ expect(error.data).to.be.deep.equal(testData);
274
+ expect(error.errorData).to.be.ordered.members(value);
275
+ });
276
+
277
+ it('ok', () => {
278
+ expect(ejv({
279
+ a: [1, 2, 3]
280
+ }, [{
281
+ key: 'a',
282
+ type: 'array',
283
+ length: 3
284
+ }])).to.be.null;
285
+ });
286
+ });
287
+
194
288
  describe('minLength', () => {
195
289
  describe('check parameter', () => {
196
290
  const data = {
@@ -211,7 +305,8 @@ describe('ArrayScheme', () => {
211
305
  errorScheme: {
212
306
  key: 'a',
213
307
  type: 'array',
214
- minLength: null as unknown as number
308
+ // @ts-expect-error: null
309
+ minLength: null
215
310
  },
216
311
 
217
312
  message: createErrorMsg(ERROR_MESSAGE.MIN_LENGTH_SHOULD_BE_INTEGER)
@@ -237,7 +332,8 @@ describe('ArrayScheme', () => {
237
332
  errorScheme: {
238
333
  key: 'a',
239
334
  type: 'array',
240
- minLength: '1' as unknown as number
335
+ // @ts-expect-error: type mismatch
336
+ minLength: '1'
241
337
  },
242
338
 
243
339
  message: createErrorMsg(ERROR_MESSAGE.MIN_LENGTH_SHOULD_BE_INTEGER)
@@ -311,7 +407,8 @@ describe('ArrayScheme', () => {
311
407
  errorScheme: {
312
408
  key: 'a',
313
409
  type: 'array',
314
- maxLength: null as unknown as number
410
+ // @ts-expect-error: null
411
+ maxLength: null
315
412
  },
316
413
 
317
414
  message: createErrorMsg(ERROR_MESSAGE.MAX_LENGTH_SHOULD_BE_INTEGER)
@@ -337,7 +434,8 @@ describe('ArrayScheme', () => {
337
434
  errorScheme: {
338
435
  key: 'a',
339
436
  type: 'array',
340
- maxLength: '1' as unknown as number
437
+ // @ts-expect-error: type mismatch
438
+ maxLength: '1'
341
439
  },
342
440
 
343
441
  message: createErrorMsg(ERROR_MESSAGE.MAX_LENGTH_SHOULD_BE_INTEGER)
@@ -411,7 +509,8 @@ describe('ArrayScheme', () => {
411
509
  errorScheme: {
412
510
  key: 'a',
413
511
  type: 'array',
414
- unique: null as unknown as boolean
512
+ // @ts-expect-error: null
513
+ unique: null
415
514
  },
416
515
 
417
516
  message: createErrorMsg(ERROR_MESSAGE.UNIQUE_SHOULD_BE_BOOLEAN)
@@ -424,7 +523,8 @@ describe('ArrayScheme', () => {
424
523
  errorScheme: {
425
524
  key: 'a',
426
525
  type: 'array',
427
- unique: 'hello' as unknown as boolean
526
+ // @ts-expect-error: type mismatch
527
+ unique: 'hello'
428
528
  },
429
529
 
430
530
  message: createErrorMsg(ERROR_MESSAGE.UNIQUE_SHOULD_BE_BOOLEAN)
@@ -559,7 +659,8 @@ describe('ArrayScheme', () => {
559
659
  errorScheme: {
560
660
  key: 'a',
561
661
  type: 'array',
562
- items: null as unknown as string[]
662
+ // @ts-expect-error: null
663
+ items: null
563
664
  },
564
665
 
565
666
  message: createErrorMsg(ERROR_MESSAGE.INVALID_ITEMS_SCHEME, {
@@ -728,7 +829,7 @@ describe('ArrayScheme', () => {
728
829
  type: 'array',
729
830
  items: {
730
831
  type: invalidDataType
731
- } as unknown as Scheme
832
+ }
732
833
  },
733
834
 
734
835
  message: createErrorMsg(ERROR_MESSAGE.SCHEMES_HAS_INVALID_TYPE, {
@@ -950,7 +1051,7 @@ describe('ArrayScheme', () => {
950
1051
  });
951
1052
 
952
1053
  it('nested array - single scheme', () => {
953
- const arr: string[] = ['ok', null as unknown as string];
1054
+ const arr = ['ok', null];
954
1055
  const testObj = {
955
1056
  a: [{
956
1057
  b: arr
@@ -984,7 +1085,7 @@ describe('ArrayScheme', () => {
984
1085
  });
985
1086
 
986
1087
  it('nested array - multiple chemes', () => {
987
- const arr: string[] = ['ok', null as unknown as string];
1088
+ const arr = ['ok', null];
988
1089
  const testObj = {
989
1090
  a: [{
990
1091
  b: arr