Skip to content

Commit

Permalink
support more resource types
Browse files Browse the repository at this point in the history
  • Loading branch information
slymax committed Dec 20, 2023
1 parent ed1949d commit 6141c20
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions parser.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
import config from "./config.js";

export const parse = input => {
const lines = input.split("\n").filter(line => /^\w+/.test(line));
const rules = lines.map(line => line.replace(/[A-Z]+(?=\s)/g, match => match.toLowerCase()));
return rules.map(rule => rule.split(" ")).map((rule, index) => ({
"id": index + 1,
"action": {
"type": ["allow", "block"].includes(rule[0]) ? rule[0] : "redirect",
"redirect": ["set", "remove", "redirect"].includes(rule[0]) ? {
"regexSubstitution": rule[0] === "redirect" ? rule[3].replaceAll("$", "\\") : undefined,
"transform": ["set", "remove"].includes(rule[0]) ? {
id: index + 1,
action: {
type: ["allow", "block"].includes(rule[0]) ? rule[0] : "redirect",
redirect: ["set", "remove", "redirect"].includes(rule[0]) ? {
regexSubstitution: rule[0] === "redirect" ? rule[3].replaceAll("$", "\\") : undefined,
transform: ["set", "remove"].includes(rule[0]) ? {
[rule[1]]: rule[0] === "set" ? rule[2] : ""
} : undefined
} : undefined
},
"condition": {
"regexFilter": rule[{ "set": 4, "remove": 3 }[rule[0]] || 1],
"resourceTypes": ["main_frame"]
condition: {
regexFilter: rule[{ set: 4, remove: 3 }[rule[0]] || 1],
resourceTypes: config.resourceTypes
}
}));
};

0 comments on commit 6141c20

Please sign in to comment.