@adguard/agtree 2.1.2 → 3.0.0-alpha.1
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/dist/cjs/ast-utils/clone.js +65 -0
- package/dist/cjs/ast-utils/modifiers.js +56 -0
- package/dist/cjs/ast-utils/network-rules.js +43 -0
- package/dist/cjs/ast-utils/scriptlets.js +93 -0
- package/dist/cjs/common/abp-snippet-injection-body-common.js +18 -0
- package/dist/cjs/common/agent-common.js +58 -0
- package/dist/cjs/common/ubo-selector-common.js +18 -0
- package/dist/cjs/compatibility-tables/base.js +264 -0
- package/dist/cjs/compatibility-tables/compatibility-table-data.js +15 -0
- package/dist/cjs/compatibility-tables/modifiers.js +57 -0
- package/dist/cjs/compatibility-tables/platforms.js +58 -0
- package/dist/cjs/compatibility-tables/redirects.js +102 -0
- package/dist/cjs/compatibility-tables/schemas/base.js +116 -0
- package/dist/cjs/compatibility-tables/schemas/modifier.js +107 -0
- package/dist/cjs/compatibility-tables/schemas/platform.js +71 -0
- package/dist/cjs/compatibility-tables/schemas/redirect.js +31 -0
- package/dist/cjs/compatibility-tables/schemas/resource-type.js +39 -0
- package/dist/cjs/compatibility-tables/schemas/scriptlet.js +81 -0
- package/dist/cjs/compatibility-tables/scriptlets.js +30 -0
- package/dist/cjs/compatibility-tables/utils/platform-helpers.js +112 -0
- package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +64 -0
- package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +27 -0
- package/dist/cjs/converter/base-interfaces/base-converter.js +61 -0
- package/dist/cjs/converter/base-interfaces/conversion-result.js +41 -0
- package/dist/cjs/converter/base-interfaces/rule-converter-base.js +62 -0
- package/dist/cjs/converter/comment/index.js +56 -0
- package/dist/cjs/converter/cosmetic/css.js +71 -0
- package/dist/cjs/converter/cosmetic/element-hiding.js +64 -0
- package/dist/cjs/converter/cosmetic/header-removal.js +126 -0
- package/dist/cjs/converter/cosmetic/html.js +384 -0
- package/dist/cjs/converter/cosmetic/index.js +120 -0
- package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +81 -0
- package/dist/cjs/converter/cosmetic/scriptlet.js +356 -0
- package/dist/cjs/converter/css/index.js +193 -0
- package/dist/cjs/converter/data/css.js +133 -0
- package/dist/cjs/converter/filter-list.js +90 -0
- package/dist/cjs/converter/index.js +15 -0
- package/dist/cjs/converter/misc/network-rule-modifier.js +313 -0
- package/dist/cjs/converter/network/index.js +101 -0
- package/dist/cjs/converter/raw-filter-list.js +58 -0
- package/dist/cjs/converter/rule.js +83 -0
- package/dist/cjs/deserializer/base-deserializer.js +31 -0
- package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +76 -0
- package/dist/cjs/deserializer/comment/agent-deserializer.js +67 -0
- package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +109 -0
- package/dist/cjs/deserializer/comment/config-comment-deserializer.js +113 -0
- package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +69 -0
- package/dist/cjs/deserializer/comment/hint-deserializer.js +88 -0
- package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +71 -0
- package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +114 -0
- package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +67 -0
- package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +127 -0
- package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +55 -0
- package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +46 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +37 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +37 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +52 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +38 -0
- package/dist/cjs/deserializer/empty-rule-deserializer.js +46 -0
- package/dist/cjs/deserializer/filterlist-deserializer.js +83 -0
- package/dist/cjs/deserializer/index.js +15 -0
- package/dist/cjs/deserializer/invalid-rule-deserializer.js +48 -0
- package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +48 -0
- package/dist/cjs/deserializer/misc/domain-list-deserializer.js +66 -0
- package/dist/cjs/deserializer/misc/list-item-deserializer.js +65 -0
- package/dist/cjs/deserializer/misc/list-items-deserializer.js +28 -0
- package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +199 -0
- package/dist/cjs/deserializer/misc/modifier-deserializer.js +89 -0
- package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +58 -0
- package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +62 -0
- package/dist/cjs/deserializer/misc/value-deserializer.js +52 -0
- package/dist/cjs/deserializer/network/host-rule-deserializer.js +81 -0
- package/dist/cjs/deserializer/network/hostname-list-deserializer.js +50 -0
- package/dist/cjs/deserializer/network/network-rule-deserializer.js +67 -0
- package/dist/cjs/deserializer/rule-deserializer.js +67 -0
- package/dist/cjs/deserializer/syntax-deserialization-map.js +23 -0
- package/dist/cjs/errors/adblock-syntax-error.js +41 -0
- package/dist/cjs/errors/binary-schema-mismatch-error.js +39 -0
- package/dist/cjs/errors/not-implemented-error.js +33 -0
- package/dist/cjs/errors/rule-conversion-error.js +28 -0
- package/dist/cjs/generator/base-generator.js +29 -0
- package/dist/cjs/generator/comment/agent-comment-generator.js +30 -0
- package/dist/cjs/generator/comment/agent-generator.js +34 -0
- package/dist/cjs/generator/comment/comment-rule-generator.js +102 -0
- package/dist/cjs/generator/comment/config-comment-generator.js +44 -0
- package/dist/cjs/generator/comment/hint-comment-generator.js +27 -0
- package/dist/cjs/generator/comment/hint-generator.js +32 -0
- package/dist/cjs/generator/comment/metadata-comment-generator.js +32 -0
- package/dist/cjs/generator/comment/pre-processor-comment-generator.js +47 -0
- package/dist/cjs/generator/comment/simple-comment-generator.js +28 -0
- package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +36 -0
- package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +41 -0
- package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +43 -0
- package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +92 -0
- package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +66 -0
- package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +41 -0
- package/dist/cjs/generator/css/adg-css-injection-generator.js +41 -0
- package/dist/cjs/generator/filterlist-generator.js +57 -0
- package/dist/cjs/generator/index.js +17 -0
- package/dist/cjs/generator/misc/domain-list-generator.js +25 -0
- package/dist/cjs/generator/misc/list-items-generator.js +38 -0
- package/dist/cjs/generator/misc/logical-expression-generator.js +47 -0
- package/dist/cjs/generator/misc/modifier-generator.js +33 -0
- package/dist/cjs/generator/misc/modifier-list-generator.js +28 -0
- package/dist/cjs/generator/misc/parameter-list-generator.js +41 -0
- package/dist/cjs/generator/misc/value-generator.js +23 -0
- package/dist/cjs/generator/network/host-rule-generator.js +38 -0
- package/dist/cjs/generator/network/network-rule-generator.js +37 -0
- package/dist/cjs/generator/rule-generator.js +64 -0
- package/dist/cjs/index.js +201 -0
- package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +22 -0
- package/dist/cjs/marshalling-utils/comment/agent-common.js +43 -0
- package/dist/cjs/marshalling-utils/comment/config-comment-common.js +58 -0
- package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +23 -0
- package/dist/cjs/marshalling-utils/comment/hint-common.js +60 -0
- package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +44 -0
- package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +63 -0
- package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +23 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +64 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +68 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +25 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +22 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +116 -0
- package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +51 -0
- package/dist/cjs/marshalling-utils/empty-rule-common.js +21 -0
- package/dist/cjs/marshalling-utils/filter-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/invalid-rule-common.js +22 -0
- package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +23 -0
- package/dist/cjs/marshalling-utils/misc/binary-type-common.js +67 -0
- package/dist/cjs/marshalling-utils/misc/domain-list-common.js +39 -0
- package/dist/cjs/marshalling-utils/misc/host-rule-common.js +26 -0
- package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/misc/list-item-common.js +23 -0
- package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +89 -0
- package/dist/cjs/marshalling-utils/misc/modifier-common.js +236 -0
- package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/misc/value-common.js +23 -0
- package/dist/cjs/marshalling-utils/network/network-rule-common.js +26 -0
- package/dist/cjs/marshalling-utils/syntax-serialization-map.js +32 -0
- package/dist/cjs/nodes/index.js +180 -0
- package/dist/cjs/package.json.js +11 -0
- package/dist/cjs/parser/base-parser.js +32 -0
- package/dist/cjs/parser/comment/agent-comment-parser.js +121 -0
- package/dist/cjs/parser/comment/agent-parser.js +111 -0
- package/dist/cjs/parser/comment/comment-parser.js +110 -0
- package/dist/cjs/parser/comment/config-comment-parser.js +139 -0
- package/dist/cjs/parser/comment/hint-comment-parser.js +119 -0
- package/dist/cjs/parser/comment/hint-parser.js +131 -0
- package/dist/cjs/parser/comment/metadata-comment-parser.js +131 -0
- package/dist/cjs/parser/comment/preprocessor-parser.js +201 -0
- package/dist/cjs/parser/comment/simple-comment-parser.js +108 -0
- package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +81 -0
- package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +151 -0
- package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +112 -0
- package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +456 -0
- package/dist/cjs/parser/css/adg-css-injection-parser.js +213 -0
- package/dist/cjs/parser/css/balancing.js +97 -0
- package/dist/cjs/parser/css/constants.js +21 -0
- package/dist/cjs/parser/css/css-token-stream.js +345 -0
- package/dist/cjs/parser/css/ubo-selector-parser.js +373 -0
- package/dist/cjs/parser/filterlist-parser.js +104 -0
- package/dist/cjs/parser/index.js +21 -0
- package/dist/cjs/parser/misc/app-list-parser.js +47 -0
- package/dist/cjs/parser/misc/domain-list-parser.js +54 -0
- package/dist/cjs/parser/misc/list-items-parser.js +116 -0
- package/dist/cjs/parser/misc/logical-expression-parser.js +283 -0
- package/dist/cjs/parser/misc/method-list-parser.js +48 -0
- package/dist/cjs/parser/misc/modifier-list.js +72 -0
- package/dist/cjs/parser/misc/modifier-parser.js +91 -0
- package/dist/cjs/parser/misc/parameter-list-parser.js +74 -0
- package/dist/cjs/parser/misc/stealth-option-list-parser.js +48 -0
- package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +148 -0
- package/dist/cjs/parser/misc/value-parser.js +39 -0
- package/dist/cjs/parser/network/host-rule-parser.js +151 -0
- package/dist/cjs/parser/network/network-rule-parser.js +113 -0
- package/dist/cjs/parser/options.js +25 -0
- package/dist/cjs/parser/rule-parser.js +194 -0
- package/dist/cjs/serializer/base-serializer.js +31 -0
- package/dist/cjs/serializer/comment/agent-comment-serializer.js +73 -0
- package/dist/cjs/serializer/comment/agent-serializer.js +70 -0
- package/dist/cjs/serializer/comment/comment-rule-serializer.js +107 -0
- package/dist/cjs/serializer/comment/config-comment-serializer.js +84 -0
- package/dist/cjs/serializer/comment/hint-comment-serializer.js +64 -0
- package/dist/cjs/serializer/comment/hint-serializer.js +56 -0
- package/dist/cjs/serializer/comment/metadata-comment-serializer.js +75 -0
- package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +73 -0
- package/dist/cjs/serializer/comment/simple-comment-serializer.js +54 -0
- package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +38 -0
- package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +38 -0
- package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +49 -0
- package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +38 -0
- package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +131 -0
- package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +50 -0
- package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +39 -0
- package/dist/cjs/serializer/empty-rule-serializer.js +36 -0
- package/dist/cjs/serializer/filterlist-serializer.js +48 -0
- package/dist/cjs/serializer/index.js +13 -0
- package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +40 -0
- package/dist/cjs/serializer/invalid-rule-serializer.js +39 -0
- package/dist/cjs/serializer/misc/domain-list-serializer.js +66 -0
- package/dist/cjs/serializer/misc/list-item-serializer.js +57 -0
- package/dist/cjs/serializer/misc/list-items-serializer.js +28 -0
- package/dist/cjs/serializer/misc/logical-expression-serializer.js +138 -0
- package/dist/cjs/serializer/misc/modifier-list-serializer.js +57 -0
- package/dist/cjs/serializer/misc/modifier-serializer.js +51 -0
- package/dist/cjs/serializer/misc/parameter-list-serializer.js +51 -0
- package/dist/cjs/serializer/misc/value-serializer.js +52 -0
- package/dist/cjs/serializer/network/host-rule-serializer.js +72 -0
- package/dist/cjs/serializer/network/hostname-list-serializer.js +49 -0
- package/dist/cjs/serializer/network/network-rule-serializer.js +56 -0
- package/dist/cjs/serializer/rule-serializer.js +63 -0
- package/dist/cjs/utils/adblockers.js +57 -0
- package/dist/cjs/utils/binary-schema-version.js +19 -0
- package/dist/cjs/utils/byte-buffer.js +93 -0
- package/dist/cjs/utils/categorizer.js +46 -0
- package/dist/cjs/utils/clone.js +30 -0
- package/dist/cjs/utils/constants.js +380 -0
- package/dist/cjs/utils/cosmetic-rule-separator.js +129 -0
- package/dist/cjs/utils/deep-freeze.js +34 -0
- package/dist/cjs/utils/domain.js +60 -0
- package/dist/cjs/utils/error.js +51 -0
- package/dist/cjs/utils/index.js +69 -0
- package/dist/cjs/utils/input-byte-buffer.js +259 -0
- package/dist/cjs/utils/is-chromium.js +22 -0
- package/dist/cjs/utils/logical-expression.js +94 -0
- package/dist/cjs/utils/multi-value-map.js +35 -0
- package/dist/cjs/utils/output-byte-buffer.js +225 -0
- package/dist/cjs/utils/position-provider.js +75 -0
- package/dist/cjs/utils/quotes.js +218 -0
- package/dist/cjs/utils/regexp.js +190 -0
- package/dist/cjs/utils/string.js +560 -0
- package/dist/cjs/utils/text-decoder-polyfill.js +109 -0
- package/dist/cjs/utils/text-encoder-polyfill.js +80 -0
- package/dist/cjs/utils/type-guards.js +52 -0
- package/dist/cjs/validator/constants.js +222 -0
- package/dist/cjs/validator/helpers.js +49 -0
- package/dist/cjs/validator/index.js +176 -0
- package/dist/cjs/validator/value.js +565 -0
- package/dist/cjs/version.js +20 -0
- package/dist/esm/ast-utils/clone.mjs +61 -0
- package/dist/esm/ast-utils/modifiers.mjs +53 -0
- package/dist/esm/ast-utils/network-rules.mjs +41 -0
- package/dist/esm/ast-utils/scriptlets.mjs +87 -0
- package/dist/esm/common/abp-snippet-injection-body-common.mjs +16 -0
- package/dist/esm/common/agent-common.mjs +56 -0
- package/dist/esm/common/ubo-selector-common.mjs +18 -0
- package/dist/esm/compatibility-tables/base.mjs +262 -0
- package/dist/esm/compatibility-tables/compatibility-table-data.mjs +11 -0
- package/dist/esm/compatibility-tables/modifiers.mjs +55 -0
- package/dist/esm/compatibility-tables/platforms.mjs +58 -0
- package/dist/esm/compatibility-tables/redirects.mjs +100 -0
- package/dist/esm/compatibility-tables/schemas/base.mjs +111 -0
- package/dist/esm/compatibility-tables/schemas/modifier.mjs +105 -0
- package/dist/esm/compatibility-tables/schemas/platform.mjs +69 -0
- package/dist/esm/compatibility-tables/schemas/redirect.mjs +29 -0
- package/dist/esm/compatibility-tables/schemas/resource-type.mjs +37 -0
- package/dist/esm/compatibility-tables/schemas/scriptlet.mjs +79 -0
- package/dist/esm/compatibility-tables/scriptlets.mjs +28 -0
- package/dist/esm/compatibility-tables/utils/platform-helpers.mjs +105 -0
- package/dist/esm/compatibility-tables/utils/resource-type-helpers.mjs +61 -0
- package/dist/esm/compatibility-tables/utils/zod-camelcase.mjs +25 -0
- package/dist/esm/converter/base-interfaces/base-converter.mjs +59 -0
- package/dist/esm/converter/base-interfaces/conversion-result.mjs +38 -0
- package/dist/esm/converter/base-interfaces/rule-converter-base.mjs +60 -0
- package/dist/esm/converter/comment/index.mjs +54 -0
- package/dist/esm/converter/cosmetic/css.mjs +69 -0
- package/dist/esm/converter/cosmetic/element-hiding.mjs +62 -0
- package/dist/esm/converter/cosmetic/header-removal.mjs +123 -0
- package/dist/esm/converter/cosmetic/html.mjs +381 -0
- package/dist/esm/converter/cosmetic/index.mjs +118 -0
- package/dist/esm/converter/cosmetic/rule-modifiers/adg.mjs +79 -0
- package/dist/esm/converter/cosmetic/scriptlet.mjs +354 -0
- package/dist/esm/converter/css/index.mjs +190 -0
- package/dist/esm/converter/data/css.mjs +126 -0
- package/dist/esm/converter/filter-list.mjs +88 -0
- package/dist/esm/converter/index.mjs +8 -0
- package/dist/esm/converter/misc/network-rule-modifier.mjs +311 -0
- package/dist/esm/converter/network/index.mjs +99 -0
- package/dist/esm/converter/raw-filter-list.mjs +56 -0
- package/dist/esm/converter/rule.mjs +81 -0
- package/dist/esm/deserializer/base-deserializer.mjs +29 -0
- package/dist/esm/deserializer/comment/agent-comment-deserializer.mjs +74 -0
- package/dist/esm/deserializer/comment/agent-deserializer.mjs +65 -0
- package/dist/esm/deserializer/comment/comment-rule-deserializer.mjs +107 -0
- package/dist/esm/deserializer/comment/config-comment-deserializer.mjs +111 -0
- package/dist/esm/deserializer/comment/hint-comment-deserializer.mjs +67 -0
- package/dist/esm/deserializer/comment/hint-deserializer.mjs +85 -0
- package/dist/esm/deserializer/comment/metadata-comment-deserializer.mjs +69 -0
- package/dist/esm/deserializer/comment/pre-processor-comment-deserializer.mjs +112 -0
- package/dist/esm/deserializer/comment/simple-comment-deserializer.mjs +65 -0
- package/dist/esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs +125 -0
- package/dist/esm/deserializer/cosmetic/css-injection-body-deserializer.mjs +53 -0
- package/dist/esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs +44 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.mjs +35 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.mjs +35 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs +50 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.mjs +35 -0
- package/dist/esm/deserializer/empty-rule-deserializer.mjs +44 -0
- package/dist/esm/deserializer/filterlist-deserializer.mjs +81 -0
- package/dist/esm/deserializer/index.mjs +8 -0
- package/dist/esm/deserializer/invalid-rule-deserializer.mjs +46 -0
- package/dist/esm/deserializer/invalid-rule-error-node-deserializer.mjs +46 -0
- package/dist/esm/deserializer/misc/domain-list-deserializer.mjs +64 -0
- package/dist/esm/deserializer/misc/list-item-deserializer.mjs +63 -0
- package/dist/esm/deserializer/misc/list-items-deserializer.mjs +26 -0
- package/dist/esm/deserializer/misc/logical-expression-deserializer.mjs +196 -0
- package/dist/esm/deserializer/misc/modifier-deserializer.mjs +87 -0
- package/dist/esm/deserializer/misc/modifier-list-deserializer.mjs +56 -0
- package/dist/esm/deserializer/misc/parameter-list-deserializer.mjs +60 -0
- package/dist/esm/deserializer/misc/value-deserializer.mjs +50 -0
- package/dist/esm/deserializer/network/host-rule-deserializer.mjs +79 -0
- package/dist/esm/deserializer/network/hostname-list-deserializer.mjs +48 -0
- package/dist/esm/deserializer/network/network-rule-deserializer.mjs +65 -0
- package/dist/esm/deserializer/rule-deserializer.mjs +65 -0
- package/dist/esm/deserializer/syntax-deserialization-map.mjs +21 -0
- package/dist/esm/errors/adblock-syntax-error.mjs +39 -0
- package/dist/esm/errors/binary-schema-mismatch-error.mjs +37 -0
- package/dist/esm/errors/not-implemented-error.mjs +31 -0
- package/dist/esm/errors/rule-conversion-error.mjs +26 -0
- package/dist/esm/generator/base-generator.mjs +27 -0
- package/dist/esm/generator/comment/agent-comment-generator.mjs +28 -0
- package/dist/esm/generator/comment/agent-generator.mjs +32 -0
- package/dist/esm/generator/comment/comment-rule-generator.mjs +100 -0
- package/dist/esm/generator/comment/config-comment-generator.mjs +42 -0
- package/dist/esm/generator/comment/hint-comment-generator.mjs +25 -0
- package/dist/esm/generator/comment/hint-generator.mjs +30 -0
- package/dist/esm/generator/comment/metadata-comment-generator.mjs +30 -0
- package/dist/esm/generator/comment/pre-processor-comment-generator.mjs +45 -0
- package/dist/esm/generator/comment/simple-comment-generator.mjs +26 -0
- package/dist/esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs +34 -0
- package/dist/esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs +39 -0
- package/dist/esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs +41 -0
- package/dist/esm/generator/cosmetic/cosmetic-rule-body-generator.mjs +90 -0
- package/dist/esm/generator/cosmetic/cosmetic-rule-generator.mjs +64 -0
- package/dist/esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs +39 -0
- package/dist/esm/generator/css/adg-css-injection-generator.mjs +39 -0
- package/dist/esm/generator/filterlist-generator.mjs +55 -0
- package/dist/esm/generator/index.mjs +9 -0
- package/dist/esm/generator/misc/domain-list-generator.mjs +23 -0
- package/dist/esm/generator/misc/list-items-generator.mjs +36 -0
- package/dist/esm/generator/misc/logical-expression-generator.mjs +45 -0
- package/dist/esm/generator/misc/modifier-generator.mjs +31 -0
- package/dist/esm/generator/misc/modifier-list-generator.mjs +26 -0
- package/dist/esm/generator/misc/parameter-list-generator.mjs +39 -0
- package/dist/esm/generator/misc/value-generator.mjs +21 -0
- package/dist/esm/generator/network/host-rule-generator.mjs +36 -0
- package/dist/esm/generator/network/network-rule-generator.mjs +35 -0
- package/dist/esm/generator/rule-generator.mjs +62 -0
- package/dist/esm/index.mjs +70 -0
- package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +22 -0
- package/dist/esm/marshalling-utils/comment/agent-common.mjs +41 -0
- package/dist/esm/marshalling-utils/comment/config-comment-common.mjs +56 -0
- package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +23 -0
- package/dist/esm/marshalling-utils/comment/hint-common.mjs +57 -0
- package/dist/esm/marshalling-utils/comment/metadata-comment-common.mjs +42 -0
- package/dist/esm/marshalling-utils/comment/pre-processor-comment-common.mjs +60 -0
- package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +23 -0
- package/dist/esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs +62 -0
- package/dist/esm/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.mjs +66 -0
- package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +25 -0
- package/dist/esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs +22 -0
- package/dist/esm/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.mjs +114 -0
- package/dist/esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs +49 -0
- package/dist/esm/marshalling-utils/empty-rule-common.mjs +21 -0
- package/dist/esm/marshalling-utils/filter-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/invalid-rule-common.mjs +22 -0
- package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +23 -0
- package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +67 -0
- package/dist/esm/marshalling-utils/misc/domain-list-common.mjs +37 -0
- package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +26 -0
- package/dist/esm/marshalling-utils/misc/hostname-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/misc/list-item-common.mjs +23 -0
- package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +86 -0
- package/dist/esm/marshalling-utils/misc/modifier-common.mjs +232 -0
- package/dist/esm/marshalling-utils/misc/modifier-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/misc/parameter-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/misc/value-common.mjs +23 -0
- package/dist/esm/marshalling-utils/network/network-rule-common.mjs +26 -0
- package/dist/esm/marshalling-utils/syntax-serialization-map.mjs +30 -0
- package/dist/esm/nodes/index.mjs +180 -0
- package/dist/esm/package.json.mjs +9 -0
- package/dist/esm/parser/base-parser.mjs +30 -0
- package/dist/esm/parser/comment/agent-comment-parser.mjs +119 -0
- package/dist/esm/parser/comment/agent-parser.mjs +109 -0
- package/dist/esm/parser/comment/comment-parser.mjs +108 -0
- package/dist/esm/parser/comment/config-comment-parser.mjs +137 -0
- package/dist/esm/parser/comment/hint-comment-parser.mjs +117 -0
- package/dist/esm/parser/comment/hint-parser.mjs +129 -0
- package/dist/esm/parser/comment/metadata-comment-parser.mjs +129 -0
- package/dist/esm/parser/comment/preprocessor-parser.mjs +199 -0
- package/dist/esm/parser/comment/simple-comment-parser.mjs +106 -0
- package/dist/esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs +79 -0
- package/dist/esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs +149 -0
- package/dist/esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs +110 -0
- package/dist/esm/parser/cosmetic/cosmetic-rule-parser.mjs +453 -0
- package/dist/esm/parser/css/adg-css-injection-parser.mjs +208 -0
- package/dist/esm/parser/css/balancing.mjs +94 -0
- package/dist/esm/parser/css/constants.mjs +18 -0
- package/dist/esm/parser/css/css-token-stream.mjs +343 -0
- package/dist/esm/parser/css/ubo-selector-parser.mjs +369 -0
- package/dist/esm/parser/filterlist-parser.mjs +102 -0
- package/dist/esm/parser/index.mjs +11 -0
- package/dist/esm/parser/misc/app-list-parser.mjs +45 -0
- package/dist/esm/parser/misc/domain-list-parser.mjs +52 -0
- package/dist/esm/parser/misc/list-items-parser.mjs +113 -0
- package/dist/esm/parser/misc/logical-expression-parser.mjs +281 -0
- package/dist/esm/parser/misc/method-list-parser.mjs +46 -0
- package/dist/esm/parser/misc/modifier-list.mjs +70 -0
- package/dist/esm/parser/misc/modifier-parser.mjs +89 -0
- package/dist/esm/parser/misc/parameter-list-parser.mjs +72 -0
- package/dist/esm/parser/misc/stealth-option-list-parser.mjs +46 -0
- package/dist/esm/parser/misc/ubo-parameter-list-parser.mjs +146 -0
- package/dist/esm/parser/misc/value-parser.mjs +37 -0
- package/dist/esm/parser/network/host-rule-parser.mjs +130 -0
- package/dist/esm/parser/network/network-rule-parser.mjs +111 -0
- package/dist/esm/parser/options.mjs +23 -0
- package/dist/esm/parser/rule-parser.mjs +192 -0
- package/dist/esm/serializer/base-serializer.mjs +29 -0
- package/dist/esm/serializer/comment/agent-comment-serializer.mjs +71 -0
- package/dist/esm/serializer/comment/agent-serializer.mjs +68 -0
- package/dist/esm/serializer/comment/comment-rule-serializer.mjs +105 -0
- package/dist/esm/serializer/comment/config-comment-serializer.mjs +82 -0
- package/dist/esm/serializer/comment/hint-comment-serializer.mjs +62 -0
- package/dist/esm/serializer/comment/hint-serializer.mjs +54 -0
- package/dist/esm/serializer/comment/metadata-comment-serializer.mjs +73 -0
- package/dist/esm/serializer/comment/pre-processor-comment-serializer.mjs +71 -0
- package/dist/esm/serializer/comment/simple-comment-serializer.mjs +52 -0
- package/dist/esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs +36 -0
- package/dist/esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs +36 -0
- package/dist/esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs +47 -0
- package/dist/esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs +36 -0
- package/dist/esm/serializer/cosmetic/cosmetic-rule-serializer.mjs +129 -0
- package/dist/esm/serializer/cosmetic/css-injection-body-serializer.mjs +48 -0
- package/dist/esm/serializer/cosmetic/element-hiding-body-serializer.mjs +37 -0
- package/dist/esm/serializer/empty-rule-serializer.mjs +34 -0
- package/dist/esm/serializer/filterlist-serializer.mjs +46 -0
- package/dist/esm/serializer/index.mjs +7 -0
- package/dist/esm/serializer/invalid-rule-error-node-serializer.mjs +38 -0
- package/dist/esm/serializer/invalid-rule-serializer.mjs +37 -0
- package/dist/esm/serializer/misc/domain-list-serializer.mjs +64 -0
- package/dist/esm/serializer/misc/list-item-serializer.mjs +55 -0
- package/dist/esm/serializer/misc/list-items-serializer.mjs +26 -0
- package/dist/esm/serializer/misc/logical-expression-serializer.mjs +136 -0
- package/dist/esm/serializer/misc/modifier-list-serializer.mjs +55 -0
- package/dist/esm/serializer/misc/modifier-serializer.mjs +49 -0
- package/dist/esm/serializer/misc/parameter-list-serializer.mjs +49 -0
- package/dist/esm/serializer/misc/value-serializer.mjs +50 -0
- package/dist/esm/serializer/network/host-rule-serializer.mjs +70 -0
- package/dist/esm/serializer/network/hostname-list-serializer.mjs +47 -0
- package/dist/esm/serializer/network/network-rule-serializer.mjs +54 -0
- package/dist/esm/serializer/rule-serializer.mjs +61 -0
- package/dist/esm/utils/adblockers.mjs +57 -0
- package/dist/esm/utils/binary-schema-version.mjs +17 -0
- package/dist/esm/utils/byte-buffer.mjs +91 -0
- package/dist/esm/utils/categorizer.mjs +44 -0
- package/dist/esm/utils/clone.mjs +28 -0
- package/dist/esm/utils/constants.mjs +249 -0
- package/dist/esm/utils/cosmetic-rule-separator.mjs +127 -0
- package/dist/esm/utils/deep-freeze.mjs +32 -0
- package/dist/esm/utils/domain.mjs +56 -0
- package/dist/esm/utils/error.mjs +49 -0
- package/dist/esm/utils/index.mjs +21 -0
- package/dist/esm/utils/input-byte-buffer.mjs +257 -0
- package/dist/esm/utils/is-chromium.mjs +20 -0
- package/dist/esm/utils/logical-expression.mjs +92 -0
- package/dist/esm/utils/multi-value-map.mjs +33 -0
- package/dist/esm/utils/output-byte-buffer.mjs +223 -0
- package/dist/esm/utils/position-provider.mjs +73 -0
- package/dist/esm/utils/quotes.mjs +215 -0
- package/dist/esm/utils/regexp.mjs +176 -0
- package/dist/esm/utils/string.mjs +556 -0
- package/dist/esm/utils/text-decoder-polyfill.mjs +107 -0
- package/dist/esm/utils/text-encoder-polyfill.mjs +78 -0
- package/dist/esm/utils/type-guards.mjs +47 -0
- package/dist/esm/validator/constants.mjs +210 -0
- package/dist/esm/validator/helpers.mjs +45 -0
- package/dist/esm/validator/index.mjs +174 -0
- package/dist/esm/validator/value.mjs +563 -0
- package/dist/esm/version.mjs +18 -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 +8 -0
- package/dist/types/common/agent-common.d.ts +10 -0
- package/dist/types/common/ubo-selector-common.d.ts +9 -0
- package/dist/types/compatibility-tables/base.d.ts +157 -0
- package/dist/types/compatibility-tables/compatibility-table-data.d.ts +67 -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 +47 -0
- package/dist/types/compatibility-tables/redirects.d.ts +33 -0
- package/dist/types/compatibility-tables/schemas/base.d.ts +135 -0
- package/dist/types/compatibility-tables/schemas/index.d.ts +8 -0
- package/dist/types/compatibility-tables/schemas/modifier.d.ts +31 -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 +27 -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 +23 -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 +69 -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 +12 -0
- package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +12 -0
- package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +12 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +13 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +13 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +15 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +14 -0
- package/dist/types/deserializer/empty-rule-deserializer.d.ts +12 -0
- package/dist/types/deserializer/filterlist-deserializer.d.ts +30 -0
- package/dist/types/deserializer/index.d.ts +2 -0
- package/dist/types/deserializer/invalid-rule-deserializer.d.ts +12 -0
- package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +12 -0
- package/dist/types/deserializer/misc/domain-list-deserializer.d.ts +15 -0
- package/dist/types/deserializer/misc/list-item-deserializer.d.ts +13 -0
- package/dist/types/deserializer/misc/list-items-deserializer.d.ts +12 -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 +14 -0
- package/dist/types/deserializer/misc/value-deserializer.d.ts +17 -0
- package/dist/types/deserializer/network/host-rule-deserializer.d.ts +30 -0
- package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +12 -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 +11 -0
- package/dist/types/generator/comment/agent-generator.d.ts +11 -0
- package/dist/types/generator/comment/comment-rule-generator.d.ts +67 -0
- package/dist/types/generator/comment/config-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/hint-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/hint-generator.d.ts +11 -0
- package/dist/types/generator/comment/index.d.ts +2 -0
- package/dist/types/generator/comment/metadata-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/simple-comment-generator.d.ts +11 -0
- package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +11 -0
- package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +36 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/index.d.ts +1 -0
- package/dist/types/generator/css/adg-css-injection-generator.d.ts +12 -0
- package/dist/types/generator/css/ubo-selector-generator.d.ts +11 -0
- package/dist/types/generator/filterlist-generator.d.ts +17 -0
- package/dist/types/generator/index.d.ts +3 -0
- package/dist/types/generator/misc/domain-list-generator.d.ts +12 -0
- package/dist/types/generator/misc/list-items-generator.d.ts +22 -0
- package/dist/types/generator/misc/logical-expression-generator.d.ts +11 -0
- package/dist/types/generator/misc/modifier-generator.d.ts +11 -0
- package/dist/types/generator/misc/modifier-list-generator.d.ts +11 -0
- package/dist/types/generator/misc/parameter-list-generator.d.ts +12 -0
- package/dist/types/generator/misc/value-generator.d.ts +11 -0
- package/dist/types/generator/network/host-rule-generator.d.ts +11 -0
- package/dist/types/generator/network/index.d.ts +2 -0
- package/dist/types/generator/network/network-rule-generator.d.ts +11 -0
- package/dist/types/generator/rule-generator.d.ts +21 -0
- package/dist/types/index.d.ts +55 -0
- package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +13 -0
- package/dist/types/marshalling-utils/comment/agent-common.d.ts +19 -0
- package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +40 -0
- package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +14 -0
- package/dist/types/marshalling-utils/comment/hint-common.d.ts +32 -0
- package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +20 -0
- package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +36 -0
- package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +14 -0
- package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +22 -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 +16 -0
- package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +13 -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 +27 -0
- package/dist/types/marshalling-utils/empty-rule-common.d.ts +12 -0
- package/dist/types/marshalling-utils/filter-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/invalid-rule-common.d.ts +13 -0
- package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +56 -0
- package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +23 -0
- package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +17 -0
- package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/misc/list-item-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +44 -0
- package/dist/types/marshalling-utils/misc/modifier-common.d.ts +40 -0
- package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/misc/value-common.d.ts +14 -0
- package/dist/types/marshalling-utils/network/network-rule-common.d.ts +17 -0
- package/dist/types/marshalling-utils/syntax-serialization-map.d.ts +2 -0
- package/dist/types/nodes/index.d.ts +1177 -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 +5 -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 +34 -0
- package/dist/types/parser/misc/logical-expression-parser.d.ts +41 -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 +14 -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 +18 -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 +24 -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 +14 -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 +26 -0
- package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +12 -0
- package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +12 -0
- package/dist/types/serializer/empty-rule-serializer.d.ts +12 -0
- package/dist/types/serializer/filterlist-serializer.d.ts +16 -0
- package/dist/types/serializer/index.d.ts +1 -0
- package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +12 -0
- package/dist/types/serializer/invalid-rule-serializer.d.ts +12 -0
- package/dist/types/serializer/misc/domain-list-serializer.d.ts +21 -0
- package/dist/types/serializer/misc/list-item-serializer.d.ts +13 -0
- package/dist/types/serializer/misc/list-items-serializer.d.ts +12 -0
- package/dist/types/serializer/misc/logical-expression-serializer.d.ts +51 -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 +14 -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 +12 -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 +48 -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 +26 -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 +140 -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 +126 -0
- package/dist/types/utils/position-provider.d.ts +46 -0
- package/dist/types/utils/quotes.d.ts +93 -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 +277 -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 +11 -0
- package/dist/types/version.d.ts +5 -0
- package/package.json +91 -37
- package/dist/agtree.d.ts +0 -4152
- package/dist/agtree.js +0 -15710
- package/dist/agtree.mjs +0 -15611
- package/dist/compatibility-table-data.js +0 -12634
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Node } from '../nodes';
|
|
2
|
+
import { type ParserOptions } from './options';
|
|
3
|
+
/**
|
|
4
|
+
* Base class for parsers. Each parser should extend this class.
|
|
5
|
+
*/
|
|
6
|
+
export declare class BaseParser {
|
|
7
|
+
/**
|
|
8
|
+
* Parses the input string and returns the AST node.
|
|
9
|
+
*
|
|
10
|
+
* @param input Input string to parse.
|
|
11
|
+
* @param options Parser options, see {@link ParserOptions}.
|
|
12
|
+
* @param baseOffset Base offset. Locations in the AST node will be relative to this offset.
|
|
13
|
+
* @param args Additional, parser-specific arguments, if needed.
|
|
14
|
+
*/
|
|
15
|
+
static parse(input: string, options: ParserOptions, baseOffset: number, ...args: unknown[]): Node | null;
|
|
16
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type AgentCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseParser } from '../base-parser';
|
|
3
|
+
/**
|
|
4
|
+
* `AgentParser` is responsible for parsing an Adblock agent rules.
|
|
5
|
+
* Adblock agent comment marks that the filter list is supposed to
|
|
6
|
+
* be used by the specified ad blockers.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* - ```adblock
|
|
10
|
+
* [AdGuard]
|
|
11
|
+
* ```
|
|
12
|
+
* - ```adblock
|
|
13
|
+
* [Adblock Plus 2.0]
|
|
14
|
+
* ```
|
|
15
|
+
* - ```adblock
|
|
16
|
+
* [uBlock Origin]
|
|
17
|
+
* ```
|
|
18
|
+
* - ```adblock
|
|
19
|
+
* [uBlock Origin 1.45.3]
|
|
20
|
+
* ```
|
|
21
|
+
* - ```adblock
|
|
22
|
+
* [Adblock Plus 2.0; AdGuard]
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class AgentCommentParser extends BaseParser {
|
|
26
|
+
/**
|
|
27
|
+
* Checks if the raw rule is an adblock agent comment.
|
|
28
|
+
*
|
|
29
|
+
* @param raw Raw rule
|
|
30
|
+
* @returns `true` if the rule is an adblock agent, `false` otherwise
|
|
31
|
+
*/
|
|
32
|
+
static isAgentRule(raw: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Parses a raw rule as an adblock agent comment.
|
|
35
|
+
*
|
|
36
|
+
* @param raw Raw input to parse.
|
|
37
|
+
* @param options Global parser options.
|
|
38
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
39
|
+
* @returns Agent rule AST or null (if the raw rule cannot be parsed as an adblock agent comment)
|
|
40
|
+
*/
|
|
41
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): AgentCommentRule | null;
|
|
42
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Agent } from '../../nodes';
|
|
2
|
+
import { BaseParser } from '../base-parser';
|
|
3
|
+
/**
|
|
4
|
+
* `AgentParser` is responsible for parsing single adblock agent elements.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* If the adblock agent rule is
|
|
8
|
+
* ```adblock
|
|
9
|
+
* [Adblock Plus 2.0; AdGuard]
|
|
10
|
+
* ```
|
|
11
|
+
* then the adblock agents are `Adblock Plus 2.0` and `AdGuard`, and this
|
|
12
|
+
* class is responsible for parsing them. The rule itself is parsed by
|
|
13
|
+
* `AgentCommentParser`, which uses this class to parse single agents.
|
|
14
|
+
*/
|
|
15
|
+
export declare class AgentParser extends BaseParser {
|
|
16
|
+
/**
|
|
17
|
+
* Checks if the string is a valid version.
|
|
18
|
+
*
|
|
19
|
+
* @param str String to check
|
|
20
|
+
* @returns `true` if the string is a valid version, `false` otherwise
|
|
21
|
+
*/
|
|
22
|
+
private static isValidVersion;
|
|
23
|
+
/**
|
|
24
|
+
* Parses a raw rule as an adblock agent comment.
|
|
25
|
+
*
|
|
26
|
+
* @param raw Raw input to parse.
|
|
27
|
+
* @param options Global parser options.
|
|
28
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
29
|
+
* @returns Agent rule AST
|
|
30
|
+
* @throws {AdblockSyntaxError} If the raw rule cannot be parsed as an adblock agent
|
|
31
|
+
*/
|
|
32
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): Agent;
|
|
33
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type AnyCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseParser } from '../base-parser';
|
|
3
|
+
/**
|
|
4
|
+
* `CommentParser` is responsible for parsing any comment-like adblock rules.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* Example rules:
|
|
8
|
+
* - Adblock agent rules:
|
|
9
|
+
* - ```adblock
|
|
10
|
+
* [AdGuard]
|
|
11
|
+
* ```
|
|
12
|
+
* - ```adblock
|
|
13
|
+
* [Adblock Plus 2.0]
|
|
14
|
+
* ```
|
|
15
|
+
* - etc.
|
|
16
|
+
* - AdGuard hint rules:
|
|
17
|
+
* - ```adblock
|
|
18
|
+
* !+ NOT_OPTIMIZED
|
|
19
|
+
* ```
|
|
20
|
+
* - ```adblock
|
|
21
|
+
* !+ NOT_OPTIMIZED PLATFORM(windows)
|
|
22
|
+
* ```
|
|
23
|
+
* - etc.
|
|
24
|
+
* - Pre-processor rules:
|
|
25
|
+
* - ```adblock
|
|
26
|
+
* !#if (adguard)
|
|
27
|
+
* ```
|
|
28
|
+
* - ```adblock
|
|
29
|
+
* !#endif
|
|
30
|
+
* ```
|
|
31
|
+
* - etc.
|
|
32
|
+
* - Metadata rules:
|
|
33
|
+
* - ```adblock
|
|
34
|
+
* ! Title: My List
|
|
35
|
+
* ```
|
|
36
|
+
* - ```adblock
|
|
37
|
+
* ! Version: 2.0.150
|
|
38
|
+
* ```
|
|
39
|
+
* - etc.
|
|
40
|
+
* - AGLint inline config rules:
|
|
41
|
+
* - ```adblock
|
|
42
|
+
* ! aglint-enable some-rule
|
|
43
|
+
* ```
|
|
44
|
+
* - ```adblock
|
|
45
|
+
* ! aglint-disable some-rule
|
|
46
|
+
* ```
|
|
47
|
+
* - etc.
|
|
48
|
+
* - Simple comments:
|
|
49
|
+
* - Regular version:
|
|
50
|
+
* ```adblock
|
|
51
|
+
* ! This is just a comment
|
|
52
|
+
* ```
|
|
53
|
+
* - uBlock Origin / "hostlist" version:
|
|
54
|
+
* ```adblock
|
|
55
|
+
* # This is just a comment
|
|
56
|
+
* ```
|
|
57
|
+
* - etc.
|
|
58
|
+
*/
|
|
59
|
+
export declare class CommentParser extends BaseParser {
|
|
60
|
+
/**
|
|
61
|
+
* Checks whether a rule is a comment.
|
|
62
|
+
*
|
|
63
|
+
* @param raw Raw rule
|
|
64
|
+
* @returns `true` if the rule is a comment, `false` otherwise
|
|
65
|
+
*/
|
|
66
|
+
static isCommentRule(raw: string): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Parses a raw rule as comment.
|
|
69
|
+
*
|
|
70
|
+
* @param raw Raw input to parse.
|
|
71
|
+
* @param options Global parser options.
|
|
72
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
73
|
+
* @returns Comment AST or null (if the raw rule cannot be parsed as comment)
|
|
74
|
+
*/
|
|
75
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): AnyCommentRule | null;
|
|
76
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file AGLint configuration comments. Inspired by ESLint inline configuration comments.
|
|
3
|
+
* @see {@link https://eslint.org/docs/latest/user-guide/configuring/rules#using-configuration-comments}
|
|
4
|
+
*/
|
|
5
|
+
import { type ConfigCommentRule } from '../../nodes';
|
|
6
|
+
import { BaseParser } from '../base-parser';
|
|
7
|
+
/**
|
|
8
|
+
* `ConfigCommentParser` is responsible for parsing inline AGLint configuration rules.
|
|
9
|
+
* Generally, the idea is inspired by ESLint inline configuration comments.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link https://eslint.org/docs/latest/user-guide/configuring/rules#using-configuration-comments}
|
|
12
|
+
*/
|
|
13
|
+
export declare class ConfigCommentParser extends BaseParser {
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the raw rule is an inline configuration comment rule.
|
|
16
|
+
*
|
|
17
|
+
* @param raw Raw rule
|
|
18
|
+
* @returns `true` if the rule is an inline configuration comment rule, otherwise `false`.
|
|
19
|
+
*/
|
|
20
|
+
static isConfigComment(raw: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Parses a raw rule as an inline configuration comment.
|
|
23
|
+
*
|
|
24
|
+
* @param raw Raw input to parse.
|
|
25
|
+
* @param options Global parser options.
|
|
26
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
27
|
+
* @returns
|
|
28
|
+
* Inline configuration comment AST or null (if the raw rule cannot be parsed as configuration comment)
|
|
29
|
+
*/
|
|
30
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): ConfigCommentRule | null;
|
|
31
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type HintCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseParser } from '../base-parser';
|
|
3
|
+
/**
|
|
4
|
+
* `HintRuleParser` is responsible for parsing AdGuard hint rules.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* The following hint rule
|
|
8
|
+
* ```adblock
|
|
9
|
+
* !+ NOT_OPTIMIZED PLATFORM(windows)
|
|
10
|
+
* ```
|
|
11
|
+
* contains two hints: `NOT_OPTIMIZED` and `PLATFORM`.
|
|
12
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#hints}
|
|
13
|
+
*/
|
|
14
|
+
export declare class HintCommentParser extends BaseParser {
|
|
15
|
+
/**
|
|
16
|
+
* Checks if the raw rule is a hint rule.
|
|
17
|
+
*
|
|
18
|
+
* @param raw Raw rule
|
|
19
|
+
* @returns `true` if the rule is a hint rule, `false` otherwise
|
|
20
|
+
*/
|
|
21
|
+
static isHintRule(raw: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Parses a raw rule as a hint comment.
|
|
24
|
+
*
|
|
25
|
+
* @param raw Raw input to parse.
|
|
26
|
+
* @param options Global parser options.
|
|
27
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
28
|
+
* @returns Hint AST or null (if the raw rule cannot be parsed as a hint comment)
|
|
29
|
+
* @throws If the input matches the HINT pattern but syntactically invalid
|
|
30
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#hints-1}
|
|
31
|
+
*/
|
|
32
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): HintCommentRule | null;
|
|
33
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file AdGuard Hints
|
|
3
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#hints}
|
|
4
|
+
*/
|
|
5
|
+
import { type Hint } from '../../nodes';
|
|
6
|
+
import { BaseParser } from '../base-parser';
|
|
7
|
+
/**
|
|
8
|
+
* `HintParser` is responsible for parsing AdGuard hints.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* If the hint rule is
|
|
12
|
+
* ```adblock
|
|
13
|
+
* !+ NOT_OPTIMIZED PLATFORM(windows)
|
|
14
|
+
* ```
|
|
15
|
+
* then the hints are `NOT_OPTIMIZED` and `PLATFORM(windows)`, and this
|
|
16
|
+
* class is responsible for parsing them. The rule itself is parsed by
|
|
17
|
+
* the `HintRuleParser`, which uses this class to parse single hints.
|
|
18
|
+
*/
|
|
19
|
+
export declare class HintParser extends BaseParser {
|
|
20
|
+
/**
|
|
21
|
+
* Parses a raw rule as a hint.
|
|
22
|
+
*
|
|
23
|
+
* @param raw Raw input to parse.
|
|
24
|
+
* @param options Global parser options.
|
|
25
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
26
|
+
* @returns Hint rule AST or null
|
|
27
|
+
* @throws If the syntax is invalid
|
|
28
|
+
*/
|
|
29
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): Hint;
|
|
30
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Metadata comments
|
|
3
|
+
*/
|
|
4
|
+
import { type MetadataCommentRule } from '../../nodes';
|
|
5
|
+
import { BaseParser } from '../base-parser';
|
|
6
|
+
/**
|
|
7
|
+
* `MetadataParser` is responsible for parsing metadata comments.
|
|
8
|
+
* Metadata comments are special comments that specify some properties of the list.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* For example, in the case of
|
|
12
|
+
* ```adblock
|
|
13
|
+
* ! Title: My List
|
|
14
|
+
* ```
|
|
15
|
+
* the name of the header is `Title`, and the value is `My List`, which means that
|
|
16
|
+
* the list title is `My List`, and it can be used in the adblocker UI.
|
|
17
|
+
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#special-comments}
|
|
18
|
+
*/
|
|
19
|
+
export declare class MetadataCommentParser extends BaseParser {
|
|
20
|
+
/**
|
|
21
|
+
* Parses a raw rule as a metadata comment.
|
|
22
|
+
*
|
|
23
|
+
* @param raw Raw input to parse.
|
|
24
|
+
* @param options Global parser options.
|
|
25
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
26
|
+
* @returns Metadata comment AST or null (if the raw rule cannot be parsed as a metadata comment)
|
|
27
|
+
*/
|
|
28
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): MetadataCommentRule | null;
|
|
29
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-processor directives
|
|
3
|
+
*
|
|
4
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#pre-processor-directives}
|
|
5
|
+
* @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#pre-parsing-directives}
|
|
6
|
+
*/
|
|
7
|
+
import type { PreProcessorCommentRule } from '../../nodes';
|
|
8
|
+
import { BaseParser } from '../base-parser';
|
|
9
|
+
/**
|
|
10
|
+
* `PreProcessorParser` is responsible for parsing preprocessor rules.
|
|
11
|
+
* Pre-processor comments are special comments that are used to control the behavior of the filter list processor.
|
|
12
|
+
* Please note that this parser only handles general syntax for now, and does not validate the parameters at
|
|
13
|
+
* the parsing stage.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* If your rule is
|
|
17
|
+
* ```adblock
|
|
18
|
+
* !#if (adguard)
|
|
19
|
+
* ```
|
|
20
|
+
* then the directive's name is `if` and its value is `(adguard)`, but the parameter list
|
|
21
|
+
* is not parsed / validated further.
|
|
22
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#pre-processor-directives}
|
|
23
|
+
* @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#pre-parsing-directives}
|
|
24
|
+
*/
|
|
25
|
+
export declare class PreProcessorCommentParser extends BaseParser {
|
|
26
|
+
/**
|
|
27
|
+
* Determines whether the rule is a pre-processor rule.
|
|
28
|
+
*
|
|
29
|
+
* @param raw Raw rule
|
|
30
|
+
* @returns `true` if the rule is a pre-processor rule, `false` otherwise
|
|
31
|
+
*/
|
|
32
|
+
static isPreProcessorRule(raw: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Parses a raw rule as a pre-processor comment.
|
|
35
|
+
*
|
|
36
|
+
* @param raw Raw input to parse.
|
|
37
|
+
* @param options Global parser options.
|
|
38
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
39
|
+
* @returns
|
|
40
|
+
* Pre-processor comment AST or null (if the raw rule cannot be parsed as a pre-processor comment)
|
|
41
|
+
*/
|
|
42
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): PreProcessorCommentRule | null;
|
|
43
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CommentRule } from '../../nodes';
|
|
2
|
+
import { BaseParser } from '../base-parser';
|
|
3
|
+
/**
|
|
4
|
+
* `SimpleCommentParser` is responsible for parsing simple comments.
|
|
5
|
+
* Some comments have a special meaning in adblock syntax, like agent comments or hints,
|
|
6
|
+
* but this parser is only responsible for parsing regular comments,
|
|
7
|
+
* whose only purpose is to provide some human-readable information.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```adblock
|
|
11
|
+
* ! This is a simple comment
|
|
12
|
+
* # This is a simple comment, but in host-like syntax
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class SimpleCommentParser extends BaseParser {
|
|
16
|
+
/**
|
|
17
|
+
* Checks if the raw rule is a simple comment.
|
|
18
|
+
*
|
|
19
|
+
* @param raw Raw input to check.
|
|
20
|
+
* @returns `true` if the input is a simple comment, `false` otherwise.
|
|
21
|
+
* @note This method does not check for adblock agent comments.
|
|
22
|
+
*/
|
|
23
|
+
static isSimpleComment(raw: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Parses a raw rule as a simple comment.
|
|
26
|
+
*
|
|
27
|
+
* @param raw Raw input to parse.
|
|
28
|
+
* @param options Global parser options.
|
|
29
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
30
|
+
* @returns Comment rule node or null (if the raw rule cannot be parsed as a simple comment).
|
|
31
|
+
*/
|
|
32
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): CommentRule | null;
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file uBlock scriptlet injection body parser
|
|
3
|
+
*/
|
|
4
|
+
import { type ScriptletInjectionRuleBody } from '../../../nodes';
|
|
5
|
+
import { BaseParser } from '../../base-parser';
|
|
6
|
+
/**
|
|
7
|
+
* `AbpSnippetInjectionBodyParser` is responsible for parsing the body of an Adblock Plus-style snippet rule.
|
|
8
|
+
*
|
|
9
|
+
* Please note that the parser will parse any scriptlet rule if it is syntactically correct.
|
|
10
|
+
* For example, it will parse this:
|
|
11
|
+
* ```adblock
|
|
12
|
+
* example.com#$#snippet0 arg0
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* but it didn't check if the scriptlet `snippet0` actually supported by any adblocker.
|
|
16
|
+
*
|
|
17
|
+
* @see {@link https://help.eyeo.com/adblockplus/snippet-filters-tutorial}
|
|
18
|
+
*/
|
|
19
|
+
export declare class AbpSnippetInjectionBodyParser extends BaseParser {
|
|
20
|
+
/**
|
|
21
|
+
* Parses the body of an Adblock Plus-style snippet rule.
|
|
22
|
+
*
|
|
23
|
+
* @param raw Raw input to parse.
|
|
24
|
+
* @param options Global parser options.
|
|
25
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
26
|
+
* @returns Node of the parsed scriptlet call body
|
|
27
|
+
* @throws If the body is syntactically incorrect
|
|
28
|
+
* @example
|
|
29
|
+
* ```
|
|
30
|
+
* #$#snippet0 arg0
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
static parse(raw: string, options?: import("../../options").ParserOptions, baseOffset?: number): ScriptletInjectionRuleBody;
|
|
34
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file AdGuard scriptlet injection body parser
|
|
3
|
+
*/
|
|
4
|
+
import { BaseParser } from '../../base-parser';
|
|
5
|
+
import { type ScriptletInjectionRuleBody } from '../../../nodes';
|
|
6
|
+
/**
|
|
7
|
+
* `AdgScriptletInjectionBodyParser` is responsible for parsing the body of an AdGuard-style scriptlet rule.
|
|
8
|
+
*
|
|
9
|
+
* Please note that the parser will parse any scriptlet rule if it is syntactically correct.
|
|
10
|
+
* For example, it will parse this:
|
|
11
|
+
* ```adblock
|
|
12
|
+
* example.com#%#//scriptlet('scriptlet0', 'arg0')
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* but it didn't check if the scriptlet `scriptlet0` actually supported by any adblocker.
|
|
16
|
+
*
|
|
17
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
|
|
18
|
+
*/
|
|
19
|
+
export declare class AdgScriptletInjectionBodyParser extends BaseParser {
|
|
20
|
+
/**
|
|
21
|
+
* Error messages used by the parser.
|
|
22
|
+
*/
|
|
23
|
+
static readonly ERROR_MESSAGES: {
|
|
24
|
+
NO_SCRIPTLET_MASK: string;
|
|
25
|
+
NO_OPENING_PARENTHESIS: string;
|
|
26
|
+
NO_CLOSING_PARENTHESIS: string;
|
|
27
|
+
WHITESPACE_AFTER_MASK: string;
|
|
28
|
+
NO_INCONSISTENT_QUOTES: string;
|
|
29
|
+
NO_UNCLOSED_PARAMETER: string;
|
|
30
|
+
EXPECTED_QUOTE: string;
|
|
31
|
+
EXPECTED_COMMA: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Parses the body of an AdGuard-style scriptlet rule.
|
|
35
|
+
*
|
|
36
|
+
* @param raw Raw input to parse.
|
|
37
|
+
* @param options Global parser options.
|
|
38
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
39
|
+
* @returns Node of the parsed scriptlet call body
|
|
40
|
+
* @throws If the body is syntactically incorrect
|
|
41
|
+
* @example
|
|
42
|
+
* ```
|
|
43
|
+
* //scriptlet('scriptlet0', 'arg0')
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
static parse(raw: string, options?: import("../../options").ParserOptions, baseOffset?: number): ScriptletInjectionRuleBody;
|
|
47
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file uBlock scriptlet injection body parser
|
|
3
|
+
*/
|
|
4
|
+
import { type ScriptletInjectionRuleBody } from '../../../nodes';
|
|
5
|
+
import { BaseParser } from '../../base-parser';
|
|
6
|
+
/**
|
|
7
|
+
* `UboScriptletInjectionBodyParser` is responsible for parsing the body of a uBlock-style scriptlet rule.
|
|
8
|
+
*
|
|
9
|
+
* Please note that the parser will parse any scriptlet rule if it is syntactically correct.
|
|
10
|
+
* For example, it will parse this:
|
|
11
|
+
* ```adblock
|
|
12
|
+
* example.com##+js(scriptlet0, arg0)
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* but it didn't check if the scriptlet `scriptlet0` actually supported by any adblocker.
|
|
16
|
+
*
|
|
17
|
+
* @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#scriptlet-injection}
|
|
18
|
+
*/
|
|
19
|
+
export declare class UboScriptletInjectionBodyParser extends BaseParser {
|
|
20
|
+
/**
|
|
21
|
+
* Error messages used by the parser.
|
|
22
|
+
*/
|
|
23
|
+
static readonly ERROR_MESSAGES: {
|
|
24
|
+
NO_SCRIPTLET_MASK: string;
|
|
25
|
+
NO_OPENING_PARENTHESIS: string;
|
|
26
|
+
NO_CLOSING_PARENTHESIS: string;
|
|
27
|
+
NO_SCRIPTLET_NAME: string;
|
|
28
|
+
WHITESPACE_AFTER_MASK: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Parses the body of a uBlock-style scriptlet rule.
|
|
32
|
+
*
|
|
33
|
+
* @param raw Raw input to parse.
|
|
34
|
+
* @param options Global parser options.
|
|
35
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
36
|
+
* @returns Node of the parsed scriptlet call body
|
|
37
|
+
* @throws If the body is syntactically incorrect
|
|
38
|
+
* @example
|
|
39
|
+
* ```
|
|
40
|
+
* ##+js(scriptlet0, arg0)
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
static parse(raw: string, options?: import("../../options").ParserOptions, baseOffset?: number): ScriptletInjectionRuleBody;
|
|
44
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type AnyCosmeticRule } from '../../nodes';
|
|
2
|
+
import { BaseParser } from '../base-parser';
|
|
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
|
+
* `CosmeticRuleParser` is responsible for parsing cosmetic rules.
|
|
16
|
+
*
|
|
17
|
+
* Where possible, it automatically detects the difference between supported syntaxes:
|
|
18
|
+
* - AdGuard
|
|
19
|
+
* - uBlock Origin
|
|
20
|
+
* - Adblock Plus
|
|
21
|
+
*
|
|
22
|
+
* If the syntax is common / cannot be determined, the parser gives `Common` syntax.
|
|
23
|
+
*
|
|
24
|
+
* Please note that syntactically correct rules are parsed even if they are not actually
|
|
25
|
+
* compatible with the given adblocker. This is a completely natural behavior, meaningful
|
|
26
|
+
* checking of compatibility is not done at the parser level.
|
|
27
|
+
*/
|
|
28
|
+
export declare class CosmeticRuleParser extends BaseParser {
|
|
29
|
+
/**
|
|
30
|
+
* Determines whether a rule is a cosmetic rule. The rule is considered cosmetic if it
|
|
31
|
+
* contains a cosmetic rule separator.
|
|
32
|
+
*
|
|
33
|
+
* @param raw Raw rule
|
|
34
|
+
* @returns `true` if the rule is a cosmetic rule, `false` otherwise
|
|
35
|
+
*/
|
|
36
|
+
static isCosmeticRule(raw: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Parses a cosmetic rule. The structure of the cosmetic rules:
|
|
39
|
+
* - pattern (AdGuard pattern can have modifiers, other syntaxes don't)
|
|
40
|
+
* - separator
|
|
41
|
+
* - body
|
|
42
|
+
*
|
|
43
|
+
* @param raw Raw input to parse.
|
|
44
|
+
* @param options Global parser options.
|
|
45
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
46
|
+
* @returns
|
|
47
|
+
* Parsed cosmetic rule AST or null if it failed to parse based on the known cosmetic rules
|
|
48
|
+
* @throws If the input matches the cosmetic rule pattern but syntactically invalid
|
|
49
|
+
*/
|
|
50
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): AnyCosmeticRule | null;
|
|
51
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Parser for AdGuard CSS injections.
|
|
3
|
+
*/
|
|
4
|
+
import { type CssInjectionRuleBody } from '../../nodes';
|
|
5
|
+
import { BaseParser } from '../base-parser';
|
|
6
|
+
export declare const REMOVE_PROPERTY = "remove";
|
|
7
|
+
export declare const REMOVE_VALUE = "true";
|
|
8
|
+
export declare const ERROR_MESSAGES: {
|
|
9
|
+
MEDIA_QUERY_LIST_IS_EMPTY: string;
|
|
10
|
+
SELECTOR_LIST_IS_EMPTY: string;
|
|
11
|
+
DECLARATION_LIST_IS_EMPTY: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Parser for AdGuard CSS injection.
|
|
15
|
+
*/
|
|
16
|
+
export declare class AdgCssInjectionParser extends BaseParser {
|
|
17
|
+
/**
|
|
18
|
+
* Parses an AdGuard CSS injection.
|
|
19
|
+
*
|
|
20
|
+
* @param raw Raw input to parse.
|
|
21
|
+
* @param options Global parser options.
|
|
22
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
23
|
+
*
|
|
24
|
+
* @returns Parsed AdGuard CSS injection {@link CssInjectionRuleBody}.
|
|
25
|
+
* @throws An {@link AdblockSyntaxError} if the selector list is syntactically invalid.
|
|
26
|
+
*/
|
|
27
|
+
static parse(raw: string, options?: import("../options").ParserOptions, baseOffset?: number): CssInjectionRuleBody;
|
|
28
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Tokenizer helpers for balanced pairs.
|
|
3
|
+
*/
|
|
4
|
+
import { type OnErrorCallback, type OnTokenCallback, type TokenizerContextFunction } from '@adguard/css-tokenizer';
|
|
5
|
+
/**
|
|
6
|
+
* Extended version of `OnTokenCallback` which also receives a `balance` parameter.
|
|
7
|
+
*
|
|
8
|
+
* @param type Type of the token.
|
|
9
|
+
* @param start Start index in the source string.
|
|
10
|
+
* @param end End index in the source string.
|
|
11
|
+
* @param props Additional properties of the token (if any - can be `undefined`, depending on the token type).
|
|
12
|
+
* @param balance Calculated balance level of the token.
|
|
13
|
+
* @note This function is keeping the same signature as the original `OnTokenCallback` to avoid breaking changes,
|
|
14
|
+
* just adding the `balance` parameter at the end.
|
|
15
|
+
*/
|
|
16
|
+
export type OnBalancedTokenCallback = (...args: [...Parameters<OnTokenCallback>, ...[balance: number]]) => ReturnType<OnTokenCallback>;
|
|
17
|
+
/**
|
|
18
|
+
* Tokenize and ensure balanced pairs for standard CSS.
|
|
19
|
+
*
|
|
20
|
+
* @param raw Raw CSS string to tokenize
|
|
21
|
+
* @param onToken Callback which will be invoked for each token, extended with a `balance` parameter
|
|
22
|
+
* @param onError Error callback which is called when a parsing error is found (optional)
|
|
23
|
+
* @param functionHandlers Custom function handlers (optional)
|
|
24
|
+
* @throws If the input is not balanced
|
|
25
|
+
*/
|
|
26
|
+
export declare const tokenizeBalanced: (raw: string, onToken: OnBalancedTokenCallback, onError?: OnErrorCallback, functionHandlers?: Map<number, TokenizerContextFunction>) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Tokenize and ensure balanced pairs for function calls.
|
|
29
|
+
*
|
|
30
|
+
* @param raw Raw CSS string to tokenize
|
|
31
|
+
* @param onToken Callback which will be invoked for each token, extended with a `balance` parameter
|
|
32
|
+
* @param onError Error callback which is called when a parsing error is found (optional)
|
|
33
|
+
* @param functionHandlers Custom function handlers (optional)
|
|
34
|
+
* @throws If the input is not balanced
|
|
35
|
+
*/
|
|
36
|
+
export declare const tokenizeFnBalanced: (raw: string, onToken: OnBalancedTokenCallback, onError?: OnErrorCallback, functionHandlers?: Map<number, TokenizerContextFunction>) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Error messages for CSS token stream and balancer.
|
|
3
|
+
*/
|
|
4
|
+
export declare const END_OF_INPUT = "end of input";
|
|
5
|
+
export declare const ERROR_MESSAGES: {
|
|
6
|
+
EXPECTED_ANY_TOKEN_BUT_GOT: string;
|
|
7
|
+
EXPECTED_TOKEN_BUT_GOT: string;
|
|
8
|
+
EXPECTED_TOKEN_WITH_BALANCE_BUT_GOT: string;
|
|
9
|
+
EXPECTED_TOKEN_WITH_VALUE_BUT_GOT: string;
|
|
10
|
+
};
|