@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,15 @@
|
|
|
1
|
+
export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, COMMA_DOMAIN_LIST_SEPARATOR, NEGATION_MARKER, HINT_MARKER, IF, INCLUDE, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, PIPE_MODIFIER_SEPARATOR, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_SEPARATOR, PREPROCESSOR_MARKER, SAFARI_CB_AFFINITY, UBO_SCRIPTLET_MASK, } from './constants';
|
|
2
|
+
export { BINARY_SCHEMA_VERSION } from './binary-schema-version';
|
|
3
|
+
export { AdblockSyntax } from './adblockers';
|
|
4
|
+
export { type CosmeticRuleSeparatorFinderResult, CosmeticRuleSeparatorUtils } from './cosmetic-rule-separator';
|
|
5
|
+
export { DomainUtils } from './domain';
|
|
6
|
+
export { type VariableTable, LogicalExpressionUtils } from './logical-expression';
|
|
7
|
+
export { ADBLOCK_URL_START, ADBLOCK_URL_START_REGEX, ADBLOCK_URL_SEPARATOR, ADBLOCK_URL_SEPARATOR_REGEX, ADBLOCK_WILDCARD, ADBLOCK_WILDCARD_REGEX, SPECIAL_REGEX_SYMBOLS, RegExpUtils, } from './regexp';
|
|
8
|
+
export { QuoteType, QuoteUtils, } from './quotes';
|
|
9
|
+
export { type Position, PositionProvider } from './position-provider';
|
|
10
|
+
export { OutputByteBuffer } from './output-byte-buffer';
|
|
11
|
+
export { InputByteBuffer } from './input-byte-buffer';
|
|
12
|
+
export { ByteBuffer } from './byte-buffer';
|
|
13
|
+
export { encodeIntoPolyfill, type TextEncoderPolyfillResult } from './text-encoder-polyfill';
|
|
14
|
+
export { decodeTextPolyfill } from './text-decoder-polyfill';
|
|
15
|
+
export { RuleCategorizer } from './categorizer';
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Input byte buffer for reading binary data.
|
|
3
|
+
*/
|
|
4
|
+
import { ByteBuffer } from './byte-buffer';
|
|
5
|
+
import { type Storage } from './storage-interface';
|
|
6
|
+
/**
|
|
7
|
+
* Input byte buffer for reading binary data.
|
|
8
|
+
*
|
|
9
|
+
* @note Internally, this class uses a {@link ByteBuffer} instance, just providing a convenient API for reading data.
|
|
10
|
+
*/
|
|
11
|
+
export declare class InputByteBuffer extends ByteBuffer {
|
|
12
|
+
/**
|
|
13
|
+
* Current offset in the buffer for reading.
|
|
14
|
+
*/
|
|
15
|
+
private offset;
|
|
16
|
+
/**
|
|
17
|
+
* Shared native decoder for decoding strings.
|
|
18
|
+
*/
|
|
19
|
+
private readonly sharedNativeDecoder;
|
|
20
|
+
/**
|
|
21
|
+
* Flag indicating if the current environment is Chromium.
|
|
22
|
+
* This is used for performance optimizations, because Chromium's TextEncoder/TextDecoder has a relatively
|
|
23
|
+
* large marshalling overhead for small strings.
|
|
24
|
+
*/
|
|
25
|
+
private readonly isChromium;
|
|
26
|
+
/**
|
|
27
|
+
* Constructs a new `InputByteBuffer` instance.
|
|
28
|
+
*
|
|
29
|
+
* @param chunks Array of chunks to initialize the ByteBuffer with.
|
|
30
|
+
* @param cloneChunks Flag indicating if the chunks should be cloned. For performance reasons,
|
|
31
|
+
* its default value is `false`. If the original chunks are guaranteed not to change,
|
|
32
|
+
* leave this flag as `false` to avoid unnecessary copying.
|
|
33
|
+
* @param initialOffset Initial offset in the buffer for reading.
|
|
34
|
+
*
|
|
35
|
+
* @throws If the specified chunks array is empty.
|
|
36
|
+
* @throws If the binary schema version in the buffer is not equal to the expected version.
|
|
37
|
+
* @throws If the initial offset is out of bounds.
|
|
38
|
+
*/
|
|
39
|
+
constructor(chunks: Uint8Array[], cloneChunks?: boolean, initialOffset?: number);
|
|
40
|
+
/**
|
|
41
|
+
* Creates a new InputByteBuffer instance from a Storage instance by reading chunks from the storage.
|
|
42
|
+
*
|
|
43
|
+
* @param storage Storage instance.
|
|
44
|
+
* @param key Key to read from the storage.
|
|
45
|
+
* @returns New InputByteBuffer instance.
|
|
46
|
+
* @note For performance reasons, chunks are passed by reference and not copied.
|
|
47
|
+
*/
|
|
48
|
+
static createFromStorage(storage: Storage, key: string): Promise<InputByteBuffer>;
|
|
49
|
+
/**
|
|
50
|
+
* Reads a 8-bit unsigned integer from the buffer.
|
|
51
|
+
*
|
|
52
|
+
* @returns 8-bit unsigned integer from the buffer.
|
|
53
|
+
*/
|
|
54
|
+
readUint8(): number;
|
|
55
|
+
/**
|
|
56
|
+
* Reads a 16-bit unsigned integer from the buffer.
|
|
57
|
+
*
|
|
58
|
+
* @returns 16-bit unsigned integer from the buffer.
|
|
59
|
+
*/
|
|
60
|
+
readUint16(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Reads a 32-bit unsigned integer from the buffer at the specified index.
|
|
63
|
+
*
|
|
64
|
+
* @param index Index to read the 32-bit unsigned integer from.
|
|
65
|
+
*
|
|
66
|
+
* @returns 32-bit unsigned integer from the buffer.
|
|
67
|
+
*/
|
|
68
|
+
private readUint32FromIndex;
|
|
69
|
+
/**
|
|
70
|
+
* Reads a 32-bit unsigned integer from the buffer.
|
|
71
|
+
*
|
|
72
|
+
* @returns 32-bit unsigned integer from the buffer.
|
|
73
|
+
*/
|
|
74
|
+
readUint32(): number;
|
|
75
|
+
/**
|
|
76
|
+
* Reads schema version from the buffer.
|
|
77
|
+
*
|
|
78
|
+
* @returns 32-bit unsigned integer from the buffer.
|
|
79
|
+
* @note Schema version is always stored at the beginning of the buffer.
|
|
80
|
+
*/
|
|
81
|
+
readSchemaVersion(): number;
|
|
82
|
+
/**
|
|
83
|
+
* Reads a 32-bit signed integer from the buffer.
|
|
84
|
+
*
|
|
85
|
+
* @returns 32-bit signed integer from the buffer.
|
|
86
|
+
*/
|
|
87
|
+
readInt32(): number;
|
|
88
|
+
/**
|
|
89
|
+
* Reads an optimized unsigned integer from the buffer.
|
|
90
|
+
* 'Optimized' means that the integer is stored in a variable number of bytes, depending on its value,
|
|
91
|
+
* so that smaller numbers occupy less space.
|
|
92
|
+
*
|
|
93
|
+
* @returns Decoded unsigned integer from the buffer.
|
|
94
|
+
*/
|
|
95
|
+
readOptimizedUint(): number;
|
|
96
|
+
/**
|
|
97
|
+
* Reads a string from the buffer.
|
|
98
|
+
*
|
|
99
|
+
* @returns Decoded string from the buffer.
|
|
100
|
+
*/
|
|
101
|
+
readString(): string;
|
|
102
|
+
/**
|
|
103
|
+
* Reads a 8-bit unsigned integer from the buffer without advancing the offset.
|
|
104
|
+
*
|
|
105
|
+
* @returns 8-bit unsigned integer from the buffer.
|
|
106
|
+
*/
|
|
107
|
+
peekUint8(): number;
|
|
108
|
+
/**
|
|
109
|
+
* Helper method for asserting the next 8-bit unsigned integer in the buffer.
|
|
110
|
+
*
|
|
111
|
+
* @param value Expected value.
|
|
112
|
+
* @throws If the next value in the buffer is not equal to the expected value.
|
|
113
|
+
*/
|
|
114
|
+
assertUint8(value: number): void;
|
|
115
|
+
/**
|
|
116
|
+
* Creates a new `InputByteBuffer` instance with the given initial offset.
|
|
117
|
+
*
|
|
118
|
+
* @param initialOffset Initial offset for the new buffer.
|
|
119
|
+
* @param cloneChunks Flag indicating if the chunks should be cloned. For performance reasons,
|
|
120
|
+
* its default value is `false`. If the original chunks are guaranteed not to change,
|
|
121
|
+
* leave this flag as `false` to avoid unnecessary copying.
|
|
122
|
+
*
|
|
123
|
+
* @returns New `InputByteBuffer` instance with the given initial offset.
|
|
124
|
+
*
|
|
125
|
+
* @note This method is useful if you want to read some data from a specific index.
|
|
126
|
+
*/
|
|
127
|
+
createCopyWithOffset(initialOffset: number, cloneChunks?: boolean): InputByteBuffer;
|
|
128
|
+
/**
|
|
129
|
+
* Gets the current offset in the buffer for reading.
|
|
130
|
+
*
|
|
131
|
+
* @returns Current offset in the buffer for reading.
|
|
132
|
+
*/
|
|
133
|
+
get currentOffset(): number;
|
|
134
|
+
/**
|
|
135
|
+
* Gets the capacity of the buffer.
|
|
136
|
+
*
|
|
137
|
+
* @returns Capacity of the buffer.
|
|
138
|
+
*/
|
|
139
|
+
get capacity(): number;
|
|
140
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A simple function to check if the current browser is Chromium-based.
|
|
3
|
+
*
|
|
4
|
+
* @returns `true` if the current browser is Chromium-based, `false` otherwise.
|
|
5
|
+
* @see {@link https://stackoverflow.com/a/62797156}
|
|
6
|
+
*/
|
|
7
|
+
export declare const isChromium: () => boolean;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Utility functions for logical expression node.
|
|
3
|
+
*/
|
|
4
|
+
import { type AnyExpressionNode, type ExpressionVariableNode } from '../nodes';
|
|
5
|
+
/**
|
|
6
|
+
* Variable table. Key is variable name, value is boolean.
|
|
7
|
+
*/
|
|
8
|
+
export type VariableTable = {
|
|
9
|
+
[key: string]: boolean;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Utility functions for logical expression node.
|
|
13
|
+
*/
|
|
14
|
+
export declare class LogicalExpressionUtils {
|
|
15
|
+
/**
|
|
16
|
+
* Get all variables in the expression.
|
|
17
|
+
*
|
|
18
|
+
* @param node Logical expression node
|
|
19
|
+
* @returns List of variables in the expression (nodes)
|
|
20
|
+
* @example
|
|
21
|
+
* If the expression is `a && b || c`, the returned list will be
|
|
22
|
+
* nodes for `a`, `b`, and `c`.
|
|
23
|
+
*/
|
|
24
|
+
static getVariables(node: AnyExpressionNode): ExpressionVariableNode[];
|
|
25
|
+
/**
|
|
26
|
+
* Evaluate the parsed logical expression. You'll need to provide a
|
|
27
|
+
* variable table.
|
|
28
|
+
*
|
|
29
|
+
* @param node Logical expression node
|
|
30
|
+
* @param table Variable table (key: variable name, value: boolean)
|
|
31
|
+
* @returns Evaluation result
|
|
32
|
+
* @example
|
|
33
|
+
* If the expression is `a && b`, and the variable table is
|
|
34
|
+
* `{ a: true, b: false }`, the result will be `false`.
|
|
35
|
+
*
|
|
36
|
+
* Example code:
|
|
37
|
+
* ```js
|
|
38
|
+
* LogicalExpressionUtils.evaluate(
|
|
39
|
+
* LogicalExpressionParser.parse('a && b'),
|
|
40
|
+
* { a: true, b: false }
|
|
41
|
+
* );
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
static evaluate(node: AnyExpressionNode, table: VariableTable): boolean;
|
|
45
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A very simple map extension that allows to store multiple values for the same key
|
|
3
|
+
* by storing them in an array.
|
|
4
|
+
*
|
|
5
|
+
* @todo Add more methods if needed
|
|
6
|
+
*/
|
|
7
|
+
export declare class MultiValueMap<K, V> extends Map<K, V[]> {
|
|
8
|
+
/**
|
|
9
|
+
* Adds a value to the map. If the key already exists, the value will be appended to the existing array,
|
|
10
|
+
* otherwise a new array will be created for the key.
|
|
11
|
+
*
|
|
12
|
+
* @param key Key to add
|
|
13
|
+
* @param values Value(s) to add
|
|
14
|
+
*/
|
|
15
|
+
add(key: K, ...values: V[]): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { ByteBuffer } from './byte-buffer';
|
|
2
|
+
import { type Storage } from './storage-interface';
|
|
3
|
+
/**
|
|
4
|
+
* Output byte buffer for writing binary data.
|
|
5
|
+
*
|
|
6
|
+
* @note Internally, this class uses a {@link ByteBuffer} instance, just providing a convenient API for reading data.
|
|
7
|
+
*/
|
|
8
|
+
export declare class OutputByteBuffer extends ByteBuffer {
|
|
9
|
+
/**
|
|
10
|
+
* Current offset in the buffer for writing.
|
|
11
|
+
*/
|
|
12
|
+
private offset;
|
|
13
|
+
/**
|
|
14
|
+
* Size of the shared buffer for encoding strings in bytes.
|
|
15
|
+
* This is a divisor of ByteBuffer.CHUNK_SIZE and experience shows that this value works optimally.
|
|
16
|
+
* This is sufficient for most strings that occur in filter lists (we checked average string length in popular
|
|
17
|
+
* filter lists).
|
|
18
|
+
*/
|
|
19
|
+
private static readonly ENCODER_BUFFER_SIZE;
|
|
20
|
+
/**
|
|
21
|
+
* Length threshold for using a shared buffer for encoding strings.
|
|
22
|
+
* This temp buffer is needed because we write the short strings in it
|
|
23
|
+
* (so there is no need to constantly allocate a new buffer).
|
|
24
|
+
* The reason for dividing ENCODER_BUFFER_SIZE by 4 is to ensure that the encoded string fits in the buffer,
|
|
25
|
+
* if we also take into account the worst possible case (each character is encoded with 4 bytes).
|
|
26
|
+
*/
|
|
27
|
+
private static readonly SHORT_STRING_THRESHOLD;
|
|
28
|
+
/**
|
|
29
|
+
* Represents the maximum value that can be written as a 'storage optimized' unsigned integer.
|
|
30
|
+
* 0x1FFFFFFF means 29 bits — 32 bits minus 3 bits — because the last bit in each byte is a flag indicating
|
|
31
|
+
* if there are more bytes (except for the last byte).
|
|
32
|
+
*/
|
|
33
|
+
static MAX_OPTIMIZED_UINT: number;
|
|
34
|
+
/**
|
|
35
|
+
* Shared buffer for encoding strings.
|
|
36
|
+
*/
|
|
37
|
+
private readonly sharedBuffer;
|
|
38
|
+
/**
|
|
39
|
+
* Shared native encoder for encoding strings.
|
|
40
|
+
*/
|
|
41
|
+
private readonly sharedNativeEncoder;
|
|
42
|
+
/**
|
|
43
|
+
* Flag indicating if the current environment is Chromium.
|
|
44
|
+
* This is used for performance optimizations, because Chromium's TextEncoder/TextDecoder has a relatively
|
|
45
|
+
* large marshalling overhead for small strings.
|
|
46
|
+
*/
|
|
47
|
+
private readonly isChromium;
|
|
48
|
+
/**
|
|
49
|
+
* Constructs a new OutputByteBuffer instance.
|
|
50
|
+
*/
|
|
51
|
+
constructor();
|
|
52
|
+
/**
|
|
53
|
+
* Writes a 8-bit unsigned integer to the buffer.
|
|
54
|
+
*
|
|
55
|
+
* @param value Value to write.
|
|
56
|
+
* @returns Number of bytes written to the buffer.
|
|
57
|
+
*/
|
|
58
|
+
writeUint8(value: number): number;
|
|
59
|
+
/**
|
|
60
|
+
* Writes a 16-bit unsigned integer to the buffer.
|
|
61
|
+
*
|
|
62
|
+
* @param value Value to write.
|
|
63
|
+
* @returns Number of bytes written to the buffer.
|
|
64
|
+
*/
|
|
65
|
+
writeUint16(value: number): number;
|
|
66
|
+
/**
|
|
67
|
+
* Writes a 32-bit unsigned integer to the buffer at a specific index.
|
|
68
|
+
*
|
|
69
|
+
* @param value Value to write.
|
|
70
|
+
* @param index Index to write the value to.
|
|
71
|
+
* @returns Number of bytes written to the buffer.
|
|
72
|
+
*/
|
|
73
|
+
private writeUint32ToIndex;
|
|
74
|
+
/**
|
|
75
|
+
* Writes a 32-bit unsigned integer to the buffer.
|
|
76
|
+
*
|
|
77
|
+
* @param value Value to write.
|
|
78
|
+
* @returns Number of bytes written to the buffer.
|
|
79
|
+
*/
|
|
80
|
+
writeUint32(value: number): number;
|
|
81
|
+
/**
|
|
82
|
+
* Writes a 32-bit signed integer to the buffer.
|
|
83
|
+
*
|
|
84
|
+
* @param value Value to write.
|
|
85
|
+
* @returns Number of bytes written to the buffer.
|
|
86
|
+
*/
|
|
87
|
+
writeInt32(value: number): number;
|
|
88
|
+
/**
|
|
89
|
+
* Writes a Uint8Array to the byte buffer.
|
|
90
|
+
*
|
|
91
|
+
* @param buffer Buffer to write.
|
|
92
|
+
*/
|
|
93
|
+
private writeBuffer;
|
|
94
|
+
/**
|
|
95
|
+
* Writes a string to the buffer.
|
|
96
|
+
*
|
|
97
|
+
* @param value Value to write.
|
|
98
|
+
* @returns Number of bytes written to the buffer.
|
|
99
|
+
*/
|
|
100
|
+
writeString(value: string): number;
|
|
101
|
+
/**
|
|
102
|
+
* Writes chunks to the storage.
|
|
103
|
+
*
|
|
104
|
+
* @param storage Storage to write the chunks to.
|
|
105
|
+
* @param key Key to write the chunks to.
|
|
106
|
+
* @note For performance reasons, chunks are passed by reference and not copied.
|
|
107
|
+
* @throws If the storage write operation throws.
|
|
108
|
+
*/
|
|
109
|
+
writeChunksToStorage(storage: Storage, key: string): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Writes an 'optimized' unsigned integer to the buffer.
|
|
112
|
+
* 'Optimized' means smaller storage usage for smaller numbers.
|
|
113
|
+
* Except for the last byte, each byte's most significant bit is a flag indicating if there are more bytes.
|
|
114
|
+
*
|
|
115
|
+
* @param value Value to write.
|
|
116
|
+
* @returns Number of bytes written to the buffer.
|
|
117
|
+
* @throws If the value exceeds the 29-bit limit.
|
|
118
|
+
*/
|
|
119
|
+
writeOptimizedUint(value: number): number;
|
|
120
|
+
/**
|
|
121
|
+
* Gets the current offset in the buffer for writing.
|
|
122
|
+
*
|
|
123
|
+
* @returns Current offset in the buffer for writing.
|
|
124
|
+
*/
|
|
125
|
+
get currentOffset(): number;
|
|
126
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Position provider class.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Represents a position in the source code.
|
|
6
|
+
*/
|
|
7
|
+
export interface Position {
|
|
8
|
+
/**
|
|
9
|
+
* 1-based line number
|
|
10
|
+
*/
|
|
11
|
+
line: number;
|
|
12
|
+
/**
|
|
13
|
+
* 1-based column number
|
|
14
|
+
*/
|
|
15
|
+
column: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Class responsible for converting a character offset in source code into a line and column position.
|
|
19
|
+
* This conversion is particularly needed in linters and VSCode extensions,
|
|
20
|
+
* where line and column numbers are more human-friendly and intuitive than character offsets.
|
|
21
|
+
* Moreover, the VSCode diagnostics API does not directly support character offsets,
|
|
22
|
+
* it also requires line and column numbers.
|
|
23
|
+
*/
|
|
24
|
+
export declare class PositionProvider {
|
|
25
|
+
/**
|
|
26
|
+
* Maps a character offset to a line number.
|
|
27
|
+
*/
|
|
28
|
+
private offsetToLine;
|
|
29
|
+
/**
|
|
30
|
+
* Maps a line number to the starting character offset of that line.
|
|
31
|
+
*/
|
|
32
|
+
private lineStartOffsets;
|
|
33
|
+
/**
|
|
34
|
+
* Constructs a new PositionProvider instance.
|
|
35
|
+
*
|
|
36
|
+
* @param sourceCode The source code as a string.
|
|
37
|
+
*/
|
|
38
|
+
constructor(sourceCode: string);
|
|
39
|
+
/**
|
|
40
|
+
* Converts a character offset to a line and column position.
|
|
41
|
+
*
|
|
42
|
+
* @param offset The zero-based character offset in the source code.
|
|
43
|
+
* @returns A Position object containing the 1-based line and column number, or null if the offset is out of range.
|
|
44
|
+
*/
|
|
45
|
+
convertOffsetToPosition(offset: number): Position | null;
|
|
46
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Utility functions for working with quotes
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Set of all possible quote characters supported by the library
|
|
6
|
+
*/
|
|
7
|
+
export declare const QUOTE_SET: Set<string>;
|
|
8
|
+
/**
|
|
9
|
+
* Possible quote types for scriptlet parameters
|
|
10
|
+
*/
|
|
11
|
+
export declare enum QuoteType {
|
|
12
|
+
/**
|
|
13
|
+
* No quotes at all
|
|
14
|
+
*/
|
|
15
|
+
None = "none",
|
|
16
|
+
/**
|
|
17
|
+
* Single quotes (`'`)
|
|
18
|
+
*/
|
|
19
|
+
Single = "single",
|
|
20
|
+
/**
|
|
21
|
+
* Double quotes (`"`)
|
|
22
|
+
*/
|
|
23
|
+
Double = "double",
|
|
24
|
+
/**
|
|
25
|
+
* Backtick quotes (`` ` ``)
|
|
26
|
+
*/
|
|
27
|
+
Backtick = "backtick"
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Utility functions for working with quotes
|
|
31
|
+
*/
|
|
32
|
+
export declare class QuoteUtils {
|
|
33
|
+
/**
|
|
34
|
+
* Escape all unescaped occurrences of the character
|
|
35
|
+
*
|
|
36
|
+
* @param string String to escape
|
|
37
|
+
* @param char Character to escape
|
|
38
|
+
* @returns Escaped string
|
|
39
|
+
*/
|
|
40
|
+
static escapeUnescapedOccurrences(string: string, char: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Unescape all single escaped occurrences of the character
|
|
43
|
+
*
|
|
44
|
+
* @param string String to unescape
|
|
45
|
+
* @param char Character to unescape
|
|
46
|
+
* @returns Unescaped string
|
|
47
|
+
*/
|
|
48
|
+
static unescapeSingleEscapedOccurrences(string: string, char: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Get quote type of the string
|
|
51
|
+
*
|
|
52
|
+
* @param string String to check
|
|
53
|
+
* @returns Quote type of the string
|
|
54
|
+
*/
|
|
55
|
+
static getStringQuoteType(string: string): QuoteType;
|
|
56
|
+
/**
|
|
57
|
+
* Set quote type of the string
|
|
58
|
+
*
|
|
59
|
+
* @param string String to set quote type of
|
|
60
|
+
* @param quoteType Quote type to set
|
|
61
|
+
* @returns String with the specified quote type
|
|
62
|
+
*/
|
|
63
|
+
static setStringQuoteType(string: string, quoteType: QuoteType): string;
|
|
64
|
+
/**
|
|
65
|
+
* Removes bounding quotes from a string, if any
|
|
66
|
+
*
|
|
67
|
+
* @param string Input string
|
|
68
|
+
* @returns String without quotes
|
|
69
|
+
*/
|
|
70
|
+
static removeQuotes(string: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Removes bounding quotes from a string, if any, and unescapes the escaped quotes,
|
|
73
|
+
* like transforming `'abc\'def'` to `abc'def`.
|
|
74
|
+
*
|
|
75
|
+
* @param string Input string
|
|
76
|
+
* @returns String without quotes
|
|
77
|
+
*/
|
|
78
|
+
static removeQuotesAndUnescape(string: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* Wraps given `strings` with `quote` (defaults to single quote `'`)
|
|
81
|
+
* and joins them with `separator` (defaults to comma+space `, `).
|
|
82
|
+
*
|
|
83
|
+
* @param strings Strings to quote and join.
|
|
84
|
+
* @param quoteType Quote to use.
|
|
85
|
+
* @param separator Separator to use.
|
|
86
|
+
*
|
|
87
|
+
* @returns String with joined items.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ['abc', 'def']: strings[] -> "'abc', 'def'": string
|
|
91
|
+
*/
|
|
92
|
+
static quoteAndJoinStrings(strings: string[], quoteType?: QuoteType, separator?: string): string;
|
|
93
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Regular expression utilities
|
|
3
|
+
*/
|
|
4
|
+
export declare const REGEX_START = "^";
|
|
5
|
+
export declare const REGEX_END = "$";
|
|
6
|
+
export declare const REGEX_ANY_CHARACTERS: string;
|
|
7
|
+
export declare const ADBLOCK_URL_START: string;
|
|
8
|
+
export declare const ADBLOCK_URL_START_REGEX = "^(http|https|ws|wss)://([a-z0-9-_.]+\\.)?";
|
|
9
|
+
export declare const ADBLOCK_URL_SEPARATOR = "^";
|
|
10
|
+
export declare const ADBLOCK_URL_SEPARATOR_REGEX = "([^ a-zA-Z0-9.%_-]|$)";
|
|
11
|
+
export declare const ADBLOCK_WILDCARD = "*";
|
|
12
|
+
export declare const ADBLOCK_WILDCARD_REGEX: string;
|
|
13
|
+
export declare const REGEX_NEGATION_PREFIX = "^((?!";
|
|
14
|
+
export declare const REGEX_NEGATION_SUFFIX = ").)*$";
|
|
15
|
+
/**
|
|
16
|
+
* Special RegExp symbols
|
|
17
|
+
*
|
|
18
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#special-escape
|
|
19
|
+
*/
|
|
20
|
+
export declare const SPECIAL_REGEX_SYMBOLS: Set<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Utility functions for working with RegExp patterns
|
|
23
|
+
*/
|
|
24
|
+
export declare class RegExpUtils {
|
|
25
|
+
/**
|
|
26
|
+
* Checks whether a string possibly is a RegExp pattern.
|
|
27
|
+
* Flags are not supported.
|
|
28
|
+
*
|
|
29
|
+
* Note: it does not perform a full validation of the pattern,
|
|
30
|
+
* it just checks if the string starts and ends with a slash.
|
|
31
|
+
*
|
|
32
|
+
* @param pattern - Pattern to check
|
|
33
|
+
* @returns `true` if the string is a RegExp pattern, `false` otherwise
|
|
34
|
+
*/
|
|
35
|
+
static isRegexPattern(pattern: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Negates a RegExp pattern. Technically, this method wraps the pattern in `^((?!` and `).)*$`.
|
|
38
|
+
*
|
|
39
|
+
* RegExp modifiers are not supported.
|
|
40
|
+
*
|
|
41
|
+
* @param pattern Pattern to negate (can be wrapped in slashes or not)
|
|
42
|
+
* @returns Negated RegExp pattern
|
|
43
|
+
*/
|
|
44
|
+
static negateRegexPattern(pattern: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Converts a basic adblock rule pattern to a RegExp pattern. Based on
|
|
47
|
+
* https://github.com/AdguardTeam/tsurlfilter/blob/9b26e0b4a0e30b87690bc60f7cf377d112c3085c/packages/tsurlfilter/src/rules/simple-regex.ts#L219
|
|
48
|
+
*
|
|
49
|
+
* @param pattern Pattern to convert
|
|
50
|
+
* @returns RegExp equivalent of the pattern
|
|
51
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
|
|
52
|
+
*/
|
|
53
|
+
static patternToRegexp(pattern: string): string;
|
|
54
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Represents a storage interface for reading and writing data.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Represents a storage interface for reading and writing data.
|
|
6
|
+
*/
|
|
7
|
+
export interface Storage<K = string, V = unknown> {
|
|
8
|
+
/**
|
|
9
|
+
* Writes the given data to the storage with the specified key.
|
|
10
|
+
*
|
|
11
|
+
* @param key The key to identify the data in the storage.
|
|
12
|
+
* @param chunks The data to write to the storage.
|
|
13
|
+
* @returns A promise that resolves when the write operation is complete.
|
|
14
|
+
*/
|
|
15
|
+
set(key: K, data: V): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Reads the data from the storage with the specified key.
|
|
18
|
+
*
|
|
19
|
+
* @param key The key to identify the data in the storage.
|
|
20
|
+
* @returns A promise that resolves with the data read from the storage.
|
|
21
|
+
*/
|
|
22
|
+
get(key: K): Promise<V | undefined>;
|
|
23
|
+
}
|