@adguard/agtree 3.0.0-alpha.1 → 3.0.0-alpha.2

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.
Files changed (613) hide show
  1. package/README.md +1 -1
  2. package/dist/{esm/ast-utils/clone.mjs → ast-utils/clone.js} +2 -2
  3. package/dist/{esm/ast-utils/modifiers.mjs → ast-utils/modifiers.js} +3 -3
  4. package/dist/{esm/ast-utils/network-rules.mjs → ast-utils/network-rules.js} +5 -5
  5. package/dist/{esm/ast-utils/scriptlets.mjs → ast-utils/scriptlets.js} +4 -4
  6. package/dist/{esm/common/abp-snippet-injection-body-common.mjs → common/abp-snippet-injection-body-common.js} +8 -1
  7. package/dist/{esm/common/agent-common.mjs → common/agent-common.js} +2 -2
  8. package/dist/common/ubo-selector-common.js +17 -0
  9. package/dist/{esm/compatibility-tables/base.mjs → compatibility-tables/base.js} +5 -5
  10. package/dist/{esm/compatibility-tables/compatibility-table-data.mjs → compatibility-tables/compatibility-table-data.js} +2 -2
  11. package/dist/{esm/compatibility-tables/modifiers.mjs → compatibility-tables/modifiers.js} +5 -5
  12. package/dist/compatibility-tables/platforms.js +76 -0
  13. package/dist/{esm/compatibility-tables/redirects.mjs → compatibility-tables/redirects.js} +7 -7
  14. package/dist/{esm/compatibility-tables/schemas/base.mjs → compatibility-tables/schemas/base.js} +3 -3
  15. package/dist/{esm/compatibility-tables/schemas/modifier.mjs → compatibility-tables/schemas/modifier.js} +30 -6
  16. package/dist/{esm/compatibility-tables/schemas/platform.mjs → compatibility-tables/schemas/platform.js} +3 -3
  17. package/dist/{esm/compatibility-tables/schemas/redirect.mjs → compatibility-tables/schemas/redirect.js} +4 -4
  18. package/dist/compatibility-tables/schemas/resource-type.js +36 -0
  19. package/dist/{esm/compatibility-tables/schemas/scriptlet.mjs → compatibility-tables/schemas/scriptlet.js} +3 -3
  20. package/dist/{esm/compatibility-tables/scriptlets.mjs → compatibility-tables/scriptlets.js} +4 -4
  21. package/dist/{esm/compatibility-tables/utils/platform-helpers.mjs → compatibility-tables/utils/platform-helpers.js} +2 -2
  22. package/dist/{esm/compatibility-tables/utils/resource-type-helpers.mjs → compatibility-tables/utils/resource-type-helpers.js} +4 -4
  23. package/dist/{esm/compatibility-tables/utils/zod-camelcase.mjs → compatibility-tables/utils/zod-camelcase.js} +1 -1
  24. package/dist/{esm/converter/base-interfaces/base-converter.mjs → converter/base-interfaces/base-converter.js} +2 -2
  25. package/dist/{esm/converter/base-interfaces/conversion-result.mjs → converter/base-interfaces/conversion-result.js} +1 -1
  26. package/dist/{esm/converter/base-interfaces/rule-converter-base.mjs → converter/base-interfaces/rule-converter-base.js} +3 -3
  27. package/dist/{esm/converter/comment/index.mjs → converter/comment/index.js} +6 -6
  28. package/dist/{esm/converter/cosmetic/css.mjs → converter/cosmetic/css.js} +8 -8
  29. package/dist/{esm/converter/cosmetic/element-hiding.mjs → converter/cosmetic/element-hiding.js} +8 -8
  30. package/dist/{esm/converter/cosmetic/header-removal.mjs → converter/cosmetic/header-removal.js} +11 -11
  31. package/dist/{esm/converter/cosmetic/html.mjs → converter/cosmetic/html.js} +22 -24
  32. package/dist/{esm/converter/cosmetic/index.mjs → converter/cosmetic/index.js} +12 -12
  33. package/dist/{esm/converter/cosmetic/rule-modifiers/adg.mjs → converter/cosmetic/rule-modifiers/adg.js} +9 -9
  34. package/dist/{esm/converter/cosmetic/scriptlet.mjs → converter/cosmetic/scriptlet.js} +22 -22
  35. package/dist/{esm/converter/css/index.mjs → converter/css/index.js} +22 -24
  36. package/dist/{esm/converter/data/css.mjs → converter/data/css.js} +1 -1
  37. package/dist/{esm/converter/filter-list.mjs → converter/filter-list.js} +6 -6
  38. package/dist/converter/index.js +8 -0
  39. package/dist/{esm/converter/misc/network-rule-modifier.mjs → converter/misc/network-rule-modifier.js} +21 -21
  40. package/dist/{esm/converter/network/index.mjs → converter/network/index.js} +5 -5
  41. package/dist/{esm/converter/raw-filter-list.mjs → converter/raw-filter-list.js} +8 -8
  42. package/dist/{esm/converter/rule.mjs → converter/rule.js} +8 -8
  43. package/dist/{esm/deserializer/base-deserializer.mjs → deserializer/base-deserializer.js} +3 -3
  44. package/dist/{esm/deserializer/comment/agent-comment-deserializer.mjs → deserializer/comment/agent-comment-deserializer.js} +13 -8
  45. package/dist/{esm/deserializer/comment/agent-deserializer.mjs → deserializer/comment/agent-deserializer.js} +7 -7
  46. package/dist/{esm/deserializer/comment/comment-rule-deserializer.mjs → deserializer/comment/comment-rule-deserializer.js} +10 -63
  47. package/dist/{esm/deserializer/comment/config-comment-deserializer.mjs → deserializer/comment/config-comment-deserializer.js} +9 -9
  48. package/dist/{esm/deserializer/comment/hint-comment-deserializer.mjs → deserializer/comment/hint-comment-deserializer.js} +14 -9
  49. package/dist/{esm/deserializer/comment/hint-deserializer.mjs → deserializer/comment/hint-deserializer.js} +7 -7
  50. package/dist/{esm/deserializer/comment/metadata-comment-deserializer.mjs → deserializer/comment/metadata-comment-deserializer.js} +8 -8
  51. package/dist/{esm/deserializer/comment/pre-processor-comment-deserializer.mjs → deserializer/comment/pre-processor-comment-deserializer.js} +11 -11
  52. package/dist/{esm/deserializer/comment/simple-comment-deserializer.mjs → deserializer/comment/simple-comment-deserializer.js} +8 -8
  53. package/dist/{esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs → deserializer/cosmetic/cosmetic-rule-deserializer.js} +23 -17
  54. package/dist/{esm/deserializer/cosmetic/css-injection-body-deserializer.mjs → deserializer/cosmetic/css-injection-body-deserializer.js} +9 -6
  55. package/dist/{esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs → deserializer/cosmetic/element-hiding-body-deserializer.js} +10 -6
  56. package/dist/{esm/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js} +8 -4
  57. package/dist/{esm/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js} +9 -4
  58. package/dist/{esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js} +10 -6
  59. package/dist/{esm/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js} +8 -5
  60. package/dist/{esm/deserializer/empty-rule-deserializer.mjs → deserializer/empty-rule-deserializer.js} +11 -7
  61. package/dist/{esm/deserializer/filterlist-deserializer.mjs → deserializer/filterlist-deserializer.js} +10 -6
  62. package/dist/{esm/deserializer/index.mjs → deserializer/index.js} +3 -3
  63. package/dist/{esm/deserializer/invalid-rule-deserializer.mjs → deserializer/invalid-rule-deserializer.js} +11 -7
  64. package/dist/{esm/deserializer/invalid-rule-error-node-deserializer.mjs → deserializer/invalid-rule-error-node-deserializer.js} +9 -5
  65. package/dist/{esm/deserializer/misc/domain-list-deserializer.mjs → deserializer/misc/domain-list-deserializer.js} +7 -7
  66. package/dist/{esm/deserializer/misc/list-item-deserializer.mjs → deserializer/misc/list-item-deserializer.js} +12 -6
  67. package/dist/{esm/deserializer/misc/list-items-deserializer.mjs → deserializer/misc/list-items-deserializer.js} +6 -2
  68. package/dist/{esm/deserializer/misc/logical-expression-deserializer.mjs → deserializer/misc/logical-expression-deserializer.js} +7 -7
  69. package/dist/{esm/deserializer/misc/modifier-deserializer.mjs → deserializer/misc/modifier-deserializer.js} +7 -7
  70. package/dist/{esm/deserializer/misc/modifier-list-deserializer.mjs → deserializer/misc/modifier-list-deserializer.js} +11 -6
  71. package/dist/{esm/deserializer/misc/parameter-list-deserializer.mjs → deserializer/misc/parameter-list-deserializer.js} +10 -6
  72. package/dist/{esm/deserializer/misc/value-deserializer.mjs → deserializer/misc/value-deserializer.js} +5 -5
  73. package/dist/{esm/deserializer/network/host-rule-deserializer.mjs → deserializer/network/host-rule-deserializer.js} +14 -26
  74. package/dist/{esm/deserializer/network/hostname-list-deserializer.mjs → deserializer/network/hostname-list-deserializer.js} +14 -6
  75. package/dist/{esm/deserializer/network/network-rule-deserializer.mjs → deserializer/network/network-rule-deserializer.js} +10 -10
  76. package/dist/{esm/deserializer/rule-deserializer.mjs → deserializer/rule-deserializer.js} +9 -9
  77. package/dist/{esm/deserializer/syntax-deserialization-map.mjs → deserializer/syntax-deserialization-map.js} +2 -2
  78. package/dist/{esm/errors/adblock-syntax-error.mjs → errors/adblock-syntax-error.js} +1 -1
  79. package/dist/{esm/errors/binary-schema-mismatch-error.mjs → errors/binary-schema-mismatch-error.js} +1 -1
  80. package/dist/{esm/errors/not-implemented-error.mjs → errors/not-implemented-error.js} +1 -1
  81. package/dist/{esm/errors/rule-conversion-error.mjs → errors/rule-conversion-error.js} +1 -1
  82. package/dist/{esm/generator/base-generator.mjs → generator/base-generator.js} +3 -3
  83. package/dist/{esm/generator/comment/agent-comment-generator.mjs → generator/comment/agent-comment-generator.js} +7 -4
  84. package/dist/{esm/generator/comment/agent-generator.mjs → generator/comment/agent-generator.js} +8 -4
  85. package/dist/{esm/generator/comment/comment-rule-generator.mjs → generator/comment/comment-rule-generator.js} +10 -63
  86. package/dist/{esm/generator/comment/config-comment-generator.mjs → generator/comment/config-comment-generator.js} +7 -4
  87. package/dist/{esm/generator/comment/hint-comment-generator.mjs → generator/comment/hint-comment-generator.js} +7 -4
  88. package/dist/{esm/generator/comment/hint-generator.mjs → generator/comment/hint-generator.js} +10 -7
  89. package/dist/{esm/generator/comment/metadata-comment-generator.mjs → generator/comment/metadata-comment-generator.js} +7 -4
  90. package/dist/{esm/generator/comment/pre-processor-comment-generator.mjs → generator/comment/pre-processor-comment-generator.js} +9 -6
  91. package/dist/{esm/generator/comment/simple-comment-generator.mjs → generator/comment/simple-comment-generator.js} +7 -4
  92. package/dist/{esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs → generator/cosmetic/body/abp-snippet-injection-body-generator.js} +9 -5
  93. package/dist/{esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/adg-scriptlet-injection-body-generator.js} +9 -5
  94. package/dist/{esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js} +9 -5
  95. package/dist/{esm/generator/cosmetic/cosmetic-rule-body-generator.mjs → generator/cosmetic/cosmetic-rule-body-generator.js} +15 -11
  96. package/dist/{esm/generator/cosmetic/cosmetic-rule-generator.mjs → generator/cosmetic/cosmetic-rule-generator.js} +9 -19
  97. package/dist/{esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs → generator/cosmetic/cosmetic-rule-pattern-generator.js} +9 -6
  98. package/dist/{esm/generator/css/adg-css-injection-generator.mjs → generator/css/adg-css-injection-generator.js} +7 -4
  99. package/dist/{esm/generator/filterlist-generator.mjs → generator/filterlist-generator.js} +20 -8
  100. package/dist/{esm/generator/index.mjs → generator/index.js} +4 -4
  101. package/dist/{esm/generator/misc/domain-list-generator.mjs → generator/misc/domain-list-generator.js} +6 -3
  102. package/dist/{esm/generator/misc/list-items-generator.mjs → generator/misc/list-items-generator.js} +5 -2
  103. package/dist/{esm/generator/misc/logical-expression-generator.mjs → generator/misc/logical-expression-generator.js} +7 -4
  104. package/dist/{esm/generator/misc/modifier-generator.mjs → generator/misc/modifier-generator.js} +8 -5
  105. package/dist/{esm/generator/misc/modifier-list-generator.mjs → generator/misc/modifier-list-generator.js} +7 -4
  106. package/dist/{esm/generator/misc/parameter-list-generator.mjs → generator/misc/parameter-list-generator.js} +7 -5
  107. package/dist/{esm/generator/misc/value-generator.mjs → generator/misc/value-generator.js} +5 -2
  108. package/dist/{esm/generator/network/host-rule-generator.mjs → generator/network/host-rule-generator.js} +6 -3
  109. package/dist/{esm/generator/network/network-rule-generator.mjs → generator/network/network-rule-generator.js} +10 -7
  110. package/dist/{esm/generator/rule-generator.mjs → generator/rule-generator.js} +11 -8
  111. package/dist/{esm/index.mjs → index.js} +65 -65
  112. package/dist/{cjs/marshalling-utils/empty-rule-common.js → marshalling-utils/comment/agent-comment-common.js} +8 -8
  113. package/dist/{esm/marshalling-utils/comment/agent-common.mjs → marshalling-utils/comment/agent-common.js} +7 -8
  114. package/dist/{esm/marshalling-utils/comment/config-comment-common.mjs → marshalling-utils/comment/config-comment-common.js} +14 -16
  115. package/dist/marshalling-utils/comment/hint-comment-common.js +22 -0
  116. package/dist/{esm/marshalling-utils/comment/hint-common.mjs → marshalling-utils/comment/hint-common.js} +7 -8
  117. package/dist/{esm/marshalling-utils/comment/metadata-comment-common.mjs → marshalling-utils/comment/metadata-comment-common.js} +8 -9
  118. package/dist/{esm/marshalling-utils/comment/pre-processor-comment-common.mjs → marshalling-utils/comment/pre-processor-comment-common.js} +8 -9
  119. package/dist/marshalling-utils/comment/simple-comment-common.js +22 -0
  120. package/dist/{esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs → marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js} +6 -7
  121. package/dist/{esm/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js} +1 -1
  122. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +24 -0
  123. package/dist/{esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs → marshalling-utils/cosmetic/body/element-hiding-body-common.js} +6 -7
  124. package/dist/{esm/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js} +1 -1
  125. package/dist/{esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs → marshalling-utils/cosmetic/cosmetic-rule-common.js} +11 -12
  126. package/dist/{esm/marshalling-utils/empty-rule-common.mjs → marshalling-utils/empty-rule-common.js} +5 -6
  127. package/dist/{esm/marshalling-utils/filter-list-common.mjs → marshalling-utils/filter-list-common.js} +6 -7
  128. package/dist/{esm/marshalling-utils/invalid-rule-common.mjs → marshalling-utils/invalid-rule-common.js} +6 -7
  129. package/dist/marshalling-utils/invalid-rule-error-node-common.js +22 -0
  130. package/dist/marshalling-utils/misc/binary-type-common.js +66 -0
  131. package/dist/{esm/marshalling-utils/misc/domain-list-common.mjs → marshalling-utils/misc/domain-list-common.js} +8 -9
  132. package/dist/marshalling-utils/misc/host-rule-common.js +25 -0
  133. package/dist/{esm/marshalling-utils/misc/hostname-list-common.mjs → marshalling-utils/misc/hostname-list-common.js} +6 -7
  134. package/dist/{esm/marshalling-utils/misc/list-item-common.mjs → marshalling-utils/misc/list-item-common.js} +7 -8
  135. package/dist/marshalling-utils/misc/logical-expression-common.js +83 -0
  136. package/dist/{esm/marshalling-utils/misc/modifier-common.mjs → marshalling-utils/misc/modifier-common.js} +8 -9
  137. package/dist/{esm/marshalling-utils/misc/modifier-list-common.mjs → marshalling-utils/misc/modifier-list-common.js} +6 -7
  138. package/dist/{esm/marshalling-utils/misc/parameter-list-common.mjs → marshalling-utils/misc/parameter-list-common.js} +6 -7
  139. package/dist/{esm/marshalling-utils/misc/value-common.mjs → marshalling-utils/misc/value-common.js} +7 -8
  140. package/dist/marshalling-utils/network/network-rule-common.js +25 -0
  141. package/dist/{esm/marshalling-utils/syntax-serialization-map.mjs → marshalling-utils/syntax-serialization-map.js} +2 -2
  142. package/dist/{esm/nodes/index.mjs → nodes/index.js} +66 -78
  143. package/dist/{esm/package.json.mjs → package.json.js} +2 -2
  144. package/dist/{esm/parser/base-parser.mjs → parser/base-parser.js} +2 -2
  145. package/dist/{esm/parser/comment/agent-comment-parser.mjs → parser/comment/agent-comment-parser.js} +11 -11
  146. package/dist/{esm/parser/comment/agent-parser.mjs → parser/comment/agent-parser.js} +12 -11
  147. package/dist/{esm/parser/comment/comment-parser.mjs → parser/comment/comment-parser.js} +9 -9
  148. package/dist/{esm/parser/comment/config-comment-parser.mjs → parser/comment/config-comment-parser.js} +9 -9
  149. package/dist/{esm/parser/comment/hint-comment-parser.mjs → parser/comment/hint-comment-parser.js} +9 -9
  150. package/dist/{esm/parser/comment/hint-parser.mjs → parser/comment/hint-parser.js} +8 -8
  151. package/dist/{esm/parser/comment/metadata-comment-parser.mjs → parser/comment/metadata-comment-parser.js} +10 -10
  152. package/dist/{esm/parser/comment/preprocessor-parser.mjs → parser/comment/preprocessor-parser.js} +11 -11
  153. package/dist/{esm/parser/comment/simple-comment-parser.mjs → parser/comment/simple-comment-parser.js} +8 -8
  154. package/dist/{esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs → parser/cosmetic/body/abp-snippet-injection-body-parser.js} +8 -8
  155. package/dist/{esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/adg-scriptlet-injection-body-parser.js} +8 -8
  156. package/dist/{esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js} +7 -7
  157. package/dist/{esm/parser/cosmetic/cosmetic-rule-parser.mjs → parser/cosmetic/cosmetic-rule-parser.js} +18 -18
  158. package/dist/{esm/parser/css/adg-css-injection-parser.mjs → parser/css/adg-css-injection-parser.js} +6 -6
  159. package/dist/{esm/parser/css/balancing.mjs → parser/css/balancing.js} +3 -3
  160. package/dist/{esm/parser/css/constants.mjs → parser/css/constants.js} +1 -1
  161. package/dist/{esm/parser/css/css-token-stream.mjs → parser/css/css-token-stream.js} +6 -6
  162. package/dist/{esm/parser/css/ubo-selector-parser.mjs → parser/css/ubo-selector-parser.js} +7 -7
  163. package/dist/{esm/parser/filterlist-parser.mjs → parser/filterlist-parser.js} +6 -6
  164. package/dist/parser/index.js +12 -0
  165. package/dist/{esm/parser/misc/app-list-parser.mjs → parser/misc/app-list-parser.js} +6 -6
  166. package/dist/{esm/parser/misc/domain-list-parser.mjs → parser/misc/domain-list-parser.js} +6 -6
  167. package/dist/{esm/parser/misc/list-items-parser.mjs → parser/misc/list-items-parser.js} +9 -6
  168. package/dist/{esm/parser/misc/logical-expression-parser.mjs → parser/misc/logical-expression-parser.js} +17 -19
  169. package/dist/{esm/parser/misc/method-list-parser.mjs → parser/misc/method-list-parser.js} +6 -6
  170. package/dist/{esm/parser/misc/modifier-list.mjs → parser/misc/modifier-list.js} +6 -6
  171. package/dist/{esm/parser/misc/modifier-parser.mjs → parser/misc/modifier-parser.js} +7 -7
  172. package/dist/{esm/parser/misc/parameter-list-parser.mjs → parser/misc/parameter-list-parser.js} +9 -6
  173. package/dist/{esm/parser/misc/stealth-option-list-parser.mjs → parser/misc/stealth-option-list-parser.js} +6 -6
  174. package/dist/{esm/parser/misc/ubo-parameter-list-parser.mjs → parser/misc/ubo-parameter-list-parser.js} +11 -8
  175. package/dist/{esm/parser/misc/value-parser.mjs → parser/misc/value-parser.js} +4 -4
  176. package/dist/{esm/parser/network/host-rule-parser.mjs → parser/network/host-rule-parser.js} +7 -7
  177. package/dist/{esm/parser/network/network-rule-parser.mjs → parser/network/network-rule-parser.js} +16 -10
  178. package/dist/{esm/parser/options.mjs → parser/options.js} +1 -1
  179. package/dist/{esm/parser/rule-parser.mjs → parser/rule-parser.js} +10 -10
  180. package/dist/{esm/serializer/base-serializer.mjs → serializer/base-serializer.js} +2 -2
  181. package/dist/{esm/serializer/comment/agent-comment-serializer.mjs → serializer/comment/agent-comment-serializer.js} +10 -7
  182. package/dist/{esm/serializer/comment/agent-serializer.mjs → serializer/comment/agent-serializer.js} +8 -17
  183. package/dist/{esm/serializer/comment/comment-rule-serializer.mjs → serializer/comment/comment-rule-serializer.js} +9 -9
  184. package/dist/{esm/serializer/comment/config-comment-serializer.mjs → serializer/comment/config-comment-serializer.js} +9 -9
  185. package/dist/{esm/serializer/comment/hint-comment-serializer.mjs → serializer/comment/hint-comment-serializer.js} +12 -9
  186. package/dist/{esm/serializer/comment/hint-serializer.mjs → serializer/comment/hint-serializer.js} +8 -8
  187. package/dist/{esm/serializer/comment/metadata-comment-serializer.mjs → serializer/comment/metadata-comment-serializer.js} +7 -7
  188. package/dist/{esm/serializer/comment/pre-processor-comment-serializer.mjs → serializer/comment/pre-processor-comment-serializer.js} +10 -10
  189. package/dist/{esm/serializer/comment/simple-comment-serializer.mjs → serializer/comment/simple-comment-serializer.js} +9 -9
  190. package/dist/{esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs → serializer/cosmetic/body/abp-snippet-injection-body-serializer.js} +8 -8
  191. package/dist/{esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js} +8 -8
  192. package/dist/{esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs → serializer/cosmetic/body/scriptlet-body-serializer.js} +15 -12
  193. package/dist/{esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js} +4 -4
  194. package/dist/{esm/serializer/cosmetic/cosmetic-rule-serializer.mjs → serializer/cosmetic/cosmetic-rule-serializer.js} +21 -30
  195. package/dist/{esm/serializer/cosmetic/css-injection-body-serializer.mjs → serializer/cosmetic/css-injection-body-serializer.js} +10 -7
  196. package/dist/{esm/serializer/cosmetic/element-hiding-body-serializer.mjs → serializer/cosmetic/element-hiding-body-serializer.js} +10 -7
  197. package/dist/{esm/serializer/empty-rule-serializer.mjs → serializer/empty-rule-serializer.js} +9 -6
  198. package/dist/{esm/serializer/filterlist-serializer.mjs → serializer/filterlist-serializer.js} +8 -9
  199. package/dist/{esm/serializer/index.mjs → serializer/index.js} +2 -2
  200. package/dist/{esm/serializer/invalid-rule-error-node-serializer.mjs → serializer/invalid-rule-error-node-serializer.js} +9 -6
  201. package/dist/{esm/serializer/invalid-rule-serializer.mjs → serializer/invalid-rule-serializer.js} +10 -7
  202. package/dist/{esm/serializer/misc/domain-list-serializer.mjs → serializer/misc/domain-list-serializer.js} +9 -9
  203. package/dist/{esm/serializer/misc/list-item-serializer.mjs → serializer/misc/list-item-serializer.js} +10 -7
  204. package/dist/{esm/serializer/misc/list-items-serializer.mjs → serializer/misc/list-items-serializer.js} +5 -2
  205. package/dist/{esm/serializer/misc/logical-expression-serializer.mjs → serializer/misc/logical-expression-serializer.js} +13 -13
  206. package/dist/{esm/serializer/misc/modifier-list-serializer.mjs → serializer/misc/modifier-list-serializer.js} +10 -7
  207. package/dist/{esm/serializer/misc/modifier-serializer.mjs → serializer/misc/modifier-serializer.js} +7 -7
  208. package/dist/{esm/serializer/misc/parameter-list-serializer.mjs → serializer/misc/parameter-list-serializer.js} +10 -7
  209. package/dist/{esm/serializer/misc/value-serializer.mjs → serializer/misc/value-serializer.js} +6 -6
  210. package/dist/{esm/serializer/network/host-rule-serializer.mjs → serializer/network/host-rule-serializer.js} +9 -9
  211. package/dist/{esm/serializer/network/hostname-list-serializer.mjs → serializer/network/hostname-list-serializer.js} +13 -7
  212. package/dist/{esm/serializer/network/network-rule-serializer.mjs → serializer/network/network-rule-serializer.js} +9 -9
  213. package/dist/{esm/serializer/rule-serializer.mjs → serializer/rule-serializer.js} +9 -9
  214. package/dist/types/common/abp-snippet-injection-body-common.d.ts +7 -0
  215. package/dist/types/common/ubo-selector-common.d.ts +7 -6
  216. package/dist/types/compatibility-tables/compatibility-table-data.d.ts +2 -1
  217. package/dist/types/compatibility-tables/platforms.d.ts +36 -34
  218. package/dist/types/compatibility-tables/schemas/base.d.ts +1 -12
  219. package/dist/types/compatibility-tables/schemas/modifier.d.ts +5 -0
  220. package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
  221. package/dist/types/compatibility-tables/schemas/resource-type.d.ts +29 -15
  222. package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +1 -1
  223. package/dist/types/converter/css/index.d.ts +17 -0
  224. package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +1 -54
  225. package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +6 -0
  226. package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +3 -0
  227. package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +4 -0
  228. package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +4 -0
  229. package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +5 -0
  230. package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +4 -0
  231. package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +4 -1
  232. package/dist/types/deserializer/empty-rule-deserializer.d.ts +4 -0
  233. package/dist/types/deserializer/filterlist-deserializer.d.ts +4 -0
  234. package/dist/types/deserializer/invalid-rule-deserializer.d.ts +4 -0
  235. package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +4 -0
  236. package/dist/types/deserializer/misc/list-item-deserializer.d.ts +6 -0
  237. package/dist/types/deserializer/misc/list-items-deserializer.d.ts +4 -0
  238. package/dist/types/deserializer/misc/modifier-deserializer.d.ts +1 -1
  239. package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +4 -0
  240. package/dist/types/deserializer/network/host-rule-deserializer.d.ts +4 -16
  241. package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +3 -0
  242. package/dist/types/generator/comment/agent-comment-generator.d.ts +3 -0
  243. package/dist/types/generator/comment/agent-generator.d.ts +4 -0
  244. package/dist/types/generator/comment/comment-rule-generator.d.ts +1 -54
  245. package/dist/types/generator/comment/config-comment-generator.d.ts +3 -0
  246. package/dist/types/generator/comment/hint-comment-generator.d.ts +3 -0
  247. package/dist/types/generator/comment/hint-generator.d.ts +6 -3
  248. package/dist/types/generator/comment/index.d.ts +1 -2
  249. package/dist/types/generator/comment/metadata-comment-generator.d.ts +3 -0
  250. package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +3 -0
  251. package/dist/types/generator/comment/simple-comment-generator.d.ts +3 -0
  252. package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +4 -0
  253. package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +5 -1
  254. package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +5 -1
  255. package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +5 -0
  256. package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +3 -11
  257. package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +3 -0
  258. package/dist/types/generator/css/adg-css-injection-generator.d.ts +3 -0
  259. package/dist/types/generator/css/ubo-selector-generator.d.ts +3 -0
  260. package/dist/types/generator/filterlist-generator.d.ts +4 -3
  261. package/dist/types/generator/misc/domain-list-generator.d.ts +3 -0
  262. package/dist/types/generator/misc/list-items-generator.d.ts +3 -0
  263. package/dist/types/generator/misc/logical-expression-generator.d.ts +3 -0
  264. package/dist/types/generator/misc/modifier-generator.d.ts +5 -2
  265. package/dist/types/generator/misc/modifier-list-generator.d.ts +3 -0
  266. package/dist/types/generator/misc/parameter-list-generator.d.ts +3 -0
  267. package/dist/types/generator/misc/value-generator.d.ts +3 -0
  268. package/dist/types/generator/network/host-rule-generator.d.ts +3 -0
  269. package/dist/types/generator/network/network-rule-generator.d.ts +6 -3
  270. package/dist/types/generator/rule-generator.d.ts +3 -0
  271. package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +6 -5
  272. package/dist/types/marshalling-utils/comment/agent-common.d.ts +7 -6
  273. package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +15 -13
  274. package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +7 -6
  275. package/dist/types/marshalling-utils/comment/hint-common.d.ts +7 -6
  276. package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +8 -7
  277. package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +8 -7
  278. package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +7 -6
  279. package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +6 -5
  280. package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +9 -8
  281. package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +6 -5
  282. package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +11 -10
  283. package/dist/types/marshalling-utils/empty-rule-common.d.ts +5 -4
  284. package/dist/types/marshalling-utils/filter-list-common.d.ts +6 -5
  285. package/dist/types/marshalling-utils/invalid-rule-common.d.ts +6 -5
  286. package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +7 -6
  287. package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +52 -51
  288. package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +7 -6
  289. package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +10 -9
  290. package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +6 -5
  291. package/dist/types/marshalling-utils/misc/list-item-common.d.ts +7 -6
  292. package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +21 -18
  293. package/dist/types/marshalling-utils/misc/modifier-common.d.ts +8 -7
  294. package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +6 -5
  295. package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +6 -5
  296. package/dist/types/marshalling-utils/misc/value-common.d.ts +7 -6
  297. package/dist/types/marshalling-utils/network/network-rule-common.d.ts +10 -9
  298. package/dist/types/nodes/index.d.ts +104 -98
  299. package/dist/types/parser/index.d.ts +1 -0
  300. package/dist/types/parser/misc/list-items-parser.d.ts +3 -0
  301. package/dist/types/parser/misc/logical-expression-parser.d.ts +6 -5
  302. package/dist/types/parser/misc/parameter-list-parser.d.ts +3 -0
  303. package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +3 -0
  304. package/dist/types/parser/misc/value-parser.d.ts +1 -1
  305. package/dist/types/serializer/comment/agent-serializer.d.ts +1 -10
  306. package/dist/types/serializer/comment/config-comment-serializer.d.ts +1 -1
  307. package/dist/types/serializer/comment/simple-comment-serializer.d.ts +2 -2
  308. package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +4 -4
  309. package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +4 -4
  310. package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +8 -5
  311. package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +4 -11
  312. package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +3 -0
  313. package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +3 -0
  314. package/dist/types/serializer/empty-rule-serializer.d.ts +3 -0
  315. package/dist/types/serializer/filterlist-serializer.d.ts +1 -2
  316. package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +3 -0
  317. package/dist/types/serializer/invalid-rule-serializer.d.ts +3 -0
  318. package/dist/types/serializer/misc/domain-list-serializer.d.ts +2 -2
  319. package/dist/types/serializer/misc/list-item-serializer.d.ts +3 -0
  320. package/dist/types/serializer/misc/list-items-serializer.d.ts +3 -0
  321. package/dist/types/serializer/misc/logical-expression-serializer.d.ts +7 -6
  322. package/dist/types/serializer/misc/parameter-list-serializer.d.ts +3 -0
  323. package/dist/types/serializer/network/hostname-list-serializer.d.ts +3 -0
  324. package/dist/types/utils/adblockers.d.ts +7 -6
  325. package/dist/types/utils/domain.d.ts +3 -0
  326. package/dist/types/utils/input-byte-buffer.d.ts +6 -0
  327. package/dist/types/utils/output-byte-buffer.d.ts +6 -0
  328. package/dist/types/utils/quotes.d.ts +7 -6
  329. package/dist/types/utils/string.d.ts +3 -0
  330. package/dist/types/validator/value.d.ts +2 -1
  331. package/dist/{esm/utils/adblockers.mjs → utils/adblockers.js} +7 -8
  332. package/dist/{esm/utils/binary-schema-version.mjs → utils/binary-schema-version.js} +1 -1
  333. package/dist/{esm/utils/byte-buffer.mjs → utils/byte-buffer.js} +1 -1
  334. package/dist/{esm/utils/categorizer.mjs → utils/categorizer.js} +4 -4
  335. package/dist/{esm/utils/clone.mjs → utils/clone.js} +1 -1
  336. package/dist/{esm/utils/constants.mjs → utils/constants.js} +1 -1
  337. package/dist/{esm/utils/cosmetic-rule-separator.mjs → utils/cosmetic-rule-separator.js} +3 -3
  338. package/dist/{esm/utils/deep-freeze.mjs → utils/deep-freeze.js} +1 -1
  339. package/dist/{esm/utils/domain.mjs → utils/domain.js} +5 -2
  340. package/dist/{esm/utils/error.mjs → utils/error.js} +1 -1
  341. package/dist/utils/index.js +21 -0
  342. package/dist/{esm/utils/input-byte-buffer.mjs → utils/input-byte-buffer.js} +15 -7
  343. package/dist/{esm/utils/is-chromium.mjs → utils/is-chromium.js} +1 -1
  344. package/dist/{esm/utils/logical-expression.mjs → utils/logical-expression.js} +3 -3
  345. package/dist/{esm/utils/multi-value-map.mjs → utils/multi-value-map.js} +2 -2
  346. package/dist/{esm/utils/output-byte-buffer.mjs → utils/output-byte-buffer.js} +13 -5
  347. package/dist/{esm/utils/position-provider.mjs → utils/position-provider.js} +2 -2
  348. package/dist/{esm/utils/quotes.mjs → utils/quotes.js} +8 -9
  349. package/dist/{esm/utils/regexp.mjs → utils/regexp.js} +2 -2
  350. package/dist/{esm/utils/string.mjs → utils/string.js} +5 -2
  351. package/dist/{esm/utils/text-decoder-polyfill.mjs → utils/text-decoder-polyfill.js} +2 -2
  352. package/dist/{esm/utils/text-encoder-polyfill.mjs → utils/text-encoder-polyfill.js} +1 -1
  353. package/dist/{esm/utils/type-guards.mjs → utils/type-guards.js} +1 -1
  354. package/dist/{esm/validator/constants.mjs → validator/constants.js} +3 -3
  355. package/dist/{esm/validator/helpers.mjs → validator/helpers.js} +3 -3
  356. package/dist/{esm/validator/index.mjs → validator/index.js} +10 -10
  357. package/dist/{esm/validator/value.mjs → validator/value.js} +33 -28
  358. package/dist/{esm/version.mjs → version.js} +2 -2
  359. package/package.json +16 -48
  360. package/dist/cjs/ast-utils/clone.js +0 -65
  361. package/dist/cjs/ast-utils/modifiers.js +0 -56
  362. package/dist/cjs/ast-utils/network-rules.js +0 -43
  363. package/dist/cjs/ast-utils/scriptlets.js +0 -93
  364. package/dist/cjs/common/abp-snippet-injection-body-common.js +0 -18
  365. package/dist/cjs/common/agent-common.js +0 -58
  366. package/dist/cjs/common/ubo-selector-common.js +0 -18
  367. package/dist/cjs/compatibility-tables/base.js +0 -264
  368. package/dist/cjs/compatibility-tables/compatibility-table-data.js +0 -15
  369. package/dist/cjs/compatibility-tables/modifiers.js +0 -57
  370. package/dist/cjs/compatibility-tables/platforms.js +0 -58
  371. package/dist/cjs/compatibility-tables/redirects.js +0 -102
  372. package/dist/cjs/compatibility-tables/schemas/base.js +0 -116
  373. package/dist/cjs/compatibility-tables/schemas/modifier.js +0 -107
  374. package/dist/cjs/compatibility-tables/schemas/platform.js +0 -71
  375. package/dist/cjs/compatibility-tables/schemas/redirect.js +0 -31
  376. package/dist/cjs/compatibility-tables/schemas/resource-type.js +0 -39
  377. package/dist/cjs/compatibility-tables/schemas/scriptlet.js +0 -81
  378. package/dist/cjs/compatibility-tables/scriptlets.js +0 -30
  379. package/dist/cjs/compatibility-tables/utils/platform-helpers.js +0 -112
  380. package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +0 -64
  381. package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +0 -27
  382. package/dist/cjs/converter/base-interfaces/base-converter.js +0 -61
  383. package/dist/cjs/converter/base-interfaces/conversion-result.js +0 -41
  384. package/dist/cjs/converter/base-interfaces/rule-converter-base.js +0 -62
  385. package/dist/cjs/converter/comment/index.js +0 -56
  386. package/dist/cjs/converter/cosmetic/css.js +0 -71
  387. package/dist/cjs/converter/cosmetic/element-hiding.js +0 -64
  388. package/dist/cjs/converter/cosmetic/header-removal.js +0 -126
  389. package/dist/cjs/converter/cosmetic/html.js +0 -384
  390. package/dist/cjs/converter/cosmetic/index.js +0 -120
  391. package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +0 -81
  392. package/dist/cjs/converter/cosmetic/scriptlet.js +0 -356
  393. package/dist/cjs/converter/css/index.js +0 -193
  394. package/dist/cjs/converter/data/css.js +0 -133
  395. package/dist/cjs/converter/filter-list.js +0 -90
  396. package/dist/cjs/converter/index.js +0 -15
  397. package/dist/cjs/converter/misc/network-rule-modifier.js +0 -313
  398. package/dist/cjs/converter/network/index.js +0 -101
  399. package/dist/cjs/converter/raw-filter-list.js +0 -58
  400. package/dist/cjs/converter/rule.js +0 -83
  401. package/dist/cjs/deserializer/base-deserializer.js +0 -31
  402. package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +0 -76
  403. package/dist/cjs/deserializer/comment/agent-deserializer.js +0 -67
  404. package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +0 -109
  405. package/dist/cjs/deserializer/comment/config-comment-deserializer.js +0 -113
  406. package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +0 -69
  407. package/dist/cjs/deserializer/comment/hint-deserializer.js +0 -88
  408. package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +0 -71
  409. package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +0 -114
  410. package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +0 -67
  411. package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -127
  412. package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +0 -55
  413. package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -46
  414. package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -37
  415. package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -37
  416. package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -52
  417. package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
  418. package/dist/cjs/deserializer/empty-rule-deserializer.js +0 -46
  419. package/dist/cjs/deserializer/filterlist-deserializer.js +0 -83
  420. package/dist/cjs/deserializer/index.js +0 -15
  421. package/dist/cjs/deserializer/invalid-rule-deserializer.js +0 -48
  422. package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +0 -48
  423. package/dist/cjs/deserializer/misc/domain-list-deserializer.js +0 -66
  424. package/dist/cjs/deserializer/misc/list-item-deserializer.js +0 -65
  425. package/dist/cjs/deserializer/misc/list-items-deserializer.js +0 -28
  426. package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +0 -199
  427. package/dist/cjs/deserializer/misc/modifier-deserializer.js +0 -89
  428. package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +0 -58
  429. package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +0 -62
  430. package/dist/cjs/deserializer/misc/value-deserializer.js +0 -52
  431. package/dist/cjs/deserializer/network/host-rule-deserializer.js +0 -81
  432. package/dist/cjs/deserializer/network/hostname-list-deserializer.js +0 -50
  433. package/dist/cjs/deserializer/network/network-rule-deserializer.js +0 -67
  434. package/dist/cjs/deserializer/rule-deserializer.js +0 -67
  435. package/dist/cjs/deserializer/syntax-deserialization-map.js +0 -23
  436. package/dist/cjs/errors/adblock-syntax-error.js +0 -41
  437. package/dist/cjs/errors/binary-schema-mismatch-error.js +0 -39
  438. package/dist/cjs/errors/not-implemented-error.js +0 -33
  439. package/dist/cjs/errors/rule-conversion-error.js +0 -28
  440. package/dist/cjs/generator/base-generator.js +0 -29
  441. package/dist/cjs/generator/comment/agent-comment-generator.js +0 -30
  442. package/dist/cjs/generator/comment/agent-generator.js +0 -34
  443. package/dist/cjs/generator/comment/comment-rule-generator.js +0 -102
  444. package/dist/cjs/generator/comment/config-comment-generator.js +0 -44
  445. package/dist/cjs/generator/comment/hint-comment-generator.js +0 -27
  446. package/dist/cjs/generator/comment/hint-generator.js +0 -32
  447. package/dist/cjs/generator/comment/metadata-comment-generator.js +0 -32
  448. package/dist/cjs/generator/comment/pre-processor-comment-generator.js +0 -47
  449. package/dist/cjs/generator/comment/simple-comment-generator.js +0 -28
  450. package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +0 -36
  451. package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +0 -41
  452. package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +0 -43
  453. package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +0 -92
  454. package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +0 -66
  455. package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +0 -41
  456. package/dist/cjs/generator/css/adg-css-injection-generator.js +0 -41
  457. package/dist/cjs/generator/filterlist-generator.js +0 -57
  458. package/dist/cjs/generator/index.js +0 -17
  459. package/dist/cjs/generator/misc/domain-list-generator.js +0 -25
  460. package/dist/cjs/generator/misc/list-items-generator.js +0 -38
  461. package/dist/cjs/generator/misc/logical-expression-generator.js +0 -47
  462. package/dist/cjs/generator/misc/modifier-generator.js +0 -33
  463. package/dist/cjs/generator/misc/modifier-list-generator.js +0 -28
  464. package/dist/cjs/generator/misc/parameter-list-generator.js +0 -41
  465. package/dist/cjs/generator/misc/value-generator.js +0 -23
  466. package/dist/cjs/generator/network/host-rule-generator.js +0 -38
  467. package/dist/cjs/generator/network/network-rule-generator.js +0 -37
  468. package/dist/cjs/generator/rule-generator.js +0 -64
  469. package/dist/cjs/index.js +0 -201
  470. package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +0 -22
  471. package/dist/cjs/marshalling-utils/comment/agent-common.js +0 -43
  472. package/dist/cjs/marshalling-utils/comment/config-comment-common.js +0 -58
  473. package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +0 -23
  474. package/dist/cjs/marshalling-utils/comment/hint-common.js +0 -60
  475. package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +0 -44
  476. package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +0 -63
  477. package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +0 -23
  478. package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -64
  479. package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -68
  480. package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -25
  481. package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -22
  482. package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -116
  483. package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -51
  484. package/dist/cjs/marshalling-utils/filter-list-common.js +0 -22
  485. package/dist/cjs/marshalling-utils/invalid-rule-common.js +0 -22
  486. package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +0 -23
  487. package/dist/cjs/marshalling-utils/misc/binary-type-common.js +0 -67
  488. package/dist/cjs/marshalling-utils/misc/domain-list-common.js +0 -39
  489. package/dist/cjs/marshalling-utils/misc/host-rule-common.js +0 -26
  490. package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +0 -22
  491. package/dist/cjs/marshalling-utils/misc/list-item-common.js +0 -23
  492. package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +0 -89
  493. package/dist/cjs/marshalling-utils/misc/modifier-common.js +0 -236
  494. package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +0 -22
  495. package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +0 -22
  496. package/dist/cjs/marshalling-utils/misc/value-common.js +0 -23
  497. package/dist/cjs/marshalling-utils/network/network-rule-common.js +0 -26
  498. package/dist/cjs/marshalling-utils/syntax-serialization-map.js +0 -32
  499. package/dist/cjs/nodes/index.js +0 -180
  500. package/dist/cjs/package.json.js +0 -11
  501. package/dist/cjs/parser/base-parser.js +0 -32
  502. package/dist/cjs/parser/comment/agent-comment-parser.js +0 -121
  503. package/dist/cjs/parser/comment/agent-parser.js +0 -111
  504. package/dist/cjs/parser/comment/comment-parser.js +0 -110
  505. package/dist/cjs/parser/comment/config-comment-parser.js +0 -139
  506. package/dist/cjs/parser/comment/hint-comment-parser.js +0 -119
  507. package/dist/cjs/parser/comment/hint-parser.js +0 -131
  508. package/dist/cjs/parser/comment/metadata-comment-parser.js +0 -131
  509. package/dist/cjs/parser/comment/preprocessor-parser.js +0 -201
  510. package/dist/cjs/parser/comment/simple-comment-parser.js +0 -108
  511. package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +0 -81
  512. package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +0 -151
  513. package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +0 -112
  514. package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +0 -456
  515. package/dist/cjs/parser/css/adg-css-injection-parser.js +0 -213
  516. package/dist/cjs/parser/css/balancing.js +0 -97
  517. package/dist/cjs/parser/css/constants.js +0 -21
  518. package/dist/cjs/parser/css/css-token-stream.js +0 -345
  519. package/dist/cjs/parser/css/ubo-selector-parser.js +0 -373
  520. package/dist/cjs/parser/filterlist-parser.js +0 -104
  521. package/dist/cjs/parser/index.js +0 -21
  522. package/dist/cjs/parser/misc/app-list-parser.js +0 -47
  523. package/dist/cjs/parser/misc/domain-list-parser.js +0 -54
  524. package/dist/cjs/parser/misc/list-items-parser.js +0 -116
  525. package/dist/cjs/parser/misc/logical-expression-parser.js +0 -283
  526. package/dist/cjs/parser/misc/method-list-parser.js +0 -48
  527. package/dist/cjs/parser/misc/modifier-list.js +0 -72
  528. package/dist/cjs/parser/misc/modifier-parser.js +0 -91
  529. package/dist/cjs/parser/misc/parameter-list-parser.js +0 -74
  530. package/dist/cjs/parser/misc/stealth-option-list-parser.js +0 -48
  531. package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +0 -148
  532. package/dist/cjs/parser/misc/value-parser.js +0 -39
  533. package/dist/cjs/parser/network/host-rule-parser.js +0 -151
  534. package/dist/cjs/parser/network/network-rule-parser.js +0 -113
  535. package/dist/cjs/parser/options.js +0 -25
  536. package/dist/cjs/parser/rule-parser.js +0 -194
  537. package/dist/cjs/serializer/base-serializer.js +0 -31
  538. package/dist/cjs/serializer/comment/agent-comment-serializer.js +0 -73
  539. package/dist/cjs/serializer/comment/agent-serializer.js +0 -70
  540. package/dist/cjs/serializer/comment/comment-rule-serializer.js +0 -107
  541. package/dist/cjs/serializer/comment/config-comment-serializer.js +0 -84
  542. package/dist/cjs/serializer/comment/hint-comment-serializer.js +0 -64
  543. package/dist/cjs/serializer/comment/hint-serializer.js +0 -56
  544. package/dist/cjs/serializer/comment/metadata-comment-serializer.js +0 -75
  545. package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +0 -73
  546. package/dist/cjs/serializer/comment/simple-comment-serializer.js +0 -54
  547. package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -38
  548. package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -38
  549. package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -49
  550. package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -38
  551. package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +0 -131
  552. package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +0 -50
  553. package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +0 -39
  554. package/dist/cjs/serializer/empty-rule-serializer.js +0 -36
  555. package/dist/cjs/serializer/filterlist-serializer.js +0 -48
  556. package/dist/cjs/serializer/index.js +0 -13
  557. package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +0 -40
  558. package/dist/cjs/serializer/invalid-rule-serializer.js +0 -39
  559. package/dist/cjs/serializer/misc/domain-list-serializer.js +0 -66
  560. package/dist/cjs/serializer/misc/list-item-serializer.js +0 -57
  561. package/dist/cjs/serializer/misc/list-items-serializer.js +0 -28
  562. package/dist/cjs/serializer/misc/logical-expression-serializer.js +0 -138
  563. package/dist/cjs/serializer/misc/modifier-list-serializer.js +0 -57
  564. package/dist/cjs/serializer/misc/modifier-serializer.js +0 -51
  565. package/dist/cjs/serializer/misc/parameter-list-serializer.js +0 -51
  566. package/dist/cjs/serializer/misc/value-serializer.js +0 -52
  567. package/dist/cjs/serializer/network/host-rule-serializer.js +0 -72
  568. package/dist/cjs/serializer/network/hostname-list-serializer.js +0 -49
  569. package/dist/cjs/serializer/network/network-rule-serializer.js +0 -56
  570. package/dist/cjs/serializer/rule-serializer.js +0 -63
  571. package/dist/cjs/utils/adblockers.js +0 -57
  572. package/dist/cjs/utils/binary-schema-version.js +0 -19
  573. package/dist/cjs/utils/byte-buffer.js +0 -93
  574. package/dist/cjs/utils/categorizer.js +0 -46
  575. package/dist/cjs/utils/clone.js +0 -30
  576. package/dist/cjs/utils/constants.js +0 -380
  577. package/dist/cjs/utils/cosmetic-rule-separator.js +0 -129
  578. package/dist/cjs/utils/deep-freeze.js +0 -34
  579. package/dist/cjs/utils/domain.js +0 -60
  580. package/dist/cjs/utils/error.js +0 -51
  581. package/dist/cjs/utils/index.js +0 -69
  582. package/dist/cjs/utils/input-byte-buffer.js +0 -259
  583. package/dist/cjs/utils/is-chromium.js +0 -22
  584. package/dist/cjs/utils/logical-expression.js +0 -94
  585. package/dist/cjs/utils/multi-value-map.js +0 -35
  586. package/dist/cjs/utils/output-byte-buffer.js +0 -225
  587. package/dist/cjs/utils/position-provider.js +0 -75
  588. package/dist/cjs/utils/quotes.js +0 -218
  589. package/dist/cjs/utils/regexp.js +0 -190
  590. package/dist/cjs/utils/string.js +0 -560
  591. package/dist/cjs/utils/text-decoder-polyfill.js +0 -109
  592. package/dist/cjs/utils/text-encoder-polyfill.js +0 -80
  593. package/dist/cjs/utils/type-guards.js +0 -52
  594. package/dist/cjs/validator/constants.js +0 -222
  595. package/dist/cjs/validator/helpers.js +0 -49
  596. package/dist/cjs/validator/index.js +0 -176
  597. package/dist/cjs/validator/value.js +0 -565
  598. package/dist/cjs/version.js +0 -20
  599. package/dist/esm/common/ubo-selector-common.mjs +0 -18
  600. package/dist/esm/compatibility-tables/platforms.mjs +0 -58
  601. package/dist/esm/compatibility-tables/schemas/resource-type.mjs +0 -37
  602. package/dist/esm/converter/index.mjs +0 -8
  603. package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +0 -22
  604. package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +0 -23
  605. package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +0 -23
  606. package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +0 -25
  607. package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +0 -23
  608. package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +0 -67
  609. package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +0 -26
  610. package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +0 -86
  611. package/dist/esm/marshalling-utils/network/network-rule-common.mjs +0 -26
  612. package/dist/esm/parser/index.mjs +0 -11
  613. package/dist/esm/utils/index.mjs +0 -21
