@adguard/agtree 2.1.3 → 3.0.0
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 -15741
- package/dist/agtree.mjs +0 -15642
- package/dist/compatibility-table-data.js +0 -12634
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
import { BaseSerializer } from '../base-serializer.mjs';
|
|
8
|
+
import { isUndefined } from '../../utils/type-guards.mjs';
|
|
9
|
+
import { UINT16_MAX, NULL } from '../../utils/constants.mjs';
|
|
10
|
+
import { ValueSerializer } from '../misc/value-serializer.mjs';
|
|
11
|
+
import { HostnameListNodeMarshallingMap } from '../../marshalling-utils/misc/hostname-list-common.mjs';
|
|
12
|
+
import { BinaryTypeMarshallingMap } from '../../marshalling-utils/misc/binary-type-common.mjs';
|
|
13
|
+
|
|
14
|
+
class HostnameListSerializer extends BaseSerializer {
|
|
15
|
+
/**
|
|
16
|
+
* Serializes a hostname list node to binary format.
|
|
17
|
+
*
|
|
18
|
+
* @param node Node to serialize.
|
|
19
|
+
* @param buffer ByteBuffer for writing binary data.
|
|
20
|
+
*/
|
|
21
|
+
static serialize(node, buffer) {
|
|
22
|
+
buffer.writeUint8(BinaryTypeMarshallingMap.HostnameListNode);
|
|
23
|
+
if (!isUndefined(node.start)) {
|
|
24
|
+
buffer.writeUint8(HostnameListNodeMarshallingMap.Start);
|
|
25
|
+
buffer.writeUint32(node.start);
|
|
26
|
+
}
|
|
27
|
+
if (!isUndefined(node.end)) {
|
|
28
|
+
buffer.writeUint8(HostnameListNodeMarshallingMap.End);
|
|
29
|
+
buffer.writeUint32(node.end);
|
|
30
|
+
}
|
|
31
|
+
const count = node.children.length;
|
|
32
|
+
if (count) {
|
|
33
|
+
// note: we store the count, because re-construction of the array is faster if we know the length
|
|
34
|
+
if (count > UINT16_MAX) {
|
|
35
|
+
throw new Error(`Too many children: ${count}, the limit is ${UINT16_MAX}`);
|
|
36
|
+
}
|
|
37
|
+
buffer.writeUint8(HostnameListNodeMarshallingMap.Children);
|
|
38
|
+
buffer.writeUint16(count);
|
|
39
|
+
for (let i = 0; i < count; i += 1) {
|
|
40
|
+
ValueSerializer.serialize(node.children[i], buffer);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
buffer.writeUint8(NULL);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { HostnameListSerializer };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
import { NULL } from '../../utils/constants.mjs';
|
|
8
|
+
import { isUndefined } from '../../utils/type-guards.mjs';
|
|
9
|
+
import { ValueSerializer } from '../misc/value-serializer.mjs';
|
|
10
|
+
import { BaseSerializer } from '../base-serializer.mjs';
|
|
11
|
+
import { ModifierListSerializer } from '../misc/modifier-list-serializer.mjs';
|
|
12
|
+
import { NetworkRuleMarshallingMap } from '../../marshalling-utils/network/network-rule-common.mjs';
|
|
13
|
+
import { BinaryTypeMarshallingMap } from '../../marshalling-utils/misc/binary-type-common.mjs';
|
|
14
|
+
import { getSyntaxSerializationMap } from '../../marshalling-utils/syntax-serialization-map.mjs';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* `NetworkRuleSerializer` is responsible for serializing network rules.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
|
|
20
|
+
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#basic}
|
|
21
|
+
*/
|
|
22
|
+
class NetworkRuleSerializer extends BaseSerializer {
|
|
23
|
+
/**
|
|
24
|
+
* Serializes a network rule node to binary format.
|
|
25
|
+
*
|
|
26
|
+
* @param node Node to serialize.
|
|
27
|
+
* @param buffer ByteBuffer for writing binary data.
|
|
28
|
+
*/
|
|
29
|
+
// TODO: add support for raws, if ever needed
|
|
30
|
+
static serialize(node, buffer) {
|
|
31
|
+
buffer.writeUint8(BinaryTypeMarshallingMap.NetworkRuleNode);
|
|
32
|
+
buffer.writeUint8(NetworkRuleMarshallingMap.Syntax);
|
|
33
|
+
buffer.writeUint8(getSyntaxSerializationMap().get(node.syntax) ?? 0);
|
|
34
|
+
buffer.writeUint8(NetworkRuleMarshallingMap.Exception);
|
|
35
|
+
buffer.writeUint8(node.exception ? 1 : 0);
|
|
36
|
+
buffer.writeUint8(NetworkRuleMarshallingMap.Pattern);
|
|
37
|
+
ValueSerializer.serialize(node.pattern, buffer);
|
|
38
|
+
if (!isUndefined(node.modifiers)) {
|
|
39
|
+
buffer.writeUint8(NetworkRuleMarshallingMap.ModifierList);
|
|
40
|
+
ModifierListSerializer.serialize(node.modifiers, buffer);
|
|
41
|
+
}
|
|
42
|
+
if (!isUndefined(node.start)) {
|
|
43
|
+
buffer.writeUint8(NetworkRuleMarshallingMap.Start);
|
|
44
|
+
buffer.writeUint32(node.start);
|
|
45
|
+
}
|
|
46
|
+
if (!isUndefined(node.end)) {
|
|
47
|
+
buffer.writeUint8(NetworkRuleMarshallingMap.End);
|
|
48
|
+
buffer.writeUint32(node.end);
|
|
49
|
+
}
|
|
50
|
+
buffer.writeUint8(NULL);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { NetworkRuleSerializer };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
import { RuleCategory, NetworkRuleType } from '../nodes/index.mjs';
|
|
8
|
+
import { BaseSerializer } from './base-serializer.mjs';
|
|
9
|
+
import { CommentRuleSerializer } from './comment/comment-rule-serializer.mjs';
|
|
10
|
+
import { CosmeticRuleSerializer } from './cosmetic/cosmetic-rule-serializer.mjs';
|
|
11
|
+
import { HostRuleSerializer } from './network/host-rule-serializer.mjs';
|
|
12
|
+
import { NetworkRuleSerializer } from './network/network-rule-serializer.mjs';
|
|
13
|
+
import { EmptyRuleSerializer } from './empty-rule-serializer.mjs';
|
|
14
|
+
import { InvalidRuleSerializer } from './invalid-rule-serializer.mjs';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* `RuleSerializer` is responsible for serializing the rules.
|
|
18
|
+
*
|
|
19
|
+
* It automatically determines the category and syntax of the rule, so you can pass any kind of rule to it.
|
|
20
|
+
*/
|
|
21
|
+
class RuleSerializer extends BaseSerializer {
|
|
22
|
+
/**
|
|
23
|
+
* Serializes a rule node to binary format.
|
|
24
|
+
*
|
|
25
|
+
* @param node Node to serialize.
|
|
26
|
+
* @param buffer ByteBuffer for writing binary data.
|
|
27
|
+
*/
|
|
28
|
+
// TODO: add support for raws, if ever needed
|
|
29
|
+
static serialize(node, buffer) {
|
|
30
|
+
switch (node.category) {
|
|
31
|
+
case RuleCategory.Comment:
|
|
32
|
+
CommentRuleSerializer.serialize(node, buffer);
|
|
33
|
+
break;
|
|
34
|
+
case RuleCategory.Cosmetic:
|
|
35
|
+
CosmeticRuleSerializer.serialize(node, buffer);
|
|
36
|
+
break;
|
|
37
|
+
case RuleCategory.Network:
|
|
38
|
+
switch (node.type) {
|
|
39
|
+
case NetworkRuleType.HostRule:
|
|
40
|
+
HostRuleSerializer.serialize(node, buffer);
|
|
41
|
+
break;
|
|
42
|
+
case NetworkRuleType.NetworkRule:
|
|
43
|
+
NetworkRuleSerializer.serialize(node, buffer);
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
throw new Error('Unknown network rule type');
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
case RuleCategory.Empty:
|
|
50
|
+
EmptyRuleSerializer.serialize(node, buffer);
|
|
51
|
+
break;
|
|
52
|
+
case RuleCategory.Invalid:
|
|
53
|
+
InvalidRuleSerializer.serialize(node, buffer);
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
throw new Error('Unknown rule category');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { RuleSerializer };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @file Possible adblock syntaxes are listed here.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Possible adblock syntaxes (supported by this library)
|
|
12
|
+
*/
|
|
13
|
+
var AdblockSyntax;
|
|
14
|
+
(function (AdblockSyntax) {
|
|
15
|
+
/**
|
|
16
|
+
* Common syntax, which is supported by more than one adblocker (or by all adblockers).
|
|
17
|
+
*
|
|
18
|
+
* We typically use this syntax when we cannot determine the concrete syntax of the rule,
|
|
19
|
+
* because the syntax is used by more than one adblocker natively.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* - `||example.org^$important` is a common syntax, since it is used by all adblockers natively, and
|
|
23
|
+
* we cannot determine at parsing level whether `important` is a valid option or not, and if it is valid,
|
|
24
|
+
* then which adblocker supports it.
|
|
25
|
+
*/
|
|
26
|
+
AdblockSyntax["Common"] = "Common";
|
|
27
|
+
/**
|
|
28
|
+
* Adblock Plus syntax.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* - `example.org#$#abort-on-property-read alert` is an Adblock Plus syntax, since it is not used by any other
|
|
32
|
+
* adblockers directly (probably supported by some on-the-fly conversion, but this is not the native syntax).
|
|
33
|
+
* @see {@link https://adblockplus.org/}
|
|
34
|
+
*/
|
|
35
|
+
AdblockSyntax["Abp"] = "AdblockPlus";
|
|
36
|
+
/**
|
|
37
|
+
* uBlock Origin syntax.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* - `example.com##+js(set, atob, noopFunc)` is an uBlock Origin syntax, since it is not used by any other
|
|
41
|
+
* adblockers directly (probably supported by some on-the-fly conversion, but this is not the native syntax).
|
|
42
|
+
* @see {@link https://github.com/gorhill/uBlock}
|
|
43
|
+
*/
|
|
44
|
+
AdblockSyntax["Ubo"] = "UblockOrigin";
|
|
45
|
+
/**
|
|
46
|
+
* AdGuard syntax.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* - `example.org#%#//scriptlet("abort-on-property-read", "alert")` is an AdGuard syntax, since it is not used
|
|
50
|
+
* by any other adblockers directly (probably supported by some on-the-fly conversion, but this is not the native
|
|
51
|
+
* syntax).
|
|
52
|
+
* @see {@link https://adguard.com/}
|
|
53
|
+
*/
|
|
54
|
+
AdblockSyntax["Adg"] = "AdGuard";
|
|
55
|
+
})(AdblockSyntax || (AdblockSyntax = {}));
|
|
56
|
+
|
|
57
|
+
export { AdblockSyntax };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @file Binary schema version.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Binary schema version.
|
|
12
|
+
* This version number is used to ensure that the binary format is compatible with the current library version.
|
|
13
|
+
* We increment this number if the serialized format changes in a way that is not backwards-compatible.
|
|
14
|
+
*/
|
|
15
|
+
const BINARY_SCHEMA_VERSION = 1;
|
|
16
|
+
|
|
17
|
+
export { BINARY_SCHEMA_VERSION };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
/* eslint-disable no-bitwise */
|
|
8
|
+
/**
|
|
9
|
+
* @file Core ByteBuffer implementation for handling binary data in chunks.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Core ByteBuffer implementation for handling binary data in chunks.
|
|
13
|
+
* This class allows for efficient byte storage and manipulation by organizing data into chunks
|
|
14
|
+
* and providing methods to read and write bytes.
|
|
15
|
+
*/
|
|
16
|
+
class ByteBuffer {
|
|
17
|
+
/**
|
|
18
|
+
* The size of each chunk in bytes (32 KB).
|
|
19
|
+
*/
|
|
20
|
+
// ! IMPORTANT: If you ever change this value, make sure to update optimized bitwise operations in the code.
|
|
21
|
+
static CHUNK_SIZE = 32768; // 32 * 1024
|
|
22
|
+
/**
|
|
23
|
+
* An array of Uint8Array chunks that make up the buffer.
|
|
24
|
+
*/
|
|
25
|
+
chunks;
|
|
26
|
+
/**
|
|
27
|
+
* The total number of chunks in the buffer.
|
|
28
|
+
*/
|
|
29
|
+
chunksLength;
|
|
30
|
+
/**
|
|
31
|
+
* Constructs a new ByteBuffer instance.
|
|
32
|
+
*
|
|
33
|
+
* @param chunks Optional array of chunks to initialize the ByteBuffer with.
|
|
34
|
+
* @param cloneChunks Flag indicating if the chunks should be cloned. For performance reasons,
|
|
35
|
+
* its default value is `false`. If the original chunks are guaranteed not to change,
|
|
36
|
+
* leave this flag as `false` to avoid unnecessary copying.
|
|
37
|
+
*/
|
|
38
|
+
constructor(chunks, cloneChunks = false) {
|
|
39
|
+
const chunksToUse = chunks ?? [];
|
|
40
|
+
this.chunks = cloneChunks ? chunksToUse.map((chunk) => new Uint8Array(chunk)) : chunksToUse;
|
|
41
|
+
this.chunksLength = chunks?.length ?? 0;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Ensures that the buffer has enough capacity to accommodate a given position.
|
|
45
|
+
* This method adjusts the `chunks` array size to ensure it can hold the specified position.
|
|
46
|
+
*
|
|
47
|
+
* @param position The position to ensure capacity for.
|
|
48
|
+
*/
|
|
49
|
+
ensureCapacity(position) {
|
|
50
|
+
// same as Math.floor(position / chunk size), just optimized for the 32 KB chunk size
|
|
51
|
+
const requiredChunkIndex = position >>> 0x000F;
|
|
52
|
+
for (let i = this.chunksLength; i <= requiredChunkIndex; i += 1) {
|
|
53
|
+
this.chunks.push(new Uint8Array(ByteBuffer.CHUNK_SIZE));
|
|
54
|
+
this.chunksLength += 1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Writes a byte to the buffer at the specified position.
|
|
59
|
+
* If the position is outside of the buffer's current size, the buffer is resized to accommodate it.
|
|
60
|
+
*
|
|
61
|
+
* @param position The position at which to write the byte.
|
|
62
|
+
* @param value The byte value to write (0-255).
|
|
63
|
+
*/
|
|
64
|
+
writeByte(position, value) {
|
|
65
|
+
// same as Math.floor(position / chunk size), just optimized for the 32 KB chunk size
|
|
66
|
+
const chunkIndex = position >>> 0x000F;
|
|
67
|
+
// same as position % chunk size, just optimized for the 32 KB chunk size
|
|
68
|
+
const chunkOffset = position & 0x7FFF;
|
|
69
|
+
if (chunkIndex >= this.chunksLength) {
|
|
70
|
+
this.ensureCapacity(position);
|
|
71
|
+
}
|
|
72
|
+
this.chunks[chunkIndex][chunkOffset] = value;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Reads a byte from the specified position in the buffer.
|
|
76
|
+
* Returns `undefined` if the position is outside of the buffer's current size.
|
|
77
|
+
*
|
|
78
|
+
* @param position The position from which to read the byte.
|
|
79
|
+
* @returns The read byte value, or `undefined` if the position is out of bounds.
|
|
80
|
+
*/
|
|
81
|
+
readByte(position) {
|
|
82
|
+
const chunkIndex = position >>> 0x000F;
|
|
83
|
+
const chunkOffset = position & 0x7FFF;
|
|
84
|
+
if (chunkIndex >= this.chunksLength) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
return this.chunks[chunkIndex][chunkOffset];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export { ByteBuffer };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
import { CosmeticRuleParser } from '../parser/cosmetic/cosmetic-rule-parser.mjs';
|
|
8
|
+
import { isNull } from './type-guards.mjs';
|
|
9
|
+
import { defaultParserOptions } from '../parser/options.mjs';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Utility functions for categorizing rules.
|
|
13
|
+
*/
|
|
14
|
+
// TODO: Optimize functions to avoid produce unnecessary data (currently, most of node data is not used).
|
|
15
|
+
// TODO: Add support for other rule categories, like network rules (when needed).
|
|
16
|
+
class RuleCategorizer {
|
|
17
|
+
/**
|
|
18
|
+
* Determines the type of a given raw cosmetic rule.
|
|
19
|
+
*
|
|
20
|
+
* @param rawRule Raw rule to check.
|
|
21
|
+
*
|
|
22
|
+
* @returns Type of the cosmetic rule or `null` if the rule is cannot be parsed as a cosmetic rule.
|
|
23
|
+
*/
|
|
24
|
+
static getCosmeticRuleType(rawRule) {
|
|
25
|
+
try {
|
|
26
|
+
const node = CosmeticRuleParser.parse(rawRule, {
|
|
27
|
+
...defaultParserOptions,
|
|
28
|
+
isLocIncluded: false,
|
|
29
|
+
includeRaws: false,
|
|
30
|
+
});
|
|
31
|
+
// If rule cannot be recognized as a cosmetic rule, return null.
|
|
32
|
+
if (isNull(node)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return node.type;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Be tolerant to parsing errors and simply return null.
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { RuleCategorizer };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
import cloneDeep from 'clone-deep';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @file Clone related utilities
|
|
11
|
+
*
|
|
12
|
+
* We should keep clone related functions in this file. Thus, we just provide
|
|
13
|
+
* a simple interface for cloning values, we use it across the AGTree project,
|
|
14
|
+
* and the implementation "under the hood" can be improved later, if needed.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Clones an input value to avoid side effects. Use it only in justified cases,
|
|
18
|
+
* because it can impact performance negatively.
|
|
19
|
+
*
|
|
20
|
+
* @param value Value to clone
|
|
21
|
+
* @returns Cloned value
|
|
22
|
+
*/
|
|
23
|
+
function clone(value) {
|
|
24
|
+
// TODO: Replace cloneDeep with a more efficient implementation
|
|
25
|
+
return cloneDeep(value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { clone };
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @file Constant values used by all parts of the library
|
|
9
|
+
*/
|
|
10
|
+
// TODO: remove unused constants
|
|
11
|
+
// General
|
|
12
|
+
/**
|
|
13
|
+
* Empty string.
|
|
14
|
+
*/
|
|
15
|
+
const EMPTY = '';
|
|
16
|
+
const SPACE = ' ';
|
|
17
|
+
const TAB = '\t';
|
|
18
|
+
const COLON = ':';
|
|
19
|
+
const COMMA = ',';
|
|
20
|
+
const DOT = '.';
|
|
21
|
+
const SEMICOLON = ';';
|
|
22
|
+
const AMPERSAND = '&';
|
|
23
|
+
const ASTERISK = '*';
|
|
24
|
+
const AT_SIGN = '@';
|
|
25
|
+
const CARET = '^';
|
|
26
|
+
const DOLLAR_SIGN = '$';
|
|
27
|
+
const EQUALS = '=';
|
|
28
|
+
const EXCLAMATION_MARK = '!';
|
|
29
|
+
const HASHMARK = '#';
|
|
30
|
+
const PIPE = '|';
|
|
31
|
+
const PLUS = '+';
|
|
32
|
+
const QUESTION_MARK = '?';
|
|
33
|
+
const SLASH = '/';
|
|
34
|
+
const UNDERSCORE = '_';
|
|
35
|
+
// Escape characters
|
|
36
|
+
const BACKSLASH = '\\';
|
|
37
|
+
const ESCAPE_CHARACTER = BACKSLASH;
|
|
38
|
+
// Newlines
|
|
39
|
+
const CR = '\r';
|
|
40
|
+
const FF = '\f';
|
|
41
|
+
const LF = '\n';
|
|
42
|
+
const CRLF = CR + LF;
|
|
43
|
+
const NEWLINE = LF;
|
|
44
|
+
// Quotes
|
|
45
|
+
const BACKTICK_QUOTE = '`';
|
|
46
|
+
const DOUBLE_QUOTE = '"';
|
|
47
|
+
const SINGLE_QUOTE = '\'';
|
|
48
|
+
// Brackets
|
|
49
|
+
const OPEN_PARENTHESIS = '(';
|
|
50
|
+
const CLOSE_PARENTHESIS = ')';
|
|
51
|
+
const OPEN_SQUARE_BRACKET = '[';
|
|
52
|
+
const CLOSE_SQUARE_BRACKET = ']';
|
|
53
|
+
const OPEN_CURLY_BRACKET = '{';
|
|
54
|
+
const CLOSE_CURLY_BRACKET = '}';
|
|
55
|
+
// Letters
|
|
56
|
+
const SMALL_LETTER_A = 'a';
|
|
57
|
+
const SMALL_LETTER_B = 'b';
|
|
58
|
+
const SMALL_LETTER_C = 'c';
|
|
59
|
+
const SMALL_LETTER_D = 'd';
|
|
60
|
+
const SMALL_LETTER_E = 'e';
|
|
61
|
+
const SMALL_LETTER_F = 'f';
|
|
62
|
+
const SMALL_LETTER_G = 'g';
|
|
63
|
+
const SMALL_LETTER_H = 'h';
|
|
64
|
+
const SMALL_LETTER_I = 'i';
|
|
65
|
+
const SMALL_LETTER_J = 'j';
|
|
66
|
+
const SMALL_LETTER_K = 'k';
|
|
67
|
+
const SMALL_LETTER_L = 'l';
|
|
68
|
+
const SMALL_LETTER_M = 'm';
|
|
69
|
+
const SMALL_LETTER_N = 'n';
|
|
70
|
+
const SMALL_LETTER_O = 'o';
|
|
71
|
+
const SMALL_LETTER_P = 'p';
|
|
72
|
+
const SMALL_LETTER_Q = 'q';
|
|
73
|
+
const SMALL_LETTER_R = 'r';
|
|
74
|
+
const SMALL_LETTER_S = 's';
|
|
75
|
+
const SMALL_LETTER_T = 't';
|
|
76
|
+
const SMALL_LETTER_U = 'u';
|
|
77
|
+
const SMALL_LETTER_V = 'v';
|
|
78
|
+
const SMALL_LETTER_W = 'w';
|
|
79
|
+
const SMALL_LETTER_X = 'x';
|
|
80
|
+
const SMALL_LETTER_Y = 'y';
|
|
81
|
+
const SMALL_LETTER_Z = 'z';
|
|
82
|
+
/**
|
|
83
|
+
* Set of all small letters.
|
|
84
|
+
*/
|
|
85
|
+
const SMALL_LETTERS = new Set([
|
|
86
|
+
SMALL_LETTER_A,
|
|
87
|
+
SMALL_LETTER_B,
|
|
88
|
+
SMALL_LETTER_C,
|
|
89
|
+
SMALL_LETTER_D,
|
|
90
|
+
SMALL_LETTER_E,
|
|
91
|
+
SMALL_LETTER_F,
|
|
92
|
+
SMALL_LETTER_G,
|
|
93
|
+
SMALL_LETTER_H,
|
|
94
|
+
SMALL_LETTER_I,
|
|
95
|
+
SMALL_LETTER_J,
|
|
96
|
+
SMALL_LETTER_K,
|
|
97
|
+
SMALL_LETTER_L,
|
|
98
|
+
SMALL_LETTER_M,
|
|
99
|
+
SMALL_LETTER_N,
|
|
100
|
+
SMALL_LETTER_O,
|
|
101
|
+
SMALL_LETTER_P,
|
|
102
|
+
SMALL_LETTER_Q,
|
|
103
|
+
SMALL_LETTER_R,
|
|
104
|
+
SMALL_LETTER_S,
|
|
105
|
+
SMALL_LETTER_T,
|
|
106
|
+
SMALL_LETTER_U,
|
|
107
|
+
SMALL_LETTER_V,
|
|
108
|
+
SMALL_LETTER_W,
|
|
109
|
+
SMALL_LETTER_X,
|
|
110
|
+
SMALL_LETTER_Y,
|
|
111
|
+
SMALL_LETTER_Z,
|
|
112
|
+
]);
|
|
113
|
+
// Capital letters
|
|
114
|
+
const CAPITAL_LETTER_A = 'A';
|
|
115
|
+
const CAPITAL_LETTER_B = 'B';
|
|
116
|
+
const CAPITAL_LETTER_C = 'C';
|
|
117
|
+
const CAPITAL_LETTER_D = 'D';
|
|
118
|
+
const CAPITAL_LETTER_E = 'E';
|
|
119
|
+
const CAPITAL_LETTER_F = 'F';
|
|
120
|
+
const CAPITAL_LETTER_G = 'G';
|
|
121
|
+
const CAPITAL_LETTER_H = 'H';
|
|
122
|
+
const CAPITAL_LETTER_I = 'I';
|
|
123
|
+
const CAPITAL_LETTER_J = 'J';
|
|
124
|
+
const CAPITAL_LETTER_K = 'K';
|
|
125
|
+
const CAPITAL_LETTER_L = 'L';
|
|
126
|
+
const CAPITAL_LETTER_M = 'M';
|
|
127
|
+
const CAPITAL_LETTER_N = 'N';
|
|
128
|
+
const CAPITAL_LETTER_O = 'O';
|
|
129
|
+
const CAPITAL_LETTER_P = 'P';
|
|
130
|
+
const CAPITAL_LETTER_Q = 'Q';
|
|
131
|
+
const CAPITAL_LETTER_R = 'R';
|
|
132
|
+
const CAPITAL_LETTER_S = 'S';
|
|
133
|
+
const CAPITAL_LETTER_T = 'T';
|
|
134
|
+
const CAPITAL_LETTER_U = 'U';
|
|
135
|
+
const CAPITAL_LETTER_V = 'V';
|
|
136
|
+
const CAPITAL_LETTER_W = 'W';
|
|
137
|
+
const CAPITAL_LETTER_X = 'X';
|
|
138
|
+
const CAPITAL_LETTER_Y = 'Y';
|
|
139
|
+
const CAPITAL_LETTER_Z = 'Z';
|
|
140
|
+
/**
|
|
141
|
+
* Set of all capital letters.
|
|
142
|
+
*/
|
|
143
|
+
const CAPITAL_LETTERS = new Set([
|
|
144
|
+
CAPITAL_LETTER_A,
|
|
145
|
+
CAPITAL_LETTER_B,
|
|
146
|
+
CAPITAL_LETTER_C,
|
|
147
|
+
CAPITAL_LETTER_D,
|
|
148
|
+
CAPITAL_LETTER_E,
|
|
149
|
+
CAPITAL_LETTER_F,
|
|
150
|
+
CAPITAL_LETTER_G,
|
|
151
|
+
CAPITAL_LETTER_H,
|
|
152
|
+
CAPITAL_LETTER_I,
|
|
153
|
+
CAPITAL_LETTER_J,
|
|
154
|
+
CAPITAL_LETTER_K,
|
|
155
|
+
CAPITAL_LETTER_L,
|
|
156
|
+
CAPITAL_LETTER_M,
|
|
157
|
+
CAPITAL_LETTER_N,
|
|
158
|
+
CAPITAL_LETTER_O,
|
|
159
|
+
CAPITAL_LETTER_P,
|
|
160
|
+
CAPITAL_LETTER_Q,
|
|
161
|
+
CAPITAL_LETTER_R,
|
|
162
|
+
CAPITAL_LETTER_S,
|
|
163
|
+
CAPITAL_LETTER_T,
|
|
164
|
+
CAPITAL_LETTER_U,
|
|
165
|
+
CAPITAL_LETTER_V,
|
|
166
|
+
CAPITAL_LETTER_W,
|
|
167
|
+
CAPITAL_LETTER_X,
|
|
168
|
+
CAPITAL_LETTER_Y,
|
|
169
|
+
CAPITAL_LETTER_Z,
|
|
170
|
+
]);
|
|
171
|
+
// Numbers as strings
|
|
172
|
+
const NUMBER_0 = '0';
|
|
173
|
+
const NUMBER_1 = '1';
|
|
174
|
+
const NUMBER_2 = '2';
|
|
175
|
+
const NUMBER_3 = '3';
|
|
176
|
+
const NUMBER_4 = '4';
|
|
177
|
+
const NUMBER_5 = '5';
|
|
178
|
+
const NUMBER_6 = '6';
|
|
179
|
+
const NUMBER_7 = '7';
|
|
180
|
+
const NUMBER_8 = '8';
|
|
181
|
+
const NUMBER_9 = '9';
|
|
182
|
+
/**
|
|
183
|
+
* Set of all numbers as strings.
|
|
184
|
+
*/
|
|
185
|
+
const NUMBERS = new Set([
|
|
186
|
+
NUMBER_0,
|
|
187
|
+
NUMBER_1,
|
|
188
|
+
NUMBER_2,
|
|
189
|
+
NUMBER_3,
|
|
190
|
+
NUMBER_4,
|
|
191
|
+
NUMBER_5,
|
|
192
|
+
NUMBER_6,
|
|
193
|
+
NUMBER_7,
|
|
194
|
+
NUMBER_8,
|
|
195
|
+
NUMBER_9,
|
|
196
|
+
]);
|
|
197
|
+
const REGEX_MARKER = '/';
|
|
198
|
+
const ADG_SCRIPTLET_MASK = '//scriptlet';
|
|
199
|
+
const UBO_SCRIPTLET_MASK = '+js';
|
|
200
|
+
const UBO_SCRIPTLET_MASK_LEGACY = 'script:inject';
|
|
201
|
+
const UBO_HTML_MASK = '^';
|
|
202
|
+
// Modifiers are separated by ",". For example: "script,domain=example.com"
|
|
203
|
+
const MODIFIERS_SEPARATOR = ',';
|
|
204
|
+
const MODIFIER_ASSIGN_OPERATOR = '=';
|
|
205
|
+
const NEGATION_MARKER = '~';
|
|
206
|
+
/**
|
|
207
|
+
* The wildcard symbol — `*`.
|
|
208
|
+
*/
|
|
209
|
+
const WILDCARD = ASTERISK;
|
|
210
|
+
/**
|
|
211
|
+
* Classic domain separator.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```adblock
|
|
215
|
+
* ! Domains are separated by ",":
|
|
216
|
+
* example.com,~example.org##.ads
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
const COMMA_DOMAIN_LIST_SEPARATOR = ',';
|
|
220
|
+
/**
|
|
221
|
+
* Modifier separator for $app, $denyallow, $domain, $method.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```adblock
|
|
225
|
+
* ! Domains are separated by "|":
|
|
226
|
+
* ads.js^$script,domains=example.com|~example.org
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
const PIPE_MODIFIER_SEPARATOR = '|';
|
|
230
|
+
const CSS_MEDIA_MARKER = '@media';
|
|
231
|
+
const CSS_NOT_PSEUDO = 'not';
|
|
232
|
+
const HINT_MARKER = '!+';
|
|
233
|
+
const HINT_MARKER_LEN = HINT_MARKER.length;
|
|
234
|
+
const NETWORK_RULE_EXCEPTION_MARKER = '@@';
|
|
235
|
+
const NETWORK_RULE_EXCEPTION_MARKER_LEN = NETWORK_RULE_EXCEPTION_MARKER.length;
|
|
236
|
+
const NETWORK_RULE_SEPARATOR = '$';
|
|
237
|
+
const AGLINT_COMMAND_PREFIX = 'aglint';
|
|
238
|
+
const AGLINT_CONFIG_COMMENT_MARKER = '--';
|
|
239
|
+
const PREPROCESSOR_MARKER = '!#';
|
|
240
|
+
const PREPROCESSOR_MARKER_LEN = PREPROCESSOR_MARKER.length;
|
|
241
|
+
const PREPROCESSOR_SEPARATOR = ' ';
|
|
242
|
+
const SAFARI_CB_AFFINITY = 'safari_cb_affinity';
|
|
243
|
+
const IF = 'if';
|
|
244
|
+
const INCLUDE = 'include';
|
|
245
|
+
const NULL = 0;
|
|
246
|
+
const UINT8_MAX = 255;
|
|
247
|
+
const UINT16_MAX = 65535;
|
|
248
|
+
|
|
249
|
+
export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, AGLINT_CONFIG_COMMENT_MARKER, AMPERSAND, ASTERISK, AT_SIGN, BACKSLASH, BACKTICK_QUOTE, CAPITAL_LETTERS, CAPITAL_LETTER_A, CAPITAL_LETTER_B, CAPITAL_LETTER_C, CAPITAL_LETTER_D, CAPITAL_LETTER_E, CAPITAL_LETTER_F, CAPITAL_LETTER_G, CAPITAL_LETTER_H, CAPITAL_LETTER_I, CAPITAL_LETTER_J, CAPITAL_LETTER_K, CAPITAL_LETTER_L, CAPITAL_LETTER_M, CAPITAL_LETTER_N, CAPITAL_LETTER_O, CAPITAL_LETTER_P, CAPITAL_LETTER_Q, CAPITAL_LETTER_R, CAPITAL_LETTER_S, CAPITAL_LETTER_T, CAPITAL_LETTER_U, CAPITAL_LETTER_V, CAPITAL_LETTER_W, CAPITAL_LETTER_X, CAPITAL_LETTER_Y, CAPITAL_LETTER_Z, CARET, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, COLON, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, CR, CRLF, CSS_MEDIA_MARKER, CSS_NOT_PSEUDO, DOLLAR_SIGN, DOT, DOUBLE_QUOTE, EMPTY, EQUALS, ESCAPE_CHARACTER, EXCLAMATION_MARK, FF, HASHMARK, HINT_MARKER, HINT_MARKER_LEN, IF, INCLUDE, LF, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_EXCEPTION_MARKER_LEN, NETWORK_RULE_SEPARATOR, NEWLINE, NULL, NUMBERS, NUMBER_0, NUMBER_1, NUMBER_2, NUMBER_3, NUMBER_4, NUMBER_5, NUMBER_6, NUMBER_7, NUMBER_8, NUMBER_9, OPEN_CURLY_BRACKET, OPEN_PARENTHESIS, OPEN_SQUARE_BRACKET, PIPE, PIPE_MODIFIER_SEPARATOR, PLUS, PREPROCESSOR_MARKER, PREPROCESSOR_MARKER_LEN, PREPROCESSOR_SEPARATOR, QUESTION_MARK, REGEX_MARKER, SAFARI_CB_AFFINITY, SEMICOLON, SINGLE_QUOTE, SLASH, SMALL_LETTERS, SMALL_LETTER_A, SMALL_LETTER_B, SMALL_LETTER_C, SMALL_LETTER_D, SMALL_LETTER_E, SMALL_LETTER_F, SMALL_LETTER_G, SMALL_LETTER_H, SMALL_LETTER_I, SMALL_LETTER_J, SMALL_LETTER_K, SMALL_LETTER_L, SMALL_LETTER_M, SMALL_LETTER_N, SMALL_LETTER_O, SMALL_LETTER_P, SMALL_LETTER_Q, SMALL_LETTER_R, SMALL_LETTER_S, SMALL_LETTER_T, SMALL_LETTER_U, SMALL_LETTER_V, SMALL_LETTER_W, SMALL_LETTER_X, SMALL_LETTER_Y, SMALL_LETTER_Z, SPACE, TAB, UBO_HTML_MASK, UBO_SCRIPTLET_MASK, UBO_SCRIPTLET_MASK_LEGACY, UINT16_MAX, UINT8_MAX, UNDERSCORE, WILDCARD };
|