New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

object-delete-key

Package Overview
Dependencies
Maintainers
1
Versions
192
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

object-delete-key - npm Package Compare versions

Comparing version 3.0.5 to 3.0.6

106

dist/object-delete-key.esm.js
/**
* @name object-delete-key
* @fileoverview Delete keys from all arrays or plain objects, nested within anything, by key or by value or by both, and clean up afterwards. Accepts wildcards.
* @version 3.0.5
* @version 3.0.6
* @author Roy Revelt, Codsen Ltd

@@ -15,69 +15,55 @@ * @license MIT

var version$1 = "3.0.5";
var version$1 = "3.0.6";
const version = version$1;
function deleteKey(originalInput, originalOpts) {
function existy(x) {
return x != null;
}
if (!existy(originalInput)) {
throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");
}
const defaults = {
key: null,
val: undefined,
cleanup: true,
only: "any"
};
const opts = { ...defaults,
...originalOpts
};
opts.only = arrObjOrBoth(opts.only, {
msg: "object-delete-key/deleteKey(): [THROW_ID_03]",
optsVarName: "opts.only"
});
if (!existy(opts.key) && !existy(opts.val)) {
throw new Error("object-delete-key/deleteKey(): [THROW_ID_04] Please provide at least a key or a value.");
}
let input = clone(originalInput);
if (opts.cleanup) {
let findings = find(input, {
key: opts.key,
val: opts.val,
only: opts.only
function existy(x) {
return x != null;
}
if (!existy(originalInput)) {
throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");
}
const defaults = {
key: null,
val: undefined,
cleanup: true,
only: "any",
};
const opts = { ...defaults, ...originalOpts };
opts.only = arrObjOrBoth(opts.only, {
msg: "object-delete-key/deleteKey(): [THROW_ID_03]",
optsVarName: "opts.only",
});
let currentIndex;
let nodeToDelete;
while (Array.isArray(findings) && findings.length) {
nodeToDelete = findings[0].index;
for (let i = 1, len = findings[0].path.length; i < len; i++) {
currentIndex = findings[0].path[len - 1 - i];
if (isEmpty(del(get(input, {
index: currentIndex
}), {
key: opts.key,
val: opts.val,
only: opts.only
}))) {
nodeToDelete = currentIndex;
if (!existy(opts.key) && !existy(opts.val)) {
throw new Error("object-delete-key/deleteKey(): [THROW_ID_04] Please provide at least a key or a value.");
}
let input = clone(originalInput);
if (opts.cleanup) {
let findings = find(input, {
key: opts.key,
val: opts.val,
only: opts.only,
});
let currentIndex;
let nodeToDelete;
while (Array.isArray(findings) && findings.length) {
nodeToDelete = findings[0].index;
for (let i = 1, len = findings[0].path.length; i < len; i++) {
currentIndex = findings[0].path[len - 1 - i];
if (isEmpty(del(get(input, { index: currentIndex }), {
key: opts.key,
val: opts.val,
only: opts.only,
}))) {
nodeToDelete = currentIndex;
}
}
input = drop(input, { index: nodeToDelete });
findings = find(input, { key: opts.key, val: opts.val, only: opts.only });
}
}
input = drop(input, {
index: nodeToDelete
});
findings = find(input, {
key: opts.key,
val: opts.val,
only: opts.only
});
return input;
}
return input;
}
return del(input, {
key: opts.key,
val: opts.val,
only: opts.only
});
return del(input, { key: opts.key, val: opts.val, only: opts.only });
}
export { deleteKey, version };
/**
* @name object-delete-key
* @fileoverview Delete keys from all arrays or plain objects, nested within anything, by key or by value or by both, and clean up afterwards. Accepts wildcards.
* @version 3.0.5
* @version 3.0.6
* @author Roy Revelt, Codsen Ltd

@@ -14,3 +14,3 @@ * @license MIT

* @fileoverview Validate and normalise user choice: array, object or both?
* @version 4.0.5
* @version 4.0.6
* @author Roy Revelt, Codsen Ltd

@@ -23,3 +23,3 @@ * @license MIT

* @fileoverview Utility library of AST helper functions
* @version 2.0.5
* @version 2.0.6
* @author Roy Revelt, Codsen Ltd

@@ -32,3 +32,3 @@ * @license MIT

* @fileoverview Utility library to traverse AST
* @version 3.0.5
* @version 3.0.6
* @author Roy Revelt, Codsen Ltd

@@ -41,3 +41,3 @@ * @license MIT

* @fileoverview Put non-empty strings into arrays, turn empty-ones into empty arrays. Bypass everything else.
* @version 4.0.5
* @version 4.0.6
* @author Roy Revelt, Codsen Ltd

@@ -50,3 +50,3 @@ * @license MIT

* @fileoverview Validate options object
* @version 7.0.5
* @version 7.0.6
* @author Roy Revelt, Codsen Ltd

@@ -59,3 +59,3 @@ * @license MIT

* @fileoverview Does AST contain only empty space?
* @version 3.0.5
* @version 3.0.6
* @author Roy Revelt, Codsen Ltd

@@ -68,3 +68,3 @@ * @license MIT

* @fileoverview Compare anything: AST, objects, arrays, strings and nested thereof
* @version 3.0.5
* @version 3.0.6
* @author Roy Revelt, Codsen Ltd

@@ -77,3 +77,3 @@ * @license MIT

* @fileoverview Traverse and edit AST
* @version 8.0.5
* @version 8.0.6
* @author Roy Revelt, Codsen Ltd

@@ -86,6 +86,6 @@ * @license MIT

* @fileoverview Find out, is nested array/object/string/AST tree is empty
* @version 3.0.5
* @version 3.0.6
* @author Roy Revelt, Codsen Ltd
* @license MIT
* {@link https://codsen.com/os/ast-is-empty/}
*/function at(e){let t,r,n=!0;if(Array.isArray(e)){if(0===e.length)return!0;for(t=0,r=e.length;t<r;t++){if(n=at(e[t]),null===n)return null;if(!n)return!1}}else if(Y(e)){if(0===Object.keys(e).length)return!0;for(t=0,r=Object.keys(e).length;t<r;t++){if(n=at(e[Object.keys(e)[t]]),null===n)return null;if(!n)return!1}}else{if("string"!=typeof e)return null;if(0!==e.length)return!1}return n}e.deleteKey=function(e,t){function r(e){return null!=e}if(!r(e))throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");const n={...{key:null,val:void 0,cleanup:!0,only:"any"},...t};if(n.only=M(n.only,{msg:"object-delete-key/deleteKey(): [THROW_ID_03]",optsVarName:"opts.only"}),!r(n.key)&&!r(n.val))throw new Error("object-delete-key/deleteKey(): [THROW_ID_04] Please provide at least a key or a value.");let o=B(e);if(n.cleanup){let e,t,r=rt(o,{key:n.key,val:n.val,only:n.only});for(;Array.isArray(r)&&r.length;){t=r[0].index;for(let i=1,a=r[0].path.length;i<a;i++)e=r[0].path[a-1-i],at(it(nt(o,{index:e}),{key:n.key,val:n.val,only:n.only}))&&(t=e);o=ot(o,{index:t}),r=rt(o,{key:n.key,val:n.val,only:n.only})}return o}return it(o,{key:n.key,val:n.val,only:n.only})},e.version="3.0.5",Object.defineProperty(e,"__esModule",{value:!0})}));
*/function at(e){let t,r,n=!0;if(Array.isArray(e)){if(0===e.length)return!0;for(t=0,r=e.length;t<r;t++){if(n=at(e[t]),null===n)return null;if(!n)return!1}}else if(Y(e)){if(0===Object.keys(e).length)return!0;for(t=0,r=Object.keys(e).length;t<r;t++){if(n=at(e[Object.keys(e)[t]]),null===n)return null;if(!n)return!1}}else{if("string"!=typeof e)return null;if(0!==e.length)return!1}return n}e.deleteKey=function(e,t){function r(e){return null!=e}if(!r(e))throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");const n={...{key:null,val:void 0,cleanup:!0,only:"any"},...t};if(n.only=M(n.only,{msg:"object-delete-key/deleteKey(): [THROW_ID_03]",optsVarName:"opts.only"}),!r(n.key)&&!r(n.val))throw new Error("object-delete-key/deleteKey(): [THROW_ID_04] Please provide at least a key or a value.");let o=B(e);if(n.cleanup){let e,t,r=rt(o,{key:n.key,val:n.val,only:n.only});for(;Array.isArray(r)&&r.length;){t=r[0].index;for(let i=1,a=r[0].path.length;i<a;i++)e=r[0].path[a-1-i],at(it(nt(o,{index:e}),{key:n.key,val:n.val,only:n.only}))&&(t=e);o=ot(o,{index:t}),r=rt(o,{key:n.key,val:n.val,only:n.only})}return o}return it(o,{key:n.key,val:n.val,only:n.only})},e.version="3.0.6",Object.defineProperty(e,"__esModule",{value:!0})}));
{
"name": "object-delete-key",
"version": "3.0.5",
"version": "3.0.6",
"description": "Delete keys from all arrays or plain objects, nested within anything, by key or by value or by both, and clean up afterwards. Accepts wildcards.",

@@ -43,9 +43,8 @@ "keywords": [

"build": "rollup -c",
"ci_test": "npm run build && npm run format && tap --no-only --reporter=silent --output-file=testStats.md && npm run clean_cov",
"clean_cov": "../../scripts/leaveCoverageTotalOnly.js",
"build:esbuild": "node '../../scripts/esbuild.js'",
"build:esbuild:dev": "cross-env MODE=dev node '../../scripts/esbuild.js'",
"ci_test": "npm run build && npm run format && tap --no-only --reporter=silent",
"clean_types": "../../scripts/cleanTypes.js",
"dev": "rollup -c --dev",
"devunittest": "npm run dev && tap --only -R 'base'",
"esbuild": "node '../../scripts/esbuild.js'",
"esbuild_dev": "cross-env MODE=dev node '../../scripts/esbuild.js'",
"format": "npm run lect && npm run prettier && npm run lint",

@@ -59,13 +58,10 @@ "lect": "lect",

"pretest": "npm run build",
"test": "npm run lint && npm run unittest && npm run test:examples && npm run clean_cov && npm run format",
"test": "npm run test:ci && npm run perf",
"test:ci": "npm run unittest && npm run test:examples && npm run format",
"test:examples": "../../scripts/test-examples.js && npm run lect && npm run prettier",
"tsc": "tsc",
"unittest": "tap --no-only --output-file=testStats.md --reporter=terse && tsc -p tsconfig.json --noEmit && npm run clean_cov && npm run perf"
"unittest": "tap --no-only --reporter=terse && tsc -p tsconfig.json --noEmit"
},
"tap": {
"check-coverage": false,
"coverage-report": [
"json-summary",
"text"
],
"node-arg": [

@@ -93,7 +89,7 @@ "--no-warnings",

"dependencies": {
"@babel/runtime": "^7.16.0",
"ast-is-empty": "^3.0.5",
"ast-monkey": "^8.0.5",
"@babel/runtime": "^7.16.3",
"ast-is-empty": "^3.0.6",
"ast-monkey": "^8.0.6",
"lodash.clonedeep": "^4.5.0",
"util-array-object-or-both": "^4.0.5"
"util-array-object-or-both": "^4.0.6"
},

@@ -109,4 +105,4 @@ "devDependencies": {

"@babel/plugin-proposal-optional-chaining": "^7.16.0",
"@babel/plugin-transform-runtime": "^7.16.0",
"@babel/preset-env": "^7.16.0",
"@babel/plugin-transform-runtime": "^7.16.4",
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",

@@ -122,11 +118,11 @@ "@babel/register": "^7.16.0",

"@types/lodash.clonedeep": "^4.5.6",
"@types/node": "^16.11.6",
"@types/node": "^16.11.9",
"@types/tap": "^15.0.5",
"@typescript-eslint/eslint-plugin": "^5.3.0",
"@typescript-eslint/parser": "^5.3.0",
"@typescript-eslint/eslint-plugin": "^5.4.0",
"@typescript-eslint/parser": "^5.4.0",
"core-js": "^3.19.1",
"cross-env": "^7.0.3",
"eslint": "^8.2.0",
"lect": "^0.18.5",
"rollup": "^2.59.0",
"eslint": "^8.3.0",
"lect": "^0.18.6",
"rollup": "^2.60.0",
"rollup-plugin-ascii": "^0.0.3",

@@ -137,9 +133,9 @@ "rollup-plugin-banner": "^0.2.1",

"rollup-plugin-terser": "^7.0.2",
"tap": "^15.0.10",
"tap": "^15.1.2",
"tslib": "^2.3.1",
"typescript": "^4.4.4"
"typescript": "^4.5.2"
},
"engines": {
"node": ">=12"
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
}
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