UNPKG

3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/filterProxy.js"],"names":["includes","list","target","checkProxy","proxy","filter","key","type","provider","test","worker","country","subtype","ipv","startsWith","check","filterProxy","proxies"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,IAAD,EAAOC,MAAP;AAAA,SAAkB,CAACD,IAAI,IAAI,EAAT,EAAaD,QAAb,CAAsBE,MAAtB,CAAlB;AAAA,CAAjB;;AAEO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAQC,MAAR,EAAmB;AAC3C,MAAI,4BAAWA,MAAX,CAAJ,EAAwB,OAAOA,MAAM,CAACD,KAAD,CAAb;AACxB,MAAIC,MAAM,CAACC,GAAP,IAAc,qBAAIF,KAAJ,EAAW,KAAX,MAAsBC,MAAM,CAACC,GAA/C,EAAoD,OAAO,KAAP;AACpD,MAAID,MAAM,CAACE,IAAP,IAAe,qBAAIH,KAAJ,EAAW,MAAX,MAAuBC,MAAM,CAACE,IAAjD,EAAuD,OAAO,KAAP;AACvD,MAAIF,MAAM,CAACG,QAAP,IAAmB,qBAAIJ,KAAJ,EAAW,UAAX,MAA2BC,MAAM,CAACG,QAAzD,EAAmE,OAAO,KAAP;AACnE,MAAIH,MAAM,CAACH,MAAP,IAAiB,CAACF,QAAQ,CAAC,qBAAII,KAAJ,EAAW,SAAX,CAAD,EAAwBC,MAAM,CAACH,MAA/B,CAA9B,EAAsE,OAAO,KAAP;AACtE,MAAIG,MAAM,CAACI,IAAP,IAAe,CAACT,QAAQ,CAAC,qBAAII,KAAJ,EAAW,OAAX,CAAD,EAAsBC,MAAM,CAACI,IAA7B,CAA5B,EAAgE,OAAO,KAAP;AAChE,MAAIJ,MAAM,CAACK,MAAP,IAAiB,qBAAIN,KAAJ,EAAW,aAAX,MAA8BC,MAAM,CAACK,MAA1D,EAAkE,OAAO,KAAP;AAClE,MAAIL,MAAM,CAACM,OAAP,IAAkB,qBAAIP,KAAJ,EAAW,cAAX,MAA+BC,MAAM,CAACM,OAA5D,EAAqE,OAAO,KAAP;AACrE,MAAIN,MAAM,CAACO,OAAP,IAAkB,qBAAIR,KAAJ,EAAW,cAAX,MAA+BC,MAAM,CAACO,OAA5D,EAAqE,OAAO,KAAP;AACrE,MAAIP,MAAM,CAACQ,GAAP,IAAc,CAAC,qBAAIT,KAAJ,EAAW,UAAX,EAAuB,EAAvB,EAA2BU,UAA3B,CAAsCT,MAAM,CAACQ,GAA7C,CAAnB,EAAsE,OAAO,KAAP;AACtE,MAAIR,MAAM,CAACU,KAAX,EAAkB,OAAOV,MAAM,CAACU,KAAP,CAAaX,KAAb,CAAP;AAClB,SAAO,IAAP;AACD,CAbM;;;;AAeA,IAAMY,WAAW,GAAG,SAAdA,WAAc;AAAA,MAACC,OAAD,uEAAW,EAAX;AAAA,MAAeZ,MAAf;AAAA,SAA0BY,OAAO,CAACZ,MAAR,CAAe,UAACD,KAAD;AAAA,WAAWD,UAAU,CAACC,KAAD,EAAQC,MAAR,CAArB;AAAA,GAAf,CAA1B;AAAA,CAApB;;;eAEQW,W","sourcesContent":["import get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\n\nconst includes = (list, target) => (list || []).includes(target);\n\nexport const checkProxy = (proxy, filter) => {\n if (isFunction(filter)) return filter(proxy);\n if (filter.key && get(proxy, 'key') !== filter.key) return false;\n if (filter.type && get(proxy, 'type') !== filter.type) return false;\n if (filter.provider && get(proxy, 'provider') !== filter.provider) return false;\n if (filter.target && !includes(get(proxy, 'targets'), filter.target)) return false;\n if (filter.test && !includes(get(proxy, 'tests'), filter.test)) return false;\n if (filter.worker && get(proxy, 'tags.worker') !== filter.worker) return false;\n if (filter.country && get(proxy, 'tags.country') !== filter.country) return false;\n if (filter.subtype && get(proxy, 'tags.subtype') !== filter.subtype) return false;\n if (filter.ipv && !get(proxy, 'tags.ipv', '').startsWith(filter.ipv)) return false;\n if (filter.check) return filter.check(proxy);\n return true;\n};\n\nexport const filterProxy = (proxies = [], filter) => proxies.filter((proxy) => checkProxy(proxy, filter));\n\nexport default filterProxy;\n"],"file":"filterProxy.js"}
\No newline at end of file