cleaner-node
Advanced tools
Comparing version 0.17.8 to 0.17.9
{ | ||
"name": "cleaner-node", | ||
"version": "0.17.8", | ||
"version": "0.17.9", | ||
"description": "Helpful utilities and scripts to make Node projects more legible and easier for the next developer to take over.", | ||
@@ -35,7 +35,7 @@ "main": "index.js", | ||
"dependencies": { | ||
"camelcase": "^6.2.1", | ||
"camelcase": "^6.3.0", | ||
"email-addresses": "^5.0.0", | ||
"gravatar": "^1.8.2", | ||
"html-to-text": "^8.1.0", | ||
"is-html": "^2.0.0", | ||
"is-html": "^3.0.0", | ||
"jsonwebtoken": "^8.5.1", | ||
@@ -50,11 +50,11 @@ "know-your-http-well": "^0.5.0", | ||
"devDependencies": { | ||
"eslint": "^8.4.0", | ||
"eslint-config-airbnb": "^19.0.2", | ||
"eslint": "^8.6.0", | ||
"eslint-config-airbnb": "^19.0.4", | ||
"eslint-config-airbnb-base": "^15.0.0", | ||
"eslint-config-standard": "^16.0.3", | ||
"eslint-plugin-import": "^2.25.3", | ||
"eslint-plugin-import": "^2.25.4", | ||
"eslint-plugin-jsx-a11y": "^6.5.1", | ||
"eslint-plugin-node": "^11.1.0", | ||
"eslint-plugin-promise": "^5.2.0", | ||
"eslint-plugin-react": "^7.27.1", | ||
"eslint-plugin-promise": "^6.0.0", | ||
"eslint-plugin-react": "^7.28.0", | ||
"eslint-plugin-react-hooks": "^4.3.0", | ||
@@ -61,0 +61,0 @@ "eslint-plugin-standard": "^4.1.0" |
@@ -6,3 +6,3 @@ const { isNumber } = require('./numbers'); | ||
class ApiError extends Error { | ||
constructor (message, number = null, status = INTERNAL_SERVER_ERROR, details) { | ||
constructor (message, number = null, status = INTERNAL_SERVER_ERROR, details) { // eslint-disable-line | ||
super(message); | ||
@@ -9,0 +9,0 @@ this.name = this.constructor.name; |
@@ -11,28 +11,40 @@ const arrays = require('./arrays'); | ||
const getProperty = (obj, keyOrKeys, isCaseSensitive = false) => { | ||
if (!objects.isValid(obj)) { return undefined; } | ||
const getKeys = (obj, keyOrKeys, isCaseSensitive = false) => { | ||
if (!objects.isValid(obj)) { return []; } | ||
const targetKeys = [].concat(keyOrKeys) | ||
.filter(strings.isValid) | ||
.filter(key => (strings.isValid(key))) | ||
.map(key => (isCaseSensitive ? key : key.toLowerCase())); | ||
const keys = Object.keys(obj).filter(key => (key && | ||
return Object.keys(obj).filter(key => (key && | ||
((isCaseSensitive && targetKeys.includes(key)) || | ||
(!isCaseSensitive && targetKeys.includes(key.toLowerCase()))))); | ||
const key = arrays.first(keys); | ||
return obj[key]; | ||
}; | ||
const getValueFromQuery = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getProperty(req.query, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValueFromBody = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getProperty(req.body, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValueFromParams = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getProperty(req.body, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValue = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getValueFromBody(req, keyOrKeys, isCaseSensitive) || | ||
getValueFromParams(req, keyOrKeys, isCaseSensitive) || | ||
getValueFromQuery(req, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValuesFromObject = (obj, keyOrKeys, isCaseSensitive = false) => ( | ||
getKeys(obj, keyOrKeys, isCaseSensitive) | ||
.filter(key => (strings.isValid(key))) | ||
.map(key => (obj[key])) | ||
); | ||
// MULTIPLES | ||
const getValuesFromBody = (req, keyOrKeys, isCaseSensitive = false) => getValuesFromObject(req.body, keyOrKeys, isCaseSensitive); | ||
const getValuesFromParams = (req, keyOrKeys, isCaseSensitive = false) => getValuesFromObject(req.params, keyOrKeys, isCaseSensitive); | ||
const getValuesFromQuery = (req, keyOrKeys, isCaseSensitive = false) => getValuesFromObject(req.query, keyOrKeys, isCaseSensitive); | ||
const getValues = (req, keyOrKeys, isCaseSensitive = false) => ([ | ||
...getValuesFromBody(req, keyOrKeys, isCaseSensitive), | ||
...getValuesFromParams(req, keyOrKeys, isCaseSensitive), | ||
...getValuesFromQuery(req, keyOrKeys, isCaseSensitive), | ||
].filter(x => (objects.isDefined(x)))); | ||
// SINGULAR | ||
const singleValueFromBody = (req, keyOrKeys, isCaseSensitive = false) => arrays.single(getValuesFromBody(req, keyOrKeys, isCaseSensitive)); | ||
const singleValueFromParams = (req, keyOrKeys, isCaseSensitive = false) => arrays.single(getValuesFromParams(req, keyOrKeys, isCaseSensitive)); | ||
const singleValueFromQuery = (req, keyOrKeys, isCaseSensitive = false) => arrays.single(getValuesFromQuery(req.query, keyOrKeys, isCaseSensitive)); | ||
const singleValue = (req, keyOrKeys, isCaseSensitive = false) => arrays.single(getValues(req, keyOrKeys, isCaseSensitive)); | ||
// FIRST | ||
const firstValueFromBody = (req, keyOrKeys, isCaseSensitive = false) => arrays.first(getValuesFromBody(req, keyOrKeys, isCaseSensitive)); | ||
const firstValueFromParams = (req, keyOrKeys, isCaseSensitive = false) => arrays.first(getValuesFromParams(req, keyOrKeys, isCaseSensitive)); | ||
const firstValueFromQuery = (req, keyOrKeys, isCaseSensitive = false) => arrays.first(getValuesFromQuery(req.query, keyOrKeys, isCaseSensitive)); | ||
const firstValue = (req, keyOrKeys, isCaseSensitive = false) => arrays.first(getValues(req, keyOrKeys, isCaseSensitive)); | ||
module.exports = { | ||
@@ -43,6 +55,24 @@ asyncMiddleware, | ||
getValue, | ||
getValueFromBody, | ||
getValueFromParams, | ||
getValueFromQuery | ||
getKeys, | ||
getValuesFromObject, | ||
getValues, | ||
getValuesFromBody, | ||
getValuesFromParams, | ||
getValuesFromQuery, | ||
getValue: firstValue, | ||
getValueFromBody: firstValueFromBody, | ||
getValueFromParams: firstValueFromParams, | ||
getValueFromQuery: firstValueFromQuery, | ||
singleValue, | ||
singleValueFromBody, | ||
singleValueFromParams, | ||
singleValueFromQuery, | ||
firstValue, | ||
firstValueFromBody, | ||
firstValueFromParams, | ||
firstValueFromQuery | ||
}; |
@@ -151,3 +151,3 @@ const { isValid: isValidString, toCamelCase } = require('./strings'); | ||
function setValue(obj = {}, path, value) { | ||
function setValue(obj = {}, path, value) { // eslint-disable-line | ||
const keys = path.split('.'); | ||
@@ -154,0 +154,0 @@ const used = []; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
84578
2124
+ Addedis-html@3.1.0(transitive)
- Removedis-html@2.0.0(transitive)
Updatedcamelcase@^6.3.0
Updatedis-html@^3.0.0