@bitovi/objection-querystring-parser
Advanced tools
Comparing version 0.2.7 to 0.2.8
@@ -9,19 +9,18 @@ const { | ||
let errors = []; | ||
if (containsNoErrorFromParser(fieldErrors)) { | ||
if (!isObject(field)) { | ||
errors.push("Fields field should be an object"); | ||
} else { | ||
const keys = Object.keys(field); | ||
if (keys.length > 0) { | ||
const parameters = field[keys[0]]; | ||
parsedArray.push({ | ||
fx: "select", | ||
isNested: false, | ||
parameters, | ||
}); | ||
} | ||
if (!containsNoErrorFromParser(fieldErrors)) { | ||
errors = fieldErrors; | ||
} else if (!isObject(field)) { | ||
errors.push("Fields field should be an object"); | ||
} else { | ||
const keys = Object.keys(field); | ||
if (keys.length > 0) { | ||
const parameters = field[keys[0]]; | ||
parsedArray.push({ | ||
fx: "select", | ||
isNested: false, | ||
parameters, | ||
}); | ||
} | ||
} else { | ||
errors = fieldErrors; | ||
} | ||
return { | ||
@@ -28,0 +27,0 @@ results: parsedArray, |
@@ -50,3 +50,3 @@ const { | ||
const isSpecialOperator = specialOperators.some( | ||
(op) => op.toLocaleLowerCase() === operator.toLocaleLowerCase() | ||
(op) => op.toLocaleLowerCase() === operator.toLocaleLowerCase(), | ||
); | ||
@@ -99,47 +99,45 @@ sequelizeOperator = operator; | ||
if (filters) { | ||
if (containsNoErrorFromParser(filterErrors)) { | ||
if (isObject(filters)) { | ||
const keys = Object.keys(filters); | ||
if (keys.length > 0) { | ||
for (let key of keys) { | ||
if ( | ||
key === Operator.AND || | ||
key === Operator.OR || | ||
if (!containsNoErrorFromParser(filterErrors)) { | ||
errors = filterErrors; | ||
} else if (!isObject(filters)) { | ||
errors.push("Filter field must be an object"); | ||
} else { | ||
const keys = Object.keys(filters); | ||
if (keys.length > 0) { | ||
for (let key of keys) { | ||
if ( | ||
key === Operator.AND || | ||
key === Operator.OR || | ||
key === Operator.NOT | ||
) { | ||
const parameters = sortNestedFilters( | ||
filters[key], | ||
key === Operator.OR, | ||
); | ||
const fx = | ||
key === Operator.NOT | ||
) { | ||
const parameters = sortNestedFilters( | ||
filters[key], | ||
key === Operator.OR | ||
); | ||
const fx = | ||
key === Operator.NOT | ||
? objectionFunctions[Operator.NOT] | ||
: objectionFunctions.default; | ||
parsedArray = [ | ||
...parsedArray, | ||
{ | ||
fx: isOr ? convertToOrFormat(fx) : fx, | ||
isNested: true, | ||
parameters, | ||
}, | ||
]; | ||
} else { | ||
const { fx, parameters } = parseParametersForObjection( | ||
key, | ||
filters[key], | ||
isOr | ||
); | ||
parsedArray.push({ | ||
fx, | ||
isNested: false, | ||
? objectionFunctions[Operator.NOT] | ||
: objectionFunctions.default; | ||
parsedArray = [ | ||
...parsedArray, | ||
{ | ||
fx: isOr ? convertToOrFormat(fx) : fx, | ||
isNested: true, | ||
parameters, | ||
}); | ||
} | ||
}, | ||
]; | ||
} else { | ||
const { fx, parameters } = parseParametersForObjection( | ||
key, | ||
filters[key], | ||
isOr, | ||
); | ||
parsedArray.push({ | ||
fx, | ||
isNested: false, | ||
parameters, | ||
}); | ||
} | ||
} | ||
} else { | ||
errors.push("Filter field must be an object"); | ||
} | ||
} else { | ||
errors = filterErrors; | ||
} | ||
@@ -146,0 +144,0 @@ } |
@@ -9,19 +9,16 @@ const { | ||
let errors = []; | ||
if (containsNoErrorFromParser(includeErrors)) { | ||
if (!isAnArray(include)) { | ||
errors.push("Include field should be an array"); | ||
} else { | ||
if (include.length > 0) { | ||
for (let param of include) { | ||
parsedArray.push({ | ||
fx: "withGraphFetched", | ||
isNested: false, | ||
parameters: [param], | ||
}); | ||
} | ||
} | ||
if (!containsNoErrorFromParser(includeErrors)) { | ||
errors = includeErrors; | ||
} else if (!isAnArray(include)) { | ||
errors.push("Include field should be an array"); | ||
} else if (include.length > 0) { | ||
for (let param of include) { | ||
parsedArray.push({ | ||
fx: "withGraphFetched", | ||
isNested: false, | ||
parameters: [param], | ||
}); | ||
} | ||
} else { | ||
errors = includeErrors; | ||
} | ||
return { | ||
@@ -28,0 +25,0 @@ results: parsedArray, |
@@ -10,32 +10,29 @@ const { | ||
let errors = []; | ||
if (containsNoErrorFromParser(pageErrors)) { | ||
if (isObject(page)) { | ||
let { number, size } = page; | ||
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 positive integers" | ||
); | ||
} else { | ||
const offset = getOffsetByPageNumber(number, size); | ||
parsedArray.push({ | ||
fx: "offset", | ||
isNested: false, | ||
parameters: [offset], | ||
}); | ||
parsedArray.push({ | ||
fx: "limit", | ||
isNested: false, | ||
parameters: [size], | ||
}); | ||
} | ||
if (!containsNoErrorFromParser(pageErrors)) { | ||
errors = pageErrors; | ||
} else if (!isObject(page)) { | ||
errors.push("Page field should be an Object"); | ||
} else { | ||
let { number, size } = page; | ||
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 positive integers"); | ||
} else { | ||
const offset = getOffsetByPageNumber(number, size); | ||
parsedArray.push({ | ||
fx: "offset", | ||
isNested: false, | ||
parameters: [offset], | ||
}); | ||
parsedArray.push({ | ||
fx: "limit", | ||
isNested: false, | ||
parameters: [size], | ||
}); | ||
} | ||
} else { | ||
errors.push("Page field should be an Object"); | ||
} | ||
} else { | ||
errors = pageErrors; | ||
} | ||
return { | ||
@@ -42,0 +39,0 @@ results: parsedArray, |
@@ -9,23 +9,20 @@ const { | ||
let errors = []; | ||
if (containsNoErrorFromParser(sortErrors)) { | ||
if (!isAnArray(sort)) { | ||
errors.push("Sort field should be an array"); | ||
} else { | ||
if (sort.length > 0) { | ||
const newSortFields = sort.map((field) => { | ||
return { | ||
column: field.field, | ||
order: field.direction, | ||
}; | ||
}); | ||
parsedArray.push({ | ||
fx: "orderBy", | ||
isNested: false, | ||
parameters: [newSortFields], | ||
}); | ||
} | ||
} | ||
} else { | ||
if (!containsNoErrorFromParser(sortErrors)) { | ||
errors = sortErrors; | ||
} else if (!isAnArray(sort)) { | ||
errors.push("Sort field should be an array"); | ||
} else if (sort.length > 0) { | ||
const newSortFields = sort.map((field) => { | ||
return { | ||
column: field.field, | ||
order: field.direction, | ||
}; | ||
}); | ||
parsedArray.push({ | ||
fx: "orderBy", | ||
isNested: false, | ||
parameters: [newSortFields], | ||
}); | ||
} | ||
return { | ||
@@ -32,0 +29,0 @@ results: parsedArray, |
{ | ||
"name": "@bitovi/objection-querystring-parser", | ||
"version": "0.2.7", | ||
"version": "0.2.8", | ||
"description": "", | ||
@@ -20,3 +20,3 @@ "main": "index.js", | ||
"dependencies": { | ||
"@bitovi/querystring-parser": "^0.7.7" | ||
"@bitovi/querystring-parser": "^0.7.8" | ||
}, | ||
@@ -34,3 +34,3 @@ "devDependencies": { | ||
}, | ||
"gitHead": "e6c78d07257affc6352a304eced33991e5688071" | ||
"gitHead": "96833029f0c567feea43fb4284402fb277719070" | ||
} |
@@ -135,5 +135,3 @@ # objection-querystring-parser | ||
```js | ||
const result = querystringParser.parse( | ||
"filter=or(any(age,'10','20'),equals(name,'mike'))" | ||
); | ||
const result = querystringParser.parse("filter=or(any(age,'10','20'),equals(name,'mike'))"); | ||
console.log(result); | ||
@@ -164,5 +162,3 @@ // { | ||
```js | ||
const result = querystringParser.parse( | ||
"filter=not(lessOrEqual(age,'10'),equals(name,null))" | ||
); | ||
const result = querystringParser.parse("filter=not(lessOrEqual(age,'10'),equals(name,null))"); | ||
console.log(result); | ||
@@ -169,0 +165,0 @@ // { |
@@ -66,4 +66,4 @@ const parseFields = require("../lib/parse-fields"); | ||
expect(results).toEqual(expectedResults); | ||
} | ||
}, | ||
); | ||
}); |
@@ -187,4 +187,4 @@ const parseFilter = require("../lib/parse-filter"); | ||
expect(results).toEqual(expectedResults); | ||
} | ||
}, | ||
); | ||
}); |
@@ -71,4 +71,4 @@ const parseInclude = require("../lib/parse-include"); | ||
expect(results).toEqual(expectedResults); | ||
} | ||
}, | ||
); | ||
}); |
@@ -130,4 +130,4 @@ const parsePage = require("../lib/parse-page"); | ||
expect(results).toEqual(expectedResults); | ||
} | ||
}, | ||
); | ||
}); |
@@ -66,4 +66,4 @@ const parseSort = require("../lib/parse-sort"); | ||
expect(results).toEqual(expectedResults); | ||
} | ||
}, | ||
); | ||
}); |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
29736
17
842
195
1