@adguard/agtree 3.4.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +4 -4
- 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 +9 -3
- 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 +8 -16
- 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
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { PreProcessorCommentRule } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `PreProcessorCommentDeserializer` is responsible for deserializing preprocessor rules.
|
|
6
|
-
* Pre-processor comments are special comments that are used to control the behavior of the filter list processor.
|
|
7
|
-
* Please note that this parser only handles general syntax for now, and does not validate the parameters at
|
|
8
|
-
* the parsing stage.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* If your rule is
|
|
12
|
-
* ```adblock
|
|
13
|
-
* !#if (adguard)
|
|
14
|
-
* ```
|
|
15
|
-
* then the directive's name is `if` and its value is `(adguard)`, but the parameter list
|
|
16
|
-
* is not parsed / validated further.
|
|
17
|
-
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#pre-processor-directives}
|
|
18
|
-
* @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#pre-parsing-directives}
|
|
19
|
-
*/
|
|
20
|
-
export declare class PreProcessorCommentDeserializer extends BaseDeserializer {
|
|
21
|
-
/**
|
|
22
|
-
* Deserializes a pre-processor comment node from binary format.
|
|
23
|
-
*
|
|
24
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
25
|
-
* @param node Destination node.
|
|
26
|
-
* @throws If the binary data is malformed.
|
|
27
|
-
*/
|
|
28
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<PreProcessorCommentRule>): void;
|
|
29
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type CommentRule } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `SimpleCommentDeserializer` is responsible for deserializing simple comments.
|
|
6
|
-
*
|
|
7
|
-
* Some comments have a special meaning in adblock syntax, like agent comments or hints,
|
|
8
|
-
* but this parser is only responsible for parsing regular comments,
|
|
9
|
-
* whose only purpose is to provide some human-readable information.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```adblock
|
|
13
|
-
* ! This is a simple comment
|
|
14
|
-
* # This is a simple comment, but in host-like syntax
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare class SimpleCommentDeserializer extends BaseDeserializer {
|
|
18
|
-
/**
|
|
19
|
-
* Deserializes a simple comment node from binary format.
|
|
20
|
-
*
|
|
21
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
22
|
-
* @param node Destination node.
|
|
23
|
-
* @throws If the binary data is malformed.
|
|
24
|
-
*/
|
|
25
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<CommentRule>): void;
|
|
26
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type AnyCosmeticRule } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for cosmetic rules.
|
|
6
|
-
* Converts binary data into structured cosmetic rule nodes, supporting various types
|
|
7
|
-
* like element hiding, CSS injection, scriptlet injection, JavaScript injection, and HTML filtering.
|
|
8
|
-
* Handles rule type, syntax, exceptions, separators, modifiers, and domain lists.
|
|
9
|
-
*/
|
|
10
|
-
export declare class CosmeticRuleDeserializer extends BaseDeserializer {
|
|
11
|
-
/**
|
|
12
|
-
* Deserializes a cosmetic rule node from binary format.
|
|
13
|
-
*
|
|
14
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
15
|
-
* @param node Destination node.
|
|
16
|
-
*/
|
|
17
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<AnyCosmeticRule>): void;
|
|
18
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type CssInjectionRuleBody } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializes CSS injection rule body nodes from binary format.
|
|
6
|
-
*/
|
|
7
|
-
export declare class CssInjectionBodyDeserializer extends BaseDeserializer {
|
|
8
|
-
/**
|
|
9
|
-
* Deserializes CSS injection rule body node from binary format.
|
|
10
|
-
*
|
|
11
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
12
|
-
* @param node Destination node.
|
|
13
|
-
*/
|
|
14
|
-
static deserialize(buffer: InputByteBuffer, node: CssInjectionRuleBody): void;
|
|
15
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
2
|
-
import { type ElementHidingRuleBody } from '../../nodes/index.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializes element hiding rule body nodes from binary data.
|
|
6
|
-
* Populates the provided node with the deserialized data.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ElementHidingBodyDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes an element hiding rule body node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
*/
|
|
15
|
-
static deserializeElementHidingBody(buffer: InputByteBuffer, node: Partial<ElementHidingRuleBody>): void;
|
|
16
|
-
}
|
package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for ABP snippet injection rule body nodes.
|
|
6
|
-
* Converts binary data into a structured format using a map of frequently used arguments.
|
|
7
|
-
*/
|
|
8
|
-
export declare class AbpSnippetInjectionBodyDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes a scriptlet call body node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
* @throws If the binary data is malformed.
|
|
15
|
-
*/
|
|
16
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<ScriptletInjectionRuleBody>): void;
|
|
17
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for AdGuard scriptlet injection body nodes.
|
|
6
|
-
* Converts binary data into a structured scriptlet call body node specific to AdGuard,
|
|
7
|
-
* using a predefined deserialization map for frequently used scriptlet arguments.
|
|
8
|
-
*/
|
|
9
|
-
export declare class AdgScriptletInjectionBodyDeserializer extends BaseDeserializer {
|
|
10
|
-
/**
|
|
11
|
-
* Deserializes a scriptlet call body node from binary format.
|
|
12
|
-
*
|
|
13
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
14
|
-
* @param node Destination node.
|
|
15
|
-
* @throws If the binary data is malformed.
|
|
16
|
-
*/
|
|
17
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<ScriptletInjectionRuleBody>): void;
|
|
18
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializes binary data into scriptlet body nodes.
|
|
6
|
-
* Optionally uses a map of frequently used scriptlet arguments.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ScriptletBodyDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes a hint rule node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
* @param frequentScriptletArgs Map of frequently used scriptlet names / arguments
|
|
15
|
-
* and their serialization index (optional).
|
|
16
|
-
* @throws If the binary data is malformed.
|
|
17
|
-
*/
|
|
18
|
-
static deserialize: (buffer: InputByteBuffer, node: Partial<ScriptletInjectionRuleBody>, frequentScriptletArgs?: Map<number, string>) => void;
|
|
19
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../../utils/input-byte-buffer.js';
|
|
4
|
-
export declare const getFrequentPlatformsDeserializationMap: () => Map<number, string>;
|
|
5
|
-
/**
|
|
6
|
-
* Deserializes uBlock Origin scriptlet injection body nodes from binary data.
|
|
7
|
-
*/
|
|
8
|
-
export declare class UboScriptletInjectionBodyDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes a scriptlet call body node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node to populate with deserialized data.
|
|
14
|
-
* @throws If the binary data is malformed.
|
|
15
|
-
*/
|
|
16
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<ScriptletInjectionRuleBody>): void;
|
|
17
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BaseDeserializer } from './base-deserializer.js';
|
|
2
|
-
import { type EmptyRule } from '../nodes/index.js';
|
|
3
|
-
import { type InputByteBuffer } from '../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for empty rule nodes.
|
|
6
|
-
* This class handles the deserialization of empty rule nodes from binary format.
|
|
7
|
-
*/
|
|
8
|
-
export declare class EmptyRuleDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes an empty rule node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
*/
|
|
15
|
-
static deserialize(buffer: InputByteBuffer, node: EmptyRule): void;
|
|
16
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type FilterList } from '../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from './base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for filter lists.
|
|
6
|
-
* Converts binary data into filter list nodes.
|
|
7
|
-
*/
|
|
8
|
-
export declare class FilterListDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes a filter list node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
*/
|
|
15
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<FilterList>): void;
|
|
16
|
-
/**
|
|
17
|
-
* Helper method to jump to the children of the filter list node.
|
|
18
|
-
*
|
|
19
|
-
* Filter lists serialized in binary format are structured as follows:
|
|
20
|
-
* - `FilterListNode` filter list node indicator (1 byte)
|
|
21
|
-
* - Properties:
|
|
22
|
-
* - `Children` (1 byte) - children count, followed by children nodes
|
|
23
|
-
* - `Start` (1 byte) - start offset, if present, followed by the value
|
|
24
|
-
* - `End` (1 byte) - end offset, if present, followed by the value
|
|
25
|
-
* - `NULL` (1 byte) - closing indicator
|
|
26
|
-
*
|
|
27
|
-
* This method skips indicators, reads the children count and returns it.
|
|
28
|
-
* This way the buffer is positioned at the beginning of the children nodes.
|
|
29
|
-
*
|
|
30
|
-
* @param buffer Reference to the input byte buffer.
|
|
31
|
-
* @returns Number of children nodes.
|
|
32
|
-
*/
|
|
33
|
-
static jumpToChildren(buffer: InputByteBuffer): number;
|
|
34
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BaseDeserializer } from './base-deserializer.js';
|
|
2
|
-
import { type InvalidRule } from '../nodes/index.js';
|
|
3
|
-
import { type InputByteBuffer } from '../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for invalid rule nodes.
|
|
6
|
-
* Converts binary data into invalid rule nodes.
|
|
7
|
-
*/
|
|
8
|
-
export declare class InvalidRuleDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes an invalid rule node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
*/
|
|
15
|
-
static deserialize(buffer: InputByteBuffer, node: InvalidRule): void;
|
|
16
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BaseDeserializer } from './base-deserializer.js';
|
|
2
|
-
import { type InvalidRuleError } from '../nodes/index.js';
|
|
3
|
-
import { type InputByteBuffer } from '../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializer for invalid rule error nodes.
|
|
6
|
-
* Converts binary data into invalid rule error nodes.
|
|
7
|
-
*/
|
|
8
|
-
export declare class InvalidRuleErrorNodeDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes an invalid rule error node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
*/
|
|
15
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<InvalidRuleError>): void;
|
|
16
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type DomainList } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `DomainListDeserializer` is responsible for deserializing a domain list.
|
|
6
|
-
*/
|
|
7
|
-
export declare class DomainListDeserializer extends BaseDeserializer {
|
|
8
|
-
/**
|
|
9
|
-
* Deserializes a modifier list node from binary format.
|
|
10
|
-
*
|
|
11
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
12
|
-
* @param node Destination node.
|
|
13
|
-
*/
|
|
14
|
-
static deserialize(buffer: InputByteBuffer, node: DomainList): void;
|
|
15
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
2
|
-
import { type ListItem, ListItemNodeType } from '../../nodes/index.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `ListItemDeserializer` is responsible for deserializing list item nodes from binary format.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* `app`, `domain`, `method`, `stealth-option`
|
|
9
|
-
*/
|
|
10
|
-
export declare class ListItemDeserializer extends BaseDeserializer {
|
|
11
|
-
/**
|
|
12
|
-
* Deserializes a list item from binary format.
|
|
13
|
-
*
|
|
14
|
-
* @param buffer Input byte buffer.
|
|
15
|
-
* @param node Partial list item to deserialize.
|
|
16
|
-
* @template T Type of the list item.
|
|
17
|
-
*/
|
|
18
|
-
static deserialize: <T extends ListItemNodeType>(buffer: InputByteBuffer, node: Partial<ListItem<T>>) => void;
|
|
19
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type ListItem, type ListItemNodeType } from '../../nodes/index.js';
|
|
2
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
3
|
-
/**
|
|
4
|
-
* Deserializes lists of items from binary format.
|
|
5
|
-
* Converts binary data to structured item nodes.
|
|
6
|
-
*/
|
|
7
|
-
export declare class ListItemsDeserializer {
|
|
8
|
-
/**
|
|
9
|
-
* Deserializes a list of items from binary format.
|
|
10
|
-
*
|
|
11
|
-
* @param buffer Input byte buffer.
|
|
12
|
-
* @param items Partial list of items to deserialize.
|
|
13
|
-
* @template T Type of the list items.
|
|
14
|
-
*/
|
|
15
|
-
static deserialize: <T extends ListItemNodeType>(buffer: InputByteBuffer, items: Partial<ListItem<T>>[]) => void;
|
|
16
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { type AnyExpressionNode } from '../../nodes/index.js';
|
|
2
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
3
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Gets the frequent name of the variable from the binary representation.
|
|
6
|
-
*
|
|
7
|
-
* @param binary Binary representation of the variable
|
|
8
|
-
* @returns Frequent name of the variable
|
|
9
|
-
* @throws If the variable is unknown
|
|
10
|
-
*/
|
|
11
|
-
export declare const getFrequentNameOrFail: (binary: number) => string;
|
|
12
|
-
/**
|
|
13
|
-
* `LogicalExpressionDeserializer` is responsible for deserializing logical expressions.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* From the following rule:
|
|
17
|
-
* ```adblock
|
|
18
|
-
* !#if (adguard_ext_android_cb || adguard_ext_safari)
|
|
19
|
-
* ```
|
|
20
|
-
* this parser will parse the expression `(adguard_ext_android_cb || adguard_ext_safari)`.
|
|
21
|
-
*/
|
|
22
|
-
export declare class LogicalExpressionDeserializer extends BaseDeserializer {
|
|
23
|
-
/**
|
|
24
|
-
* Deserializes a variable node from binary format.
|
|
25
|
-
*
|
|
26
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
27
|
-
* @param node Destination node.
|
|
28
|
-
* @throws If the binary data is malformed.
|
|
29
|
-
*/
|
|
30
|
-
private static deserializeVariableNode;
|
|
31
|
-
/**
|
|
32
|
-
* Deserializes a parenthesis node from binary format.
|
|
33
|
-
*
|
|
34
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
35
|
-
* @param node Destination node.
|
|
36
|
-
* @throws If the binary data is malformed.
|
|
37
|
-
*/
|
|
38
|
-
private static deserializeParenthesisNode;
|
|
39
|
-
/**
|
|
40
|
-
* Deserializes an operator node from binary format.
|
|
41
|
-
*
|
|
42
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
43
|
-
* @param node Destination node.
|
|
44
|
-
* @throws If the binary data is malformed.
|
|
45
|
-
*/
|
|
46
|
-
private static deserializeOperatorNode;
|
|
47
|
-
/**
|
|
48
|
-
* Deserializes a logical expression node from binary format.
|
|
49
|
-
*
|
|
50
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
51
|
-
* @param node Destination node.
|
|
52
|
-
* @throws If the binary data is malformed.
|
|
53
|
-
*/
|
|
54
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<AnyExpressionNode>): void;
|
|
55
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type Modifier } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `ModifierDeserializer` is responsible for deserializing modifiers.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* `match-case`, `~third-party`, `domain=example.com|~example.org`
|
|
9
|
-
*/
|
|
10
|
-
export declare class ModifierDeserializer extends BaseDeserializer {
|
|
11
|
-
/**
|
|
12
|
-
* Deserializes a modifier node from binary format.
|
|
13
|
-
*
|
|
14
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
15
|
-
* @param node Destination node.
|
|
16
|
-
*/
|
|
17
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<Modifier>): void;
|
|
18
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type ModifierList } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `ModifierListDeserializer` is responsible for deserializing modifier lists. Please note that the name is not
|
|
6
|
-
* uniform, "modifiers" are also known as "options".
|
|
7
|
-
*
|
|
8
|
-
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules-modifiers}
|
|
9
|
-
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#non-basic-rules-modifiers}
|
|
10
|
-
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#options}
|
|
11
|
-
*/
|
|
12
|
-
export declare class ModifierListDeserializer extends BaseDeserializer {
|
|
13
|
-
/**
|
|
14
|
-
* Deserializes a modifier list node from binary format.
|
|
15
|
-
*
|
|
16
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
17
|
-
* @param node Destination node.
|
|
18
|
-
*/
|
|
19
|
-
static deserialize(buffer: InputByteBuffer, node: ModifierList): void;
|
|
20
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type ParameterList } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializes binary data into parameter list nodes.
|
|
6
|
-
* Optionally uses a map of frequent values for optimization.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ParameterListDeserializer extends BaseDeserializer {
|
|
9
|
-
/**
|
|
10
|
-
* Deserializes a parameter list node from binary format.
|
|
11
|
-
*
|
|
12
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
13
|
-
* @param node Destination node.
|
|
14
|
-
* @param frequentValuesMap Optional map of frequent values.
|
|
15
|
-
* @throws If the binary data is malformed.
|
|
16
|
-
*/
|
|
17
|
-
static deserialize(buffer: InputByteBuffer, node: ParameterList, frequentValuesMap?: Map<number, string>): void;
|
|
18
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type Value } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Value deserializer.
|
|
6
|
-
*/
|
|
7
|
-
export declare class ValueDeserializer extends BaseDeserializer {
|
|
8
|
-
/**
|
|
9
|
-
* Deserializes a value node from binary format.
|
|
10
|
-
*
|
|
11
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
12
|
-
* @param node Destination node.
|
|
13
|
-
* @param frequentValuesMap Optional map of frequent values.
|
|
14
|
-
* @throws If the binary data is malformed.
|
|
15
|
-
*/
|
|
16
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<Value>, frequentValuesMap?: Map<number, string>): void;
|
|
17
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type HostRule } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `HostRuleDeserializer` is responsible for deserializing hosts-like rules.
|
|
6
|
-
*
|
|
7
|
-
* HostRule is a structure for simple host-level rules (i.e. /etc/hosts syntax).
|
|
8
|
-
* It also supports "just domain" syntax. In this case, the IP will be set to 0.0.0.0.
|
|
9
|
-
*/
|
|
10
|
-
export declare class HostRuleDeserializer extends BaseDeserializer {
|
|
11
|
-
/**
|
|
12
|
-
* Deserializes a host rule node from binary format.
|
|
13
|
-
*
|
|
14
|
-
* @param buffer Input byte buffer to read from.
|
|
15
|
-
* @param node Destination node to write to.
|
|
16
|
-
*/
|
|
17
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<HostRule>): void;
|
|
18
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
2
|
-
import { type HostnameList } from '../../nodes/index.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* Deserializes hostname list nodes from binary format.
|
|
6
|
-
*/
|
|
7
|
-
export declare class HostnameListDeserializer extends BaseDeserializer {
|
|
8
|
-
/**
|
|
9
|
-
* Deserializes a hostname list node from binary format.
|
|
10
|
-
*
|
|
11
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
12
|
-
* @param node Destination node.
|
|
13
|
-
*/
|
|
14
|
-
static deserialize(buffer: InputByteBuffer, node: HostnameList): void;
|
|
15
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type NetworkRule } from '../../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from '../base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `NetworkRuleDeserializer` is responsible for deserializing network rules.
|
|
6
|
-
*
|
|
7
|
-
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
|
|
8
|
-
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#basic}
|
|
9
|
-
*/
|
|
10
|
-
export declare class NetworkRuleDeserializer extends BaseDeserializer {
|
|
11
|
-
/**
|
|
12
|
-
* Deserializes a network rule node from binary format.
|
|
13
|
-
*
|
|
14
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
15
|
-
* @param node Destination node.
|
|
16
|
-
*/
|
|
17
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<NetworkRule>): void;
|
|
18
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type AnyRule } from '../nodes/index.js';
|
|
2
|
-
import { BaseDeserializer } from './base-deserializer.js';
|
|
3
|
-
import { type InputByteBuffer } from '../utils/input-byte-buffer.js';
|
|
4
|
-
/**
|
|
5
|
-
* `RuleDeserializer` is responsible for deserializing the rules.
|
|
6
|
-
*
|
|
7
|
-
* It automatically determines the category and syntax of the rule, so you can pass any kind of rule to it.
|
|
8
|
-
*/
|
|
9
|
-
export declare class RuleDeserializer extends BaseDeserializer {
|
|
10
|
-
/**
|
|
11
|
-
* Deserializes a rule node from binary format.
|
|
12
|
-
*
|
|
13
|
-
* @param buffer ByteBuffer for reading binary data.
|
|
14
|
-
* @param node Destination node.
|
|
15
|
-
*/
|
|
16
|
-
static deserialize(buffer: InputByteBuffer, node: Partial<AnyRule>): void;
|
|
17
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
3
|
-
* as it allows us to use a single byte to represent a property.
|
|
4
|
-
*
|
|
5
|
-
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
6
|
-
*
|
|
7
|
-
* @note Only 256 values can be represented this way.
|
|
8
|
-
*/
|
|
9
|
-
export declare const AgentCommentMarshallingMap: {
|
|
10
|
-
readonly Children: 1;
|
|
11
|
-
readonly Start: 2;
|
|
12
|
-
readonly End: 3;
|
|
13
|
-
};
|
|
14
|
-
export type AgentCommentMarshallingMap = typeof AgentCommentMarshallingMap[keyof typeof AgentCommentMarshallingMap];
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
3
|
-
* as it allows us to use a single byte to represent a property.
|
|
4
|
-
*
|
|
5
|
-
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
6
|
-
*
|
|
7
|
-
* @note Only 256 values can be represented this way.
|
|
8
|
-
*/
|
|
9
|
-
export declare const AgentNodeMarshallingMap: {
|
|
10
|
-
readonly Adblock: 1;
|
|
11
|
-
readonly Version: 2;
|
|
12
|
-
readonly Start: 3;
|
|
13
|
-
readonly End: 4;
|
|
14
|
-
};
|
|
15
|
-
export type AgentNodeMarshallingMap = typeof AgentNodeMarshallingMap[keyof typeof AgentNodeMarshallingMap];
|
|
16
|
-
/**
|
|
17
|
-
* Value map for binary deserialization. This helps to reduce the size of the serialized data,
|
|
18
|
-
* as it allows us to use a single byte to represent frequently used values.
|
|
19
|
-
*/
|
|
20
|
-
export declare const FREQUENT_AGENTS_DESERIALIZATION_MAP: Map<number, string>;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
3
|
-
* as it allows us to use a single byte to represent a property.
|
|
4
|
-
*
|
|
5
|
-
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
6
|
-
*
|
|
7
|
-
* @note Only 256 values can be represented this way.
|
|
8
|
-
*/
|
|
9
|
-
export declare const ConfigCommentRuleMarshallingMap: {
|
|
10
|
-
readonly Marker: 1;
|
|
11
|
-
readonly Command: 2;
|
|
12
|
-
readonly Params: 3;
|
|
13
|
-
readonly Comment: 4;
|
|
14
|
-
readonly Start: 5;
|
|
15
|
-
readonly End: 6;
|
|
16
|
-
};
|
|
17
|
-
export type ConfigCommentRuleMarshallingMap = typeof ConfigCommentRuleMarshallingMap[keyof typeof ConfigCommentRuleMarshallingMap];
|
|
18
|
-
/**
|
|
19
|
-
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
20
|
-
* as it allows us to use a single byte to represent a property.
|
|
21
|
-
*
|
|
22
|
-
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
23
|
-
*
|
|
24
|
-
* @note Only 256 values can be represented this way.
|
|
25
|
-
*/
|
|
26
|
-
export declare const ConfigNodeMarshallingMap: {
|
|
27
|
-
readonly Value: 1;
|
|
28
|
-
readonly Start: 2;
|
|
29
|
-
readonly End: 3;
|
|
30
|
-
};
|
|
31
|
-
export type ConfigNodeMarshallingMap = typeof ConfigNodeMarshallingMap[keyof typeof ConfigNodeMarshallingMap];
|
|
32
|
-
/**
|
|
33
|
-
* Value map for binary serialization. This helps to reduce the size of the serialized data,
|
|
34
|
-
* as it allows us to use a single byte to represent frequently used values.
|
|
35
|
-
*
|
|
36
|
-
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
37
|
-
*
|
|
38
|
-
* @note Only 256 values can be represented this way.
|
|
39
|
-
*
|
|
40
|
-
* @see {@link https://github.com/AdguardTeam/AGLint/blob/master/src/linter/inline-config.ts}
|
|
41
|
-
*/
|
|
42
|
-
export declare const FREQUENT_COMMANDS_SERIALIZATION_MAP: Map<string, number>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Property map for binary serialization. This helps to reduce the size of the serialized data,
|
|
3
|
-
* as it allows us to use a single byte to represent a property.
|
|
4
|
-
*
|
|
5
|
-
* ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
|
|
6
|
-
*
|
|
7
|
-
* @note Only 256 values can be represented this way.
|
|
8
|
-
*/
|
|
9
|
-
export declare const HintCommentMarshallingMap: {
|
|
10
|
-
readonly Syntax: 1;
|
|
11
|
-
readonly Children: 2;
|
|
12
|
-
readonly Start: 3;
|
|
13
|
-
readonly End: 4;
|
|
14
|
-
};
|
|
15
|
-
export type HintCommentMarshallingMap = typeof HintCommentMarshallingMap[keyof typeof HintCommentMarshallingMap];
|