@bitovi/sequelize-querystring-parser
Advanced tools
Comparing version 0.1.8 to 0.1.9
function isNotValidInteger(number) { | ||
return typeof number !== "number" || isNaN(number); | ||
return !Number.isInteger(number) || number < 1; | ||
} | ||
@@ -4,0 +4,0 @@ |
@@ -13,7 +13,9 @@ const { | ||
let { number, size } = page; | ||
if (number) { | ||
if (number != null) { | ||
//default size to 10 if undefined | ||
size = size ?? 10; | ||
if (isNotValidInteger(number) || isNotValidInteger(size)) { | ||
errors.push("page[number] and page[size] should be integers"); | ||
errors.push( | ||
"page[number] and page[size] should be positive integers" | ||
); | ||
} else { | ||
@@ -20,0 +22,0 @@ const offset = getOffsetByPageNumber(number, size); |
{ | ||
"name": "@bitovi/sequelize-querystring-parser", | ||
"version": "0.1.8", | ||
"version": "0.1.9", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -51,3 +51,3 @@ const parsePage = require("../lib/parse-page"); | ||
results: {}, | ||
errors: ["page[number] and page[size] should be integers"], | ||
errors: ["page[number] and page[size] should be positive integers"], | ||
}, | ||
@@ -62,3 +62,3 @@ }, | ||
results: {}, | ||
errors: ["page[number] and page[size] should be integers"], | ||
errors: ["page[number] and page[size] should be positive integers"], | ||
}, | ||
@@ -68,2 +68,20 @@ }, | ||
{ | ||
title: "should return an error if a zero is passed as the page size", | ||
parameters: [{ number: 0, size: 0 }, []], | ||
expectedResults: { | ||
results: {}, | ||
errors: ["page[number] and page[size] should be positive integers"], | ||
}, | ||
}, | ||
{ | ||
title: "should return an error if a float is passed as the page size", | ||
parameters: [{ number: 1.1, size: 1.2 }, []], | ||
expectedResults: { | ||
results: {}, | ||
errors: ["page[number] and page[size] should be positive integers"], | ||
}, | ||
}, | ||
{ | ||
title: "should return valid results for valid parameters", | ||
@@ -70,0 +88,0 @@ parameters: [{ number: 3, size: 5 }, []], |
28537
896