array-pull-all-with-glob
Version:
Like _.pullAll but with globs (wildcards)
11 lines (9 loc) • 2.51 kB
JavaScript
/**
* @name array-pull-all-with-glob
* @fileoverview Like _.pullAll but with globs (wildcards)
* @version 7.0.12
* @author Roy Revelt, Codsen Ltd
* @license MIT
* {@link https://codsen.com/os/array-pull-all-with-glob/}
*/
;var arrayPullAllWithGlob=(()=>{var p=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames,m=Object.getOwnPropertySymbols;var h=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var y=(e,t,r)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a=(e,t)=>{for(var r in t||(t={}))h.call(t,r)&&y(e,r,t[r]);if(m)for(var r of m(t))E.call(t,r)&&y(e,r,t[r]);return e};var S=(e,t)=>{for(var r in t)p(e,r,{get:t[r],enumerable:!0})},$=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of k(t))!h.call(e,s)&&s!==r&&p(e,s,{get:()=>t[s],enumerable:!(n=j(t,s))||n.enumerable});return e};var M=e=>$(p({},"__esModule",{value:!0}),e);var P={};S(P,{defaults:()=>v,pull:()=>D,version:()=>T});function d(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var f=new Map,x=(e,t)=>{if(!Array.isArray(e))switch(typeof e){case"string":e=[e];break;case"undefined":e=[];break;default:throw new TypeError(`Expected '${t}' to be a string or an array, but got a type of '${typeof e}'`)}return e.filter(r=>{if(typeof r!="string"){if(typeof r>"u")return!1;throw new TypeError(`Expected '${t}' to be an array of strings, but found a type of '${typeof r}' in the array`)}return!0})},O=(e,t)=>{t=a({caseSensitive:!1},t);let r=e+JSON.stringify(t);if(f.has(r))return f.get(r);let n=e[0]==="!";n&&(e=e.slice(1)),e=d(e).replace(/\\\*/g,"[\\s\\S]*");let s=new RegExp(`^${e}$`,t.caseSensitive?"":"i");return s.negated=n,f.set(r,s),s},A=(e,t,r,n)=>{if(e=x(e,"inputs"),t=x(t,"patterns"),t.length===0)return[];t=t.map(l=>O(l,r));let{allPatterns:s}=r||{},u=[];for(let l of e){let i,g=[...t].fill(!1);for(let[o,c]of t.entries())if(c.test(l)&&(g[o]=!0,i=!c.negated,!i))break;if(!(i===!1||i===void 0&&t.some(o=>!o.negated)||s&&g.some((o,c)=>!o&&!t[c].negated))&&(u.push(l),n))break}return u};function b(e,t,r){return A(e,t,r,!0).length>0}var w="7.0.12";var T=w,v={caseSensitive:!0};function D(e,t,r){if(!e.length)return[];if(!e.length||!t.length)return Array.from(e);let n=typeof t=="string"?[t]:Array.from(t),s=a(a({},v),r);return Array.from(e).filter(l=>!n.some(i=>b(l,i,{caseSensitive:s.caseSensitive})))}return M(P);})();