@adguard/agtree 3.0.0 → 3.0.1

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 (623) 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} +13 -13
  33. package/dist/{esm/converter/cosmetic/rule-modifiers/adg.mjs → converter/cosmetic/rule-modifiers/adg.js} +10 -10
  34. package/dist/{esm/converter/cosmetic/scriptlet.mjs → converter/cosmetic/scriptlet.js} +23 -23
  35. package/dist/{esm/converter/css/index.mjs → converter/css/index.js} +21 -25
  36. package/dist/{esm/converter/data/css.mjs → converter/data/css.js} +2 -2
  37. package/dist/{esm/converter/filter-list.mjs → converter/filter-list.js} +7 -7
  38. package/dist/converter/index.js +8 -0
  39. package/dist/{esm/converter/misc/network-rule-modifier.mjs → converter/misc/network-rule-modifier.js} +22 -22
  40. package/dist/{esm/converter/network/index.mjs → converter/network/index.js} +6 -6
  41. package/dist/{esm/converter/raw-filter-list.mjs → converter/raw-filter-list.js} +9 -9
  42. package/dist/{esm/converter/rule.mjs → converter/rule.js} +9 -9
  43. package/dist/{esm/deserializer/base-deserializer.mjs → deserializer/base-deserializer.js} +4 -4
  44. package/dist/{esm/deserializer/comment/agent-comment-deserializer.mjs → deserializer/comment/agent-comment-deserializer.js} +14 -9
  45. package/dist/{esm/deserializer/comment/agent-deserializer.mjs → deserializer/comment/agent-deserializer.js} +8 -8
  46. package/dist/{esm/deserializer/comment/comment-rule-deserializer.mjs → deserializer/comment/comment-rule-deserializer.js} +11 -64
  47. package/dist/{esm/deserializer/comment/config-comment-deserializer.mjs → deserializer/comment/config-comment-deserializer.js} +10 -10
  48. package/dist/{esm/deserializer/comment/hint-comment-deserializer.mjs → deserializer/comment/hint-comment-deserializer.js} +15 -10
  49. package/dist/{esm/deserializer/comment/hint-deserializer.mjs → deserializer/comment/hint-deserializer.js} +8 -8
  50. package/dist/{esm/deserializer/comment/metadata-comment-deserializer.mjs → deserializer/comment/metadata-comment-deserializer.js} +9 -9
  51. package/dist/{esm/deserializer/comment/pre-processor-comment-deserializer.mjs → deserializer/comment/pre-processor-comment-deserializer.js} +12 -12
  52. package/dist/{esm/deserializer/comment/simple-comment-deserializer.mjs → deserializer/comment/simple-comment-deserializer.js} +9 -9
  53. package/dist/{esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs → deserializer/cosmetic/cosmetic-rule-deserializer.js} +24 -18
  54. package/dist/{esm/deserializer/cosmetic/css-injection-body-deserializer.mjs → deserializer/cosmetic/css-injection-body-deserializer.js} +10 -7
  55. package/dist/{esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs → deserializer/cosmetic/element-hiding-body-deserializer.js} +11 -7
  56. 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
  57. 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
  58. package/dist/{esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js} +11 -7
  59. 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
  60. package/dist/{esm/deserializer/empty-rule-deserializer.mjs → deserializer/empty-rule-deserializer.js} +12 -8
  61. package/dist/{esm/deserializer/filterlist-deserializer.mjs → deserializer/filterlist-deserializer.js} +11 -7
  62. package/dist/{esm/deserializer/index.mjs → deserializer/index.js} +4 -4
  63. package/dist/{esm/deserializer/invalid-rule-deserializer.mjs → deserializer/invalid-rule-deserializer.js} +12 -8
  64. package/dist/{esm/deserializer/invalid-rule-error-node-deserializer.mjs → deserializer/invalid-rule-error-node-deserializer.js} +10 -6
  65. package/dist/{esm/deserializer/misc/domain-list-deserializer.mjs → deserializer/misc/domain-list-deserializer.js} +8 -8
  66. package/dist/{esm/deserializer/misc/list-item-deserializer.mjs → deserializer/misc/list-item-deserializer.js} +13 -7
  67. package/dist/{esm/deserializer/misc/list-items-deserializer.mjs → deserializer/misc/list-items-deserializer.js} +7 -3
  68. package/dist/{esm/deserializer/misc/logical-expression-deserializer.mjs → deserializer/misc/logical-expression-deserializer.js} +8 -8
  69. package/dist/{esm/deserializer/misc/modifier-deserializer.mjs → deserializer/misc/modifier-deserializer.js} +8 -8
  70. package/dist/{esm/deserializer/misc/modifier-list-deserializer.mjs → deserializer/misc/modifier-list-deserializer.js} +12 -7
  71. package/dist/{esm/deserializer/misc/parameter-list-deserializer.mjs → deserializer/misc/parameter-list-deserializer.js} +11 -7
  72. package/dist/{esm/deserializer/misc/value-deserializer.mjs → deserializer/misc/value-deserializer.js} +6 -6
  73. package/dist/{esm/deserializer/network/host-rule-deserializer.mjs → deserializer/network/host-rule-deserializer.js} +15 -27
  74. package/dist/{esm/deserializer/network/hostname-list-deserializer.mjs → deserializer/network/hostname-list-deserializer.js} +15 -7
  75. package/dist/{esm/deserializer/network/network-rule-deserializer.mjs → deserializer/network/network-rule-deserializer.js} +11 -11
  76. package/dist/{esm/deserializer/rule-deserializer.mjs → deserializer/rule-deserializer.js} +10 -10
  77. package/dist/{esm/deserializer/syntax-deserialization-map.mjs → deserializer/syntax-deserialization-map.js} +3 -3
  78. package/dist/{esm/errors/adblock-syntax-error.mjs → errors/adblock-syntax-error.js} +2 -2
  79. package/dist/{esm/errors/binary-schema-mismatch-error.mjs → errors/binary-schema-mismatch-error.js} +2 -2
  80. package/dist/{esm/errors/not-implemented-error.mjs → errors/not-implemented-error.js} +2 -2
  81. package/dist/{esm/errors/rule-conversion-error.mjs → errors/rule-conversion-error.js} +2 -2
  82. package/dist/{esm/generator/base-generator.mjs → generator/base-generator.js} +4 -4
  83. package/dist/{esm/generator/comment/agent-comment-generator.mjs → generator/comment/agent-comment-generator.js} +8 -5
  84. package/dist/{esm/generator/comment/agent-generator.mjs → generator/comment/agent-generator.js} +9 -5
  85. package/dist/{esm/generator/comment/comment-rule-generator.mjs → generator/comment/comment-rule-generator.js} +11 -64
  86. package/dist/{esm/generator/comment/config-comment-generator.mjs → generator/comment/config-comment-generator.js} +8 -5
  87. package/dist/{esm/generator/comment/hint-comment-generator.mjs → generator/comment/hint-comment-generator.js} +8 -5
  88. package/dist/{esm/generator/comment/hint-generator.mjs → generator/comment/hint-generator.js} +11 -8
  89. package/dist/{esm/generator/comment/metadata-comment-generator.mjs → generator/comment/metadata-comment-generator.js} +8 -5
  90. package/dist/{esm/generator/comment/pre-processor-comment-generator.mjs → generator/comment/pre-processor-comment-generator.js} +10 -7
  91. package/dist/{esm/generator/comment/simple-comment-generator.mjs → generator/comment/simple-comment-generator.js} +8 -5
  92. package/dist/{esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs → generator/cosmetic/body/abp-snippet-injection-body-generator.js} +10 -6
  93. package/dist/{esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/adg-scriptlet-injection-body-generator.js} +10 -6
  94. package/dist/{esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js} +10 -6
  95. package/dist/{esm/generator/cosmetic/cosmetic-rule-body-generator.mjs → generator/cosmetic/cosmetic-rule-body-generator.js} +17 -13
  96. package/dist/{esm/generator/cosmetic/cosmetic-rule-generator.mjs → generator/cosmetic/cosmetic-rule-generator.js} +10 -20
  97. package/dist/{esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs → generator/cosmetic/cosmetic-rule-pattern-generator.js} +10 -7
  98. package/dist/{esm/generator/css/adg-css-injection-generator.mjs → generator/css/adg-css-injection-generator.js} +8 -5
  99. package/dist/{esm/generator/filterlist-generator.mjs → generator/filterlist-generator.js} +21 -9
  100. package/dist/{esm/generator/index.mjs → generator/index.js} +5 -5
  101. package/dist/{esm/generator/misc/domain-list-generator.mjs → generator/misc/domain-list-generator.js} +7 -4
  102. package/dist/{esm/generator/misc/list-items-generator.mjs → generator/misc/list-items-generator.js} +6 -3
  103. package/dist/{esm/generator/misc/logical-expression-generator.mjs → generator/misc/logical-expression-generator.js} +8 -5
  104. package/dist/{esm/generator/misc/modifier-generator.mjs → generator/misc/modifier-generator.js} +9 -6
  105. package/dist/{esm/generator/misc/modifier-list-generator.mjs → generator/misc/modifier-list-generator.js} +8 -5
  106. package/dist/{esm/generator/misc/parameter-list-generator.mjs → generator/misc/parameter-list-generator.js} +8 -6
  107. package/dist/{esm/generator/misc/value-generator.mjs → generator/misc/value-generator.js} +6 -3
  108. package/dist/{esm/generator/network/host-rule-generator.mjs → generator/network/host-rule-generator.js} +7 -4
  109. package/dist/{esm/generator/network/network-rule-generator.mjs → generator/network/network-rule-generator.js} +11 -8
  110. package/dist/{esm/generator/rule-generator.mjs → generator/rule-generator.js} +12 -9
  111. package/dist/{esm/index.mjs → index.js} +66 -66
  112. package/dist/{cjs/marshalling-utils/empty-rule-common.js → marshalling-utils/comment/agent-comment-common.js} +9 -9
  113. package/dist/{esm/marshalling-utils/comment/agent-common.mjs → marshalling-utils/comment/agent-common.js} +8 -9
  114. package/dist/{esm/marshalling-utils/comment/config-comment-common.mjs → marshalling-utils/comment/config-comment-common.js} +15 -17
  115. package/dist/marshalling-utils/comment/hint-comment-common.js +22 -0
  116. package/dist/{esm/marshalling-utils/comment/hint-common.mjs → marshalling-utils/comment/hint-common.js} +8 -9
  117. package/dist/{esm/marshalling-utils/comment/metadata-comment-common.mjs → marshalling-utils/comment/metadata-comment-common.js} +9 -10
  118. package/dist/{esm/marshalling-utils/comment/pre-processor-comment-common.mjs → marshalling-utils/comment/pre-processor-comment-common.js} +9 -10
  119. package/dist/marshalling-utils/comment/simple-comment-common.js +22 -0
  120. package/dist/{esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs → marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js} +7 -8
  121. 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
  122. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +24 -0
  123. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +21 -0
  124. 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
  125. package/dist/{esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs → marshalling-utils/cosmetic/cosmetic-rule-common.js} +10 -13
  126. package/dist/{esm/marshalling-utils/empty-rule-common.mjs → marshalling-utils/empty-rule-common.js} +6 -7
  127. package/dist/marshalling-utils/filter-list-common.js +21 -0
  128. package/dist/{esm/marshalling-utils/invalid-rule-common.mjs → marshalling-utils/invalid-rule-common.js} +7 -8
  129. package/dist/marshalling-utils/invalid-rule-error-node-common.js +22 -0
  130. package/dist/marshalling-utils/misc/binary-type-common.js +54 -0
  131. package/dist/{esm/marshalling-utils/misc/domain-list-common.mjs → marshalling-utils/misc/domain-list-common.js} +9 -10
  132. package/dist/marshalling-utils/misc/host-rule-common.js +24 -0
  133. package/dist/marshalling-utils/misc/hostname-list-common.js +21 -0
  134. package/dist/marshalling-utils/misc/list-item-common.js +22 -0
  135. package/dist/marshalling-utils/misc/logical-expression-common.js +83 -0
  136. package/dist/{esm/marshalling-utils/misc/modifier-common.mjs → marshalling-utils/misc/modifier-common.js} +9 -10
  137. package/dist/marshalling-utils/misc/modifier-list-common.js +21 -0
  138. package/dist/marshalling-utils/misc/parameter-list-common.js +21 -0
  139. package/dist/marshalling-utils/misc/value-common.js +22 -0
  140. package/dist/marshalling-utils/network/network-rule-common.js +24 -0
  141. package/dist/{esm/marshalling-utils/syntax-serialization-map.mjs → marshalling-utils/syntax-serialization-map.js} +3 -3
  142. package/dist/{esm/nodes/index.mjs → nodes/index.js} +66 -79
  143. package/dist/{esm/package.json.mjs → package.json.js} +3 -3
  144. package/dist/{esm/parser/base-parser.mjs → parser/base-parser.js} +3 -3
  145. package/dist/{esm/parser/comment/agent-comment-parser.mjs → parser/comment/agent-comment-parser.js} +12 -12
  146. package/dist/{esm/parser/comment/agent-parser.mjs → parser/comment/agent-parser.js} +19 -14
  147. package/dist/{esm/parser/comment/comment-parser.mjs → parser/comment/comment-parser.js} +10 -10
  148. package/dist/{esm/parser/comment/config-comment-parser.mjs → parser/comment/config-comment-parser.js} +10 -10
  149. package/dist/{esm/parser/comment/hint-comment-parser.mjs → parser/comment/hint-comment-parser.js} +10 -10
  150. package/dist/{esm/parser/comment/hint-parser.mjs → parser/comment/hint-parser.js} +9 -9
  151. package/dist/{esm/parser/comment/metadata-comment-parser.mjs → parser/comment/metadata-comment-parser.js} +11 -11
  152. package/dist/{esm/parser/comment/preprocessor-parser.mjs → parser/comment/preprocessor-parser.js} +12 -12
  153. package/dist/{esm/parser/comment/simple-comment-parser.mjs → parser/comment/simple-comment-parser.js} +9 -9
  154. package/dist/{esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs → parser/cosmetic/body/abp-snippet-injection-body-parser.js} +9 -9
  155. package/dist/{esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/adg-scriptlet-injection-body-parser.js} +9 -9
  156. package/dist/{esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js} +8 -8
  157. package/dist/{esm/parser/cosmetic/cosmetic-rule-parser.mjs → parser/cosmetic/cosmetic-rule-parser.js} +63 -23
  158. package/dist/{esm/parser/css/adg-css-injection-parser.mjs → parser/css/adg-css-injection-parser.js} +7 -7
  159. package/dist/{esm/parser/css/balancing.mjs → parser/css/balancing.js} +6 -6
  160. package/dist/{esm/parser/css/constants.mjs → parser/css/constants.js} +2 -2
  161. package/dist/{esm/parser/css/css-token-stream.mjs → parser/css/css-token-stream.js} +24 -14
  162. package/dist/{esm/parser/css/ubo-selector-parser.mjs → parser/css/ubo-selector-parser.js} +8 -8
  163. package/dist/{esm/parser/filterlist-parser.mjs → parser/filterlist-parser.js} +7 -7
  164. package/dist/parser/index.js +12 -0
  165. package/dist/{esm/parser/misc/app-list-parser.mjs → parser/misc/app-list-parser.js} +7 -7
  166. package/dist/{esm/parser/misc/domain-list-parser.mjs → parser/misc/domain-list-parser.js} +7 -7
  167. package/dist/{esm/parser/misc/list-items-parser.mjs → parser/misc/list-items-parser.js} +10 -7
  168. package/dist/{esm/parser/misc/logical-expression-parser.mjs → parser/misc/logical-expression-parser.js} +18 -20
  169. package/dist/{esm/parser/misc/method-list-parser.mjs → parser/misc/method-list-parser.js} +7 -7
  170. package/dist/{esm/parser/misc/modifier-list.mjs → parser/misc/modifier-list.js} +7 -7
  171. package/dist/{esm/parser/misc/modifier-parser.mjs → parser/misc/modifier-parser.js} +8 -8
  172. package/dist/{esm/parser/misc/parameter-list-parser.mjs → parser/misc/parameter-list-parser.js} +10 -7
  173. package/dist/{esm/parser/misc/stealth-option-list-parser.mjs → parser/misc/stealth-option-list-parser.js} +7 -7
  174. package/dist/{esm/parser/misc/ubo-parameter-list-parser.mjs → parser/misc/ubo-parameter-list-parser.js} +12 -9
  175. package/dist/{esm/parser/misc/value-parser.mjs → parser/misc/value-parser.js} +5 -5
  176. package/dist/{esm/parser/network/host-rule-parser.mjs → parser/network/host-rule-parser.js} +11 -11
  177. package/dist/{esm/parser/network/network-rule-parser.mjs → parser/network/network-rule-parser.js} +17 -11
  178. package/dist/{esm/parser/options.mjs → parser/options.js} +2 -2
  179. package/dist/{esm/parser/rule-parser.mjs → parser/rule-parser.js} +11 -11
  180. package/dist/{esm/serializer/base-serializer.mjs → serializer/base-serializer.js} +3 -3
  181. package/dist/{esm/serializer/comment/agent-comment-serializer.mjs → serializer/comment/agent-comment-serializer.js} +11 -8
  182. package/dist/{esm/serializer/comment/agent-serializer.mjs → serializer/comment/agent-serializer.js} +9 -18
  183. package/dist/{esm/serializer/comment/comment-rule-serializer.mjs → serializer/comment/comment-rule-serializer.js} +10 -10
  184. package/dist/{esm/serializer/comment/config-comment-serializer.mjs → serializer/comment/config-comment-serializer.js} +10 -10
  185. package/dist/{esm/serializer/comment/hint-comment-serializer.mjs → serializer/comment/hint-comment-serializer.js} +13 -10
  186. package/dist/{esm/serializer/comment/hint-serializer.mjs → serializer/comment/hint-serializer.js} +9 -9
  187. package/dist/{esm/serializer/comment/metadata-comment-serializer.mjs → serializer/comment/metadata-comment-serializer.js} +8 -8
  188. package/dist/{esm/serializer/comment/pre-processor-comment-serializer.mjs → serializer/comment/pre-processor-comment-serializer.js} +11 -11
  189. package/dist/{esm/serializer/comment/simple-comment-serializer.mjs → serializer/comment/simple-comment-serializer.js} +10 -10
  190. package/dist/{esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs → serializer/cosmetic/body/abp-snippet-injection-body-serializer.js} +9 -9
  191. package/dist/{esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js} +9 -9
  192. package/dist/{esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs → serializer/cosmetic/body/scriptlet-body-serializer.js} +16 -13
  193. package/dist/{esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js} +5 -5
  194. package/dist/{esm/serializer/cosmetic/cosmetic-rule-serializer.mjs → serializer/cosmetic/cosmetic-rule-serializer.js} +22 -31
  195. package/dist/{esm/serializer/cosmetic/css-injection-body-serializer.mjs → serializer/cosmetic/css-injection-body-serializer.js} +11 -8
  196. package/dist/{esm/serializer/cosmetic/element-hiding-body-serializer.mjs → serializer/cosmetic/element-hiding-body-serializer.js} +11 -8
  197. package/dist/{esm/serializer/empty-rule-serializer.mjs → serializer/empty-rule-serializer.js} +10 -7
  198. package/dist/{esm/serializer/filterlist-serializer.mjs → serializer/filterlist-serializer.js} +9 -10
  199. package/dist/serializer/index.js +7 -0
  200. package/dist/{esm/serializer/invalid-rule-error-node-serializer.mjs → serializer/invalid-rule-error-node-serializer.js} +10 -7
  201. package/dist/{esm/serializer/invalid-rule-serializer.mjs → serializer/invalid-rule-serializer.js} +11 -8
  202. package/dist/{esm/serializer/misc/domain-list-serializer.mjs → serializer/misc/domain-list-serializer.js} +10 -10
  203. package/dist/{esm/serializer/misc/list-item-serializer.mjs → serializer/misc/list-item-serializer.js} +11 -8
  204. package/dist/{esm/serializer/misc/list-items-serializer.mjs → serializer/misc/list-items-serializer.js} +6 -3
  205. package/dist/{esm/serializer/misc/logical-expression-serializer.mjs → serializer/misc/logical-expression-serializer.js} +14 -14
  206. package/dist/{esm/serializer/misc/modifier-list-serializer.mjs → serializer/misc/modifier-list-serializer.js} +11 -8
  207. package/dist/{esm/serializer/misc/modifier-serializer.mjs → serializer/misc/modifier-serializer.js} +8 -8
  208. package/dist/{esm/serializer/misc/parameter-list-serializer.mjs → serializer/misc/parameter-list-serializer.js} +11 -8
  209. package/dist/{esm/serializer/misc/value-serializer.mjs → serializer/misc/value-serializer.js} +7 -7
  210. package/dist/{esm/serializer/network/host-rule-serializer.mjs → serializer/network/host-rule-serializer.js} +10 -10
  211. package/dist/{esm/serializer/network/hostname-list-serializer.mjs → serializer/network/hostname-list-serializer.js} +14 -8
  212. package/dist/{esm/serializer/network/network-rule-serializer.mjs → serializer/network/network-rule-serializer.js} +10 -10
  213. package/dist/{esm/serializer/rule-serializer.mjs → serializer/rule-serializer.js} +10 -10
  214. package/dist/types/common/abp-snippet-injection-body-common.d.ts +7 -0
  215. package/dist/types/common/ubo-selector-common.d.ts +7 -6
  216. package/dist/types/compatibility-tables/compatibility-table-data.d.ts +2 -1
  217. package/dist/types/compatibility-tables/platforms.d.ts +36 -34
  218. package/dist/types/compatibility-tables/schemas/base.d.ts +1 -12
  219. package/dist/types/compatibility-tables/schemas/modifier.d.ts +5 -0
  220. package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
  221. package/dist/types/compatibility-tables/schemas/resource-type.d.ts +29 -15
  222. package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +1 -1
  223. package/dist/types/converter/css/index.d.ts +17 -0
  224. package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +1 -54
  225. package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +6 -0
  226. package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +3 -0
  227. package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +4 -0
  228. package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +4 -0
  229. package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +5 -0
  230. package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +4 -0
  231. package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +4 -1
  232. package/dist/types/deserializer/empty-rule-deserializer.d.ts +4 -0
  233. package/dist/types/deserializer/filterlist-deserializer.d.ts +4 -0
  234. package/dist/types/deserializer/invalid-rule-deserializer.d.ts +4 -0
  235. package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +4 -0
  236. package/dist/types/deserializer/misc/list-item-deserializer.d.ts +6 -0
  237. package/dist/types/deserializer/misc/list-items-deserializer.d.ts +4 -0
  238. package/dist/types/deserializer/misc/modifier-deserializer.d.ts +1 -1
  239. package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +4 -0
  240. package/dist/types/deserializer/network/host-rule-deserializer.d.ts +4 -16
  241. package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +3 -0
  242. package/dist/types/generator/comment/agent-comment-generator.d.ts +3 -0
  243. package/dist/types/generator/comment/agent-generator.d.ts +4 -0
  244. package/dist/types/generator/comment/comment-rule-generator.d.ts +1 -54
  245. package/dist/types/generator/comment/config-comment-generator.d.ts +3 -0
  246. package/dist/types/generator/comment/hint-comment-generator.d.ts +3 -0
  247. package/dist/types/generator/comment/hint-generator.d.ts +6 -3
  248. package/dist/types/generator/comment/index.d.ts +1 -2
  249. package/dist/types/generator/comment/metadata-comment-generator.d.ts +3 -0
  250. package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +3 -0
  251. package/dist/types/generator/comment/simple-comment-generator.d.ts +3 -0
  252. package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +4 -0
  253. package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +5 -1
  254. package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +5 -1
  255. package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +5 -0
  256. package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +3 -11
  257. package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +3 -0
  258. package/dist/types/generator/css/adg-css-injection-generator.d.ts +3 -0
  259. package/dist/types/generator/css/ubo-selector-generator.d.ts +3 -0
  260. package/dist/types/generator/filterlist-generator.d.ts +4 -3
  261. package/dist/types/generator/misc/domain-list-generator.d.ts +3 -0
  262. package/dist/types/generator/misc/list-items-generator.d.ts +3 -0
  263. package/dist/types/generator/misc/logical-expression-generator.d.ts +3 -0
  264. package/dist/types/generator/misc/modifier-generator.d.ts +5 -2
  265. package/dist/types/generator/misc/modifier-list-generator.d.ts +3 -0
  266. package/dist/types/generator/misc/parameter-list-generator.d.ts +3 -0
  267. package/dist/types/generator/misc/value-generator.d.ts +3 -0
  268. package/dist/types/generator/network/host-rule-generator.d.ts +3 -0
  269. package/dist/types/generator/network/network-rule-generator.d.ts +6 -3
  270. package/dist/types/generator/rule-generator.d.ts +3 -0
  271. package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +6 -5
  272. package/dist/types/marshalling-utils/comment/agent-common.d.ts +7 -6
  273. package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +15 -13
  274. package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +7 -6
  275. package/dist/types/marshalling-utils/comment/hint-common.d.ts +7 -6
  276. package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +8 -7
  277. package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +8 -7
  278. package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +7 -6
  279. package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +6 -5
  280. package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +9 -8
  281. package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +6 -5
  282. package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +11 -10
  283. package/dist/types/marshalling-utils/empty-rule-common.d.ts +5 -4
  284. package/dist/types/marshalling-utils/filter-list-common.d.ts +6 -5
  285. package/dist/types/marshalling-utils/invalid-rule-common.d.ts +6 -5
  286. package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +7 -6
  287. package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +52 -51
  288. package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +7 -6
  289. package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +10 -9
  290. package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +6 -5
  291. package/dist/types/marshalling-utils/misc/list-item-common.d.ts +7 -6
  292. package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +21 -18
  293. package/dist/types/marshalling-utils/misc/modifier-common.d.ts +8 -7
  294. package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +6 -5
  295. package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +6 -5
  296. package/dist/types/marshalling-utils/misc/value-common.d.ts +7 -6
  297. package/dist/types/marshalling-utils/network/network-rule-common.d.ts +10 -9
  298. package/dist/types/nodes/index.d.ts +104 -98
  299. package/dist/types/parser/comment/agent-parser.d.ts +7 -0
  300. package/dist/types/parser/css/balancing.d.ts +21 -1
  301. package/dist/types/parser/index.d.ts +1 -0
  302. package/dist/types/parser/misc/list-items-parser.d.ts +3 -0
  303. package/dist/types/parser/misc/logical-expression-parser.d.ts +6 -5
  304. package/dist/types/parser/misc/parameter-list-parser.d.ts +3 -0
  305. package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +3 -0
  306. package/dist/types/parser/misc/value-parser.d.ts +1 -1
  307. package/dist/types/serializer/comment/agent-serializer.d.ts +1 -10
  308. package/dist/types/serializer/comment/config-comment-serializer.d.ts +1 -1
  309. package/dist/types/serializer/comment/simple-comment-serializer.d.ts +2 -2
  310. package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +4 -4
  311. package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +4 -4
  312. package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +8 -5
  313. package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +4 -11
  314. package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +3 -0
  315. package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +3 -0
  316. package/dist/types/serializer/empty-rule-serializer.d.ts +3 -0
  317. package/dist/types/serializer/filterlist-serializer.d.ts +1 -2
  318. package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +3 -0
  319. package/dist/types/serializer/invalid-rule-serializer.d.ts +3 -0
  320. package/dist/types/serializer/misc/domain-list-serializer.d.ts +2 -2
  321. package/dist/types/serializer/misc/list-item-serializer.d.ts +3 -0
  322. package/dist/types/serializer/misc/list-items-serializer.d.ts +3 -0
  323. package/dist/types/serializer/misc/logical-expression-serializer.d.ts +7 -6
  324. package/dist/types/serializer/misc/parameter-list-serializer.d.ts +3 -0
  325. package/dist/types/serializer/network/hostname-list-serializer.d.ts +3 -0
  326. package/dist/types/utils/adblockers.d.ts +7 -6
  327. package/dist/types/utils/domain.d.ts +3 -0
  328. package/dist/types/utils/input-byte-buffer.d.ts +6 -0
  329. package/dist/types/utils/output-byte-buffer.d.ts +6 -0
  330. package/dist/types/utils/quotes.d.ts +7 -6
  331. package/dist/types/utils/string.d.ts +3 -0
  332. package/dist/types/validator/value.d.ts +2 -1
  333. package/dist/{esm/utils/adblockers.mjs → utils/adblockers.js} +8 -9
  334. package/dist/{esm/utils/binary-schema-version.mjs → utils/binary-schema-version.js} +2 -2
  335. package/dist/{esm/utils/byte-buffer.mjs → utils/byte-buffer.js} +2 -2
  336. package/dist/{esm/utils/categorizer.mjs → utils/categorizer.js} +5 -5
  337. package/dist/{esm/utils/clone.mjs → utils/clone.js} +2 -2
  338. package/dist/{esm/utils/constants.mjs → utils/constants.js} +5 -3
  339. package/dist/{esm/utils/cosmetic-rule-separator.mjs → utils/cosmetic-rule-separator.js} +4 -4
  340. package/dist/{esm/utils/deep-freeze.mjs → utils/deep-freeze.js} +2 -2
  341. package/dist/{esm/utils/domain.mjs → utils/domain.js} +6 -3
  342. package/dist/{esm/utils/error.mjs → utils/error.js} +2 -2
  343. package/dist/utils/index.js +21 -0
  344. package/dist/{esm/utils/input-byte-buffer.mjs → utils/input-byte-buffer.js} +17 -8
  345. package/dist/{esm/utils/is-chromium.mjs → utils/is-chromium.js} +2 -2
  346. package/dist/{esm/utils/logical-expression.mjs → utils/logical-expression.js} +4 -4
  347. package/dist/{esm/utils/multi-value-map.mjs → utils/multi-value-map.js} +3 -3
  348. package/dist/{esm/utils/output-byte-buffer.mjs → utils/output-byte-buffer.js} +14 -6
  349. package/dist/{esm/utils/position-provider.mjs → utils/position-provider.js} +3 -3
  350. package/dist/{esm/utils/quotes.mjs → utils/quotes.js} +9 -10
  351. package/dist/{esm/utils/regexp.mjs → utils/regexp.js} +3 -3
  352. package/dist/{esm/utils/string.mjs → utils/string.js} +6 -3
  353. package/dist/{esm/utils/text-decoder-polyfill.mjs → utils/text-decoder-polyfill.js} +3 -3
  354. package/dist/{esm/utils/text-encoder-polyfill.mjs → utils/text-encoder-polyfill.js} +2 -2
  355. package/dist/{esm/utils/type-guards.mjs → utils/type-guards.js} +2 -2
  356. package/dist/{esm/validator/constants.mjs → validator/constants.js} +4 -4
  357. package/dist/{esm/validator/helpers.mjs → validator/helpers.js} +4 -4
  358. package/dist/{esm/validator/index.mjs → validator/index.js} +11 -11
  359. package/dist/{esm/validator/value.mjs → validator/value.js} +34 -29
  360. package/dist/{esm/version.mjs → version.js} +3 -3
  361. package/package.json +24 -70
  362. package/dist/cjs/ast-utils/clone.js +0 -65
  363. package/dist/cjs/ast-utils/modifiers.js +0 -56
  364. package/dist/cjs/ast-utils/network-rules.js +0 -43
  365. package/dist/cjs/ast-utils/scriptlets.js +0 -93
  366. package/dist/cjs/common/abp-snippet-injection-body-common.js +0 -18
  367. package/dist/cjs/common/agent-common.js +0 -58
  368. package/dist/cjs/common/ubo-selector-common.js +0 -18
  369. package/dist/cjs/compatibility-tables/base.js +0 -264
  370. package/dist/cjs/compatibility-tables/compatibility-table-data.js +0 -15
  371. package/dist/cjs/compatibility-tables/modifiers.js +0 -57
  372. package/dist/cjs/compatibility-tables/platforms.js +0 -58
  373. package/dist/cjs/compatibility-tables/redirects.js +0 -102
  374. package/dist/cjs/compatibility-tables/schemas/base.js +0 -116
  375. package/dist/cjs/compatibility-tables/schemas/modifier.js +0 -107
  376. package/dist/cjs/compatibility-tables/schemas/platform.js +0 -71
  377. package/dist/cjs/compatibility-tables/schemas/redirect.js +0 -31
  378. package/dist/cjs/compatibility-tables/schemas/resource-type.js +0 -39
  379. package/dist/cjs/compatibility-tables/schemas/scriptlet.js +0 -81
  380. package/dist/cjs/compatibility-tables/scriptlets.js +0 -30
  381. package/dist/cjs/compatibility-tables/utils/platform-helpers.js +0 -112
  382. package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +0 -64
  383. package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +0 -27
  384. package/dist/cjs/converter/base-interfaces/base-converter.js +0 -61
  385. package/dist/cjs/converter/base-interfaces/conversion-result.js +0 -41
  386. package/dist/cjs/converter/base-interfaces/rule-converter-base.js +0 -62
  387. package/dist/cjs/converter/comment/index.js +0 -56
  388. package/dist/cjs/converter/cosmetic/css.js +0 -71
  389. package/dist/cjs/converter/cosmetic/element-hiding.js +0 -64
  390. package/dist/cjs/converter/cosmetic/header-removal.js +0 -126
  391. package/dist/cjs/converter/cosmetic/html.js +0 -384
  392. package/dist/cjs/converter/cosmetic/index.js +0 -120
  393. package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +0 -81
  394. package/dist/cjs/converter/cosmetic/scriptlet.js +0 -356
  395. package/dist/cjs/converter/css/index.js +0 -193
  396. package/dist/cjs/converter/data/css.js +0 -133
  397. package/dist/cjs/converter/filter-list.js +0 -90
  398. package/dist/cjs/converter/index.js +0 -15
  399. package/dist/cjs/converter/misc/network-rule-modifier.js +0 -313
  400. package/dist/cjs/converter/network/index.js +0 -101
  401. package/dist/cjs/converter/raw-filter-list.js +0 -58
  402. package/dist/cjs/converter/rule.js +0 -83
  403. package/dist/cjs/deserializer/base-deserializer.js +0 -31
  404. package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +0 -76
  405. package/dist/cjs/deserializer/comment/agent-deserializer.js +0 -67
  406. package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +0 -109
  407. package/dist/cjs/deserializer/comment/config-comment-deserializer.js +0 -113
  408. package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +0 -69
  409. package/dist/cjs/deserializer/comment/hint-deserializer.js +0 -88
  410. package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +0 -71
  411. package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +0 -114
  412. package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +0 -67
  413. package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -127
  414. package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +0 -55
  415. package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -46
  416. package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -37
  417. package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -37
  418. package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -52
  419. package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
  420. package/dist/cjs/deserializer/empty-rule-deserializer.js +0 -46
  421. package/dist/cjs/deserializer/filterlist-deserializer.js +0 -83
  422. package/dist/cjs/deserializer/index.js +0 -15
  423. package/dist/cjs/deserializer/invalid-rule-deserializer.js +0 -48
  424. package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +0 -48
  425. package/dist/cjs/deserializer/misc/domain-list-deserializer.js +0 -66
  426. package/dist/cjs/deserializer/misc/list-item-deserializer.js +0 -65
  427. package/dist/cjs/deserializer/misc/list-items-deserializer.js +0 -28
  428. package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +0 -199
  429. package/dist/cjs/deserializer/misc/modifier-deserializer.js +0 -89
  430. package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +0 -58
  431. package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +0 -62
  432. package/dist/cjs/deserializer/misc/value-deserializer.js +0 -52
  433. package/dist/cjs/deserializer/network/host-rule-deserializer.js +0 -81
  434. package/dist/cjs/deserializer/network/hostname-list-deserializer.js +0 -50
  435. package/dist/cjs/deserializer/network/network-rule-deserializer.js +0 -67
  436. package/dist/cjs/deserializer/rule-deserializer.js +0 -67
  437. package/dist/cjs/deserializer/syntax-deserialization-map.js +0 -23
  438. package/dist/cjs/errors/adblock-syntax-error.js +0 -41
  439. package/dist/cjs/errors/binary-schema-mismatch-error.js +0 -39
  440. package/dist/cjs/errors/not-implemented-error.js +0 -33
  441. package/dist/cjs/errors/rule-conversion-error.js +0 -28
  442. package/dist/cjs/generator/base-generator.js +0 -29
  443. package/dist/cjs/generator/comment/agent-comment-generator.js +0 -30
  444. package/dist/cjs/generator/comment/agent-generator.js +0 -34
  445. package/dist/cjs/generator/comment/comment-rule-generator.js +0 -102
  446. package/dist/cjs/generator/comment/config-comment-generator.js +0 -44
  447. package/dist/cjs/generator/comment/hint-comment-generator.js +0 -27
  448. package/dist/cjs/generator/comment/hint-generator.js +0 -32
  449. package/dist/cjs/generator/comment/metadata-comment-generator.js +0 -32
  450. package/dist/cjs/generator/comment/pre-processor-comment-generator.js +0 -47
  451. package/dist/cjs/generator/comment/simple-comment-generator.js +0 -28
  452. package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +0 -36
  453. package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +0 -41
  454. package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +0 -43
  455. package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +0 -92
  456. package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +0 -66
  457. package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +0 -41
  458. package/dist/cjs/generator/css/adg-css-injection-generator.js +0 -41
  459. package/dist/cjs/generator/filterlist-generator.js +0 -57
  460. package/dist/cjs/generator/index.js +0 -17
  461. package/dist/cjs/generator/misc/domain-list-generator.js +0 -25
  462. package/dist/cjs/generator/misc/list-items-generator.js +0 -38
  463. package/dist/cjs/generator/misc/logical-expression-generator.js +0 -47
  464. package/dist/cjs/generator/misc/modifier-generator.js +0 -33
  465. package/dist/cjs/generator/misc/modifier-list-generator.js +0 -28
  466. package/dist/cjs/generator/misc/parameter-list-generator.js +0 -41
  467. package/dist/cjs/generator/misc/value-generator.js +0 -23
  468. package/dist/cjs/generator/network/host-rule-generator.js +0 -38
  469. package/dist/cjs/generator/network/network-rule-generator.js +0 -37
  470. package/dist/cjs/generator/rule-generator.js +0 -64
  471. package/dist/cjs/index.js +0 -201
  472. package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +0 -22
  473. package/dist/cjs/marshalling-utils/comment/agent-common.js +0 -43
  474. package/dist/cjs/marshalling-utils/comment/config-comment-common.js +0 -58
  475. package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +0 -23
  476. package/dist/cjs/marshalling-utils/comment/hint-common.js +0 -60
  477. package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +0 -44
  478. package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +0 -63
  479. package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +0 -23
  480. package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -64
  481. package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -68
  482. package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -25
  483. package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -22
  484. package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -116
  485. package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -51
  486. package/dist/cjs/marshalling-utils/filter-list-common.js +0 -22
  487. package/dist/cjs/marshalling-utils/invalid-rule-common.js +0 -22
  488. package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +0 -23
  489. package/dist/cjs/marshalling-utils/misc/binary-type-common.js +0 -67
  490. package/dist/cjs/marshalling-utils/misc/domain-list-common.js +0 -39
  491. package/dist/cjs/marshalling-utils/misc/host-rule-common.js +0 -26
  492. package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +0 -22
  493. package/dist/cjs/marshalling-utils/misc/list-item-common.js +0 -23
  494. package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +0 -89
  495. package/dist/cjs/marshalling-utils/misc/modifier-common.js +0 -236
  496. package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +0 -22
  497. package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +0 -22
  498. package/dist/cjs/marshalling-utils/misc/value-common.js +0 -23
  499. package/dist/cjs/marshalling-utils/network/network-rule-common.js +0 -26
  500. package/dist/cjs/marshalling-utils/syntax-serialization-map.js +0 -32
  501. package/dist/cjs/nodes/index.js +0 -180
  502. package/dist/cjs/package.json.js +0 -11
  503. package/dist/cjs/parser/base-parser.js +0 -32
  504. package/dist/cjs/parser/comment/agent-comment-parser.js +0 -121
  505. package/dist/cjs/parser/comment/agent-parser.js +0 -111
  506. package/dist/cjs/parser/comment/comment-parser.js +0 -110
  507. package/dist/cjs/parser/comment/config-comment-parser.js +0 -139
  508. package/dist/cjs/parser/comment/hint-comment-parser.js +0 -119
  509. package/dist/cjs/parser/comment/hint-parser.js +0 -131
  510. package/dist/cjs/parser/comment/metadata-comment-parser.js +0 -131
  511. package/dist/cjs/parser/comment/preprocessor-parser.js +0 -201
  512. package/dist/cjs/parser/comment/simple-comment-parser.js +0 -108
  513. package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +0 -81
  514. package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +0 -151
  515. package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +0 -112
  516. package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +0 -456
  517. package/dist/cjs/parser/css/adg-css-injection-parser.js +0 -213
  518. package/dist/cjs/parser/css/balancing.js +0 -97
  519. package/dist/cjs/parser/css/constants.js +0 -21
  520. package/dist/cjs/parser/css/css-token-stream.js +0 -345
  521. package/dist/cjs/parser/css/ubo-selector-parser.js +0 -373
  522. package/dist/cjs/parser/filterlist-parser.js +0 -104
  523. package/dist/cjs/parser/index.js +0 -21
  524. package/dist/cjs/parser/misc/app-list-parser.js +0 -47
  525. package/dist/cjs/parser/misc/domain-list-parser.js +0 -54
  526. package/dist/cjs/parser/misc/list-items-parser.js +0 -116
  527. package/dist/cjs/parser/misc/logical-expression-parser.js +0 -283
  528. package/dist/cjs/parser/misc/method-list-parser.js +0 -48
  529. package/dist/cjs/parser/misc/modifier-list.js +0 -72
  530. package/dist/cjs/parser/misc/modifier-parser.js +0 -91
  531. package/dist/cjs/parser/misc/parameter-list-parser.js +0 -74
  532. package/dist/cjs/parser/misc/stealth-option-list-parser.js +0 -48
  533. package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +0 -148
  534. package/dist/cjs/parser/misc/value-parser.js +0 -39
  535. package/dist/cjs/parser/network/host-rule-parser.js +0 -151
  536. package/dist/cjs/parser/network/network-rule-parser.js +0 -113
  537. package/dist/cjs/parser/options.js +0 -25
  538. package/dist/cjs/parser/rule-parser.js +0 -194
  539. package/dist/cjs/serializer/base-serializer.js +0 -31
  540. package/dist/cjs/serializer/comment/agent-comment-serializer.js +0 -73
  541. package/dist/cjs/serializer/comment/agent-serializer.js +0 -70
  542. package/dist/cjs/serializer/comment/comment-rule-serializer.js +0 -107
  543. package/dist/cjs/serializer/comment/config-comment-serializer.js +0 -84
  544. package/dist/cjs/serializer/comment/hint-comment-serializer.js +0 -64
  545. package/dist/cjs/serializer/comment/hint-serializer.js +0 -56
  546. package/dist/cjs/serializer/comment/metadata-comment-serializer.js +0 -75
  547. package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +0 -73
  548. package/dist/cjs/serializer/comment/simple-comment-serializer.js +0 -54
  549. package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -38
  550. package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -38
  551. package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -49
  552. package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -38
  553. package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +0 -131
  554. package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +0 -50
  555. package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +0 -39
  556. package/dist/cjs/serializer/empty-rule-serializer.js +0 -36
  557. package/dist/cjs/serializer/filterlist-serializer.js +0 -48
  558. package/dist/cjs/serializer/index.js +0 -13
  559. package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +0 -40
  560. package/dist/cjs/serializer/invalid-rule-serializer.js +0 -39
  561. package/dist/cjs/serializer/misc/domain-list-serializer.js +0 -66
  562. package/dist/cjs/serializer/misc/list-item-serializer.js +0 -57
  563. package/dist/cjs/serializer/misc/list-items-serializer.js +0 -28
  564. package/dist/cjs/serializer/misc/logical-expression-serializer.js +0 -138
  565. package/dist/cjs/serializer/misc/modifier-list-serializer.js +0 -57
  566. package/dist/cjs/serializer/misc/modifier-serializer.js +0 -51
  567. package/dist/cjs/serializer/misc/parameter-list-serializer.js +0 -51
  568. package/dist/cjs/serializer/misc/value-serializer.js +0 -52
  569. package/dist/cjs/serializer/network/host-rule-serializer.js +0 -72
  570. package/dist/cjs/serializer/network/hostname-list-serializer.js +0 -49
  571. package/dist/cjs/serializer/network/network-rule-serializer.js +0 -56
  572. package/dist/cjs/serializer/rule-serializer.js +0 -63
  573. package/dist/cjs/utils/adblockers.js +0 -57
  574. package/dist/cjs/utils/binary-schema-version.js +0 -19
  575. package/dist/cjs/utils/byte-buffer.js +0 -93
  576. package/dist/cjs/utils/categorizer.js +0 -46
  577. package/dist/cjs/utils/clone.js +0 -30
  578. package/dist/cjs/utils/constants.js +0 -380
  579. package/dist/cjs/utils/cosmetic-rule-separator.js +0 -129
  580. package/dist/cjs/utils/deep-freeze.js +0 -34
  581. package/dist/cjs/utils/domain.js +0 -60
  582. package/dist/cjs/utils/error.js +0 -51
  583. package/dist/cjs/utils/index.js +0 -69
  584. package/dist/cjs/utils/input-byte-buffer.js +0 -259
  585. package/dist/cjs/utils/is-chromium.js +0 -22
  586. package/dist/cjs/utils/logical-expression.js +0 -94
  587. package/dist/cjs/utils/multi-value-map.js +0 -35
  588. package/dist/cjs/utils/output-byte-buffer.js +0 -225
  589. package/dist/cjs/utils/position-provider.js +0 -75
  590. package/dist/cjs/utils/quotes.js +0 -218
  591. package/dist/cjs/utils/regexp.js +0 -190
  592. package/dist/cjs/utils/string.js +0 -560
  593. package/dist/cjs/utils/text-decoder-polyfill.js +0 -109
  594. package/dist/cjs/utils/text-encoder-polyfill.js +0 -80
  595. package/dist/cjs/utils/type-guards.js +0 -52
  596. package/dist/cjs/validator/constants.js +0 -222
  597. package/dist/cjs/validator/helpers.js +0 -49
  598. package/dist/cjs/validator/index.js +0 -176
  599. package/dist/cjs/validator/value.js +0 -565
  600. package/dist/cjs/version.js +0 -20
  601. package/dist/esm/common/ubo-selector-common.mjs +0 -18
  602. package/dist/esm/compatibility-tables/platforms.mjs +0 -58
  603. package/dist/esm/compatibility-tables/schemas/resource-type.mjs +0 -37
  604. package/dist/esm/converter/index.mjs +0 -8
  605. package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +0 -22
  606. package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +0 -23
  607. package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +0 -23
  608. package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +0 -25
  609. package/dist/esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs +0 -22
  610. package/dist/esm/marshalling-utils/filter-list-common.mjs +0 -22
  611. package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +0 -23
  612. package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +0 -67
  613. package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +0 -26
  614. package/dist/esm/marshalling-utils/misc/hostname-list-common.mjs +0 -22
  615. package/dist/esm/marshalling-utils/misc/list-item-common.mjs +0 -23
  616. package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +0 -86
  617. package/dist/esm/marshalling-utils/misc/modifier-list-common.mjs +0 -22
  618. package/dist/esm/marshalling-utils/misc/parameter-list-common.mjs +0 -22
  619. package/dist/esm/marshalling-utils/misc/value-common.mjs +0 -23
  620. package/dist/esm/marshalling-utils/network/network-rule-common.mjs +0 -26
  621. package/dist/esm/parser/index.mjs +0 -11
  622. package/dist/esm/serializer/index.mjs +0 -7
  623. package/dist/esm/utils/index.mjs +0 -21
