@adguard/agtree 2.1.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ast-utils/clone.js +65 -0
- package/dist/cjs/ast-utils/modifiers.js +56 -0
- package/dist/cjs/ast-utils/network-rules.js +43 -0
- package/dist/cjs/ast-utils/scriptlets.js +93 -0
- package/dist/cjs/common/abp-snippet-injection-body-common.js +18 -0
- package/dist/cjs/common/agent-common.js +58 -0
- package/dist/cjs/common/ubo-selector-common.js +18 -0
- package/dist/cjs/compatibility-tables/base.js +264 -0
- package/dist/cjs/compatibility-tables/compatibility-table-data.js +15 -0
- package/dist/cjs/compatibility-tables/modifiers.js +57 -0
- package/dist/cjs/compatibility-tables/platforms.js +58 -0
- package/dist/cjs/compatibility-tables/redirects.js +102 -0
- package/dist/cjs/compatibility-tables/schemas/base.js +116 -0
- package/dist/cjs/compatibility-tables/schemas/modifier.js +107 -0
- package/dist/cjs/compatibility-tables/schemas/platform.js +71 -0
- package/dist/cjs/compatibility-tables/schemas/redirect.js +31 -0
- package/dist/cjs/compatibility-tables/schemas/resource-type.js +39 -0
- package/dist/cjs/compatibility-tables/schemas/scriptlet.js +81 -0
- package/dist/cjs/compatibility-tables/scriptlets.js +30 -0
- package/dist/cjs/compatibility-tables/utils/platform-helpers.js +112 -0
- package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +64 -0
- package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +27 -0
- package/dist/cjs/converter/base-interfaces/base-converter.js +61 -0
- package/dist/cjs/converter/base-interfaces/conversion-result.js +41 -0
- package/dist/cjs/converter/base-interfaces/rule-converter-base.js +62 -0
- package/dist/cjs/converter/comment/index.js +56 -0
- package/dist/cjs/converter/cosmetic/css.js +71 -0
- package/dist/cjs/converter/cosmetic/element-hiding.js +64 -0
- package/dist/cjs/converter/cosmetic/header-removal.js +126 -0
- package/dist/cjs/converter/cosmetic/html.js +384 -0
- package/dist/cjs/converter/cosmetic/index.js +120 -0
- package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +81 -0
- package/dist/cjs/converter/cosmetic/scriptlet.js +356 -0
- package/dist/cjs/converter/css/index.js +193 -0
- package/dist/cjs/converter/data/css.js +133 -0
- package/dist/cjs/converter/filter-list.js +90 -0
- package/dist/cjs/converter/index.js +15 -0
- package/dist/cjs/converter/misc/network-rule-modifier.js +313 -0
- package/dist/cjs/converter/network/index.js +101 -0
- package/dist/cjs/converter/raw-filter-list.js +58 -0
- package/dist/cjs/converter/rule.js +83 -0
- package/dist/cjs/deserializer/base-deserializer.js +31 -0
- package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +76 -0
- package/dist/cjs/deserializer/comment/agent-deserializer.js +67 -0
- package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +109 -0
- package/dist/cjs/deserializer/comment/config-comment-deserializer.js +113 -0
- package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +69 -0
- package/dist/cjs/deserializer/comment/hint-deserializer.js +88 -0
- package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +71 -0
- package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +114 -0
- package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +67 -0
- package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +127 -0
- package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +55 -0
- package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +46 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +37 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +37 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +52 -0
- package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +38 -0
- package/dist/cjs/deserializer/empty-rule-deserializer.js +46 -0
- package/dist/cjs/deserializer/filterlist-deserializer.js +83 -0
- package/dist/cjs/deserializer/index.js +15 -0
- package/dist/cjs/deserializer/invalid-rule-deserializer.js +48 -0
- package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +48 -0
- package/dist/cjs/deserializer/misc/domain-list-deserializer.js +66 -0
- package/dist/cjs/deserializer/misc/list-item-deserializer.js +65 -0
- package/dist/cjs/deserializer/misc/list-items-deserializer.js +28 -0
- package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +199 -0
- package/dist/cjs/deserializer/misc/modifier-deserializer.js +89 -0
- package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +58 -0
- package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +62 -0
- package/dist/cjs/deserializer/misc/value-deserializer.js +52 -0
- package/dist/cjs/deserializer/network/host-rule-deserializer.js +81 -0
- package/dist/cjs/deserializer/network/hostname-list-deserializer.js +50 -0
- package/dist/cjs/deserializer/network/network-rule-deserializer.js +67 -0
- package/dist/cjs/deserializer/rule-deserializer.js +67 -0
- package/dist/cjs/deserializer/syntax-deserialization-map.js +23 -0
- package/dist/cjs/errors/adblock-syntax-error.js +41 -0
- package/dist/cjs/errors/binary-schema-mismatch-error.js +39 -0
- package/dist/cjs/errors/not-implemented-error.js +33 -0
- package/dist/cjs/errors/rule-conversion-error.js +28 -0
- package/dist/cjs/generator/base-generator.js +29 -0
- package/dist/cjs/generator/comment/agent-comment-generator.js +30 -0
- package/dist/cjs/generator/comment/agent-generator.js +34 -0
- package/dist/cjs/generator/comment/comment-rule-generator.js +102 -0
- package/dist/cjs/generator/comment/config-comment-generator.js +44 -0
- package/dist/cjs/generator/comment/hint-comment-generator.js +27 -0
- package/dist/cjs/generator/comment/hint-generator.js +32 -0
- package/dist/cjs/generator/comment/metadata-comment-generator.js +32 -0
- package/dist/cjs/generator/comment/pre-processor-comment-generator.js +47 -0
- package/dist/cjs/generator/comment/simple-comment-generator.js +28 -0
- package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +36 -0
- package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +41 -0
- package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +43 -0
- package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +92 -0
- package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +66 -0
- package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +41 -0
- package/dist/cjs/generator/css/adg-css-injection-generator.js +41 -0
- package/dist/cjs/generator/filterlist-generator.js +57 -0
- package/dist/cjs/generator/index.js +17 -0
- package/dist/cjs/generator/misc/domain-list-generator.js +25 -0
- package/dist/cjs/generator/misc/list-items-generator.js +38 -0
- package/dist/cjs/generator/misc/logical-expression-generator.js +47 -0
- package/dist/cjs/generator/misc/modifier-generator.js +33 -0
- package/dist/cjs/generator/misc/modifier-list-generator.js +28 -0
- package/dist/cjs/generator/misc/parameter-list-generator.js +41 -0
- package/dist/cjs/generator/misc/value-generator.js +23 -0
- package/dist/cjs/generator/network/host-rule-generator.js +38 -0
- package/dist/cjs/generator/network/network-rule-generator.js +37 -0
- package/dist/cjs/generator/rule-generator.js +64 -0
- package/dist/cjs/index.js +201 -0
- package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +22 -0
- package/dist/cjs/marshalling-utils/comment/agent-common.js +43 -0
- package/dist/cjs/marshalling-utils/comment/config-comment-common.js +58 -0
- package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +23 -0
- package/dist/cjs/marshalling-utils/comment/hint-common.js +60 -0
- package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +44 -0
- package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +63 -0
- package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +23 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +64 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +68 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +25 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +22 -0
- package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +116 -0
- package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +51 -0
- package/dist/cjs/marshalling-utils/empty-rule-common.js +21 -0
- package/dist/cjs/marshalling-utils/filter-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/invalid-rule-common.js +22 -0
- package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +23 -0
- package/dist/cjs/marshalling-utils/misc/binary-type-common.js +67 -0
- package/dist/cjs/marshalling-utils/misc/domain-list-common.js +39 -0
- package/dist/cjs/marshalling-utils/misc/host-rule-common.js +26 -0
- package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/misc/list-item-common.js +23 -0
- package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +89 -0
- package/dist/cjs/marshalling-utils/misc/modifier-common.js +236 -0
- package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +22 -0
- package/dist/cjs/marshalling-utils/misc/value-common.js +23 -0
- package/dist/cjs/marshalling-utils/network/network-rule-common.js +26 -0
- package/dist/cjs/marshalling-utils/syntax-serialization-map.js +32 -0
- package/dist/cjs/nodes/index.js +180 -0
- package/dist/cjs/package.json.js +11 -0
- package/dist/cjs/parser/base-parser.js +32 -0
- package/dist/cjs/parser/comment/agent-comment-parser.js +121 -0
- package/dist/cjs/parser/comment/agent-parser.js +111 -0
- package/dist/cjs/parser/comment/comment-parser.js +110 -0
- package/dist/cjs/parser/comment/config-comment-parser.js +139 -0
- package/dist/cjs/parser/comment/hint-comment-parser.js +119 -0
- package/dist/cjs/parser/comment/hint-parser.js +131 -0
- package/dist/cjs/parser/comment/metadata-comment-parser.js +131 -0
- package/dist/cjs/parser/comment/preprocessor-parser.js +201 -0
- package/dist/cjs/parser/comment/simple-comment-parser.js +108 -0
- package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +81 -0
- package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +151 -0
- package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +112 -0
- package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +456 -0
- package/dist/cjs/parser/css/adg-css-injection-parser.js +213 -0
- package/dist/cjs/parser/css/balancing.js +97 -0
- package/dist/cjs/parser/css/constants.js +21 -0
- package/dist/cjs/parser/css/css-token-stream.js +345 -0
- package/dist/cjs/parser/css/ubo-selector-parser.js +373 -0
- package/dist/cjs/parser/filterlist-parser.js +104 -0
- package/dist/cjs/parser/index.js +21 -0
- package/dist/cjs/parser/misc/app-list-parser.js +47 -0
- package/dist/cjs/parser/misc/domain-list-parser.js +54 -0
- package/dist/cjs/parser/misc/list-items-parser.js +116 -0
- package/dist/cjs/parser/misc/logical-expression-parser.js +283 -0
- package/dist/cjs/parser/misc/method-list-parser.js +48 -0
- package/dist/cjs/parser/misc/modifier-list.js +72 -0
- package/dist/cjs/parser/misc/modifier-parser.js +91 -0
- package/dist/cjs/parser/misc/parameter-list-parser.js +74 -0
- package/dist/cjs/parser/misc/stealth-option-list-parser.js +48 -0
- package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +148 -0
- package/dist/cjs/parser/misc/value-parser.js +39 -0
- package/dist/cjs/parser/network/host-rule-parser.js +151 -0
- package/dist/cjs/parser/network/network-rule-parser.js +113 -0
- package/dist/cjs/parser/options.js +25 -0
- package/dist/cjs/parser/rule-parser.js +194 -0
- package/dist/cjs/serializer/base-serializer.js +31 -0
- package/dist/cjs/serializer/comment/agent-comment-serializer.js +73 -0
- package/dist/cjs/serializer/comment/agent-serializer.js +70 -0
- package/dist/cjs/serializer/comment/comment-rule-serializer.js +107 -0
- package/dist/cjs/serializer/comment/config-comment-serializer.js +84 -0
- package/dist/cjs/serializer/comment/hint-comment-serializer.js +64 -0
- package/dist/cjs/serializer/comment/hint-serializer.js +56 -0
- package/dist/cjs/serializer/comment/metadata-comment-serializer.js +75 -0
- package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +73 -0
- package/dist/cjs/serializer/comment/simple-comment-serializer.js +54 -0
- package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +38 -0
- package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +38 -0
- package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +49 -0
- package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +38 -0
- package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +131 -0
- package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +50 -0
- package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +39 -0
- package/dist/cjs/serializer/empty-rule-serializer.js +36 -0
- package/dist/cjs/serializer/filterlist-serializer.js +48 -0
- package/dist/cjs/serializer/index.js +13 -0
- package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +40 -0
- package/dist/cjs/serializer/invalid-rule-serializer.js +39 -0
- package/dist/cjs/serializer/misc/domain-list-serializer.js +66 -0
- package/dist/cjs/serializer/misc/list-item-serializer.js +57 -0
- package/dist/cjs/serializer/misc/list-items-serializer.js +28 -0
- package/dist/cjs/serializer/misc/logical-expression-serializer.js +138 -0
- package/dist/cjs/serializer/misc/modifier-list-serializer.js +57 -0
- package/dist/cjs/serializer/misc/modifier-serializer.js +51 -0
- package/dist/cjs/serializer/misc/parameter-list-serializer.js +51 -0
- package/dist/cjs/serializer/misc/value-serializer.js +52 -0
- package/dist/cjs/serializer/network/host-rule-serializer.js +72 -0
- package/dist/cjs/serializer/network/hostname-list-serializer.js +49 -0
- package/dist/cjs/serializer/network/network-rule-serializer.js +56 -0
- package/dist/cjs/serializer/rule-serializer.js +63 -0
- package/dist/cjs/utils/adblockers.js +57 -0
- package/dist/cjs/utils/binary-schema-version.js +19 -0
- package/dist/cjs/utils/byte-buffer.js +93 -0
- package/dist/cjs/utils/categorizer.js +46 -0
- package/dist/cjs/utils/clone.js +30 -0
- package/dist/cjs/utils/constants.js +380 -0
- package/dist/cjs/utils/cosmetic-rule-separator.js +129 -0
- package/dist/cjs/utils/deep-freeze.js +34 -0
- package/dist/cjs/utils/domain.js +60 -0
- package/dist/cjs/utils/error.js +51 -0
- package/dist/cjs/utils/index.js +69 -0
- package/dist/cjs/utils/input-byte-buffer.js +259 -0
- package/dist/cjs/utils/is-chromium.js +22 -0
- package/dist/cjs/utils/logical-expression.js +94 -0
- package/dist/cjs/utils/multi-value-map.js +35 -0
- package/dist/cjs/utils/output-byte-buffer.js +225 -0
- package/dist/cjs/utils/position-provider.js +75 -0
- package/dist/cjs/utils/quotes.js +218 -0
- package/dist/cjs/utils/regexp.js +190 -0
- package/dist/cjs/utils/string.js +560 -0
- package/dist/cjs/utils/text-decoder-polyfill.js +109 -0
- package/dist/cjs/utils/text-encoder-polyfill.js +80 -0
- package/dist/cjs/utils/type-guards.js +52 -0
- package/dist/cjs/validator/constants.js +222 -0
- package/dist/cjs/validator/helpers.js +49 -0
- package/dist/cjs/validator/index.js +176 -0
- package/dist/cjs/validator/value.js +565 -0
- package/dist/cjs/version.js +20 -0
- package/dist/esm/ast-utils/clone.mjs +61 -0
- package/dist/esm/ast-utils/modifiers.mjs +53 -0
- package/dist/esm/ast-utils/network-rules.mjs +41 -0
- package/dist/esm/ast-utils/scriptlets.mjs +87 -0
- package/dist/esm/common/abp-snippet-injection-body-common.mjs +16 -0
- package/dist/esm/common/agent-common.mjs +56 -0
- package/dist/esm/common/ubo-selector-common.mjs +18 -0
- package/dist/esm/compatibility-tables/base.mjs +262 -0
- package/dist/esm/compatibility-tables/compatibility-table-data.mjs +11 -0
- package/dist/esm/compatibility-tables/modifiers.mjs +55 -0
- package/dist/esm/compatibility-tables/platforms.mjs +58 -0
- package/dist/esm/compatibility-tables/redirects.mjs +100 -0
- package/dist/esm/compatibility-tables/schemas/base.mjs +111 -0
- package/dist/esm/compatibility-tables/schemas/modifier.mjs +105 -0
- package/dist/esm/compatibility-tables/schemas/platform.mjs +69 -0
- package/dist/esm/compatibility-tables/schemas/redirect.mjs +29 -0
- package/dist/esm/compatibility-tables/schemas/resource-type.mjs +37 -0
- package/dist/esm/compatibility-tables/schemas/scriptlet.mjs +79 -0
- package/dist/esm/compatibility-tables/scriptlets.mjs +28 -0
- package/dist/esm/compatibility-tables/utils/platform-helpers.mjs +105 -0
- package/dist/esm/compatibility-tables/utils/resource-type-helpers.mjs +61 -0
- package/dist/esm/compatibility-tables/utils/zod-camelcase.mjs +25 -0
- package/dist/esm/converter/base-interfaces/base-converter.mjs +59 -0
- package/dist/esm/converter/base-interfaces/conversion-result.mjs +38 -0
- package/dist/esm/converter/base-interfaces/rule-converter-base.mjs +60 -0
- package/dist/esm/converter/comment/index.mjs +54 -0
- package/dist/esm/converter/cosmetic/css.mjs +69 -0
- package/dist/esm/converter/cosmetic/element-hiding.mjs +62 -0
- package/dist/esm/converter/cosmetic/header-removal.mjs +123 -0
- package/dist/esm/converter/cosmetic/html.mjs +381 -0
- package/dist/esm/converter/cosmetic/index.mjs +118 -0
- package/dist/esm/converter/cosmetic/rule-modifiers/adg.mjs +79 -0
- package/dist/esm/converter/cosmetic/scriptlet.mjs +354 -0
- package/dist/esm/converter/css/index.mjs +190 -0
- package/dist/esm/converter/data/css.mjs +126 -0
- package/dist/esm/converter/filter-list.mjs +88 -0
- package/dist/esm/converter/index.mjs +8 -0
- package/dist/esm/converter/misc/network-rule-modifier.mjs +311 -0
- package/dist/esm/converter/network/index.mjs +99 -0
- package/dist/esm/converter/raw-filter-list.mjs +56 -0
- package/dist/esm/converter/rule.mjs +81 -0
- package/dist/esm/deserializer/base-deserializer.mjs +29 -0
- package/dist/esm/deserializer/comment/agent-comment-deserializer.mjs +74 -0
- package/dist/esm/deserializer/comment/agent-deserializer.mjs +65 -0
- package/dist/esm/deserializer/comment/comment-rule-deserializer.mjs +107 -0
- package/dist/esm/deserializer/comment/config-comment-deserializer.mjs +111 -0
- package/dist/esm/deserializer/comment/hint-comment-deserializer.mjs +67 -0
- package/dist/esm/deserializer/comment/hint-deserializer.mjs +85 -0
- package/dist/esm/deserializer/comment/metadata-comment-deserializer.mjs +69 -0
- package/dist/esm/deserializer/comment/pre-processor-comment-deserializer.mjs +112 -0
- package/dist/esm/deserializer/comment/simple-comment-deserializer.mjs +65 -0
- package/dist/esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs +125 -0
- package/dist/esm/deserializer/cosmetic/css-injection-body-deserializer.mjs +53 -0
- package/dist/esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs +44 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.mjs +35 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.mjs +35 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs +50 -0
- package/dist/esm/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.mjs +35 -0
- package/dist/esm/deserializer/empty-rule-deserializer.mjs +44 -0
- package/dist/esm/deserializer/filterlist-deserializer.mjs +81 -0
- package/dist/esm/deserializer/index.mjs +8 -0
- package/dist/esm/deserializer/invalid-rule-deserializer.mjs +46 -0
- package/dist/esm/deserializer/invalid-rule-error-node-deserializer.mjs +46 -0
- package/dist/esm/deserializer/misc/domain-list-deserializer.mjs +64 -0
- package/dist/esm/deserializer/misc/list-item-deserializer.mjs +63 -0
- package/dist/esm/deserializer/misc/list-items-deserializer.mjs +26 -0
- package/dist/esm/deserializer/misc/logical-expression-deserializer.mjs +196 -0
- package/dist/esm/deserializer/misc/modifier-deserializer.mjs +87 -0
- package/dist/esm/deserializer/misc/modifier-list-deserializer.mjs +56 -0
- package/dist/esm/deserializer/misc/parameter-list-deserializer.mjs +60 -0
- package/dist/esm/deserializer/misc/value-deserializer.mjs +50 -0
- package/dist/esm/deserializer/network/host-rule-deserializer.mjs +79 -0
- package/dist/esm/deserializer/network/hostname-list-deserializer.mjs +48 -0
- package/dist/esm/deserializer/network/network-rule-deserializer.mjs +65 -0
- package/dist/esm/deserializer/rule-deserializer.mjs +65 -0
- package/dist/esm/deserializer/syntax-deserialization-map.mjs +21 -0
- package/dist/esm/errors/adblock-syntax-error.mjs +39 -0
- package/dist/esm/errors/binary-schema-mismatch-error.mjs +37 -0
- package/dist/esm/errors/not-implemented-error.mjs +31 -0
- package/dist/esm/errors/rule-conversion-error.mjs +26 -0
- package/dist/esm/generator/base-generator.mjs +27 -0
- package/dist/esm/generator/comment/agent-comment-generator.mjs +28 -0
- package/dist/esm/generator/comment/agent-generator.mjs +32 -0
- package/dist/esm/generator/comment/comment-rule-generator.mjs +100 -0
- package/dist/esm/generator/comment/config-comment-generator.mjs +42 -0
- package/dist/esm/generator/comment/hint-comment-generator.mjs +25 -0
- package/dist/esm/generator/comment/hint-generator.mjs +30 -0
- package/dist/esm/generator/comment/metadata-comment-generator.mjs +30 -0
- package/dist/esm/generator/comment/pre-processor-comment-generator.mjs +45 -0
- package/dist/esm/generator/comment/simple-comment-generator.mjs +26 -0
- package/dist/esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs +34 -0
- package/dist/esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs +39 -0
- package/dist/esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs +41 -0
- package/dist/esm/generator/cosmetic/cosmetic-rule-body-generator.mjs +90 -0
- package/dist/esm/generator/cosmetic/cosmetic-rule-generator.mjs +64 -0
- package/dist/esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs +39 -0
- package/dist/esm/generator/css/adg-css-injection-generator.mjs +39 -0
- package/dist/esm/generator/filterlist-generator.mjs +55 -0
- package/dist/esm/generator/index.mjs +9 -0
- package/dist/esm/generator/misc/domain-list-generator.mjs +23 -0
- package/dist/esm/generator/misc/list-items-generator.mjs +36 -0
- package/dist/esm/generator/misc/logical-expression-generator.mjs +45 -0
- package/dist/esm/generator/misc/modifier-generator.mjs +31 -0
- package/dist/esm/generator/misc/modifier-list-generator.mjs +26 -0
- package/dist/esm/generator/misc/parameter-list-generator.mjs +39 -0
- package/dist/esm/generator/misc/value-generator.mjs +21 -0
- package/dist/esm/generator/network/host-rule-generator.mjs +36 -0
- package/dist/esm/generator/network/network-rule-generator.mjs +35 -0
- package/dist/esm/generator/rule-generator.mjs +62 -0
- package/dist/esm/index.mjs +70 -0
- package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +22 -0
- package/dist/esm/marshalling-utils/comment/agent-common.mjs +41 -0
- package/dist/esm/marshalling-utils/comment/config-comment-common.mjs +56 -0
- package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +23 -0
- package/dist/esm/marshalling-utils/comment/hint-common.mjs +57 -0
- package/dist/esm/marshalling-utils/comment/metadata-comment-common.mjs +42 -0
- package/dist/esm/marshalling-utils/comment/pre-processor-comment-common.mjs +60 -0
- package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +23 -0
- package/dist/esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs +62 -0
- package/dist/esm/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.mjs +66 -0
- package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +25 -0
- package/dist/esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs +22 -0
- package/dist/esm/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.mjs +114 -0
- package/dist/esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs +49 -0
- package/dist/esm/marshalling-utils/empty-rule-common.mjs +21 -0
- package/dist/esm/marshalling-utils/filter-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/invalid-rule-common.mjs +22 -0
- package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +23 -0
- package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +67 -0
- package/dist/esm/marshalling-utils/misc/domain-list-common.mjs +37 -0
- package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +26 -0
- package/dist/esm/marshalling-utils/misc/hostname-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/misc/list-item-common.mjs +23 -0
- package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +86 -0
- package/dist/esm/marshalling-utils/misc/modifier-common.mjs +232 -0
- package/dist/esm/marshalling-utils/misc/modifier-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/misc/parameter-list-common.mjs +22 -0
- package/dist/esm/marshalling-utils/misc/value-common.mjs +23 -0
- package/dist/esm/marshalling-utils/network/network-rule-common.mjs +26 -0
- package/dist/esm/marshalling-utils/syntax-serialization-map.mjs +30 -0
- package/dist/esm/nodes/index.mjs +180 -0
- package/dist/esm/package.json.mjs +9 -0
- package/dist/esm/parser/base-parser.mjs +30 -0
- package/dist/esm/parser/comment/agent-comment-parser.mjs +119 -0
- package/dist/esm/parser/comment/agent-parser.mjs +109 -0
- package/dist/esm/parser/comment/comment-parser.mjs +108 -0
- package/dist/esm/parser/comment/config-comment-parser.mjs +137 -0
- package/dist/esm/parser/comment/hint-comment-parser.mjs +117 -0
- package/dist/esm/parser/comment/hint-parser.mjs +129 -0
- package/dist/esm/parser/comment/metadata-comment-parser.mjs +129 -0
- package/dist/esm/parser/comment/preprocessor-parser.mjs +199 -0
- package/dist/esm/parser/comment/simple-comment-parser.mjs +106 -0
- package/dist/esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs +79 -0
- package/dist/esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs +149 -0
- package/dist/esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs +110 -0
- package/dist/esm/parser/cosmetic/cosmetic-rule-parser.mjs +453 -0
- package/dist/esm/parser/css/adg-css-injection-parser.mjs +208 -0
- package/dist/esm/parser/css/balancing.mjs +94 -0
- package/dist/esm/parser/css/constants.mjs +18 -0
- package/dist/esm/parser/css/css-token-stream.mjs +343 -0
- package/dist/esm/parser/css/ubo-selector-parser.mjs +369 -0
- package/dist/esm/parser/filterlist-parser.mjs +102 -0
- package/dist/esm/parser/index.mjs +11 -0
- package/dist/esm/parser/misc/app-list-parser.mjs +45 -0
- package/dist/esm/parser/misc/domain-list-parser.mjs +52 -0
- package/dist/esm/parser/misc/list-items-parser.mjs +113 -0
- package/dist/esm/parser/misc/logical-expression-parser.mjs +281 -0
- package/dist/esm/parser/misc/method-list-parser.mjs +46 -0
- package/dist/esm/parser/misc/modifier-list.mjs +70 -0
- package/dist/esm/parser/misc/modifier-parser.mjs +89 -0
- package/dist/esm/parser/misc/parameter-list-parser.mjs +72 -0
- package/dist/esm/parser/misc/stealth-option-list-parser.mjs +46 -0
- package/dist/esm/parser/misc/ubo-parameter-list-parser.mjs +146 -0
- package/dist/esm/parser/misc/value-parser.mjs +37 -0
- package/dist/esm/parser/network/host-rule-parser.mjs +130 -0
- package/dist/esm/parser/network/network-rule-parser.mjs +111 -0
- package/dist/esm/parser/options.mjs +23 -0
- package/dist/esm/parser/rule-parser.mjs +192 -0
- package/dist/esm/serializer/base-serializer.mjs +29 -0
- package/dist/esm/serializer/comment/agent-comment-serializer.mjs +71 -0
- package/dist/esm/serializer/comment/agent-serializer.mjs +68 -0
- package/dist/esm/serializer/comment/comment-rule-serializer.mjs +105 -0
- package/dist/esm/serializer/comment/config-comment-serializer.mjs +82 -0
- package/dist/esm/serializer/comment/hint-comment-serializer.mjs +62 -0
- package/dist/esm/serializer/comment/hint-serializer.mjs +54 -0
- package/dist/esm/serializer/comment/metadata-comment-serializer.mjs +73 -0
- package/dist/esm/serializer/comment/pre-processor-comment-serializer.mjs +71 -0
- package/dist/esm/serializer/comment/simple-comment-serializer.mjs +52 -0
- package/dist/esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs +36 -0
- package/dist/esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs +36 -0
- package/dist/esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs +47 -0
- package/dist/esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs +36 -0
- package/dist/esm/serializer/cosmetic/cosmetic-rule-serializer.mjs +129 -0
- package/dist/esm/serializer/cosmetic/css-injection-body-serializer.mjs +48 -0
- package/dist/esm/serializer/cosmetic/element-hiding-body-serializer.mjs +37 -0
- package/dist/esm/serializer/empty-rule-serializer.mjs +34 -0
- package/dist/esm/serializer/filterlist-serializer.mjs +46 -0
- package/dist/esm/serializer/index.mjs +7 -0
- package/dist/esm/serializer/invalid-rule-error-node-serializer.mjs +38 -0
- package/dist/esm/serializer/invalid-rule-serializer.mjs +37 -0
- package/dist/esm/serializer/misc/domain-list-serializer.mjs +64 -0
- package/dist/esm/serializer/misc/list-item-serializer.mjs +55 -0
- package/dist/esm/serializer/misc/list-items-serializer.mjs +26 -0
- package/dist/esm/serializer/misc/logical-expression-serializer.mjs +136 -0
- package/dist/esm/serializer/misc/modifier-list-serializer.mjs +55 -0
- package/dist/esm/serializer/misc/modifier-serializer.mjs +49 -0
- package/dist/esm/serializer/misc/parameter-list-serializer.mjs +49 -0
- package/dist/esm/serializer/misc/value-serializer.mjs +50 -0
- package/dist/esm/serializer/network/host-rule-serializer.mjs +70 -0
- package/dist/esm/serializer/network/hostname-list-serializer.mjs +47 -0
- package/dist/esm/serializer/network/network-rule-serializer.mjs +54 -0
- package/dist/esm/serializer/rule-serializer.mjs +61 -0
- package/dist/esm/utils/adblockers.mjs +57 -0
- package/dist/esm/utils/binary-schema-version.mjs +17 -0
- package/dist/esm/utils/byte-buffer.mjs +91 -0
- package/dist/esm/utils/categorizer.mjs +44 -0
- package/dist/esm/utils/clone.mjs +28 -0
- package/dist/esm/utils/constants.mjs +249 -0
- package/dist/esm/utils/cosmetic-rule-separator.mjs +127 -0
- package/dist/esm/utils/deep-freeze.mjs +32 -0
- package/dist/esm/utils/domain.mjs +56 -0
- package/dist/esm/utils/error.mjs +49 -0
- package/dist/esm/utils/index.mjs +21 -0
- package/dist/esm/utils/input-byte-buffer.mjs +257 -0
- package/dist/esm/utils/is-chromium.mjs +20 -0
- package/dist/esm/utils/logical-expression.mjs +92 -0
- package/dist/esm/utils/multi-value-map.mjs +33 -0
- package/dist/esm/utils/output-byte-buffer.mjs +223 -0
- package/dist/esm/utils/position-provider.mjs +73 -0
- package/dist/esm/utils/quotes.mjs +215 -0
- package/dist/esm/utils/regexp.mjs +176 -0
- package/dist/esm/utils/string.mjs +556 -0
- package/dist/esm/utils/text-decoder-polyfill.mjs +107 -0
- package/dist/esm/utils/text-encoder-polyfill.mjs +78 -0
- package/dist/esm/utils/type-guards.mjs +47 -0
- package/dist/esm/validator/constants.mjs +210 -0
- package/dist/esm/validator/helpers.mjs +45 -0
- package/dist/esm/validator/index.mjs +174 -0
- package/dist/esm/validator/value.mjs +563 -0
- package/dist/esm/version.mjs +18 -0
- package/dist/types/ast-utils/clone.d.ts +26 -0
- package/dist/types/ast-utils/filter-list.d.ts +11 -0
- package/dist/types/ast-utils/modifiers.d.ts +20 -0
- package/dist/types/ast-utils/network-rules.d.ts +15 -0
- package/dist/types/ast-utils/scriptlets.d.ts +52 -0
- package/dist/types/common/abp-snippet-injection-body-common.d.ts +8 -0
- package/dist/types/common/agent-common.d.ts +10 -0
- package/dist/types/common/ubo-selector-common.d.ts +9 -0
- package/dist/types/compatibility-tables/base.d.ts +157 -0
- package/dist/types/compatibility-tables/compatibility-table-data.d.ts +67 -0
- package/dist/types/compatibility-tables/index.d.ts +13 -0
- package/dist/types/compatibility-tables/modifiers.d.ts +22 -0
- package/dist/types/compatibility-tables/platforms.d.ts +47 -0
- package/dist/types/compatibility-tables/redirects.d.ts +33 -0
- package/dist/types/compatibility-tables/schemas/base.d.ts +135 -0
- package/dist/types/compatibility-tables/schemas/index.d.ts +8 -0
- package/dist/types/compatibility-tables/schemas/modifier.d.ts +31 -0
- package/dist/types/compatibility-tables/schemas/platform.d.ts +16 -0
- package/dist/types/compatibility-tables/schemas/redirect.d.ts +25 -0
- package/dist/types/compatibility-tables/schemas/resource-type.d.ts +27 -0
- package/dist/types/compatibility-tables/schemas/scriptlet.d.ts +31 -0
- package/dist/types/compatibility-tables/scriptlets.d.ts +15 -0
- package/dist/types/compatibility-tables/types.d.ts +34 -0
- package/dist/types/compatibility-tables/utils/platform-helpers.d.ts +44 -0
- package/dist/types/compatibility-tables/utils/resource-type-helpers.d.ts +20 -0
- package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +15 -0
- package/dist/types/converter/base-interfaces/base-converter.d.ts +42 -0
- package/dist/types/converter/base-interfaces/conversion-result.d.ts +43 -0
- package/dist/types/converter/base-interfaces/rule-converter-base.d.ts +44 -0
- package/dist/types/converter/comment/index.d.ts +23 -0
- package/dist/types/converter/cosmetic/css.d.ts +23 -0
- package/dist/types/converter/cosmetic/element-hiding.d.ts +23 -0
- package/dist/types/converter/cosmetic/header-removal.d.ts +37 -0
- package/dist/types/converter/cosmetic/html.d.ts +54 -0
- package/dist/types/converter/cosmetic/index.d.ts +33 -0
- package/dist/types/converter/cosmetic/rule-modifiers/adg.d.ts +21 -0
- package/dist/types/converter/cosmetic/scriptlet.d.ts +33 -0
- package/dist/types/converter/css/index.d.ts +23 -0
- package/dist/types/converter/data/css.d.ts +48 -0
- package/dist/types/converter/filter-list.d.ts +31 -0
- package/dist/types/converter/index.d.ts +5 -0
- package/dist/types/converter/misc/network-rule-modifier.d.ts +35 -0
- package/dist/types/converter/network/index.d.ts +33 -0
- package/dist/types/converter/raw-filter-list.d.ts +31 -0
- package/dist/types/converter/raw-rule.d.ts +28 -0
- package/dist/types/converter/rule.d.ts +37 -0
- package/dist/types/deserializer/base-deserializer.d.ts +15 -0
- package/dist/types/deserializer/comment/agent-comment-deserializer.d.ts +34 -0
- package/dist/types/deserializer/comment/agent-deserializer.d.ts +25 -0
- package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +69 -0
- package/dist/types/deserializer/comment/config-comment-deserializer.d.ts +27 -0
- package/dist/types/deserializer/comment/hint-comment-deserializer.d.ts +24 -0
- package/dist/types/deserializer/comment/hint-deserializer.d.ts +26 -0
- package/dist/types/deserializer/comment/metadata-comment-deserializer.d.ts +26 -0
- package/dist/types/deserializer/comment/pre-processor-comment-deserializer.d.ts +29 -0
- package/dist/types/deserializer/comment/simple-comment-deserializer.d.ts +26 -0
- package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +12 -0
- package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +12 -0
- package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +12 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +13 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +13 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +15 -0
- package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +14 -0
- package/dist/types/deserializer/empty-rule-deserializer.d.ts +12 -0
- package/dist/types/deserializer/filterlist-deserializer.d.ts +30 -0
- package/dist/types/deserializer/index.d.ts +2 -0
- package/dist/types/deserializer/invalid-rule-deserializer.d.ts +12 -0
- package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +12 -0
- package/dist/types/deserializer/misc/domain-list-deserializer.d.ts +15 -0
- package/dist/types/deserializer/misc/list-item-deserializer.d.ts +13 -0
- package/dist/types/deserializer/misc/list-items-deserializer.d.ts +12 -0
- package/dist/types/deserializer/misc/logical-expression-deserializer.d.ts +55 -0
- package/dist/types/deserializer/misc/modifier-deserializer.d.ts +18 -0
- package/dist/types/deserializer/misc/modifier-list-deserializer.d.ts +20 -0
- package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +14 -0
- package/dist/types/deserializer/misc/value-deserializer.d.ts +17 -0
- package/dist/types/deserializer/network/host-rule-deserializer.d.ts +30 -0
- package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +12 -0
- package/dist/types/deserializer/network/network-rule-deserializer.d.ts +18 -0
- package/dist/types/deserializer/rule-deserializer.d.ts +17 -0
- package/dist/types/deserializer/syntax-deserialization-map.d.ts +2 -0
- package/dist/types/errors/adblock-syntax-error.d.ts +25 -0
- package/dist/types/errors/binary-schema-mismatch-error.d.ts +23 -0
- package/dist/types/errors/not-implemented-error.d.ts +14 -0
- package/dist/types/errors/rule-conversion-error.d.ts +14 -0
- package/dist/types/generator/base-generator.d.ts +12 -0
- package/dist/types/generator/comment/agent-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/agent-generator.d.ts +11 -0
- package/dist/types/generator/comment/comment-rule-generator.d.ts +67 -0
- package/dist/types/generator/comment/config-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/hint-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/hint-generator.d.ts +11 -0
- package/dist/types/generator/comment/index.d.ts +2 -0
- package/dist/types/generator/comment/metadata-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +11 -0
- package/dist/types/generator/comment/simple-comment-generator.d.ts +11 -0
- package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +11 -0
- package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +17 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +36 -0
- package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +15 -0
- package/dist/types/generator/cosmetic/index.d.ts +1 -0
- package/dist/types/generator/css/adg-css-injection-generator.d.ts +12 -0
- package/dist/types/generator/css/ubo-selector-generator.d.ts +11 -0
- package/dist/types/generator/filterlist-generator.d.ts +17 -0
- package/dist/types/generator/index.d.ts +3 -0
- package/dist/types/generator/misc/domain-list-generator.d.ts +12 -0
- package/dist/types/generator/misc/list-items-generator.d.ts +22 -0
- package/dist/types/generator/misc/logical-expression-generator.d.ts +11 -0
- package/dist/types/generator/misc/modifier-generator.d.ts +11 -0
- package/dist/types/generator/misc/modifier-list-generator.d.ts +11 -0
- package/dist/types/generator/misc/parameter-list-generator.d.ts +12 -0
- package/dist/types/generator/misc/value-generator.d.ts +11 -0
- package/dist/types/generator/network/host-rule-generator.d.ts +11 -0
- package/dist/types/generator/network/index.d.ts +2 -0
- package/dist/types/generator/network/network-rule-generator.d.ts +11 -0
- package/dist/types/generator/rule-generator.d.ts +21 -0
- package/dist/types/index.d.ts +55 -0
- package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +13 -0
- package/dist/types/marshalling-utils/comment/agent-common.d.ts +19 -0
- package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +40 -0
- package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +14 -0
- package/dist/types/marshalling-utils/comment/hint-common.d.ts +32 -0
- package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +20 -0
- package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +36 -0
- package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +14 -0
- package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +22 -0
- package/dist/types/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.d.ts +9 -0
- package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +16 -0
- package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +13 -0
- package/dist/types/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.d.ts +9 -0
- package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +27 -0
- package/dist/types/marshalling-utils/empty-rule-common.d.ts +12 -0
- package/dist/types/marshalling-utils/filter-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/invalid-rule-common.d.ts +13 -0
- package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +56 -0
- package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +23 -0
- package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +17 -0
- package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/misc/list-item-common.d.ts +14 -0
- package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +44 -0
- package/dist/types/marshalling-utils/misc/modifier-common.d.ts +40 -0
- package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +13 -0
- package/dist/types/marshalling-utils/misc/value-common.d.ts +14 -0
- package/dist/types/marshalling-utils/network/network-rule-common.d.ts +17 -0
- package/dist/types/marshalling-utils/syntax-serialization-map.d.ts +2 -0
- package/dist/types/nodes/index.d.ts +1177 -0
- package/dist/types/parser/base-parser.d.ts +16 -0
- package/dist/types/parser/comment/agent-comment-parser.d.ts +42 -0
- package/dist/types/parser/comment/agent-parser.d.ts +33 -0
- package/dist/types/parser/comment/comment-parser.d.ts +76 -0
- package/dist/types/parser/comment/config-comment-parser.d.ts +31 -0
- package/dist/types/parser/comment/hint-comment-parser.d.ts +33 -0
- package/dist/types/parser/comment/hint-parser.d.ts +30 -0
- package/dist/types/parser/comment/metadata-comment-parser.d.ts +29 -0
- package/dist/types/parser/comment/preprocessor-parser.d.ts +43 -0
- package/dist/types/parser/comment/simple-comment-parser.d.ts +33 -0
- package/dist/types/parser/cosmetic/body/abp-snippet-injection-body-parser.d.ts +34 -0
- package/dist/types/parser/cosmetic/body/adg-scriptlet-injection-body-parser.d.ts +47 -0
- package/dist/types/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.d.ts +44 -0
- package/dist/types/parser/cosmetic/cosmetic-rule-parser.d.ts +51 -0
- package/dist/types/parser/css/adg-css-injection-parser.d.ts +28 -0
- package/dist/types/parser/css/balancing.d.ts +36 -0
- package/dist/types/parser/css/constants.d.ts +10 -0
- package/dist/types/parser/css/css-token-stream.d.ts +210 -0
- package/dist/types/parser/css/ubo-selector-parser.d.ts +46 -0
- package/dist/types/parser/filterlist-parser.d.ts +29 -0
- package/dist/types/parser/index.d.ts +5 -0
- package/dist/types/parser/misc/app-list-parser.d.ts +22 -0
- package/dist/types/parser/misc/domain-list-parser.d.ts +26 -0
- package/dist/types/parser/misc/list-items-parser.d.ts +34 -0
- package/dist/types/parser/misc/logical-expression-parser.d.ts +41 -0
- package/dist/types/parser/misc/method-list-parser.d.ts +22 -0
- package/dist/types/parser/misc/modifier-list.d.ts +24 -0
- package/dist/types/parser/misc/modifier-parser.d.ts +21 -0
- package/dist/types/parser/misc/parameter-list-parser.d.ts +14 -0
- package/dist/types/parser/misc/stealth-option-list-parser.d.ts +22 -0
- package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +18 -0
- package/dist/types/parser/misc/value-parser.d.ts +18 -0
- package/dist/types/parser/network/host-rule-parser.d.ts +35 -0
- package/dist/types/parser/network/network-rule-parser.d.ts +31 -0
- package/dist/types/parser/options.d.ts +41 -0
- package/dist/types/parser/rule-parser.d.ts +78 -0
- package/dist/types/serializer/base-serializer.d.ts +15 -0
- package/dist/types/serializer/comment/agent-comment-serializer.d.ts +34 -0
- package/dist/types/serializer/comment/agent-serializer.d.ts +24 -0
- package/dist/types/serializer/comment/comment-rule-serializer.d.ts +68 -0
- package/dist/types/serializer/comment/config-comment-serializer.d.ts +25 -0
- package/dist/types/serializer/comment/hint-comment-serializer.d.ts +23 -0
- package/dist/types/serializer/comment/hint-serializer.d.ts +24 -0
- package/dist/types/serializer/comment/metadata-comment-serializer.d.ts +25 -0
- package/dist/types/serializer/comment/pre-processor-comment-serializer.d.ts +28 -0
- package/dist/types/serializer/comment/simple-comment-serializer.d.ts +24 -0
- package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +25 -0
- package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +25 -0
- package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +14 -0
- package/dist/types/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.d.ts +25 -0
- package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +26 -0
- package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +12 -0
- package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +12 -0
- package/dist/types/serializer/empty-rule-serializer.d.ts +12 -0
- package/dist/types/serializer/filterlist-serializer.d.ts +16 -0
- package/dist/types/serializer/index.d.ts +1 -0
- package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +12 -0
- package/dist/types/serializer/invalid-rule-serializer.d.ts +12 -0
- package/dist/types/serializer/misc/domain-list-serializer.d.ts +21 -0
- package/dist/types/serializer/misc/list-item-serializer.d.ts +13 -0
- package/dist/types/serializer/misc/list-items-serializer.d.ts +12 -0
- package/dist/types/serializer/misc/logical-expression-serializer.d.ts +51 -0
- package/dist/types/serializer/misc/modifier-list-serializer.d.ts +20 -0
- package/dist/types/serializer/misc/modifier-serializer.d.ts +18 -0
- package/dist/types/serializer/misc/parameter-list-serializer.d.ts +14 -0
- package/dist/types/serializer/misc/value-serializer.d.ts +17 -0
- package/dist/types/serializer/network/host-rule-serializer.d.ts +30 -0
- package/dist/types/serializer/network/hostname-list-serializer.d.ts +12 -0
- package/dist/types/serializer/network/network-rule-serializer.d.ts +18 -0
- package/dist/types/serializer/rule-serializer.d.ts +17 -0
- package/dist/types/utils/adblockers.d.ts +48 -0
- package/dist/types/utils/binary-schema-version.d.ts +9 -0
- package/dist/types/utils/byte-buffer.d.ts +54 -0
- package/dist/types/utils/categorizer.d.ts +14 -0
- package/dist/types/utils/clone.d.ts +15 -0
- package/dist/types/utils/constants.d.ts +188 -0
- package/dist/types/utils/cosmetic-rule-separator.d.ts +45 -0
- package/dist/types/utils/deep-freeze.d.ts +13 -0
- package/dist/types/utils/domain.d.ts +26 -0
- package/dist/types/utils/error.d.ts +8 -0
- package/dist/types/utils/index.d.ts +15 -0
- package/dist/types/utils/input-byte-buffer.d.ts +140 -0
- package/dist/types/utils/is-chromium.d.ts +7 -0
- package/dist/types/utils/logical-expression.d.ts +45 -0
- package/dist/types/utils/multi-value-map.d.ts +16 -0
- package/dist/types/utils/output-byte-buffer.d.ts +126 -0
- package/dist/types/utils/position-provider.d.ts +46 -0
- package/dist/types/utils/quotes.d.ts +93 -0
- package/dist/types/utils/regexp.d.ts +54 -0
- package/dist/types/utils/storage-interface.d.ts +23 -0
- package/dist/types/utils/string.d.ts +277 -0
- package/dist/types/utils/text-decoder-polyfill.d.ts +14 -0
- package/dist/types/utils/text-encoder-polyfill.d.ts +18 -0
- package/dist/types/utils/type-guards.d.ts +47 -0
- package/dist/types/validator/constants.d.ts +89 -0
- package/dist/types/validator/helpers.d.ts +37 -0
- package/dist/types/validator/index.d.ts +38 -0
- package/dist/types/validator/value.d.ts +11 -0
- package/dist/types/version.d.ts +5 -0
- package/package.json +91 -37
- package/dist/agtree.d.ts +0 -4152
- package/dist/agtree.js +0 -15741
- package/dist/agtree.mjs +0 -15642
- package/dist/compatibility-table-data.js +0 -12634
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var logicalExpressionCommon = require('../../marshalling-utils/misc/logical-expression-common.js');
|
|
10
|
+
var logicalExpressionSerializer = require('../../serializer/misc/logical-expression-serializer.js');
|
|
11
|
+
var constants = require('../../utils/constants.js');
|
|
12
|
+
var typeGuards = require('../../utils/type-guards.js');
|
|
13
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
14
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
15
|
+
|
|
16
|
+
let logicalExpressionOperatorMarshallingMapReverse;
|
|
17
|
+
const getOperatorBinaryMapReverse = () => {
|
|
18
|
+
if (!logicalExpressionOperatorMarshallingMapReverse) {
|
|
19
|
+
logicalExpressionOperatorMarshallingMapReverse = new Map(Array.from(logicalExpressionCommon.LOGICAL_EXPRESSION_OPERATOR_SERIALISATION_MAP).map(([key, value]) => [value, key]));
|
|
20
|
+
}
|
|
21
|
+
return logicalExpressionOperatorMarshallingMapReverse;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Gets the string representation of the operator from the binary representation.
|
|
25
|
+
*
|
|
26
|
+
* @param binary Binary representation of the operator
|
|
27
|
+
* @returns String representation of the operator
|
|
28
|
+
* @throws If the operator is unknown
|
|
29
|
+
*/
|
|
30
|
+
const getOperatorOrFail = (binary) => {
|
|
31
|
+
const operator = getOperatorBinaryMapReverse().get(binary);
|
|
32
|
+
if (typeGuards.isUndefined(operator)) {
|
|
33
|
+
throw new Error(`Unknown operator: ${binary}`);
|
|
34
|
+
}
|
|
35
|
+
return operator;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Deserialization map for known variables.
|
|
39
|
+
*/
|
|
40
|
+
let knownVariablesMapReverse;
|
|
41
|
+
const getKnownVariablesMapReverse = () => {
|
|
42
|
+
if (!knownVariablesMapReverse) {
|
|
43
|
+
knownVariablesMapReverse = new Map(Array.from(logicalExpressionCommon.KNOWN_VARIABLES_SERIALIZATION_MAP).map(([key, value]) => [value, key]));
|
|
44
|
+
}
|
|
45
|
+
return knownVariablesMapReverse;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Gets the frequent name of the variable from the binary representation.
|
|
49
|
+
*
|
|
50
|
+
* @param binary Binary representation of the variable
|
|
51
|
+
* @returns Frequent name of the variable
|
|
52
|
+
* @throws If the variable is unknown
|
|
53
|
+
*/
|
|
54
|
+
const getFrequentNameOrFail = (binary) => {
|
|
55
|
+
const name = getKnownVariablesMapReverse().get(binary);
|
|
56
|
+
if (typeGuards.isUndefined(name)) {
|
|
57
|
+
throw new Error(`Unknown frequent name: ${binary}`);
|
|
58
|
+
}
|
|
59
|
+
return name;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* `LogicalExpressionDeserializer` is responsible for deserializing logical expressions.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* From the following rule:
|
|
66
|
+
* ```adblock
|
|
67
|
+
* !#if (adguard_ext_android_cb || adguard_ext_safari)
|
|
68
|
+
* ```
|
|
69
|
+
* this parser will parse the expression `(adguard_ext_android_cb || adguard_ext_safari)`.
|
|
70
|
+
*/
|
|
71
|
+
// TODO: Refactor this class
|
|
72
|
+
class LogicalExpressionDeserializer extends baseDeserializer.BaseDeserializer {
|
|
73
|
+
/**
|
|
74
|
+
* Deserializes a variable node from binary format.
|
|
75
|
+
*
|
|
76
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
77
|
+
* @param node Destination node.
|
|
78
|
+
* @throws If the binary data is malformed.
|
|
79
|
+
*/
|
|
80
|
+
static deserializeVariableNode(buffer, node) {
|
|
81
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ExpressionVariableNode);
|
|
82
|
+
node.type = logicalExpressionSerializer.NodeType.Variable;
|
|
83
|
+
let prop = buffer.readUint8();
|
|
84
|
+
while (prop !== constants.NULL) {
|
|
85
|
+
switch (prop) {
|
|
86
|
+
case logicalExpressionCommon.VariableNodeBinaryPropMarshallingMap.Name:
|
|
87
|
+
node.name = buffer.readString();
|
|
88
|
+
break;
|
|
89
|
+
case logicalExpressionCommon.VariableNodeBinaryPropMarshallingMap.FrequentName:
|
|
90
|
+
node.name = getFrequentNameOrFail(buffer.readUint8());
|
|
91
|
+
break;
|
|
92
|
+
case logicalExpressionCommon.VariableNodeBinaryPropMarshallingMap.Start:
|
|
93
|
+
node.start = buffer.readUint32();
|
|
94
|
+
break;
|
|
95
|
+
case logicalExpressionCommon.VariableNodeBinaryPropMarshallingMap.End:
|
|
96
|
+
node.end = buffer.readUint32();
|
|
97
|
+
break;
|
|
98
|
+
default:
|
|
99
|
+
throw new Error(`Invalid property: ${prop}`);
|
|
100
|
+
}
|
|
101
|
+
prop = buffer.readUint8();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Deserializes a parenthesis node from binary format.
|
|
106
|
+
*
|
|
107
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
108
|
+
* @param node Destination node.
|
|
109
|
+
* @throws If the binary data is malformed.
|
|
110
|
+
*/
|
|
111
|
+
static deserializeParenthesisNode(buffer, node) {
|
|
112
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ExpressionParenthesisNode);
|
|
113
|
+
node.type = logicalExpressionSerializer.NodeType.Parenthesis;
|
|
114
|
+
let prop = buffer.readUint8();
|
|
115
|
+
while (prop !== constants.NULL) {
|
|
116
|
+
switch (prop) {
|
|
117
|
+
case logicalExpressionCommon.ParenthesisNodeBinaryPropMarshallingMap.Expression:
|
|
118
|
+
LogicalExpressionDeserializer.deserialize(buffer, node.expression = {});
|
|
119
|
+
break;
|
|
120
|
+
case logicalExpressionCommon.ParenthesisNodeBinaryPropMarshallingMap.Start:
|
|
121
|
+
node.start = buffer.readUint32();
|
|
122
|
+
break;
|
|
123
|
+
case logicalExpressionCommon.ParenthesisNodeBinaryPropMarshallingMap.End:
|
|
124
|
+
node.end = buffer.readUint32();
|
|
125
|
+
break;
|
|
126
|
+
default:
|
|
127
|
+
throw new Error(`Invalid property: ${prop}`);
|
|
128
|
+
}
|
|
129
|
+
prop = buffer.readUint8();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Deserializes an operator node from binary format.
|
|
134
|
+
*
|
|
135
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
136
|
+
* @param node Destination node.
|
|
137
|
+
* @throws If the binary data is malformed.
|
|
138
|
+
*/
|
|
139
|
+
static deserializeOperatorNode(buffer, node) {
|
|
140
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ExpressionOperatorNode);
|
|
141
|
+
node.type = logicalExpressionSerializer.NodeType.Operator;
|
|
142
|
+
let prop = buffer.readUint8();
|
|
143
|
+
while (prop !== constants.NULL) {
|
|
144
|
+
switch (prop) {
|
|
145
|
+
case logicalExpressionCommon.OperatorNodeBinaryPropMarshallingMap.Operator:
|
|
146
|
+
node.operator = getOperatorOrFail(buffer.readUint8());
|
|
147
|
+
break;
|
|
148
|
+
case logicalExpressionCommon.OperatorNodeBinaryPropMarshallingMap.Left:
|
|
149
|
+
LogicalExpressionDeserializer.deserialize(buffer, node.left = {});
|
|
150
|
+
break;
|
|
151
|
+
case logicalExpressionCommon.OperatorNodeBinaryPropMarshallingMap.Right:
|
|
152
|
+
LogicalExpressionDeserializer.deserialize(buffer, node.right = {});
|
|
153
|
+
break;
|
|
154
|
+
case logicalExpressionCommon.OperatorNodeBinaryPropMarshallingMap.Start:
|
|
155
|
+
node.start = buffer.readUint32();
|
|
156
|
+
break;
|
|
157
|
+
case logicalExpressionCommon.OperatorNodeBinaryPropMarshallingMap.End:
|
|
158
|
+
node.end = buffer.readUint32();
|
|
159
|
+
break;
|
|
160
|
+
default:
|
|
161
|
+
throw new Error(`Invalid property: ${prop}`);
|
|
162
|
+
}
|
|
163
|
+
prop = buffer.readUint8();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Deserializes a logical expression node from binary format.
|
|
168
|
+
*
|
|
169
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
170
|
+
* @param node Destination node.
|
|
171
|
+
* @throws If the binary data is malformed.
|
|
172
|
+
*/
|
|
173
|
+
static deserialize(buffer, node) {
|
|
174
|
+
// note: we just do a simple lookahead here, because advancing the buffer is done in the
|
|
175
|
+
// 'sub-deserialize' methods
|
|
176
|
+
let type = buffer.peekUint8();
|
|
177
|
+
while (type !== constants.NULL) {
|
|
178
|
+
switch (type) {
|
|
179
|
+
case binaryTypeCommon.BinaryTypeMarshallingMap.ExpressionVariableNode:
|
|
180
|
+
LogicalExpressionDeserializer.deserializeVariableNode(buffer, node);
|
|
181
|
+
break;
|
|
182
|
+
case binaryTypeCommon.BinaryTypeMarshallingMap.ExpressionOperatorNode:
|
|
183
|
+
LogicalExpressionDeserializer.deserializeOperatorNode(buffer, node);
|
|
184
|
+
break;
|
|
185
|
+
case binaryTypeCommon.BinaryTypeMarshallingMap.ExpressionParenthesisNode:
|
|
186
|
+
LogicalExpressionDeserializer.deserializeParenthesisNode(buffer, node);
|
|
187
|
+
break;
|
|
188
|
+
default:
|
|
189
|
+
throw new Error(`Unexpected node type: ${type}`);
|
|
190
|
+
}
|
|
191
|
+
type = buffer.peekUint8();
|
|
192
|
+
}
|
|
193
|
+
// consume NULL
|
|
194
|
+
buffer.readUint8();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
exports.LogicalExpressionDeserializer = LogicalExpressionDeserializer;
|
|
199
|
+
exports.getFrequentNameOrFail = getFrequentNameOrFail;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var constants = require('../../utils/constants.js');
|
|
10
|
+
var valueDeserializer = require('./value-deserializer.js');
|
|
11
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
12
|
+
var modifierCommon = require('../../marshalling-utils/misc/modifier-common.js');
|
|
13
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
14
|
+
|
|
15
|
+
/* eslint-disable no-param-reassign */
|
|
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
|
+
* @note Only 256 values can be represented this way.
|
|
21
|
+
*/
|
|
22
|
+
let frequentModifiersDeserializationMap;
|
|
23
|
+
const getFrequentModifiersDeserializationMap = () => {
|
|
24
|
+
if (!frequentModifiersDeserializationMap) {
|
|
25
|
+
frequentModifiersDeserializationMap = new Map(Array.from(modifierCommon.FREQUENT_MODIFIERS_SERIALIZATION_MAP).map(([key, value]) => [value, key]));
|
|
26
|
+
}
|
|
27
|
+
return frequentModifiersDeserializationMap;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Value map for binary deserialization. This helps to reduce the size of the serialized data,
|
|
31
|
+
* as it allows us to use a single byte to represent frequently used values.
|
|
32
|
+
*/
|
|
33
|
+
let frequentValuesDeserializationMaps;
|
|
34
|
+
const getFrequentValuesDeserializationMaps = () => {
|
|
35
|
+
if (!frequentValuesDeserializationMaps) {
|
|
36
|
+
frequentValuesDeserializationMaps = new Map(Array.from(modifierCommon.FREQUENT_REDIRECT_MODIFIERS_SERIALIZATION_MAP, ([modifier, valueMap]) => [modifier, new Map(Array.from(valueMap, ([key, value]) => [value, key]))]));
|
|
37
|
+
}
|
|
38
|
+
return frequentValuesDeserializationMaps;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* `ModifierSerializer` is responsible for serializing modifiers.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* `match-case`, `~third-party`, `domain=example.com|~example.org`
|
|
45
|
+
*/
|
|
46
|
+
class ModifierDeserializer extends baseDeserializer.BaseDeserializer {
|
|
47
|
+
/**
|
|
48
|
+
* Deserializes a modifier node from binary format.
|
|
49
|
+
*
|
|
50
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
51
|
+
* @param node Destination node.
|
|
52
|
+
*/
|
|
53
|
+
static deserialize(buffer, node) {
|
|
54
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ModifierNode);
|
|
55
|
+
node.type = 'Modifier';
|
|
56
|
+
let prop = buffer.readUint8();
|
|
57
|
+
while (prop !== constants.NULL) {
|
|
58
|
+
switch (prop) {
|
|
59
|
+
case modifierCommon.ModifierNodeMarshallingMap.Name:
|
|
60
|
+
// eslint-disable-next-line max-len
|
|
61
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.name = {}, getFrequentModifiersDeserializationMap());
|
|
62
|
+
break;
|
|
63
|
+
case modifierCommon.ModifierNodeMarshallingMap.Value:
|
|
64
|
+
if (node.name) {
|
|
65
|
+
// eslint-disable-next-line max-len
|
|
66
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.value = {}, getFrequentValuesDeserializationMaps().get(node.name.value));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.value = {});
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
case modifierCommon.ModifierNodeMarshallingMap.Exception:
|
|
73
|
+
node.exception = buffer.readUint8() === 1;
|
|
74
|
+
break;
|
|
75
|
+
case modifierCommon.ModifierNodeMarshallingMap.Start:
|
|
76
|
+
node.start = buffer.readUint32();
|
|
77
|
+
break;
|
|
78
|
+
case modifierCommon.ModifierNodeMarshallingMap.End:
|
|
79
|
+
node.end = buffer.readUint32();
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
throw new Error(`Invalid property: ${prop}.`);
|
|
83
|
+
}
|
|
84
|
+
prop = buffer.readUint8();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
exports.ModifierDeserializer = ModifierDeserializer;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var constants = require('../../utils/constants.js');
|
|
10
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
11
|
+
var modifierDeserializer = require('./modifier-deserializer.js');
|
|
12
|
+
var modifierListCommon = require('../../marshalling-utils/misc/modifier-list-common.js');
|
|
13
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
14
|
+
|
|
15
|
+
/* eslint-disable no-param-reassign */
|
|
16
|
+
/**
|
|
17
|
+
* `ModifierListDeserializer` is responsible for deserializing modifier lists. Please note that the name is not
|
|
18
|
+
* uniform, "modifiers" are also known as "options".
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules-modifiers}
|
|
21
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#non-basic-rules-modifiers}
|
|
22
|
+
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#options}
|
|
23
|
+
*/
|
|
24
|
+
class ModifierListDeserializer extends baseDeserializer.BaseDeserializer {
|
|
25
|
+
/**
|
|
26
|
+
* Deserializes a modifier list node from binary format.
|
|
27
|
+
*
|
|
28
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
29
|
+
* @param node Destination node.
|
|
30
|
+
*/
|
|
31
|
+
static deserialize(buffer, node) {
|
|
32
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ModifierListNode);
|
|
33
|
+
node.type = 'ModifierList';
|
|
34
|
+
let prop = buffer.readUint8();
|
|
35
|
+
while (prop !== constants.NULL) {
|
|
36
|
+
switch (prop) {
|
|
37
|
+
case modifierListCommon.ModifierListNodeMarshallingMap.Children:
|
|
38
|
+
node.children = new Array(buffer.readUint16());
|
|
39
|
+
// read children
|
|
40
|
+
for (let i = 0; i < node.children.length; i += 1) {
|
|
41
|
+
modifierDeserializer.ModifierDeserializer.deserialize(buffer, node.children[i] = {});
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
case modifierListCommon.ModifierListNodeMarshallingMap.Start:
|
|
45
|
+
node.start = buffer.readUint32();
|
|
46
|
+
break;
|
|
47
|
+
case modifierListCommon.ModifierListNodeMarshallingMap.End:
|
|
48
|
+
node.end = buffer.readUint32();
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
throw new Error(`Invalid property: ${prop}.`);
|
|
52
|
+
}
|
|
53
|
+
prop = buffer.readUint8();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
exports.ModifierListDeserializer = ModifierListDeserializer;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var constants = require('../../utils/constants.js');
|
|
10
|
+
var valueDeserializer = require('./value-deserializer.js');
|
|
11
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
12
|
+
var parameterListCommon = require('../../marshalling-utils/misc/parameter-list-common.js');
|
|
13
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
14
|
+
|
|
15
|
+
class ParameterListDeserializer extends baseDeserializer.BaseDeserializer {
|
|
16
|
+
/**
|
|
17
|
+
* Deserializes a parameter list node from binary format.
|
|
18
|
+
*
|
|
19
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
20
|
+
* @param node Destination node.
|
|
21
|
+
* @param frequentValuesMap Optional map of frequent values.
|
|
22
|
+
* @throws If the binary data is malformed.
|
|
23
|
+
*/
|
|
24
|
+
static deserialize(buffer, node, frequentValuesMap) {
|
|
25
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ParameterListNode);
|
|
26
|
+
node.type = 'ParameterList';
|
|
27
|
+
let prop = buffer.readUint8();
|
|
28
|
+
while (prop !== constants.NULL) {
|
|
29
|
+
switch (prop) {
|
|
30
|
+
case parameterListCommon.ParameterListNodeMarshallingMap.Children:
|
|
31
|
+
node.children = new Array(buffer.readUint32());
|
|
32
|
+
// read children
|
|
33
|
+
for (let i = 0; i < node.children.length; i += 1) {
|
|
34
|
+
switch (buffer.peekUint8()) {
|
|
35
|
+
case binaryTypeCommon.BinaryTypeMarshallingMap.Null:
|
|
36
|
+
buffer.readUint8();
|
|
37
|
+
node.children[i] = null;
|
|
38
|
+
break;
|
|
39
|
+
case binaryTypeCommon.BinaryTypeMarshallingMap.ValueNode:
|
|
40
|
+
// eslint-disable-next-line max-len
|
|
41
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.children[i] = {}, frequentValuesMap);
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
throw new Error(`Invalid child type: ${buffer.peekUint8()}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
break;
|
|
48
|
+
case parameterListCommon.ParameterListNodeMarshallingMap.Start:
|
|
49
|
+
node.start = buffer.readUint32();
|
|
50
|
+
break;
|
|
51
|
+
case parameterListCommon.ParameterListNodeMarshallingMap.End:
|
|
52
|
+
node.end = buffer.readUint32();
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
throw new Error(`Invalid property: ${prop}`);
|
|
56
|
+
}
|
|
57
|
+
prop = buffer.readUint8();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.ParameterListDeserializer = ParameterListDeserializer;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var constants = require('../../utils/constants.js');
|
|
10
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
11
|
+
var valueCommon = require('../../marshalling-utils/misc/value-common.js');
|
|
12
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Value deserializer.
|
|
16
|
+
*/
|
|
17
|
+
class ValueDeserializer extends baseDeserializer.BaseDeserializer {
|
|
18
|
+
/**
|
|
19
|
+
* Deserializes a value node from binary format.
|
|
20
|
+
*
|
|
21
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
22
|
+
* @param node Destination node.
|
|
23
|
+
* @param frequentValuesMap Optional map of frequent values.
|
|
24
|
+
* @throws If the binary data is malformed.
|
|
25
|
+
*/
|
|
26
|
+
static deserialize(buffer, node, frequentValuesMap) {
|
|
27
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ValueNode);
|
|
28
|
+
node.type = 'Value';
|
|
29
|
+
let prop = buffer.readUint8();
|
|
30
|
+
while (prop !== constants.NULL) {
|
|
31
|
+
switch (prop) {
|
|
32
|
+
case valueCommon.ValueNodeMarshallingMap.Value:
|
|
33
|
+
node.value = buffer.readString();
|
|
34
|
+
break;
|
|
35
|
+
case valueCommon.ValueNodeMarshallingMap.FrequentValue:
|
|
36
|
+
node.value = frequentValuesMap?.get(buffer.readUint8()) ?? constants.EMPTY;
|
|
37
|
+
break;
|
|
38
|
+
case valueCommon.ValueNodeMarshallingMap.Start:
|
|
39
|
+
node.start = buffer.readUint32();
|
|
40
|
+
break;
|
|
41
|
+
case valueCommon.ValueNodeMarshallingMap.End:
|
|
42
|
+
node.end = buffer.readUint32();
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
throw new Error(`Invalid property: ${prop}`);
|
|
46
|
+
}
|
|
47
|
+
prop = buffer.readUint8();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
exports.ValueDeserializer = ValueDeserializer;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var constants = require('../../utils/constants.js');
|
|
10
|
+
var index = require('../../nodes/index.js');
|
|
11
|
+
var valueDeserializer = require('../misc/value-deserializer.js');
|
|
12
|
+
var hostnameListDeserializer = require('./hostname-list-deserializer.js');
|
|
13
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
14
|
+
var hostRuleCommon = require('../../marshalling-utils/misc/host-rule-common.js');
|
|
15
|
+
var adblockers = require('../../utils/adblockers.js');
|
|
16
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
17
|
+
var syntaxDeserializationMap = require('../syntax-deserialization-map.js');
|
|
18
|
+
|
|
19
|
+
/* eslint-disable no-param-reassign */
|
|
20
|
+
/**
|
|
21
|
+
* `HostRuleSerializer` is responsible for serializing hosts-like rules.
|
|
22
|
+
*
|
|
23
|
+
* HostRule is a structure for simple host-level rules (i.e. /etc/hosts syntax).
|
|
24
|
+
* It also supports "just domain" syntax. In this case, the IP will be set to 0.0.0.0.
|
|
25
|
+
*
|
|
26
|
+
* Rules syntax looks like this:
|
|
27
|
+
* ```text
|
|
28
|
+
* IP_address canonical_hostname [aliases...]
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* `192.168.1.13 bar.mydomain.org bar` -- ipv4
|
|
33
|
+
* `ff02::1 ip6-allnodes` -- ipv6
|
|
34
|
+
* `::1 localhost ip6-localhost ip6-loopback` -- ipv6 aliases
|
|
35
|
+
* `example.org` -- "just domain" syntax
|
|
36
|
+
* @see {@link http://man7.org/linux/man-pages/man5/hosts.5.html}
|
|
37
|
+
*/
|
|
38
|
+
class HostRuleDeserializer extends baseDeserializer.BaseDeserializer {
|
|
39
|
+
/**
|
|
40
|
+
* Deserializes a modifier node from binary format.
|
|
41
|
+
*
|
|
42
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
43
|
+
* @param node Destination node.
|
|
44
|
+
*/
|
|
45
|
+
static deserialize(buffer, node) {
|
|
46
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.HostRuleNode);
|
|
47
|
+
node.category = index.RuleCategory.Network;
|
|
48
|
+
node.type = index.NetworkRuleType.HostRule;
|
|
49
|
+
let prop = buffer.readUint8();
|
|
50
|
+
while (prop !== constants.NULL) {
|
|
51
|
+
switch (prop) {
|
|
52
|
+
case hostRuleCommon.HostRuleMarshallingMap.Syntax:
|
|
53
|
+
node.syntax = syntaxDeserializationMap.getSyntaxDeserializationMap().get(buffer.readUint8()) ?? adblockers.AdblockSyntax.Common;
|
|
54
|
+
break;
|
|
55
|
+
case hostRuleCommon.HostRuleMarshallingMap.Ip:
|
|
56
|
+
node.ip = {};
|
|
57
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.ip);
|
|
58
|
+
break;
|
|
59
|
+
case hostRuleCommon.HostRuleMarshallingMap.HostnameList:
|
|
60
|
+
node.hostnames = {};
|
|
61
|
+
hostnameListDeserializer.HostnameListDeserializer.deserialize(buffer, node.hostnames);
|
|
62
|
+
break;
|
|
63
|
+
case hostRuleCommon.HostRuleMarshallingMap.Comment:
|
|
64
|
+
node.comment = {};
|
|
65
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.comment);
|
|
66
|
+
break;
|
|
67
|
+
case hostRuleCommon.HostRuleMarshallingMap.Start:
|
|
68
|
+
node.start = buffer.readUint32();
|
|
69
|
+
break;
|
|
70
|
+
case hostRuleCommon.HostRuleMarshallingMap.End:
|
|
71
|
+
node.end = buffer.readUint32();
|
|
72
|
+
break;
|
|
73
|
+
default:
|
|
74
|
+
throw new Error(`Invalid property: ${prop}.`);
|
|
75
|
+
}
|
|
76
|
+
prop = buffer.readUint8();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
exports.HostRuleDeserializer = HostRuleDeserializer;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
10
|
+
var constants = require('../../utils/constants.js');
|
|
11
|
+
var valueDeserializer = require('../misc/value-deserializer.js');
|
|
12
|
+
var hostnameListCommon = require('../../marshalling-utils/misc/hostname-list-common.js');
|
|
13
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
14
|
+
|
|
15
|
+
/* eslint-disable no-param-reassign */
|
|
16
|
+
class HostnameListDeserializer extends baseDeserializer.BaseDeserializer {
|
|
17
|
+
/**
|
|
18
|
+
* Deserializes a hostname list node from binary format.
|
|
19
|
+
*
|
|
20
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
21
|
+
* @param node Destination node.
|
|
22
|
+
*/
|
|
23
|
+
static deserialize(buffer, node) {
|
|
24
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.HostnameListNode);
|
|
25
|
+
node.type = 'HostnameList';
|
|
26
|
+
let prop = buffer.readUint8();
|
|
27
|
+
while (prop !== constants.NULL) {
|
|
28
|
+
switch (prop) {
|
|
29
|
+
case hostnameListCommon.HostnameListNodeMarshallingMap.Children:
|
|
30
|
+
node.children = new Array(buffer.readUint16());
|
|
31
|
+
// read children
|
|
32
|
+
for (let i = 0; i < node.children.length; i += 1) {
|
|
33
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.children[i] = {});
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case hostnameListCommon.HostnameListNodeMarshallingMap.Start:
|
|
37
|
+
node.start = buffer.readUint32();
|
|
38
|
+
break;
|
|
39
|
+
case hostnameListCommon.HostnameListNodeMarshallingMap.End:
|
|
40
|
+
node.end = buffer.readUint32();
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
throw new Error(`Unknown property: ${prop}`);
|
|
44
|
+
}
|
|
45
|
+
prop = buffer.readUint8();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
exports.HostnameListDeserializer = HostnameListDeserializer;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
|
+
* Released under the MIT license
|
|
5
|
+
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
var constants = require('../../utils/constants.js');
|
|
10
|
+
var index = require('../../nodes/index.js');
|
|
11
|
+
var valueDeserializer = require('../misc/value-deserializer.js');
|
|
12
|
+
var baseDeserializer = require('../base-deserializer.js');
|
|
13
|
+
var modifierListDeserializer = require('../misc/modifier-list-deserializer.js');
|
|
14
|
+
var networkRuleCommon = require('../../marshalling-utils/network/network-rule-common.js');
|
|
15
|
+
var adblockers = require('../../utils/adblockers.js');
|
|
16
|
+
var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
|
|
17
|
+
var syntaxDeserializationMap = require('../syntax-deserialization-map.js');
|
|
18
|
+
|
|
19
|
+
/* eslint-disable no-param-reassign */
|
|
20
|
+
/**
|
|
21
|
+
* `NetworkRuleDeserializer` is responsible for deserializing network rules.
|
|
22
|
+
*
|
|
23
|
+
* @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
|
|
24
|
+
* @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#basic}
|
|
25
|
+
*/
|
|
26
|
+
class NetworkRuleDeserializer extends baseDeserializer.BaseDeserializer {
|
|
27
|
+
/**
|
|
28
|
+
* Deserializes a network rule node from binary format.
|
|
29
|
+
*
|
|
30
|
+
* @param buffer ByteBuffer for reading binary data.
|
|
31
|
+
* @param node Destination node.
|
|
32
|
+
*/
|
|
33
|
+
static deserialize(buffer, node) {
|
|
34
|
+
buffer.assertUint8(binaryTypeCommon.BinaryTypeMarshallingMap.NetworkRuleNode);
|
|
35
|
+
node.type = index.NetworkRuleType.NetworkRule;
|
|
36
|
+
node.category = index.RuleCategory.Network;
|
|
37
|
+
node.modifiers = undefined;
|
|
38
|
+
let prop = buffer.readUint8();
|
|
39
|
+
while (prop !== constants.NULL) {
|
|
40
|
+
switch (prop) {
|
|
41
|
+
case networkRuleCommon.NetworkRuleMarshallingMap.Syntax:
|
|
42
|
+
node.syntax = syntaxDeserializationMap.getSyntaxDeserializationMap().get(buffer.readUint8()) ?? adblockers.AdblockSyntax.Common;
|
|
43
|
+
break;
|
|
44
|
+
case networkRuleCommon.NetworkRuleMarshallingMap.Exception:
|
|
45
|
+
node.exception = buffer.readUint8() === 1;
|
|
46
|
+
break;
|
|
47
|
+
case networkRuleCommon.NetworkRuleMarshallingMap.Pattern:
|
|
48
|
+
valueDeserializer.ValueDeserializer.deserialize(buffer, node.pattern = {});
|
|
49
|
+
break;
|
|
50
|
+
case networkRuleCommon.NetworkRuleMarshallingMap.ModifierList:
|
|
51
|
+
modifierListDeserializer.ModifierListDeserializer.deserialize(buffer, node.modifiers = {});
|
|
52
|
+
break;
|
|
53
|
+
case networkRuleCommon.NetworkRuleMarshallingMap.Start:
|
|
54
|
+
node.start = buffer.readUint32();
|
|
55
|
+
break;
|
|
56
|
+
case networkRuleCommon.NetworkRuleMarshallingMap.End:
|
|
57
|
+
node.end = buffer.readUint32();
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
throw new Error(`Invalid property: ${prop}.`);
|
|
61
|
+
}
|
|
62
|
+
prop = buffer.readUint8();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.NetworkRuleDeserializer = NetworkRuleDeserializer;
|