@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,180 +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
- /**
10
- * Possible operators in the logical expression.
11
- */
12
- exports.OperatorValue = void 0;
13
- (function (OperatorValue) {
14
- OperatorValue["Not"] = "!";
15
- OperatorValue["And"] = "&&";
16
- OperatorValue["Or"] = "||";
17
- })(exports.OperatorValue || (exports.OperatorValue = {}));
18
- /**
19
- * Represents the different comment markers that can be used in an adblock rule.
20
- *
21
- * @example
22
- * - If the rule is `! This is just a comment`, then the marker will be `!`.
23
- * - If the rule is `# This is just a comment`, then the marker will be `#`.
24
- */
25
- exports.CommentMarker = void 0;
26
- (function (CommentMarker) {
27
- /**
28
- * Regular comment marker. It is supported by all ad blockers.
29
- */
30
- CommentMarker["Regular"] = "!";
31
- /**
32
- * Hashmark comment marker. It is supported by uBlock Origin and AdGuard,
33
- * and also used in hosts files.
34
- */
35
- CommentMarker["Hashmark"] = "#";
36
- })(exports.CommentMarker || (exports.CommentMarker = {}));
37
- /**
38
- * Represents the main categories that an adblock rule can belong to.
39
- * Of course, these include additional subcategories.
40
- */
41
- exports.RuleCategory = void 0;
42
- (function (RuleCategory) {
43
- /**
44
- * Empty "rules" that are only containing whitespaces. These rules are handled just for convenience.
45
- */
46
- RuleCategory["Empty"] = "Empty";
47
- /**
48
- * Syntactically invalid rules (tolerant mode only).
49
- */
50
- RuleCategory["Invalid"] = "Invalid";
51
- /**
52
- * Comment rules, such as comment rules, metadata rules, preprocessor rules, etc.
53
- */
54
- RuleCategory["Comment"] = "Comment";
55
- /**
56
- * Cosmetic rules, such as element hiding rules, CSS rules, scriptlet rules, HTML rules, and JS rules.
57
- */
58
- RuleCategory["Cosmetic"] = "Cosmetic";
59
- /**
60
- * Network rules, such as basic network rules, header remover network rules, redirect network rules,
61
- * response header filtering rules, etc.
62
- */
63
- RuleCategory["Network"] = "Network";
64
- })(exports.RuleCategory || (exports.RuleCategory = {}));
65
- /**
66
- * Represents similar types of modifiers values
67
- * which may be separated by a comma `,` (only for DomainList) or a pipe `|`.
68
- */
69
- exports.ListNodeType = void 0;
70
- (function (ListNodeType) {
71
- ListNodeType["Unknown"] = "Unknown";
72
- ListNodeType["AppList"] = "AppList";
73
- ListNodeType["DomainList"] = "DomainList";
74
- ListNodeType["MethodList"] = "MethodList";
75
- ListNodeType["StealthOptionList"] = "StealthOptionList";
76
- })(exports.ListNodeType || (exports.ListNodeType = {}));
77
- /**
78
- * Represents child items for {@link ListNodeType}.
79
- */
80
- exports.ListItemNodeType = void 0;
81
- (function (ListItemNodeType) {
82
- ListItemNodeType["Unknown"] = "Unknown";
83
- ListItemNodeType["App"] = "App";
84
- ListItemNodeType["Domain"] = "Domain";
85
- ListItemNodeType["Method"] = "Method";
86
- ListItemNodeType["StealthOption"] = "StealthOption";
87
- })(exports.ListItemNodeType || (exports.ListItemNodeType = {}));
88
- /**
89
- * Represents possible comment types.
90
- */
91
- exports.CommentRuleType = void 0;
92
- (function (CommentRuleType) {
93
- CommentRuleType["AgentCommentRule"] = "AgentCommentRule";
94
- CommentRuleType["CommentRule"] = "CommentRule";
95
- CommentRuleType["ConfigCommentRule"] = "ConfigCommentRule";
96
- CommentRuleType["HintCommentRule"] = "HintCommentRule";
97
- CommentRuleType["MetadataCommentRule"] = "MetadataCommentRule";
98
- CommentRuleType["PreProcessorCommentRule"] = "PreProcessorCommentRule";
99
- })(exports.CommentRuleType || (exports.CommentRuleType = {}));
100
- /**
101
- * Represents possible cosmetic rule types.
102
- */
103
- exports.CosmeticRuleType = void 0;
104
- (function (CosmeticRuleType) {
105
- CosmeticRuleType["ElementHidingRule"] = "ElementHidingRule";
106
- CosmeticRuleType["CssInjectionRule"] = "CssInjectionRule";
107
- CosmeticRuleType["ScriptletInjectionRule"] = "ScriptletInjectionRule";
108
- CosmeticRuleType["HtmlFilteringRule"] = "HtmlFilteringRule";
109
- CosmeticRuleType["JsInjectionRule"] = "JsInjectionRule";
110
- })(exports.CosmeticRuleType || (exports.CosmeticRuleType = {}));
111
- /**
112
- * Represents possible cosmetic rule separators.
113
- */
114
- exports.CosmeticRuleSeparator = void 0;
115
- (function (CosmeticRuleSeparator) {
116
- /**
117
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
118
- */
119
- CosmeticRuleSeparator["ElementHiding"] = "##";
120
- /**
121
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
122
- */
123
- CosmeticRuleSeparator["ElementHidingException"] = "#@#";
124
- /**
125
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
126
- */
127
- CosmeticRuleSeparator["ExtendedElementHiding"] = "#?#";
128
- /**
129
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
130
- */
131
- CosmeticRuleSeparator["ExtendedElementHidingException"] = "#@?#";
132
- /**
133
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
134
- */
135
- CosmeticRuleSeparator["AbpSnippet"] = "#$#";
136
- /**
137
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
138
- */
139
- CosmeticRuleSeparator["AbpSnippetException"] = "#@$#";
140
- /**
141
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
142
- */
143
- CosmeticRuleSeparator["AdgCssInjection"] = "#$#";
144
- /**
145
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
146
- */
147
- CosmeticRuleSeparator["AdgCssInjectionException"] = "#@$#";
148
- /**
149
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
150
- */
151
- CosmeticRuleSeparator["AdgExtendedCssInjection"] = "#$?#";
152
- /**
153
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
154
- */
155
- CosmeticRuleSeparator["AdgExtendedCssInjectionException"] = "#@$?#";
156
- /**
157
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
158
- */
159
- CosmeticRuleSeparator["AdgJsInjection"] = "#%#";
160
- /**
161
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
162
- */
163
- CosmeticRuleSeparator["AdgJsInjectionException"] = "#@%#";
164
- /**
165
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules}
166
- */
167
- CosmeticRuleSeparator["AdgHtmlFiltering"] = "$$";
168
- /**
169
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules}
170
- */
171
- CosmeticRuleSeparator["AdgHtmlFilteringException"] = "$@$";
172
- })(exports.CosmeticRuleSeparator || (exports.CosmeticRuleSeparator = {}));
173
- /**
174
- * Represents the different types of network rules.
175
- */
176
- exports.NetworkRuleType = void 0;
177
- (function (NetworkRuleType) {
178
- NetworkRuleType["NetworkRule"] = "NetworkRule";
179
- NetworkRuleType["HostRule"] = "HostRule";
180
- })(exports.NetworkRuleType || (exports.NetworkRuleType = {}));
@@ -1,11 +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
- const version = "3.0.0-alpha.1";
10
-
11
- exports.version = version;
@@ -1,32 +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 notImplementedError = require('../errors/not-implemented-error.js');
10
-
11
- /**
12
- * @file Base parser class.
13
- */
14
- /**
15
- * Base class for parsers. Each parser should extend this class.
16
- */
17
- class BaseParser {
18
- /**
19
- * Parses the input string and returns the AST node.
20
- *
21
- * @param input Input string to parse.
22
- * @param options Parser options, see {@link ParserOptions}.
23
- * @param baseOffset Base offset. Locations in the AST node will be relative to this offset.
24
- * @param args Additional, parser-specific arguments, if needed.
25
- */
26
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
- static parse(input, options, baseOffset, ...args) {
28
- throw new notImplementedError.NotImplementedError();
29
- }
30
- }
31
-
32
- exports.BaseParser = BaseParser;
@@ -1,121 +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 string = require('../../utils/string.js');
11
- var index = require('../../nodes/index.js');
12
- var agentParser = require('./agent-parser.js');
13
- var adblockSyntaxError = require('../../errors/adblock-syntax-error.js');
14
- var adblockers = require('../../utils/adblockers.js');
15
- var cosmeticRuleSeparator = require('../../utils/cosmetic-rule-separator.js');
16
- var baseParser = require('../base-parser.js');
17
- var options = require('../options.js');
18
- var typeGuards = require('../../utils/type-guards.js');
19
-
20
- /**
21
- * `AgentParser` is responsible for parsing an Adblock agent rules.
22
- * Adblock agent comment marks that the filter list is supposed to
23
- * be used by the specified ad blockers.
24
- *
25
- * @example
26
- * - ```adblock
27
- * [AdGuard]
28
- * ```
29
- * - ```adblock
30
- * [Adblock Plus 2.0]
31
- * ```
32
- * - ```adblock
33
- * [uBlock Origin]
34
- * ```
35
- * - ```adblock
36
- * [uBlock Origin 1.45.3]
37
- * ```
38
- * - ```adblock
39
- * [Adblock Plus 2.0; AdGuard]
40
- * ```
41
- */
42
- class AgentCommentParser extends baseParser.BaseParser {
43
- /**
44
- * Checks if the raw rule is an adblock agent comment.
45
- *
46
- * @param raw Raw rule
47
- * @returns `true` if the rule is an adblock agent, `false` otherwise
48
- */
49
- static isAgentRule(raw) {
50
- const rawTrimmed = raw.trim();
51
- if (rawTrimmed.startsWith(constants.OPEN_SQUARE_BRACKET) && rawTrimmed.endsWith(constants.CLOSE_SQUARE_BRACKET)) {
52
- // Avoid this case: [$adg-modifier]##[class^="adg-"]
53
- return typeGuards.isNull(cosmeticRuleSeparator.CosmeticRuleSeparatorUtils.find(rawTrimmed));
54
- }
55
- return false;
56
- }
57
- /**
58
- * Parses a raw rule as an adblock agent comment.
59
- *
60
- * @param raw Raw input to parse.
61
- * @param options Global parser options.
62
- * @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
63
- * @returns Agent rule AST or null (if the raw rule cannot be parsed as an adblock agent comment)
64
- */
65
- static parse(raw, options$1 = options.defaultParserOptions, baseOffset = 0) {
66
- // Ignore non-agent rules
67
- if (!AgentCommentParser.isAgentRule(raw)) {
68
- return null;
69
- }
70
- let offset = 0;
71
- // Skip whitespace characters before the rule
72
- offset = string.StringUtils.skipWS(raw, offset);
73
- // Skip opening bracket
74
- offset += 1;
75
- // last character should be a closing bracket
76
- const closingBracketIndex = string.StringUtils.skipWSBack(raw, raw.length - 1);
77
- if (closingBracketIndex === -1 || raw[closingBracketIndex] !== constants.CLOSE_SQUARE_BRACKET) {
78
- throw new adblockSyntaxError.AdblockSyntaxError('Missing closing bracket', offset, offset + raw.length);
79
- }
80
- // Initialize the agent list
81
- const result = {
82
- type: index.CommentRuleType.AgentCommentRule,
83
- syntax: adblockers.AdblockSyntax.Common,
84
- category: index.RuleCategory.Comment,
85
- children: [],
86
- };
87
- if (options$1.includeRaws) {
88
- result.raws = {
89
- text: raw,
90
- };
91
- }
92
- if (options$1.isLocIncluded) {
93
- result.start = baseOffset;
94
- result.end = baseOffset + raw.length;
95
- }
96
- while (offset < closingBracketIndex) {
97
- // Skip whitespace characters before the agent
98
- offset = string.StringUtils.skipWS(raw, offset);
99
- // Find the separator or the closing bracket
100
- let separatorIndex = raw.indexOf(constants.SEMICOLON, offset);
101
- if (separatorIndex === -1) {
102
- separatorIndex = closingBracketIndex;
103
- }
104
- // Find the last non-whitespace character of the agent
105
- // [AdGuard ; Adblock Plus 2.0]
106
- // ^
107
- // (if we have spaces between the agent name and the separator)
108
- const agentEndIndex = string.StringUtils.findLastNonWhitespaceCharacter(raw.slice(offset, separatorIndex)) + offset + 1;
109
- // Collect the agent
110
- result.children.push(agentParser.AgentParser.parse(raw.slice(offset, agentEndIndex), options$1, baseOffset + offset));
111
- // Set the offset to the next agent or the end of the rule
112
- offset = separatorIndex + 1;
113
- }
114
- if (result.children.length === 0) {
115
- throw new adblockSyntaxError.AdblockSyntaxError('Empty agent list', baseOffset, baseOffset + raw.length);
116
- }
117
- return result;
118
- }
119
- }
120
-
121
- exports.AgentCommentParser = AgentCommentParser;
@@ -1,111 +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 valid = require('semver/functions/valid');
10
- var coerce = require('semver/functions/coerce');
11
- var string = require('../../utils/string.js');
12
- var adblockSyntaxError = require('../../errors/adblock-syntax-error.js');
13
- var adblockers = require('../../utils/adblockers.js');
14
- var baseParser = require('../base-parser.js');
15
- var options = require('../options.js');
16
- var valueParser = require('../misc/value-parser.js');
17
- var typeGuards = require('../../utils/type-guards.js');
18
- var agentCommon = require('../../common/agent-common.js');
19
-
20
- /* eslint-disable no-param-reassign */
21
- /**
22
- * `AgentParser` is responsible for parsing single adblock agent elements.
23
- *
24
- * @example
25
- * If the adblock agent rule is
26
- * ```adblock
27
- * [Adblock Plus 2.0; AdGuard]
28
- * ```
29
- * then the adblock agents are `Adblock Plus 2.0` and `AdGuard`, and this
30
- * class is responsible for parsing them. The rule itself is parsed by
31
- * `AgentCommentParser`, which uses this class to parse single agents.
32
- */
33
- class AgentParser extends baseParser.BaseParser {
34
- /**
35
- * Checks if the string is a valid version.
36
- *
37
- * @param str String to check
38
- * @returns `true` if the string is a valid version, `false` otherwise
39
- */
40
- static isValidVersion(str) {
41
- return valid(coerce(str)) !== null;
42
- }
43
- /**
44
- * Parses a raw rule as an adblock agent comment.
45
- *
46
- * @param raw Raw input to parse.
47
- * @param options Global parser options.
48
- * @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
49
- * @returns Agent rule AST
50
- * @throws {AdblockSyntaxError} If the raw rule cannot be parsed as an adblock agent
51
- */
52
- static parse(raw, options$1 = options.defaultParserOptions, baseOffset = 0) {
53
- let offset = 0;
54
- // Save name start position
55
- const nameStartIndex = offset;
56
- let nameEndIndex = offset;
57
- // Prepare variables for name and version
58
- let name;
59
- let version;
60
- // default value for the syntax
61
- let syntax = adblockers.AdblockSyntax.Common;
62
- // Get agent parts by splitting it by spaces. The last part may be a version.
63
- // Example: "Adblock Plus 2.0"
64
- while (offset < raw.length) {
65
- // Skip whitespace before the part
66
- offset = string.StringUtils.skipWS(raw, offset);
67
- const partEnd = string.StringUtils.findNextWhitespaceCharacter(raw, offset);
68
- const part = raw.slice(offset, partEnd);
69
- if (AgentParser.isValidVersion(part)) {
70
- if (!typeGuards.isUndefined(version)) {
71
- throw new adblockSyntaxError.AdblockSyntaxError('Duplicated versions are not allowed', baseOffset + offset, baseOffset + partEnd);
72
- }
73
- const parsedNamePart = raw.slice(nameStartIndex, nameEndIndex);
74
- name = valueParser.ValueParser.parse(parsedNamePart, options$1, baseOffset + nameStartIndex);
75
- version = valueParser.ValueParser.parse(part, options$1, baseOffset + offset);
76
- syntax = agentCommon.getAdblockSyntax(parsedNamePart);
77
- }
78
- else {
79
- nameEndIndex = partEnd;
80
- }
81
- // Skip whitespace after the part
82
- offset = string.StringUtils.skipWS(raw, partEnd);
83
- }
84
- // If we didn't find a version, the whole string is the name
85
- if (typeGuards.isUndefined(name)) {
86
- const parsedNamePart = raw.slice(nameStartIndex, nameEndIndex);
87
- name = valueParser.ValueParser.parse(parsedNamePart, options$1, baseOffset + nameStartIndex);
88
- syntax = agentCommon.getAdblockSyntax(parsedNamePart);
89
- }
90
- // Agent name cannot be empty
91
- if (name.value.length === 0) {
92
- throw new adblockSyntaxError.AdblockSyntaxError('Agent name cannot be empty', baseOffset, baseOffset + raw.length);
93
- }
94
- const result = {
95
- type: 'Agent',
96
- adblock: name,
97
- syntax,
98
- };
99
- // only add version if it's present
100
- if (version) {
101
- result.version = version;
102
- }
103
- if (options$1.isLocIncluded) {
104
- result.start = baseOffset;
105
- result.end = baseOffset + raw.length;
106
- }
107
- return result;
108
- }
109
- }
110
-
111
- exports.AgentParser = AgentParser;
@@ -1,110 +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 agentCommentParser = require('./agent-comment-parser.js');
10
- var configCommentParser = require('./config-comment-parser.js');
11
- var hintCommentParser = require('./hint-comment-parser.js');
12
- var metadataCommentParser = require('./metadata-comment-parser.js');
13
- var preprocessorParser = require('./preprocessor-parser.js');
14
- var options = require('../options.js');
15
- var baseParser = require('../base-parser.js');
16
- var simpleCommentParser = require('./simple-comment-parser.js');
17
-
18
- /* eslint-disable no-param-reassign */
19
- /**
20
- * `CommentParser` is responsible for parsing any comment-like adblock rules.
21
- *
22
- * @example
23
- * Example rules:
24
- * - Adblock agent rules:
25
- * - ```adblock
26
- * [AdGuard]
27
- * ```
28
- * - ```adblock
29
- * [Adblock Plus 2.0]
30
- * ```
31
- * - etc.
32
- * - AdGuard hint rules:
33
- * - ```adblock
34
- * !+ NOT_OPTIMIZED
35
- * ```
36
- * - ```adblock
37
- * !+ NOT_OPTIMIZED PLATFORM(windows)
38
- * ```
39
- * - etc.
40
- * - Pre-processor rules:
41
- * - ```adblock
42
- * !#if (adguard)
43
- * ```
44
- * - ```adblock
45
- * !#endif
46
- * ```
47
- * - etc.
48
- * - Metadata rules:
49
- * - ```adblock
50
- * ! Title: My List
51
- * ```
52
- * - ```adblock
53
- * ! Version: 2.0.150
54
- * ```
55
- * - etc.
56
- * - AGLint inline config rules:
57
- * - ```adblock
58
- * ! aglint-enable some-rule
59
- * ```
60
- * - ```adblock
61
- * ! aglint-disable some-rule
62
- * ```
63
- * - etc.
64
- * - Simple comments:
65
- * - Regular version:
66
- * ```adblock
67
- * ! This is just a comment
68
- * ```
69
- * - uBlock Origin / "hostlist" version:
70
- * ```adblock
71
- * # This is just a comment
72
- * ```
73
- * - etc.
74
- */
75
- class CommentParser extends baseParser.BaseParser {
76
- /**
77
- * Checks whether a rule is a comment.
78
- *
79
- * @param raw Raw rule
80
- * @returns `true` if the rule is a comment, `false` otherwise
81
- */
82
- static isCommentRule(raw) {
83
- const trimmed = raw.trim();
84
- return simpleCommentParser.SimpleCommentParser.isSimpleComment(trimmed) || agentCommentParser.AgentCommentParser.isAgentRule(trimmed);
85
- }
86
- /**
87
- * Parses a raw rule as comment.
88
- *
89
- * @param raw Raw input to parse.
90
- * @param options Global parser options.
91
- * @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
92
- * @returns Comment AST or null (if the raw rule cannot be parsed as comment)
93
- */
94
- static parse(raw, options$1 = options.defaultParserOptions, baseOffset = 0) {
95
- // Ignore non-comment rules
96
- if (!CommentParser.isCommentRule(raw)) {
97
- return null;
98
- }
99
- // Note: we parse non-functional comments at the end,
100
- // if the input does not match any of the previous, more specific comment patterns
101
- return agentCommentParser.AgentCommentParser.parse(raw, options$1, baseOffset)
102
- || hintCommentParser.HintCommentParser.parse(raw, options$1, baseOffset)
103
- || preprocessorParser.PreProcessorCommentParser.parse(raw, options$1, baseOffset)
104
- || metadataCommentParser.MetadataCommentParser.parse(raw, options$1, baseOffset)
105
- || configCommentParser.ConfigCommentParser.parse(raw, options$1, baseOffset)
106
- || simpleCommentParser.SimpleCommentParser.parse(raw, options$1, baseOffset);
107
- }
108
- }
109
-
110
- exports.CommentParser = CommentParser;