cleaner-node
Advanced tools
Comparing version 0.17.4 to 0.17.5
{ | ||
"name": "cleaner-node", | ||
"version": "0.17.4", | ||
"version": "0.17.5", | ||
"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.0", | ||
"email-addresses": "^4.0.0", | ||
"gravatar": "^1.8.1", | ||
"html-to-text": "^8.0.0", | ||
"is-html": "^2.0.0", | ||
"camelcase": "^6.2.1", | ||
"email-addresses": "^5.0.0", | ||
"gravatar": "^1.8.2", | ||
"html-to-text": "^8.1.0", | ||
"is-html": "^3.0.0", | ||
"jsonwebtoken": "^8.5.1", | ||
@@ -50,14 +50,14 @@ "know-your-http-well": "^0.5.0", | ||
"devDependencies": { | ||
"eslint": "^7.32.0", | ||
"eslint-config-airbnb": "^18.2.1", | ||
"eslint-config-airbnb-base": "^14.2.1", | ||
"eslint": "^8.4.0", | ||
"eslint-config-airbnb": "^19.0.2", | ||
"eslint-config-airbnb-base": "^15.0.0", | ||
"eslint-config-standard": "^16.0.3", | ||
"eslint-plugin-import": "^2.23.4", | ||
"eslint-plugin-jsx-a11y": "^6.4.1", | ||
"eslint-plugin-import": "^2.25.3", | ||
"eslint-plugin-jsx-a11y": "^6.5.1", | ||
"eslint-plugin-node": "^11.1.0", | ||
"eslint-plugin-promise": "^5.1.0", | ||
"eslint-plugin-react": "^7.24.0", | ||
"eslint-plugin-react-hooks": "^4.2.0", | ||
"eslint-plugin-promise": "^5.2.0", | ||
"eslint-plugin-react": "^7.27.1", | ||
"eslint-plugin-react-hooks": "^4.3.0", | ||
"eslint-plugin-standard": "^4.1.0" | ||
} | ||
} |
@@ -0,2 +1,4 @@ | ||
const arrays = require('./objects'); | ||
const objects = require('./objects'); | ||
const strings = require('./strings'); | ||
@@ -9,24 +11,26 @@ const asyncMiddleware = (fn) => { | ||
const getProperty = (obj, key, isCaseSensitive = false) => { | ||
const getProperty = (obj, keyOrKeys, isCaseSensitive = false) => { | ||
if (!objects.isValid(obj)) { return undefined; } | ||
const keys = Object.keys(obj).filter(x => (x && | ||
((!isCaseSensitive && x.toLowerCase() === key.toLowerCase()) || | ||
(isCaseSensitive && x === key)))); | ||
const keyToUse = (keys.length === 1) ? keys[0] : key; | ||
return obj[keyToUse]; | ||
const targetKeys = [].concat(keyOrKeys) | ||
.filter(strings.isValid) | ||
.map(key => (isCaseSensitive ? key : key.toLowerCase())); | ||
const keys = 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, key, isCaseSensitive = false) => { | ||
return getProperty(req.query, key, isCaseSensitive); | ||
const getValueFromQuery = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getProperty(req.query, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValueFromBody = (req, key, isCaseSensitive = false) => { | ||
return getProperty(req.body, key, isCaseSensitive); | ||
const getValueFromBody = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getProperty(req.body, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValueFromParams = (req, key, isCaseSensitive = false) => { | ||
return getProperty(req.body, key, isCaseSensitive); | ||
const getValueFromParams = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getProperty(req.body, keyOrKeys, isCaseSensitive); | ||
}; | ||
const getValue = (req, key, isCaseSensitive = false) => { | ||
return getValueFromBody(req, key, isCaseSensitive) || | ||
getValueFromParams(req, key, isCaseSensitive) || | ||
getValueFromQuery(req, key, isCaseSensitive); | ||
const getValue = (req, keyOrKeys, isCaseSensitive = false) => { | ||
return getValueFromBody(req, keyOrKeys, isCaseSensitive) || | ||
getValueFromParams(req, keyOrKeys, isCaseSensitive) || | ||
getValueFromQuery(req, keyOrKeys, isCaseSensitive); | ||
}; | ||
@@ -33,0 +37,0 @@ |
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
82666
2095
+ Addedemail-addresses@5.0.0(transitive)
+ Addedis-html@3.1.0(transitive)
- Removedemail-addresses@4.0.0(transitive)
- Removedis-html@2.0.0(transitive)
Updatedcamelcase@^6.2.1
Updatedemail-addresses@^5.0.0
Updatedgravatar@^1.8.2
Updatedhtml-to-text@^8.1.0
Updatedis-html@^3.0.0