@@ -1,13 +1,11 @@
1
1
  import { type AdblockSyntax } from '../utils/adblockers';
2
2
  import { type COMMA_DOMAIN_LIST_SEPARATOR, type PIPE_MODIFIER_SEPARATOR } from '../utils/constants';
3
- /**
4
- * Possible operators in the logical expression.
5
- */
6
- export declare const enum OperatorValue {
7
- Not = "!",
8
- And = "&&",
9
- Or = "||"
10
- }
3
+ export declare const OperatorValue: {
4
+ readonly Not: "!";
5
+ readonly And: "&&";
6
+ readonly Or: "||";
7
+ };
8
+ export type OperatorValue = typeof OperatorValue[keyof typeof OperatorValue];
11
9
  /**
12
10
  * Represents possible new line types.
13
11
  */
@@ -39,147 +37,154 @@ export type AnyNetworkRule = NetworkRule | HostRule;
39
37
  * - If the rule is `! This is just a comment`, then the marker will be `!`.
40
38
  * - If the rule is `# This is just a comment`, then the marker will be `#`.
41
39
  */
42
- export declare const enum CommentMarker {
40
+ export declare const CommentMarker: {
43
41
  /**
44
42
  * Regular comment marker. It is supported by all ad blockers.
45
43
  */
46
- Regular = "!",
44
+ readonly Regular: "!";
47
45
  /**
48
46
  * Hashmark comment marker. It is supported by uBlock Origin and AdGuard,
49
47
  * and also used in hosts files.
50
48
  */
51
- Hashmark = "#"
52
- }
49
+ readonly Hashmark: "#";
50
+ };
51
+ export type CommentMarker = typeof CommentMarker[keyof typeof CommentMarker];
53
52
  /**
54
53
  * Represents the main categories that an adblock rule can belong to.
55
54
  * Of course, these include additional subcategories.
56
55
  */
57
- export declare enum RuleCategory {
56
+ export declare const RuleCategory: {
58
57
  /**
59
58
  * Empty "rules" that are only containing whitespaces. These rules are handled just for convenience.
60
59
  */
61
- Empty = "Empty",
60
+ readonly Empty: "Empty";
62
61
  /**
63
62
  * Syntactically invalid rules (tolerant mode only).
64
63
  */
65
- Invalid = "Invalid",
64
+ readonly Invalid: "Invalid";
66
65
  /**
67
66
  * Comment rules, such as comment rules, metadata rules, preprocessor rules, etc.
68
67
  */
69
- Comment = "Comment",
68
+ readonly Comment: "Comment";
70
69
  /**
71
70
  * Cosmetic rules, such as element hiding rules, CSS rules, scriptlet rules, HTML rules, and JS rules.
72
71
  */
73
- Cosmetic = "Cosmetic",
72
+ readonly Cosmetic: "Cosmetic";
74
73
  /**
75
74
  * Network rules, such as basic network rules, header remover network rules, redirect network rules,
76
75
  * response header filtering rules, etc.
77
76
  */
78
- Network = "Network"
79
- }
77
+ readonly Network: "Network";
78
+ };
79
+ export type RuleCategory = typeof RuleCategory[keyof typeof RuleCategory];
80
80
  /**
81
81
  * Represents similar types of modifiers values
82
82
  * which may be separated by a comma `,` (only for DomainList) or a pipe `|`.
83
83
  */
84
- export declare const enum ListNodeType {
85
- Unknown = "Unknown",
86
- AppList = "AppList",
87
- DomainList = "DomainList",
88
- MethodList = "MethodList",
89
- StealthOptionList = "StealthOptionList"
90
- }
84
+ export declare const ListNodeType: {
85
+ readonly Unknown: "Unknown";
86
+ readonly AppList: "AppList";
87
+ readonly DomainList: "DomainList";
88
+ readonly MethodList: "MethodList";
89
+ readonly StealthOptionList: "StealthOptionList";
90
+ };
91
+ export type ListNodeType = typeof ListNodeType[keyof typeof ListNodeType];
91
92
  /**
92
93
  * Represents child items for {@link ListNodeType}.
93
94
  */
94
- export declare enum ListItemNodeType {
95
- Unknown = "Unknown",
96
- App = "App",
97
- Domain = "Domain",
98
- Method = "Method",
99
- StealthOption = "StealthOption"
100
- }
95
+ export declare const ListItemNodeType: {
96
+ readonly Unknown: "Unknown";
97
+ readonly App: "App";
98
+ readonly Domain: "Domain";
99
+ readonly Method: "Method";
100
+ readonly StealthOption: "StealthOption";
101
+ };
102
+ export type ListItemNodeType = typeof ListItemNodeType[keyof typeof ListItemNodeType];
101
103
  /**
102
104
  * Represents possible comment types.
103
105
  */
