Socket
Socket
Sign inDemoInstall

object-delete-key

Package Overview
Dependencies
18
Maintainers
1
Versions
191
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 4.0.14 to 4.0.15

4

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 4.0.14
* @version 4.0.15
* @author Roy Revelt, Codsen Ltd

@@ -10,2 +10,2 @@ * @license MIT

import{find as u,get as m,drop as b,del as a}from"ast-monkey";import{isEmpty as v}from"ast-is-empty";import $ from"rfdc";import{arrObjOrBoth as f}from"util-array-object-or-both";var d="4.0.14";var g=$(),I=d,O={key:null,val:void 0,cleanup:!0,only:"any"};function w(i,y){function n(t){return t!=null}if(!n(i))throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");let e={...O,...y};if(e.only=f(e.only,{msg:"object-delete-key/deleteKey(): [THROW_ID_03]",optsVarName:"resolvedOpts.only"}),!n(e.key)&&!n(e.val))throw new Error("object-delete-key/deleteKey(): [THROW_ID_04] Please provide at least a key or a value.");let l=g(i);if(e.cleanup){let t=u(l,{key:e.key,val:e.val,only:e.only}),o,r;for(;Array.isArray(t)&&t.length;){r=t[0].index;for(let s=1,p=t[0].path.length;s<p;s++)o=t[0].path[p-1-s],v(a(m(l,{index:o}),{key:e.key,val:e.val,only:e.only}))&&(r=o);l=b(l,{index:r}),t=u(l,{key:e.key,val:e.val,only:e.only})}return l}return a(l,{key:e.key,val:e.val,only:e.only})}export{O as defaults,w as deleteKey,I as version};
import{find as u,get as m,drop as b,del as a}from"ast-monkey";import{isEmpty as v}from"ast-is-empty";import $ from"rfdc";import{arrObjOrBoth as f}from"util-array-object-or-both";var d="4.0.15";var g=$(),I=d,O={key:null,val:void 0,cleanup:!0,only:"any"};function w(i,y){function n(t){return t!=null}if(!n(i))throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");let e={...O,...y};if(e.only=f(e.only,{msg:"object-delete-key/deleteKey(): [THROW_ID_03]",optsVarName:"resolvedOpts.only"}),!n(e.key)&&!n(e.val))throw new Error("object-delete-key/deleteKey(): [THROW_ID_04] Please provide at least a key or a value.");let l=g(i);if(e.cleanup){let t=u(l,{key:e.key,val:e.val,only:e.only}),o,r;for(;Array.isArray(t)&&t.length;){r=t[0].index;for(let s=1,p=t[0].path.length;s<p;s++)o=t[0].path[p-1-s],v(a(m(l,{index:o}),{key:e.key,val:e.val,only:e.only}))&&(r=o);l=b(l,{index:r}),t=u(l,{key:e.key,val:e.val,only:e.only})}return l}return a(l,{key:e.key,val:e.val,only:e.only})}export{O as defaults,w as deleteKey,I as 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 4.0.14
* @version 4.0.15
* @author Roy Revelt, Codsen Ltd

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

`);if(T){let s=de(o.schema[u.path]).map(d=>`${d}`.toLowerCase());if(Y.default.set(o.schema,u.path,s),yt(s,m).length)f.push(u.path);else if(c!==!0&&c!==!1&&!s.includes((0,j.default)(c).toLowerCase())||(c===!0||c===!1)&&!s.includes(String(c))&&!s.includes("boolean"))if(Array.isArray(c)&&o.acceptArrays){for(let d=0,x=c.length;d<x;d++)if(!s.includes((0,j.default)(c[d]).toLowerCase()))throw new TypeError(`${o.msg}: ${o.optsVarName}.${u.path}.${d}, the ${d}th element (equal to ${JSON.stringify(c[d],null,0)}) is of a type ${(0,j.default)(c[d]).toLowerCase()}, but only the following are allowed by the ${o.optsVarName}.schema: ${s.join(", ")}`)}else throw new TypeError(`${o.msg}: ${o.optsVarName}.${u.path} was customised to ${(0,j.default)(c)!=="string"?'"':""}${JSON.stringify(c,null,0)}${(0,j.default)(c)!=="string"?'"':""} (type: ${(0,j.default)(c).toLowerCase()}) which is not among the allowed types in schema (which is equal to ${JSON.stringify(s,null,0)})`)}else if(t&&h(t)&&y){let s=Y.default.get(t,u.path);if(o.acceptArrays&&Array.isArray(c)&&!o.acceptArraysIgnore.includes(a)){if(!c.every(d=>(0,j.default)(d).toLowerCase()===(0,j.default)(t[a]).toLowerCase()))throw new TypeError(`${o.msg}: ${o.optsVarName}.${u.path} was customised to be array, but not all of its elements are ${(0,j.default)(t[a]).toLowerCase()}-type`)}else if((0,j.default)(c)!==(0,j.default)(s))throw new TypeError(`${o.msg}: ${o.optsVarName}.${u.path} was customised to ${(0,j.default)(c).toLowerCase()==="string"?"":'"'}${JSON.stringify(c,null,0)}${(0,j.default)(c).toLowerCase()==="string"?"":'"'} which is not ${(0,j.default)(s).toLowerCase()} but ${(0,j.default)(c).toLowerCase()}`)}return c})}function xe(e,t,r){Lo(e,t,r)}var M=L(ue(),1);function S(e){if(typeof e=="string")return!e.trim();if(!["object","string"].includes(typeof e)||!e)return!1;let t=!0;return e=N(e,(r,n,l,p)=>{let m=n!==void 0?n:r;return typeof m=="string"&&m.trim()&&(t=!1,p.now=!0),m}),t}function Ro(e){return h(e)?!Object.keys(e).length:Array.isArray(e)||typeof e=="string"?!e.length:!1}var Bo={hungryForWhitespace:!1,matchStrictly:!1,verboseWhenMismatches:!1,useWildcards:!1};function ee(e,t,r){let n,l,p,m=0,o=g(g({},Bo),r);if(o.hungryForWhitespace&&o.matchStrictly&&h(e)&&S(e)&&h(t)&&!Object.keys(t).length)return!0;if((!o.hungryForWhitespace||o.hungryForWhitespace&&!S(e)&&S(t))&&h(e)&&Object.keys(e).length!==0&&h(t)&&Object.keys(t).length===0||(0,M.default)(e)!==(0,M.default)(t)&&(!o.hungryForWhitespace||o.hungryForWhitespace&&!S(e)))return!1;if(typeof e=="string"&&typeof t=="string")return o.hungryForWhitespace&&S(e)&&S(t)?!0:o.verboseWhenMismatches?e===t?!0:`Given string ${t} is not matched! We have ${e} on the other end.`:o.useWildcards?W(e,t,{caseSensitive:!0}):e===t;if(Array.isArray(e)&&Array.isArray(t)){if(o.hungryForWhitespace&&S(t)&&(!o.matchStrictly||o.matchStrictly&&e.length===t.length))return!0;if(!o.hungryForWhitespace&&t.length>e.length||o.matchStrictly&&t.length!==e.length)return o.verboseWhenMismatches?`The length of a given array, ${JSON.stringify(t,null,4)} is ${t.length} but the length of an array on the other end, ${JSON.stringify(e,null,4)} is ${e.length}`:!1;if(t.length===0)return e.length===0?!0:o.verboseWhenMismatches?`The given array has no elements, but the array on the other end, ${JSON.stringify(e,null,4)} does have some`:!1;for(let f=0,a=t.length;f<a;f++){p=!1;for(let i=m,u=e.length;i<u;i++)if(m+=1,ee(e[i],t[f],o)===!0){p=!0;break}if(!p)return o.verboseWhenMismatches?`The given array ${JSON.stringify(t,null,4)} is not a subset of an array on the other end, ${JSON.stringify(e,null,4)}`:!1}}else if(h(e)&&h(t)){if(n=new Set(Object.keys(t)),l=new Set(Object.keys(e)),o.matchStrictly&&n.size!==l.size){if(!o.verboseWhenMismatches)return!1;let f=new Set([...n].filter(c=>!l.has(c))),a=f.size?` First object has unique keys: ${JSON.stringify(f,null,4)}.`:"",i=new Set([...l].filter(c=>!n.has(c))),u=i.size?` Second object has unique keys:
${JSON.stringify(i,null,4)}.`:"";return`When matching strictly, we found that both objects have different amount of keys.${a}${u}`}for(let f of n){if(!ct(e,f))return!o.useWildcards||o.useWildcards&&!f.includes("*")?o.verboseWhenMismatches?`The given object has key "${f}" which the other-one does not have.`:!1:Object.keys(e).some(a=>W(a,f,{caseSensitive:!0}))?!0:o.verboseWhenMismatches?`The given object has key "${f}" which the other-one does not have.`:!1;if(e[f]!=null&&(0,M.default)(e[f])!==(0,M.default)(t[f])){if(!(S(e[f])&&S(t[f])&&o.hungryForWhitespace))return o.verboseWhenMismatches?`The given key ${f} is of a different type on both objects. On the first-one, it's ${(0,M.default)(t[f])}, on the second-one, it's ${(0,M.default)(e[f])}`:!1}else if(ee(e[f],t[f],o)!==!0)return o.verboseWhenMismatches?`The given piece ${JSON.stringify(t[f],null,4)} and ${JSON.stringify(e[f],null,4)} don't match.`:!1}}else return o.hungryForWhitespace&&S(e)&&S(t)&&(!o.matchStrictly||o.matchStrictly&&Ro(t))?!0:e===t;return!0}function D(e){return e!=null}function te(e,t){return typeof e!=typeof t?!1:!!ee(e,t,{matchStrictly:!0,useWildcards:!0})}function re(e,t){let r=g({},t),n={count:0,gatherPath:[],finding:null},l=[],p=!1,m=!1;D(r.key)&&r.val===void 0&&(p=!0),!D(r.key)&&r.val!==void 0&&(m=!0);let o=e;return r.mode==="arrayFirstOnly"&&Array.isArray(o)&&o.length&&(o=[o[0]]),o=N(o,(f,a,i)=>{let u;if(n.count+=1,n.gatherPath.length=i.depth,n.gatherPath.push(n.count),r.mode==="get")n.count===r.index&&(i.parentType==="object"?(n.finding={},n.finding[f]=a):n.finding=f);else if(r.mode==="find"||r.mode==="del")if((r.only==="any"||r.only==="array"&&i.parentType==="array"||r.only==="object"&&i.parentType!=="array")&&(p&&te(f,r.key)||m&&te(a,r.val)||!p&&!m&&te(f,r.key)&&te(a,r.val)))if(r.mode==="find")u={index:n.count,key:f,val:a,path:[...n.gatherPath]},l.push(u);else return NaN;else return i.parentType==="object"?a:f;return r.mode==="set"&&n.count===r.index?r.val:r.mode==="drop"&&n.count===r.index?NaN:r.mode==="arrayFirstOnly"?i.parentType==="object"&&Array.isArray(a)?[a[0]]:D(f)&&Array.isArray(f)?[f[0]]:i.parentType==="object"?a:f:i.parentType==="object"?a:f}),r.mode==="get"?n.finding:r.mode==="find"?l:o}function ge(e,t){if(!D(e))throw new Error("ast-monkey/main.js/find(): [THROW_ID_02] Please provide the input");if(!h(t)||t.key===void 0&&t.val===void 0)throw new Error("ast-monkey/main.js/find(): [THROW_ID_03] Please provide resolvedOpts.key or resolvedOpts.val");let r=g({},t);return xe(r,null,{schema:{key:["null","string"],val:"any",only:["undefined","null","string"]},msg:"ast-monkey/get(): [THROW_ID_04*]"}),_(r.only)&&r.only.length?r.only=J(r.only,{optsVarName:"resolvedOpts.only",msg:"ast-monkey/find(): [THROW_ID_05*]"}):r.only="any",re(e,k(g({},r),{mode:"find"}))}function vt(e,t){if(!D(e))throw new Error("ast-monkey/main.js/get(): [THROW_ID_06] Please provide the input");if(!h(t))throw new Error("ast-monkey/main.js/get(): [THROW_ID_07] Please provide the resolvedOpts");if(!D(t.index))throw new Error("ast-monkey/main.js/get(): [THROW_ID_08] Please provide resolvedOpts.index");let r=g({},t);if(_(r.index)&&/^\d+$/.test(r.index))r.index=+r.index;else if(!Number.isInteger(r.index))throw new Error(`ast-monkey/main.js/get(): [THROW_ID_11] resolvedOpts.index must be a natural number. It was given as: ${r.index} (type ${typeof r.index})`);return re(e,k(g({},r),{mode:"get"}))}function wt(e,t){if(!D(e))throw new Error("ast-monkey/main.js/drop(): [THROW_ID_19] Please provide the input");if(!h(t))throw new Error("ast-monkey/main.js/drop(): [THROW_ID_20] Please provide the input");if(!D(t.index))throw new Error("ast-monkey/main.js/drop(): [THROW_ID_21] Please provide resolvedOpts.index");let r=g({},t);if(_(r.index)&&/^\d+$/.test(r.index))r.index=+r.index;else if(!Number.isInteger(r.index))throw new Error(`ast-monkey/main.js/drop(): [THROW_ID_23] resolvedOpts.index must be a natural number. It was given as: ${r.index}`);return re(e,k(g({},r),{mode:"drop"}))}function he(e,t){if(!D(e))throw new Error("ast-monkey/main.js/del(): [THROW_ID_26] Please provide the input");if(!h(t))throw new Error("ast-monkey/main.js/del(): [THROW_ID_27] Please provide the resolvedOpts object");if(!D(t.key)&&t.val===void 0)throw new Error("ast-monkey/main.js/del(): [THROW_ID_28] Please provide resolvedOpts.key or resolvedOpts.val");let r=g({},t);return xe(r,null,{schema:{key:[null,"string"],val:"any",only:["undefined","null","string"]},msg:"ast-monkey/drop(): [THROW_ID_29*]"}),_(r.only)&&r.only.length?r.only=J(r.only,{msg:"ast-monkey/del(): [THROW_ID_30*]",optsVarName:"resolvedOpts.only"}):r.only="any",re(e,k(g({},r),{mode:"del"}))}function oe(e){let t,r,n=!0;if(Array.isArray(e)){if(e.length===0)return!0;for(t=0,r=e.length;t<r;t++){if(n=oe(e[t]),n===null)return null;if(!n)return!1}}else if(h(e)){if(Object.keys(e).length===0)return!0;for(t=0,r=Object.keys(e).length;t<r;t++){if(n=oe(e[Object.keys(e)[t]]),n===null)return null;if(!n)return!1}}else if(typeof e=="string"){if(e.length!==0)return!1}else return null;return n}var jt=L(X(),1);var Ot="4.0.14";var Co=(0,jt.default)(),Fo=Ot,At={key:null,val:void 0,cleanup:!0,only:"any"};function Vo(e,t){function r(p){return p!=null}if(!r(e))throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");let n=g(g({},At),t);if(n.only=J(n.only,{msg:"object-delete-key/deleteKey(): [THROW_ID_03]",optsVarName:"resolvedOpts.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 l=Co(e);if(n.cleanup){let p=ge(l,{key:n.key,val:n.val,only:n.only}),m,o;for(;Array.isArray(p)&&p.length;){o=p[0].index;for(let f=1,a=p[0].path.length;f<a;f++)m=p[0].path[a-1-f],oe(he(vt(l,{index:m}),{key:n.key,val:n.val,only:n.only}))&&(o=m);l=wt(l,{index:o}),p=ge(l,{key:n.key,val:n.val,only:n.only})}return l}return he(l,{key:n.key,val:n.val,only:n.only})}return Nt(Ho);})();
${JSON.stringify(i,null,4)}.`:"";return`When matching strictly, we found that both objects have different amount of keys.${a}${u}`}for(let f of n){if(!ct(e,f))return!o.useWildcards||o.useWildcards&&!f.includes("*")?o.verboseWhenMismatches?`The given object has key "${f}" which the other-one does not have.`:!1:Object.keys(e).some(a=>W(a,f,{caseSensitive:!0}))?!0:o.verboseWhenMismatches?`The given object has key "${f}" which the other-one does not have.`:!1;if(e[f]!=null&&(0,M.default)(e[f])!==(0,M.default)(t[f])){if(!(S(e[f])&&S(t[f])&&o.hungryForWhitespace))return o.verboseWhenMismatches?`The given key ${f} is of a different type on both objects. On the first-one, it's ${(0,M.default)(t[f])}, on the second-one, it's ${(0,M.default)(e[f])}`:!1}else if(ee(e[f],t[f],o)!==!0)return o.verboseWhenMismatches?`The given piece ${JSON.stringify(t[f],null,4)} and ${JSON.stringify(e[f],null,4)} don't match.`:!1}}else return o.hungryForWhitespace&&S(e)&&S(t)&&(!o.matchStrictly||o.matchStrictly&&Ro(t))?!0:e===t;return!0}function D(e){return e!=null}function te(e,t){return typeof e!=typeof t?!1:!!ee(e,t,{matchStrictly:!0,useWildcards:!0})}function re(e,t){let r=g({},t),n={count:0,gatherPath:[],finding:null},l=[],p=!1,m=!1;D(r.key)&&r.val===void 0&&(p=!0),!D(r.key)&&r.val!==void 0&&(m=!0);let o=e;return r.mode==="arrayFirstOnly"&&Array.isArray(o)&&o.length&&(o=[o[0]]),o=N(o,(f,a,i)=>{let u;if(n.count+=1,n.gatherPath.length=i.depth,n.gatherPath.push(n.count),r.mode==="get")n.count===r.index&&(i.parentType==="object"?(n.finding={},n.finding[f]=a):n.finding=f);else if(r.mode==="find"||r.mode==="del")if((r.only==="any"||r.only==="array"&&i.parentType==="array"||r.only==="object"&&i.parentType!=="array")&&(p&&te(f,r.key)||m&&te(a,r.val)||!p&&!m&&te(f,r.key)&&te(a,r.val)))if(r.mode==="find")u={index:n.count,key:f,val:a,path:[...n.gatherPath]},l.push(u);else return NaN;else return i.parentType==="object"?a:f;return r.mode==="set"&&n.count===r.index?r.val:r.mode==="drop"&&n.count===r.index?NaN:r.mode==="arrayFirstOnly"?i.parentType==="object"&&Array.isArray(a)?[a[0]]:D(f)&&Array.isArray(f)?[f[0]]:i.parentType==="object"?a:f:i.parentType==="object"?a:f}),r.mode==="get"?n.finding:r.mode==="find"?l:o}function ge(e,t){if(!D(e))throw new Error("ast-monkey/main.js/find(): [THROW_ID_02] Please provide the input");if(!h(t)||t.key===void 0&&t.val===void 0)throw new Error("ast-monkey/main.js/find(): [THROW_ID_03] Please provide resolvedOpts.key or resolvedOpts.val");let r=g({},t);return xe(r,null,{schema:{key:["null","string"],val:"any",only:["undefined","null","string"]},msg:"ast-monkey/get(): [THROW_ID_04*]"}),_(r.only)&&r.only.length?r.only=J(r.only,{optsVarName:"resolvedOpts.only",msg:"ast-monkey/find(): [THROW_ID_05*]"}):r.only="any",re(e,k(g({},r),{mode:"find"}))}function vt(e,t){if(!D(e))throw new Error("ast-monkey/main.js/get(): [THROW_ID_06] Please provide the input");if(!h(t))throw new Error("ast-monkey/main.js/get(): [THROW_ID_07] Please provide the resolvedOpts");if(!D(t.index))throw new Error("ast-monkey/main.js/get(): [THROW_ID_08] Please provide resolvedOpts.index");let r=g({},t);if(_(r.index)&&/^\d+$/.test(r.index))r.index=+r.index;else if(!Number.isInteger(r.index))throw new Error(`ast-monkey/main.js/get(): [THROW_ID_11] resolvedOpts.index must be a natural number. It was given as: ${r.index} (type ${typeof r.index})`);return re(e,k(g({},r),{mode:"get"}))}function wt(e,t){if(!D(e))throw new Error("ast-monkey/main.js/drop(): [THROW_ID_19] Please provide the input");if(!h(t))throw new Error("ast-monkey/main.js/drop(): [THROW_ID_20] Please provide the input");if(!D(t.index))throw new Error("ast-monkey/main.js/drop(): [THROW_ID_21] Please provide resolvedOpts.index");let r=g({},t);if(_(r.index)&&/^\d+$/.test(r.index))r.index=+r.index;else if(!Number.isInteger(r.index))throw new Error(`ast-monkey/main.js/drop(): [THROW_ID_23] resolvedOpts.index must be a natural number. It was given as: ${r.index}`);return re(e,k(g({},r),{mode:"drop"}))}function he(e,t){if(!D(e))throw new Error("ast-monkey/main.js/del(): [THROW_ID_26] Please provide the input");if(!h(t))throw new Error("ast-monkey/main.js/del(): [THROW_ID_27] Please provide the resolvedOpts object");if(!D(t.key)&&t.val===void 0)throw new Error("ast-monkey/main.js/del(): [THROW_ID_28] Please provide resolvedOpts.key or resolvedOpts.val");let r=g({},t);return xe(r,null,{schema:{key:[null,"string"],val:"any",only:["undefined","null","string"]},msg:"ast-monkey/drop(): [THROW_ID_29*]"}),_(r.only)&&r.only.length?r.only=J(r.only,{msg:"ast-monkey/del(): [THROW_ID_30*]",optsVarName:"resolvedOpts.only"}):r.only="any",re(e,k(g({},r),{mode:"del"}))}function oe(e){let t,r,n=!0;if(Array.isArray(e)){if(e.length===0)return!0;for(t=0,r=e.length;t<r;t++){if(n=oe(e[t]),n===null)return null;if(!n)return!1}}else if(h(e)){if(Object.keys(e).length===0)return!0;for(t=0,r=Object.keys(e).length;t<r;t++){if(n=oe(e[Object.keys(e)[t]]),n===null)return null;if(!n)return!1}}else if(typeof e=="string"){if(e.length!==0)return!1}else return null;return n}var jt=L(X(),1);var Ot="4.0.15";var Co=(0,jt.default)(),Fo=Ot,At={key:null,val:void 0,cleanup:!0,only:"any"};function Vo(e,t){function r(p){return p!=null}if(!r(e))throw new Error("object-delete-key/deleteKey(): [THROW_ID_01] Please provide the first argument, something to work upon.");let n=g(g({},At),t);if(n.only=J(n.only,{msg:"object-delete-key/deleteKey(): [THROW_ID_03]",optsVarName:"resolvedOpts.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 l=Co(e);if(n.cleanup){let p=ge(l,{key:n.key,val:n.val,only:n.only}),m,o;for(;Array.isArray(p)&&p.length;){o=p[0].index;for(let f=1,a=p[0].path.length;f<a;f++)m=p[0].path[a-1-f],oe(he(vt(l,{index:m}),{key:n.key,val:n.val,only:n.only}))&&(o=m);l=wt(l,{index:o}),p=ge(l,{key:n.key,val:n.val,only:n.only})}return l}return he(l,{key:n.key,val:n.val,only:n.only})}return Nt(Ho);})();
/**

@@ -86,3 +86,3 @@ * @name util-array-object-or-both

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

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

* @fileoverview Traverse and edit AST
* @version 9.0.14
* @version 9.0.15
* @author Roy Revelt, Codsen Ltd

@@ -98,0 +98,0 @@ * @license MIT

{
"name": "object-delete-key",
"version": "4.0.14",
"version": "4.0.15",
"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.",

@@ -80,3 +80,3 @@ "keywords": [

"ast-is-empty": "^4.0.11",
"ast-monkey": "^9.0.14",
"ast-monkey": "^9.0.15",
"rfdc": "^1.3.0",

@@ -83,0 +83,0 @@ "util-array-object-or-both": "^5.0.8"

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc