@adguard/agtree 3.4.3 → 4.0.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/ast-utils/clone.js +2 -2
- package/dist/ast-utils/modifiers.js +2 -2
- package/dist/ast-utils/network-rules.js +2 -2
- package/dist/ast-utils/scriptlets.js +2 -2
- package/dist/common/abp-snippet-injection-body-common.js +2 -2
- package/dist/common/agent-common.js +2 -2
- package/dist/common/ubo-html-filtering-body-common.js +40 -0
- package/dist/common/ubo-selector-common.js +2 -2
- package/dist/compatibility-tables/base.js +2 -2
- package/dist/compatibility-tables/compatibility-table-data.js +2 -2
- package/dist/compatibility-tables/modifiers.js +2 -2
- package/dist/compatibility-tables/platforms.js +2 -2
- package/dist/compatibility-tables/redirects.js +2 -2
- package/dist/compatibility-tables/schemas/base.js +2 -2
- package/dist/compatibility-tables/schemas/modifier.js +2 -2
- package/dist/compatibility-tables/schemas/platform.js +2 -2
- package/dist/compatibility-tables/schemas/redirect.js +2 -2
- package/dist/compatibility-tables/schemas/resource-type.js +2 -2
- package/dist/compatibility-tables/schemas/scriptlet.js +2 -2
- package/dist/compatibility-tables/scriptlets.js +2 -2
- package/dist/compatibility-tables/utils/platform-helpers.js +2 -2
- package/dist/compatibility-tables/utils/resource-type-helpers.js +2 -2
- package/dist/compatibility-tables/utils/zod-camelcase.js +2 -2
- package/dist/converter/base-interfaces/base-converter.js +2 -2
- package/dist/converter/base-interfaces/conversion-result.js +2 -2
- package/dist/converter/base-interfaces/rule-converter-base.js +2 -2
- package/dist/converter/comment/index.js +2 -2
- package/dist/converter/cosmetic/css.js +2 -2
- package/dist/converter/cosmetic/element-hiding.js +2 -2
- package/dist/converter/cosmetic/header-removal.js +24 -42
- package/dist/converter/cosmetic/html.js +580 -438
- package/dist/converter/cosmetic/index.js +3 -2
- package/dist/converter/cosmetic/rule-modifiers/adg.js +2 -2
- package/dist/converter/cosmetic/rule-modifiers/ubo.js +2 -2
- package/dist/converter/cosmetic/scriptlet.js +2 -2
- package/dist/converter/css/index.js +3 -2
- package/dist/converter/data/css.js +32 -54
- package/dist/converter/filter-list.js +2 -2
- package/dist/converter/index.js +2 -2
- package/dist/converter/misc/network-rule-modifier.js +2 -2
- package/dist/converter/network/index.js +2 -2
- package/dist/converter/raw-filter-list.js +2 -2
- package/dist/converter/raw-rule.js +6 -3
- package/dist/converter/rule.js +2 -2
- package/dist/errors/adblock-syntax-error.js +2 -2
- package/dist/errors/binary-schema-mismatch-error.js +2 -2
- package/dist/errors/not-implemented-error.js +2 -2
- package/dist/errors/rule-conversion-error.js +2 -2
- package/dist/generator/base-generator.js +2 -2
- package/dist/generator/comment/agent-comment-generator.js +2 -2
- package/dist/generator/comment/agent-generator.js +2 -2
- package/dist/generator/comment/comment-rule-generator.js +2 -2
- package/dist/generator/comment/config-comment-generator.js +2 -2
- package/dist/generator/comment/hint-comment-generator.js +2 -2
- package/dist/generator/comment/hint-generator.js +2 -2
- package/dist/generator/comment/metadata-comment-generator.js +2 -2
- package/dist/generator/comment/pre-processor-comment-generator.js +2 -2
- package/dist/generator/comment/simple-comment-generator.js +2 -2
- package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +21 -6
- package/dist/generator/cosmetic/cosmetic-rule-generator.js +2 -2
- package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +2 -2
- package/dist/generator/cosmetic/html-filtering-body/adg-html-filtering-body-generator.js +38 -0
- package/dist/generator/cosmetic/html-filtering-body/html-filtering-body-generator.js +32 -0
- package/dist/generator/cosmetic/html-filtering-body/ubo-html-filtering-body-generator.js +65 -0
- package/dist/generator/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-generator.js +2 -2
- package/dist/generator/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-generator.js +2 -2
- package/dist/generator/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-generator.js +2 -2
- package/dist/generator/cosmetic/selector/attribute-selector-generator.js +42 -0
- package/dist/generator/cosmetic/selector/class-selector-generator.js +26 -0
- package/dist/generator/cosmetic/selector/complex-selector-generator.js +71 -0
- package/dist/generator/cosmetic/selector/id-selector-generator.js +26 -0
- package/dist/generator/cosmetic/selector/pseudo-class-selector-generator.js +35 -0
- package/dist/generator/cosmetic/selector/selector-combinator-generator.js +30 -0
- package/dist/generator/cosmetic/selector/selector-list-generator.js +41 -0
- package/dist/generator/cosmetic/selector/type-selector-generator.js +25 -0
- package/dist/generator/css/adg-css-injection-generator.js +5 -6
- package/dist/generator/filterlist-generator.js +2 -2
- package/dist/generator/index.js +2 -2
- package/dist/generator/misc/domain-list-generator.js +2 -2
- package/dist/generator/misc/list-items-generator.js +2 -2
- package/dist/generator/misc/logical-expression-generator.js +2 -2
- package/dist/generator/misc/modifier-generator.js +2 -2
- package/dist/generator/misc/modifier-list-generator.js +2 -2
- package/dist/generator/misc/parameter-list-generator.js +2 -2
- package/dist/generator/misc/value-generator.js +2 -2
- package/dist/generator/network/host-rule-generator.js +2 -2
- package/dist/generator/network/network-rule-generator.js +2 -2
- package/dist/generator/rule-generator.js +2 -2
- package/dist/index.js +4 -14
- package/dist/nodes/index.js +2 -2
- package/dist/package.json.js +3 -3
- package/dist/parser/base-parser.js +2 -2
- package/dist/parser/comment/agent-comment-parser.js +2 -2
- package/dist/parser/comment/agent-parser.js +2 -2
- package/dist/parser/comment/comment-parser.js +2 -2
- package/dist/parser/comment/config-comment-parser.js +2 -2
- package/dist/parser/comment/hint-comment-parser.js +2 -2
- package/dist/parser/comment/hint-parser.js +2 -2
- package/dist/parser/comment/metadata-comment-parser.js +2 -2
- package/dist/parser/comment/preprocessor-parser.js +2 -2
- package/dist/parser/comment/simple-comment-parser.js +2 -2
- package/dist/parser/cosmetic/cosmetic-rule-parser.js +10 -21
- package/dist/parser/cosmetic/html-filtering-body/adg-html-filtering-body-parser.js +49 -0
- package/dist/parser/cosmetic/html-filtering-body/html-filtering-body-parser.js +70 -0
- package/dist/parser/cosmetic/html-filtering-body/ubo-html-filtering-body-parser.js +180 -0
- package/dist/parser/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-parser.js +2 -2
- package/dist/parser/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-parser.js +2 -2
- package/dist/parser/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-parser.js +2 -2
- package/dist/parser/cosmetic/selector/handlers/attribute-selector-handler.js +206 -0
- package/dist/parser/cosmetic/selector/handlers/class-selector-handler.js +48 -0
- package/dist/parser/cosmetic/selector/handlers/complex-selector-handler.js +67 -0
- package/dist/parser/cosmetic/selector/handlers/compound-selector-handler.js +97 -0
- package/dist/parser/cosmetic/selector/handlers/id-selector-handler.js +42 -0
- package/dist/parser/cosmetic/selector/handlers/pseudo-class-selector-handler.js +128 -0
- package/dist/parser/cosmetic/selector/handlers/type-selector-handler.js +58 -0
- package/dist/parser/cosmetic/selector/selector-list-parser.js +164 -0
- package/dist/parser/css/adg-css-injection-parser.js +4 -5
- package/dist/parser/css/balancing.js +2 -2
- package/dist/parser/css/constants.js +2 -2
- package/dist/parser/css/css-token-stream.js +41 -4
- package/dist/parser/css/ubo-selector-parser.js +2 -2
- package/dist/parser/filterlist-parser.js +2 -2
- package/dist/parser/index.js +2 -2
- package/dist/parser/misc/app-list-parser.js +2 -2
- package/dist/parser/misc/domain-list-parser.js +2 -2
- package/dist/parser/misc/list-items-parser.js +2 -2
- package/dist/parser/misc/logical-expression-parser.js +2 -2
- package/dist/parser/misc/method-list-parser.js +2 -2
- package/dist/parser/misc/modifier-list.js +2 -2
- package/dist/parser/misc/modifier-parser.js +2 -2
- package/dist/parser/misc/parameter-list-parser.js +2 -2
- package/dist/parser/misc/stealth-option-list-parser.js +2 -2
- package/dist/parser/misc/ubo-parameter-list-parser.js +2 -2
- package/dist/parser/misc/value-parser.js +2 -2
- package/dist/parser/network/host-rule-parser.js +2 -2
- package/dist/parser/network/network-rule-parser.js +2 -2
- package/dist/parser/options.js +3 -2
- package/dist/parser/rule-parser.js +2 -2
- package/dist/types/common/ubo-html-filtering-body-common.d.ts +12 -0
- package/dist/types/compatibility-tables/compatibility-table-data.d.ts +3 -3
- package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
- package/dist/types/compatibility-tables/schemas/scriptlet.d.ts +2 -2
- package/dist/types/converter/cosmetic/html.d.ts +167 -42
- package/dist/types/converter/data/css.d.ts +18 -6
- package/dist/types/generator/cosmetic/html-filtering-body/adg-html-filtering-body-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/html-filtering-body/html-filtering-body-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/html-filtering-body/ubo-html-filtering-body-generator.d.ts +30 -0
- package/dist/types/generator/cosmetic/selector/attribute-selector-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/selector/class-selector-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/selector/complex-selector-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/selector/id-selector-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/selector/pseudo-class-selector-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/selector/selector-combinator-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/selector/selector-list-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/selector/type-selector-generator.d.ts +15 -0
- package/dist/types/generator/css/adg-css-injection-generator.d.ts +1 -1
- package/dist/types/index.d.ts +3 -13
- package/dist/types/nodes/index.d.ts +159 -3
- package/dist/types/parser/cosmetic/html-filtering-body/adg-html-filtering-body-parser.d.ts +35 -0
- package/dist/types/parser/cosmetic/html-filtering-body/html-filtering-body-parser.d.ts +39 -0
- package/dist/types/parser/cosmetic/html-filtering-body/ubo-html-filtering-body-parser.d.ts +63 -0
- package/dist/types/parser/cosmetic/selector/context.d.ts +42 -0
- package/dist/types/parser/cosmetic/selector/handlers/attribute-selector-handler.d.ts +35 -0
- package/dist/types/parser/cosmetic/selector/handlers/class-selector-handler.d.ts +15 -0
- package/dist/types/parser/cosmetic/selector/handlers/complex-selector-handler.d.ts +20 -0
- package/dist/types/parser/cosmetic/selector/handlers/compound-selector-handler.d.ts +25 -0
- package/dist/types/parser/cosmetic/selector/handlers/id-selector-handler.d.ts +15 -0
- package/dist/types/parser/cosmetic/selector/handlers/pseudo-class-selector-handler.d.ts +15 -0
- package/dist/types/parser/cosmetic/selector/handlers/type-selector-handler.d.ts +15 -0
- package/dist/types/parser/cosmetic/selector/selector-list-parser.d.ts +38 -0
- package/dist/types/parser/css/adg-css-injection-parser.d.ts +0 -2
- package/dist/types/parser/css/css-token-stream.d.ts +18 -0
- package/dist/types/parser/network/network-rule-parser.d.ts +1 -1
- package/dist/types/parser/options.d.ts +5 -0
- package/dist/types/utils/constants.d.ts +1 -0
- package/dist/types/utils/index.d.ts +0 -6
- package/dist/types/utils/quotes.d.ts +44 -0
- package/dist/types/utils/regexp.d.ts +24 -0
- package/dist/utils/adblockers.js +2 -2
- package/dist/utils/bit-count.js +2 -2
- package/dist/utils/categorizer.js +2 -2
- package/dist/utils/clone.js +2 -2
- package/dist/utils/constants.js +6 -9
- package/dist/utils/cosmetic-rule-separator.js +2 -2
- package/dist/utils/deep-freeze.js +2 -2
- package/dist/utils/domain.js +2 -2
- package/dist/utils/error.js +2 -2
- package/dist/utils/index.js +2 -8
- package/dist/utils/logical-expression.js +2 -2
- package/dist/utils/multi-value-map.js +2 -2
- package/dist/utils/noop-modifier.js +2 -2
- package/dist/utils/position-provider.js +2 -2
- package/dist/utils/quotes.js +163 -10
- package/dist/utils/regexp.js +31 -2
- package/dist/utils/string.js +2 -2
- package/dist/utils/type-guards.js +3 -13
- package/dist/validator/constants.js +2 -2
- package/dist/validator/helpers.js +2 -2
- package/dist/validator/index.js +2 -2
- package/dist/validator/value.js +2 -2
- package/dist/version.js +2 -2
- package/package.json +6 -14
- package/dist/deserializer/base-deserializer.js +0 -29
- package/dist/deserializer/comment/agent-comment-deserializer.js +0 -79
- package/dist/deserializer/comment/agent-deserializer.js +0 -65
- package/dist/deserializer/comment/comment-rule-deserializer.js +0 -54
- package/dist/deserializer/comment/config-comment-deserializer.js +0 -111
- package/dist/deserializer/comment/hint-comment-deserializer.js +0 -72
- package/dist/deserializer/comment/hint-deserializer.js +0 -85
- package/dist/deserializer/comment/metadata-comment-deserializer.js +0 -69
- package/dist/deserializer/comment/pre-processor-comment-deserializer.js +0 -112
- package/dist/deserializer/comment/simple-comment-deserializer.js +0 -65
- package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -131
- package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +0 -56
- package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -48
- package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -39
- package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -40
- package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -54
- package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
- package/dist/deserializer/empty-rule-deserializer.js +0 -48
- package/dist/deserializer/filterlist-deserializer.js +0 -85
- package/dist/deserializer/index.js +0 -8
- package/dist/deserializer/invalid-rule-deserializer.js +0 -50
- package/dist/deserializer/invalid-rule-error-node-deserializer.js +0 -50
- package/dist/deserializer/misc/domain-list-deserializer.js +0 -64
- package/dist/deserializer/misc/list-item-deserializer.js +0 -69
- package/dist/deserializer/misc/list-items-deserializer.js +0 -30
- package/dist/deserializer/misc/logical-expression-deserializer.js +0 -196
- package/dist/deserializer/misc/modifier-deserializer.js +0 -87
- package/dist/deserializer/misc/modifier-list-deserializer.js +0 -61
- package/dist/deserializer/misc/parameter-list-deserializer.js +0 -64
- package/dist/deserializer/misc/value-deserializer.js +0 -50
- package/dist/deserializer/network/host-rule-deserializer.js +0 -67
- package/dist/deserializer/network/hostname-list-deserializer.js +0 -56
- package/dist/deserializer/network/network-rule-deserializer.js +0 -65
- package/dist/deserializer/rule-deserializer.js +0 -65
- package/dist/deserializer/syntax-deserialization-map.js +0 -21
- package/dist/marshalling-utils/comment/agent-comment-common.js +0 -21
- package/dist/marshalling-utils/comment/agent-common.js +0 -40
- package/dist/marshalling-utils/comment/config-comment-common.js +0 -54
- package/dist/marshalling-utils/comment/hint-comment-common.js +0 -22
- package/dist/marshalling-utils/comment/hint-common.js +0 -56
- package/dist/marshalling-utils/comment/metadata-comment-common.js +0 -41
- package/dist/marshalling-utils/comment/pre-processor-comment-common.js +0 -59
- package/dist/marshalling-utils/comment/simple-comment-common.js +0 -22
- package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -61
- package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -66
- package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -24
- package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -21
- package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -114
- package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -46
- package/dist/marshalling-utils/empty-rule-common.js +0 -20
- package/dist/marshalling-utils/filter-list-common.js +0 -21
- package/dist/marshalling-utils/invalid-rule-common.js +0 -21
- package/dist/marshalling-utils/invalid-rule-error-node-common.js +0 -22
- package/dist/marshalling-utils/misc/binary-type-common.js +0 -54
- package/dist/marshalling-utils/misc/domain-list-common.js +0 -36
- package/dist/marshalling-utils/misc/host-rule-common.js +0 -24
- package/dist/marshalling-utils/misc/hostname-list-common.js +0 -21
- package/dist/marshalling-utils/misc/list-item-common.js +0 -22
- package/dist/marshalling-utils/misc/logical-expression-common.js +0 -83
- package/dist/marshalling-utils/misc/modifier-common.js +0 -231
- package/dist/marshalling-utils/misc/modifier-list-common.js +0 -21
- package/dist/marshalling-utils/misc/parameter-list-common.js +0 -21
- package/dist/marshalling-utils/misc/value-common.js +0 -22
- package/dist/marshalling-utils/network/network-rule-common.js +0 -24
- package/dist/marshalling-utils/syntax-serialization-map.js +0 -30
- package/dist/serializer/base-serializer.js +0 -29
- package/dist/serializer/comment/agent-comment-serializer.js +0 -74
- package/dist/serializer/comment/agent-serializer.js +0 -59
- package/dist/serializer/comment/comment-rule-serializer.js +0 -105
- package/dist/serializer/comment/config-comment-serializer.js +0 -82
- package/dist/serializer/comment/hint-comment-serializer.js +0 -65
- package/dist/serializer/comment/hint-serializer.js +0 -54
- package/dist/serializer/comment/metadata-comment-serializer.js +0 -73
- package/dist/serializer/comment/pre-processor-comment-serializer.js +0 -71
- package/dist/serializer/comment/simple-comment-serializer.js +0 -52
- package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -36
- package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -36
- package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -50
- package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -36
- package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +0 -120
- package/dist/serializer/cosmetic/css-injection-body-serializer.js +0 -51
- package/dist/serializer/cosmetic/element-hiding-body-serializer.js +0 -40
- package/dist/serializer/empty-rule-serializer.js +0 -37
- package/dist/serializer/filterlist-serializer.js +0 -45
- package/dist/serializer/index.js +0 -7
- package/dist/serializer/invalid-rule-error-node-serializer.js +0 -41
- package/dist/serializer/invalid-rule-serializer.js +0 -40
- package/dist/serializer/misc/domain-list-serializer.js +0 -64
- package/dist/serializer/misc/list-item-serializer.js +0 -58
- package/dist/serializer/misc/list-items-serializer.js +0 -29
- package/dist/serializer/misc/logical-expression-serializer.js +0 -136
- package/dist/serializer/misc/modifier-list-serializer.js +0 -58
- package/dist/serializer/misc/modifier-serializer.js +0 -49
- package/dist/serializer/misc/parameter-list-serializer.js +0 -52
- package/dist/serializer/misc/value-serializer.js +0 -50
- package/dist/serializer/network/host-rule-serializer.js +0 -70
- package/dist/serializer/network/hostname-list-serializer.js +0 -53
- package/dist/serializer/network/network-rule-serializer.js +0 -54
- package/dist/serializer/rule-serializer.js +0 -61
- package/dist/types/deserializer/base-deserializer.d.ts +0 -15
- package/dist/types/deserializer/comment/agent-comment-deserializer.d.ts +0 -34
- package/dist/types/deserializer/comment/agent-deserializer.d.ts +0 -25
- package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +0 -16
- package/dist/types/deserializer/comment/config-comment-deserializer.d.ts +0 -27
- package/dist/types/deserializer/comment/hint-comment-deserializer.d.ts +0 -24
- package/dist/types/deserializer/comment/hint-deserializer.d.ts +0 -26
- package/dist/types/deserializer/comment/metadata-comment-deserializer.d.ts +0 -26
- package/dist/types/deserializer/comment/pre-processor-comment-deserializer.d.ts +0 -29
- package/dist/types/deserializer/comment/simple-comment-deserializer.d.ts +0 -26
- package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +0 -18
- package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +0 -15
- package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +0 -16
- package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +0 -17
- package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +0 -18
- package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +0 -19
- package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +0 -17
- package/dist/types/deserializer/empty-rule-deserializer.d.ts +0 -16
- package/dist/types/deserializer/filterlist-deserializer.d.ts +0 -34
- package/dist/types/deserializer/index.d.ts +0 -2
- package/dist/types/deserializer/invalid-rule-deserializer.d.ts +0 -16
- package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +0 -16
- package/dist/types/deserializer/misc/domain-list-deserializer.d.ts +0 -15
- package/dist/types/deserializer/misc/list-item-deserializer.d.ts +0 -19
- package/dist/types/deserializer/misc/list-items-deserializer.d.ts +0 -16
- package/dist/types/deserializer/misc/logical-expression-deserializer.d.ts +0 -55
- package/dist/types/deserializer/misc/modifier-deserializer.d.ts +0 -18
- package/dist/types/deserializer/misc/modifier-list-deserializer.d.ts +0 -20
- package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +0 -18
- package/dist/types/deserializer/misc/value-deserializer.d.ts +0 -17
- package/dist/types/deserializer/network/host-rule-deserializer.d.ts +0 -18
- package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +0 -15
- package/dist/types/deserializer/network/network-rule-deserializer.d.ts +0 -18
- package/dist/types/deserializer/rule-deserializer.d.ts +0 -17
- package/dist/types/deserializer/syntax-deserialization-map.d.ts +0 -2
- package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +0 -14
- package/dist/types/marshalling-utils/comment/agent-common.d.ts +0 -20
- package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +0 -42
- package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +0 -15
- package/dist/types/marshalling-utils/comment/hint-common.d.ts +0 -33
- package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +0 -21
- package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +0 -37
- package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +0 -15
- package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +0 -23
- package/dist/types/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.d.ts +0 -9
- package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +0 -17
- package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +0 -14
- package/dist/types/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.d.ts +0 -9
- package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +0 -28
- package/dist/types/marshalling-utils/empty-rule-common.d.ts +0 -13
- package/dist/types/marshalling-utils/filter-list-common.d.ts +0 -14
- package/dist/types/marshalling-utils/invalid-rule-common.d.ts +0 -14
- package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +0 -15
- package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +0 -57
- package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +0 -24
- package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +0 -18
- package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +0 -14
- package/dist/types/marshalling-utils/misc/list-item-common.d.ts +0 -15
- package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +0 -47
- package/dist/types/marshalling-utils/misc/modifier-common.d.ts +0 -41
- package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +0 -14
- package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +0 -14
- package/dist/types/marshalling-utils/misc/value-common.d.ts +0 -15
- package/dist/types/marshalling-utils/network/network-rule-common.d.ts +0 -18
- package/dist/types/marshalling-utils/syntax-serialization-map.d.ts +0 -2
- package/dist/types/serializer/base-serializer.d.ts +0 -15
- package/dist/types/serializer/comment/agent-comment-serializer.d.ts +0 -34
- package/dist/types/serializer/comment/agent-serializer.d.ts +0 -15
- package/dist/types/serializer/comment/comment-rule-serializer.d.ts +0 -68
- package/dist/types/serializer/comment/config-comment-serializer.d.ts +0 -25
- package/dist/types/serializer/comment/hint-comment-serializer.d.ts +0 -23
- package/dist/types/serializer/comment/hint-serializer.d.ts +0 -24
- package/dist/types/serializer/comment/metadata-comment-serializer.d.ts +0 -25
- package/dist/types/serializer/comment/pre-processor-comment-serializer.d.ts +0 -28
- package/dist/types/serializer/comment/simple-comment-serializer.d.ts +0 -24
- package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +0 -25
- package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +0 -25
- package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +0 -17
- package/dist/types/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.d.ts +0 -25
- package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +0 -19
- package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +0 -15
- package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +0 -15
- package/dist/types/serializer/empty-rule-serializer.d.ts +0 -15
- package/dist/types/serializer/filterlist-serializer.d.ts +0 -15
- package/dist/types/serializer/index.d.ts +0 -1
- package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +0 -15
- package/dist/types/serializer/invalid-rule-serializer.d.ts +0 -15
- package/dist/types/serializer/misc/domain-list-serializer.d.ts +0 -21
- package/dist/types/serializer/misc/list-item-serializer.d.ts +0 -16
- package/dist/types/serializer/misc/list-items-serializer.d.ts +0 -15
- package/dist/types/serializer/misc/logical-expression-serializer.d.ts +0 -52
- package/dist/types/serializer/misc/modifier-list-serializer.d.ts +0 -20
- package/dist/types/serializer/misc/modifier-serializer.d.ts +0 -18
- package/dist/types/serializer/misc/parameter-list-serializer.d.ts +0 -17
- package/dist/types/serializer/misc/value-serializer.d.ts +0 -17
- package/dist/types/serializer/network/host-rule-serializer.d.ts +0 -30
- package/dist/types/serializer/network/hostname-list-serializer.d.ts +0 -15
- package/dist/types/serializer/network/network-rule-serializer.d.ts +0 -18
- package/dist/types/serializer/rule-serializer.d.ts +0 -17
- package/dist/types/utils/binary-schema-version.d.ts +0 -9
- package/dist/types/utils/byte-buffer.d.ts +0 -54
- package/dist/types/utils/input-byte-buffer.d.ts +0 -146
- package/dist/types/utils/is-chromium.d.ts +0 -7
- package/dist/types/utils/output-byte-buffer.d.ts +0 -132
- package/dist/types/utils/storage-interface.d.ts +0 -23
- package/dist/types/utils/text-decoder-polyfill.d.ts +0 -14
- package/dist/types/utils/text-encoder-polyfill.d.ts +0 -18
- package/dist/utils/binary-schema-version.js +0 -17
- package/dist/utils/byte-buffer.js +0 -91
- package/dist/utils/input-byte-buffer.js +0 -266
- package/dist/utils/is-chromium.js +0 -20
- package/dist/utils/output-byte-buffer.js +0 -231
- package/dist/utils/text-decoder-polyfill.js +0 -107
- package/dist/utils/text-encoder-polyfill.js +0 -78
- /package/dist/types/generator/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-generator.d.ts +0 -0
- /package/dist/types/generator/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-generator.d.ts +0 -0
- /package/dist/types/generator/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-generator.d.ts +0 -0
- /package/dist/types/parser/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-parser.d.ts +0 -0
- /package/dist/types/parser/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-parser.d.ts +0 -0
- /package/dist/types/parser/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-parser.d.ts +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type SelectorListParserContext } from '../context.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handles complex selector parsing in selector list.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ComplexSelectorHandler {
|
|
6
|
+
/**
|
|
7
|
+
* Finishes the current complex selector by:
|
|
8
|
+
* 1. Finishing current compound selector node via {@link CompoundSelectorHandler},
|
|
9
|
+
* 2. Validating current complex selector node,
|
|
10
|
+
* 3. Appending current complex selector node to the selector list node,
|
|
11
|
+
* If `isEof` is `false`:
|
|
12
|
+
* 4. Constructing next complex selector node.
|
|
13
|
+
*
|
|
14
|
+
* @param context Selector list parser context.
|
|
15
|
+
* @param isEof Indicates whether the end of the file has been reached.
|
|
16
|
+
*
|
|
17
|
+
* @throws If the current compound / complex selector has no simple selectors / compound selectors.
|
|
18
|
+
*/
|
|
19
|
+
static handle(context: SelectorListParserContext, isEof?: boolean): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type SelectorCombinatorValue } from '../../../../nodes/index.js';
|
|
2
|
+
import { type SelectorListParserContext } from '../context.js';
|
|
3
|
+
/**
|
|
4
|
+
* Handles compound selector parsing in selector list.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CompoundSelectorHandler {
|
|
7
|
+
/**
|
|
8
|
+
* Set of allowed symbols between selectors (combinators + comma, except <space> combinator).
|
|
9
|
+
*
|
|
10
|
+
* @see {@link SelectorCombinatorValue}
|
|
11
|
+
*/
|
|
12
|
+
private static readonly ALLOWED_SYMBOLS_BETWEEN_SELECTORS;
|
|
13
|
+
/**
|
|
14
|
+
* Finishes the current compound selector by:
|
|
15
|
+
* 1. Validating current compound selector node,
|
|
16
|
+
* 2. Constructing selector combinator node (if provided),
|
|
17
|
+
* 3. Appending selector combinator node to the complex selector (if provided).
|
|
18
|
+
*
|
|
19
|
+
* @param context Selector list parser context.
|
|
20
|
+
* @param combinator Optional combinator string.
|
|
21
|
+
*
|
|
22
|
+
* @throws If the current compound selector has no simple selectors.
|
|
23
|
+
*/
|
|
24
|
+
static handle(context: SelectorListParserContext, combinator?: SelectorCombinatorValue): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type SelectorListParserContext } from '../context.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handles ID selector parsing in selector list.
|
|
4
|
+
*/
|
|
5
|
+
export declare class IdSelectorHandler {
|
|
6
|
+
/**
|
|
7
|
+
* Handles ID selector parsing by creating an ID selector node
|
|
8
|
+
* and appending it to the current complex selector node.
|
|
9
|
+
*
|
|
10
|
+
* @param context Selector list parser context.
|
|
11
|
+
*
|
|
12
|
+
* @throws If the ID selector is syntactically incorrect.
|
|
13
|
+
*/
|
|
14
|
+
static handle(context: SelectorListParserContext): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type SelectorListParserContext } from '../context.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handles pseudo-class selector parsing in selector list.
|
|
4
|
+
*/
|
|
5
|
+
export declare class PseudoClassSelectorHandler {
|
|
6
|
+
/**
|
|
7
|
+
* Handles pseudo-class selector parsing by creating a pseudo-class selector node
|
|
8
|
+
* and appending it to the current complex selector node.
|
|
9
|
+
*
|
|
10
|
+
* @param context Selector list parser context.
|
|
11
|
+
*
|
|
12
|
+
* @throws If the pseudo-class selector is syntactically incorrect.
|
|
13
|
+
*/
|
|
14
|
+
static handle(context: SelectorListParserContext): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type SelectorListParserContext } from '../context.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handles type selector parsing in selector list.
|
|
4
|
+
*/
|
|
5
|
+
export declare class TypeSelectorHandler {
|
|
6
|
+
/**
|
|
7
|
+
* Handles type selector parsing by creating a type selector node
|
|
8
|
+
* and appending it to the current complex selector node.
|
|
9
|
+
*
|
|
10
|
+
* @param context Selector list parser context.
|
|
11
|
+
*
|
|
12
|
+
* @throws If the type selector is syntactically incorrect.
|
|
13
|
+
*/
|
|
14
|
+
static handle(context: SelectorListParserContext): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type SelectorList } from '../../../nodes/index.js';
|
|
2
|
+
import { BaseParser } from '../../base-parser.js';
|
|
3
|
+
/**
|
|
4
|
+
* Class responsible for parsing selector lists.
|
|
5
|
+
*
|
|
6
|
+
* Please note that the parser will parse any selector list if it is syntactically correct.
|
|
7
|
+
* For example, it will parse this:
|
|
8
|
+
* ```adblock
|
|
9
|
+
* div[attr1="value1"] > h1[attr2="value2"], span[attr3="value3"]
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* but it didn't check if the given attribute or pseudo-class is valid or not.
|
|
13
|
+
*
|
|
14
|
+
* @see {@link https://www.w3.org/TR/selectors-4/#selector-list}'
|
|
15
|
+
*/
|
|
16
|
+
export declare class SelectorListParser extends BaseParser {
|
|
17
|
+
/**
|
|
18
|
+
* Common error messages used in the parser for unexpected tokens.
|
|
19
|
+
*/
|
|
20
|
+
private static readonly UNEXPECTED_TOKEN_WITH_VALUE_ERROR;
|
|
21
|
+
/**
|
|
22
|
+
* Parses a selector list.
|
|
23
|
+
*
|
|
24
|
+
* @param raw Raw input to parse.
|
|
25
|
+
* @param options Global parser options.
|
|
26
|
+
* @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
|
|
27
|
+
*
|
|
28
|
+
* @returns Node of the parsed selector list.
|
|
29
|
+
*
|
|
30
|
+
* @throws If the selector list is syntactically incorrect.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```
|
|
34
|
+
* div[attr1="value1"] > h1[attr2="value2"], span[attr3="value3"]
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
static parse(raw: string, options?: import("../../index.js").ParserOptions, baseOffset?: number): SelectorList;
|
|
38
|
+
}
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type CssInjectionRuleBody } from '../../nodes/index.js';
|
|
5
5
|
import { BaseParser } from '../base-parser.js';
|
|
6
|
-
export declare const REMOVE_PROPERTY = "remove";
|
|
7
|
-
export declare const REMOVE_VALUE = "true";
|
|
8
6
|
export declare const ERROR_MESSAGES: {
|
|
9
7
|
MEDIA_QUERY_LIST_IS_EMPTY: string;
|
|
10
8
|
SELECTOR_LIST_IS_EMPTY: string;
|
|
@@ -192,6 +192,7 @@ export declare class CssTokenStream {
|
|
|
192
192
|
hasAnySelectorExtendedCssNode(): boolean;
|
|
193
193
|
/**
|
|
194
194
|
* Strictly checks whether the token stream contains any Extended CSS elements, such as `:contains()`.
|
|
195
|
+
*
|
|
195
196
|
* Some Extended CSS elements are natively supported by browsers, like `:has()`.
|
|
196
197
|
* This method is used to check for Extended CSS elements that are not natively supported by browsers,
|
|
197
198
|
* this is why it called "strict", because it strictly checks for Extended CSS elements.
|
|
@@ -199,6 +200,23 @@ export declare class CssTokenStream {
|
|
|
199
200
|
* @returns `true` if the stream contains any Extended CSS elements, otherwise `false`.
|
|
200
201
|
*/
|
|
201
202
|
hasAnySelectorExtendedCssNodeStrict(): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* _Lightweight_ static check for native CSS pseudo-classes — `:has()`, `:is()`, `:not()`.
|
|
205
|
+
*
|
|
206
|
+
* This method uses `tokenizeExtended` directly with early stopping,
|
|
207
|
+
* avoiding the overhead of:
|
|
208
|
+
* - full tokenization with balance tracking;
|
|
209
|
+
* - storing all tokens in memory;
|
|
210
|
+
* - processing remaining tokens after a match is found.
|
|
211
|
+
*
|
|
212
|
+
* Use this method when you only need to detect native pseudo-classes
|
|
213
|
+
* and don't need the full `CssTokenStream` functionality.
|
|
214
|
+
*
|
|
215
|
+
* @param selector CSS selector string to check.
|
|
216
|
+
* @returns True if the selector contains `:has()`, `:is()`, or `:not()`,
|
|
217
|
+
* otherwise false.
|
|
218
|
+
*/
|
|
219
|
+
static hasNativeCssPseudoClass(selector: string): boolean;
|
|
202
220
|
/**
|
|
203
221
|
* Checks whether the token stream contains any Extended CSS elements, such as `:has()`, `:contains()`, etc.
|
|
204
222
|
*
|
|
@@ -27,5 +27,5 @@ export declare class NetworkRuleParser extends BaseParser {
|
|
|
27
27
|
* @param rule Network rule to check
|
|
28
28
|
* @returns The index of the separator character, or -1 if there is no separator
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
static findNetworkRuleSeparatorIndex(rule: string): number;
|
|
31
31
|
}
|
|
@@ -40,6 +40,11 @@ export interface ParserOptions {
|
|
|
40
40
|
* Whether to parse host rules.
|
|
41
41
|
*/
|
|
42
42
|
parseHostRules?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Whether to parse HTML filtering rule bodies.
|
|
45
|
+
* If `false`, HTML filtering rule `body` property will be plain string.
|
|
46
|
+
*/
|
|
47
|
+
parseHtmlFilteringRuleBodies?: boolean;
|
|
43
48
|
/**
|
|
44
49
|
* Callback function to handle parse errors when tolerant mode is enabled.
|
|
45
50
|
*/
|
|
@@ -128,6 +128,7 @@ export declare const UBO_SCRIPTLET_MASK = "+js";
|
|
|
128
128
|
export declare const UBO_SCRIPTLET_MASK_LEGACY = "script:inject";
|
|
129
129
|
export declare const UBO_HTML_MASK = "^";
|
|
130
130
|
export declare const UBO_MATCHES_PATH_OPERATOR = "matches-path";
|
|
131
|
+
export declare const UBO_RESPONSEHEADER_FN = "responseheader";
|
|
131
132
|
export declare const ADG_PATH_MODIFIER = "path";
|
|
132
133
|
export declare const ADG_DOMAINS_MODIFIER = "domain";
|
|
133
134
|
export declare const ADG_APP_MODIFIER = "app";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
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, COMMA, PIPE, } from './constants.js';
|
|
2
|
-
export { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
|
|
3
2
|
export { AdblockSyntax } from './adblockers.js';
|
|
4
3
|
export { getBitCount } from './bit-count.js';
|
|
5
4
|
export { type ReadonlyRecord } from './types.js';
|
|
@@ -9,9 +8,4 @@ export { type VariableTable, LogicalExpressionUtils } from './logical-expression
|
|
|
9
8
|
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.js';
|
|
10
9
|
export { QuoteType, QuoteUtils, } from './quotes.js';
|
|
11
10
|
export { type Position, PositionProvider } from './position-provider.js';
|
|
12
|
-
export { OutputByteBuffer } from './output-byte-buffer.js';
|
|
13
|
-
export { InputByteBuffer } from './input-byte-buffer.js';
|
|
14
|
-
export { ByteBuffer } from './byte-buffer.js';
|
|
15
|
-
export { encodeIntoPolyfill, type TextEncoderPolyfillResult } from './text-encoder-polyfill.js';
|
|
16
|
-
export { decodeTextPolyfill } from './text-decoder-polyfill.js';
|
|
17
11
|
export { RuleCategorizer } from './categorizer.js';
|
|
@@ -91,4 +91,48 @@ export declare class QuoteUtils {
|
|
|
91
91
|
* ['abc', 'def']: strings[] -> "'abc', 'def'": string
|
|
92
92
|
*/
|
|
93
93
|
static quoteAndJoinStrings(strings: string[], quoteType?: QuoteType, separator?: string): string;
|
|
94
|
+
/**
|
|
95
|
+
* Convert `""` to `\"` within strings inside of attribute selectors,
|
|
96
|
+
* because it is not compatible with the standard CSS syntax.
|
|
97
|
+
*
|
|
98
|
+
* @param selector CSS selector string.
|
|
99
|
+
*
|
|
100
|
+
* @returns Escaped CSS selector.
|
|
101
|
+
*
|
|
102
|
+
* @note In the legacy syntax, `""` is used to escape double quotes, but it cannot be used
|
|
103
|
+
* in the standard CSS syntax, so we use conversion functions to handle this.
|
|
104
|
+
* @note This function is intended to be used on whole attribute selector or whole selector strings.
|
|
105
|
+
*
|
|
106
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#tag-content}
|
|
107
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#wildcard}
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* QuoteUtils.escapeAttributeDoubleQuotes('[attr="value with "" quotes"]');
|
|
112
|
+
* QuoteUtils.escapeAttributeDoubleQuotes('div[attr="value with "" quotes"] > span');
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
static escapeAttributeDoubleQuotes(selector: string): string;
|
|
116
|
+
/**
|
|
117
|
+
* Convert escaped double quotes `\"` to `""` within strings inside of attribute selectors,
|
|
118
|
+
* because it is not compatible with the standard CSS syntax.
|
|
119
|
+
*
|
|
120
|
+
* @param selector CSS selector string.
|
|
121
|
+
*
|
|
122
|
+
* @returns Unescaped CSS selector.
|
|
123
|
+
*
|
|
124
|
+
* @note In the legacy syntax, `""` is used to escape double quotes, but it cannot be used
|
|
125
|
+
* in the standard CSS syntax, so we use conversion functions to handle this.
|
|
126
|
+
* @note This function is intended to be used on whole attribute selector or whole selector strings.
|
|
127
|
+
*
|
|
128
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#tag-content}
|
|
129
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#wildcard}
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```ts
|
|
133
|
+
* QuoteUtils.unescapeAttributeDoubleQuotes('[attr="value with \\" quotes"]');
|
|
134
|
+
* QuoteUtils.unescapeAttributeDoubleQuotes('div[attr="value with \\" quotes"] > span');
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
static unescapeAttributeDoubleQuotes(selector: string): string;
|
|
94
138
|
}
|
|
@@ -72,4 +72,28 @@ export declare class RegExpUtils {
|
|
|
72
72
|
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
|
|
73
73
|
*/
|
|
74
74
|
static patternToRegexp(pattern: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* Creates a length-matching regular expression string: /^(?=.{min,max}$).*\/s
|
|
77
|
+
* Where:
|
|
78
|
+
* - (?=.{min,max}$) is a lookahead that ensures the string length is between min and max
|
|
79
|
+
* - .* matches any character (including newlines, due to the 's' flag)
|
|
80
|
+
*
|
|
81
|
+
* @param min Minimum length or `null` for no minimum (default to `0`).
|
|
82
|
+
* @param max Maximum length or `null` for no maximum (default to no maximum).
|
|
83
|
+
*
|
|
84
|
+
* @returns Length-matching regular expression string.
|
|
85
|
+
*/
|
|
86
|
+
static getLengthRegexp(min: number | null, max: number | null): string;
|
|
87
|
+
/**
|
|
88
|
+
* Converts a glob pattern to a RegExp string with slashes and 's' flag.
|
|
89
|
+
*
|
|
90
|
+
* @param glob Glob pattern to convert.
|
|
91
|
+
*
|
|
92
|
+
* @returns RegExp string.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* // Returns '/^foo.*bar$/s'
|
|
96
|
+
* RegExpUtils.globToRegExp('foo*bar');
|
|
97
|
+
*/
|
|
98
|
+
static globToRegExp(glob: string): string;
|
|
75
99
|
}
|
package/dist/utils/adblockers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
package/dist/utils/bit-count.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
package/dist/utils/clone.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
package/dist/utils/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -26,11 +26,13 @@ const CARET = '^';
|
|
|
26
26
|
const DOLLAR_SIGN = '$';
|
|
27
27
|
const EQUALS = '=';
|
|
28
28
|
const EXCLAMATION_MARK = '!';
|
|
29
|
+
const GREATER_THAN = '>';
|
|
29
30
|
const HASHMARK = '#';
|
|
30
31
|
const PIPE = '|';
|
|
31
32
|
const PLUS = '+';
|
|
32
33
|
const QUESTION_MARK = '?';
|
|
33
34
|
const SLASH = '/';
|
|
35
|
+
const TILDE = '~';
|
|
34
36
|
const UNDERSCORE = '_';
|
|
35
37
|
// Escape characters
|
|
36
38
|
const BACKSLASH = '\\';
|
|
@@ -200,6 +202,7 @@ const UBO_SCRIPTLET_MASK = '+js';
|
|
|
200
202
|
const UBO_SCRIPTLET_MASK_LEGACY = 'script:inject';
|
|
201
203
|
const UBO_HTML_MASK = '^';
|
|
202
204
|
const UBO_MATCHES_PATH_OPERATOR = 'matches-path';
|
|
205
|
+
const UBO_RESPONSEHEADER_FN = 'responseheader';
|
|
203
206
|
const ADG_PATH_MODIFIER = 'path';
|
|
204
207
|
const ADG_DOMAINS_MODIFIER = 'domain';
|
|
205
208
|
const ADG_APP_MODIFIER = 'app';
|
|
@@ -233,9 +236,6 @@ const COMMA_DOMAIN_LIST_SEPARATOR = ',';
|
|
|
233
236
|
*/
|
|
234
237
|
const PIPE_MODIFIER_SEPARATOR = '|';
|
|
235
238
|
const CSS_MEDIA_MARKER = '@media';
|
|
236
|
-
const CSS_PSEUDO_MARKER = ':';
|
|
237
|
-
const CSS_PSEUDO_OPEN = '(';
|
|
238
|
-
const CSS_PSEUDO_CLOSE = ')';
|
|
239
239
|
const CSS_NOT_PSEUDO = 'not';
|
|
240
240
|
const CSS_BLOCK_OPEN = '{';
|
|
241
241
|
const CSS_BLOCK_CLOSE = '}';
|
|
@@ -252,8 +252,5 @@ const PREPROCESSOR_SEPARATOR = ' ';
|
|
|
252
252
|
const SAFARI_CB_AFFINITY = 'safari_cb_affinity';
|
|
253
253
|
const IF = 'if';
|
|
254
254
|
const INCLUDE = 'include';
|
|
255
|
-
const NULL = 0;
|
|
256
|
-
const UINT8_MAX = 255;
|
|
257
|
-
const UINT16_MAX = 65535;
|
|
258
255
|
|
|
259
|
-
export { ADG_APP_MODIFIER, ADG_DOMAINS_MODIFIER, ADG_PATH_MODIFIER, ADG_SCRIPTLET_MASK, ADG_URL_MODIFIER, AGLINT_COMMAND_PREFIX, AGLINT_CONFIG_COMMENT_MARKER, AMPERSAND, ASTERISK, AT_SIGN, BACKSLASH, BACKTICK_QUOTE, CAPITAL_LETTERS, CAPITAL_LETTER_A, CAPITAL_LETTER_B, CAPITAL_LETTER_C, CAPITAL_LETTER_D, CAPITAL_LETTER_E, CAPITAL_LETTER_F, CAPITAL_LETTER_G, CAPITAL_LETTER_H, CAPITAL_LETTER_I, CAPITAL_LETTER_J, CAPITAL_LETTER_K, CAPITAL_LETTER_L, CAPITAL_LETTER_M, CAPITAL_LETTER_N, CAPITAL_LETTER_O, CAPITAL_LETTER_P, CAPITAL_LETTER_Q, CAPITAL_LETTER_R, CAPITAL_LETTER_S, CAPITAL_LETTER_T, CAPITAL_LETTER_U, CAPITAL_LETTER_V, CAPITAL_LETTER_W, CAPITAL_LETTER_X, CAPITAL_LETTER_Y, CAPITAL_LETTER_Z, CARET, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, COLON, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, CR, CRLF, CSS_BLOCK_CLOSE, CSS_BLOCK_OPEN, CSS_MEDIA_MARKER, CSS_NOT_PSEUDO,
|
|
256
|
+
export { ADG_APP_MODIFIER, ADG_DOMAINS_MODIFIER, ADG_PATH_MODIFIER, ADG_SCRIPTLET_MASK, ADG_URL_MODIFIER, AGLINT_COMMAND_PREFIX, AGLINT_CONFIG_COMMENT_MARKER, AMPERSAND, ASTERISK, AT_SIGN, BACKSLASH, BACKTICK_QUOTE, CAPITAL_LETTERS, CAPITAL_LETTER_A, CAPITAL_LETTER_B, CAPITAL_LETTER_C, CAPITAL_LETTER_D, CAPITAL_LETTER_E, CAPITAL_LETTER_F, CAPITAL_LETTER_G, CAPITAL_LETTER_H, CAPITAL_LETTER_I, CAPITAL_LETTER_J, CAPITAL_LETTER_K, CAPITAL_LETTER_L, CAPITAL_LETTER_M, CAPITAL_LETTER_N, CAPITAL_LETTER_O, CAPITAL_LETTER_P, CAPITAL_LETTER_Q, CAPITAL_LETTER_R, CAPITAL_LETTER_S, CAPITAL_LETTER_T, CAPITAL_LETTER_U, CAPITAL_LETTER_V, CAPITAL_LETTER_W, CAPITAL_LETTER_X, CAPITAL_LETTER_Y, CAPITAL_LETTER_Z, CARET, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, COLON, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, CR, CRLF, CSS_BLOCK_CLOSE, CSS_BLOCK_OPEN, CSS_MEDIA_MARKER, CSS_NOT_PSEUDO, DOLLAR_SIGN, DOT, DOUBLE_QUOTE, EMPTY, EQUALS, ESCAPE_CHARACTER, EXCLAMATION_MARK, FF, GREATER_THAN, HASHMARK, HINT_MARKER, HINT_MARKER_LEN, IF, INCLUDE, LF, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_EXCEPTION_MARKER_LEN, NETWORK_RULE_SEPARATOR, NEWLINE, NUMBERS, NUMBER_0, NUMBER_1, NUMBER_2, NUMBER_3, NUMBER_4, NUMBER_5, NUMBER_6, NUMBER_7, NUMBER_8, NUMBER_9, OPEN_CURLY_BRACKET, OPEN_PARENTHESIS, OPEN_SQUARE_BRACKET, PIPE, PIPE_MODIFIER_SEPARATOR, PLUS, PREPROCESSOR_MARKER, PREPROCESSOR_MARKER_LEN, PREPROCESSOR_SEPARATOR, QUESTION_MARK, REGEX_MARKER, SAFARI_CB_AFFINITY, SEMICOLON, SINGLE_QUOTE, SLASH, SMALL_LETTERS, SMALL_LETTER_A, SMALL_LETTER_B, SMALL_LETTER_C, SMALL_LETTER_D, SMALL_LETTER_E, SMALL_LETTER_F, SMALL_LETTER_G, SMALL_LETTER_H, SMALL_LETTER_I, SMALL_LETTER_J, SMALL_LETTER_K, SMALL_LETTER_L, SMALL_LETTER_M, SMALL_LETTER_N, SMALL_LETTER_O, SMALL_LETTER_P, SMALL_LETTER_Q, SMALL_LETTER_R, SMALL_LETTER_S, SMALL_LETTER_T, SMALL_LETTER_U, SMALL_LETTER_V, SMALL_LETTER_W, SMALL_LETTER_X, SMALL_LETTER_Y, SMALL_LETTER_Z, SPACE, TAB, TILDE, UBO_HTML_MASK, UBO_MATCHES_PATH_OPERATOR, UBO_RESPONSEHEADER_FN, UBO_SCRIPTLET_MASK, UBO_SCRIPTLET_MASK_LEGACY, UNDERSCORE, WILDCARD };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
package/dist/utils/domain.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
package/dist/utils/error.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
package/dist/utils/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
7
7
|
export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, HINT_MARKER, IF, INCLUDE, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_SEPARATOR, PIPE, PIPE_MODIFIER_SEPARATOR, PREPROCESSOR_MARKER, SAFARI_CB_AFFINITY, UBO_SCRIPTLET_MASK } from './constants.js';
|
|
8
|
-
export { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
|
|
9
8
|
export { AdblockSyntax } from './adblockers.js';
|
|
10
9
|
export { getBitCount } from './bit-count.js';
|
|
11
10
|
export { CosmeticRuleSeparatorUtils } from './cosmetic-rule-separator.js';
|
|
@@ -14,9 +13,4 @@ export { LogicalExpressionUtils } from './logical-expression.js';
|
|
|
14
13
|
export { ADBLOCK_URL_SEPARATOR, ADBLOCK_URL_SEPARATOR_REGEX, ADBLOCK_URL_START, ADBLOCK_URL_START_REGEX, ADBLOCK_WILDCARD, ADBLOCK_WILDCARD_REGEX, RegExpUtils, SPECIAL_REGEX_SYMBOLS } from './regexp.js';
|
|
15
14
|
export { QuoteType, QuoteUtils } from './quotes.js';
|
|
16
15
|
export { PositionProvider } from './position-provider.js';
|
|
17
|
-
export { OutputByteBuffer } from './output-byte-buffer.js';
|
|
18
|
-
export { InputByteBuffer } from './input-byte-buffer.js';
|
|
19
|
-
export { ByteBuffer } from './byte-buffer.js';
|
|
20
|
-
export { encodeIntoPolyfill } from './text-encoder-polyfill.js';
|
|
21
|
-
export { decodeTextPolyfill } from './text-decoder-polyfill.js';
|
|
22
16
|
export { RuleCategorizer } from './categorizer.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v4.0.1 (build date: Thu, 19 Feb 2026 05:13:05 GMT)
|
|
3
|
+
* (c) 2026 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|