104
- export declare enum CommentRuleType {
105
- AgentCommentRule = "AgentCommentRule",
106
- CommentRule = "CommentRule",
107
- ConfigCommentRule = "ConfigCommentRule",
108
- HintCommentRule = "HintCommentRule",
109
- MetadataCommentRule = "MetadataCommentRule",
110
- PreProcessorCommentRule = "PreProcessorCommentRule"
111
- }
106
+ export declare const CommentRuleType: {
107
+ readonly AgentCommentRule: "AgentCommentRule";
108
+ readonly CommentRule: "CommentRule";
109
+ readonly ConfigCommentRule: "ConfigCommentRule";
110
+ readonly HintCommentRule: "HintCommentRule";
111
+ readonly MetadataCommentRule: "MetadataCommentRule";
112
+ readonly PreProcessorCommentRule: "PreProcessorCommentRule";
113
+ };
114
+ export type CommentRuleType = typeof CommentRuleType[keyof typeof CommentRuleType];
112
115
  /**
113
116
  * Represents possible cosmetic rule types.
114
117
  */
115
- export declare enum CosmeticRuleType {
116
- ElementHidingRule = "ElementHidingRule",
117
- CssInjectionRule = "CssInjectionRule",
118
- ScriptletInjectionRule = "ScriptletInjectionRule",
119
- HtmlFilteringRule = "HtmlFilteringRule",
120
- JsInjectionRule = "JsInjectionRule"
121
- }
118
+ export declare const CosmeticRuleType: {
119
+ readonly ElementHidingRule: "ElementHidingRule";
120
+ readonly CssInjectionRule: "CssInjectionRule";
121
+ readonly ScriptletInjectionRule: "ScriptletInjectionRule";
122
+ readonly HtmlFilteringRule: "HtmlFilteringRule";
123
+ readonly JsInjectionRule: "JsInjectionRule";
124
+ };
125
+ export type CosmeticRuleType = typeof CosmeticRuleType[keyof typeof CosmeticRuleType];
122
126
  /**
123
127
  * Represents possible cosmetic rule separators.
124
128
  */
