Socket
Socket
Sign inDemoInstall

cleaner-node

Package Overview
Dependencies
Maintainers
1
Versions
175
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cleaner-node - npm Package Compare versions

Comparing version 0.17.8 to 0.17.9

16

package.json
{
"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 = [];

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc