@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,69 +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('./constants.js');
10
- var binarySchemaVersion = require('./binary-schema-version.js');
11
- var adblockers = require('./adblockers.js');
12
- var cosmeticRuleSeparator = require('./cosmetic-rule-separator.js');
13
- var domain = require('./domain.js');
14
- var logicalExpression = require('./logical-expression.js');
15
- var regexp = require('./regexp.js');
16
- var quotes = require('./quotes.js');
17
- var positionProvider = require('./position-provider.js');
18
- var outputByteBuffer = require('./output-byte-buffer.js');
19
- var inputByteBuffer = require('./input-byte-buffer.js');
20
- var byteBuffer = require('./byte-buffer.js');
21
- var textEncoderPolyfill = require('./text-encoder-polyfill.js');
22
- var textDecoderPolyfill = require('./text-decoder-polyfill.js');
23
- var categorizer = require('./categorizer.js');
24
-
25
-
26
-
27
- exports.ADG_SCRIPTLET_MASK = constants.ADG_SCRIPTLET_MASK;
28
- exports.AGLINT_COMMAND_PREFIX = constants.AGLINT_COMMAND_PREFIX;
29
- exports.COMMA_DOMAIN_LIST_SEPARATOR = constants.COMMA_DOMAIN_LIST_SEPARATOR;
30
- exports.HINT_MARKER = constants.HINT_MARKER;
31
- exports.IF = constants.IF;
32
- exports.INCLUDE = constants.INCLUDE;
33
- exports.MODIFIERS_SEPARATOR = constants.MODIFIERS_SEPARATOR;
34
- exports.MODIFIER_ASSIGN_OPERATOR = constants.MODIFIER_ASSIGN_OPERATOR;
35
- exports.NEGATION_MARKER = constants.NEGATION_MARKER;
36
- exports.NETWORK_RULE_EXCEPTION_MARKER = constants.NETWORK_RULE_EXCEPTION_MARKER;
37
- exports.NETWORK_RULE_SEPARATOR = constants.NETWORK_RULE_SEPARATOR;
38
- exports.PIPE_MODIFIER_SEPARATOR = constants.PIPE_MODIFIER_SEPARATOR;
39
- exports.PREPROCESSOR_MARKER = constants.PREPROCESSOR_MARKER;
40
- exports.SAFARI_CB_AFFINITY = constants.SAFARI_CB_AFFINITY;
41
- exports.UBO_SCRIPTLET_MASK = constants.UBO_SCRIPTLET_MASK;
42
- exports.BINARY_SCHEMA_VERSION = binarySchemaVersion.BINARY_SCHEMA_VERSION;
43
- Object.defineProperty(exports, "AdblockSyntax", {
44
- enumerable: true,
45
- get: function () { return adblockers.AdblockSyntax; }
46
- });
47
- exports.CosmeticRuleSeparatorUtils = cosmeticRuleSeparator.CosmeticRuleSeparatorUtils;
48
- exports.DomainUtils = domain.DomainUtils;
49
- exports.LogicalExpressionUtils = logicalExpression.LogicalExpressionUtils;
50
- exports.ADBLOCK_URL_SEPARATOR = regexp.ADBLOCK_URL_SEPARATOR;
51
- exports.ADBLOCK_URL_SEPARATOR_REGEX = regexp.ADBLOCK_URL_SEPARATOR_REGEX;
52
- exports.ADBLOCK_URL_START = regexp.ADBLOCK_URL_START;
53
- exports.ADBLOCK_URL_START_REGEX = regexp.ADBLOCK_URL_START_REGEX;
54
- exports.ADBLOCK_WILDCARD = regexp.ADBLOCK_WILDCARD;
55
- exports.ADBLOCK_WILDCARD_REGEX = regexp.ADBLOCK_WILDCARD_REGEX;
56
- exports.RegExpUtils = regexp.RegExpUtils;
57
- exports.SPECIAL_REGEX_SYMBOLS = regexp.SPECIAL_REGEX_SYMBOLS;
58
- Object.defineProperty(exports, "QuoteType", {
59
- enumerable: true,
60
- get: function () { return quotes.QuoteType; }
61
- });
62
- exports.QuoteUtils = quotes.QuoteUtils;
63
- exports.PositionProvider = positionProvider.PositionProvider;
64
- exports.OutputByteBuffer = outputByteBuffer.OutputByteBuffer;
65
- exports.InputByteBuffer = inputByteBuffer.InputByteBuffer;
66
- exports.ByteBuffer = byteBuffer.ByteBuffer;
67
- exports.encodeIntoPolyfill = textEncoderPolyfill.encodeIntoPolyfill;
68
- exports.decodeTextPolyfill = textDecoderPolyfill.decodeTextPolyfill;
69
- exports.RuleCategorizer = categorizer.RuleCategorizer;
@@ -1,259 +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 byteBuffer = require('./byte-buffer.js');
10
- var typeGuards = require('./type-guards.js');
11
- var isChromium = require('./is-chromium.js');
12
- var textDecoderPolyfill = require('./text-decoder-polyfill.js');
13
- var binarySchemaVersion = require('./binary-schema-version.js');
14
- var binarySchemaMismatchError = require('../errors/binary-schema-mismatch-error.js');
15
-
16
- /* eslint-disable max-len */
17
- /* eslint-disable no-plusplus */
18
- /* eslint-disable no-bitwise */
19
- /**
20
- * @file Input byte buffer for reading binary data.
21
- */
22
- /**
23
- * Input byte buffer for reading binary data.
24
- *
25
- * @note Internally, this class uses a {@link ByteBuffer} instance, just providing a convenient API for reading data.
26
- */
27
- class InputByteBuffer extends byteBuffer.ByteBuffer {
28
- /**
29
- * Current offset in the buffer for reading.
30
- */
31
- offset;
32
- /**
33
- * Shared native decoder for decoding strings.
34
- */
35
- sharedNativeDecoder;
36
- /**
37
- * Flag indicating if the current environment is Chromium.
38
- * This is used for performance optimizations, because Chromium's TextEncoder/TextDecoder has a relatively
39
- * large marshalling overhead for small strings.
40
- */
41
- isChromium;
42
- /**
43
- * Constructs a new `InputByteBuffer` instance.
44
- *
45
- * @param chunks Array of chunks to initialize the ByteBuffer with.
46
- * @param cloneChunks Flag indicating if the chunks should be cloned. For performance reasons,
47
- * its default value is `false`. If the original chunks are guaranteed not to change,
48
- * leave this flag as `false` to avoid unnecessary copying.
49
- * @param initialOffset Initial offset in the buffer for reading.
50
- *
51
- * @throws If the specified chunks array is empty.
52
- * @throws If the binary schema version in the buffer is not equal to the expected version.
53
- * @throws If the initial offset is out of bounds.
54
- */
55
- constructor(chunks, cloneChunks = false, initialOffset = 0) {
56
- super(chunks, cloneChunks);
57
- // Check binary schema version
58
- if (chunks.length === 0) {
59
- throw new Error('No data in the buffer');
60
- }
61
- const actualVersion = this.readSchemaVersion();
62
- if (actualVersion !== binarySchemaVersion.BINARY_SCHEMA_VERSION) {
63
- throw new binarySchemaMismatchError.BinarySchemaMismatchError(binarySchemaVersion.BINARY_SCHEMA_VERSION, actualVersion);
64
- }
65
- // Throw an error if the initial offset is out of bounds
66
- if (initialOffset < 0 || initialOffset > this.chunks.length * byteBuffer.ByteBuffer.CHUNK_SIZE) {
67
- throw new Error(`Invalid offset: ${initialOffset}`);
68
- }
69
- // Schema version is always stored at the beginning of the buffer - skip it, because it is already processed
70
- this.offset = Math.max(4, initialOffset);
71
- this.sharedNativeDecoder = new TextDecoder();
72
- this.isChromium = isChromium.isChromium();
73
- }
74
- /**
75
- * Creates a new InputByteBuffer instance from a Storage instance by reading chunks from the storage.
76
- *
77
- * @param storage Storage instance.
78
- * @param key Key to read from the storage.
79
- * @returns New InputByteBuffer instance.
80
- * @note For performance reasons, chunks are passed by reference and not copied.
81
- */
82
- static async createFromStorage(storage, key) {
83
- const chunks = await storage.get(key);
84
- if (!typeGuards.isArrayOfUint8Arrays(chunks)) {
85
- throw new Error('The data from storage is not an array of Uint8Arrays');
86
- }
87
- return new InputByteBuffer(chunks);
88
- }
89
- /**
90
- * Reads a 8-bit unsigned integer from the buffer.
91
- *
92
- * @returns 8-bit unsigned integer from the buffer.
93
- */
94
- readUint8() {
95
- const result = this.readByte(this.offset++) ?? 0;
96
- return result;
97
- }
98
- /**
99
- * Reads a 16-bit unsigned integer from the buffer.
100
- *
101
- * @returns 16-bit unsigned integer from the buffer.
102
- */
103
- readUint16() {
104
- const result = (((this.readByte(this.offset++) ?? 0) << 8)
105
- | ((this.readByte(this.offset++) ?? 0))) >>> 0;
106
- return result;
107
- }
108
- /**
109
- * Reads a 32-bit unsigned integer from the buffer at the specified index.
110
- *
111
- * @param index Index to read the 32-bit unsigned integer from.
112
- *
113
- * @returns 32-bit unsigned integer from the buffer.
114
- */
115
- readUint32FromIndex(index) {
116
- const result = (((this.readByte(index) ?? 0) << 24)
117
- | ((this.readByte(index + 1) ?? 0) << 16)
118
- | ((this.readByte(index + 2) ?? 0) << 8)
119
- | ((this.readByte(index + 3) ?? 0))) >>> 0;
120
- return result;
121
- }
122
- /**
123
- * Reads a 32-bit unsigned integer from the buffer.
124
- *
125
- * @returns 32-bit unsigned integer from the buffer.
126
- */
127
- readUint32() {
128
- const result = this.readUint32FromIndex(this.offset);
129
- this.offset += 4;
130
- return result;
131
- }
132
- /**
133
- * Reads schema version from the buffer.
134
- *
135
- * @returns 32-bit unsigned integer from the buffer.
136
- * @note Schema version is always stored at the beginning of the buffer.
137
- */
138
- readSchemaVersion() {
139
- return this.readUint32FromIndex(0);
140
- }
141
- /**
142
- * Reads a 32-bit signed integer from the buffer.
143
- *
144
- * @returns 32-bit signed integer from the buffer.
145
- */
146
- readInt32() {
147
- const result = this.readUint32();
148
- return result > 0x7fffffff ? result - 0x100000000 : result;
149
- }
150
- /**
151
- * Reads an optimized unsigned integer from the buffer.
152
- * 'Optimized' means that the integer is stored in a variable number of bytes, depending on its value,
153
- * so that smaller numbers occupy less space.
154
- *
155
- * @returns Decoded unsigned integer from the buffer.
156
- */
157
- readOptimizedUint() {
158
- let result = 0;
159
- let shift = 0;
160
- while (shift <= 28) {
161
- const byteValue = this.readByte(this.offset++) ?? 0;
162
- result |= (byteValue & 0x7F) << shift;
163
- shift += 7;
164
- if ((byteValue & 0x80) === 0) {
165
- break;
166
- }
167
- }
168
- return result;
169
- }
170
- /**
171
- * Reads a string from the buffer.
172
- *
173
- * @returns Decoded string from the buffer.
174
- */
175
- readString() {
176
- const length = this.readOptimizedUint();
177
- let chunkIndex = this.offset >>> 0x000F;
178
- const chunkOffset = this.offset & 0x7FFF; // offset is only relevant for the first chunk
179
- const endOffset = chunkOffset + length;
180
- // In most cases, the string is stored in the current chunk
181
- if (endOffset < byteBuffer.ByteBuffer.CHUNK_SIZE) {
182
- this.offset += length;
183
- if (this.isChromium) {
184
- return textDecoderPolyfill.decodeTextPolyfill(this.chunks[chunkIndex], chunkOffset, endOffset);
185
- }
186
- return this.sharedNativeDecoder.decode(this.chunks[chunkIndex].subarray(chunkOffset, endOffset));
187
- }
188
- const result = [];
189
- result.push(this.sharedNativeDecoder.decode(this.chunks[chunkIndex++].subarray(chunkOffset), { stream: true }));
190
- let remaining = length - (byteBuffer.ByteBuffer.CHUNK_SIZE - chunkOffset);
191
- while (remaining) {
192
- const chunk = this.chunks[chunkIndex];
193
- if (!chunk) {
194
- break;
195
- }
196
- const toRead = Math.min(remaining, byteBuffer.ByteBuffer.CHUNK_SIZE);
197
- result.push(this.sharedNativeDecoder.decode(chunk.subarray(0, toRead), { stream: true }));
198
- remaining -= toRead;
199
- chunkIndex += 1;
200
- }
201
- // Finish decoding, if something is left
202
- result.push(this.sharedNativeDecoder.decode());
203
- this.offset += length;
204
- return result.join('');
205
- }
206
- /**
207
- * Reads a 8-bit unsigned integer from the buffer without advancing the offset.
208
- *
209
- * @returns 8-bit unsigned integer from the buffer.
210
- */
211
- peekUint8() {
212
- return this.readByte(this.offset) ?? 0;
213
- }
214
- /**
215
- * Helper method for asserting the next 8-bit unsigned integer in the buffer.
216
- *
217
- * @param value Expected value.
218
- * @throws If the next value in the buffer is not equal to the expected value.
219
- */
220
- assertUint8(value) {
221
- const result = this.readUint8();
222
- if (result !== value) {
223
- throw new Error(`Expected ${value}, but got ${result}`);
224
- }
225
- }
226
- /**
227
- * Creates a new `InputByteBuffer` instance with the given initial offset.
228
- *
229
- * @param initialOffset Initial offset for the new buffer.
230
- * @param cloneChunks Flag indicating if the chunks should be cloned. For performance reasons,
231
- * its default value is `false`. If the original chunks are guaranteed not to change,
232
- * leave this flag as `false` to avoid unnecessary copying.
233
- *
234
- * @returns New `InputByteBuffer` instance with the given initial offset.
235
- *
236
- * @note This method is useful if you want to read some data from a specific index.
237
- */
238
- createCopyWithOffset(initialOffset, cloneChunks = false) {
239
- return new InputByteBuffer(this.chunks, cloneChunks, initialOffset);
240
- }
241
- /**
242
- * Gets the current offset in the buffer for reading.
243
- *
244
- * @returns Current offset in the buffer for reading.
245
- */
246
- get currentOffset() {
247
- return this.offset;
248
- }
249
- /**
250
- * Gets the capacity of the buffer.
251
- *
252
- * @returns Capacity of the buffer.
253
- */
254
- get capacity() {
255
- return this.chunks.length * byteBuffer.ByteBuffer.CHUNK_SIZE;
256
- }
257
- }
258
-
259
- exports.InputByteBuffer = InputByteBuffer;
@@ -1,22 +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
- * A simple function to check if the current browser is Chromium-based.
11
- *
12
- * @returns `true` if the current browser is Chromium-based, `false` otherwise.
13
- * @see {@link https://stackoverflow.com/a/62797156}
14
- */
15
- const isChromium = () => {
16
- return typeof window !== 'undefined'
17
- && (Object.prototype.hasOwnProperty.call(window, 'chrome')
18
- || (typeof window.navigator !== 'undefined'
19
- && /chrome/i.test(window.navigator.userAgent)));
20
- };
21
-
22
- exports.isChromium = isChromium;
@@ -1,94 +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 logicalExpressionParser = require('../parser/misc/logical-expression-parser.js');
11
-
12
- /**
13
- * @file Utility functions for logical expression node.
14
- */
15
- const ERROR_PREFIX = {
16
- UNEXPECTED_NODE_TYPE: 'Unexpected node type',
17
- UNEXPECTED_OPERATOR: 'Unexpected operator',
18
- };
19
- /**
20
- * Utility functions for logical expression node.
21
- */
22
- class LogicalExpressionUtils {
23
- /**
24
- * Get all variables in the expression.
25
- *
26
- * @param node Logical expression node
27
- * @returns List of variables in the expression (nodes)
28
- * @example
29
- * If the expression is `a && b || c`, the returned list will be
30
- * nodes for `a`, `b`, and `c`.
31
- */
32
- static getVariables(node) {
33
- if (node.type === logicalExpressionParser.NodeType.Variable) {
34
- return [node];
35
- }
36
- if (node.type === logicalExpressionParser.NodeType.Operator) {
37
- const leftVars = LogicalExpressionUtils.getVariables(node.left);
38
- const rightVars = node.right ? LogicalExpressionUtils.getVariables(node.right) : [];
39
- return [...leftVars, ...rightVars];
40
- }
41
- if (node.type === logicalExpressionParser.NodeType.Parenthesis) {
42
- return LogicalExpressionUtils.getVariables(node.expression);
43
- }
44
- throw new Error(ERROR_PREFIX.UNEXPECTED_NODE_TYPE);
45
- }
46
- /**
47
- * Evaluate the parsed logical expression. You'll need to provide a
48
- * variable table.
49
- *
50
- * @param node Logical expression node
51
- * @param table Variable table (key: variable name, value: boolean)
52
- * @returns Evaluation result
53
- * @example
54
- * If the expression is `a && b`, and the variable table is
55
- * `{ a: true, b: false }`, the result will be `false`.
56
- *
57
- * Example code:
58
- * ```js
59
- * LogicalExpressionUtils.evaluate(
60
- * LogicalExpressionParser.parse('a && b'),
61
- * { a: true, b: false }
62
- * );
63
- * ```
64
- */
65
- static evaluate(node, table) {
66
- if (node.type === logicalExpressionParser.NodeType.Variable) {
67
- return !!table[node.name];
68
- }
69
- if (node.type === logicalExpressionParser.NodeType.Operator) {
70
- if (node.operator === index.OperatorValue.And || node.operator === index.OperatorValue.Or) {
71
- if (!node.right) {
72
- throw new Error(`${ERROR_PREFIX.UNEXPECTED_OPERATOR} '${node.operator}'`);
73
- }
74
- if (node.operator === index.OperatorValue.And) {
75
- // eslint-disable-next-line max-len
76
- return LogicalExpressionUtils.evaluate(node.left, table) && LogicalExpressionUtils.evaluate(node.right, table);
77
- }
78
- if (node.operator === index.OperatorValue.Or) {
79
- // eslint-disable-next-line max-len
80
- return LogicalExpressionUtils.evaluate(node.left, table) || LogicalExpressionUtils.evaluate(node.right, table);
81
- }
82
- }
83
- else if (node.operator === index.OperatorValue.Not) {
84
- return !LogicalExpressionUtils.evaluate(node.left, table);
85
- }
86
- }
87
- else if (node.type === logicalExpressionParser.NodeType.Parenthesis) {
88
- return LogicalExpressionUtils.evaluate(node.expression, table);
89
- }
90
- throw new Error(`${ERROR_PREFIX.UNEXPECTED_NODE_TYPE} '${node.type}'`);
91
- }
92
- }
93
-
94
- exports.LogicalExpressionUtils = LogicalExpressionUtils;
@@ -1,35 +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 typeGuards = require('./type-guards.js');
10
-
11
- /**
12
- * A very simple map extension that allows to store multiple values for the same key
13
- * by storing them in an array.
14
- *
15
- * @todo Add more methods if needed
16
- */
17
- class MultiValueMap extends Map {
18
- /**
19
- * Adds a value to the map. If the key already exists, the value will be appended to the existing array,
20
- * otherwise a new array will be created for the key.
21
- *
22
- * @param key Key to add
23
- * @param values Value(s) to add
24
- */
25
- add(key, ...values) {
26
- let currentValues = super.get(key);
27
- if (typeGuards.isUndefined(currentValues)) {
28
- currentValues = [];
29
- super.set(key, values);
30
- }
31
- currentValues.push(...values);
32
- }
33
- }
34
-
35
- exports.MultiValueMap = MultiValueMap;