@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
@@ -0,0 +1,21 @@
1
+ /*
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
+ * Released under the MIT license
5
+ * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
+ */
7
+ export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, HINT_MARKER, IF, INCLUDE, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_SEPARATOR, PIPE, PIPE_MODIFIER_SEPARATOR, PREPROCESSOR_MARKER, SAFARI_CB_AFFINITY, UBO_SCRIPTLET_MASK } from './constants.js';
8
+ export { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
9
+ export { AdblockSyntax } from './adblockers.js';
10
+ export { CosmeticRuleSeparatorUtils } from './cosmetic-rule-separator.js';
11
+ export { DomainUtils } from './domain.js';
12
+ export { LogicalExpressionUtils } from './logical-expression.js';
13
+ export { ADBLOCK_URL_SEPARATOR, ADBLOCK_URL_SEPARATOR_REGEX, ADBLOCK_URL_START, ADBLOCK_URL_START_REGEX, ADBLOCK_WILDCARD, ADBLOCK_WILDCARD_REGEX, RegExpUtils, SPECIAL_REGEX_SYMBOLS } from './regexp.js';
14
+ export { QuoteType, QuoteUtils } from './quotes.js';
15
+ export { PositionProvider } from './position-provider.js';
16
+ export { OutputByteBuffer } from './output-byte-buffer.js';
17
+ export { InputByteBuffer } from './input-byte-buffer.js';
18
+ export { ByteBuffer } from './byte-buffer.js';
19
+ export { encodeIntoPolyfill } from './text-encoder-polyfill.js';
20
+ export { decodeTextPolyfill } from './text-decoder-polyfill.js';
21
+ export { RuleCategorizer } from './categorizer.js';
@@ -1,15 +1,15 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { ByteBuffer } from './byte-buffer.mjs';
8
- import { isArrayOfUint8Arrays } from './type-guards.mjs';
9
- import { isChromium } from './is-chromium.mjs';
10
- import { decodeTextPolyfill } from './text-decoder-polyfill.mjs';
11
- import { BINARY_SCHEMA_VERSION } from './binary-schema-version.mjs';
12
- import { BinarySchemaMismatchError } from '../errors/binary-schema-mismatch-error.mjs';
7
+ import { ByteBuffer } from './byte-buffer.js';
8
+ import { isArrayOfUint8Arrays } from './type-guards.js';
9
+ import { isChromium } from './is-chromium.js';
10
+ import { decodeTextPolyfill } from './text-decoder-polyfill.js';
11
+ import { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
12
+ import { BinarySchemaMismatchError } from '../errors/binary-schema-mismatch-error.js';
13
13
 
14
14
  /* eslint-disable max-len */
15
15
  /* eslint-disable no-plusplus */
@@ -52,6 +52,7 @@ class InputByteBuffer extends ByteBuffer {
52
52
  */
53
53
  constructor(chunks, cloneChunks = false, initialOffset = 0) {
54
54
  super(chunks, cloneChunks);
55
+ // TODO: Consider accepting an empty array of chunks
55
56
  // Check binary schema version
56
57
  if (chunks.length === 0) {
57
58
  throw new Error('No data in the buffer');
@@ -252,6 +253,14 @@ class InputByteBuffer extends ByteBuffer {
252
253
  get capacity() {
253
254
  return this.chunks.length * ByteBuffer.CHUNK_SIZE;
254
255
  }
256
+ /**
257
+ * Gets the chunks of the buffer.
258
+ *
259
+ * @returns Chunks of the buffer.
260
+ */
261
+ getChunks() {
262
+ return this.chunks;
263
+ }
255
264
  }
256
265
 
257
266
  export { InputByteBuffer };
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,11 +1,11 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { OperatorValue } from '../nodes/index.mjs';
8
- import { NodeType } from '../parser/misc/logical-expression-parser.mjs';
7
+ import { OperatorValue } from '../nodes/index.js';
8
+ import { NodeType } from '../parser/misc/logical-expression-parser.js';
9
9
 
10
10
  /**
11
11
  * @file Utility functions for logical expression node.
@@ -1,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { isUndefined } from './type-guards.mjs';
7
+ import { isUndefined } from './type-guards.js';
8
8
 
9
9
  /**
10
10
  * A very simple map extension that allows to store multiple values for the same key
@@ -1,13 +1,13 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { BINARY_SCHEMA_VERSION } from './binary-schema-version.mjs';
8
- import { ByteBuffer } from './byte-buffer.mjs';
9
- import { isChromium } from './is-chromium.mjs';
10
- import { encodeIntoPolyfill } from './text-encoder-polyfill.mjs';
7
+ import { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
8
+ import { ByteBuffer } from './byte-buffer.js';
9
+ import { isChromium } from './is-chromium.js';
10
+ import { encodeIntoPolyfill } from './text-encoder-polyfill.js';
11
11
 
12
12
  /* eslint-disable no-plusplus */
13
13
  /* eslint-disable no-bitwise */
@@ -218,6 +218,14 @@ class OutputByteBuffer extends ByteBuffer {
218
218
  get currentOffset() {
219
219
  return this.offset;
220
220
  }
221
+ /**
222
+ * Gets the chunks of the buffer.
223
+ *
224
+ * @returns Chunks of the buffer.
225
+ */
226
+ getChunks() {
227
+ return this.chunks;
228
+ }
221
229
  }
222
230
 
223
231
  export { OutputByteBuffer };
@@ -1,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { LF, FF, CR } from './constants.mjs';
7
+ import { LF, FF, CR } from './constants.js';
8
8
 
9
9
  /**
10
10
  * @file Position provider class.
@@ -1,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { ESCAPE_CHARACTER, SINGLE_QUOTE, DOUBLE_QUOTE, BACKTICK_QUOTE, COMMA, SPACE, EMPTY } from './constants.mjs';
7
+ import { ESCAPE_CHARACTER, EMPTY, SINGLE_QUOTE, DOUBLE_QUOTE, BACKTICK_QUOTE, COMMA, SPACE } from './constants.js';
8
8
 
9
9
  /**
10
10
  * @file Utility functions for working with quotes
@@ -20,25 +20,24 @@ const QUOTE_SET = new Set([
20
20
  /**
21
21
  * Possible quote types for scriptlet parameters
22
22
  */
23
- var QuoteType;
24
- (function (QuoteType) {
23
+ const QuoteType = {
25
24
  /**
26
25
  * No quotes at all
27
26
  */
28
- QuoteType["None"] = "none";
27
+ None: 'none',
29
28
  /**
30
29
  * Single quotes (`'`)
31
30
  */
32
- QuoteType["Single"] = "single";
31
+ Single: 'single',
33
32
  /**
34
33
  * Double quotes (`"`)
35
34
  */
36
- QuoteType["Double"] = "double";
35
+ Double: 'double',
37
36
  /**
38
37
  * Backtick quotes (`` ` ``)
39
38
  */
40
- QuoteType["Backtick"] = "backtick";
41
- })(QuoteType || (QuoteType = {}));
39
+ Backtick: 'backtick',
40
+ };
42
41
  /**
43
42
  * Utility functions for working with quotes
44
43
  */
@@ -1,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { PIPE, CARET, ASTERISK, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, DOLLAR_SIGN, DOT, ESCAPE_CHARACTER, OPEN_CURLY_BRACKET, OPEN_PARENTHESIS, OPEN_SQUARE_BRACKET, PLUS, QUESTION_MARK, SLASH, REGEX_MARKER, EMPTY } from './constants.mjs';
7
+ import { CARET, ASTERISK, PIPE, DOT, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, DOLLAR_SIGN, ESCAPE_CHARACTER, OPEN_CURLY_BRACKET, OPEN_PARENTHESIS, OPEN_SQUARE_BRACKET, PLUS, QUESTION_MARK, SLASH, REGEX_MARKER, EMPTY } from './constants.js';
8
8
 
9
9
  /**
10
10
  * @file Regular expression utilities
@@ -67,6 +67,36 @@ class RegExpUtils {
67
67
  && trimmedPattern.endsWith(REGEX_MARKER)
68
68
  && trimmedPattern[REGEX_MARKER.length - 2] !== ESCAPE_CHARACTER;
69
69
  }
70
+ /**
71
+ * Checks whether a string is a negated RegExp pattern.
72
+ *
73
+ * @param pattern - Pattern to check
74
+ * @returns `true` if the string is a negated RegExp pattern, `false` otherwise
75
+ */
76
+ static isNegatedRegexPattern(pattern) {
77
+ if (pattern.startsWith(REGEX_MARKER) && pattern.endsWith(REGEX_MARKER)) {
78
+ const innerPattern = pattern.slice(REGEX_MARKER.length, pattern.length - REGEX_MARKER.length);
79
+ return innerPattern.startsWith(REGEX_NEGATION_PREFIX) && innerPattern.endsWith(REGEX_NEGATION_SUFFIX);
80
+ }
81
+ return pattern.startsWith(REGEX_NEGATION_PREFIX) && pattern.endsWith(REGEX_NEGATION_SUFFIX);
82
+ }
83
+ /**
84
+ * Removes negation from a RegExp pattern.
85
+ *
86
+ * @param pattern - RegExp pattern to remove negation from
87
+ * @returns RegExp pattern without negation
88
+ */
89
+ static removeNegationFromRegexPattern(pattern) {
90
+ let result = pattern.trim();
91
+ const slashes = RegExpUtils.isRegexPattern(result);
92
+ if (slashes) {
93
+ result = result.substring(REGEX_MARKER.length, result.length - REGEX_MARKER.length);
94
+ }
95
+ if (result.startsWith(REGEX_NEGATION_PREFIX) && result.endsWith(REGEX_NEGATION_SUFFIX)) {
96
+ result = result.substring(REGEX_NEGATION_PREFIX.length, result.length - REGEX_NEGATION_SUFFIX.length);
97
+ }
98
+ return slashes ? `${REGEX_MARKER}${result}${REGEX_MARKER}` : result;
99
+ }
70
100
  /**
71
101
  * Negates a RegExp pattern. Technically, this method wraps the pattern in `^((?!` and `).)*$`.
72
102
  *
@@ -102,6 +132,22 @@ class RegExpUtils {
102
132
  }
103
133
  return result;
104
134
  }
135
+ /**
136
+ * Ensures that a pattern is wrapped in slashes.
137
+ *
138
+ * @param pattern Pattern to ensure slashes for
139
+ * @returns Pattern with slashes
140
+ */
141
+ static ensureSlashes(pattern) {
142
+ let result = pattern;
143
+ if (!result.startsWith(REGEX_MARKER)) {
144
+ result = `${REGEX_MARKER}${result}`;
145
+ }
146
+ if (!result.endsWith(REGEX_MARKER)) {
147
+ result += REGEX_MARKER;
148
+ }
149
+ return result;
150
+ }
105
151
  /**
106
152
  * Converts a basic adblock rule pattern to a RegExp pattern. Based on
107
153
  * https://github.com/AdguardTeam/tsurlfilter/blob/9b26e0b4a0e30b87690bc60f7cf377d112c3085c/packages/tsurlfilter/src/rules/simple-regex.ts#L219
@@ -1,16 +1,19 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { ESCAPE_CHARACTER, REGEX_MARKER, SPACE, TAB, NUMBER_0, NUMBER_9, SMALL_LETTER_A, SMALL_LETTER_Z, CAPITAL_LETTER_A, CAPITAL_LETTER_Z, CR, LF, FF, EMPTY, CRLF } from './constants.mjs';
7
+ import { ESCAPE_CHARACTER, REGEX_MARKER, SPACE, TAB, NUMBER_0, NUMBER_9, SMALL_LETTER_A, SMALL_LETTER_Z, CAPITAL_LETTER_A, CAPITAL_LETTER_Z, EMPTY, CR, LF, FF, CRLF } from './constants.js';
8
8
 
9
9
  /**
10
10
  * @file Utility functions for string manipulation.
11
11
  */
12
12
  const SINGLE_QUOTE_MARKER = "'";
13
13
  const DOUBLE_QUOTE_MARKER = '"';
14
+ /**
15
+ * Utility functions for string manipulation.
16
+ */
14
17
  class StringUtils {
15
18
  /**
16
19
  * Finds the first occurrence of a character that:
@@ -1,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { EMPTY } from './constants.mjs';
7
+ import { EMPTY } from './constants.js';
8
8
 
9
9
  /* eslint-disable no-plusplus */
10
10
  /* eslint-disable no-bitwise */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,11 +1,11 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { AdblockSyntax } from '../utils/adblockers.mjs';
8
- import { CAPITAL_LETTERS, SMALL_LETTERS, NUMBERS, UNDERSCORE, OPEN_PARENTHESIS, CLOSE_PARENTHESIS } from '../utils/constants.mjs';
7
+ import { AdblockSyntax } from '../utils/adblockers.js';
8
+ import { CAPITAL_LETTERS, SMALL_LETTERS, NUMBERS, UNDERSCORE, OPEN_PARENTHESIS, CLOSE_PARENTHESIS } from '../utils/constants.js';
9
9
 
10
10
  /**
11
11
  * Prefixes for different adblockers to describe the platform-specific modifiers data
@@ -1,11 +1,11 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { UNDERSCORE } from '../utils/constants.mjs';
8
- import { VALIDATION_ERROR_PREFIX } from './constants.mjs';
7
+ import { UNDERSCORE } from '../utils/constants.js';
8
+ import { VALIDATION_ERROR_PREFIX } from './constants.js';
9
9
 
10
10
  /**
11
11
  * Validates the noop modifier (i.e. only underscores).
@@ -1,17 +1,17 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { AdblockSyntax } from '../utils/adblockers.mjs';
8
- import { UNDERSCORE, NEWLINE, SPACE } from '../utils/constants.mjs';
9
- import { VALIDATION_ERROR_PREFIX, SOURCE_DATA_ERROR_PREFIX, BLOCKER_PREFIX } from './constants.mjs';
10
- import { isValidNoopModifier, getInvalidValidationResult, getValueRequiredValidationResult } from './helpers.mjs';
11
- import { validateValue } from './value.mjs';
12
- import { clone } from '../utils/clone.mjs';
13
- import { modifiersCompatibilityTable } from '../compatibility-tables/modifiers.mjs';
14
- import { GenericPlatform } from '../compatibility-tables/platforms.mjs';
7
+ import { AdblockSyntax } from '../utils/adblockers.js';
8
+ import { UNDERSCORE, NEWLINE, SPACE } from '../utils/constants.js';
9
+ import { VALIDATION_ERROR_PREFIX, SOURCE_DATA_ERROR_PREFIX, BLOCKER_PREFIX } from './constants.js';
10
+ import { isValidNoopModifier, getInvalidValidationResult, getValueRequiredValidationResult } from './helpers.js';
11
+ import { validateValue } from './value.js';
12
+ import { clone } from '../utils/clone.js';
13
+ import { modifiersCompatibilityTable } from '../compatibility-tables/modifiers.js';
14
+ import { GenericPlatform } from '../compatibility-tables/platforms.js';
15
15
 
16
16
  /**
17
17
  * @file Validator for modifiers.
@@ -106,7 +106,7 @@ const validateForSpecificSyntax = (syntax, modifier, isException) => {
106
106
  if (!specificBlockerData.valueFormat) {
107
107
  throw new Error(`${SOURCE_DATA_ERROR_PREFIX.NO_VALUE_FORMAT_FOR_ASSIGNABLE}: '${modifierName}'`);
108
108
  }
109
- return validateValue(modifier, specificBlockerData.valueFormat);
109
+ return validateValue(modifier, specificBlockerData.valueFormat, specificBlockerData.valueFormatFlags);
110
110
  }
111
111
  if (modifier?.value) {
112
112
  // e.g. 'third-party=true'
@@ -1,37 +1,36 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import XRegExp from 'xregexp';
8
- import { AdblockSyntaxError } from '../errors/adblock-syntax-error.mjs';
9
- import { AppListParser } from '../parser/misc/app-list-parser.mjs';
10
- import { DomainListParser } from '../parser/misc/domain-list-parser.mjs';
11
- import { MethodListParser } from '../parser/misc/method-list-parser.mjs';
12
- import { StealthOptionListParser } from '../parser/misc/stealth-option-list-parser.mjs';
13
- import { DomainUtils } from '../utils/domain.mjs';
14
- import { QuoteUtils, QuoteType } from '../utils/quotes.mjs';
15
- import { SEMICOLON, SPACE, BACKSLASH, COMMA, PIPE, EQUALS, WILDCARD, DOT, OPEN_PARENTHESIS, CLOSE_PARENTHESIS } from '../utils/constants.mjs';
16
- import { getValueRequiredValidationResult, getInvalidValidationResult } from './helpers.mjs';
17
- import { VALIDATION_ERROR_PREFIX, ALLOWED_CSP_DIRECTIVES, REFERRER_POLICY_DIRECTIVES, ALLOWED_PERMISSION_DIRECTIVES, ALLOWED_METHODS, ALLOWED_STEALTH_OPTIONS, EMPTY_PERMISSIONS_ALLOWLIST, APP_NAME_ALLOWED_CHARS, PERMISSIONS_TOKEN_SELF, SOURCE_DATA_ERROR_PREFIX } from './constants.mjs';
18
- import { defaultParserOptions } from '../parser/options.mjs';
7
+ import { AdblockSyntaxError } from '../errors/adblock-syntax-error.js';
8
+ import { AppListParser } from '../parser/misc/app-list-parser.js';
9
+ import { DomainListParser } from '../parser/misc/domain-list-parser.js';
10
+ import { MethodListParser } from '../parser/misc/method-list-parser.js';
11
+ import { StealthOptionListParser } from '../parser/misc/stealth-option-list-parser.js';
12
+ import { DomainUtils } from '../utils/domain.js';
13
+ import { QuoteUtils, QuoteType } from '../utils/quotes.js';
14
+ import { BACKSLASH, COMMA, SEMICOLON, SPACE, PIPE, EQUALS, WILDCARD, OPEN_PARENTHESIS, CLOSE_PARENTHESIS, DOT } from '../utils/constants.js';
15
+ import { getValueRequiredValidationResult, getInvalidValidationResult } from './helpers.js';
16
+ import { SOURCE_DATA_ERROR_PREFIX, VALIDATION_ERROR_PREFIX, REFERRER_POLICY_DIRECTIVES, ALLOWED_CSP_DIRECTIVES, ALLOWED_PERMISSION_DIRECTIVES, EMPTY_PERMISSIONS_ALLOWLIST, PERMISSIONS_TOKEN_SELF, ALLOWED_METHODS, ALLOWED_STEALTH_OPTIONS, APP_NAME_ALLOWED_CHARS } from './constants.js';
17
+ import { defaultParserOptions } from '../parser/options.js';
18
+ import { isString } from '../utils/type-guards.js';
19
19
 
20
20
  /**
21
21
  * Pre-defined available validators for modifiers with custom `value_format`.
22
22
  */
23
- var CustomValueFormatValidatorName;
24
- (function (CustomValueFormatValidatorName) {
25
- CustomValueFormatValidatorName["App"] = "pipe_separated_apps";
26
- CustomValueFormatValidatorName["Csp"] = "csp_value";
23
+ const CustomValueFormatValidatorName = {
24
+ App: 'pipe_separated_apps',
25
+ Csp: 'csp_value',
27
26
  // there are some differences between $domain and $denyallow
28
- CustomValueFormatValidatorName["DenyAllow"] = "pipe_separated_denyallow_domains";
29
- CustomValueFormatValidatorName["Domain"] = "pipe_separated_domains";
30
- CustomValueFormatValidatorName["Method"] = "pipe_separated_methods";
31
- CustomValueFormatValidatorName["Permissions"] = "permissions_value";
32
- CustomValueFormatValidatorName["ReferrerPolicy"] = "referrerpolicy_value";
33
- CustomValueFormatValidatorName["StealthOption"] = "pipe_separated_stealth_options";
34
- })(CustomValueFormatValidatorName || (CustomValueFormatValidatorName = {}));
27
+ DenyAllow: 'pipe_separated_denyallow_domains',
28
+ Domain: 'pipe_separated_domains',
29
+ Method: 'pipe_separated_methods',
30
+ Permissions: 'permissions_value',
31
+ ReferrerPolicy: 'referrerpolicy_value',
32
+ StealthOption: 'pipe_separated_stealth_options',
33
+ };
35
34
  /**
36
35
  * Checks whether the `chunk` of app name (which if splitted by dot `.`) is valid.
37
36
  * Only letters, numbers, and underscore `_` are allowed.
@@ -534,10 +533,11 @@ const isCustomValueFormatValidator = (valueFormat) => {
534
533
  *
535
534
  * @param modifier Modifier AST node.
536
535
  * @param valueFormat Value format for the modifier.
536
+ * @param valueFormatFlags Optional; RegExp flags for the value format.
537
537
  *
538
538
  * @returns Validation result.
539
539
  */
540
- const validateValue = (modifier, valueFormat) => {
540
+ const validateValue = (modifier, valueFormat, valueFormatFlags) => {
541
541
  if (isCustomValueFormatValidator(valueFormat)) {
542
542
  const validator = CUSTOM_VALUE_FORMAT_MAP[valueFormat];
543
543
  return validator(modifier);
@@ -546,14 +546,19 @@ const validateValue = (modifier, valueFormat) => {
546
546
  if (!modifier.value?.value) {
547
547
  return getValueRequiredValidationResult(modifierName);
548
548
  }
549
- let xRegExp;
549
+ let regExp;
550
550
  try {
551
- xRegExp = XRegExp(valueFormat);
551
+ if (isString(valueFormatFlags)) {
552
+ regExp = new RegExp(valueFormat, valueFormatFlags);
553
+ }
554
+ else {
555
+ regExp = new RegExp(valueFormat);
556
+ }
552
557
  }
553
558
  catch (e) {
554
559
  throw new Error(`${SOURCE_DATA_ERROR_PREFIX.INVALID_VALUE_FORMAT_REGEXP}: '${modifierName}'`);
555
560
  }
556
- const isValid = xRegExp.test(modifier.value?.value);
561
+ const isValid = regExp.test(modifier.value?.value);
557
562
  if (!isValid) {
558
563
  return getInvalidValidationResult(`${VALIDATION_ERROR_PREFIX.VALUE_INVALID}: '${modifierName}'`);
559
564
  }
@@ -1,10 +1,10 @@
1
1
  /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.1.0 (build date: Mon, 31 Mar 2025 16:50:55 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- import { version } from './package.json.mjs';
7
+ import { version } from './package.json.js';
8
8
 
9
9
  /**
10
10
  * @file AGTree version