ejv 2.0.3 → 2.0.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ejv",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "Easy JSON Validator",
5
5
  "exports": {
6
6
  "require": "./build/cjs/index.js",
@@ -264,6 +264,16 @@ describe('NumberScheme', () => {
264
264
  message: createErrorMsg(ErrorMsg.MIN_SHOULD_BE_NUMBER)
265
265
  });
266
266
  });
267
+
268
+ it('0 is ok', () => {
269
+ expect(ejv({
270
+ a: 1
271
+ }, [{
272
+ key: 'a',
273
+ type: 'number',
274
+ min: 0
275
+ }])).to.be.null;
276
+ });
267
277
  });
268
278
 
269
279
  it('ok', () => {
@@ -467,6 +477,16 @@ describe('NumberScheme', () => {
467
477
  message: createErrorMsg(ErrorMsg.MAX_SHOULD_BE_NUMBER)
468
478
  });
469
479
  });
480
+
481
+ it('0 is ok', () => {
482
+ expect(ejv({
483
+ a: -1
484
+ }, [{
485
+ key: 'a',
486
+ type: 'number',
487
+ max: 0
488
+ }])).to.be.null;
489
+ });
470
490
  });
471
491
 
472
492
  it('ok', () => {
package/src/ejv.ts CHANGED
@@ -357,7 +357,9 @@ const _ejv = <T> (data: T, schemes: Scheme[], options: InternalOptions): null |
357
357
  definedTester(numberScheme.min)
358
358
  || definedTester((scheme.parent as NumberScheme)?.min)
359
359
  ) {
360
- const effectiveMin: number = numberScheme.min || (scheme.parent as NumberScheme)?.min as number;
360
+ const effectiveMin: number = definedTester(numberScheme.min)
361
+ ? numberScheme.min
362
+ : (scheme.parent as NumberScheme)?.min as number;
361
363
 
362
364
  if (!numberTester(effectiveMin)) {
363
365
  return new EjvError({
@@ -423,7 +425,9 @@ const _ejv = <T> (data: T, schemes: Scheme[], options: InternalOptions): null |
423
425
 
424
426
  if (definedTester(numberScheme.max)
425
427
  || definedTester((scheme.parent as NumberScheme)?.max)) {
426
- const effectiveMax: number = numberScheme.max || (scheme.parent as NumberScheme)?.max as number;
428
+ const effectiveMax: number = definedTester(numberScheme.max)
429
+ ? numberScheme.max
430
+ : (scheme.parent as NumberScheme)?.max as number;
427
431
 
428
432
  if (!numberTester(effectiveMax)) {
429
433
  return new EjvError({
package/tsconfig.json CHANGED
@@ -2,14 +2,10 @@
2
2
  "compilerOptions": {
3
3
  "target": "ES2022",
4
4
  "sourceMap": true,
5
- "forceConsistentCasingInFileNames": true,
6
5
  "strict": true,
6
+ "forceConsistentCasingInFileNames": true,
7
7
  "noImplicitReturns": true,
8
- "noFallthroughCasesInSwitch": true,
9
- "lib": [
10
- "ES2022",
11
- "dom"
12
- ]
8
+ "noFallthroughCasesInSwitch": true
13
9
  },
14
10
  "include": [
15
11
  "src"