@@ -1,75 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 valueSerializer = require('../misc/value-serializer.js');
11
- var typeGuards = require('../../utils/type-guards.js');
12
- var baseSerializer = require('../base-serializer.js');
13
- var metadataCommentCommon = require('../../marshalling-utils/comment/metadata-comment-common.js');
14
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
15
-
16
- /**
17
- * Value map for binary serialization. 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
- * ! IMPORTANT: If you change values here, please update the {@link BINARY_SCHEMA_VERSION}!
21
- *
22
- * @note Only 256 values can be represented this way.
23
- * @note This map is generated from `FREQUENT_HEADERS_DESERIALIZATION_MAP` to keep uppercase characters
24
- * while deserializing.
25
- */
26
- let frequentHeadersSerializationMap;
27
- const getFrequentHeadersSerializationMap = () => {
28
- if (!frequentHeadersSerializationMap) {
29
- frequentHeadersSerializationMap = new Map(Array.from(metadataCommentCommon.FREQUENT_HEADERS_DESERIALIZATION_MAP.entries())
30
- .map(([key, value]) => [value.toLowerCase(), key]));
31
- }
32
- return frequentHeadersSerializationMap;
33
- };
34
- /**
35
- * `MetadataCommentSerializer` is responsible for serializing metadata comments.
36
- * Metadata comments are special comments that specify some properties of the list.
37
- *
38
- * @example
39
- * For example, in the case of
40
- * ```adblock
41
- * ! Title: My List
42
- * ```
43
- * the name of the header is `Title`, and the value is `My List`, which means that
44
- * the list title is `My List`, and it can be used in the adblocker UI.
45
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#special-comments}
46
- */
47
- class MetadataCommentSerializer extends baseSerializer.BaseSerializer {
48
- /**
49
- * Serializes a metadata comment node to binary format.
50
- *
51
- * @param node Node to serialize.
52
- * @param buffer ByteBuffer for writing binary data.
53
- */
54
- // TODO: add support for raws, if ever needed
55
- static serialize(node, buffer) {
56
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.MetadataCommentRuleNode);
57
- buffer.writeUint8(metadataCommentCommon.MetadataCommentMarshallingMap.Marker);
58
- valueSerializer.ValueSerializer.serialize(node.marker, buffer);
59
- buffer.writeUint8(metadataCommentCommon.MetadataCommentMarshallingMap.Header);
60
- valueSerializer.ValueSerializer.serialize(node.header, buffer, getFrequentHeadersSerializationMap(), true);
61
- buffer.writeUint8(metadataCommentCommon.MetadataCommentMarshallingMap.Value);
62
- valueSerializer.ValueSerializer.serialize(node.value, buffer);
63
- if (!typeGuards.isUndefined(node.start)) {
64
- buffer.writeUint8(metadataCommentCommon.MetadataCommentMarshallingMap.Start);
65
- buffer.writeUint32(node.start);
66
- }
67
- if (!typeGuards.isUndefined(node.end)) {
68
- buffer.writeUint8(metadataCommentCommon.MetadataCommentMarshallingMap.End);
69
- buffer.writeUint32(node.end);
70
- }
71
- buffer.writeUint8(constants.NULL);
72
- }
73
- }
74
-
75
- exports.MetadataCommentSerializer = MetadataCommentSerializer;
@@ -1,73 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 logicalExpressionSerializer = require('../misc/logical-expression-serializer.js');
11
- var parameterListSerializer = require('../misc/parameter-list-serializer.js');
12
- var valueSerializer = require('../misc/value-serializer.js');
13
- var typeGuards = require('../../utils/type-guards.js');
14
- var baseSerializer = require('../base-serializer.js');
15
- var preProcessorCommentCommon = require('../../marshalling-utils/comment/pre-processor-comment-common.js');
16
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
17
- var syntaxSerializationMap = require('../../marshalling-utils/syntax-serialization-map.js');
18
-
19
- /**
20
- * `PreProcessorSerializer` is responsible for serializing preprocessor rules.
21
- * Pre-processor comments are special comments that are used to control the behavior of the filter list processor.
22
- * Please note that this parser only handles general syntax for now, and does not validate the parameters at
23
- * the parsing stage.
24
- *
25
- * @example
26
- * If your rule is
27
- * ```adblock
28
- * !#if (adguard)
29
- * ```
30
- * then the directive's name is `if` and its value is `(adguard)`, but the parameter list
31
- * is not parsed / validated further.
32
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#pre-processor-directives}
33
- * @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#pre-parsing-directives}
34
- */
35
- class PreProcessorCommentSerializer extends baseSerializer.BaseSerializer {
36
- /**
37
- * Serializes a pre-processor comment node to binary format.
38
- *
39
- * @param node Node to serialize.
40
- * @param buffer ByteBuffer for writing binary data.
41
- */
42
- // TODO: add support for raws, if ever needed
43
- static serialize(node, buffer) {
44
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.PreProcessorCommentRuleNode);
45
- buffer.writeUint8(preProcessorCommentCommon.PreProcessorRuleMarshallingMap.Name);
46
- valueSerializer.ValueSerializer.serialize(node.name, buffer, preProcessorCommentCommon.FREQUENT_DIRECTIVES_SERIALIZATION_MAP);
47
- buffer.writeUint8(preProcessorCommentCommon.PreProcessorRuleMarshallingMap.Syntax);
48
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
49
- if (!typeGuards.isUndefined(node.params)) {
50
- buffer.writeUint8(preProcessorCommentCommon.PreProcessorRuleMarshallingMap.Params);
51
- if (node.params.type === 'Value') {
52
- valueSerializer.ValueSerializer.serialize(node.params, buffer);
53
- }
54
- else if (node.params.type === 'ParameterList') {
55
- parameterListSerializer.ParameterListSerializer.serialize(node.params, buffer, preProcessorCommentCommon.FREQUENT_PARAMS_SERIALIZATION_MAP, true);
56
- }
57
- else {
58
- logicalExpressionSerializer.LogicalExpressionSerializer.serialize(node.params, buffer);
59
- }
60
- }
61
- if (!typeGuards.isUndefined(node.start)) {
62
- buffer.writeUint8(preProcessorCommentCommon.PreProcessorRuleMarshallingMap.Start);
63
- buffer.writeUint32(node.start);
64
- }
65
- if (!typeGuards.isUndefined(node.end)) {
66
- buffer.writeUint8(preProcessorCommentCommon.PreProcessorRuleMarshallingMap.End);
67
- buffer.writeUint32(node.end);
68
- }
69
- buffer.writeUint8(constants.NULL);
70
- }
71
- }
72
-
73
- exports.PreProcessorCommentSerializer = PreProcessorCommentSerializer;
@@ -1,54 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 typeGuards = require('../../utils/type-guards.js');
11
- var valueSerializer = require('../misc/value-serializer.js');
12
- var baseSerializer = require('../base-serializer.js');
13
- var simpleCommentCommon = require('../../marshalling-utils/comment/simple-comment-common.js');
14
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
15
-
16
- /**
17
- * `SimpleCommentSerializer` is responsible for parsing simple comments.
18
- * Some comments have a special meaning in adblock syntax, like agent comments or hints,
19
- * but this parser is only responsible for parsing regular comments,
20
- * whose only purpose is to provide some human-readable information.
21
- *
22
- * @example
23
- * ```adblock
24
- * ! This is a simple comment
25
- * # This is a simple comment, but in host-like syntax
26
- * ```
27
- */
28
- class SimpleCommentSerializer extends baseSerializer.BaseSerializer {
29
- /**
30
- * Serializes a simple comment rule node to binary format.
31
- *
32
- * @param node Node to serialize.
33
- * @param buffer ByteBuffer for writing binary data.
34
- */
35
- // TODO: add support for raws, if ever needed
36
- static serialize(node, buffer) {
37
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.CommentRuleNode);
38
- buffer.writeUint8(simpleCommentCommon.SimpleCommentMarshallingMap.Marker);
39
- valueSerializer.ValueSerializer.serialize(node.marker, buffer);
40
- buffer.writeUint8(simpleCommentCommon.SimpleCommentMarshallingMap.Text);
41
- valueSerializer.ValueSerializer.serialize(node.text, buffer);
42
- if (!typeGuards.isUndefined(node.start)) {
43
- buffer.writeUint8(simpleCommentCommon.SimpleCommentMarshallingMap.Start);
44
- buffer.writeUint32(node.start);
45
- }
46
- if (!typeGuards.isUndefined(node.end)) {
47
- buffer.writeUint8(simpleCommentCommon.SimpleCommentMarshallingMap.End);
48
- buffer.writeUint32(node.end);
49
- }
50
- buffer.writeUint8(constants.NULL);
51
- }
52
- }
53
-
54
- exports.SimpleCommentSerializer = SimpleCommentSerializer;
@@ -1,38 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 baseSerializer = require('../../base-serializer.js');
10
- var scriptletBodySerializer = require('./scriptlet-body-serializer.js');
11
- var abpSnippetInjectionBodyCommon = require('../../../marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js');
12
-
13
- /**
14
- * `AbpSnippetInjectionBodyParser` is responsible for parsing the body of an Adblock Plus-style snippet rule.
15
- *
16
- * Please note that the parser will parse any scriptlet rule if it is syntactically correct.
17
- * For example, it will parse this:
18
- * ```adblock
19
- * example.com#$#snippet0 arg0
20
- * ```
21
- *
22
- * but it didn't check if the scriptlet `snippet0` actually supported by any adblocker.
23
- *
24
- * @see {@link https://help.eyeo.com/adblockplus/snippet-filters-tutorial}
25
- */
26
- class AbpSnippetInjectionBodySerializer extends baseSerializer.BaseSerializer {
27
- /**
28
- * Serializes a scriptlet call body node to binary format.
29
- *
30
- * @param node Node to serialize.
31
- * @param buffer ByteBuffer for writing binary data.
32
- */
33
- static serialize(node, buffer) {
34
- scriptletBodySerializer.ScriptletBodySerializer.serialize(node, buffer, abpSnippetInjectionBodyCommon.FREQUENT_ABP_SNIPPET_ARGS_SERIALIZATION_MAP);
35
- }
36
- }
37
-
38
- exports.AbpSnippetInjectionBodySerializer = AbpSnippetInjectionBodySerializer;
@@ -1,38 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 baseSerializer = require('../../base-serializer.js');
10
- var scriptletBodySerializer = require('./scriptlet-body-serializer.js');
11
- var adgScriptletInjectionBodyCommon = require('../../../marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js');
12
-
13
- /**
14
- * `AdgScriptletInjectionBodyParser` is responsible for parsing the body of an AdGuard-style scriptlet rule.
15
- *
16
- * Please note that the parser will parse any scriptlet rule if it is syntactically correct.
17
- * For example, it will parse this:
18
- * ```adblock
19
- * example.com#%#//scriptlet('scriptlet0', 'arg0')
20
- * ```
21
- *
22
- * but it didn't check if the scriptlet `scriptlet0` actually supported by any adblocker.
23
- *
24
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
25
- */
26
- class AdgScriptletInjectionBodySerializer extends baseSerializer.BaseSerializer {
27
- /**
28
- * Serializes a scriptlet call body node to binary format.
29
- *
30
- * @param node Node to serialize.
31
- * @param buffer ByteBuffer for writing binary data.
32
- */
33
- static serialize(node, buffer) {
34
- scriptletBodySerializer.ScriptletBodySerializer.serialize(node, buffer, adgScriptletInjectionBodyCommon.FREQUENT_ADG_SCRIPTLET_ARGS_SERIALIZATION_MAP);
35
- }
36
- }
37
-
38
- exports.AdgScriptletInjectionBodySerializer = AdgScriptletInjectionBodySerializer;
@@ -1,49 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 parameterListSerializer = require('../../misc/parameter-list-serializer.js');
11
- var typeGuards = require('../../../utils/type-guards.js');
12
- var baseSerializer = require('../../base-serializer.js');
13
- var abpSnippetInjectionBodyCommon = require('../../../marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js');
14
- var binaryTypeCommon = require('../../../marshalling-utils/misc/binary-type-common.js');
15
-
16
- class ScriptletBodySerializer extends baseSerializer.BaseSerializer {
17
- /**
18
- * Serializes a hint rule node to binary format.
19
- *
20
- * @param node Node to serialize.
21
- * @param buffer ByteBuffer for writing binary data.
22
- * @param frequentScriptletArgs Map of frequently used scriptlet names / arguments
23
- * and their serialization index (optional).
24
- */
25
- static serialize = (node, buffer, frequentScriptletArgs) => {
26
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ScriptletInjectionRuleBodyNode);
27
- const { length } = node.children;
28
- buffer.writeUint8(abpSnippetInjectionBodyCommon.AbpSnippetBodyMarshallingMap.Children);
29
- // note: we store the count, because re-construction of the array is faster if we know the length
30
- if (length > constants.UINT8_MAX) {
31
- throw new Error(`Too many scriptlet children: ${length}, the limit is ${constants.UINT8_MAX}`);
32
- }
33
- buffer.writeUint8(length);
34
- for (let i = 0; i < length; i += 1) {
35
- parameterListSerializer.ParameterListSerializer.serialize(node.children[i], buffer, frequentScriptletArgs);
36
- }
37
- if (!typeGuards.isUndefined(node.start)) {
38
- buffer.writeUint8(abpSnippetInjectionBodyCommon.AbpSnippetBodyMarshallingMap.Start);
39
- buffer.writeUint32(node.start);
40
- }
41
- if (!typeGuards.isUndefined(node.end)) {
42
- buffer.writeUint8(abpSnippetInjectionBodyCommon.AbpSnippetBodyMarshallingMap.End);
43
- buffer.writeUint32(node.end);
44
- }
45
- buffer.writeUint8(constants.NULL);
46
- };
47
- }
48
-
49
- exports.ScriptletBodySerializer = ScriptletBodySerializer;
@@ -1,38 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 scriptletBodySerializer = require('./scriptlet-body-serializer.js');
10
- var baseSerializer = require('../../base-serializer.js');
11
- var uboScriptletInjectionBodyCommon = require('../../../marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js');
12
-
13
- /**
14
- * `UboScriptletInjectionBodySerializer` is responsible for serializing the body of a uBlock-style scriptlet rule.
15
- *
16
- * Please note that the parser will parse any scriptlet rule if it is syntactically correct.
17
- * For example, it will parse this:
18
- * ```adblock
19
- * example.com##+js(scriptlet0, arg0)
20
- * ```
21
- *
22
- * but it didn't check if the scriptlet `scriptlet0` actually supported by any adblocker.
23
- *
24
- * @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#scriptlet-injection}
25
- */
26
- class UboScriptletInjectionBodySerializer extends baseSerializer.BaseSerializer {
27
- /**
28
- * Serializes a scriptlet call body node to binary format.
29
- *
30
- * @param node Node to serialize.
31
- * @param buffer ByteBuffer for writing binary data.
32
- */
33
- static serialize(node, buffer) {
34
- scriptletBodySerializer.ScriptletBodySerializer.serialize(node, buffer, uboScriptletInjectionBodyCommon.FREQUENT_UBO_SCRIPTLET_ARGS_SERIALIZATION_MAP);
35
- }
36
- }
37
-
38
- exports.UboScriptletInjectionBodySerializer = UboScriptletInjectionBodySerializer;
@@ -1,131 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 adblockers = require('../../utils/adblockers.js');
10
- var domainListSerializer = require('../misc/domain-list-serializer.js');
11
- var constants = require('../../utils/constants.js');
12
- var index = require('../../nodes/index.js');
13
- var abpSnippetInjectionBodySerializer = require('./body/abp-snippet-injection-body-serializer.js');
14
- var uboScriptletInjectionBodySerializer = require('./body/ubo-scriptlet-injection-body-serializer.js');
15
- var adgScriptletInjectionBodySerializer = require('./body/adg-scriptlet-injection-body-serializer.js');
16
- var valueSerializer = require('../misc/value-serializer.js');
17
- var typeGuards = require('../../utils/type-guards.js');
18
- var baseSerializer = require('../base-serializer.js');
19
- var elementHidingBodySerializer = require('./element-hiding-body-serializer.js');
20
- var cssInjectionBodySerializer = require('./css-injection-body-serializer.js');
21
- var modifierListSerializer = require('../misc/modifier-list-serializer.js');
22
- var cosmeticRuleCommon = require('../../marshalling-utils/cosmetic/cosmetic-rule-common.js');
23
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
24
- var syntaxSerializationMap = require('../../marshalling-utils/syntax-serialization-map.js');
25
-
26
- /**
27
- * `CosmeticRuleParser` is responsible for parsing cosmetic rules.
28
- *
29
- * Where possible, it automatically detects the difference between supported syntaxes:
30
- * - AdGuard
31
- * - uBlock Origin
32
- * - Adblock Plus
33
- *
34
- * If the syntax is common / cannot be determined, the parser gives `Common` syntax.
35
- *
36
- * Please note that syntactically correct rules are parsed even if they are not actually
37
- * compatible with the given adblocker. This is a completely natural behavior, meaningful
38
- * checking of compatibility is not done at the parser level.
39
- */
40
- // TODO: Make raw body parsing optional
41
- // TODO: Split into smaller sections
42
- class CosmeticRuleSerializer extends baseSerializer.BaseSerializer {
43
- /**
44
- * Serializes a cosmetic rule node to binary format.
45
- *
46
- * @param node Node to serialize.
47
- * @param buffer ByteBuffer for writing binary data.
48
- */
49
- // TODO: add support for raws, if ever needed
50
- static serialize(node, buffer) {
51
- // specific properties
52
- switch (node.type) {
53
- case index.CosmeticRuleType.ElementHidingRule:
54
- // rule type
55
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ElementHidingRule);
56
- // syntax
57
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
58
- // rule body
59
- elementHidingBodySerializer.ElementHidingBodySerializer.serialize(node.body, buffer);
60
- break;
61
- case index.CosmeticRuleType.CssInjectionRule:
62
- // rule type
63
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.CssInjectionRule);
64
- // syntax
65
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
66
- // rule body
67
- cssInjectionBodySerializer.CssInjectionBodySerializer.serialize(node.body, buffer);
68
- break;
69
- case index.CosmeticRuleType.JsInjectionRule:
70
- // rule type
71
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.JsInjectionRule);
72
- // syntax
73
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
74
- // rule body
75
- valueSerializer.ValueSerializer.serialize(node.body, buffer);
76
- break;
77
- case index.CosmeticRuleType.HtmlFilteringRule:
78
- // rule type
79
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.HtmlFilteringRule);
80
- // syntax
81
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
82
- // rule body
83
- valueSerializer.ValueSerializer.serialize(node.body, buffer);
84
- break;
85
- case index.CosmeticRuleType.ScriptletInjectionRule:
86
- // rule type
87
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ScriptletInjectionRule);
88
- // syntax
89
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
90
- // rule body
91
- switch (node.syntax) {
92
- case adblockers.AdblockSyntax.Adg:
93
- adgScriptletInjectionBodySerializer.AdgScriptletInjectionBodySerializer.serialize(node.body, buffer);
94
- break;
95
- case adblockers.AdblockSyntax.Abp:
96
- abpSnippetInjectionBodySerializer.AbpSnippetInjectionBodySerializer.serialize(node.body, buffer);
97
- break;
98
- case adblockers.AdblockSyntax.Ubo:
99
- uboScriptletInjectionBodySerializer.UboScriptletInjectionBodySerializer.serialize(node.body, buffer);
100
- break;
101
- default:
102
- throw new Error('Scriptlet rule should have an explicit syntax');
103
- }
104
- break;
105
- default:
106
- throw new Error('Unknown cosmetic rule type');
107
- }
108
- // common properties
109
- buffer.writeUint8(cosmeticRuleCommon.CosmeticRuleMarshallingMap.Exception);
110
- buffer.writeUint8(node.exception ? 1 : 0);
111
- buffer.writeUint8(cosmeticRuleCommon.CosmeticRuleMarshallingMap.Separator);
112
- valueSerializer.ValueSerializer.serialize(node.separator, buffer, cosmeticRuleCommon.COSMETIC_RULE_SEPARATOR_SERIALIZATION_MAP);
113
- if (node.modifiers) {
114
- buffer.writeUint8(cosmeticRuleCommon.CosmeticRuleMarshallingMap.Modifiers);
115
- modifierListSerializer.ModifierListSerializer.serialize(node.modifiers, buffer);
116
- }
117
- buffer.writeUint8(cosmeticRuleCommon.CosmeticRuleMarshallingMap.Domains);
118
- domainListSerializer.DomainListSerializer.serialize(node.domains, buffer);
119
- if (!typeGuards.isUndefined(node.start)) {
120
- buffer.writeUint8(cosmeticRuleCommon.CosmeticRuleMarshallingMap.Start);
121
- buffer.writeUint32(node.start);
122
- }
123
- if (!typeGuards.isUndefined(node.end)) {
124
- buffer.writeUint8(cosmeticRuleCommon.CosmeticRuleMarshallingMap.End);
125
- buffer.writeUint32(node.end);
126
- }
127
- buffer.writeUint8(constants.NULL);
128
- }
129
- }
130
-
131
- exports.CosmeticRuleSerializer = CosmeticRuleSerializer;
@@ -1,50 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 valueSerializer = require('../misc/value-serializer.js');
10
- var typeGuards = require('../../utils/type-guards.js');
11
- var constants = require('../../utils/constants.js');
12
- var baseSerializer = require('../base-serializer.js');
13
- var cssInjectionBodyCommon = require('../../marshalling-utils/cosmetic/body/css-injection-body-common.js');
14
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
15
-
16
- class CssInjectionBodySerializer extends baseSerializer.BaseSerializer {
17
- /**
18
- * Serializes a CSS injection rule body node to binary format.
19
- *
20
- * @param node Node to serialize.
21
- * @param buffer ByteBuffer for writing binary data.
22
- */
23
- static serialize(node, buffer) {
24
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.CssInjectionRuleBody);
25
- if (node.mediaQueryList) {
26
- buffer.writeUint8(cssInjectionBodyCommon.CssInjectionRuleMarshallingMap.MediaQueryList);
27
- valueSerializer.ValueSerializer.serialize(node.mediaQueryList, buffer);
28
- }
29
- buffer.writeUint8(cssInjectionBodyCommon.CssInjectionRuleMarshallingMap.SelectorList);
30
- valueSerializer.ValueSerializer.serialize(node.selectorList, buffer);
31
- if (node.declarationList) {
32
- buffer.writeUint8(cssInjectionBodyCommon.CssInjectionRuleMarshallingMap.DeclarationList);
33
- valueSerializer.ValueSerializer.serialize(node.declarationList, buffer);
34
- }
35
- if (node.remove) {
36
- buffer.writeUint8(cssInjectionBodyCommon.CssInjectionRuleMarshallingMap.Remove);
37
- }
38
- if (!typeGuards.isUndefined(node.start)) {
39
- buffer.writeUint8(cssInjectionBodyCommon.CssInjectionRuleMarshallingMap.Start);
40
- buffer.writeUint32(node.start);
41
- }
42
- if (!typeGuards.isUndefined(node.end)) {
43
- buffer.writeUint8(cssInjectionBodyCommon.CssInjectionRuleMarshallingMap.End);
44
- buffer.writeUint32(node.end);
45
- }
46
- buffer.writeUint8(constants.NULL);
47
- }
48
- }
49
-
50
- exports.CssInjectionBodySerializer = CssInjectionBodySerializer;
@@ -1,39 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 baseSerializer = require('../base-serializer.js');
10
- var valueSerializer = require('../misc/value-serializer.js');
11
- var typeGuards = require('../../utils/type-guards.js');
12
- var constants = require('../../utils/constants.js');
13
- var elementHidingBodyCommon = require('../../marshalling-utils/cosmetic/body/element-hiding-body-common.js');
14
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
15
-
16
- class ElementHidingBodySerializer extends baseSerializer.BaseSerializer {
17
- /**
18
- * Serializes an element hiding rule body node to binary format.
19
- *
20
- * @param node Node to serialize.
21
- * @param buffer ByteBuffer for writing binary data.
22
- */
23
- static serialize(node, buffer) {
24
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.ElementHidingRuleBody);
25
- buffer.writeUint8(elementHidingBodyCommon.ElementHidingRuleMarshallingMap.SelectorList);
26
- valueSerializer.ValueSerializer.serialize(node.selectorList, buffer);
27
- if (!typeGuards.isUndefined(node.start)) {
28
- buffer.writeUint8(elementHidingBodyCommon.ElementHidingRuleMarshallingMap.Start);
29
- buffer.writeUint32(node.start);
30
- }
31
- if (!typeGuards.isUndefined(node.end)) {
32
- buffer.writeUint8(elementHidingBodyCommon.ElementHidingRuleMarshallingMap.End);
33
- buffer.writeUint32(node.end);
34
- }
35
- buffer.writeUint8(constants.NULL);
36
- }
37
- }
38
-
39
- exports.ElementHidingBodySerializer = ElementHidingBodySerializer;
@@ -1,36 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 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 baseSerializer = require('./base-serializer.js');
10
- var typeGuards = require('../utils/type-guards.js');
11
- var constants = require('../utils/constants.js');
12
- var emptyRuleCommon = require('../marshalling-utils/empty-rule-common.js');
13
- var binaryTypeCommon = require('../marshalling-utils/misc/binary-type-common.js');
14
-
15
- class EmptyRuleSerializer extends baseSerializer.BaseSerializer {
16
- /**
17
- * Serializes an empty rule node to binary format.
18
- *
19
- * @param node Node to serialize.
20
- * @param buffer ByteBuffer for writing binary data.
21
- */
22
- static serialize(node, buffer) {
23
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.EmptyRule);
24
- if (!typeGuards.isUndefined(node.start)) {
25
- buffer.writeUint8(emptyRuleCommon.EmptyRuleMarshallingMap.Start);
26
- buffer.writeUint32(node.start);
27
- }
28
- if (!typeGuards.isUndefined(node.end)) {
29
- buffer.writeUint8(emptyRuleCommon.EmptyRuleMarshallingMap.End);
30
- buffer.writeUint32(node.end);
31
- }
32
- buffer.writeUint8(constants.NULL);
33
- }
34
- }
35
-
36
- exports.EmptyRuleSerializer = EmptyRuleSerializer;