@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,72 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var constants = require('../../utils/constants.js');
10
- var valueSerializer = require('../misc/value-serializer.js');
11
- var typeGuards = require('../../utils/type-guards.js');
12
- var hostnameListSerializer = require('./hostname-list-serializer.js');
13
- var baseSerializer = require('../base-serializer.js');
14
- var hostRuleCommon = require('../../marshalling-utils/misc/host-rule-common.js');
15
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
16
- var syntaxSerializationMap = require('../../marshalling-utils/syntax-serialization-map.js');
17
-
18
- /**
19
- * `HostRuleSerializer` is responsible for serializing hosts-like rules.
20
- *
21
- * HostRule is a structure for simple host-level rules (i.e. /etc/hosts syntax).
22
- * It also supports "just domain" syntax. In this case, the IP will be set to 0.0.0.0.
23
- *
24
- * Rules syntax looks like this:
25
- * ```text
26
- * IP_address canonical_hostname [aliases...]
27
- * ```
28
- *
29
- * @example
30
- * `192.168.1.13 bar.mydomain.org bar` -- ipv4
31
- * `ff02::1 ip6-allnodes` -- ipv6
32
- * `::1 localhost ip6-localhost ip6-loopback` -- ipv6 aliases
33
- * `example.org` -- "just domain" syntax
34
- * @see {@link http://man7.org/linux/man-pages/man5/hosts.5.html}
35
- */
36
- class HostRuleSerializer extends baseSerializer.BaseSerializer {
37
- /**
38
- * Serializes a host rule node to binary format.
39
- *
40
- * @param node Node to serialize.
41
- * @param buffer ByteBuffer for writing binary data.
42
- */
43
- // TODO: add support for raws, if ever needed
44
- static serialize(node, buffer) {
45
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.HostRuleNode);
46
- buffer.writeUint8(hostRuleCommon.HostRuleMarshallingMap.Syntax);
47
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
48
- if (node.ip) {
49
- buffer.writeUint8(hostRuleCommon.HostRuleMarshallingMap.Ip);
50
- valueSerializer.ValueSerializer.serialize(node.ip, buffer);
51
- }
52
- if (node.hostnames) {
53
- buffer.writeUint8(hostRuleCommon.HostRuleMarshallingMap.HostnameList);
54
- hostnameListSerializer.HostnameListSerializer.serialize(node.hostnames, buffer);
55
- }
56
- if (node.comment) {
57
- buffer.writeUint8(hostRuleCommon.HostRuleMarshallingMap.Comment);
58
- valueSerializer.ValueSerializer.serialize(node.comment, buffer);
59
- }
60
- if (!typeGuards.isUndefined(node.start)) {
61
- buffer.writeUint8(hostRuleCommon.HostRuleMarshallingMap.Start);
62
- buffer.writeUint32(node.start);
63
- }
64
- if (!typeGuards.isUndefined(node.end)) {
65
- buffer.writeUint8(hostRuleCommon.HostRuleMarshallingMap.End);
66
- buffer.writeUint32(node.end);
67
- }
68
- buffer.writeUint8(constants.NULL);
69
- }
70
- }
71
-
72
- exports.HostRuleSerializer = HostRuleSerializer;
@@ -1,49 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var baseSerializer = require('../base-serializer.js');
10
- var typeGuards = require('../../utils/type-guards.js');
11
- var constants = require('../../utils/constants.js');
12
- var valueSerializer = require('../misc/value-serializer.js');
13
- var hostnameListCommon = require('../../marshalling-utils/misc/hostname-list-common.js');
14
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
15
-
16
- class HostnameListSerializer extends baseSerializer.BaseSerializer {
17
- /**
18
- * Serializes a hostname list node to binary format.
19
- *
20
- * @param node Node to serialize.
21
- * @param buffer ByteBuffer for writing binary data.
22
- */
23
- static serialize(node, buffer) {
24
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.HostnameListNode);
25
- if (!typeGuards.isUndefined(node.start)) {
26
- buffer.writeUint8(hostnameListCommon.HostnameListNodeMarshallingMap.Start);
27
- buffer.writeUint32(node.start);
28
- }
29
- if (!typeGuards.isUndefined(node.end)) {
30
- buffer.writeUint8(hostnameListCommon.HostnameListNodeMarshallingMap.End);
31
- buffer.writeUint32(node.end);
32
- }
33
- const count = node.children.length;
34
- if (count) {
35
- // note: we store the count, because re-construction of the array is faster if we know the length
36
- if (count > constants.UINT16_MAX) {
37
- throw new Error(`Too many children: ${count}, the limit is ${constants.UINT16_MAX}`);
38
- }
39
- buffer.writeUint8(hostnameListCommon.HostnameListNodeMarshallingMap.Children);
40
- buffer.writeUint16(count);
41
- for (let i = 0; i < count; i += 1) {
42
- valueSerializer.ValueSerializer.serialize(node.children[i], buffer);
43
- }
44
- }
45
- buffer.writeUint8(constants.NULL);
46
- }
47
- }
48
-
49
- exports.HostnameListSerializer = HostnameListSerializer;
@@ -1,56 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var constants = require('../../utils/constants.js');
10
- var typeGuards = require('../../utils/type-guards.js');
11
- var valueSerializer = require('../misc/value-serializer.js');
12
- var baseSerializer = require('../base-serializer.js');
13
- var modifierListSerializer = require('../misc/modifier-list-serializer.js');
14
- var networkRuleCommon = require('../../marshalling-utils/network/network-rule-common.js');
15
- var binaryTypeCommon = require('../../marshalling-utils/misc/binary-type-common.js');
16
- var syntaxSerializationMap = require('../../marshalling-utils/syntax-serialization-map.js');
17
-
18
- /**
19
- * `NetworkRuleSerializer` is responsible for serializing network rules.
20
- *
21
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
22
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#basic}
23
- */
24
- class NetworkRuleSerializer extends baseSerializer.BaseSerializer {
25
- /**
26
- * Serializes a network rule node to binary format.
27
- *
28
- * @param node Node to serialize.
29
- * @param buffer ByteBuffer for writing binary data.
30
- */
31
- // TODO: add support for raws, if ever needed
32
- static serialize(node, buffer) {
33
- buffer.writeUint8(binaryTypeCommon.BinaryTypeMarshallingMap.NetworkRuleNode);
34
- buffer.writeUint8(networkRuleCommon.NetworkRuleMarshallingMap.Syntax);
35
- buffer.writeUint8(syntaxSerializationMap.getSyntaxSerializationMap().get(node.syntax) ?? 0);
36
- buffer.writeUint8(networkRuleCommon.NetworkRuleMarshallingMap.Exception);
37
- buffer.writeUint8(node.exception ? 1 : 0);
38
- buffer.writeUint8(networkRuleCommon.NetworkRuleMarshallingMap.Pattern);
39
- valueSerializer.ValueSerializer.serialize(node.pattern, buffer);
40
- if (!typeGuards.isUndefined(node.modifiers)) {
41
- buffer.writeUint8(networkRuleCommon.NetworkRuleMarshallingMap.ModifierList);
42
- modifierListSerializer.ModifierListSerializer.serialize(node.modifiers, buffer);
43
- }
44
- if (!typeGuards.isUndefined(node.start)) {
45
- buffer.writeUint8(networkRuleCommon.NetworkRuleMarshallingMap.Start);
46
- buffer.writeUint32(node.start);
47
- }
48
- if (!typeGuards.isUndefined(node.end)) {
49
- buffer.writeUint8(networkRuleCommon.NetworkRuleMarshallingMap.End);
50
- buffer.writeUint32(node.end);
51
- }
52
- buffer.writeUint8(constants.NULL);
53
- }
54
- }
55
-
56
- exports.NetworkRuleSerializer = NetworkRuleSerializer;
@@ -1,63 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var index = require('../nodes/index.js');
10
- var baseSerializer = require('./base-serializer.js');
11
- var commentRuleSerializer = require('./comment/comment-rule-serializer.js');
12
- var cosmeticRuleSerializer = require('./cosmetic/cosmetic-rule-serializer.js');
13
- var hostRuleSerializer = require('./network/host-rule-serializer.js');
14
- var networkRuleSerializer = require('./network/network-rule-serializer.js');
15
- var emptyRuleSerializer = require('./empty-rule-serializer.js');
16
- var invalidRuleSerializer = require('./invalid-rule-serializer.js');
17
-
18
- /**
19
- * `RuleSerializer` is responsible for serializing the rules.
20
- *
21
- * It automatically determines the category and syntax of the rule, so you can pass any kind of rule to it.
22
- */
23
- class RuleSerializer extends baseSerializer.BaseSerializer {
24
- /**
25
- * Serializes a rule node to binary format.
26
- *
27
- * @param node Node to serialize.
28
- * @param buffer ByteBuffer for writing binary data.
29
- */
30
- // TODO: add support for raws, if ever needed
31
- static serialize(node, buffer) {
32
- switch (node.category) {
33
- case index.RuleCategory.Comment:
34
- commentRuleSerializer.CommentRuleSerializer.serialize(node, buffer);
35
- break;
36
- case index.RuleCategory.Cosmetic:
37
- cosmeticRuleSerializer.CosmeticRuleSerializer.serialize(node, buffer);
38
- break;
39
- case index.RuleCategory.Network:
40
- switch (node.type) {
41
- case index.NetworkRuleType.HostRule:
42
- hostRuleSerializer.HostRuleSerializer.serialize(node, buffer);
43
- break;
44
- case index.NetworkRuleType.NetworkRule:
45
- networkRuleSerializer.NetworkRuleSerializer.serialize(node, buffer);
46
- break;
47
- default:
48
- throw new Error('Unknown network rule type');
49
- }
50
- break;
51
- case index.RuleCategory.Empty:
52
- emptyRuleSerializer.EmptyRuleSerializer.serialize(node, buffer);
53
- break;
54
- case index.RuleCategory.Invalid:
55
- invalidRuleSerializer.InvalidRuleSerializer.serialize(node, buffer);
56
- break;
57
- default:
58
- throw new Error('Unknown rule category');
59
- }
60
- }
61
- }
62
-
63
- exports.RuleSerializer = RuleSerializer;
@@ -1,57 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- /**
10
- * @file Possible adblock syntaxes are listed here.
11
- */
12
- /**
13
- * Possible adblock syntaxes (supported by this library)
14
- */
15
- exports.AdblockSyntax = void 0;
16
- (function (AdblockSyntax) {
17
- /**
18
- * Common syntax, which is supported by more than one adblocker (or by all adblockers).
19
- *
20
- * We typically use this syntax when we cannot determine the concrete syntax of the rule,
21
- * because the syntax is used by more than one adblocker natively.
22
- *
23
- * @example
24
- * - `||example.org^$important` is a common syntax, since it is used by all adblockers natively, and
25
- * we cannot determine at parsing level whether `important` is a valid option or not, and if it is valid,
26
- * then which adblocker supports it.
27
- */
28
- AdblockSyntax["Common"] = "Common";
29
- /**
30
- * Adblock Plus syntax.
31
- *
32
- * @example
33
- * - `example.org#$#abort-on-property-read alert` is an Adblock Plus syntax, since it is not used by any other
34
- * adblockers directly (probably supported by some on-the-fly conversion, but this is not the native syntax).
35
- * @see {@link https://adblockplus.org/}
36
- */
37
- AdblockSyntax["Abp"] = "AdblockPlus";
38
- /**
39
- * uBlock Origin syntax.
40
- *
41
- * @example
42
- * - `example.com##+js(set, atob, noopFunc)` is an uBlock Origin syntax, since it is not used by any other
43
- * adblockers directly (probably supported by some on-the-fly conversion, but this is not the native syntax).
44
- * @see {@link https://github.com/gorhill/uBlock}
45
- */
46
- AdblockSyntax["Ubo"] = "UblockOrigin";
47
- /**
48
- * AdGuard syntax.
49
- *
50
- * @example
51
- * - `example.org#%#//scriptlet("abort-on-property-read", "alert")` is an AdGuard syntax, since it is not used
52
- * by any other adblockers directly (probably supported by some on-the-fly conversion, but this is not the native
53
- * syntax).
54
- * @see {@link https://adguard.com/}
55
- */
56
- AdblockSyntax["Adg"] = "AdGuard";
57
- })(exports.AdblockSyntax || (exports.AdblockSyntax = {}));
@@ -1,19 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- /**
10
- * @file Binary schema version.
11
- */
12
- /**
13
- * Binary schema version.
14
- * This version number is used to ensure that the binary format is compatible with the current library version.
15
- * We increment this number if the serialized format changes in a way that is not backwards-compatible.
16
- */
17
- const BINARY_SCHEMA_VERSION = 1;
18
-
19
- exports.BINARY_SCHEMA_VERSION = BINARY_SCHEMA_VERSION;
@@ -1,93 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- /* eslint-disable no-bitwise */
10
- /**
11
- * @file Core ByteBuffer implementation for handling binary data in chunks.
12
- */
13
- /**
14
- * Core ByteBuffer implementation for handling binary data in chunks.
15
- * This class allows for efficient byte storage and manipulation by organizing data into chunks
16
- * and providing methods to read and write bytes.
17
- */
18
- class ByteBuffer {
19
- /**
20
- * The size of each chunk in bytes (32 KB).
21
- */
22
- // ! IMPORTANT: If you ever change this value, make sure to update optimized bitwise operations in the code.
23
- static CHUNK_SIZE = 32768; // 32 * 1024
24
- /**
25
- * An array of Uint8Array chunks that make up the buffer.
26
- */
27
- chunks;
28
- /**
29
- * The total number of chunks in the buffer.
30
- */
31
- chunksLength;
32
- /**
33
- * Constructs a new ByteBuffer instance.
34
- *
35
- * @param chunks Optional array of chunks to initialize the ByteBuffer with.
36
- * @param cloneChunks Flag indicating if the chunks should be cloned. For performance reasons,
37
- * its default value is `false`. If the original chunks are guaranteed not to change,
38
- * leave this flag as `false` to avoid unnecessary copying.
39
- */
40
- constructor(chunks, cloneChunks = false) {
41
- const chunksToUse = chunks ?? [];
42
- this.chunks = cloneChunks ? chunksToUse.map((chunk) => new Uint8Array(chunk)) : chunksToUse;
43
- this.chunksLength = chunks?.length ?? 0;
44
- }
45
- /**
46
- * Ensures that the buffer has enough capacity to accommodate a given position.
47
- * This method adjusts the `chunks` array size to ensure it can hold the specified position.
48
- *
49
- * @param position The position to ensure capacity for.
50
- */
51
- ensureCapacity(position) {
52
- // same as Math.floor(position / chunk size), just optimized for the 32 KB chunk size
53
- const requiredChunkIndex = position >>> 0x000F;
54
- for (let i = this.chunksLength; i <= requiredChunkIndex; i += 1) {
55
- this.chunks.push(new Uint8Array(ByteBuffer.CHUNK_SIZE));
56
- this.chunksLength += 1;
57
- }
58
- }
59
- /**
60
- * Writes a byte to the buffer at the specified position.
61
- * If the position is outside of the buffer's current size, the buffer is resized to accommodate it.
62
- *
63
- * @param position The position at which to write the byte.
64
- * @param value The byte value to write (0-255).
65
- */
66
- writeByte(position, value) {
67
- // same as Math.floor(position / chunk size), just optimized for the 32 KB chunk size
68
- const chunkIndex = position >>> 0x000F;
69
- // same as position % chunk size, just optimized for the 32 KB chunk size
70
- const chunkOffset = position & 0x7FFF;
71
- if (chunkIndex >= this.chunksLength) {
72
- this.ensureCapacity(position);
73
- }
74
- this.chunks[chunkIndex][chunkOffset] = value;
75
- }
76
- /**
77
- * Reads a byte from the specified position in the buffer.
78
- * Returns `undefined` if the position is outside of the buffer's current size.
79
- *
80
- * @param position The position from which to read the byte.
81
- * @returns The read byte value, or `undefined` if the position is out of bounds.
82
- */
83
- readByte(position) {
84
- const chunkIndex = position >>> 0x000F;
85
- const chunkOffset = position & 0x7FFF;
86
- if (chunkIndex >= this.chunksLength) {
87
- return undefined;
88
- }
89
- return this.chunks[chunkIndex][chunkOffset];
90
- }
91
- }
92
-
93
- exports.ByteBuffer = ByteBuffer;
@@ -1,46 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var cosmeticRuleParser = require('../parser/cosmetic/cosmetic-rule-parser.js');
10
- var typeGuards = require('./type-guards.js');
11
- var options = require('../parser/options.js');
12
-
13
- /**
14
- * Utility functions for categorizing rules.
15
- */
16
- // TODO: Optimize functions to avoid produce unnecessary data (currently, most of node data is not used).
17
- // TODO: Add support for other rule categories, like network rules (when needed).
18
- class RuleCategorizer {
19
- /**
20
- * Determines the type of a given raw cosmetic rule.
21
- *
22
- * @param rawRule Raw rule to check.
23
- *
24
- * @returns Type of the cosmetic rule or `null` if the rule is cannot be parsed as a cosmetic rule.
25
- */
26
- static getCosmeticRuleType(rawRule) {
27
- try {
28
- const node = cosmeticRuleParser.CosmeticRuleParser.parse(rawRule, {
29
- ...options.defaultParserOptions,
30
- isLocIncluded: false,
31
- includeRaws: false,
32
- });
33
- // If rule cannot be recognized as a cosmetic rule, return null.
34
- if (typeGuards.isNull(node)) {
35
- return null;
36
- }
37
- return node.type;
38
- }
39
- catch {
40
- // Be tolerant to parsing errors and simply return null.
41
- return null;
42
- }
43
- }
44
- }
45
-
46
- exports.RuleCategorizer = RuleCategorizer;
@@ -1,30 +0,0 @@
1
- /*
2
- * AGTree v3.0.0 (build date: Tue, 12 Nov 2024 14:05:06 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var cloneDeep = require('clone-deep');
10
-
11
- /**
12
- * @file Clone related utilities
13
- *
14
- * We should keep clone related functions in this file. Thus, we just provide
15
- * a simple interface for cloning values, we use it across the AGTree project,
16
- * and the implementation "under the hood" can be improved later, if needed.
17
- */
18
- /**
19
- * Clones an input value to avoid side effects. Use it only in justified cases,
20
- * because it can impact performance negatively.
21
- *
22
- * @param value Value to clone
23
- * @returns Cloned value
24
- */
25
- function clone(value) {
26
- // TODO: Replace cloneDeep with a more efficient implementation
27
- return cloneDeep(value);
28
- }
29
-
30
- exports.clone = clone;