@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,12 @@
|
|
|
1
|
+
import { BaseDeserializer } from './base-deserializer';
|
|
2
|
+
import { type InvalidRuleError } from '../nodes';
|
|
3
|
+
import { type InputByteBuffer } from '../utils/input-byte-buffer';
|
|
4
|
+
export declare class InvalidRuleErrorNodeDeserializer extends BaseDeserializer {
|
|
5
|
+
/**
|
|
6
|
+
* Deserializes an invalid rule error node from binary format.
|
|
7
|
+
*
|
|
8
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
9
|
+
* @param node Destination node.
|
|
10
|
+
*/
|
|
11
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<InvalidRuleError>): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type DomainList } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* `DomainListDeserializer` is responsible for deserializing a domain list.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DomainListDeserializer extends BaseDeserializer {
|
|
8
|
+
/**
|
|
9
|
+
* Deserializes a modifier list node from binary format.
|
|
10
|
+
*
|
|
11
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
12
|
+
* @param node Destination node.
|
|
13
|
+
*/
|
|
14
|
+
static deserialize(buffer: InputByteBuffer, node: DomainList): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
2
|
+
import { type ListItem, ListItemNodeType } from '../../nodes';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
export declare class ListItemDeserializer extends BaseDeserializer {
|
|
5
|
+
/**
|
|
6
|
+
* Deserializes a list item from binary format.
|
|
7
|
+
*
|
|
8
|
+
* @param buffer Input byte buffer.
|
|
9
|
+
* @param node Partial list item to deserialize.
|
|
10
|
+
* @template T Type of the list item.
|
|
11
|
+
*/
|
|
12
|
+
static deserialize: <T extends ListItemNodeType>(buffer: InputByteBuffer, node: Partial<ListItem<T>>) => void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ListItem, type ListItemNodeType } from '../../nodes';
|
|
2
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
3
|
+
export declare class ListItemsDeserializer {
|
|
4
|
+
/**
|
|
5
|
+
* Deserializes a list of items from binary format.
|
|
6
|
+
*
|
|
7
|
+
* @param buffer Input byte buffer.
|
|
8
|
+
* @param items Partial list of items to deserialize.
|
|
9
|
+
* @template T Type of the list items.
|
|
10
|
+
*/
|
|
11
|
+
static deserialize: <T extends ListItemNodeType>(buffer: InputByteBuffer, items: Partial<ListItem<T>>[]) => void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type AnyExpressionNode } from '../../nodes';
|
|
2
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
3
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
4
|
+
/**
|
|
5
|
+
* Gets the frequent name of the variable from the binary representation.
|
|
6
|
+
*
|
|
7
|
+
* @param binary Binary representation of the variable
|
|
8
|
+
* @returns Frequent name of the variable
|
|
9
|
+
* @throws If the variable is unknown
|
|
10
|
+
*/
|
|
11
|
+
export declare const getFrequentNameOrFail: (binary: number) => string;
|
|
12
|
+
/**
|
|
13
|
+
* `LogicalExpressionDeserializer` is responsible for deserializing logical expressions.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* From the following rule:
|
|
17
|
+
* ```adblock
|
|
18
|
+
* !#if (adguard_ext_android_cb || adguard_ext_safari)
|
|
19
|
+
* ```
|
|
20
|
+
* this parser will parse the expression `(adguard_ext_android_cb || adguard_ext_safari)`.
|
|
21
|
+
*/
|
|
22
|
+
export declare class LogicalExpressionDeserializer extends BaseDeserializer {
|
|
23
|
+
/**
|
|
24
|
+
* Deserializes a variable node from binary format.
|
|
25
|
+
*
|
|
26
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
27
|
+
* @param node Destination node.
|
|
28
|
+
* @throws If the binary data is malformed.
|
|
29
|
+
*/
|
|
30
|
+
private static deserializeVariableNode;
|
|
31
|
+
/**
|
|
32
|
+
* Deserializes a parenthesis node from binary format.
|
|
33
|
+
*
|
|
34
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
35
|
+
* @param node Destination node.
|
|
36
|
+
* @throws If the binary data is malformed.
|
|
37
|
+
*/
|
|
38
|
+
private static deserializeParenthesisNode;
|
|
39
|
+
/**
|
|
40
|
+
* Deserializes an operator node from binary format.
|
|
41
|
+
*
|
|
42
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
43
|
+
* @param node Destination node.
|
|
44
|
+
* @throws If the binary data is malformed.
|
|
45
|
+
*/
|
|
46
|
+
private static deserializeOperatorNode;
|
|
47
|
+
/**
|
|
48
|
+
* Deserializes a logical expression node from binary format.
|
|
49
|
+
*
|
|
50
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
51
|
+
* @param node Destination node.
|
|
52
|
+
* @throws If the binary data is malformed.
|
|
53
|
+
*/
|
|
54
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<AnyExpressionNode>): void;
|
|
55
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Modifier } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* `ModifierSerializer` is responsible for serializing modifiers.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* `match-case`, `~third-party`, `domain=example.com|~example.org`
|
|
9
|
+
*/
|
|
10
|
+
export declare class ModifierDeserializer extends BaseDeserializer {
|
|
11
|
+
/**
|
|
12
|
+
* Deserializes a modifier node from binary format.
|
|
13
|
+
*
|
|
14
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
15
|
+
* @param node Destination node.
|
|
16
|
+
*/
|
|
17
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<Modifier>): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ModifierList } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* `ModifierListDeserializer` is responsible for deserializing modifier lists. Please note that the name is not
|
|
6
|
+
* uniform, "modifiers" are also known as "options".
|
|
7
|
+
*
|
|
8
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules-modifiers}
|
|
9
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#non-basic-rules-modifiers}
|
|
10
|
+
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#options}
|
|
11
|
+
*/
|
|
12
|
+
export declare class ModifierListDeserializer extends BaseDeserializer {
|
|
13
|
+
/**
|
|
14
|
+
* Deserializes a modifier list node from binary format.
|
|
15
|
+
*
|
|
16
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
17
|
+
* @param node Destination node.
|
|
18
|
+
*/
|
|
19
|
+
static deserialize(buffer: InputByteBuffer, node: ModifierList): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ParameterList } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
export declare class ParameterListDeserializer extends BaseDeserializer {
|
|
5
|
+
/**
|
|
6
|
+
* Deserializes a parameter list node from binary format.
|
|
7
|
+
*
|
|
8
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
9
|
+
* @param node Destination node.
|
|
10
|
+
* @param frequentValuesMap Optional map of frequent values.
|
|
11
|
+
* @throws If the binary data is malformed.
|
|
12
|
+
*/
|
|
13
|
+
static deserialize(buffer: InputByteBuffer, node: ParameterList, frequentValuesMap?: Map<number, string>): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Value } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* Value deserializer.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ValueDeserializer extends BaseDeserializer {
|
|
8
|
+
/**
|
|
9
|
+
* Deserializes a value node from binary format.
|
|
10
|
+
*
|
|
11
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
12
|
+
* @param node Destination node.
|
|
13
|
+
* @param frequentValuesMap Optional map of frequent values.
|
|
14
|
+
* @throws If the binary data is malformed.
|
|
15
|
+
*/
|
|
16
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<Value>, frequentValuesMap?: Map<number, string>): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type HostRule } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* `HostRuleSerializer` is responsible for serializing hosts-like rules.
|
|
6
|
+
*
|
|
7
|
+
* HostRule is a structure for simple host-level rules (i.e. /etc/hosts syntax).
|
|
8
|
+
* It also supports "just domain" syntax. In this case, the IP will be set to 0.0.0.0.
|
|
9
|
+
*
|
|
10
|
+
* Rules syntax looks like this:
|
|
11
|
+
* ```text
|
|
12
|
+
* IP_address canonical_hostname [aliases...]
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* `192.168.1.13 bar.mydomain.org bar` -- ipv4
|
|
17
|
+
* `ff02::1 ip6-allnodes` -- ipv6
|
|
18
|
+
* `::1 localhost ip6-localhost ip6-loopback` -- ipv6 aliases
|
|
19
|
+
* `example.org` -- "just domain" syntax
|
|
20
|
+
* @see {@link http://man7.org/linux/man-pages/man5/hosts.5.html}
|
|
21
|
+
*/
|
|
22
|
+
export declare class HostRuleDeserializer extends BaseDeserializer {
|
|
23
|
+
/**
|
|
24
|
+
* Deserializes a modifier node from binary format.
|
|
25
|
+
*
|
|
26
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
27
|
+
* @param node Destination node.
|
|
28
|
+
*/
|
|
29
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<HostRule>): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
2
|
+
import { type HostnameList } from '../../nodes';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
export declare class HostnameListDeserializer extends BaseDeserializer {
|
|
5
|
+
/**
|
|
6
|
+
* Deserializes a hostname list node from binary format.
|
|
7
|
+
*
|
|
8
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
9
|
+
* @param node Destination node.
|
|
10
|
+
*/
|
|
11
|
+
static deserialize(buffer: InputByteBuffer, node: HostnameList): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type NetworkRule } from '../../nodes';
|
|
2
|
+
import { BaseDeserializer } from '../base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* `NetworkRuleDeserializer` is responsible for deserializing network rules.
|
|
6
|
+
*
|
|
7
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
|
|
8
|
+
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#basic}
|
|
9
|
+
*/
|
|
10
|
+
export declare class NetworkRuleDeserializer extends BaseDeserializer {
|
|
11
|
+
/**
|
|
12
|
+
* Deserializes a network rule node from binary format.
|
|
13
|
+
*
|
|
14
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
15
|
+
* @param node Destination node.
|
|
16
|
+
*/
|
|
17
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<NetworkRule>): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AnyRule } from '../nodes';
|
|
2
|
+
import { BaseDeserializer } from './base-deserializer';
|
|
3
|
+
import { type InputByteBuffer } from '../utils/input-byte-buffer';
|
|
4
|
+
/**
|
|
5
|
+
* `RuleDeserializer` is responsible for deserializing the rules.
|
|
6
|
+
*
|
|
7
|
+
* It automatically determines the category and syntax of the rule, so you can pass any kind of rule to it.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RuleDeserializer extends BaseDeserializer {
|
|
10
|
+
/**
|
|
11
|
+
* Deserializes a rule node from binary format.
|
|
12
|
+
*
|
|
13
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
14
|
+
* @param node Destination node.
|
|
15
|
+
*/
|
|
16
|
+
static deserialize(buffer: InputByteBuffer, node: Partial<AnyRule>): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Customized syntax error class for Adblock Filter Parser.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Customized syntax error class for Adblock Filter Parser,
|
|
6
|
+
* which contains the location range of the error.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AdblockSyntaxError extends SyntaxError {
|
|
9
|
+
/**
|
|
10
|
+
* Start offset of the error.
|
|
11
|
+
*/
|
|
12
|
+
start: number;
|
|
13
|
+
/**
|
|
14
|
+
* End offset of the error.
|
|
15
|
+
*/
|
|
16
|
+
end: number;
|
|
17
|
+
/**
|
|
18
|
+
* Constructs a new `AdblockSyntaxError` instance.
|
|
19
|
+
*
|
|
20
|
+
* @param message Error message.
|
|
21
|
+
* @param start Start offset of the error.
|
|
22
|
+
* @param end End offset of the error.
|
|
23
|
+
*/
|
|
24
|
+
constructor(message: string, start: number, end: number);
|
|
25
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Customized error for binary schema mismatch.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Customized error for binary schema mismatch.
|
|
6
|
+
*/
|
|
7
|
+
export declare class BinarySchemaMismatchError extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* Expected schema version.
|
|
10
|
+
*/
|
|
11
|
+
expectedVersion: number;
|
|
12
|
+
/**
|
|
13
|
+
* Actual schema version.
|
|
14
|
+
*/
|
|
15
|
+
actualVersion: number;
|
|
16
|
+
/**
|
|
17
|
+
* Constructs a new `BinarySchemaMismatchError` instance.
|
|
18
|
+
*
|
|
19
|
+
* @param expectedVersion Expected schema version.
|
|
20
|
+
* @param actualVersion Actual schema version.
|
|
21
|
+
*/
|
|
22
|
+
constructor(expectedVersion: number, actualVersion: number);
|
|
23
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Customized error class for not implemented features.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Customized error class for not implemented features.
|
|
6
|
+
*/
|
|
7
|
+
export declare class NotImplementedError extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* Constructs a new `NotImplementedError` instance.
|
|
10
|
+
*
|
|
11
|
+
* @param message Additional error message (optional)
|
|
12
|
+
*/
|
|
13
|
+
constructor(message?: string | undefined);
|
|
14
|
+
}
|
|
@@ -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,11 @@
|
|
|
1
|
+
import type { AgentCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
export declare class AgentCommentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts an adblock agent AST to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param ast Agent rule AST
|
|
8
|
+
* @returns Raw string
|
|
9
|
+
*/
|
|
10
|
+
static generate(ast: AgentCommentRule): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { Agent } from '../../nodes';
|
|
3
|
+
export declare class AgentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts an adblock agent node to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param value Agent node
|
|
8
|
+
* @returns Raw string
|
|
9
|
+
*/
|
|
10
|
+
static generate(value: Agent): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type AnyCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
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 CommentRuleGenerator extends BaseGenerator {
|
|
60
|
+
/**
|
|
61
|
+
* Converts a comment rule node to a string.
|
|
62
|
+
*
|
|
63
|
+
* @param node Comment rule node
|
|
64
|
+
* @returns Raw string
|
|
65
|
+
*/
|
|
66
|
+
static generate(node: AnyCommentRule): string;
|
|
67
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { ConfigCommentRule } from '../../nodes';
|
|
3
|
+
export declare class ConfigCommentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts an inline configuration comment node to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param node Inline configuration comment node
|
|
8
|
+
* @returns Raw string
|
|
9
|
+
*/
|
|
10
|
+
static generate(node: ConfigCommentRule): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { HintCommentRule } from '../../nodes';
|
|
3
|
+
export declare class HintCommentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts a hint rule node to a raw string.
|
|
6
|
+
*
|
|
7
|
+
* @param node Hint rule node
|
|
8
|
+
* @returns Raw string
|
|
9
|
+
*/
|
|
10
|
+
static generate(node: HintCommentRule): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Hint } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
export declare class HintGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts a single hint AST to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param hint Hint AST
|
|
8
|
+
* @returns Hint string
|
|
9
|
+
*/
|
|
10
|
+
static generate(hint: Hint): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { MetadataCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
export declare class MetadataCommentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts a metadata comment rule node to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param node Metadata comment rule node.
|
|
8
|
+
* @returns Raw string.
|
|
9
|
+
*/
|
|
10
|
+
static generate(node: MetadataCommentRule): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PreProcessorCommentRule } from '../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../base-generator';
|
|
3
|
+
export declare class PreProcessorCommentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts a pre-processor comment node to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param node Pre-processor comment node
|
|
8
|
+
* @returns Raw string
|
|
9
|
+
*/
|
|
10
|
+
static generate(node: PreProcessorCommentRule): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import type { CommentRule } from '../../nodes';
|
|
3
|
+
export declare class SimpleCommentGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Converts a comment rule node to a string.
|
|
6
|
+
*
|
|
7
|
+
* @param node Comment rule node.
|
|
8
|
+
* @returns Raw string.
|
|
9
|
+
*/
|
|
10
|
+
static generate(node: CommentRule): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ScriptletInjectionRuleBody } from '../../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../../base-generator';
|
|
3
|
+
export declare class AbpSnippetInjectionBodyGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Generates a string representation of the Adblock Plus-style snippet call body.
|
|
6
|
+
*
|
|
7
|
+
* @param node Scriptlet injection rule body
|
|
8
|
+
* @returns String representation of the rule body
|
|
9
|
+
*/
|
|
10
|
+
static generate(node: ScriptletInjectionRuleBody): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ScriptletInjectionRuleBody } from '../../../nodes';
|
|
2
|
+
import { BaseGenerator } from '../../base-generator';
|
|
3
|
+
export declare class AdgScriptletInjectionBodyGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Error messages used by the parser.
|
|
6
|
+
*/
|
|
7
|
+
static readonly ERROR_MESSAGES: {
|
|
8
|
+
NO_MULTIPLE_SCRIPTLET_CALLS: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Generates a string representation of the AdGuard scriptlet call body.
|
|
12
|
+
*
|
|
13
|
+
* @param node Scriptlet injection rule body
|
|
14
|
+
* @returns String representation of the rule body
|
|
15
|
+
*/
|
|
16
|
+
static generate(node: ScriptletInjectionRuleBody): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseGenerator } from '../../base-generator';
|
|
2
|
+
import type { ScriptletInjectionRuleBody } from '../../../nodes';
|
|
3
|
+
export declare class UboScriptletInjectionBodyGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Error messages used by the parser.
|
|
6
|
+
*/
|
|
7
|
+
static readonly ERROR_MESSAGES: {
|
|
8
|
+
NO_MULTIPLE_SCRIPTLET_CALLS: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Generates a string representation of the uBlock scriptlet call body.
|
|
12
|
+
*
|
|
13
|
+
* @param node Scriptlet injection rule body
|
|
14
|
+
* @returns String representation of the rule body
|
|
15
|
+
*/
|
|
16
|
+
static generate(node: ScriptletInjectionRuleBody): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseGenerator } from '../base-generator';
|
|
2
|
+
import { type AnyCosmeticRule } from '../../nodes';
|
|
3
|
+
export declare class CosmeticRuleBodyGenerator extends BaseGenerator {
|
|
4
|
+
/**
|
|
5
|
+
* Generates the rule body from the node.
|
|
6
|
+
*
|
|
7
|
+
* @param node Cosmetic rule node
|
|
8
|
+
* @returns Raw rule body
|
|
9
|
+
* @example
|
|
10
|
+
* - '##.foo' → '.foo'
|
|
11
|
+
* - 'example.com,example.org##.foo' → '.foo'
|
|
12
|
+
* - 'example.com#%#//scriptlet('foo')' → '//scriptlet('foo')'
|
|
13
|
+
*/
|
|
14
|
+
static generate(node: AnyCosmeticRule): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
* `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 CosmeticRuleGenerator extends BaseGenerator {
|
|
29
|
+
/**
|
|
30
|
+
* Converts a cosmetic rule AST into a string.
|
|
31
|
+
*
|
|
32
|
+
* @param node Cosmetic rule AST
|
|
33
|
+
* @returns Raw string
|
|
34
|
+
*/
|
|
35
|
+
static generate(node: AnyCosmeticRule): string;
|
|
36
|
+
}
|