@adguard/agtree 3.0.0 → 3.1.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/README.md +1 -1
- package/dist/{esm/ast-utils/clone.mjs → ast-utils/clone.js} +3 -3
- package/dist/{esm/ast-utils/modifiers.mjs → ast-utils/modifiers.js} +4 -4
- package/dist/{esm/ast-utils/network-rules.mjs → ast-utils/network-rules.js} +6 -6
- package/dist/{esm/ast-utils/scriptlets.mjs → ast-utils/scriptlets.js} +5 -5
- package/dist/{esm/common/abp-snippet-injection-body-common.mjs → common/abp-snippet-injection-body-common.js} +9 -2
- package/dist/{esm/common/agent-common.mjs → common/agent-common.js} +3 -3
- package/dist/common/ubo-selector-common.js +17 -0
- package/dist/{esm/compatibility-tables/base.mjs → compatibility-tables/base.js} +6 -6
- package/dist/{esm/compatibility-tables/compatibility-table-data.mjs → compatibility-tables/compatibility-table-data.js} +3 -3
- package/dist/{esm/compatibility-tables/modifiers.mjs → compatibility-tables/modifiers.js} +6 -6
- package/dist/compatibility-tables/platforms.js +76 -0
- package/dist/{esm/compatibility-tables/redirects.mjs → compatibility-tables/redirects.js} +8 -8
- package/dist/{esm/compatibility-tables/schemas/base.mjs → compatibility-tables/schemas/base.js} +4 -4
- package/dist/{esm/compatibility-tables/schemas/modifier.mjs → compatibility-tables/schemas/modifier.js} +31 -7
- package/dist/{esm/compatibility-tables/schemas/platform.mjs → compatibility-tables/schemas/platform.js} +4 -4
- package/dist/{esm/compatibility-tables/schemas/redirect.mjs → compatibility-tables/schemas/redirect.js} +5 -5
- package/dist/compatibility-tables/schemas/resource-type.js +36 -0
- package/dist/{esm/compatibility-tables/schemas/scriptlet.mjs → compatibility-tables/schemas/scriptlet.js} +4 -4
- package/dist/{esm/compatibility-tables/scriptlets.mjs → compatibility-tables/scriptlets.js} +5 -5
- package/dist/{esm/compatibility-tables/utils/platform-helpers.mjs → compatibility-tables/utils/platform-helpers.js} +3 -3
- package/dist/{esm/compatibility-tables/utils/resource-type-helpers.mjs → compatibility-tables/utils/resource-type-helpers.js} +5 -5
- package/dist/{esm/compatibility-tables/utils/zod-camelcase.mjs → compatibility-tables/utils/zod-camelcase.js} +2 -2
- package/dist/{esm/converter/base-interfaces/base-converter.mjs → converter/base-interfaces/base-converter.js} +3 -3
- package/dist/{esm/converter/base-interfaces/conversion-result.mjs → converter/base-interfaces/conversion-result.js} +2 -2
- package/dist/{esm/converter/base-interfaces/rule-converter-base.mjs → converter/base-interfaces/rule-converter-base.js} +4 -4
- package/dist/{esm/converter/comment/index.mjs → converter/comment/index.js} +7 -7
- package/dist/{esm/converter/cosmetic/css.mjs → converter/cosmetic/css.js} +9 -9
- package/dist/{esm/converter/cosmetic/element-hiding.mjs → converter/cosmetic/element-hiding.js} +9 -9
- package/dist/{esm/converter/cosmetic/header-removal.mjs → converter/cosmetic/header-removal.js} +12 -12
- package/dist/{esm/converter/cosmetic/html.mjs → converter/cosmetic/html.js} +21 -30
- package/dist/{esm/converter/cosmetic/index.mjs → converter/cosmetic/index.js} +43 -13
- package/dist/{esm/converter/cosmetic/rule-modifiers/adg.mjs → converter/cosmetic/rule-modifiers/adg.js} +10 -10
- package/dist/converter/cosmetic/rule-modifiers/ubo.js +149 -0
- package/dist/{esm/converter/cosmetic/scriptlet.mjs → converter/cosmetic/scriptlet.js} +23 -23
- package/dist/{esm/converter/css/index.mjs → converter/css/index.js} +21 -25
- package/dist/{esm/converter/data/css.mjs → converter/data/css.js} +2 -2
- package/dist/{esm/converter/filter-list.mjs → converter/filter-list.js} +7 -7
- package/dist/converter/index.js +8 -0
- package/dist/{esm/converter/misc/network-rule-modifier.mjs → converter/misc/network-rule-modifier.js} +22 -22
- package/dist/{esm/converter/network/index.mjs → converter/network/index.js} +6 -6
- package/dist/{esm/converter/raw-filter-list.mjs → converter/raw-filter-list.js} +9 -9
- package/dist/{esm/converter/rule.mjs → converter/rule.js} +9 -9
- package/dist/{esm/deserializer/base-deserializer.mjs → deserializer/base-deserializer.js} +4 -4
- package/dist/{esm/deserializer/comment/agent-comment-deserializer.mjs → deserializer/comment/agent-comment-deserializer.js} +14 -9
- package/dist/{esm/deserializer/comment/agent-deserializer.mjs → deserializer/comment/agent-deserializer.js} +8 -8
- package/dist/{esm/deserializer/comment/comment-rule-deserializer.mjs → deserializer/comment/comment-rule-deserializer.js} +11 -64
- package/dist/{esm/deserializer/comment/config-comment-deserializer.mjs → deserializer/comment/config-comment-deserializer.js} +10 -10
- package/dist/{esm/deserializer/comment/hint-comment-deserializer.mjs → deserializer/comment/hint-comment-deserializer.js} +15 -10
- package/dist/{esm/deserializer/comment/hint-deserializer.mjs → deserializer/comment/hint-deserializer.js} +8 -8
- package/dist/{esm/deserializer/comment/metadata-comment-deserializer.mjs → deserializer/comment/metadata-comment-deserializer.js} +9 -9
- package/dist/{esm/deserializer/comment/pre-processor-comment-deserializer.mjs → deserializer/comment/pre-processor-comment-deserializer.js} +12 -12
- package/dist/{esm/deserializer/comment/simple-comment-deserializer.mjs → deserializer/comment/simple-comment-deserializer.js} +9 -9
- package/dist/{esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs → deserializer/cosmetic/cosmetic-rule-deserializer.js} +24 -18
- package/dist/{esm/deserializer/cosmetic/css-injection-body-deserializer.mjs → deserializer/cosmetic/css-injection-body-deserializer.js} +10 -7
- package/dist/{esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs → deserializer/cosmetic/element-hiding-body-deserializer.js} +11 -7
- package/dist/{esm/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js} +9 -5
- package/dist/{esm/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js} +10 -5
- package/dist/{esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js} +11 -7
- package/dist/{esm/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js} +9 -6
- package/dist/{esm/deserializer/empty-rule-deserializer.mjs → deserializer/empty-rule-deserializer.js} +12 -8
- package/dist/{esm/deserializer/filterlist-deserializer.mjs → deserializer/filterlist-deserializer.js} +11 -7
- package/dist/{esm/deserializer/index.mjs → deserializer/index.js} +4 -4
- package/dist/{esm/deserializer/invalid-rule-deserializer.mjs → deserializer/invalid-rule-deserializer.js} +12 -8
- package/dist/{esm/deserializer/invalid-rule-error-node-deserializer.mjs → deserializer/invalid-rule-error-node-deserializer.js} +10 -6
- package/dist/{esm/deserializer/misc/domain-list-deserializer.mjs → deserializer/misc/domain-list-deserializer.js} +8 -8
- package/dist/{esm/deserializer/misc/list-item-deserializer.mjs → deserializer/misc/list-item-deserializer.js} +13 -7
- package/dist/{esm/deserializer/misc/list-items-deserializer.mjs → deserializer/misc/list-items-deserializer.js} +7 -3
- package/dist/{esm/deserializer/misc/logical-expression-deserializer.mjs → deserializer/misc/logical-expression-deserializer.js} +8 -8
- package/dist/{esm/deserializer/misc/modifier-deserializer.mjs → deserializer/misc/modifier-deserializer.js} +8 -8
- package/dist/{esm/deserializer/misc/modifier-list-deserializer.mjs → deserializer/misc/modifier-list-deserializer.js} +12 -7
- package/dist/{esm/deserializer/misc/parameter-list-deserializer.mjs → deserializer/misc/parameter-list-deserializer.js} +11 -7
- package/dist/{esm/deserializer/misc/value-deserializer.mjs → deserializer/misc/value-deserializer.js} +6 -6
- package/dist/{esm/deserializer/network/host-rule-deserializer.mjs → deserializer/network/host-rule-deserializer.js} +15 -27
- package/dist/{esm/deserializer/network/hostname-list-deserializer.mjs → deserializer/network/hostname-list-deserializer.js} +15 -7
- package/dist/{esm/deserializer/network/network-rule-deserializer.mjs → deserializer/network/network-rule-deserializer.js} +11 -11
- package/dist/{esm/deserializer/rule-deserializer.mjs → deserializer/rule-deserializer.js} +10 -10
- package/dist/{esm/deserializer/syntax-deserialization-map.mjs → deserializer/syntax-deserialization-map.js} +3 -3
- package/dist/{esm/errors/adblock-syntax-error.mjs → errors/adblock-syntax-error.js} +2 -2
- package/dist/{esm/errors/binary-schema-mismatch-error.mjs → errors/binary-schema-mismatch-error.js} +2 -2
- package/dist/{esm/errors/not-implemented-error.mjs → errors/not-implemented-error.js} +2 -2
- package/dist/{esm/errors/rule-conversion-error.mjs → errors/rule-conversion-error.js} +2 -2
- package/dist/{esm/generator/base-generator.mjs → generator/base-generator.js} +4 -4
- package/dist/{esm/generator/comment/agent-comment-generator.mjs → generator/comment/agent-comment-generator.js} +8 -5
- package/dist/{esm/generator/comment/agent-generator.mjs → generator/comment/agent-generator.js} +9 -5
- package/dist/{esm/generator/comment/comment-rule-generator.mjs → generator/comment/comment-rule-generator.js} +11 -64
- package/dist/{esm/generator/comment/config-comment-generator.mjs → generator/comment/config-comment-generator.js} +8 -5
- package/dist/{esm/generator/comment/hint-comment-generator.mjs → generator/comment/hint-comment-generator.js} +8 -5
- package/dist/{esm/generator/comment/hint-generator.mjs → generator/comment/hint-generator.js} +11 -8
- package/dist/{esm/generator/comment/metadata-comment-generator.mjs → generator/comment/metadata-comment-generator.js} +8 -5
- package/dist/{esm/generator/comment/pre-processor-comment-generator.mjs → generator/comment/pre-processor-comment-generator.js} +10 -7
- package/dist/{esm/generator/comment/simple-comment-generator.mjs → generator/comment/simple-comment-generator.js} +8 -5
- package/dist/{esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs → generator/cosmetic/body/abp-snippet-injection-body-generator.js} +10 -6
- package/dist/{esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/adg-scriptlet-injection-body-generator.js} +10 -6
- package/dist/{esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js} +10 -6
- package/dist/{esm/generator/cosmetic/cosmetic-rule-body-generator.mjs → generator/cosmetic/cosmetic-rule-body-generator.js} +17 -13
- package/dist/{esm/generator/cosmetic/cosmetic-rule-generator.mjs → generator/cosmetic/cosmetic-rule-generator.js} +19 -21
- package/dist/{esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs → generator/cosmetic/cosmetic-rule-pattern-generator.js} +10 -7
- package/dist/{esm/generator/css/adg-css-injection-generator.mjs → generator/css/adg-css-injection-generator.js} +8 -5
- package/dist/{esm/generator/filterlist-generator.mjs → generator/filterlist-generator.js} +21 -9
- package/dist/{esm/generator/index.mjs → generator/index.js} +5 -5
- package/dist/{esm/generator/misc/domain-list-generator.mjs → generator/misc/domain-list-generator.js} +7 -4
- package/dist/{esm/generator/misc/list-items-generator.mjs → generator/misc/list-items-generator.js} +6 -3
- package/dist/{esm/generator/misc/logical-expression-generator.mjs → generator/misc/logical-expression-generator.js} +8 -5
- package/dist/{esm/generator/misc/modifier-generator.mjs → generator/misc/modifier-generator.js} +9 -6
- package/dist/{esm/generator/misc/modifier-list-generator.mjs → generator/misc/modifier-list-generator.js} +8 -5
- package/dist/{esm/generator/misc/parameter-list-generator.mjs → generator/misc/parameter-list-generator.js} +8 -6
- package/dist/{esm/generator/misc/value-generator.mjs → generator/misc/value-generator.js} +6 -3
- package/dist/{esm/generator/network/host-rule-generator.mjs → generator/network/host-rule-generator.js} +7 -4
- package/dist/{esm/generator/network/network-rule-generator.mjs → generator/network/network-rule-generator.js} +11 -8
- package/dist/{esm/generator/rule-generator.mjs → generator/rule-generator.js} +12 -9
- package/dist/{esm/index.mjs → index.js} +66 -66
- package/dist/{cjs/marshalling-utils/empty-rule-common.js → marshalling-utils/comment/agent-comment-common.js} +9 -9
- package/dist/{esm/marshalling-utils/comment/agent-common.mjs → marshalling-utils/comment/agent-common.js} +8 -9
- package/dist/{esm/marshalling-utils/comment/config-comment-common.mjs → marshalling-utils/comment/config-comment-common.js} +15 -17
- package/dist/marshalling-utils/comment/hint-comment-common.js +22 -0
- package/dist/{esm/marshalling-utils/comment/hint-common.mjs → marshalling-utils/comment/hint-common.js} +8 -9
- package/dist/{esm/marshalling-utils/comment/metadata-comment-common.mjs → marshalling-utils/comment/metadata-comment-common.js} +9 -10
- package/dist/{esm/marshalling-utils/comment/pre-processor-comment-common.mjs → marshalling-utils/comment/pre-processor-comment-common.js} +9 -10
- package/dist/marshalling-utils/comment/simple-comment-common.js +22 -0
- package/dist/{esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs → marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js} +7 -8
- package/dist/{esm/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js} +2 -2
- package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +24 -0
- package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +21 -0
- package/dist/{esm/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js} +2 -2
- package/dist/{esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs → marshalling-utils/cosmetic/cosmetic-rule-common.js} +10 -13
- package/dist/{esm/marshalling-utils/empty-rule-common.mjs → marshalling-utils/empty-rule-common.js} +6 -7
- package/dist/marshalling-utils/filter-list-common.js +21 -0
- package/dist/{esm/marshalling-utils/invalid-rule-common.mjs → marshalling-utils/invalid-rule-common.js} +7 -8
- package/dist/marshalling-utils/invalid-rule-error-node-common.js +22 -0
- package/dist/marshalling-utils/misc/binary-type-common.js +54 -0
- package/dist/{esm/marshalling-utils/misc/domain-list-common.mjs → marshalling-utils/misc/domain-list-common.js} +9 -10
- package/dist/marshalling-utils/misc/host-rule-common.js +24 -0
- package/dist/marshalling-utils/misc/hostname-list-common.js +21 -0
- package/dist/marshalling-utils/misc/list-item-common.js +22 -0
- package/dist/marshalling-utils/misc/logical-expression-common.js +83 -0
- package/dist/{esm/marshalling-utils/misc/modifier-common.mjs → marshalling-utils/misc/modifier-common.js} +9 -10
- package/dist/marshalling-utils/misc/modifier-list-common.js +21 -0
- package/dist/marshalling-utils/misc/parameter-list-common.js +21 -0
- package/dist/marshalling-utils/misc/value-common.js +22 -0
- package/dist/marshalling-utils/network/network-rule-common.js +24 -0
- package/dist/{esm/marshalling-utils/syntax-serialization-map.mjs → marshalling-utils/syntax-serialization-map.js} +3 -3
- package/dist/{esm/nodes/index.mjs → nodes/index.js} +66 -79
- package/dist/{esm/package.json.mjs → package.json.js} +3 -3
- package/dist/{esm/parser/base-parser.mjs → parser/base-parser.js} +3 -3
- package/dist/{esm/parser/comment/agent-comment-parser.mjs → parser/comment/agent-comment-parser.js} +12 -12
- package/dist/{esm/parser/comment/agent-parser.mjs → parser/comment/agent-parser.js} +19 -14
- package/dist/{esm/parser/comment/comment-parser.mjs → parser/comment/comment-parser.js} +10 -10
- package/dist/{esm/parser/comment/config-comment-parser.mjs → parser/comment/config-comment-parser.js} +10 -10
- package/dist/{esm/parser/comment/hint-comment-parser.mjs → parser/comment/hint-comment-parser.js} +10 -10
- package/dist/{esm/parser/comment/hint-parser.mjs → parser/comment/hint-parser.js} +9 -9
- package/dist/{esm/parser/comment/metadata-comment-parser.mjs → parser/comment/metadata-comment-parser.js} +11 -11
- package/dist/{esm/parser/comment/preprocessor-parser.mjs → parser/comment/preprocessor-parser.js} +12 -12
- package/dist/{esm/parser/comment/simple-comment-parser.mjs → parser/comment/simple-comment-parser.js} +9 -9
- package/dist/{esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs → parser/cosmetic/body/abp-snippet-injection-body-parser.js} +9 -9
- package/dist/{esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/adg-scriptlet-injection-body-parser.js} +9 -9
- package/dist/{esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js} +8 -8
- package/dist/{esm/parser/cosmetic/cosmetic-rule-parser.mjs → parser/cosmetic/cosmetic-rule-parser.js} +63 -23
- package/dist/{esm/parser/css/adg-css-injection-parser.mjs → parser/css/adg-css-injection-parser.js} +7 -7
- package/dist/{esm/parser/css/balancing.mjs → parser/css/balancing.js} +6 -6
- package/dist/{esm/parser/css/constants.mjs → parser/css/constants.js} +2 -2
- package/dist/{esm/parser/css/css-token-stream.mjs → parser/css/css-token-stream.js} +24 -14
- package/dist/{esm/parser/css/ubo-selector-parser.mjs → parser/css/ubo-selector-parser.js} +8 -8
- package/dist/{esm/parser/filterlist-parser.mjs → parser/filterlist-parser.js} +7 -7
- package/dist/parser/index.js +12 -0
- package/dist/{esm/parser/misc/app-list-parser.mjs → parser/misc/app-list-parser.js} +7 -7
- package/dist/{esm/parser/misc/domain-list-parser.mjs → parser/misc/domain-list-parser.js} +7 -7
- package/dist/{esm/parser/misc/list-items-parser.mjs → parser/misc/list-items-parser.js} +10 -7
- package/dist/{esm/parser/misc/logical-expression-parser.mjs → parser/misc/logical-expression-parser.js} +18 -20
- package/dist/{esm/parser/misc/method-list-parser.mjs → parser/misc/method-list-parser.js} +7 -7
- package/dist/{esm/parser/misc/modifier-list.mjs → parser/misc/modifier-list.js} +7 -7
- package/dist/{esm/parser/misc/modifier-parser.mjs → parser/misc/modifier-parser.js} +8 -8
- package/dist/{esm/parser/misc/parameter-list-parser.mjs → parser/misc/parameter-list-parser.js} +10 -7
- package/dist/{esm/parser/misc/stealth-option-list-parser.mjs → parser/misc/stealth-option-list-parser.js} +7 -7
- package/dist/{esm/parser/misc/ubo-parameter-list-parser.mjs → parser/misc/ubo-parameter-list-parser.js} +12 -9
- package/dist/{esm/parser/misc/value-parser.mjs → parser/misc/value-parser.js} +5 -5
- package/dist/{esm/parser/network/host-rule-parser.mjs → parser/network/host-rule-parser.js} +11 -11
- package/dist/{esm/parser/network/network-rule-parser.mjs → parser/network/network-rule-parser.js} +17 -11
- package/dist/{esm/parser/options.mjs → parser/options.js} +2 -2
- package/dist/{esm/parser/rule-parser.mjs → parser/rule-parser.js} +11 -11
- package/dist/{esm/serializer/base-serializer.mjs → serializer/base-serializer.js} +3 -3
- package/dist/{esm/serializer/comment/agent-comment-serializer.mjs → serializer/comment/agent-comment-serializer.js} +11 -8
- package/dist/{esm/serializer/comment/agent-serializer.mjs → serializer/comment/agent-serializer.js} +9 -18
- package/dist/{esm/serializer/comment/comment-rule-serializer.mjs → serializer/comment/comment-rule-serializer.js} +10 -10
- package/dist/{esm/serializer/comment/config-comment-serializer.mjs → serializer/comment/config-comment-serializer.js} +10 -10
- package/dist/{esm/serializer/comment/hint-comment-serializer.mjs → serializer/comment/hint-comment-serializer.js} +13 -10
- package/dist/{esm/serializer/comment/hint-serializer.mjs → serializer/comment/hint-serializer.js} +9 -9
- package/dist/{esm/serializer/comment/metadata-comment-serializer.mjs → serializer/comment/metadata-comment-serializer.js} +8 -8
- package/dist/{esm/serializer/comment/pre-processor-comment-serializer.mjs → serializer/comment/pre-processor-comment-serializer.js} +11 -11
- package/dist/{esm/serializer/comment/simple-comment-serializer.mjs → serializer/comment/simple-comment-serializer.js} +10 -10
- package/dist/{esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs → serializer/cosmetic/body/abp-snippet-injection-body-serializer.js} +9 -9
- package/dist/{esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js} +9 -9
- package/dist/{esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs → serializer/cosmetic/body/scriptlet-body-serializer.js} +16 -13
- package/dist/{esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js} +5 -5
- package/dist/{esm/serializer/cosmetic/cosmetic-rule-serializer.mjs → serializer/cosmetic/cosmetic-rule-serializer.js} +22 -31
- package/dist/{esm/serializer/cosmetic/css-injection-body-serializer.mjs → serializer/cosmetic/css-injection-body-serializer.js} +11 -8
- package/dist/{esm/serializer/cosmetic/element-hiding-body-serializer.mjs → serializer/cosmetic/element-hiding-body-serializer.js} +11 -8
- package/dist/{esm/serializer/empty-rule-serializer.mjs → serializer/empty-rule-serializer.js} +10 -7
- package/dist/{esm/serializer/filterlist-serializer.mjs → serializer/filterlist-serializer.js} +9 -10
- package/dist/serializer/index.js +7 -0
- package/dist/{esm/serializer/invalid-rule-error-node-serializer.mjs → serializer/invalid-rule-error-node-serializer.js} +10 -7
- package/dist/{esm/serializer/invalid-rule-serializer.mjs → serializer/invalid-rule-serializer.js} +11 -8
- package/dist/{esm/serializer/misc/domain-list-serializer.mjs → serializer/misc/domain-list-serializer.js} +10 -10
- package/dist/{esm/serializer/misc/list-item-serializer.mjs → serializer/misc/list-item-serializer.js} +11 -8
- package/dist/{esm/serializer/misc/list-items-serializer.mjs → serializer/misc/list-items-serializer.js} +6 -3
- package/dist/{esm/serializer/misc/logical-expression-serializer.mjs → serializer/misc/logical-expression-serializer.js} +14 -14
- package/dist/{esm/serializer/misc/modifier-list-serializer.mjs → serializer/misc/modifier-list-serializer.js} +11 -8
- package/dist/{esm/serializer/misc/modifier-serializer.mjs → serializer/misc/modifier-serializer.js} +8 -8
- package/dist/{esm/serializer/misc/parameter-list-serializer.mjs → serializer/misc/parameter-list-serializer.js} +11 -8
- package/dist/{esm/serializer/misc/value-serializer.mjs → serializer/misc/value-serializer.js} +7 -7
- package/dist/{esm/serializer/network/host-rule-serializer.mjs → serializer/network/host-rule-serializer.js} +10 -10
- package/dist/{esm/serializer/network/hostname-list-serializer.mjs → serializer/network/hostname-list-serializer.js} +14 -8
- package/dist/{esm/serializer/network/network-rule-serializer.mjs → serializer/network/network-rule-serializer.js} +10 -10
- package/dist/{esm/serializer/rule-serializer.mjs → serializer/rule-serializer.js} +10 -10
- package/dist/types/common/abp-snippet-injection-body-common.d.ts +7 -0
- package/dist/types/common/ubo-selector-common.d.ts +7 -6
- package/dist/types/compatibility-tables/compatibility-table-data.d.ts +2 -1
- package/dist/types/compatibility-tables/platforms.d.ts +36 -34
- package/dist/types/compatibility-tables/schemas/base.d.ts +1 -12
- package/dist/types/compatibility-tables/schemas/modifier.d.ts +5 -0
- package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
- package/dist/types/compatibility-tables/schemas/resource-type.d.ts +29 -15
- package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +1 -1
- package/dist/types/converter/cosmetic/rule-modifiers/ubo.d.ts +24 -0
- package/dist/types/converter/css/index.d.ts +17 -0
- package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +1 -54
- package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +6 -0
- package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +3 -0
- package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +4 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +4 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +5 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +4 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +4 -1
- package/dist/types/deserializer/empty-rule-deserializer.d.ts +4 -0
- package/dist/types/deserializer/filterlist-deserializer.d.ts +4 -0
- package/dist/types/deserializer/invalid-rule-deserializer.d.ts +4 -0
- package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +4 -0
- package/dist/types/deserializer/misc/list-item-deserializer.d.ts +6 -0
- package/dist/types/deserializer/misc/list-items-deserializer.d.ts +4 -0
- package/dist/types/deserializer/misc/modifier-deserializer.d.ts +1 -1
- package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +4 -0
- package/dist/types/deserializer/network/host-rule-deserializer.d.ts +4 -16
- package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +3 -0
- package/dist/types/generator/comment/agent-comment-generator.d.ts +3 -0
- package/dist/types/generator/comment/agent-generator.d.ts +4 -0
- package/dist/types/generator/comment/comment-rule-generator.d.ts +1 -54
- package/dist/types/generator/comment/config-comment-generator.d.ts +3 -0
- package/dist/types/generator/comment/hint-comment-generator.d.ts +3 -0
- package/dist/types/generator/comment/hint-generator.d.ts +6 -3
- package/dist/types/generator/comment/index.d.ts +1 -2
- package/dist/types/generator/comment/metadata-comment-generator.d.ts +3 -0
- package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +3 -0
- package/dist/types/generator/comment/simple-comment-generator.d.ts +3 -0
- package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +4 -0
- package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +5 -1
- package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +5 -1
- package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +5 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +3 -11
- package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +3 -0
- package/dist/types/generator/css/adg-css-injection-generator.d.ts +3 -0
- package/dist/types/generator/css/ubo-selector-generator.d.ts +3 -0
- package/dist/types/generator/filterlist-generator.d.ts +4 -3
- package/dist/types/generator/misc/domain-list-generator.d.ts +3 -0
- package/dist/types/generator/misc/list-items-generator.d.ts +3 -0
- package/dist/types/generator/misc/logical-expression-generator.d.ts +3 -0
- package/dist/types/generator/misc/modifier-generator.d.ts +5 -2
- package/dist/types/generator/misc/modifier-list-generator.d.ts +3 -0
- package/dist/types/generator/misc/parameter-list-generator.d.ts +3 -0
- package/dist/types/generator/misc/value-generator.d.ts +3 -0
- package/dist/types/generator/network/host-rule-generator.d.ts +3 -0
- package/dist/types/generator/network/network-rule-generator.d.ts +6 -3
- package/dist/types/generator/rule-generator.d.ts +3 -0
- package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +6 -5
- package/dist/types/marshalling-utils/comment/agent-common.d.ts +7 -6
- package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +15 -13
- package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +7 -6
- package/dist/types/marshalling-utils/comment/hint-common.d.ts +7 -6
- package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +8 -7
- package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +8 -7
- package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +7 -6
- package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +6 -5
- package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +9 -8
- package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +6 -5
- package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +11 -10
- package/dist/types/marshalling-utils/empty-rule-common.d.ts +5 -4
- package/dist/types/marshalling-utils/filter-list-common.d.ts +6 -5
- package/dist/types/marshalling-utils/invalid-rule-common.d.ts +6 -5
- package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +7 -6
- package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +52 -51
- package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +7 -6
- package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +10 -9
- package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +6 -5
- package/dist/types/marshalling-utils/misc/list-item-common.d.ts +7 -6
- package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +21 -18
- package/dist/types/marshalling-utils/misc/modifier-common.d.ts +8 -7
- package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +6 -5
- package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +6 -5
- package/dist/types/marshalling-utils/misc/value-common.d.ts +7 -6
- package/dist/types/marshalling-utils/network/network-rule-common.d.ts +10 -9
- package/dist/types/nodes/index.d.ts +104 -98
- package/dist/types/parser/comment/agent-parser.d.ts +7 -0
- package/dist/types/parser/css/balancing.d.ts +21 -1
- package/dist/types/parser/index.d.ts +1 -0
- package/dist/types/parser/misc/list-items-parser.d.ts +3 -0
- package/dist/types/parser/misc/logical-expression-parser.d.ts +6 -5
- package/dist/types/parser/misc/parameter-list-parser.d.ts +3 -0
- package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +3 -0
- package/dist/types/parser/misc/value-parser.d.ts +1 -1
- package/dist/types/serializer/comment/agent-serializer.d.ts +1 -10
- package/dist/types/serializer/comment/config-comment-serializer.d.ts +1 -1
- package/dist/types/serializer/comment/simple-comment-serializer.d.ts +2 -2
- package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +4 -4
- package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +4 -4
- package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +8 -5
- package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +4 -11
- package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +3 -0
- package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +3 -0
- package/dist/types/serializer/empty-rule-serializer.d.ts +3 -0
- package/dist/types/serializer/filterlist-serializer.d.ts +1 -2
- package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +3 -0
- package/dist/types/serializer/invalid-rule-serializer.d.ts +3 -0
- package/dist/types/serializer/misc/domain-list-serializer.d.ts +2 -2
- package/dist/types/serializer/misc/list-item-serializer.d.ts +3 -0
- package/dist/types/serializer/misc/list-items-serializer.d.ts +3 -0
- package/dist/types/serializer/misc/logical-expression-serializer.d.ts +7 -6
- package/dist/types/serializer/misc/parameter-list-serializer.d.ts +3 -0
- package/dist/types/serializer/network/hostname-list-serializer.d.ts +3 -0
- package/dist/types/utils/adblockers.d.ts +7 -6
- package/dist/types/utils/constants.d.ts +5 -0
- package/dist/types/utils/domain.d.ts +3 -0
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/input-byte-buffer.d.ts +6 -0
- package/dist/types/utils/output-byte-buffer.d.ts +6 -0
- package/dist/types/utils/quotes.d.ts +7 -6
- package/dist/types/utils/regexp.d.ts +21 -0
- package/dist/types/utils/string.d.ts +3 -0
- package/dist/types/validator/value.d.ts +2 -1
- package/dist/{esm/utils/adblockers.mjs → utils/adblockers.js} +8 -9
- package/dist/{esm/utils/binary-schema-version.mjs → utils/binary-schema-version.js} +2 -2
- package/dist/{esm/utils/byte-buffer.mjs → utils/byte-buffer.js} +2 -2
- package/dist/{esm/utils/categorizer.mjs → utils/categorizer.js} +5 -5
- package/dist/{esm/utils/clone.mjs → utils/clone.js} +2 -2
- package/dist/{esm/utils/constants.mjs → utils/constants.js} +10 -3
- package/dist/{esm/utils/cosmetic-rule-separator.mjs → utils/cosmetic-rule-separator.js} +4 -4
- package/dist/{esm/utils/deep-freeze.mjs → utils/deep-freeze.js} +2 -2
- package/dist/{esm/utils/domain.mjs → utils/domain.js} +6 -3
- package/dist/{esm/utils/error.mjs → utils/error.js} +2 -2
- package/dist/utils/index.js +21 -0
- package/dist/{esm/utils/input-byte-buffer.mjs → utils/input-byte-buffer.js} +17 -8
- package/dist/{esm/utils/is-chromium.mjs → utils/is-chromium.js} +2 -2
- package/dist/{esm/utils/logical-expression.mjs → utils/logical-expression.js} +4 -4
- package/dist/{esm/utils/multi-value-map.mjs → utils/multi-value-map.js} +3 -3
- package/dist/{esm/utils/output-byte-buffer.mjs → utils/output-byte-buffer.js} +14 -6
- package/dist/{esm/utils/position-provider.mjs → utils/position-provider.js} +3 -3
- package/dist/{esm/utils/quotes.mjs → utils/quotes.js} +9 -10
- package/dist/{esm/utils/regexp.mjs → utils/regexp.js} +49 -3
- package/dist/{esm/utils/string.mjs → utils/string.js} +6 -3
- package/dist/{esm/utils/text-decoder-polyfill.mjs → utils/text-decoder-polyfill.js} +3 -3
- package/dist/{esm/utils/text-encoder-polyfill.mjs → utils/text-encoder-polyfill.js} +2 -2
- package/dist/{esm/utils/type-guards.mjs → utils/type-guards.js} +2 -2
- package/dist/{esm/validator/constants.mjs → validator/constants.js} +4 -4
- package/dist/{esm/validator/helpers.mjs → validator/helpers.js} +4 -4
- package/dist/{esm/validator/index.mjs → validator/index.js} +11 -11
- package/dist/{esm/validator/value.mjs → validator/value.js} +34 -29
- package/dist/{esm/version.mjs → version.js} +3 -3
- package/package.json +24 -70
- package/dist/cjs/ast-utils/clone.js +0 -65
- package/dist/cjs/ast-utils/modifiers.js +0 -56
- package/dist/cjs/ast-utils/network-rules.js +0 -43
- package/dist/cjs/ast-utils/scriptlets.js +0 -93
- package/dist/cjs/common/abp-snippet-injection-body-common.js +0 -18
- package/dist/cjs/common/agent-common.js +0 -58
- package/dist/cjs/common/ubo-selector-common.js +0 -18
- package/dist/cjs/compatibility-tables/base.js +0 -264
- package/dist/cjs/compatibility-tables/compatibility-table-data.js +0 -15
- package/dist/cjs/compatibility-tables/modifiers.js +0 -57
- package/dist/cjs/compatibility-tables/platforms.js +0 -58
- package/dist/cjs/compatibility-tables/redirects.js +0 -102
- package/dist/cjs/compatibility-tables/schemas/base.js +0 -116
- package/dist/cjs/compatibility-tables/schemas/modifier.js +0 -107
- package/dist/cjs/compatibility-tables/schemas/platform.js +0 -71
- package/dist/cjs/compatibility-tables/schemas/redirect.js +0 -31
- package/dist/cjs/compatibility-tables/schemas/resource-type.js +0 -39
- package/dist/cjs/compatibility-tables/schemas/scriptlet.js +0 -81
- package/dist/cjs/compatibility-tables/scriptlets.js +0 -30
- package/dist/cjs/compatibility-tables/utils/platform-helpers.js +0 -112
- package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +0 -64
- package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +0 -27
- package/dist/cjs/converter/base-interfaces/base-converter.js +0 -61
- package/dist/cjs/converter/base-interfaces/conversion-result.js +0 -41
- package/dist/cjs/converter/base-interfaces/rule-converter-base.js +0 -62
- package/dist/cjs/converter/comment/index.js +0 -56
- package/dist/cjs/converter/cosmetic/css.js +0 -71
- package/dist/cjs/converter/cosmetic/element-hiding.js +0 -64
- package/dist/cjs/converter/cosmetic/header-removal.js +0 -126
- package/dist/cjs/converter/cosmetic/html.js +0 -384
- package/dist/cjs/converter/cosmetic/index.js +0 -120
- package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +0 -81
- package/dist/cjs/converter/cosmetic/scriptlet.js +0 -356
- package/dist/cjs/converter/css/index.js +0 -193
- package/dist/cjs/converter/data/css.js +0 -133
- package/dist/cjs/converter/filter-list.js +0 -90
- package/dist/cjs/converter/index.js +0 -15
- package/dist/cjs/converter/misc/network-rule-modifier.js +0 -313
- package/dist/cjs/converter/network/index.js +0 -101
- package/dist/cjs/converter/raw-filter-list.js +0 -58
- package/dist/cjs/converter/rule.js +0 -83
- package/dist/cjs/deserializer/base-deserializer.js +0 -31
- package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +0 -76
- package/dist/cjs/deserializer/comment/agent-deserializer.js +0 -67
- package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +0 -109
- package/dist/cjs/deserializer/comment/config-comment-deserializer.js +0 -113
- package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +0 -69
- package/dist/cjs/deserializer/comment/hint-deserializer.js +0 -88
- package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +0 -71
- package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +0 -114
- package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +0 -67
- package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -127
- package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +0 -55
- package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -46
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -37
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -37
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -52
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
- package/dist/cjs/deserializer/empty-rule-deserializer.js +0 -46
- package/dist/cjs/deserializer/filterlist-deserializer.js +0 -83
- package/dist/cjs/deserializer/index.js +0 -15
- package/dist/cjs/deserializer/invalid-rule-deserializer.js +0 -48
- package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +0 -48
- package/dist/cjs/deserializer/misc/domain-list-deserializer.js +0 -66
- package/dist/cjs/deserializer/misc/list-item-deserializer.js +0 -65
- package/dist/cjs/deserializer/misc/list-items-deserializer.js +0 -28
- package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +0 -199
- package/dist/cjs/deserializer/misc/modifier-deserializer.js +0 -89
- package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +0 -58
- package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +0 -62
- package/dist/cjs/deserializer/misc/value-deserializer.js +0 -52
- package/dist/cjs/deserializer/network/host-rule-deserializer.js +0 -81
- package/dist/cjs/deserializer/network/hostname-list-deserializer.js +0 -50
- package/dist/cjs/deserializer/network/network-rule-deserializer.js +0 -67
- package/dist/cjs/deserializer/rule-deserializer.js +0 -67
- package/dist/cjs/deserializer/syntax-deserialization-map.js +0 -23
- package/dist/cjs/errors/adblock-syntax-error.js +0 -41
- package/dist/cjs/errors/binary-schema-mismatch-error.js +0 -39
- package/dist/cjs/errors/not-implemented-error.js +0 -33
- package/dist/cjs/errors/rule-conversion-error.js +0 -28
- package/dist/cjs/generator/base-generator.js +0 -29
- package/dist/cjs/generator/comment/agent-comment-generator.js +0 -30
- package/dist/cjs/generator/comment/agent-generator.js +0 -34
- package/dist/cjs/generator/comment/comment-rule-generator.js +0 -102
- package/dist/cjs/generator/comment/config-comment-generator.js +0 -44
- package/dist/cjs/generator/comment/hint-comment-generator.js +0 -27
- package/dist/cjs/generator/comment/hint-generator.js +0 -32
- package/dist/cjs/generator/comment/metadata-comment-generator.js +0 -32
- package/dist/cjs/generator/comment/pre-processor-comment-generator.js +0 -47
- package/dist/cjs/generator/comment/simple-comment-generator.js +0 -28
- package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +0 -36
- package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +0 -41
- package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +0 -43
- package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +0 -92
- package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +0 -66
- package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +0 -41
- package/dist/cjs/generator/css/adg-css-injection-generator.js +0 -41
- package/dist/cjs/generator/filterlist-generator.js +0 -57
- package/dist/cjs/generator/index.js +0 -17
- package/dist/cjs/generator/misc/domain-list-generator.js +0 -25
- package/dist/cjs/generator/misc/list-items-generator.js +0 -38
- package/dist/cjs/generator/misc/logical-expression-generator.js +0 -47
- package/dist/cjs/generator/misc/modifier-generator.js +0 -33
- package/dist/cjs/generator/misc/modifier-list-generator.js +0 -28
- package/dist/cjs/generator/misc/parameter-list-generator.js +0 -41
- package/dist/cjs/generator/misc/value-generator.js +0 -23
- package/dist/cjs/generator/network/host-rule-generator.js +0 -38
- package/dist/cjs/generator/network/network-rule-generator.js +0 -37
- package/dist/cjs/generator/rule-generator.js +0 -64
- package/dist/cjs/index.js +0 -201
- package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +0 -22
- package/dist/cjs/marshalling-utils/comment/agent-common.js +0 -43
- package/dist/cjs/marshalling-utils/comment/config-comment-common.js +0 -58
- package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +0 -23
- package/dist/cjs/marshalling-utils/comment/hint-common.js +0 -60
- package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +0 -44
- package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +0 -63
- package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +0 -23
- package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -64
- package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -68
- package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -25
- package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -22
- package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -116
- package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -51
- package/dist/cjs/marshalling-utils/filter-list-common.js +0 -22
- package/dist/cjs/marshalling-utils/invalid-rule-common.js +0 -22
- package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +0 -23
- package/dist/cjs/marshalling-utils/misc/binary-type-common.js +0 -67
- package/dist/cjs/marshalling-utils/misc/domain-list-common.js +0 -39
- package/dist/cjs/marshalling-utils/misc/host-rule-common.js +0 -26
- package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +0 -22
- package/dist/cjs/marshalling-utils/misc/list-item-common.js +0 -23
- package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +0 -89
- package/dist/cjs/marshalling-utils/misc/modifier-common.js +0 -236
- package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +0 -22
- package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +0 -22
- package/dist/cjs/marshalling-utils/misc/value-common.js +0 -23
- package/dist/cjs/marshalling-utils/network/network-rule-common.js +0 -26
- package/dist/cjs/marshalling-utils/syntax-serialization-map.js +0 -32
- package/dist/cjs/nodes/index.js +0 -180
- package/dist/cjs/package.json.js +0 -11
- package/dist/cjs/parser/base-parser.js +0 -32
- package/dist/cjs/parser/comment/agent-comment-parser.js +0 -121
- package/dist/cjs/parser/comment/agent-parser.js +0 -111
- package/dist/cjs/parser/comment/comment-parser.js +0 -110
- package/dist/cjs/parser/comment/config-comment-parser.js +0 -139
- package/dist/cjs/parser/comment/hint-comment-parser.js +0 -119
- package/dist/cjs/parser/comment/hint-parser.js +0 -131
- package/dist/cjs/parser/comment/metadata-comment-parser.js +0 -131
- package/dist/cjs/parser/comment/preprocessor-parser.js +0 -201
- package/dist/cjs/parser/comment/simple-comment-parser.js +0 -108
- package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +0 -81
- package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +0 -151
- package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +0 -112
- package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +0 -456
- package/dist/cjs/parser/css/adg-css-injection-parser.js +0 -213
- package/dist/cjs/parser/css/balancing.js +0 -97
- package/dist/cjs/parser/css/constants.js +0 -21
- package/dist/cjs/parser/css/css-token-stream.js +0 -345
- package/dist/cjs/parser/css/ubo-selector-parser.js +0 -373
- package/dist/cjs/parser/filterlist-parser.js +0 -104
- package/dist/cjs/parser/index.js +0 -21
- package/dist/cjs/parser/misc/app-list-parser.js +0 -47
- package/dist/cjs/parser/misc/domain-list-parser.js +0 -54
- package/dist/cjs/parser/misc/list-items-parser.js +0 -116
- package/dist/cjs/parser/misc/logical-expression-parser.js +0 -283
- package/dist/cjs/parser/misc/method-list-parser.js +0 -48
- package/dist/cjs/parser/misc/modifier-list.js +0 -72
- package/dist/cjs/parser/misc/modifier-parser.js +0 -91
- package/dist/cjs/parser/misc/parameter-list-parser.js +0 -74
- package/dist/cjs/parser/misc/stealth-option-list-parser.js +0 -48
- package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +0 -148
- package/dist/cjs/parser/misc/value-parser.js +0 -39
- package/dist/cjs/parser/network/host-rule-parser.js +0 -151
- package/dist/cjs/parser/network/network-rule-parser.js +0 -113
- package/dist/cjs/parser/options.js +0 -25
- package/dist/cjs/parser/rule-parser.js +0 -194
- package/dist/cjs/serializer/base-serializer.js +0 -31
- package/dist/cjs/serializer/comment/agent-comment-serializer.js +0 -73
- package/dist/cjs/serializer/comment/agent-serializer.js +0 -70
- package/dist/cjs/serializer/comment/comment-rule-serializer.js +0 -107
- package/dist/cjs/serializer/comment/config-comment-serializer.js +0 -84
- package/dist/cjs/serializer/comment/hint-comment-serializer.js +0 -64
- package/dist/cjs/serializer/comment/hint-serializer.js +0 -56
- package/dist/cjs/serializer/comment/metadata-comment-serializer.js +0 -75
- package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +0 -73
- package/dist/cjs/serializer/comment/simple-comment-serializer.js +0 -54
- package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -38
- package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -38
- package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -49
- package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -38
- package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +0 -131
- package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +0 -50
- package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +0 -39
- package/dist/cjs/serializer/empty-rule-serializer.js +0 -36
- package/dist/cjs/serializer/filterlist-serializer.js +0 -48
- package/dist/cjs/serializer/index.js +0 -13
- package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +0 -40
- package/dist/cjs/serializer/invalid-rule-serializer.js +0 -39
- package/dist/cjs/serializer/misc/domain-list-serializer.js +0 -66
- package/dist/cjs/serializer/misc/list-item-serializer.js +0 -57
- package/dist/cjs/serializer/misc/list-items-serializer.js +0 -28
- package/dist/cjs/serializer/misc/logical-expression-serializer.js +0 -138
- package/dist/cjs/serializer/misc/modifier-list-serializer.js +0 -57
- package/dist/cjs/serializer/misc/modifier-serializer.js +0 -51
- package/dist/cjs/serializer/misc/parameter-list-serializer.js +0 -51
- package/dist/cjs/serializer/misc/value-serializer.js +0 -52
- package/dist/cjs/serializer/network/host-rule-serializer.js +0 -72
- package/dist/cjs/serializer/network/hostname-list-serializer.js +0 -49
- package/dist/cjs/serializer/network/network-rule-serializer.js +0 -56
- package/dist/cjs/serializer/rule-serializer.js +0 -63
- package/dist/cjs/utils/adblockers.js +0 -57
- package/dist/cjs/utils/binary-schema-version.js +0 -19
- package/dist/cjs/utils/byte-buffer.js +0 -93
- package/dist/cjs/utils/categorizer.js +0 -46
- package/dist/cjs/utils/clone.js +0 -30
- package/dist/cjs/utils/constants.js +0 -380
- package/dist/cjs/utils/cosmetic-rule-separator.js +0 -129
- package/dist/cjs/utils/deep-freeze.js +0 -34
- package/dist/cjs/utils/domain.js +0 -60
- package/dist/cjs/utils/error.js +0 -51
- package/dist/cjs/utils/index.js +0 -69
- package/dist/cjs/utils/input-byte-buffer.js +0 -259
- package/dist/cjs/utils/is-chromium.js +0 -22
- package/dist/cjs/utils/logical-expression.js +0 -94
- package/dist/cjs/utils/multi-value-map.js +0 -35
- package/dist/cjs/utils/output-byte-buffer.js +0 -225
- package/dist/cjs/utils/position-provider.js +0 -75
- package/dist/cjs/utils/quotes.js +0 -218
- package/dist/cjs/utils/regexp.js +0 -190
- package/dist/cjs/utils/string.js +0 -560
- package/dist/cjs/utils/text-decoder-polyfill.js +0 -109
- package/dist/cjs/utils/text-encoder-polyfill.js +0 -80
- package/dist/cjs/utils/type-guards.js +0 -52
- package/dist/cjs/validator/constants.js +0 -222
- package/dist/cjs/validator/helpers.js +0 -49
- package/dist/cjs/validator/index.js +0 -176
- package/dist/cjs/validator/value.js +0 -565
- package/dist/cjs/version.js +0 -20
- package/dist/esm/common/ubo-selector-common.mjs +0 -18
- package/dist/esm/compatibility-tables/platforms.mjs +0 -58
- package/dist/esm/compatibility-tables/schemas/resource-type.mjs +0 -37
- package/dist/esm/converter/index.mjs +0 -8
- package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +0 -22
- package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +0 -23
- package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +0 -23
- package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +0 -25
- package/dist/esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs +0 -22
- package/dist/esm/marshalling-utils/filter-list-common.mjs +0 -22
- package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +0 -23
- package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +0 -67
- package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +0 -26
- package/dist/esm/marshalling-utils/misc/hostname-list-common.mjs +0 -22
- package/dist/esm/marshalling-utils/misc/list-item-common.mjs +0 -23
- package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +0 -86
- package/dist/esm/marshalling-utils/misc/modifier-list-common.mjs +0 -22
- package/dist/esm/marshalling-utils/misc/parameter-list-common.mjs +0 -22
- package/dist/esm/marshalling-utils/misc/value-common.mjs +0 -23
- package/dist/esm/marshalling-utils/network/network-rule-common.mjs +0 -26
- package/dist/esm/parser/index.mjs +0 -11
- package/dist/esm/serializer/index.mjs +0 -7
- package/dist/esm/utils/index.mjs +0 -21
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { type AdblockSyntax } from '../utils/adblockers';
|
|
2
2
|
import { type COMMA_DOMAIN_LIST_SEPARATOR, type PIPE_MODIFIER_SEPARATOR } from '../utils/constants';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Or = "||"
|
|
10
|
-
}
|
|
3
|
+
export declare const OperatorValue: {
|
|
4
|
+
readonly Not: "!";
|
|
5
|
+
readonly And: "&&";
|
|
6
|
+
readonly Or: "||";
|
|
7
|
+
};
|
|
8
|
+
export type OperatorValue = typeof OperatorValue[keyof typeof OperatorValue];
|
|
11
9
|
/**
|
|
12
10
|
* Represents possible new line types.
|
|
13
11
|
*/
|
|
@@ -39,147 +37,154 @@ export type AnyNetworkRule = NetworkRule | HostRule;
|
|
|
39
37
|
* - If the rule is `! This is just a comment`, then the marker will be `!`.
|
|
40
38
|
* - If the rule is `# This is just a comment`, then the marker will be `#`.
|
|
41
39
|
*/
|
|
42
|
-
export declare const
|
|
40
|
+
export declare const CommentMarker: {
|
|
43
41
|
/**
|
|
44
42
|
* Regular comment marker. It is supported by all ad blockers.
|
|
45
43
|
*/
|
|
46
|
-
Regular
|
|
44
|
+
readonly Regular: "!";
|
|
47
45
|
/**
|
|
48
46
|
* Hashmark comment marker. It is supported by uBlock Origin and AdGuard,
|
|
49
47
|
* and also used in hosts files.
|
|
50
48
|
*/
|
|
51
|
-
Hashmark
|
|
52
|
-
}
|
|
49
|
+
readonly Hashmark: "#";
|
|
50
|
+
};
|
|
51
|
+
export type CommentMarker = typeof CommentMarker[keyof typeof CommentMarker];
|
|
53
52
|
/**
|
|
54
53
|
* Represents the main categories that an adblock rule can belong to.
|
|
55
54
|
* Of course, these include additional subcategories.
|
|
56
55
|
*/
|
|
57
|
-
export declare
|
|
56
|
+
export declare const RuleCategory: {
|
|
58
57
|
/**
|
|
59
58
|
* Empty "rules" that are only containing whitespaces. These rules are handled just for convenience.
|
|
60
59
|
*/
|
|
61
|
-
Empty
|
|
60
|
+
readonly Empty: "Empty";
|
|
62
61
|
/**
|
|
63
62
|
* Syntactically invalid rules (tolerant mode only).
|
|
64
63
|
*/
|
|
65
|
-
Invalid
|
|
64
|
+
readonly Invalid: "Invalid";
|
|
66
65
|
/**
|
|
67
66
|
* Comment rules, such as comment rules, metadata rules, preprocessor rules, etc.
|
|
68
67
|
*/
|
|
69
|
-
Comment
|
|
68
|
+
readonly Comment: "Comment";
|
|
70
69
|
/**
|
|
71
70
|
* Cosmetic rules, such as element hiding rules, CSS rules, scriptlet rules, HTML rules, and JS rules.
|
|
72
71
|
*/
|
|
73
|
-
Cosmetic
|
|
72
|
+
readonly Cosmetic: "Cosmetic";
|
|
74
73
|
/**
|
|
75
74
|
* Network rules, such as basic network rules, header remover network rules, redirect network rules,
|
|
76
75
|
* response header filtering rules, etc.
|
|
77
76
|
*/
|
|
78
|
-
Network
|
|
79
|
-
}
|
|
77
|
+
readonly Network: "Network";
|
|
78
|
+
};
|
|
79
|
+
export type RuleCategory = typeof RuleCategory[keyof typeof RuleCategory];
|
|
80
80
|
/**
|
|
81
81
|
* Represents similar types of modifiers values
|
|
82
82
|
* which may be separated by a comma `,` (only for DomainList) or a pipe `|`.
|
|
83
83
|
*/
|
|
84
|
-
export declare const
|
|
85
|
-
Unknown
|
|
86
|
-
AppList
|
|
87
|
-
DomainList
|
|
88
|
-
MethodList
|
|
89
|
-
StealthOptionList
|
|
90
|
-
}
|
|
84
|
+
export declare const ListNodeType: {
|
|
85
|
+
readonly Unknown: "Unknown";
|
|
86
|
+
readonly AppList: "AppList";
|
|
87
|
+
readonly DomainList: "DomainList";
|
|
88
|
+
readonly MethodList: "MethodList";
|
|
89
|
+
readonly StealthOptionList: "StealthOptionList";
|
|
90
|
+
};
|
|
91
|
+
export type ListNodeType = typeof ListNodeType[keyof typeof ListNodeType];
|
|
91
92
|
/**
|
|
92
93
|
* Represents child items for {@link ListNodeType}.
|
|
93
94
|
*/
|
|
94
|
-
export declare
|
|
95
|
-
Unknown
|
|
96
|
-
App
|
|
97
|
-
Domain
|
|
98
|
-
Method
|
|
99
|
-
StealthOption
|
|
100
|
-
}
|
|
95
|
+
export declare const ListItemNodeType: {
|
|
96
|
+
readonly Unknown: "Unknown";
|
|
97
|
+
readonly App: "App";
|
|
98
|
+
readonly Domain: "Domain";
|
|
99
|
+
readonly Method: "Method";
|
|
100
|
+
readonly StealthOption: "StealthOption";
|
|
101
|
+
};
|
|
102
|
+
export type ListItemNodeType = typeof ListItemNodeType[keyof typeof ListItemNodeType];
|
|
101
103
|
/**
|
|
102
104
|
* Represents possible comment types.
|
|
103
105
|
*/
|
|
104
|
-
export declare
|
|
105
|
-
AgentCommentRule
|
|
106
|
-
CommentRule
|
|
107
|
-
ConfigCommentRule
|
|
108
|
-
HintCommentRule
|
|
109
|
-
MetadataCommentRule
|
|
110
|
-
PreProcessorCommentRule
|
|
111
|
-
}
|
|
106
|
+
export declare const CommentRuleType: {
|
|
107
|
+
readonly AgentCommentRule: "AgentCommentRule";
|
|
108
|
+
readonly CommentRule: "CommentRule";
|
|
109
|
+
readonly ConfigCommentRule: "ConfigCommentRule";
|
|
110
|
+
readonly HintCommentRule: "HintCommentRule";
|
|
111
|
+
readonly MetadataCommentRule: "MetadataCommentRule";
|
|
112
|
+
readonly PreProcessorCommentRule: "PreProcessorCommentRule";
|
|
113
|
+
};
|
|
114
|
+
export type CommentRuleType = typeof CommentRuleType[keyof typeof CommentRuleType];
|
|
112
115
|
/**
|
|
113
116
|
* Represents possible cosmetic rule types.
|
|
114
117
|
*/
|
|
115
|
-
export declare
|
|
116
|
-
ElementHidingRule
|
|
117
|
-
CssInjectionRule
|
|
118
|
-
ScriptletInjectionRule
|
|
119
|
-
HtmlFilteringRule
|
|
120
|
-
JsInjectionRule
|
|
121
|
-
}
|
|
118
|
+
export declare const CosmeticRuleType: {
|
|
119
|
+
readonly ElementHidingRule: "ElementHidingRule";
|
|
120
|
+
readonly CssInjectionRule: "CssInjectionRule";
|
|
121
|
+
readonly ScriptletInjectionRule: "ScriptletInjectionRule";
|
|
122
|
+
readonly HtmlFilteringRule: "HtmlFilteringRule";
|
|
123
|
+
readonly JsInjectionRule: "JsInjectionRule";
|
|
124
|
+
};
|
|
125
|
+
export type CosmeticRuleType = typeof CosmeticRuleType[keyof typeof CosmeticRuleType];
|
|
122
126
|
/**
|
|
123
127
|
* Represents possible cosmetic rule separators.
|
|
124
128
|
*/
|
|
125
|
-
export declare const
|
|
129
|
+
export declare const CosmeticRuleSeparator: {
|
|
126
130
|
/**
|
|
127
131
|
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
|
|
128
132
|
*/
|
|
129
|
-
ElementHiding
|
|
133
|
+
readonly ElementHiding: "##";
|
|
130
134
|
/**
|
|
131
135
|
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
|
|
132
136
|
*/
|
|
133
|
-
ElementHidingException
|
|
137
|
+
readonly ElementHidingException: "#@#";
|
|
134
138
|
/**
|
|
135
139
|
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
|
|
136
140
|
*/
|
|
137
|
-
ExtendedElementHiding
|
|
141
|
+
readonly ExtendedElementHiding: "#?#";
|
|
138
142
|
/**
|
|
139
143
|
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
|
|
140
144
|
*/
|
|
141
|
-
ExtendedElementHidingException
|
|
145
|
+
readonly ExtendedElementHidingException: "#@?#";
|
|
142
146
|
/**
|
|
143
147
|
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
|
|
144
148
|
*/
|
|
145
|
-
AbpSnippet
|
|
149
|
+
readonly AbpSnippet: "#$#";
|
|
146
150
|
/**
|
|
147
151
|
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
|
|
148
152
|
*/
|
|
149
|
-
AbpSnippetException
|
|
153
|
+
readonly AbpSnippetException: "#@$#";
|
|
150
154
|
/**
|
|
151
155
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
|
|
152
156
|
*/
|
|
153
|
-
AdgCssInjection
|
|
157
|
+
readonly AdgCssInjection: "#$#";
|
|
154
158
|
/**
|
|
155
159
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
|
|
156
160
|
*/
|
|
157
|
-
AdgCssInjectionException
|
|
161
|
+
readonly AdgCssInjectionException: "#@$#";
|
|
158
162
|
/**
|
|
159
163
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
|
|
160
164
|
*/
|
|
161
|
-
AdgExtendedCssInjection
|
|
165
|
+
readonly AdgExtendedCssInjection: "#$?#";
|
|
162
166
|
/**
|
|
163
167
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
|
|
164
168
|
*/
|
|
165
|
-
AdgExtendedCssInjectionException
|
|
169
|
+
readonly AdgExtendedCssInjectionException: "#@$?#";
|
|
166
170
|
/**
|
|
167
171
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
|
|
168
172
|
*/
|
|
169
|
-
AdgJsInjection
|
|
173
|
+
readonly AdgJsInjection: "#%#";
|
|
170
174
|
/**
|
|
171
175
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
|
|
172
176
|
*/
|
|
173
|
-
AdgJsInjectionException
|
|
177
|
+
readonly AdgJsInjectionException: "#@%#";
|
|
174
178
|
/**
|
|
175
179
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules}
|
|
176
180
|
*/
|
|
177
|
-
AdgHtmlFiltering
|
|
181
|
+
readonly AdgHtmlFiltering: "$$";
|
|
178
182
|
/**
|
|
179
183
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules}
|
|
180
184
|
*/
|
|
181
|
-
AdgHtmlFilteringException
|
|
182
|
-
}
|
|
185
|
+
readonly AdgHtmlFilteringException: "$@$";
|
|
186
|
+
};
|
|
187
|
+
export type CosmeticRuleSeparator = typeof CosmeticRuleSeparator[keyof typeof CosmeticRuleSeparator];
|
|
183
188
|
/**
|
|
184
189
|
* Represents a basic node in the AST.
|
|
185
190
|
*/
|
|
@@ -347,7 +352,7 @@ export interface InvalidRule extends RuleBase {
|
|
|
347
352
|
/**
|
|
348
353
|
* Category of the adblock rule
|
|
349
354
|
*/
|
|
350
|
-
category: RuleCategory.Invalid;
|
|
355
|
+
category: typeof RuleCategory.Invalid;
|
|
351
356
|
/**
|
|
352
357
|
* Raw rule text
|
|
353
358
|
*/
|
|
@@ -368,13 +373,13 @@ export interface EmptyRule extends RuleBase {
|
|
|
368
373
|
/**
|
|
369
374
|
* Category of the adblock rule
|
|
370
375
|
*/
|
|
371
|
-
category: RuleCategory.Empty;
|
|
376
|
+
category: typeof RuleCategory.Empty;
|
|
372
377
|
}
|
|
373
378
|
/**
|
|
374
379
|
* Represents the basic comment rule interface.
|
|
375
380
|
*/
|
|
376
381
|
export interface CommentBase extends RuleBase {
|
|
377
|
-
category: RuleCategory.Comment;
|
|
382
|
+
category: typeof RuleCategory.Comment;
|
|
378
383
|
type: CommentRuleType;
|
|
379
384
|
}
|
|
380
385
|
/**
|
|
@@ -390,7 +395,7 @@ export interface CommentBase extends RuleBase {
|
|
|
390
395
|
* ```
|
|
391
396
|
*/
|
|
392
397
|
export interface CommentRule extends CommentBase {
|
|
393
|
-
type: CommentRuleType.CommentRule;
|
|
398
|
+
type: typeof CommentRuleType.CommentRule;
|
|
394
399
|
/**
|
|
395
400
|
* Comment marker.
|
|
396
401
|
*
|
|
@@ -419,7 +424,7 @@ export interface CommentRule extends CommentBase {
|
|
|
419
424
|
* the name of the header is `Title`, and the value is `My List`.
|
|
420
425
|
*/
|
|
421
426
|
export interface MetadataCommentRule extends CommentBase {
|
|
422
|
-
type: CommentRuleType.MetadataCommentRule;
|
|
427
|
+
type: typeof CommentRuleType.MetadataCommentRule;
|
|
423
428
|
/**
|
|
424
429
|
* Comment marker.
|
|
425
430
|
*/
|
|
@@ -459,8 +464,8 @@ export interface ConfigNode extends Node {
|
|
|
459
464
|
* then the command is `aglint-disable` and its params is `["some-rule", "another-rule"]`.
|
|
460
465
|
*/
|
|
461
466
|
export interface ConfigCommentRule extends CommentBase {
|
|
462
|
-
category: RuleCategory.Comment;
|
|
463
|
-
type: CommentRuleType.ConfigCommentRule;
|
|
467
|
+
category: typeof RuleCategory.Comment;
|
|
468
|
+
type: typeof CommentRuleType.ConfigCommentRule;
|
|
464
469
|
/**
|
|
465
470
|
* The marker for the comment. It can be `!` or `#`. It is always the first non-whitespace character in the comment.
|
|
466
471
|
*/
|
|
@@ -508,8 +513,8 @@ export interface ConfigCommentRule extends CommentBase {
|
|
|
508
513
|
* the general syntax.
|
|
509
514
|
*/
|
|
510
515
|
export interface PreProcessorCommentRule extends CommentBase {
|
|
511
|
-
category: RuleCategory.Comment;
|
|
512
|
-
type: CommentRuleType.PreProcessorCommentRule;
|
|
516
|
+
category: typeof RuleCategory.Comment;
|
|
517
|
+
type: typeof CommentRuleType.PreProcessorCommentRule;
|
|
513
518
|
/**
|
|
514
519
|
* Name of the directive
|
|
515
520
|
*/
|
|
@@ -549,8 +554,8 @@ export interface Agent extends Node {
|
|
|
549
554
|
* ```
|
|
550
555
|
*/
|
|
551
556
|
export interface AgentCommentRule extends RuleBase {
|
|
552
|
-
category: RuleCategory.Comment;
|
|
553
|
-
type: CommentRuleType.AgentCommentRule;
|
|
557
|
+
category: typeof RuleCategory.Comment;
|
|
558
|
+
type: typeof CommentRuleType.AgentCommentRule;
|
|
554
559
|
/**
|
|
555
560
|
* Agent list.
|
|
556
561
|
*/
|
|
@@ -595,8 +600,8 @@ export interface Hint extends Node {
|
|
|
595
600
|
* then there are two hint members: `NOT_OPTIMIZED` and `PLATFORM`.
|
|
596
601
|
*/
|
|
597
602
|
export interface HintCommentRule extends RuleBase {
|
|
598
|
-
category: RuleCategory.Comment;
|
|
599
|
-
type: CommentRuleType.HintCommentRule;
|
|
603
|
+
category: typeof RuleCategory.Comment;
|
|
604
|
+
type: typeof CommentRuleType.HintCommentRule;
|
|
600
605
|
/**
|
|
601
606
|
* Currently only AdGuard supports hints.
|
|
602
607
|
*/
|
|
@@ -690,19 +695,19 @@ export interface ListItem<T extends ListItemNodeType> extends Node {
|
|
|
690
695
|
/**
|
|
691
696
|
* Represents an element of the app list — $app.
|
|
692
697
|
*/
|
|
693
|
-
export type App = ListItem<ListItemNodeType.App>;
|
|
698
|
+
export type App = ListItem<typeof ListItemNodeType.App>;
|
|
694
699
|
/**
|
|
695
700
|
* Represents an element of the domain list — $domain, $denyallow.
|
|
696
701
|
*/
|
|
697
|
-
export type Domain = ListItem<ListItemNodeType.Domain>;
|
|
702
|
+
export type Domain = ListItem<typeof ListItemNodeType.Domain>;
|
|
698
703
|
/**
|
|
699
704
|
* Represents an element of the method list — $method.
|
|
700
705
|
*/
|
|
701
|
-
export type Method = ListItem<ListItemNodeType.Method>;
|
|
706
|
+
export type Method = ListItem<typeof ListItemNodeType.Method>;
|
|
702
707
|
/**
|
|
703
708
|
* Represents an element of the stealth option list — $stealth.
|
|
704
709
|
*/
|
|
705
|
-
export type StealthOption = ListItem<ListItemNodeType.StealthOption>;
|
|
710
|
+
export type StealthOption = ListItem<typeof ListItemNodeType.StealthOption>;
|
|
706
711
|
/**
|
|
707
712
|
* Represents any list item.
|
|
708
713
|
*/
|
|
@@ -718,7 +723,7 @@ export interface DomainList extends Node {
|
|
|
718
723
|
/**
|
|
719
724
|
* Type of the node. Basically, the idea is that each main AST part should have a type
|
|
720
725
|
*/
|
|
721
|
-
type: ListNodeType.DomainList;
|
|
726
|
+
type: typeof ListNodeType.DomainList;
|
|
722
727
|
/**
|
|
723
728
|
* Separator used in the domain list.
|
|
724
729
|
*/
|
|
@@ -739,7 +744,7 @@ export interface AppList extends Node {
|
|
|
739
744
|
/**
|
|
740
745
|
* Type of the node. Basically, the idea is that each main AST part should have a type
|
|
741
746
|
*/
|
|
742
|
-
type: ListNodeType.AppList;
|
|
747
|
+
type: typeof ListNodeType.AppList;
|
|
743
748
|
/**
|
|
744
749
|
* Separator used in the app list.
|
|
745
750
|
*/
|
|
@@ -760,7 +765,7 @@ export interface MethodList extends Node {
|
|
|
760
765
|
/**
|
|
761
766
|
* Type of the node. Basically, the idea is that each main AST part should have a type
|
|
762
767
|
*/
|
|
763
|
-
type: ListNodeType.MethodList;
|
|
768
|
+
type: typeof ListNodeType.MethodList;
|
|
764
769
|
/**
|
|
765
770
|
* Separator used in the method list.
|
|
766
771
|
*/
|
|
@@ -781,7 +786,7 @@ export interface StealthOptionList extends Node {
|
|
|
781
786
|
/**
|
|
782
787
|
* Type of the node. Basically, the idea is that each main AST part should have a type
|
|
783
788
|
*/
|
|
784
|
-
type: ListNodeType.StealthOptionList;
|
|
789
|
+
type: typeof ListNodeType.StealthOptionList;
|
|
785
790
|
/**
|
|
786
791
|
* Separator used in the stealth option list.
|
|
787
792
|
*/
|
|
@@ -872,7 +877,7 @@ export interface HtmlFilteringRuleBody extends Node {
|
|
|
872
877
|
* all other properties can be defined at this level.
|
|
873
878
|
*/
|
|
874
879
|
export interface CosmeticRule extends RuleBase {
|
|
875
|
-
category: RuleCategory.Cosmetic;
|
|
880
|
+
category: typeof RuleCategory.Cosmetic;
|
|
876
881
|
type: CosmeticRuleType;
|
|
877
882
|
/**
|
|
878
883
|
* List of modifiers (optional)
|
|
@@ -921,7 +926,7 @@ export interface CosmeticRule extends RuleBase {
|
|
|
921
926
|
* ```
|
|
922
927
|
*/
|
|
923
928
|
export interface ElementHidingRule extends CosmeticRule {
|
|
924
|
-
type: CosmeticRuleType.ElementHidingRule;
|
|
929
|
+
type: typeof CosmeticRuleType.ElementHidingRule;
|
|
925
930
|
body: ElementHidingRuleBody;
|
|
926
931
|
}
|
|
927
932
|
/**
|
|
@@ -950,7 +955,7 @@ export interface ElementHidingRule extends CosmeticRule {
|
|
|
950
955
|
* ```
|
|
951
956
|
*/
|
|
952
957
|
export interface CssInjectionRule extends CosmeticRule {
|
|
953
|
-
type: CosmeticRuleType.CssInjectionRule;
|
|
958
|
+
type: typeof CosmeticRuleType.CssInjectionRule;
|
|
954
959
|
body: CssInjectionRuleBody;
|
|
955
960
|
}
|
|
956
961
|
/**
|
|
@@ -984,7 +989,7 @@ export interface CssInjectionRule extends CosmeticRule {
|
|
|
984
989
|
* ```
|
|
985
990
|
*/
|
|
986
991
|
export interface ScriptletInjectionRule extends CosmeticRule {
|
|
987
|
-
type: CosmeticRuleType.ScriptletInjectionRule;
|
|
992
|
+
type: typeof CosmeticRuleType.ScriptletInjectionRule;
|
|
988
993
|
body: ScriptletInjectionRuleBody;
|
|
989
994
|
}
|
|
990
995
|
/**
|
|
@@ -1007,7 +1012,7 @@ export interface ScriptletInjectionRule extends CosmeticRule {
|
|
|
1007
1012
|
* ```
|
|
1008
1013
|
*/
|
|
1009
1014
|
export interface HtmlFilteringRule extends CosmeticRule {
|
|
1010
|
-
type: CosmeticRuleType.HtmlFilteringRule;
|
|
1015
|
+
type: typeof CosmeticRuleType.HtmlFilteringRule;
|
|
1011
1016
|
body: Value;
|
|
1012
1017
|
}
|
|
1013
1018
|
/**
|
|
@@ -1022,16 +1027,17 @@ export interface HtmlFilteringRule extends CosmeticRule {
|
|
|
1022
1027
|
* ```
|
|
1023
1028
|
*/
|
|
1024
1029
|
export interface JsInjectionRule extends CosmeticRule {
|
|
1025
|
-
type: CosmeticRuleType.JsInjectionRule;
|
|
1030
|
+
type: typeof CosmeticRuleType.JsInjectionRule;
|
|
1026
1031
|
body: Value;
|
|
1027
1032
|
}
|
|
1028
1033
|
/**
|
|
1029
1034
|
* Represents the different types of network rules.
|
|
1030
1035
|
*/
|
|
1031
|
-
export declare
|
|
1032
|
-
NetworkRule
|
|
1033
|
-
HostRule
|
|
1034
|
-
}
|
|
1036
|
+
export declare const NetworkRuleType: {
|
|
1037
|
+
readonly NetworkRule: "NetworkRule";
|
|
1038
|
+
readonly HostRule: "HostRule";
|
|
1039
|
+
};
|
|
1040
|
+
export type NetworkRuleType = typeof NetworkRuleType[keyof typeof NetworkRuleType];
|
|
1035
1041
|
/**
|
|
1036
1042
|
* Represents the common properties of network rules
|
|
1037
1043
|
*/
|
|
@@ -1039,7 +1045,7 @@ export interface NetworkRuleBase extends RuleBase {
|
|
|
1039
1045
|
/**
|
|
1040
1046
|
* Category of the adblock rule.
|
|
1041
1047
|
*/
|
|
1042
|
-
category: RuleCategory.Network;
|
|
1048
|
+
category: typeof RuleCategory.Network;
|
|
1043
1049
|
/**
|
|
1044
1050
|
* Type of the network rule.
|
|
1045
1051
|
*/
|
|
@@ -1057,7 +1063,7 @@ export interface NetworkRule extends NetworkRuleBase {
|
|
|
1057
1063
|
/**
|
|
1058
1064
|
* Type of the node.
|
|
1059
1065
|
*/
|
|
1060
|
-
type: NetworkRuleType.NetworkRule;
|
|
1066
|
+
type: typeof NetworkRuleType.NetworkRule;
|
|
1061
1067
|
/**
|
|
1062
1068
|
* If the rule is an exception rule. If the rule begins with `@@`, it means that it is an exception rule.
|
|
1063
1069
|
*
|
|
@@ -1125,7 +1131,7 @@ export interface HostRule extends NetworkRuleBase {
|
|
|
1125
1131
|
/**
|
|
1126
1132
|
* Type of the node.
|
|
1127
1133
|
*/
|
|
1128
|
-
type: NetworkRuleType.HostRule;
|
|
1134
|
+
type: typeof NetworkRuleType.HostRule;
|
|
1129
1135
|
/**
|
|
1130
1136
|
* IP address. It can be an IPv4 or IPv6 address.
|
|
1131
1137
|
*
|
|
@@ -13,9 +13,16 @@ import { BaseParser } from '../base-parser';
|
|
|
13
13
|
* `AgentCommentParser`, which uses this class to parse single agents.
|
|
14
14
|
*/
|
|
15
15
|
export declare class AgentParser extends BaseParser {
|
|
16
|
+
/**
|
|
17
|
+
* Regex to match a version inside a string.
|
|
18
|
+
*/
|
|
19
|
+
private static readonly VERSION_REGEX;
|
|
16
20
|
/**
|
|
17
21
|
* Checks if the string is a valid version.
|
|
18
22
|
*
|
|
23
|
+
* The string can have a version in formats like
|
|
24
|
+
* [Adblock Plus 2.0], or [Adblock Plus 3.1; AdGuard].
|
|
25
|
+
*
|
|
19
26
|
* @param str String to check
|
|
20
27
|
* @returns `true` if the string is a valid version, `false` otherwise
|
|
21
28
|
*/
|
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
* @file Tokenizer helpers for balanced pairs.
|
|
3
3
|
*/
|
|
4
4
|
import { type OnErrorCallback, type OnTokenCallback, type TokenizerContextFunction } from '@adguard/css-tokenizer';
|
|
5
|
+
/**
|
|
6
|
+
* Utility type to get the last element from a tuple, handling optional last elements correctly.
|
|
7
|
+
*
|
|
8
|
+
* @param T - The tuple to extract the last element from.
|
|
9
|
+
* @returns The last element of the tuple if present; `L | undefined` if the last element is optional.
|
|
10
|
+
*/
|
|
11
|
+
type Last<T extends unknown[]> = T extends [...infer _I, infer L] ? L : T extends [...infer _I, (infer L)?] ? L | undefined : never;
|
|
12
|
+
/**
|
|
13
|
+
* Utility type to remove the last element from a tuple, handling optional last elements correctly.
|
|
14
|
+
*
|
|
15
|
+
* @param T - The tuple to remove the last element from.
|
|
16
|
+
* @returns A tuple without the last element. If the last element is optional, it is also removed.
|
|
17
|
+
*/
|
|
18
|
+
type OmitLast<T extends unknown[]> = T extends [...infer Rest, infer _Last] ? Rest : T extends [...infer Rest, (infer _Last)?] ? Rest : never;
|
|
19
|
+
/**
|
|
20
|
+
* Extracts the parameters of `OnTokenCallback` as a tuple.
|
|
21
|
+
*/
|
|
22
|
+
type OnTokenCallbackParameters = Parameters<OnTokenCallback>;
|
|
5
23
|
/**
|
|
6
24
|
* Extended version of `OnTokenCallback` which also receives a `balance` parameter.
|
|
7
25
|
*
|
|
@@ -10,10 +28,11 @@ import { type OnErrorCallback, type OnTokenCallback, type TokenizerContextFuncti
|
|
|
10
28
|
* @param end End index in the source string.
|
|
11
29
|
* @param props Additional properties of the token (if any - can be `undefined`, depending on the token type).
|
|
12
30
|
* @param balance Calculated balance level of the token.
|
|
31
|
+
* @param stop Function to halt tokenization.
|
|
13
32
|
* @note This function is keeping the same signature as the original `OnTokenCallback` to avoid breaking changes,
|
|
14
33
|
* just adding the `balance` parameter at the end.
|
|
15
34
|
*/
|
|
16
|
-
export type OnBalancedTokenCallback = (...args: [...
|
|
35
|
+
export type OnBalancedTokenCallback = (...args: [...OmitLast<OnTokenCallbackParameters>, balance: number, Last<OnTokenCallbackParameters>]) => ReturnType<OnTokenCallback>;
|
|
17
36
|
/**
|
|
18
37
|
* Tokenize and ensure balanced pairs for standard CSS.
|
|
19
38
|
*
|
|
@@ -34,3 +53,4 @@ export declare const tokenizeBalanced: (raw: string, onToken: OnBalancedTokenCal
|
|
|
34
53
|
* @throws If the input is not balanced
|
|
35
54
|
*/
|
|
36
55
|
export declare const tokenizeFnBalanced: (raw: string, onToken: OnBalancedTokenCallback, onError?: OnErrorCallback, functionHandlers?: Map<number, TokenizerContextFunction>) => void;
|
|
56
|
+
export {};
|
|
@@ -3,3 +3,4 @@ export { defaultParserOptions, type ParserOptions } from './options';
|
|
|
3
3
|
export { CosmeticRuleParser } from './cosmetic/cosmetic-rule-parser';
|
|
4
4
|
export { DomainListParser } from './misc/domain-list-parser';
|
|
5
5
|
export { NetworkRuleParser } from './network/network-rule-parser';
|
|
6
|
+
export { FilterListParser } from './filterlist-parser';
|
|
@@ -10,6 +10,9 @@ export declare const LIST_PARSE_ERROR_PREFIX: {
|
|
|
10
10
|
NO_SEPARATOR_AT_THE_END: string;
|
|
11
11
|
NO_WHITESPACE_AFTER_NEGATION: string;
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Parser for list items in modifiers.
|
|
15
|
+
*/
|
|
13
16
|
export declare class ListItemsParser {
|
|
14
17
|
/**
|
|
15
18
|
* Parses a `raw` modifier value which may be represented as a list of items separated by `separator`.
|
|
@@ -3,11 +3,12 @@ import { BaseParser } from '../base-parser';
|
|
|
3
3
|
/**
|
|
4
4
|
* Possible node types in the logical expression.
|
|
5
5
|
*/
|
|
6
|
-
export declare const
|
|
7
|
-
Variable
|
|
8
|
-
Operator
|
|
9
|
-
Parenthesis
|
|
10
|
-
}
|
|
6
|
+
export declare const NodeType: {
|
|
7
|
+
readonly Variable: "Variable";
|
|
8
|
+
readonly Operator: "Operator";
|
|
9
|
+
readonly Parenthesis: "Parenthesis";
|
|
10
|
+
};
|
|
11
|
+
export type NodeType = typeof NodeType[keyof typeof NodeType];
|
|
11
12
|
/**
|
|
12
13
|
* `LogicalExpressionParser` is responsible for parsing logical expressions.
|
|
13
14
|
*
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { ParameterListParser } from './parameter-list-parser';
|
|
2
2
|
import { type ParameterList } from '../../nodes';
|
|
3
|
+
/**
|
|
4
|
+
* Parser for uBO-specific parameter lists.
|
|
5
|
+
*/
|
|
3
6
|
export declare class UboParameterListParser extends ParameterListParser {
|
|
4
7
|
/**
|
|
5
8
|
* Parses an "uBO-specific parameter list".
|
|
@@ -2,7 +2,7 @@ import { BaseParser } from '../base-parser';
|
|
|
2
2
|
import { type Value } from '../../nodes';
|
|
3
3
|
/**
|
|
4
4
|
* Value parser.
|
|
5
|
-
* This parser is very simple, it just exists to provide a consistent interface for parsing
|
|
5
|
+
* This parser is very simple, it just exists to provide a consistent interface for parsing.
|
|
6
6
|
*/
|
|
7
7
|
export declare class ValueParser extends BaseParser {
|
|
8
8
|
/**
|
|
@@ -2,16 +2,7 @@ import { type Agent } from '../../nodes';
|
|
|
2
2
|
import { type OutputByteBuffer } from '../../utils/output-byte-buffer';
|
|
3
3
|
import { BaseSerializer } from '../base-serializer';
|
|
4
4
|
/**
|
|
5
|
-
* `
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* If the adblock agent rule is
|
|
9
|
-
* ```adblock
|
|
10
|
-
* [Adblock Plus 2.0; AdGuard]
|
|
11
|
-
* ```
|
|
12
|
-
* then the adblock agents are `Adblock Plus 2.0` and `AdGuard`, and this
|
|
13
|
-
* class is responsible for parsing them. The rule itself is parsed by
|
|
14
|
-
* `AgentCommentSerializer`, which uses this class to parse single agents.
|
|
5
|
+
* `AgentSerializer` is responsible for serializing single adblock agent elements into a binary format.
|
|
15
6
|
*/
|
|
16
7
|
export declare class AgentSerializer extends BaseSerializer {
|
|
17
8
|
/**
|
|
@@ -2,7 +2,7 @@ import { type ConfigCommentRule } from '../../nodes';
|
|
|
2
2
|
import { type OutputByteBuffer } from '../../utils/output-byte-buffer';
|
|
3
3
|
import { BaseSerializer } from '../base-serializer';
|
|
4
4
|
/**
|
|
5
|
-
* `
|
|
5
|
+
* `ConfigCommentSerializer` is responsible for serializing inline AGLint configuration rules into a binary format.
|
|
6
6
|
* Generally, the idea is inspired by ESLint inline configuration comments.
|
|
7
7
|
*
|
|
8
8
|
* @see {@link https://eslint.org/docs/latest/user-guide/configuring/rules#using-configuration-comments}
|
|
@@ -2,9 +2,9 @@ import { type OutputByteBuffer } from '../../utils/output-byte-buffer';
|
|
|
2
2
|
import { type CommentRule } from '../../nodes';
|
|
3
3
|
import { BaseSerializer } from '../base-serializer';
|
|
4
4
|
/**
|
|
5
|
-
* `SimpleCommentSerializer` is responsible for
|
|
5
|
+
* `SimpleCommentSerializer` is responsible for serializing simple comments.
|
|
6
6
|
* Some comments have a special meaning in adblock syntax, like agent comments or hints,
|
|
7
|
-
* but this
|
|
7
|
+
* but this serializer is only responsible for serializing regular comments,
|
|
8
8
|
* whose only purpose is to provide some human-readable information.
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
@@ -2,15 +2,15 @@ import { type ScriptletInjectionRuleBody } from '../../../nodes';
|
|
|
2
2
|
import { type OutputByteBuffer } from '../../../utils/output-byte-buffer';
|
|
3
3
|
import { BaseSerializer } from '../../base-serializer';
|
|
4
4
|
/**
|
|
5
|
-
* `
|
|
5
|
+
* `AbpSnippetInjectionBodySerializer` is responsible for serializing the body of an Adblock Plus-style snippet rule.
|
|
6
6
|
*
|
|
7
|
-
* Please note that the
|
|
8
|
-
* For example, it will
|
|
7
|
+
* Please note that the serializer will serialize any scriptlet rule if it is syntactically correct.
|
|
8
|
+
* For example, it will serialize this:
|
|
9
9
|
* ```adblock
|
|
10
10
|
* example.com#$#snippet0 arg0
|
|
11
11
|
* ```
|
|
12
12
|
*
|
|
13
|
-
* but it
|
|
13
|
+
* but it doesn't check if the scriptlet `snippet0` is actually supported by any adblocker.
|
|
14
14
|
*
|
|
15
15
|
* @see {@link https://help.eyeo.com/adblockplus/snippet-filters-tutorial}
|
|
16
16
|
*/
|