125
- export declare const enum CosmeticRuleSeparator {
129
+ export declare const CosmeticRuleSeparator: {
126
130
  /**
127
131
  * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
128
132
  */
129
- ElementHiding = "##",
133
+ readonly ElementHiding: "##";
130
134
  /**
131
135
  * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
132
136
  */
133
- ElementHidingException = "#@#",
137
+ readonly ElementHidingException: "#@#";
134
138
  /**
135
139
  * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
136
140
  */
137
- ExtendedElementHiding = "#?#",
141
+ readonly ExtendedElementHiding: "#?#";
138
142
  /**
139
143
  * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
140
144
  */
141
- ExtendedElementHidingException = "#@?#",
145
+ readonly ExtendedElementHidingException: "#@?#";
142
146
  /**
143
147
  * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
144
148
  */
145
- AbpSnippet = "#$#",
149
+ readonly AbpSnippet: "#$#";
146
150
  /**
147
151
  * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_basic}
148
152
  */
149
- AbpSnippetException = "#@$#",
153
+ readonly AbpSnippetException: "#@$#";
150
154
  /**
151
155
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
152
156
  */
153
- AdgCssInjection = "#$#",
157
+ readonly AdgCssInjection: "#$#";
154
158
  /**
155
159
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
156
160
  */
157
- AdgCssInjectionException = "#@$#",
161
+ readonly AdgCssInjectionException: "#@$#";
158
162
  /**
159
163
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
160
164
  */
161
- AdgExtendedCssInjection = "#$?#",
165
+ readonly AdgExtendedCssInjection: "#$?#";
162
166
  /**
163
167
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules}
164
168
  */
165
- AdgExtendedCssInjectionException = "#@$?#",
169
+ readonly AdgExtendedCssInjectionException: "#@$?#";
166
170
  /**
167
171
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
168
172
  */
169
- AdgJsInjection = "#%#",
173
+ readonly AdgJsInjection: "#%#";
170
174
  /**
171
175
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
172
176
  */
173
- AdgJsInjectionException = "#@%#",
177
+ readonly AdgJsInjectionException: "#@%#";
174
178
  /**
175
179
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules}
176
180
  */
177
- AdgHtmlFiltering = "$$",
181
+ readonly AdgHtmlFiltering: "$$";
178
182
  /**
179
183
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules}
180
184
  */
181
- AdgHtmlFilteringException = "$@$"
182
- }
185
+ readonly AdgHtmlFilteringException: "$@$";
186
+ };
187
+ export type CosmeticRuleSeparator = typeof CosmeticRuleSeparator[keyof typeof CosmeticRuleSeparator];
183
188
  /**
184
189
  * Represents a basic node in the AST.
185
190
  */
