UNPKG

@herbertgao/surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

42 lines 1.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SortFilterWithSortedKeywords = exports.SortFilterWithSortedFilters = void 0; const lodash_1 = __importDefault(require("lodash")); // tslint:disable-next-line:max-classes-per-file class SortFilterWithSortedFilters { _filters; supportSort = true; constructor(_filters) { this._filters = _filters; this.filter.bind(this); } filter(nodeList) { const result = []; this._filters.forEach((filter) => { result.push(...nodeList.filter(filter)); }); return lodash_1.default.uniqBy(result, (node) => node.nodeName); } } exports.SortFilterWithSortedFilters = SortFilterWithSortedFilters; // tslint:disable-next-line:max-classes-per-file class SortFilterWithSortedKeywords { _keywords; supportSort = true; constructor(_keywords) { this._keywords = _keywords; this.filter.bind(this); } filter(nodeList) { const result = []; this._keywords.forEach((keyword) => { result.push(...nodeList.filter((node) => node.nodeName.includes(keyword))); }); return lodash_1.default.uniqBy(result, (node) => node.nodeName); } } exports.SortFilterWithSortedKeywords = SortFilterWithSortedKeywords; //# sourceMappingURL=classes.js.map