@adguard/agtree 2.2.0 → 3.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/ast-utils/clone.js +61 -0
- package/dist/ast-utils/modifiers.js +53 -0
- package/dist/ast-utils/network-rules.js +41 -0
- package/dist/ast-utils/scriptlets.js +87 -0
- package/dist/common/abp-snippet-injection-body-common.js +23 -0
- package/dist/common/agent-common.js +56 -0
- package/dist/common/ubo-selector-common.js +17 -0
- package/dist/compatibility-tables/base.js +262 -0
- package/dist/compatibility-tables/compatibility-table-data.js +11 -0
- package/dist/compatibility-tables/modifiers.js +55 -0
- package/dist/compatibility-tables/platforms.js +76 -0
- package/dist/compatibility-tables/redirects.js +100 -0
- package/dist/compatibility-tables/schemas/base.js +111 -0
- package/dist/compatibility-tables/schemas/modifier.js +129 -0
- package/dist/compatibility-tables/schemas/platform.js +69 -0
- package/dist/compatibility-tables/schemas/redirect.js +29 -0
- package/dist/compatibility-tables/schemas/resource-type.js +36 -0
- package/dist/compatibility-tables/schemas/scriptlet.js +79 -0
- package/dist/compatibility-tables/scriptlets.js +28 -0
- package/dist/compatibility-tables/utils/platform-helpers.js +105 -0
- package/dist/compatibility-tables/utils/resource-type-helpers.js +61 -0
- package/dist/compatibility-tables/utils/zod-camelcase.js +25 -0
- package/dist/converter/base-interfaces/base-converter.js +59 -0
- package/dist/converter/base-interfaces/conversion-result.js +38 -0
- package/dist/converter/base-interfaces/rule-converter-base.js +60 -0
- package/dist/converter/comment/index.js +54 -0
- package/dist/converter/cosmetic/css.js +69 -0
- package/dist/converter/cosmetic/element-hiding.js +62 -0
- package/dist/converter/cosmetic/header-removal.js +123 -0
- package/dist/converter/cosmetic/html.js +379 -0
- package/dist/converter/cosmetic/index.js +118 -0
- package/dist/converter/cosmetic/rule-modifiers/adg.js +79 -0
- package/dist/converter/cosmetic/scriptlet.js +354 -0
- package/dist/converter/css/index.js +188 -0
- package/dist/converter/data/css.js +126 -0
- package/dist/converter/filter-list.js +88 -0
- package/dist/converter/index.js +8 -0
- package/dist/converter/misc/network-rule-modifier.js +311 -0
- package/dist/converter/network/index.js +99 -0
- package/dist/converter/raw-filter-list.js +56 -0
- package/dist/converter/rule.js +81 -0
- package/dist/deserializer/base-deserializer.js +29 -0
- package/dist/deserializer/comment/agent-comment-deserializer.js +79 -0
- package/dist/deserializer/comment/agent-deserializer.js +65 -0
- package/dist/deserializer/comment/comment-rule-deserializer.js +54 -0
- package/dist/deserializer/comment/config-comment-deserializer.js +111 -0
- package/dist/deserializer/comment/hint-comment-deserializer.js +72 -0
- package/dist/deserializer/comment/hint-deserializer.js +85 -0
- package/dist/deserializer/comment/metadata-comment-deserializer.js +69 -0
- package/dist/deserializer/comment/pre-processor-comment-deserializer.js +112 -0
- package/dist/deserializer/comment/simple-comment-deserializer.js +65 -0
- package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +131 -0
- package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +56 -0
- package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +48 -0
- package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +39 -0
- package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +40 -0
- package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +54 -0
- package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +38 -0
- package/dist/deserializer/empty-rule-deserializer.js +48 -0
- package/dist/deserializer/filterlist-deserializer.js +85 -0
- package/dist/deserializer/index.js +8 -0
- package/dist/deserializer/invalid-rule-deserializer.js +50 -0
- package/dist/deserializer/invalid-rule-error-node-deserializer.js +50 -0
- package/dist/deserializer/misc/domain-list-deserializer.js +64 -0
- package/dist/deserializer/misc/list-item-deserializer.js +69 -0
- package/dist/deserializer/misc/list-items-deserializer.js +30 -0
- package/dist/deserializer/misc/logical-expression-deserializer.js +196 -0
- package/dist/deserializer/misc/modifier-deserializer.js +87 -0
- package/dist/deserializer/misc/modifier-list-deserializer.js +61 -0
- package/dist/deserializer/misc/parameter-list-deserializer.js +64 -0
- package/dist/deserializer/misc/value-deserializer.js +50 -0
- package/dist/deserializer/network/host-rule-deserializer.js +67 -0
- package/dist/deserializer/network/hostname-list-deserializer.js +56 -0
- package/dist/deserializer/network/network-rule-deserializer.js +65 -0
- package/dist/deserializer/rule-deserializer.js +65 -0
- package/dist/deserializer/syntax-deserialization-map.js +21 -0
- package/dist/errors/adblock-syntax-error.js +39 -0
- package/dist/errors/binary-schema-mismatch-error.js +37 -0
- package/dist/errors/not-implemented-error.js +31 -0
- package/dist/errors/rule-conversion-error.js +26 -0
- package/dist/generator/base-generator.js +27 -0
- package/dist/generator/comment/agent-comment-generator.js +31 -0
- package/dist/generator/comment/agent-generator.js +36 -0
- package/dist/generator/comment/comment-rule-generator.js +47 -0
- package/dist/generator/comment/config-comment-generator.js +45 -0
- package/dist/generator/comment/hint-comment-generator.js +28 -0
- package/dist/generator/comment/hint-generator.js +33 -0
- package/dist/generator/comment/metadata-comment-generator.js +33 -0
- package/dist/generator/comment/pre-processor-comment-generator.js +48 -0
- package/dist/generator/comment/simple-comment-generator.js +29 -0
- package/dist/generator/cosmetic/body/abp-snippet-injection-body-generator.js +38 -0
- package/dist/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +43 -0
- package/dist/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +45 -0
- package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +94 -0
- package/dist/generator/cosmetic/cosmetic-rule-generator.js +54 -0
- package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +42 -0
- package/dist/generator/css/adg-css-injection-generator.js +42 -0
- package/dist/generator/filterlist-generator.js +67 -0
- package/dist/generator/index.js +9 -0
- package/dist/generator/misc/domain-list-generator.js +26 -0
- package/dist/generator/misc/list-items-generator.js +39 -0
- package/dist/generator/misc/logical-expression-generator.js +48 -0
- package/dist/generator/misc/modifier-generator.js +34 -0
- package/dist/generator/misc/modifier-list-generator.js +29 -0
- package/dist/generator/misc/parameter-list-generator.js +41 -0
- package/dist/generator/misc/value-generator.js +24 -0
- package/dist/generator/network/host-rule-generator.js +39 -0
- package/dist/generator/network/network-rule-generator.js +38 -0
- package/dist/generator/rule-generator.js +65 -0
- package/dist/index.js +70 -0
- package/dist/marshalling-utils/comment/agent-comment-common.js +21 -0
- package/dist/marshalling-utils/comment/agent-common.js +40 -0
- package/dist/marshalling-utils/comment/config-comment-common.js +54 -0
- package/dist/marshalling-utils/comment/hint-comment-common.js +22 -0
- package/dist/marshalling-utils/comment/hint-common.js +56 -0
- package/dist/marshalling-utils/comment/metadata-comment-common.js +41 -0
- package/dist/marshalling-utils/comment/pre-processor-comment-common.js +59 -0
- package/dist/marshalling-utils/comment/simple-comment-common.js +22 -0
- package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +61 -0
- package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +66 -0
- package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +24 -0
- package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +21 -0
- package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +114 -0
- package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +48 -0
- package/dist/marshalling-utils/empty-rule-common.js +20 -0
- package/dist/marshalling-utils/filter-list-common.js +21 -0
- package/dist/marshalling-utils/invalid-rule-common.js +21 -0
- package/dist/marshalling-utils/invalid-rule-error-node-common.js +22 -0
- package/dist/marshalling-utils/misc/binary-type-common.js +66 -0
- package/dist/marshalling-utils/misc/domain-list-common.js +36 -0
- package/dist/marshalling-utils/misc/host-rule-common.js +25 -0
- package/dist/marshalling-utils/misc/hostname-list-common.js +21 -0
- package/dist/marshalling-utils/misc/list-item-common.js +22 -0
- package/dist/marshalling-utils/misc/logical-expression-common.js +83 -0
- package/dist/marshalling-utils/misc/modifier-common.js +231 -0
- package/dist/marshalling-utils/misc/modifier-list-common.js +21 -0
- package/dist/marshalling-utils/misc/parameter-list-common.js +21 -0
- package/dist/marshalling-utils/misc/value-common.js +22 -0
- package/dist/marshalling-utils/network/network-rule-common.js +25 -0
- package/dist/marshalling-utils/syntax-serialization-map.js +30 -0
- package/dist/nodes/index.js +168 -0
- package/dist/package.json.js +9 -0
- package/dist/parser/base-parser.js +30 -0
- package/dist/parser/comment/agent-comment-parser.js +119 -0
- package/dist/parser/comment/agent-parser.js +110 -0
- package/dist/parser/comment/comment-parser.js +108 -0
- package/dist/parser/comment/config-comment-parser.js +137 -0
- package/dist/parser/comment/hint-comment-parser.js +117 -0
- package/dist/parser/comment/hint-parser.js +129 -0
- package/dist/parser/comment/metadata-comment-parser.js +129 -0
- package/dist/parser/comment/preprocessor-parser.js +199 -0
- package/dist/parser/comment/simple-comment-parser.js +106 -0
- package/dist/parser/cosmetic/body/abp-snippet-injection-body-parser.js +79 -0
- package/dist/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +149 -0
- package/dist/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +110 -0
- package/dist/parser/cosmetic/cosmetic-rule-parser.js +453 -0
- package/dist/parser/css/adg-css-injection-parser.js +208 -0
- package/dist/parser/css/balancing.js +94 -0
- package/dist/parser/css/constants.js +18 -0
- package/dist/parser/css/css-token-stream.js +343 -0
- package/dist/parser/css/ubo-selector-parser.js +369 -0
- package/dist/parser/filterlist-parser.js +102 -0
- package/dist/parser/index.js +12 -0
- package/dist/parser/misc/app-list-parser.js +45 -0
- package/dist/parser/misc/domain-list-parser.js +52 -0
- package/dist/parser/misc/list-items-parser.js +116 -0
- package/dist/parser/misc/logical-expression-parser.js +279 -0
- package/dist/parser/misc/method-list-parser.js +46 -0
- package/dist/parser/misc/modifier-list.js +70 -0
- package/dist/parser/misc/modifier-parser.js +89 -0
- package/dist/parser/misc/parameter-list-parser.js +75 -0
- package/dist/parser/misc/stealth-option-list-parser.js +46 -0
- package/dist/parser/misc/ubo-parameter-list-parser.js +149 -0
- package/dist/parser/misc/value-parser.js +37 -0
- package/dist/parser/network/host-rule-parser.js +130 -0
- package/dist/parser/network/network-rule-parser.js +117 -0
- package/dist/parser/options.js +23 -0
- package/dist/parser/rule-parser.js +192 -0
- package/dist/serializer/base-serializer.js +29 -0
- package/dist/serializer/comment/agent-comment-serializer.js +74 -0
- package/dist/serializer/comment/agent-serializer.js +59 -0
- package/dist/serializer/comment/comment-rule-serializer.js +105 -0
- package/dist/serializer/comment/config-comment-serializer.js +82 -0
- package/dist/serializer/comment/hint-comment-serializer.js +65 -0
- package/dist/serializer/comment/hint-serializer.js +54 -0
- package/dist/serializer/comment/metadata-comment-serializer.js +73 -0
- package/dist/serializer/comment/pre-processor-comment-serializer.js +71 -0
- package/dist/serializer/comment/simple-comment-serializer.js +52 -0
- package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +36 -0
- package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +36 -0
- package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +50 -0
- package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +36 -0
- package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +120 -0
- package/dist/serializer/cosmetic/css-injection-body-serializer.js +51 -0
- package/dist/serializer/cosmetic/element-hiding-body-serializer.js +40 -0
- package/dist/serializer/empty-rule-serializer.js +37 -0
- package/dist/serializer/filterlist-serializer.js +45 -0
- package/dist/serializer/index.js +7 -0
- package/dist/serializer/invalid-rule-error-node-serializer.js +41 -0
- package/dist/serializer/invalid-rule-serializer.js +40 -0
- package/dist/serializer/misc/domain-list-serializer.js +64 -0
- package/dist/serializer/misc/list-item-serializer.js +58 -0
- package/dist/serializer/misc/list-items-serializer.js +29 -0
- package/dist/serializer/misc/logical-expression-serializer.js +136 -0
- package/dist/serializer/misc/modifier-list-serializer.js +58 -0
- package/dist/serializer/misc/modifier-serializer.js +49 -0
- package/dist/serializer/misc/parameter-list-serializer.js +52 -0
- package/dist/serializer/misc/value-serializer.js +50 -0
- package/dist/serializer/network/host-rule-serializer.js +70 -0
- package/dist/serializer/network/hostname-list-serializer.js +53 -0
- package/dist/serializer/network/network-rule-serializer.js +54 -0
- package/dist/serializer/rule-serializer.js +61 -0
- package/dist/types/ast-utils/clone.d.ts +26 -0
- package/dist/types/ast-utils/filter-list.d.ts +11 -0
- package/dist/types/ast-utils/modifiers.d.ts +20 -0
- package/dist/types/ast-utils/network-rules.d.ts +15 -0
- package/dist/types/ast-utils/scriptlets.d.ts +52 -0
- package/dist/types/common/abp-snippet-injection-body-common.d.ts +15 -0
- package/dist/types/common/agent-common.d.ts +10 -0
- package/dist/types/common/ubo-selector-common.d.ts +10 -0
- package/dist/types/compatibility-tables/base.d.ts +157 -0
- package/dist/types/compatibility-tables/compatibility-table-data.d.ts +68 -0
- package/dist/types/compatibility-tables/index.d.ts +13 -0
- package/dist/types/compatibility-tables/modifiers.d.ts +22 -0
- package/dist/types/compatibility-tables/platforms.d.ts +49 -0
- package/dist/types/compatibility-tables/redirects.d.ts +33 -0
- package/dist/types/compatibility-tables/schemas/base.d.ts +124 -0
- package/dist/types/compatibility-tables/schemas/index.d.ts +8 -0
- package/dist/types/compatibility-tables/schemas/modifier.d.ts +36 -0
- package/dist/types/compatibility-tables/schemas/platform.d.ts +16 -0
- package/dist/types/compatibility-tables/schemas/redirect.d.ts +25 -0
- package/dist/types/compatibility-tables/schemas/resource-type.d.ts +41 -0
- package/dist/types/compatibility-tables/schemas/scriptlet.d.ts +31 -0
- package/dist/types/compatibility-tables/scriptlets.d.ts +15 -0
- package/dist/types/compatibility-tables/types.d.ts +34 -0
- package/dist/types/compatibility-tables/utils/platform-helpers.d.ts +44 -0
- package/dist/types/compatibility-tables/utils/resource-type-helpers.d.ts +20 -0
- package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +15 -0
- package/dist/types/converter/base-interfaces/base-converter.d.ts +42 -0
- package/dist/types/converter/base-interfaces/conversion-result.d.ts +43 -0
- package/dist/types/converter/base-interfaces/rule-converter-base.d.ts +44 -0
- package/dist/types/converter/comment/index.d.ts +23 -0
- package/dist/types/converter/cosmetic/css.d.ts +23 -0
- package/dist/types/converter/cosmetic/element-hiding.d.ts +23 -0
- package/dist/types/converter/cosmetic/header-removal.d.ts +37 -0
- package/dist/types/converter/cosmetic/html.d.ts +54 -0
- package/dist/types/converter/cosmetic/index.d.ts +33 -0
- package/dist/types/converter/cosmetic/rule-modifiers/adg.d.ts +21 -0
- package/dist/types/converter/cosmetic/scriptlet.d.ts +33 -0
- package/dist/types/converter/css/index.d.ts +40 -0
- package/dist/types/converter/data/css.d.ts +48 -0
- package/dist/types/converter/filter-list.d.ts +31 -0
- package/dist/types/converter/index.d.ts +5 -0
- package/dist/types/converter/misc/network-rule-modifier.d.ts +35 -0
- package/dist/types/converter/network/index.d.ts +33 -0
- package/dist/types/converter/raw-filter-list.d.ts +31 -0
- package/dist/types/converter/raw-rule.d.ts +28 -0
- package/dist/types/converter/rule.d.ts +37 -0
- package/dist/types/deserializer/base-deserializer.d.ts +15 -0
- package/dist/types/deserializer/comment/agent-comment-deserializer.d.ts +34 -0
- package/dist/types/deserializer/comment/agent-deserializer.d.ts +25 -0
- package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +16 -0
- package/dist/types/deserializer/comment/config-comment-deserializer.d.ts +27 -0
- package/dist/types/deserializer/comment/hint-comment-deserializer.d.ts +24 -0
- package/dist/types/deserializer/comment/hint-deserializer.d.ts +26 -0
- package/dist/types/deserializer/comment/metadata-comment-deserializer.d.ts +26 -0
- package/dist/types/deserializer/comment/pre-processor-comment-deserializer.d.ts +29 -0
- package/dist/types/deserializer/comment/simple-comment-deserializer.d.ts +26 -0
- package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +18 -0
- package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +15 -0
- package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +16 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +17 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +18 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +19 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +17 -0
- package/dist/types/deserializer/empty-rule-deserializer.d.ts +16 -0
- package/dist/types/deserializer/filterlist-deserializer.d.ts +34 -0
- package/dist/types/deserializer/index.d.ts +2 -0
- package/dist/types/deserializer/invalid-rule-deserializer.d.ts +16 -0
- package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +16 -0
- package/dist/types/deserializer/misc/domain-list-deserializer.d.ts +15 -0
- package/dist/types/deserializer/misc/list-item-deserializer.d.ts +19 -0
- package/dist/types/deserializer/misc/list-items-deserializer.d.ts +16 -0
- package/dist/types/deserializer/misc/logical-expression-deserializer.d.ts +55 -0
- package/dist/types/deserializer/misc/modifier-deserializer.d.ts +18 -0
- package/dist/types/deserializer/misc/modifier-list-deserializer.d.ts +20 -0
- package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +18 -0
- package/dist/types/deserializer/misc/value-deserializer.d.ts +17 -0
- package/dist/types/deserializer/network/host-rule-deserializer.d.ts +18 -0
- package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +15 -0
- package/dist/types/deserializer/network/network-rule-deserializer.d.ts +18 -0
- package/dist/types/deserializer/rule-deserializer.d.ts +17 -0
- package/dist/types/deserializer/syntax-deserialization-map.d.ts +2 -0
- package/dist/types/errors/adblock-syntax-error.d.ts +25 -0
- package/dist/types/errors/binary-schema-mismatch-error.d.ts +23 -0
- package/dist/types/errors/not-implemented-error.d.ts +14 -0
- package/dist/types/errors/rule-conversion-error.d.ts +14 -0
- package/dist/types/generator/base-generator.d.ts +12 -0
- package/dist/types/generator/comment/agent-comment-generator.d.ts +14 -0
- package/dist/types/generator/comment/agent-generator.d.ts +15 -0
- package/dist/types/generator/comment/comment-rule-generator.d.ts +14 -0
- package/dist/types/generator/comment/config-comment-generator.d.ts +14 -0
- package/dist/types/generator/comment/hint-comment-generator.d.ts +14 -0
- package/dist/types/generator/comment/hint-generator.d.ts +14 -0
- package/dist/types/generator/comment/index.d.ts +1 -0
- package/dist/types/generator/comment/metadata-comment-generator.d.ts +14 -0
- package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +14 -0
- package/dist/types/generator/comment/simple-comment-generator.d.ts +14 -0
- package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +21 -0
- package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +21 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +20 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +28 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +18 -0
- package/dist/types/generator/cosmetic/index.d.ts +1 -0
- package/dist/types/generator/css/adg-css-injection-generator.d.ts +15 -0
- package/dist/types/generator/css/ubo-selector-generator.d.ts +14 -0
- package/dist/types/generator/filterlist-generator.d.ts +18 -0
- package/dist/types/generator/index.d.ts +3 -0
- package/dist/types/generator/misc/domain-list-generator.d.ts +15 -0
- package/dist/types/generator/misc/list-items-generator.d.ts +25 -0
- package/dist/types/generator/misc/logical-expression-generator.d.ts +14 -0
- package/dist/types/generator/misc/modifier-generator.d.ts +14 -0
- package/dist/types/generator/misc/modifier-list-generator.d.ts +14 -0
- package/dist/types/generator/misc/parameter-list-generator.d.ts +15 -0
- package/dist/types/generator/misc/value-generator.d.ts +14 -0
- package/dist/types/generator/network/host-rule-generator.d.ts +14 -0
- package/dist/types/generator/network/index.d.ts +2 -0
- package/dist/types/generator/network/network-rule-generator.d.ts +14 -0
- package/dist/types/generator/rule-generator.d.ts +24 -0
- package/dist/types/index.d.ts +55 -0
- package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +14 -0
- package/dist/types/marshalling-utils/comment/agent-common.d.ts +20 -0
- package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +42 -0
- package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +15 -0
- package/dist/types/marshalling-utils/comment/hint-common.d.ts +33 -0
- package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +21 -0
- package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +37 -0
- package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +15 -0
- package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +23 -0
- package/dist/types/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.d.ts +9 -0
- package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +17 -0
- package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +14 -0
- package/dist/types/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.d.ts +9 -0
- package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +28 -0
- package/dist/types/marshalling-utils/empty-rule-common.d.ts +13 -0
- package/dist/types/marshalling-utils/filter-list-common.d.ts +14 -0
- package/dist/types/marshalling-utils/invalid-rule-common.d.ts +14 -0
- package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +15 -0
- package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +57 -0
- package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +24 -0
- package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +18 -0
- package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/list-item-common.d.ts +15 -0
- package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +47 -0
- package/dist/types/marshalling-utils/misc/modifier-common.d.ts +41 -0
- package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/value-common.d.ts +15 -0
- package/dist/types/marshalling-utils/network/network-rule-common.d.ts +18 -0
- package/dist/types/marshalling-utils/syntax-serialization-map.d.ts +2 -0
- package/dist/types/nodes/index.d.ts +1183 -0
- package/dist/types/parser/base-parser.d.ts +16 -0
- package/dist/types/parser/comment/agent-comment-parser.d.ts +42 -0
- package/dist/types/parser/comment/agent-parser.d.ts +33 -0
- package/dist/types/parser/comment/comment-parser.d.ts +76 -0
- package/dist/types/parser/comment/config-comment-parser.d.ts +31 -0
- package/dist/types/parser/comment/hint-comment-parser.d.ts +33 -0
- package/dist/types/parser/comment/hint-parser.d.ts +30 -0
- package/dist/types/parser/comment/metadata-comment-parser.d.ts +29 -0
- package/dist/types/parser/comment/preprocessor-parser.d.ts +43 -0
- package/dist/types/parser/comment/simple-comment-parser.d.ts +33 -0
- package/dist/types/parser/cosmetic/body/abp-snippet-injection-body-parser.d.ts +34 -0
- package/dist/types/parser/cosmetic/body/adg-scriptlet-injection-body-parser.d.ts +47 -0
- package/dist/types/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.d.ts +44 -0
- package/dist/types/parser/cosmetic/cosmetic-rule-parser.d.ts +51 -0
- package/dist/types/parser/css/adg-css-injection-parser.d.ts +28 -0
- package/dist/types/parser/css/balancing.d.ts +36 -0
- package/dist/types/parser/css/constants.d.ts +10 -0
- package/dist/types/parser/css/css-token-stream.d.ts +210 -0
- package/dist/types/parser/css/ubo-selector-parser.d.ts +46 -0
- package/dist/types/parser/filterlist-parser.d.ts +29 -0
- package/dist/types/parser/index.d.ts +6 -0
- package/dist/types/parser/misc/app-list-parser.d.ts +22 -0
- package/dist/types/parser/misc/domain-list-parser.d.ts +26 -0
- package/dist/types/parser/misc/list-items-parser.d.ts +37 -0
- package/dist/types/parser/misc/logical-expression-parser.d.ts +42 -0
- package/dist/types/parser/misc/method-list-parser.d.ts +22 -0
- package/dist/types/parser/misc/modifier-list.d.ts +24 -0
- package/dist/types/parser/misc/modifier-parser.d.ts +21 -0
- package/dist/types/parser/misc/parameter-list-parser.d.ts +17 -0
- package/dist/types/parser/misc/stealth-option-list-parser.d.ts +22 -0
- package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +21 -0
- package/dist/types/parser/misc/value-parser.d.ts +18 -0
- package/dist/types/parser/network/host-rule-parser.d.ts +35 -0
- package/dist/types/parser/network/network-rule-parser.d.ts +31 -0
- package/dist/types/parser/options.d.ts +41 -0
- package/dist/types/parser/rule-parser.d.ts +78 -0
- package/dist/types/serializer/base-serializer.d.ts +15 -0
- package/dist/types/serializer/comment/agent-comment-serializer.d.ts +34 -0
- package/dist/types/serializer/comment/agent-serializer.d.ts +15 -0
- package/dist/types/serializer/comment/comment-rule-serializer.d.ts +68 -0
- package/dist/types/serializer/comment/config-comment-serializer.d.ts +25 -0
- package/dist/types/serializer/comment/hint-comment-serializer.d.ts +23 -0
- package/dist/types/serializer/comment/hint-serializer.d.ts +24 -0
- package/dist/types/serializer/comment/metadata-comment-serializer.d.ts +25 -0
- package/dist/types/serializer/comment/pre-processor-comment-serializer.d.ts +28 -0
- package/dist/types/serializer/comment/simple-comment-serializer.d.ts +24 -0
- package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +25 -0
- package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +25 -0
- package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +17 -0
- package/dist/types/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.d.ts +25 -0
- package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +19 -0
- package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +15 -0
- package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +15 -0
- package/dist/types/serializer/empty-rule-serializer.d.ts +15 -0
- package/dist/types/serializer/filterlist-serializer.d.ts +15 -0
- package/dist/types/serializer/index.d.ts +1 -0
- package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +15 -0
- package/dist/types/serializer/invalid-rule-serializer.d.ts +15 -0
- package/dist/types/serializer/misc/domain-list-serializer.d.ts +21 -0
- package/dist/types/serializer/misc/list-item-serializer.d.ts +16 -0
- package/dist/types/serializer/misc/list-items-serializer.d.ts +15 -0
- package/dist/types/serializer/misc/logical-expression-serializer.d.ts +52 -0
- package/dist/types/serializer/misc/modifier-list-serializer.d.ts +20 -0
- package/dist/types/serializer/misc/modifier-serializer.d.ts +18 -0
- package/dist/types/serializer/misc/parameter-list-serializer.d.ts +17 -0
- package/dist/types/serializer/misc/value-serializer.d.ts +17 -0
- package/dist/types/serializer/network/host-rule-serializer.d.ts +30 -0
- package/dist/types/serializer/network/hostname-list-serializer.d.ts +15 -0
- package/dist/types/serializer/network/network-rule-serializer.d.ts +18 -0
- package/dist/types/serializer/rule-serializer.d.ts +17 -0
- package/dist/types/utils/adblockers.d.ts +49 -0
- package/dist/types/utils/binary-schema-version.d.ts +9 -0
- package/dist/types/utils/byte-buffer.d.ts +54 -0
- package/dist/types/utils/categorizer.d.ts +14 -0
- package/dist/types/utils/clone.d.ts +15 -0
- package/dist/types/utils/constants.d.ts +188 -0
- package/dist/types/utils/cosmetic-rule-separator.d.ts +45 -0
- package/dist/types/utils/deep-freeze.d.ts +13 -0
- package/dist/types/utils/domain.d.ts +29 -0
- package/dist/types/utils/error.d.ts +8 -0
- package/dist/types/utils/index.d.ts +15 -0
- package/dist/types/utils/input-byte-buffer.d.ts +146 -0
- package/dist/types/utils/is-chromium.d.ts +7 -0
- package/dist/types/utils/logical-expression.d.ts +45 -0
- package/dist/types/utils/multi-value-map.d.ts +16 -0
- package/dist/types/utils/output-byte-buffer.d.ts +132 -0
- package/dist/types/utils/position-provider.d.ts +46 -0
- package/dist/types/utils/quotes.d.ts +94 -0
- package/dist/types/utils/regexp.d.ts +54 -0
- package/dist/types/utils/storage-interface.d.ts +23 -0
- package/dist/types/utils/string.d.ts +280 -0
- package/dist/types/utils/text-decoder-polyfill.d.ts +14 -0
- package/dist/types/utils/text-encoder-polyfill.d.ts +18 -0
- package/dist/types/utils/type-guards.d.ts +47 -0
- package/dist/types/validator/constants.d.ts +89 -0
- package/dist/types/validator/helpers.d.ts +37 -0
- package/dist/types/validator/index.d.ts +38 -0
- package/dist/types/validator/value.d.ts +12 -0
- package/dist/types/version.d.ts +5 -0
- package/dist/utils/adblockers.js +56 -0
- package/dist/utils/binary-schema-version.js +17 -0
- package/dist/utils/byte-buffer.js +91 -0
- package/dist/utils/categorizer.js +44 -0
- package/dist/utils/clone.js +28 -0
- package/dist/utils/constants.js +249 -0
- package/dist/utils/cosmetic-rule-separator.js +127 -0
- package/dist/utils/deep-freeze.js +32 -0
- package/dist/utils/domain.js +59 -0
- package/dist/utils/error.js +49 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/input-byte-buffer.js +265 -0
- package/dist/utils/is-chromium.js +20 -0
- package/dist/utils/logical-expression.js +92 -0
- package/dist/utils/multi-value-map.js +33 -0
- package/dist/utils/output-byte-buffer.js +231 -0
- package/dist/utils/position-provider.js +73 -0
- package/dist/utils/quotes.js +214 -0
- package/dist/utils/regexp.js +176 -0
- package/dist/utils/string.js +559 -0
- package/dist/utils/text-decoder-polyfill.js +107 -0
- package/dist/utils/text-encoder-polyfill.js +78 -0
- package/dist/utils/type-guards.js +47 -0
- package/dist/validator/constants.js +210 -0
- package/dist/validator/helpers.js +45 -0
- package/dist/validator/index.js +174 -0
- package/dist/validator/value.js +568 -0
- package/dist/version.js +18 -0
- package/package.json +61 -39
- package/dist/agtree.d.ts +0 -4155
- package/dist/agtree.js +0 -15819
- package/dist/agtree.mjs +0 -15720
- package/dist/compatibility-table-data.js +0 -12782
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Customized error class for conversion errors.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Customized error class for conversion errors.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RuleConversionError extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* Constructs a new `RuleConversionError` instance.
|
|
10
|
+
*
|
|
11
|
+
* @param message Error message
|
|
12
|
+
*/
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Node } from '../nodes';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for generators. Each generator should extend this class.
|
|
4
|
+
*/
|
|
5
|
+
export declare class BaseGenerator {
|
|
6
|
+
/**
|
|
7
|
+
* Generates a string from the AST node.
|
|
8
|
+
*
|
|
9
|
+
* @param node AST node to generate a string from.
|
|
10
|
+
*/
|
|
11
|
+
static generate(node: Node): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for agent comment rules.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AgentCommentGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts an adblock agent AST to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param ast Agent rule AST
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(ast: AgentCommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { Agent } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for adblock agent nodes.
|
|
5
|
+
* This class is responsible for converting adblock agent nodes into their string representation.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AgentGenerator extends BaseGenerator {
|
|
8
|
+
/**
|
|
9
|
+
* Converts an adblock agent node to a string.
|
|
10
|
+
*
|
|
11
|
+
* @param value Agent node
|
|
12
|
+
* @returns Raw string
|
|
13
|
+
*/
|
|
14
|
+
static generate(value: Agent): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type AnyCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* `CommentRuleGenerator` is responsible for generating any comment-like adblock rules.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CommentRuleGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a comment rule node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Comment rule node
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: AnyCommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { ConfigCommentRule } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Converts inline configuration comment nodes to their string format.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ConfigCommentGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts an inline configuration comment node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Inline configuration comment node
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: ConfigCommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { HintCommentRule } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Hint comment generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class HintCommentGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a hint rule node to a raw string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Hint rule node
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: HintCommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Hint } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Hint generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class HintGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates a string representation of a hint.
|
|
9
|
+
*
|
|
10
|
+
* @param hint Hint AST node
|
|
11
|
+
* @returns String representation of the hint
|
|
12
|
+
*/
|
|
13
|
+
static generate(hint: Hint): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CommentRuleGenerator } from './comment-rule-generator';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MetadataCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Metadata comment generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class MetadataCommentGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a metadata comment rule node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Metadata comment rule node.
|
|
11
|
+
* @returns Raw string.
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: MetadataCommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PreProcessorCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Pre-processor comment generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PreProcessorCommentGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a pre-processor comment node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Pre-processor comment node
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: PreProcessorCommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { CommentRule } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Simple comment generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimpleCommentGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a comment rule node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Comment rule node.
|
|
11
|
+
* @returns Raw string.
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: CommentRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ScriptletInjectionRuleBody } from '../../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Adblock Plus snippet injection body generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AbpSnippetInjectionBodyGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates a string representation of the Adblock Plus-style snippet call body.
|
|
9
|
+
*
|
|
10
|
+
* @param node Scriptlet injection rule body
|
|
11
|
+
* @returns String representation of the rule body
|
|
12
|
+
* @throws Error if the scriptlet call is empty
|
|
13
|
+
*/
|
|
14
|
+
static generate(node: ScriptletInjectionRuleBody): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ScriptletInjectionRuleBody } from '../../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* AdGuard scriptlet injection body generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AdgScriptletInjectionBodyGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Error messages used by the generator.
|
|
9
|
+
*/
|
|
10
|
+
static readonly ERROR_MESSAGES: {
|
|
11
|
+
NO_MULTIPLE_SCRIPTLET_CALLS: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Generates a string representation of the AdGuard scriptlet call body.
|
|
15
|
+
*
|
|
16
|
+
* @param node Scriptlet injection rule body
|
|
17
|
+
* @returns String representation of the rule body
|
|
18
|
+
* @throws Error if the scriptlet call has multiple parameters
|
|
19
|
+
*/
|
|
20
|
+
static generate(node: ScriptletInjectionRuleBody): string;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseGenerator } from '../../base-generator';
|
|
2
|
+
import type { ScriptletInjectionRuleBody } from '../../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* uBlock scriptlet injection body generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UboScriptletInjectionBodyGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Error messages used by the generator.
|
|
9
|
+
*/
|
|
10
|
+
static readonly ERROR_MESSAGES: {
|
|
11
|
+
NO_MULTIPLE_SCRIPTLET_CALLS: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Generates a string representation of the uBlock scriptlet call body.
|
|
15
|
+
*
|
|
16
|
+
* @param node Scriptlet injection rule body
|
|
17
|
+
* @returns String representation of the rule body
|
|
18
|
+
* @throws Error if the scriptlet call has multiple parameters
|
|
19
|
+
*/
|
|
20
|
+
static generate(node: ScriptletInjectionRuleBody): string;
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import { type AnyCosmeticRule } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Cosmetic rule body generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CosmeticRuleBodyGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates the rule body from the node.
|
|
9
|
+
*
|
|
10
|
+
* @param node Cosmetic rule node
|
|
11
|
+
* @returns Raw rule body
|
|
12
|
+
* @example
|
|
13
|
+
* - '##.foo' → '.foo'
|
|
14
|
+
* - 'example.com,example.org##.foo' → '.foo'
|
|
15
|
+
* - 'example.com#%#//scriptlet('foo')' → '//scriptlet('foo')'
|
|
16
|
+
*
|
|
17
|
+
* @throws Error if the rule type is unknown
|
|
18
|
+
*/
|
|
19
|
+
static generate(node: AnyCosmeticRule): string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type AnyCosmeticRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Possible error messages for uBO selectors. Formatted with {@link sprintf}.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ERROR_MESSAGES: {
|
|
7
|
+
EMPTY_RULE_BODY: string;
|
|
8
|
+
INVALID_BODY_FOR_SEPARATOR: string;
|
|
9
|
+
MISSING_ADGUARD_MODIFIER_LIST_END: string;
|
|
10
|
+
MISSING_ADGUARD_MODIFIER_LIST_MARKER: string;
|
|
11
|
+
SYNTAXES_CANNOT_BE_MIXED: string;
|
|
12
|
+
SYNTAX_DISABLED: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* `CosmeticRuleGenerator` is responsible for generating cosmetic rules from their AST representation.
|
|
16
|
+
*
|
|
17
|
+
* This class takes a parsed cosmetic rule Abstract Syntax Tree (AST) and converts it back into a raw string format.
|
|
18
|
+
* It handles the generation of the pattern, separator, uBO rule modifiers, and the rule body.
|
|
19
|
+
*/
|
|
20
|
+
export declare class CosmeticRuleGenerator extends BaseGenerator {
|
|
21
|
+
/**
|
|
22
|
+
* Converts a cosmetic rule AST into a string.
|
|
23
|
+
*
|
|
24
|
+
* @param node Cosmetic rule AST
|
|
25
|
+
* @returns Raw string
|
|
26
|
+
*/
|
|
27
|
+
static generate(node: AnyCosmeticRule): string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AnyCosmeticRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Cosmetic rule pattern generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CosmeticRulePatternGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates the rule pattern from the AST.
|
|
9
|
+
*
|
|
10
|
+
* @param node Cosmetic rule node
|
|
11
|
+
* @returns Raw rule pattern
|
|
12
|
+
* @example
|
|
13
|
+
* - '##.foo' → ''
|
|
14
|
+
* - 'example.com,example.org##.foo' → 'example.com,example.org'
|
|
15
|
+
* - '[$path=/foo/bar]example.com##.foo' → '[$path=/foo/bar]example.com'
|
|
16
|
+
*/
|
|
17
|
+
static generate(node: AnyCosmeticRule): string;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CosmeticRuleGenerator } from './cosmetic-rule-generator';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CssInjectionRuleBody } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* AdGuard CSS injection generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AdgCssInjectionGenerator extends BaseGenerator {
|
|
7
|
+
private static removeDeclaration;
|
|
8
|
+
/**
|
|
9
|
+
* Serializes an AdGuard CSS injection node into a raw string.
|
|
10
|
+
*
|
|
11
|
+
* @param node Node to serialize.
|
|
12
|
+
* @returns Raw string.
|
|
13
|
+
*/
|
|
14
|
+
static generate(node: CssInjectionRuleBody): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import { type UboSelector } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* UBO selector generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UboSelectorGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Serializes a uBO selector node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node UBO selector node
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: UboSelector): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type FilterList } from '../nodes';
|
|
2
|
+
import { BaseGenerator } from './base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generates a serialized filter list.
|
|
5
|
+
*/
|
|
6
|
+
export declare class FilterListGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Serializes a whole adblock filter list (list of rules).
|
|
9
|
+
*
|
|
10
|
+
* @param ast AST to generate
|
|
11
|
+
* @param preferRaw If `true`, then the parser will use `raws.text` property of each rule
|
|
12
|
+
* if it is available. Default is `false`.
|
|
13
|
+
* @param tolerant If `true`, errors during rule generation will be logged to the console and invalid rules
|
|
14
|
+
* will be skipped. If `false`, an error will be thrown on the first invalid rule. Default is `true`.
|
|
15
|
+
* @returns Serialized filter list
|
|
16
|
+
*/
|
|
17
|
+
static generate(ast: FilterList, preferRaw?: boolean, tolerant?: boolean): string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DomainList } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Domain list generator.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DomainListGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a domain list node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Domain list node.
|
|
11
|
+
*
|
|
12
|
+
* @returns Raw string.
|
|
13
|
+
*/
|
|
14
|
+
static generate(node: DomainList): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ListItem, type ListItemNodeType } from '../../nodes';
|
|
2
|
+
/**
|
|
3
|
+
* Utility class for generating string representations of list items.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ListItemsGenerator {
|
|
6
|
+
/**
|
|
7
|
+
* Generates a string representation of a list item.
|
|
8
|
+
*
|
|
9
|
+
* @param item List item to generate.
|
|
10
|
+
* @template T Type of the list item.
|
|
11
|
+
*
|
|
12
|
+
* @returns String representation of the list item.
|
|
13
|
+
*/
|
|
14
|
+
private static generateListItem;
|
|
15
|
+
/**
|
|
16
|
+
* Generates a string representation of a list of items.
|
|
17
|
+
*
|
|
18
|
+
* @param items List of items to generate.
|
|
19
|
+
* @param separator Separator character.
|
|
20
|
+
* @template T Type of the list items.
|
|
21
|
+
*
|
|
22
|
+
* @returns String representation of the list of items.
|
|
23
|
+
*/
|
|
24
|
+
static generate: <T extends ListItemNodeType>(items: ListItem<T>[], separator: string) => string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import { type AnyExpressionNode } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for logical expression nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LogicalExpressionGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates a string representation of the logical expression (serialization).
|
|
9
|
+
*
|
|
10
|
+
* @param node Expression node
|
|
11
|
+
* @returns String representation of the logical expression
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: AnyExpressionNode): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Modifier } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for modifier nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ModifierGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a modifier AST node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param modifier Modifier AST node to convert
|
|
11
|
+
* @returns String representation of the modifier
|
|
12
|
+
*/
|
|
13
|
+
static generate(modifier: Modifier): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { ModifierList } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for modifier list nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ModifierListGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a modifier list AST to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param ast Modifier list AST
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
*/
|
|
13
|
+
static generate(ast: ModifierList): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ParameterList } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for parameter list nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ParameterListGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a parameter list AST to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param params Parameter list AST
|
|
11
|
+
* @param separator Separator character (default: comma)
|
|
12
|
+
* @returns String representation of the parameter list
|
|
13
|
+
*/
|
|
14
|
+
static generate(params: ParameterList, separator?: string): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Value } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for value nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValueGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a value node to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Value node.
|
|
11
|
+
* @returns Raw string.
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: Value): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HostRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for host rule nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class HostRuleGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a host rule node to a raw string.
|
|
9
|
+
*
|
|
10
|
+
* @param node Host rule node.
|
|
11
|
+
* @returns Raw string.
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: HostRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NetworkRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
/**
|
|
4
|
+
* Generator for network rule nodes.
|
|
5
|
+
*/
|
|
6
|
+
export declare class NetworkRuleGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates a string from a network rule AST node.
|
|
9
|
+
*
|
|
10
|
+
* @param node Network rule node to generate a string from.
|
|
11
|
+
* @returns Generated string representation of the network rule.
|
|
12
|
+
*/
|
|
13
|
+
static generate(node: NetworkRule): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseGenerator } from './base-generator';
|
|
2
|
+
import { type AnyRule } from '../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* RuleGenerator is responsible for converting adblock rule ASTs to their string representation.
|
|
5
|
+
*/
|
|
6
|
+
export declare class RuleGenerator extends BaseGenerator {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a rule AST to a string.
|
|
9
|
+
*
|
|
10
|
+
* @param ast - Adblock rule AST
|
|
11
|
+
* @returns Raw string
|
|
12
|
+
* @example
|
|
13
|
+
* Take a look at the following example:
|
|
14
|
+
* ```js
|
|
15
|
+
* // Parse the rule to the AST
|
|
16
|
+
* const ast = RuleParser.parse("example.org##.banner");
|
|
17
|
+
* // Generate the rule from the AST
|
|
18
|
+
* const raw = RuleParser.generate(ast);
|
|
19
|
+
* // Print the generated rule
|
|
20
|
+
* console.log(raw); // "example.org##.banner"
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
static generate(ast: AnyRule): string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file AGTree entry point
|
|
3
|
+
*/
|
|
4
|
+
export { RuleParser } from './parser/rule-parser';
|
|
5
|
+
export { RuleSerializer } from './serializer/rule-serializer';
|
|
6
|
+
export { RuleDeserializer } from './deserializer/rule-deserializer';
|
|
7
|
+
export { RuleGenerator } from './generator/rule-generator';
|
|
8
|
+
export { type Agent, type AgentCommentRule, type AnyCommentRule, type AnyCosmeticRule, type AnyExpressionNode, type AnyRule, type CommentBase, CommentMarker, type CommentRule, CommentRuleType, type ConfigCommentRule, type CosmeticRule, CosmeticRuleSeparator, CosmeticRuleType, type CssInjectionRule, type CssInjectionRuleBody, type Domain, type DomainList, type DomainListSeparator, type ElementHidingRule, type ElementHidingRuleBody, type EmptyRule, type ExpressionOperatorNode, type ExpressionParenthesisNode, type ExpressionVariableNode, type FilterList, type Hint, type HintCommentRule, type HtmlFilteringRule, type HtmlFilteringRuleBody, type JsInjectionRule, type Location, type LocationRange, type MetadataCommentRule, type Modifier, type ModifierList, type NetworkRule, type Node, type ParameterList, type PreProcessorCommentRule, type RuleBase, RuleCategory, type ScriptletInjectionRule, type ScriptletInjectionRuleBody, type Value, NetworkRuleType, type HostnameList, type HostRule, type AnyNetworkRule, } from './nodes';
|
|
9
|
+
export { AdblockSyntaxError } from './errors/adblock-syntax-error';
|
|
10
|
+
export { AgentCommentParser } from './parser/comment/agent-comment-parser';
|
|
11
|
+
export { AgentParser } from './parser/comment/agent-parser';
|
|
12
|
+
export { CommentParser } from './parser/comment/comment-parser';
|
|
13
|
+
export { ConfigCommentParser } from './parser/comment/config-comment-parser';
|
|
14
|
+
export { CosmeticRuleParser } from './parser/cosmetic/cosmetic-rule-parser';
|
|
15
|
+
export { AppListParser } from './parser/misc/app-list-parser';
|
|
16
|
+
export { DomainListParser } from './parser/misc/domain-list-parser';
|
|
17
|
+
export { MethodListParser } from './parser/misc/method-list-parser';
|
|
18
|
+
export { StealthOptionListParser } from './parser/misc/stealth-option-list-parser';
|
|
19
|
+
export { FilterListParser } from './parser/filterlist-parser';
|
|
20
|
+
export { FilterListSerializer } from './serializer/filterlist-serializer';
|
|
21
|
+
export { FilterListDeserializer } from './deserializer/filterlist-deserializer';
|
|
22
|
+
export { HintCommentParser } from './parser/comment/hint-comment-parser';
|
|
23
|
+
export { HintParser } from './parser/comment/hint-parser';
|
|
24
|
+
export { LogicalExpressionParser } from './parser/misc/logical-expression-parser';
|
|
25
|
+
export { MetadataCommentParser } from './parser/comment/metadata-comment-parser';
|
|
26
|
+
export { ModifierListParser } from './parser/misc/modifier-list';
|
|
27
|
+
export { ModifierParser } from './parser/misc/modifier-parser';
|
|
28
|
+
export { NetworkRuleParser } from './parser/network/network-rule-parser';
|
|
29
|
+
export { NotImplementedError } from './errors/not-implemented-error';
|
|
30
|
+
export { ParameterListParser } from './parser/misc/parameter-list-parser';
|
|
31
|
+
export { HostRuleParser } from './parser/network/host-rule-parser';
|
|
32
|
+
export { PreProcessorCommentParser } from './parser/comment/preprocessor-parser';
|
|
33
|
+
export { RuleConversionError } from './errors/rule-conversion-error';
|
|
34
|
+
export { BinarySchemaMismatchError } from './errors/binary-schema-mismatch-error';
|
|
35
|
+
export { modifierValidator } from './validator';
|
|
36
|
+
export * from './converter';
|
|
37
|
+
export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, COMMA_DOMAIN_LIST_SEPARATOR, NEGATION_MARKER, HINT_MARKER, IF, INCLUDE, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, PIPE_MODIFIER_SEPARATOR, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_SEPARATOR, PREPROCESSOR_MARKER, SAFARI_CB_AFFINITY, UBO_SCRIPTLET_MASK, } from './utils/constants';
|
|
38
|
+
export { BINARY_SCHEMA_VERSION } from './utils/binary-schema-version';
|
|
39
|
+
export { AdblockSyntax } from './utils/adblockers';
|
|
40
|
+
export { type CosmeticRuleSeparatorFinderResult, CosmeticRuleSeparatorUtils } from './utils/cosmetic-rule-separator';
|
|
41
|
+
export { DomainUtils } from './utils/domain';
|
|
42
|
+
export { type VariableTable, LogicalExpressionUtils } from './utils/logical-expression';
|
|
43
|
+
export { ADBLOCK_URL_START, ADBLOCK_URL_START_REGEX, ADBLOCK_URL_SEPARATOR, ADBLOCK_URL_SEPARATOR_REGEX, ADBLOCK_WILDCARD, ADBLOCK_WILDCARD_REGEX, SPECIAL_REGEX_SYMBOLS, RegExpUtils, } from './utils/regexp';
|
|
44
|
+
export { QuoteType, QuoteUtils, } from './utils/quotes';
|
|
45
|
+
export { type Position, PositionProvider } from './utils/position-provider';
|
|
46
|
+
export { OutputByteBuffer } from './utils/output-byte-buffer';
|
|
47
|
+
export { InputByteBuffer } from './utils/input-byte-buffer';
|
|
48
|
+
export { ByteBuffer } from './utils/byte-buffer';
|
|
49
|
+
export { encodeIntoPolyfill, type TextEncoderPolyfillResult } from './utils/text-encoder-polyfill';
|
|
50
|
+
export { decodeTextPolyfill } from './utils/text-decoder-polyfill';
|
|
51
|
+
export { RuleCategorizer } from './utils/categorizer';
|
|
52
|
+
export { EXT_CSS_PSEUDO_CLASSES, EXT_CSS_LEGACY_ATTRIBUTES, FORBIDDEN_CSS_FUNCTIONS } from './converter/data/css';
|
|
53
|
+
export { GenericPlatform, SpecificPlatform, modifiersCompatibilityTable, redirectsCompatibilityTable, scriptletsCompatibilityTable, parseRawPlatforms, type CompatibilityTable, type CompatibilityTableRow, type ProductRecords, type RowByProduct, type RowsByProduct, isGenericPlatform, getPlatformId, getSpecificPlatformName, ResourceType, getResourceTypeModifier, isValidResourceType, } from './compatibility-tables';
|
|
54
|
+
export { AGTREE_VERSION } from './version';
|
|
55
|
+
export { getSyntaxSerializationMap } from './marshalling-utils/syntax-serialization-map';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
3
|
+
* as it allows us to use a single byte to represent a property.
|
|
4
|
+
*
|
|
5
|
+
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
6
|
+
*
|
|
7
|
+
* @note Only 256 values can be represented this way.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AgentCommentMarshallingMap: {
|
|
10
|
+
readonly Children: 1;
|
|
11
|
+
readonly Start: 2;
|
|
12
|
+
readonly End: 3;
|
|
13
|
+
};
|
|
14
|
+
export type AgentCommentMarshallingMap = typeof AgentCommentMarshallingMap[keyof typeof AgentCommentMarshallingMap];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
3
|
+
* as it allows us to use a single byte to represent a property.
|
|
4
|
+
*
|
|
5
|
+
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
6
|
+
*
|
|
7
|
+
* @note Only 256 values can be represented this way.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AgentNodeMarshallingMap: {
|
|
10
|
+
readonly Adblock: 1;
|
|
11
|
+
readonly Version: 2;
|
|
12
|
+
readonly Start: 3;
|
|
13
|
+
readonly End: 4;
|
|
14
|
+
};
|
|
15
|
+
export type AgentNodeMarshallingMap = typeof AgentNodeMarshallingMap[keyof typeof AgentNodeMarshallingMap];
|
|
16
|
+
/**
|
|
17
|
+
* Value map for binary deserialization. This helps to reduce the size of the serialized data,
|
|
18
|
+
* as it allows us to use a single byte to represent frequently used values.
|
|
19
|
+
*/
|
|
20
|
+
export declare const FREQUENT_AGENTS_DESERIALIZATION_MAP: Map<number, string>;
|