@@ -347,7 +352,7 @@ export interface InvalidRule extends RuleBase {
347
352
  /**
348
353
  * Category of the adblock rule
349
354
  */
350
- category: RuleCategory.Invalid;
355
+ category: typeof RuleCategory.Invalid;
351
356
  /**
352
357
  * Raw rule text
353
358
  */
@@ -368,13 +373,13 @@ export interface EmptyRule extends RuleBase {
368
373
  /**
369
374
  * Category of the adblock rule
370
375
  */
371
- category: RuleCategory.Empty;
376
+ category: typeof RuleCategory.Empty;
372
377
  }
373
378
  /**
374
379
  * Represents the basic comment rule interface.
375
380
  */
376
381
  export interface CommentBase extends RuleBase {
377
- category: RuleCategory.Comment;
382
+ category: typeof RuleCategory.Comment;
378
383
  type: CommentRuleType;
379
384
  }
380
385
  /**
@@ -390,7 +395,7 @@ export interface CommentBase extends RuleBase {
390
395
  * ```
391
396
  */
392
397
  export interface CommentRule extends CommentBase {
393
- type: CommentRuleType.CommentRule;
398
+ type: typeof CommentRuleType.CommentRule;
394
399
  /**
395
400
  * Comment marker.
396
401
  *
@@ -419,7 +424,7 @@ export interface CommentRule extends CommentBase {
419
424
  * the name of the header is `Title`, and the value is `My List`.
420
425
  */
421
426
  export interface MetadataCommentRule extends CommentBase {
422
- type: CommentRuleType.MetadataCommentRule;
427
+ type: typeof CommentRuleType.MetadataCommentRule;
423
428
  /**
424
429
  * Comment marker.
425
430
  */
@@ -459,8 +464,8 @@ export interface ConfigNode extends Node {
459
464
  * then the command is `aglint-disable` and its params is `["some-rule", "another-rule"]`.
460
465
  */
461
466
  export interface ConfigCommentRule extends CommentBase {
462
- category: RuleCategory.Comment;
463
- type: CommentRuleType.ConfigCommentRule;
467
+ category: typeof RuleCategory.Comment;
468
+ type: typeof CommentRuleType.ConfigCommentRule;
464
469
  /**
465
470
  * The marker for the comment. It can be `!` or `#`. It is always the first non-whitespace character in the comment.
466
471
  */
@@ -508,8 +513,8 @@ export interface ConfigCommentRule extends CommentBase {
508
513
  * the general syntax.
509
514
  */
510
515
  export interface PreProcessorCommentRule extends CommentBase {
511
- category: RuleCategory.Comment;
512
- type: CommentRuleType.PreProcessorCommentRule;
516
+ category: typeof RuleCategory.Comment;
517
+ type: typeof CommentRuleType.PreProcessorCommentRule;
513
518
  /**
514
519
  * Name of the directive
515
520
  */
@@ -549,8 +554,8 @@ export interface Agent extends Node {
549
554
  * ```
550
555
  */
551
556
  export interface AgentCommentRule extends RuleBase {
552
- category: RuleCategory.Comment;
553
- type: CommentRuleType.AgentCommentRule;
557
+ category: typeof RuleCategory.Comment;
558
+ type: typeof CommentRuleType.AgentCommentRule;
554
559
  /**
555
560
  * Agent list.
556
561
  */
@@ -595,8 +600,8 @@ export interface Hint extends Node {
595
600
  * then there are two hint members: `NOT_OPTIMIZED` and `PLATFORM`.
596
601
  */
597
602
  export interface HintCommentRule extends RuleBase {
598
- category: RuleCategory.Comment;
599
- type: CommentRuleType.HintCommentRule;
603
+ category: typeof RuleCategory.Comment;
604
+ type: typeof CommentRuleType.HintCommentRule;
600
605
  /**
601
606
  * Currently only AdGuard supports hints.
602
607
  */
@@ -690,19 +695,19 @@ export interface ListItem<T extends ListItemNodeType> extends Node {
690
695
  /**
691
696
  * Represents an element of the app list — $app.
692
697
  */
693
- export type App = ListItem<ListItemNodeType.App>;
698
+ export type App = ListItem<typeof ListItemNodeType.App>;
694
699
  /**
695
700
  * Represents an element of the domain list — $domain, $denyallow.
696
701
  */
697
- export type Domain = ListItem<ListItemNodeType.Domain>;
702
+ export type Domain = ListItem<typeof ListItemNodeType.Domain>;
698
703
  /**
699
704
  * Represents an element of the method list — $method.
700
705
  */
701
- export type Method = ListItem<ListItemNodeType.Method>;
706
+ export type Method = ListItem<typeof ListItemNodeType.Method>;
702
707
  /**
703
708
  * Represents an element of the stealth option list — $stealth.
704
709
  */
705
- export type StealthOption = ListItem<ListItemNodeType.StealthOption>;
710
+ export type StealthOption = ListItem<typeof ListItemNodeType.StealthOption>;
706
711
  /**
707
712
  * Represents any list item.
708
713
  */
@@ -718,7 +723,7 @@ export interface DomainList extends Node {
718
723
  /**
719
724
  * Type of the node. Basically, the idea is that each main AST part should have a type
720
725
  */
721
- type: ListNodeType.DomainList;
726
+ type: typeof ListNodeType.DomainList;
722
727
  /**
723
728
  * Separator used in the domain list.
724
729
  */
@@ -739,7 +744,7 @@ export interface AppList extends Node {
739
744
  /**
740
745
  * Type of the node. Basically, the idea is that each main AST part should have a type
741
746
  */
742
- type: ListNodeType.AppList;
747
+ type: typeof ListNodeType.AppList;
743
748
  /**
744
749
  * Separator used in the app list.
745
750
  */
@@ -760,7 +765,7 @@ export interface MethodList extends Node {
760
765
  /**
761
766
  * Type of the node. Basically, the idea is that each main AST part should have a type
762
767
  */
763
- type: ListNodeType.MethodList;
768
+ type: typeof ListNodeType.MethodList;
764
769
  /**
765
770
  * Separator used in the method list.
766
771
  */
@@ -781,7 +786,7 @@ export interface StealthOptionList extends Node {
781
786
  /**
782
787
  * Type of the node. Basically, the idea is that each main AST part should have a type
783
788
  */
784
- type: ListNodeType.StealthOptionList;
789
+ type: typeof ListNodeType.StealthOptionList;
785
790
  /**
786
791
  * Separator used in the stealth option list.
787
792
  */
@@ -872,7 +877,7 @@ export interface HtmlFilteringRuleBody extends Node {
872
877
  * all other properties can be defined at this level.
873
878
  */
874
879
  export interface CosmeticRule extends RuleBase {
875
- category: RuleCategory.Cosmetic;
880
+ category: typeof RuleCategory.Cosmetic;
876
881
  type: CosmeticRuleType;
877
882
  /**
878
883
  * List of modifiers (optional)
@@ -921,7 +926,7 @@ export interface CosmeticRule extends RuleBase {
921
926
  * ```
922
927
  */
923
928
  export interface ElementHidingRule extends CosmeticRule {
924
- type: CosmeticRuleType.ElementHidingRule;
929
+ type: typeof CosmeticRuleType.ElementHidingRule;
925
930
  body: ElementHidingRuleBody;
926
931
  }
927
932
  /**
@@ -950,7 +955,7 @@ export interface ElementHidingRule extends CosmeticRule {
950
955
  * ```
951
956
  */
952
957
  export interface CssInjectionRule extends CosmeticRule {
953
- type: CosmeticRuleType.CssInjectionRule;
958
+ type: typeof CosmeticRuleType.CssInjectionRule;
954
959
  body: CssInjectionRuleBody;
955
960
  }
956
961
  /**
@@ -984,7 +989,7 @@ export interface CssInjectionRule extends CosmeticRule {
984
989
  * ```
985
990
  */
986
991
  export interface ScriptletInjectionRule extends CosmeticRule {
987
- type: CosmeticRuleType.ScriptletInjectionRule;
992
+ type: typeof CosmeticRuleType.ScriptletInjectionRule;
988
993
  body: ScriptletInjectionRuleBody;
989
994
  }
990
995
  /**
@@ -1007,7 +1012,7 @@ export interface ScriptletInjectionRule extends CosmeticRule {
1007
1012
  * ```
1008
1013
  */
1009
1014
  export interface HtmlFilteringRule extends CosmeticRule {
1010
- type: CosmeticRuleType.HtmlFilteringRule;
1015
+ type: typeof CosmeticRuleType.HtmlFilteringRule;
1011
1016
  body: Value;
1012
1017
  }
1013
1018
  /**
@@ -1022,16 +1027,17 @@ export interface HtmlFilteringRule extends CosmeticRule {
1022
1027
  * ```
1023
1028
  */
1024
1029
  export interface JsInjectionRule extends CosmeticRule {
1025
- type: CosmeticRuleType.JsInjectionRule;
1030
+ type: typeof CosmeticRuleType.JsInjectionRule;
1026
1031
  body: Value;
1027
1032
  }
1028
1033
  /**
1029
1034
  * Represents the different types of network rules.
1030
1035
  */
1031
- export declare enum NetworkRuleType {
1032
- NetworkRule = "NetworkRule",
1033
- HostRule = "HostRule"
1034
- }
1036
+ export declare const NetworkRuleType: {
1037
+ readonly NetworkRule: "NetworkRule";
1038
+ readonly HostRule: "HostRule";
1039
+ };
1040
+ export type NetworkRuleType = typeof NetworkRuleType[keyof typeof NetworkRuleType];
1035
1041
  /**
1036
1042
  * Represents the common properties of network rules
1037
1043
  */
@@ -1039,7 +1045,7 @@ export interface NetworkRuleBase extends RuleBase {
1039
1045
  /**
1040
1046
  * Category of the adblock rule.
1041
1047
  */
1042
- category: RuleCategory.Network;
1048
+ category: typeof RuleCategory.Network;
1043
1049
  /**
1044
1050
  * Type of the network rule.
1045
1051
  */
@@ -1057,7 +1063,7 @@ export interface NetworkRule extends NetworkRuleBase {
1057
1063
  /**
1058
1064
  * Type of the node.
1059
1065
  */
1060
- type: NetworkRuleType.NetworkRule;
1066
+ type: typeof NetworkRuleType.NetworkRule;
1061
1067
  /**
1062
1068
  * If the rule is an exception rule. If the rule begins with `@@`, it means that it is an exception rule.
1063
1069
  *
@@ -1125,7 +1131,7 @@ export interface HostRule extends NetworkRuleBase {
1125
1131
  /**
1126
1132
  * Type of the node.
1127
1133
  */
1128
- type: NetworkRuleType.HostRule;
1134
+ type: typeof NetworkRuleType.HostRule;
1129
1135
  /**
1130
1136
  * IP address. It can be an IPv4 or IPv6 address.
1131
1137
  *
@@ -13,9 +13,16 @@ import { BaseParser } from '../base-parser';
13
13
  * `AgentCommentParser`, which uses this class to parse single agents.
14
14
  */
15
15
  export declare class AgentParser extends BaseParser {
16
+ /**
17
+ * Regex to match a version inside a string.
18
+ */
19
+ private static readonly VERSION_REGEX;
16
20
  /**
17
21
  * Checks if the string is a valid version.
18
22
  *
23
+ * The string can have a version in formats like
24
+ * [Adblock Plus 2.0], or [Adblock Plus 3.1; AdGuard].
25
+ *
19
26
  * @param str String to check
20
27
  * @returns `true` if the string is a valid version, `false` otherwise
21
28
  */
@@ -2,6 +2,24 @@
2
2
  * @file Tokenizer helpers for balanced pairs.
3
3
  */
4
4
  import { type OnErrorCallback, type OnTokenCallback, type TokenizerContextFunction } from '@adguard/css-tokenizer';
5
+ /**
6
+ * Utility type to get the last element from a tuple, handling optional last elements correctly.
7
+ *
8
+ * @param T - The tuple to extract the last element from.
9
+ * @returns The last element of the tuple if present; `L | undefined` if the last element is optional.
10
+ */
11
+ type Last<T extends unknown[]> = T extends [...infer _I, infer L] ? L : T extends [...infer _I, (infer L)?] ? L | undefined : never;
12
+ /**
13
+ * Utility type to remove the last element from a tuple, handling optional last elements correctly.
14
+ *
15
+ * @param T - The tuple to remove the last element from.
16
+ * @returns A tuple without the last element. If the last element is optional, it is also removed.
17
+ */
18
+ type OmitLast<T extends unknown[]> = T extends [...infer Rest, infer _Last] ? Rest : T extends [...infer Rest, (infer _Last)?] ? Rest : never;
19
+ /**
20
+ * Extracts the parameters of `OnTokenCallback` as a tuple.
21
+ */
22
+ type OnTokenCallbackParameters = Parameters<OnTokenCallback>;
5
23
  /**
6
24
  * Extended version of `OnTokenCallback` which also receives a `balance` parameter.
7
25
  *
@@ -10,10 +28,11 @@ import { type OnErrorCallback, type OnTokenCallback, type TokenizerContextFuncti
10
28
  * @param end End index in the source string.
11
29
  * @param props Additional properties of the token (if any - can be `undefined`, depending on the token type).
12
30
  * @param balance Calculated balance level of the token.
31
+ * @param stop Function to halt tokenization.
13
32
  * @note This function is keeping the same signature as the original `OnTokenCallback` to avoid breaking changes,
14
33
  * just adding the `balance` parameter at the end.
15
34
  */
16
- export type OnBalancedTokenCallback = (...args: [...Parameters<OnTokenCallback>, ...[balance: number]]) => ReturnType<OnTokenCallback>;
35
+ export type OnBalancedTokenCallback = (...args: [...OmitLast<OnTokenCallbackParameters>, balance: number, Last<OnTokenCallbackParameters>]) => ReturnType<OnTokenCallback>;
17
36
  /**
18
37
  * Tokenize and ensure balanced pairs for standard CSS.
19
38
  *
@@ -34,3 +53,4 @@ export declare const tokenizeBalanced: (raw: string, onToken: OnBalancedTokenCal
34
53
  * @throws If the input is not balanced
35
54
  */
36
55
  export declare const tokenizeFnBalanced: (raw: string, onToken: OnBalancedTokenCallback, onError?: OnErrorCallback, functionHandlers?: Map<number, TokenizerContextFunction>) => void;
56
+ export {};
@@ -3,3 +3,4 @@ export { defaultParserOptions, type ParserOptions } from './options';
3
3
  export { CosmeticRuleParser } from './cosmetic/cosmetic-rule-parser';
4
4
  export { DomainListParser } from './misc/domain-list-parser';
5
5
  export { NetworkRuleParser } from './network/network-rule-parser';
6
+ export { FilterListParser } from './filterlist-parser';
@@ -10,6 +10,9 @@ export declare const LIST_PARSE_ERROR_PREFIX: {
10
10
  NO_SEPARATOR_AT_THE_END: string;
11
11
  NO_WHITESPACE_AFTER_NEGATION: string;
12
12
  };
13
+ /**
14
+ * Parser for list items in modifiers.
15
+ */
13
16
  export declare class ListItemsParser {
14
17
  /**
15
18
  * Parses a `raw` modifier value which may be represented as a list of items separated by `separator`.
@@ -3,11 +3,12 @@ import { BaseParser } from '../base-parser';
3
3
  /**
4
4
  * Possible node types in the logical expression.
5
5
  */
6
- export declare const enum NodeType {
7
- Variable = "Variable",
8
- Operator = "Operator",
9
- Parenthesis = "Parenthesis"
10
- }
6
+ export declare const NodeType: {
7
+ readonly Variable: "Variable";
8
+ readonly Operator: "Operator";
9
+ readonly Parenthesis: "Parenthesis";
10
+ };
11
+ export type NodeType = typeof NodeType[keyof typeof NodeType];
11
12
  /**
12
13
  * `LogicalExpressionParser` is responsible for parsing logical expressions.
13
14
  *
@@ -1,5 +1,8 @@
1
1
  import { type ParameterList } from '../../nodes';
2
2
  import { BaseParser } from '../base-parser';
3
+ /**
4
+ * Parser for parameter lists.
5
+ */
3
6
  export declare class ParameterListParser extends BaseParser {
4
7
  /**
5
8
  * Parses a raw parameter list.
@@ -1,5 +1,8 @@
1
1
  import { ParameterListParser } from './parameter-list-parser';
2
2
  import { type ParameterList } from '../../nodes';
3
+ /**
4
+ * Parser for uBO-specific parameter lists.
5
+ */
3
6
  export declare class UboParameterListParser extends ParameterListParser {
4
7
  /**
5
8
  * Parses an "uBO-specific parameter list".
@@ -2,7 +2,7 @@ import { BaseParser } from '../base-parser';
2
2
  import { type Value } from '../../nodes';
3
3
  /**
4
4
  * Value parser.
5
- * This parser is very simple, it just exists to provide a consistent interface for parsing and generating values.
5
+ * This parser is very simple, it just exists to provide a consistent interface for parsing.
6
6
  */
7
7
  export declare class ValueParser extends BaseParser {
8
8
  /**
@@ -2,16 +2,7 @@ import { type Agent } from '../../nodes';
2
2
  import { type OutputByteBuffer } from '../../utils/output-byte-buffer';
3
3
  import { BaseSerializer } from '../base-serializer';
4
4
  /**
5
- * `AgentParser` is responsible for parsing single adblock agent elements.
6
- *
7
- * @example
8
- * If the adblock agent rule is
9
- * ```adblock
10
- * [Adblock Plus 2.0; AdGuard]
11
- * ```
12
- * then the adblock agents are `Adblock Plus 2.0` and `AdGuard`, and this
13
- * class is responsible for parsing them. The rule itself is parsed by
14
- * `AgentCommentSerializer`, which uses this class to parse single agents.
5
+ * `AgentSerializer` is responsible for serializing single adblock agent elements into a binary format.
15
6
  */
16
7
  export declare class AgentSerializer extends BaseSerializer {
17
8
  /**
@@ -2,7 +2,7 @@ import { type ConfigCommentRule } from '../../nodes';
2
2
  import { type OutputByteBuffer } from '../../utils/output-byte-buffer';
3
3
  import { BaseSerializer } from '../base-serializer';
4
4
  /**
5
- * `ConfigCommentParser` is responsible for parsing inline AGLint configuration rules.
5
+ * `ConfigCommentSerializer` is responsible for serializing inline AGLint configuration rules into a binary format.
6
6
  * Generally, the idea is inspired by ESLint inline configuration comments.
7
7
  *
8
8
  * @see {@link https://eslint.org/docs/latest/user-guide/configuring/rules#using-configuration-comments}
@@ -2,9 +2,9 @@ import { type OutputByteBuffer } from '../../utils/output-byte-buffer';
2
2
  import { type CommentRule } from '../../nodes';
3
3
  import { BaseSerializer } from '../base-serializer';
4
4
  /**
5
- * `SimpleCommentSerializer` is responsible for parsing simple comments.
5
+ * `SimpleCommentSerializer` is responsible for serializing simple comments.
6
6
  * Some comments have a special meaning in adblock syntax, like agent comments or hints,
7
- * but this parser is only responsible for parsing regular comments,
7
+ * but this serializer is only responsible for serializing regular comments,
8
8
  * whose only purpose is to provide some human-readable information.
9
9
  *
10
10
  * @example
@@ -2,15 +2,15 @@ import { type ScriptletInjectionRuleBody } from '../../../nodes';
2
2
  import { type OutputByteBuffer } from '../../../utils/output-byte-buffer';
3
3
  import { BaseSerializer } from '../../base-serializer';
4
4
  /**
5
- * `AbpSnippetInjectionBodyParser` is responsible for parsing the body of an Adblock Plus-style snippet rule.
5
+ * `AbpSnippetInjectionBodySerializer` is responsible for serializing the body of an Adblock Plus-style snippet rule.
6
6
  *
7
- * Please note that the parser will parse any scriptlet rule if it is syntactically correct.
8
- * For example, it will parse this:
7
+ * Please note that the serializer will serialize any scriptlet rule if it is syntactically correct.
8
+ * For example, it will serialize this:
9
9
  * ```adblock
10
10
  * example.com#$#snippet0 arg0
11
11
  * ```
12
12
  *
13
- * but it didn't check if the scriptlet `snippet0` actually supported by any adblocker.
13
+ * but it doesn't check if the scriptlet `snippet0` is actually supported by any adblocker.
14
14
  *
15
15
  * @see {@link https://help.eyeo.com/adblockplus/snippet-filters-tutorial}
16
16
  */