@adguard/agtree 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/README.md +1 -1
  2. package/dist/{esm/ast-utils/clone.mjs → ast-utils/clone.js} +3 -3
  3. package/dist/{esm/ast-utils/modifiers.mjs → ast-utils/modifiers.js} +4 -4
  4. package/dist/{esm/ast-utils/network-rules.mjs → ast-utils/network-rules.js} +6 -6
  5. package/dist/{esm/ast-utils/scriptlets.mjs → ast-utils/scriptlets.js} +5 -5
  6. package/dist/{esm/common/abp-snippet-injection-body-common.mjs → common/abp-snippet-injection-body-common.js} +9 -2
  7. package/dist/{esm/common/agent-common.mjs → common/agent-common.js} +3 -3
  8. package/dist/common/ubo-selector-common.js +17 -0
  9. package/dist/{esm/compatibility-tables/base.mjs → compatibility-tables/base.js} +6 -6
  10. package/dist/{esm/compatibility-tables/compatibility-table-data.mjs → compatibility-tables/compatibility-table-data.js} +3 -3
  11. package/dist/{esm/compatibility-tables/modifiers.mjs → compatibility-tables/modifiers.js} +6 -6
  12. package/dist/compatibility-tables/platforms.js +76 -0
  13. package/dist/{esm/compatibility-tables/redirects.mjs → compatibility-tables/redirects.js} +8 -8
  14. package/dist/{esm/compatibility-tables/schemas/base.mjs → compatibility-tables/schemas/base.js} +4 -4
  15. package/dist/{esm/compatibility-tables/schemas/modifier.mjs → compatibility-tables/schemas/modifier.js} +31 -7
  16. package/dist/{esm/compatibility-tables/schemas/platform.mjs → compatibility-tables/schemas/platform.js} +4 -4
  17. package/dist/{esm/compatibility-tables/schemas/redirect.mjs → compatibility-tables/schemas/redirect.js} +5 -5
  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} +4 -4
  20. package/dist/{esm/compatibility-tables/scriptlets.mjs → compatibility-tables/scriptlets.js} +5 -5
  21. package/dist/{esm/compatibility-tables/utils/platform-helpers.mjs → compatibility-tables/utils/platform-helpers.js} +3 -3
  22. package/dist/{esm/compatibility-tables/utils/resource-type-helpers.mjs → compatibility-tables/utils/resource-type-helpers.js} +5 -5
  23. package/dist/{esm/compatibility-tables/utils/zod-camelcase.mjs → compatibility-tables/utils/zod-camelcase.js} +2 -2
  24. package/dist/{esm/converter/base-interfaces/base-converter.mjs → converter/base-interfaces/base-converter.js} +3 -3
  25. package/dist/{esm/converter/base-interfaces/conversion-result.mjs → converter/base-interfaces/conversion-result.js} +2 -2
  26. package/dist/{esm/converter/base-interfaces/rule-converter-base.mjs → converter/base-interfaces/rule-converter-base.js} +4 -4
  27. package/dist/{esm/converter/comment/index.mjs → converter/comment/index.js} +7 -7
  28. package/dist/{esm/converter/cosmetic/css.mjs → converter/cosmetic/css.js} +9 -9
  29. package/dist/{esm/converter/cosmetic/element-hiding.mjs → converter/cosmetic/element-hiding.js} +9 -9
  30. package/dist/{esm/converter/cosmetic/header-removal.mjs → converter/cosmetic/header-removal.js} +12 -12
  31. package/dist/{esm/converter/cosmetic/html.mjs → converter/cosmetic/html.js} +21 -30
  32. package/dist/{esm/converter/cosmetic/index.mjs → converter/cosmetic/index.js} +43 -13
  33. package/dist/{esm/converter/cosmetic/rule-modifiers/adg.mjs → converter/cosmetic/rule-modifiers/adg.js} +10 -10
  34. package/dist/converter/cosmetic/rule-modifiers/ubo.js +149 -0
  35. package/dist/{esm/converter/cosmetic/scriptlet.mjs → converter/cosmetic/scriptlet.js} +23 -23
  36. package/dist/{esm/converter/css/index.mjs → converter/css/index.js} +21 -25
  37. package/dist/{esm/converter/data/css.mjs → converter/data/css.js} +2 -2
  38. package/dist/{esm/converter/filter-list.mjs → converter/filter-list.js} +7 -7
  39. package/dist/converter/index.js +8 -0
  40. package/dist/{esm/converter/misc/network-rule-modifier.mjs → converter/misc/network-rule-modifier.js} +22 -22
  41. package/dist/{esm/converter/network/index.mjs → converter/network/index.js} +6 -6
  42. package/dist/{esm/converter/raw-filter-list.mjs → converter/raw-filter-list.js} +9 -9
  43. package/dist/{esm/converter/rule.mjs → converter/rule.js} +9 -9
  44. package/dist/{esm/deserializer/base-deserializer.mjs → deserializer/base-deserializer.js} +4 -4
  45. package/dist/{esm/deserializer/comment/agent-comment-deserializer.mjs → deserializer/comment/agent-comment-deserializer.js} +14 -9
  46. package/dist/{esm/deserializer/comment/agent-deserializer.mjs → deserializer/comment/agent-deserializer.js} +8 -8
  47. package/dist/{esm/deserializer/comment/comment-rule-deserializer.mjs → deserializer/comment/comment-rule-deserializer.js} +11 -64
  48. package/dist/{esm/deserializer/comment/config-comment-deserializer.mjs → deserializer/comment/config-comment-deserializer.js} +10 -10
  49. package/dist/{esm/deserializer/comment/hint-comment-deserializer.mjs → deserializer/comment/hint-comment-deserializer.js} +15 -10
  50. package/dist/{esm/deserializer/comment/hint-deserializer.mjs → deserializer/comment/hint-deserializer.js} +8 -8
  51. package/dist/{esm/deserializer/comment/metadata-comment-deserializer.mjs → deserializer/comment/metadata-comment-deserializer.js} +9 -9
  52. package/dist/{esm/deserializer/comment/pre-processor-comment-deserializer.mjs → deserializer/comment/pre-processor-comment-deserializer.js} +12 -12
  53. package/dist/{esm/deserializer/comment/simple-comment-deserializer.mjs → deserializer/comment/simple-comment-deserializer.js} +9 -9
  54. package/dist/{esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs → deserializer/cosmetic/cosmetic-rule-deserializer.js} +24 -18
  55. package/dist/{esm/deserializer/cosmetic/css-injection-body-deserializer.mjs → deserializer/cosmetic/css-injection-body-deserializer.js} +10 -7
  56. package/dist/{esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs → deserializer/cosmetic/element-hiding-body-deserializer.js} +11 -7
  57. package/dist/{esm/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js} +9 -5
  58. package/dist/{esm/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js} +10 -5
  59. package/dist/{esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js} +11 -7
  60. package/dist/{esm/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js} +9 -6
  61. package/dist/{esm/deserializer/empty-rule-deserializer.mjs → deserializer/empty-rule-deserializer.js} +12 -8
  62. package/dist/{esm/deserializer/filterlist-deserializer.mjs → deserializer/filterlist-deserializer.js} +11 -7
  63. package/dist/{esm/deserializer/index.mjs → deserializer/index.js} +4 -4
  64. package/dist/{esm/deserializer/invalid-rule-deserializer.mjs → deserializer/invalid-rule-deserializer.js} +12 -8
  65. package/dist/{esm/deserializer/invalid-rule-error-node-deserializer.mjs → deserializer/invalid-rule-error-node-deserializer.js} +10 -6
  66. package/dist/{esm/deserializer/misc/domain-list-deserializer.mjs → deserializer/misc/domain-list-deserializer.js} +8 -8
  67. package/dist/{esm/deserializer/misc/list-item-deserializer.mjs → deserializer/misc/list-item-deserializer.js} +13 -7
  68. package/dist/{esm/deserializer/misc/list-items-deserializer.mjs → deserializer/misc/list-items-deserializer.js} +7 -3
  69. package/dist/{esm/deserializer/misc/logical-expression-deserializer.mjs → deserializer/misc/logical-expression-deserializer.js} +8 -8
  70. package/dist/{esm/deserializer/misc/modifier-deserializer.mjs → deserializer/misc/modifier-deserializer.js} +8 -8
  71. package/dist/{esm/deserializer/misc/modifier-list-deserializer.mjs → deserializer/misc/modifier-list-deserializer.js} +12 -7
  72. package/dist/{esm/deserializer/misc/parameter-list-deserializer.mjs → deserializer/misc/parameter-list-deserializer.js} +11 -7
  73. package/dist/{esm/deserializer/misc/value-deserializer.mjs → deserializer/misc/value-deserializer.js} +6 -6
  74. package/dist/{esm/deserializer/network/host-rule-deserializer.mjs → deserializer/network/host-rule-deserializer.js} +15 -27
  75. package/dist/{esm/deserializer/network/hostname-list-deserializer.mjs → deserializer/network/hostname-list-deserializer.js} +15 -7
  76. package/dist/{esm/deserializer/network/network-rule-deserializer.mjs → deserializer/network/network-rule-deserializer.js} +11 -11
  77. package/dist/{esm/deserializer/rule-deserializer.mjs → deserializer/rule-deserializer.js} +10 -10
  78. package/dist/{esm/deserializer/syntax-deserialization-map.mjs → deserializer/syntax-deserialization-map.js} +3 -3
  79. package/dist/{esm/errors/adblock-syntax-error.mjs → errors/adblock-syntax-error.js} +2 -2
  80. package/dist/{esm/errors/binary-schema-mismatch-error.mjs → errors/binary-schema-mismatch-error.js} +2 -2
  81. package/dist/{esm/errors/not-implemented-error.mjs → errors/not-implemented-error.js} +2 -2
  82. package/dist/{esm/errors/rule-conversion-error.mjs → errors/rule-conversion-error.js} +2 -2
  83. package/dist/{esm/generator/base-generator.mjs → generator/base-generator.js} +4 -4
  84. package/dist/{esm/generator/comment/agent-comment-generator.mjs → generator/comment/agent-comment-generator.js} +8 -5
  85. package/dist/{esm/generator/comment/agent-generator.mjs → generator/comment/agent-generator.js} +9 -5
  86. package/dist/{esm/generator/comment/comment-rule-generator.mjs → generator/comment/comment-rule-generator.js} +11 -64
  87. package/dist/{esm/generator/comment/config-comment-generator.mjs → generator/comment/config-comment-generator.js} +8 -5
  88. package/dist/{esm/generator/comment/hint-comment-generator.mjs → generator/comment/hint-comment-generator.js} +8 -5
  89. package/dist/{esm/generator/comment/hint-generator.mjs → generator/comment/hint-generator.js} +11 -8
  90. package/dist/{esm/generator/comment/metadata-comment-generator.mjs → generator/comment/metadata-comment-generator.js} +8 -5
  91. package/dist/{esm/generator/comment/pre-processor-comment-generator.mjs → generator/comment/pre-processor-comment-generator.js} +10 -7
  92. package/dist/{esm/generator/comment/simple-comment-generator.mjs → generator/comment/simple-comment-generator.js} +8 -5
  93. package/dist/{esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs → generator/cosmetic/body/abp-snippet-injection-body-generator.js} +10 -6
  94. package/dist/{esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/adg-scriptlet-injection-body-generator.js} +10 -6
  95. package/dist/{esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js} +10 -6
  96. package/dist/{esm/generator/cosmetic/cosmetic-rule-body-generator.mjs → generator/cosmetic/cosmetic-rule-body-generator.js} +17 -13
  97. package/dist/{esm/generator/cosmetic/cosmetic-rule-generator.mjs → generator/cosmetic/cosmetic-rule-generator.js} +19 -21
  98. package/dist/{esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs → generator/cosmetic/cosmetic-rule-pattern-generator.js} +10 -7
  99. package/dist/{esm/generator/css/adg-css-injection-generator.mjs → generator/css/adg-css-injection-generator.js} +8 -5
  100. package/dist/{esm/generator/filterlist-generator.mjs → generator/filterlist-generator.js} +21 -9
  101. package/dist/{esm/generator/index.mjs → generator/index.js} +5 -5
  102. package/dist/{esm/generator/misc/domain-list-generator.mjs → generator/misc/domain-list-generator.js} +7 -4
  103. package/dist/{esm/generator/misc/list-items-generator.mjs → generator/misc/list-items-generator.js} +6 -3
  104. package/dist/{esm/generator/misc/logical-expression-generator.mjs → generator/misc/logical-expression-generator.js} +8 -5
  105. package/dist/{esm/generator/misc/modifier-generator.mjs → generator/misc/modifier-generator.js} +9 -6
  106. package/dist/{esm/generator/misc/modifier-list-generator.mjs → generator/misc/modifier-list-generator.js} +8 -5
  107. package/dist/{esm/generator/misc/parameter-list-generator.mjs → generator/misc/parameter-list-generator.js} +8 -6
  108. package/dist/{esm/generator/misc/value-generator.mjs → generator/misc/value-generator.js} +6 -3
  109. package/dist/{esm/generator/network/host-rule-generator.mjs → generator/network/host-rule-generator.js} +7 -4
  110. package/dist/{esm/generator/network/network-rule-generator.mjs → generator/network/network-rule-generator.js} +11 -8
  111. package/dist/{esm/generator/rule-generator.mjs → generator/rule-generator.js} +12 -9
  112. package/dist/{esm/index.mjs → index.js} +66 -66
  113. package/dist/{cjs/marshalling-utils/empty-rule-common.js → marshalling-utils/comment/agent-comment-common.js} +9 -9
  114. package/dist/{esm/marshalling-utils/comment/agent-common.mjs → marshalling-utils/comment/agent-common.js} +8 -9
  115. package/dist/{esm/marshalling-utils/comment/config-comment-common.mjs → marshalling-utils/comment/config-comment-common.js} +15 -17
  116. package/dist/marshalling-utils/comment/hint-comment-common.js +22 -0
  117. package/dist/{esm/marshalling-utils/comment/hint-common.mjs → marshalling-utils/comment/hint-common.js} +8 -9
  118. package/dist/{esm/marshalling-utils/comment/metadata-comment-common.mjs → marshalling-utils/comment/metadata-comment-common.js} +9 -10
  119. package/dist/{esm/marshalling-utils/comment/pre-processor-comment-common.mjs → marshalling-utils/comment/pre-processor-comment-common.js} +9 -10
  120. package/dist/marshalling-utils/comment/simple-comment-common.js +22 -0
  121. package/dist/{esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs → marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js} +7 -8
  122. package/dist/{esm/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js} +2 -2
  123. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +24 -0
  124. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +21 -0
  125. package/dist/{esm/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js} +2 -2
  126. package/dist/{esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs → marshalling-utils/cosmetic/cosmetic-rule-common.js} +10 -13
  127. package/dist/{esm/marshalling-utils/empty-rule-common.mjs → marshalling-utils/empty-rule-common.js} +6 -7
  128. package/dist/marshalling-utils/filter-list-common.js +21 -0
  129. package/dist/{esm/marshalling-utils/invalid-rule-common.mjs → marshalling-utils/invalid-rule-common.js} +7 -8
  130. package/dist/marshalling-utils/invalid-rule-error-node-common.js +22 -0
  131. package/dist/marshalling-utils/misc/binary-type-common.js +54 -0
  132. package/dist/{esm/marshalling-utils/misc/domain-list-common.mjs → marshalling-utils/misc/domain-list-common.js} +9 -10
  133. package/dist/marshalling-utils/misc/host-rule-common.js +24 -0
  134. package/dist/marshalling-utils/misc/hostname-list-common.js +21 -0
  135. package/dist/marshalling-utils/misc/list-item-common.js +22 -0
  136. package/dist/marshalling-utils/misc/logical-expression-common.js +83 -0
  137. package/dist/{esm/marshalling-utils/misc/modifier-common.mjs → marshalling-utils/misc/modifier-common.js} +9 -10
  138. package/dist/marshalling-utils/misc/modifier-list-common.js +21 -0
  139. package/dist/marshalling-utils/misc/parameter-list-common.js +21 -0
  140. package/dist/marshalling-utils/misc/value-common.js +22 -0
  141. package/dist/marshalling-utils/network/network-rule-common.js +24 -0
  142. package/dist/{esm/marshalling-utils/syntax-serialization-map.mjs → marshalling-utils/syntax-serialization-map.js} +3 -3
  143. package/dist/{esm/nodes/index.mjs → nodes/index.js} +66 -79
  144. package/dist/{esm/package.json.mjs → package.json.js} +3 -3
  145. package/dist/{esm/parser/base-parser.mjs → parser/base-parser.js} +3 -3
  146. package/dist/{esm/parser/comment/agent-comment-parser.mjs → parser/comment/agent-comment-parser.js} +12 -12
  147. package/dist/{esm/parser/comment/agent-parser.mjs → parser/comment/agent-parser.js} +19 -14
  148. package/dist/{esm/parser/comment/comment-parser.mjs → parser/comment/comment-parser.js} +10 -10
  149. package/dist/{esm/parser/comment/config-comment-parser.mjs → parser/comment/config-comment-parser.js} +10 -10
  150. package/dist/{esm/parser/comment/hint-comment-parser.mjs → parser/comment/hint-comment-parser.js} +10 -10
  151. package/dist/{esm/parser/comment/hint-parser.mjs → parser/comment/hint-parser.js} +9 -9
  152. package/dist/{esm/parser/comment/metadata-comment-parser.mjs → parser/comment/metadata-comment-parser.js} +11 -11
  153. package/dist/{esm/parser/comment/preprocessor-parser.mjs → parser/comment/preprocessor-parser.js} +12 -12
  154. package/dist/{esm/parser/comment/simple-comment-parser.mjs → parser/comment/simple-comment-parser.js} +9 -9
  155. package/dist/{esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs → parser/cosmetic/body/abp-snippet-injection-body-parser.js} +9 -9
  156. package/dist/{esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/adg-scriptlet-injection-body-parser.js} +9 -9
  157. package/dist/{esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js} +8 -8
  158. package/dist/{esm/parser/cosmetic/cosmetic-rule-parser.mjs → parser/cosmetic/cosmetic-rule-parser.js} +63 -23
  159. package/dist/{esm/parser/css/adg-css-injection-parser.mjs → parser/css/adg-css-injection-parser.js} +7 -7
  160. package/dist/{esm/parser/css/balancing.mjs → parser/css/balancing.js} +6 -6
  161. package/dist/{esm/parser/css/constants.mjs → parser/css/constants.js} +2 -2
  162. package/dist/{esm/parser/css/css-token-stream.mjs → parser/css/css-token-stream.js} +24 -14
  163. package/dist/{esm/parser/css/ubo-selector-parser.mjs → parser/css/ubo-selector-parser.js} +8 -8
  164. package/dist/{esm/parser/filterlist-parser.mjs → parser/filterlist-parser.js} +7 -7
  165. package/dist/parser/index.js +12 -0
  166. package/dist/{esm/parser/misc/app-list-parser.mjs → parser/misc/app-list-parser.js} +7 -7
  167. package/dist/{esm/parser/misc/domain-list-parser.mjs → parser/misc/domain-list-parser.js} +7 -7
  168. package/dist/{esm/parser/misc/list-items-parser.mjs → parser/misc/list-items-parser.js} +10 -7
  169. package/dist/{esm/parser/misc/logical-expression-parser.mjs → parser/misc/logical-expression-parser.js} +18 -20
  170. package/dist/{esm/parser/misc/method-list-parser.mjs → parser/misc/method-list-parser.js} +7 -7
  171. package/dist/{esm/parser/misc/modifier-list.mjs → parser/misc/modifier-list.js} +7 -7
  172. package/dist/{esm/parser/misc/modifier-parser.mjs → parser/misc/modifier-parser.js} +8 -8
  173. package/dist/{esm/parser/misc/parameter-list-parser.mjs → parser/misc/parameter-list-parser.js} +10 -7
  174. package/dist/{esm/parser/misc/stealth-option-list-parser.mjs → parser/misc/stealth-option-list-parser.js} +7 -7
  175. package/dist/{esm/parser/misc/ubo-parameter-list-parser.mjs → parser/misc/ubo-parameter-list-parser.js} +12 -9
  176. package/dist/{esm/parser/misc/value-parser.mjs → parser/misc/value-parser.js} +5 -5
  177. package/dist/{esm/parser/network/host-rule-parser.mjs → parser/network/host-rule-parser.js} +11 -11
  178. package/dist/{esm/parser/network/network-rule-parser.mjs → parser/network/network-rule-parser.js} +17 -11
  179. package/dist/{esm/parser/options.mjs → parser/options.js} +2 -2
  180. package/dist/{esm/parser/rule-parser.mjs → parser/rule-parser.js} +11 -11
  181. package/dist/{esm/serializer/base-serializer.mjs → serializer/base-serializer.js} +3 -3
  182. package/dist/{esm/serializer/comment/agent-comment-serializer.mjs → serializer/comment/agent-comment-serializer.js} +11 -8
  183. package/dist/{esm/serializer/comment/agent-serializer.mjs → serializer/comment/agent-serializer.js} +9 -18
  184. package/dist/{esm/serializer/comment/comment-rule-serializer.mjs → serializer/comment/comment-rule-serializer.js} +10 -10
  185. package/dist/{esm/serializer/comment/config-comment-serializer.mjs → serializer/comment/config-comment-serializer.js} +10 -10
  186. package/dist/{esm/serializer/comment/hint-comment-serializer.mjs → serializer/comment/hint-comment-serializer.js} +13 -10
  187. package/dist/{esm/serializer/comment/hint-serializer.mjs → serializer/comment/hint-serializer.js} +9 -9
  188. package/dist/{esm/serializer/comment/metadata-comment-serializer.mjs → serializer/comment/metadata-comment-serializer.js} +8 -8
  189. package/dist/{esm/serializer/comment/pre-processor-comment-serializer.mjs → serializer/comment/pre-processor-comment-serializer.js} +11 -11
  190. package/dist/{esm/serializer/comment/simple-comment-serializer.mjs → serializer/comment/simple-comment-serializer.js} +10 -10
  191. package/dist/{esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs → serializer/cosmetic/body/abp-snippet-injection-body-serializer.js} +9 -9
  192. package/dist/{esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js} +9 -9
  193. package/dist/{esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs → serializer/cosmetic/body/scriptlet-body-serializer.js} +16 -13
  194. package/dist/{esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js} +5 -5
  195. package/dist/{esm/serializer/cosmetic/cosmetic-rule-serializer.mjs → serializer/cosmetic/cosmetic-rule-serializer.js} +22 -31
  196. package/dist/{esm/serializer/cosmetic/css-injection-body-serializer.mjs → serializer/cosmetic/css-injection-body-serializer.js} +11 -8
  197. package/dist/{esm/serializer/cosmetic/element-hiding-body-serializer.mjs → serializer/cosmetic/element-hiding-body-serializer.js} +11 -8
  198. package/dist/{esm/serializer/empty-rule-serializer.mjs → serializer/empty-rule-serializer.js} +10 -7
  199. package/dist/{esm/serializer/filterlist-serializer.mjs → serializer/filterlist-serializer.js} +9 -10
  200. package/dist/serializer/index.js +7 -0
  201. package/dist/{esm/serializer/invalid-rule-error-node-serializer.mjs → serializer/invalid-rule-error-node-serializer.js} +10 -7
  202. package/dist/{esm/serializer/invalid-rule-serializer.mjs → serializer/invalid-rule-serializer.js} +11 -8
  203. package/dist/{esm/serializer/misc/domain-list-serializer.mjs → serializer/misc/domain-list-serializer.js} +10 -10
  204. package/dist/{esm/serializer/misc/list-item-serializer.mjs → serializer/misc/list-item-serializer.js} +11 -8
  205. package/dist/{esm/serializer/misc/list-items-serializer.mjs → serializer/misc/list-items-serializer.js} +6 -3
  206. package/dist/{esm/serializer/misc/logical-expression-serializer.mjs → serializer/misc/logical-expression-serializer.js} +14 -14
  207. package/dist/{esm/serializer/misc/modifier-list-serializer.mjs → serializer/misc/modifier-list-serializer.js} +11 -8
  208. package/dist/{esm/serializer/misc/modifier-serializer.mjs → serializer/misc/modifier-serializer.js} +8 -8
  209. package/dist/{esm/serializer/misc/parameter-list-serializer.mjs → serializer/misc/parameter-list-serializer.js} +11 -8
  210. package/dist/{esm/serializer/misc/value-serializer.mjs → serializer/misc/value-serializer.js} +7 -7
  211. package/dist/{esm/serializer/network/host-rule-serializer.mjs → serializer/network/host-rule-serializer.js} +10 -10
  212. package/dist/{esm/serializer/network/hostname-list-serializer.mjs → serializer/network/hostname-list-serializer.js} +14 -8
  213. package/dist/{esm/serializer/network/network-rule-serializer.mjs → serializer/network/network-rule-serializer.js} +10 -10
  214. package/dist/{esm/serializer/rule-serializer.mjs → serializer/rule-serializer.js} +10 -10
  215. package/dist/types/common/abp-snippet-injection-body-common.d.ts +7 -0
  216. package/dist/types/common/ubo-selector-common.d.ts +7 -6
  217. package/dist/types/compatibility-tables/compatibility-table-data.d.ts +2 -1
  218. package/dist/types/compatibility-tables/platforms.d.ts +36 -34
  219. package/dist/types/compatibility-tables/schemas/base.d.ts +1 -12
  220. package/dist/types/compatibility-tables/schemas/modifier.d.ts +5 -0
  221. package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
  222. package/dist/types/compatibility-tables/schemas/resource-type.d.ts +29 -15
  223. package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +1 -1
  224. package/dist/types/converter/cosmetic/rule-modifiers/ubo.d.ts +24 -0
  225. package/dist/types/converter/css/index.d.ts +17 -0
  226. package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +1 -54
  227. package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +6 -0
  228. package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +3 -0
  229. package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +4 -0
  230. package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +4 -0
  231. package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +5 -0
  232. package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +4 -0
  233. package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +4 -1
  234. package/dist/types/deserializer/empty-rule-deserializer.d.ts +4 -0
  235. package/dist/types/deserializer/filterlist-deserializer.d.ts +4 -0
  236. package/dist/types/deserializer/invalid-rule-deserializer.d.ts +4 -0
  237. package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +4 -0
  238. package/dist/types/deserializer/misc/list-item-deserializer.d.ts +6 -0
  239. package/dist/types/deserializer/misc/list-items-deserializer.d.ts +4 -0
  240. package/dist/types/deserializer/misc/modifier-deserializer.d.ts +1 -1
  241. package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +4 -0
  242. package/dist/types/deserializer/network/host-rule-deserializer.d.ts +4 -16
  243. package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +3 -0
  244. package/dist/types/generator/comment/agent-comment-generator.d.ts +3 -0
  245. package/dist/types/generator/comment/agent-generator.d.ts +4 -0
  246. package/dist/types/generator/comment/comment-rule-generator.d.ts +1 -54
  247. package/dist/types/generator/comment/config-comment-generator.d.ts +3 -0
  248. package/dist/types/generator/comment/hint-comment-generator.d.ts +3 -0
  249. package/dist/types/generator/comment/hint-generator.d.ts +6 -3
  250. package/dist/types/generator/comment/index.d.ts +1 -2
  251. package/dist/types/generator/comment/metadata-comment-generator.d.ts +3 -0
  252. package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +3 -0
  253. package/dist/types/generator/comment/simple-comment-generator.d.ts +3 -0
  254. package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +4 -0
  255. package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +5 -1
  256. package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +5 -1
  257. package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +5 -0
  258. package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +3 -11
  259. package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +3 -0
  260. package/dist/types/generator/css/adg-css-injection-generator.d.ts +3 -0
  261. package/dist/types/generator/css/ubo-selector-generator.d.ts +3 -0
  262. package/dist/types/generator/filterlist-generator.d.ts +4 -3
  263. package/dist/types/generator/misc/domain-list-generator.d.ts +3 -0
  264. package/dist/types/generator/misc/list-items-generator.d.ts +3 -0
  265. package/dist/types/generator/misc/logical-expression-generator.d.ts +3 -0
  266. package/dist/types/generator/misc/modifier-generator.d.ts +5 -2
  267. package/dist/types/generator/misc/modifier-list-generator.d.ts +3 -0
  268. package/dist/types/generator/misc/parameter-list-generator.d.ts +3 -0
  269. package/dist/types/generator/misc/value-generator.d.ts +3 -0
  270. package/dist/types/generator/network/host-rule-generator.d.ts +3 -0
  271. package/dist/types/generator/network/network-rule-generator.d.ts +6 -3
  272. package/dist/types/generator/rule-generator.d.ts +3 -0
  273. package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +6 -5
  274. package/dist/types/marshalling-utils/comment/agent-common.d.ts +7 -6
  275. package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +15 -13
  276. package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +7 -6
  277. package/dist/types/marshalling-utils/comment/hint-common.d.ts +7 -6
  278. package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +8 -7
  279. package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +8 -7
  280. package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +7 -6
  281. package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +6 -5
  282. package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +9 -8
  283. package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +6 -5
  284. package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +11 -10
  285. package/dist/types/marshalling-utils/empty-rule-common.d.ts +5 -4
  286. package/dist/types/marshalling-utils/filter-list-common.d.ts +6 -5
  287. package/dist/types/marshalling-utils/invalid-rule-common.d.ts +6 -5
  288. package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +7 -6
  289. package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +52 -51
  290. package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +7 -6
  291. package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +10 -9
  292. package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +6 -5
  293. package/dist/types/marshalling-utils/misc/list-item-common.d.ts +7 -6
  294. package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +21 -18
  295. package/dist/types/marshalling-utils/misc/modifier-common.d.ts +8 -7
  296. package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +6 -5
  297. package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +6 -5
  298. package/dist/types/marshalling-utils/misc/value-common.d.ts +7 -6
  299. package/dist/types/marshalling-utils/network/network-rule-common.d.ts +10 -9
  300. package/dist/types/nodes/index.d.ts +104 -98
  301. package/dist/types/parser/comment/agent-parser.d.ts +7 -0
  302. package/dist/types/parser/css/balancing.d.ts +21 -1
  303. package/dist/types/parser/index.d.ts +1 -0
  304. package/dist/types/parser/misc/list-items-parser.d.ts +3 -0
  305. package/dist/types/parser/misc/logical-expression-parser.d.ts +6 -5
  306. package/dist/types/parser/misc/parameter-list-parser.d.ts +3 -0
  307. package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +3 -0
  308. package/dist/types/parser/misc/value-parser.d.ts +1 -1
  309. package/dist/types/serializer/comment/agent-serializer.d.ts +1 -10
  310. package/dist/types/serializer/comment/config-comment-serializer.d.ts +1 -1
  311. package/dist/types/serializer/comment/simple-comment-serializer.d.ts +2 -2
  312. package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +4 -4
  313. package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +4 -4
  314. package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +8 -5
  315. package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +4 -11
  316. package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +3 -0
  317. package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +3 -0
  318. package/dist/types/serializer/empty-rule-serializer.d.ts +3 -0
  319. package/dist/types/serializer/filterlist-serializer.d.ts +1 -2
  320. package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +3 -0
  321. package/dist/types/serializer/invalid-rule-serializer.d.ts +3 -0
  322. package/dist/types/serializer/misc/domain-list-serializer.d.ts +2 -2
  323. package/dist/types/serializer/misc/list-item-serializer.d.ts +3 -0
  324. package/dist/types/serializer/misc/list-items-serializer.d.ts +3 -0
  325. package/dist/types/serializer/misc/logical-expression-serializer.d.ts +7 -6
  326. package/dist/types/serializer/misc/parameter-list-serializer.d.ts +3 -0
  327. package/dist/types/serializer/network/hostname-list-serializer.d.ts +3 -0
  328. package/dist/types/utils/adblockers.d.ts +7 -6
  329. package/dist/types/utils/constants.d.ts +5 -0
  330. package/dist/types/utils/domain.d.ts +3 -0
  331. package/dist/types/utils/index.d.ts +1 -1
  332. package/dist/types/utils/input-byte-buffer.d.ts +6 -0
  333. package/dist/types/utils/output-byte-buffer.d.ts +6 -0
  334. package/dist/types/utils/quotes.d.ts +7 -6
  335. package/dist/types/utils/regexp.d.ts +21 -0
  336. package/dist/types/utils/string.d.ts +3 -0
  337. package/dist/types/validator/value.d.ts +2 -1
  338. package/dist/{esm/utils/adblockers.mjs → utils/adblockers.js} +8 -9
  339. package/dist/{esm/utils/binary-schema-version.mjs → utils/binary-schema-version.js} +2 -2
  340. package/dist/{esm/utils/byte-buffer.mjs → utils/byte-buffer.js} +2 -2
  341. package/dist/{esm/utils/categorizer.mjs → utils/categorizer.js} +5 -5
  342. package/dist/{esm/utils/clone.mjs → utils/clone.js} +2 -2
  343. package/dist/{esm/utils/constants.mjs → utils/constants.js} +10 -3
  344. package/dist/{esm/utils/cosmetic-rule-separator.mjs → utils/cosmetic-rule-separator.js} +4 -4
  345. package/dist/{esm/utils/deep-freeze.mjs → utils/deep-freeze.js} +2 -2
  346. package/dist/{esm/utils/domain.mjs → utils/domain.js} +6 -3
  347. package/dist/{esm/utils/error.mjs → utils/error.js} +2 -2
  348. package/dist/utils/index.js +21 -0
  349. package/dist/{esm/utils/input-byte-buffer.mjs → utils/input-byte-buffer.js} +17 -8
  350. package/dist/{esm/utils/is-chromium.mjs → utils/is-chromium.js} +2 -2
  351. package/dist/{esm/utils/logical-expression.mjs → utils/logical-expression.js} +4 -4
  352. package/dist/{esm/utils/multi-value-map.mjs → utils/multi-value-map.js} +3 -3
  353. package/dist/{esm/utils/output-byte-buffer.mjs → utils/output-byte-buffer.js} +14 -6
  354. package/dist/{esm/utils/position-provider.mjs → utils/position-provider.js} +3 -3
  355. package/dist/{esm/utils/quotes.mjs → utils/quotes.js} +9 -10
  356. package/dist/{esm/utils/regexp.mjs → utils/regexp.js} +49 -3
  357. package/dist/{esm/utils/string.mjs → utils/string.js} +6 -3
  358. package/dist/{esm/utils/text-decoder-polyfill.mjs → utils/text-decoder-polyfill.js} +3 -3
  359. package/dist/{esm/utils/text-encoder-polyfill.mjs → utils/text-encoder-polyfill.js} +2 -2
  360. package/dist/{esm/utils/type-guards.mjs → utils/type-guards.js} +2 -2
  361. package/dist/{esm/validator/constants.mjs → validator/constants.js} +4 -4
  362. package/dist/{esm/validator/helpers.mjs → validator/helpers.js} +4 -4
  363. package/dist/{esm/validator/index.mjs → validator/index.js} +11 -11
  364. package/dist/{esm/validator/value.mjs → validator/value.js} +34 -29
  365. package/dist/{esm/version.mjs → version.js} +3 -3
  366. package/package.json +24 -70
  367. package/dist/cjs/ast-utils/clone.js +0 -65
  368. package/dist/cjs/ast-utils/modifiers.js +0 -56
  369. package/dist/cjs/ast-utils/network-rules.js +0 -43
  370. package/dist/cjs/ast-utils/scriptlets.js +0 -93
  371. package/dist/cjs/common/abp-snippet-injection-body-common.js +0 -18
  372. package/dist/cjs/common/agent-common.js +0 -58
  373. package/dist/cjs/common/ubo-selector-common.js +0 -18
  374. package/dist/cjs/compatibility-tables/base.js +0 -264
  375. package/dist/cjs/compatibility-tables/compatibility-table-data.js +0 -15
  376. package/dist/cjs/compatibility-tables/modifiers.js +0 -57
  377. package/dist/cjs/compatibility-tables/platforms.js +0 -58
  378. package/dist/cjs/compatibility-tables/redirects.js +0 -102
  379. package/dist/cjs/compatibility-tables/schemas/base.js +0 -116
  380. package/dist/cjs/compatibility-tables/schemas/modifier.js +0 -107
  381. package/dist/cjs/compatibility-tables/schemas/platform.js +0 -71
  382. package/dist/cjs/compatibility-tables/schemas/redirect.js +0 -31
  383. package/dist/cjs/compatibility-tables/schemas/resource-type.js +0 -39
  384. package/dist/cjs/compatibility-tables/schemas/scriptlet.js +0 -81
  385. package/dist/cjs/compatibility-tables/scriptlets.js +0 -30
  386. package/dist/cjs/compatibility-tables/utils/platform-helpers.js +0 -112
  387. package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +0 -64
  388. package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +0 -27
  389. package/dist/cjs/converter/base-interfaces/base-converter.js +0 -61
  390. package/dist/cjs/converter/base-interfaces/conversion-result.js +0 -41
  391. package/dist/cjs/converter/base-interfaces/rule-converter-base.js +0 -62
  392. package/dist/cjs/converter/comment/index.js +0 -56
  393. package/dist/cjs/converter/cosmetic/css.js +0 -71
  394. package/dist/cjs/converter/cosmetic/element-hiding.js +0 -64
  395. package/dist/cjs/converter/cosmetic/header-removal.js +0 -126
  396. package/dist/cjs/converter/cosmetic/html.js +0 -384
  397. package/dist/cjs/converter/cosmetic/index.js +0 -120
  398. package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +0 -81
  399. package/dist/cjs/converter/cosmetic/scriptlet.js +0 -356
  400. package/dist/cjs/converter/css/index.js +0 -193
  401. package/dist/cjs/converter/data/css.js +0 -133
  402. package/dist/cjs/converter/filter-list.js +0 -90
  403. package/dist/cjs/converter/index.js +0 -15
  404. package/dist/cjs/converter/misc/network-rule-modifier.js +0 -313
  405. package/dist/cjs/converter/network/index.js +0 -101
  406. package/dist/cjs/converter/raw-filter-list.js +0 -58
  407. package/dist/cjs/converter/rule.js +0 -83
  408. package/dist/cjs/deserializer/base-deserializer.js +0 -31
  409. package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +0 -76
  410. package/dist/cjs/deserializer/comment/agent-deserializer.js +0 -67
  411. package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +0 -109
  412. package/dist/cjs/deserializer/comment/config-comment-deserializer.js +0 -113
  413. package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +0 -69
  414. package/dist/cjs/deserializer/comment/hint-deserializer.js +0 -88
  415. package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +0 -71
  416. package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +0 -114
  417. package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +0 -67
  418. package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -127
  419. package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +0 -55
  420. package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -46
  421. package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -37
  422. package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -37
  423. package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -52
  424. package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
  425. package/dist/cjs/deserializer/empty-rule-deserializer.js +0 -46
  426. package/dist/cjs/deserializer/filterlist-deserializer.js +0 -83
  427. package/dist/cjs/deserializer/index.js +0 -15
  428. package/dist/cjs/deserializer/invalid-rule-deserializer.js +0 -48
  429. package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +0 -48
  430. package/dist/cjs/deserializer/misc/domain-list-deserializer.js +0 -66
  431. package/dist/cjs/deserializer/misc/list-item-deserializer.js +0 -65
  432. package/dist/cjs/deserializer/misc/list-items-deserializer.js +0 -28
  433. package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +0 -199
  434. package/dist/cjs/deserializer/misc/modifier-deserializer.js +0 -89
  435. package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +0 -58
  436. package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +0 -62
  437. package/dist/cjs/deserializer/misc/value-deserializer.js +0 -52
  438. package/dist/cjs/deserializer/network/host-rule-deserializer.js +0 -81
  439. package/dist/cjs/deserializer/network/hostname-list-deserializer.js +0 -50
  440. package/dist/cjs/deserializer/network/network-rule-deserializer.js +0 -67
  441. package/dist/cjs/deserializer/rule-deserializer.js +0 -67
  442. package/dist/cjs/deserializer/syntax-deserialization-map.js +0 -23
  443. package/dist/cjs/errors/adblock-syntax-error.js +0 -41
  444. package/dist/cjs/errors/binary-schema-mismatch-error.js +0 -39
  445. package/dist/cjs/errors/not-implemented-error.js +0 -33
  446. package/dist/cjs/errors/rule-conversion-error.js +0 -28
  447. package/dist/cjs/generator/base-generator.js +0 -29
  448. package/dist/cjs/generator/comment/agent-comment-generator.js +0 -30
  449. package/dist/cjs/generator/comment/agent-generator.js +0 -34
  450. package/dist/cjs/generator/comment/comment-rule-generator.js +0 -102
  451. package/dist/cjs/generator/comment/config-comment-generator.js +0 -44
  452. package/dist/cjs/generator/comment/hint-comment-generator.js +0 -27
  453. package/dist/cjs/generator/comment/hint-generator.js +0 -32
  454. package/dist/cjs/generator/comment/metadata-comment-generator.js +0 -32
  455. package/dist/cjs/generator/comment/pre-processor-comment-generator.js +0 -47
  456. package/dist/cjs/generator/comment/simple-comment-generator.js +0 -28
  457. package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +0 -36
  458. package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +0 -41
  459. package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +0 -43
  460. package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +0 -92
  461. package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +0 -66
  462. package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +0 -41
  463. package/dist/cjs/generator/css/adg-css-injection-generator.js +0 -41
  464. package/dist/cjs/generator/filterlist-generator.js +0 -57
  465. package/dist/cjs/generator/index.js +0 -17
  466. package/dist/cjs/generator/misc/domain-list-generator.js +0 -25
  467. package/dist/cjs/generator/misc/list-items-generator.js +0 -38
  468. package/dist/cjs/generator/misc/logical-expression-generator.js +0 -47
  469. package/dist/cjs/generator/misc/modifier-generator.js +0 -33
  470. package/dist/cjs/generator/misc/modifier-list-generator.js +0 -28
  471. package/dist/cjs/generator/misc/parameter-list-generator.js +0 -41
  472. package/dist/cjs/generator/misc/value-generator.js +0 -23
  473. package/dist/cjs/generator/network/host-rule-generator.js +0 -38
  474. package/dist/cjs/generator/network/network-rule-generator.js +0 -37
  475. package/dist/cjs/generator/rule-generator.js +0 -64
  476. package/dist/cjs/index.js +0 -201
  477. package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +0 -22
  478. package/dist/cjs/marshalling-utils/comment/agent-common.js +0 -43
  479. package/dist/cjs/marshalling-utils/comment/config-comment-common.js +0 -58
  480. package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +0 -23
  481. package/dist/cjs/marshalling-utils/comment/hint-common.js +0 -60
  482. package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +0 -44
  483. package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +0 -63
  484. package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +0 -23
  485. package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -64
  486. package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -68
  487. package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -25
  488. package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -22
  489. package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -116
  490. package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -51
  491. package/dist/cjs/marshalling-utils/filter-list-common.js +0 -22
  492. package/dist/cjs/marshalling-utils/invalid-rule-common.js +0 -22
  493. package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +0 -23
  494. package/dist/cjs/marshalling-utils/misc/binary-type-common.js +0 -67
  495. package/dist/cjs/marshalling-utils/misc/domain-list-common.js +0 -39
  496. package/dist/cjs/marshalling-utils/misc/host-rule-common.js +0 -26
  497. package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +0 -22
  498. package/dist/cjs/marshalling-utils/misc/list-item-common.js +0 -23
  499. package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +0 -89
  500. package/dist/cjs/marshalling-utils/misc/modifier-common.js +0 -236
  501. package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +0 -22
  502. package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +0 -22
  503. package/dist/cjs/marshalling-utils/misc/value-common.js +0 -23
  504. package/dist/cjs/marshalling-utils/network/network-rule-common.js +0 -26
  505. package/dist/cjs/marshalling-utils/syntax-serialization-map.js +0 -32
  506. package/dist/cjs/nodes/index.js +0 -180
  507. package/dist/cjs/package.json.js +0 -11
  508. package/dist/cjs/parser/base-parser.js +0 -32
  509. package/dist/cjs/parser/comment/agent-comment-parser.js +0 -121
  510. package/dist/cjs/parser/comment/agent-parser.js +0 -111
  511. package/dist/cjs/parser/comment/comment-parser.js +0 -110
  512. package/dist/cjs/parser/comment/config-comment-parser.js +0 -139
  513. package/dist/cjs/parser/comment/hint-comment-parser.js +0 -119
  514. package/dist/cjs/parser/comment/hint-parser.js +0 -131
  515. package/dist/cjs/parser/comment/metadata-comment-parser.js +0 -131
  516. package/dist/cjs/parser/comment/preprocessor-parser.js +0 -201
  517. package/dist/cjs/parser/comment/simple-comment-parser.js +0 -108
  518. package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +0 -81
  519. package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +0 -151
  520. package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +0 -112
  521. package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +0 -456
  522. package/dist/cjs/parser/css/adg-css-injection-parser.js +0 -213
  523. package/dist/cjs/parser/css/balancing.js +0 -97
  524. package/dist/cjs/parser/css/constants.js +0 -21
  525. package/dist/cjs/parser/css/css-token-stream.js +0 -345
  526. package/dist/cjs/parser/css/ubo-selector-parser.js +0 -373
  527. package/dist/cjs/parser/filterlist-parser.js +0 -104
  528. package/dist/cjs/parser/index.js +0 -21
  529. package/dist/cjs/parser/misc/app-list-parser.js +0 -47
  530. package/dist/cjs/parser/misc/domain-list-parser.js +0 -54
  531. package/dist/cjs/parser/misc/list-items-parser.js +0 -116
  532. package/dist/cjs/parser/misc/logical-expression-parser.js +0 -283
  533. package/dist/cjs/parser/misc/method-list-parser.js +0 -48
  534. package/dist/cjs/parser/misc/modifier-list.js +0 -72
  535. package/dist/cjs/parser/misc/modifier-parser.js +0 -91
  536. package/dist/cjs/parser/misc/parameter-list-parser.js +0 -74
  537. package/dist/cjs/parser/misc/stealth-option-list-parser.js +0 -48
  538. package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +0 -148
  539. package/dist/cjs/parser/misc/value-parser.js +0 -39
  540. package/dist/cjs/parser/network/host-rule-parser.js +0 -151
  541. package/dist/cjs/parser/network/network-rule-parser.js +0 -113
  542. package/dist/cjs/parser/options.js +0 -25
  543. package/dist/cjs/parser/rule-parser.js +0 -194
  544. package/dist/cjs/serializer/base-serializer.js +0 -31
  545. package/dist/cjs/serializer/comment/agent-comment-serializer.js +0 -73
  546. package/dist/cjs/serializer/comment/agent-serializer.js +0 -70
  547. package/dist/cjs/serializer/comment/comment-rule-serializer.js +0 -107
  548. package/dist/cjs/serializer/comment/config-comment-serializer.js +0 -84
  549. package/dist/cjs/serializer/comment/hint-comment-serializer.js +0 -64
  550. package/dist/cjs/serializer/comment/hint-serializer.js +0 -56
  551. package/dist/cjs/serializer/comment/metadata-comment-serializer.js +0 -75
  552. package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +0 -73
  553. package/dist/cjs/serializer/comment/simple-comment-serializer.js +0 -54
  554. package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -38
  555. package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -38
  556. package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -49
  557. package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -38
  558. package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +0 -131
  559. package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +0 -50
  560. package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +0 -39
  561. package/dist/cjs/serializer/empty-rule-serializer.js +0 -36
  562. package/dist/cjs/serializer/filterlist-serializer.js +0 -48
  563. package/dist/cjs/serializer/index.js +0 -13
  564. package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +0 -40
  565. package/dist/cjs/serializer/invalid-rule-serializer.js +0 -39
  566. package/dist/cjs/serializer/misc/domain-list-serializer.js +0 -66
  567. package/dist/cjs/serializer/misc/list-item-serializer.js +0 -57
  568. package/dist/cjs/serializer/misc/list-items-serializer.js +0 -28
  569. package/dist/cjs/serializer/misc/logical-expression-serializer.js +0 -138
  570. package/dist/cjs/serializer/misc/modifier-list-serializer.js +0 -57
  571. package/dist/cjs/serializer/misc/modifier-serializer.js +0 -51
  572. package/dist/cjs/serializer/misc/parameter-list-serializer.js +0 -51
  573. package/dist/cjs/serializer/misc/value-serializer.js +0 -52
  574. package/dist/cjs/serializer/network/host-rule-serializer.js +0 -72
  575. package/dist/cjs/serializer/network/hostname-list-serializer.js +0 -49
  576. package/dist/cjs/serializer/network/network-rule-serializer.js +0 -56
  577. package/dist/cjs/serializer/rule-serializer.js +0 -63
  578. package/dist/cjs/utils/adblockers.js +0 -57
  579. package/dist/cjs/utils/binary-schema-version.js +0 -19
  580. package/dist/cjs/utils/byte-buffer.js +0 -93
  581. package/dist/cjs/utils/categorizer.js +0 -46
  582. package/dist/cjs/utils/clone.js +0 -30
  583. package/dist/cjs/utils/constants.js +0 -380
  584. package/dist/cjs/utils/cosmetic-rule-separator.js +0 -129
  585. package/dist/cjs/utils/deep-freeze.js +0 -34
  586. package/dist/cjs/utils/domain.js +0 -60
  587. package/dist/cjs/utils/error.js +0 -51
  588. package/dist/cjs/utils/index.js +0 -69
  589. package/dist/cjs/utils/input-byte-buffer.js +0 -259
  590. package/dist/cjs/utils/is-chromium.js +0 -22
  591. package/dist/cjs/utils/logical-expression.js +0 -94
  592. package/dist/cjs/utils/multi-value-map.js +0 -35
  593. package/dist/cjs/utils/output-byte-buffer.js +0 -225
  594. package/dist/cjs/utils/position-provider.js +0 -75
  595. package/dist/cjs/utils/quotes.js +0 -218
  596. package/dist/cjs/utils/regexp.js +0 -190
  597. package/dist/cjs/utils/string.js +0 -560
  598. package/dist/cjs/utils/text-decoder-polyfill.js +0 -109
  599. package/dist/cjs/utils/text-encoder-polyfill.js +0 -80
  600. package/dist/cjs/utils/type-guards.js +0 -52
  601. package/dist/cjs/validator/constants.js +0 -222
  602. package/dist/cjs/validator/helpers.js +0 -49
  603. package/dist/cjs/validator/index.js +0 -176
  604. package/dist/cjs/validator/value.js +0 -565
  605. package/dist/cjs/version.js +0 -20
  606. package/dist/esm/common/ubo-selector-common.mjs +0 -18
  607. package/dist/esm/compatibility-tables/platforms.mjs +0 -58
  608. package/dist/esm/compatibility-tables/schemas/resource-type.mjs +0 -37
  609. package/dist/esm/converter/index.mjs +0 -8
  610. package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +0 -22
  611. package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +0 -23
  612. package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +0 -23
  613. package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +0 -25
  614. package/dist/esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs +0 -22
  615. package/dist/esm/marshalling-utils/filter-list-common.mjs +0 -22
  616. package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +0 -23
  617. package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +0 -67
  618. package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +0 -26
  619. package/dist/esm/marshalling-utils/misc/hostname-list-common.mjs +0 -22
  620. package/dist/esm/marshalling-utils/misc/list-item-common.mjs +0 -23
  621. package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +0 -86
  622. package/dist/esm/marshalling-utils/misc/modifier-list-common.mjs +0 -22
  623. package/dist/esm/marshalling-utils/misc/parameter-list-common.mjs +0 -22
  624. package/dist/esm/marshalling-utils/misc/value-common.mjs +0 -23
  625. package/dist/esm/marshalling-utils/network/network-rule-common.mjs +0 -26
  626. package/dist/esm/parser/index.mjs +0 -11
  627. package/dist/esm/serializer/index.mjs +0 -7
  628. package/dist/esm/utils/index.mjs +0 -21
@@ -1,180 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- /**
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 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- const version = "3.0.0";
10
-
11
- exports.version = version;
@@ -1,32 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var 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 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var constants = require('../../utils/constants.js');
10
- var 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 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var 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 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var 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;