@adguard/agtree 3.0.0-alpha.2 → 3.0.0-alpha.3

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 (243) hide show
  1. package/dist/ast-utils/clone.js +2 -2
  2. package/dist/ast-utils/modifiers.js +2 -2
  3. package/dist/ast-utils/network-rules.js +2 -2
  4. package/dist/ast-utils/scriptlets.js +2 -2
  5. package/dist/common/abp-snippet-injection-body-common.js +2 -2
  6. package/dist/common/agent-common.js +2 -2
  7. package/dist/common/ubo-selector-common.js +2 -2
  8. package/dist/compatibility-tables/base.js +2 -2
  9. package/dist/compatibility-tables/compatibility-table-data.js +2 -2
  10. package/dist/compatibility-tables/modifiers.js +2 -2
  11. package/dist/compatibility-tables/platforms.js +2 -2
  12. package/dist/compatibility-tables/redirects.js +2 -2
  13. package/dist/compatibility-tables/schemas/base.js +2 -2
  14. package/dist/compatibility-tables/schemas/modifier.js +2 -2
  15. package/dist/compatibility-tables/schemas/platform.js +2 -2
  16. package/dist/compatibility-tables/schemas/redirect.js +2 -2
  17. package/dist/compatibility-tables/schemas/resource-type.js +2 -2
  18. package/dist/compatibility-tables/schemas/scriptlet.js +2 -2
  19. package/dist/compatibility-tables/scriptlets.js +2 -2
  20. package/dist/compatibility-tables/utils/platform-helpers.js +2 -2
  21. package/dist/compatibility-tables/utils/resource-type-helpers.js +2 -2
  22. package/dist/compatibility-tables/utils/zod-camelcase.js +2 -2
  23. package/dist/converter/base-interfaces/base-converter.js +2 -2
  24. package/dist/converter/base-interfaces/conversion-result.js +2 -2
  25. package/dist/converter/base-interfaces/rule-converter-base.js +2 -2
  26. package/dist/converter/comment/index.js +2 -2
  27. package/dist/converter/cosmetic/css.js +2 -2
  28. package/dist/converter/cosmetic/element-hiding.js +2 -2
  29. package/dist/converter/cosmetic/header-removal.js +2 -2
  30. package/dist/converter/cosmetic/html.js +2 -2
  31. package/dist/converter/cosmetic/index.js +2 -2
  32. package/dist/converter/cosmetic/rule-modifiers/adg.js +2 -2
  33. package/dist/converter/cosmetic/scriptlet.js +2 -2
  34. package/dist/converter/css/index.js +2 -2
  35. package/dist/converter/data/css.js +2 -2
  36. package/dist/converter/filter-list.js +2 -2
  37. package/dist/converter/index.js +2 -2
  38. package/dist/converter/misc/network-rule-modifier.js +2 -2
  39. package/dist/converter/network/index.js +2 -2
  40. package/dist/converter/raw-filter-list.js +2 -2
  41. package/dist/converter/rule.js +2 -2
  42. package/dist/deserializer/base-deserializer.js +2 -2
  43. package/dist/deserializer/comment/agent-comment-deserializer.js +2 -2
  44. package/dist/deserializer/comment/agent-deserializer.js +2 -2
  45. package/dist/deserializer/comment/comment-rule-deserializer.js +2 -2
  46. package/dist/deserializer/comment/config-comment-deserializer.js +2 -2
  47. package/dist/deserializer/comment/hint-comment-deserializer.js +2 -2
  48. package/dist/deserializer/comment/hint-deserializer.js +2 -2
  49. package/dist/deserializer/comment/metadata-comment-deserializer.js +2 -2
  50. package/dist/deserializer/comment/pre-processor-comment-deserializer.js +2 -2
  51. package/dist/deserializer/comment/simple-comment-deserializer.js +2 -2
  52. package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +2 -2
  53. package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +2 -2
  54. package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +2 -2
  55. package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +2 -2
  56. package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +2 -2
  57. package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +2 -2
  58. package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +2 -2
  59. package/dist/deserializer/empty-rule-deserializer.js +2 -2
  60. package/dist/deserializer/filterlist-deserializer.js +2 -2
  61. package/dist/deserializer/index.js +2 -2
  62. package/dist/deserializer/invalid-rule-deserializer.js +2 -2
  63. package/dist/deserializer/invalid-rule-error-node-deserializer.js +2 -2
  64. package/dist/deserializer/misc/domain-list-deserializer.js +2 -2
  65. package/dist/deserializer/misc/list-item-deserializer.js +2 -2
  66. package/dist/deserializer/misc/list-items-deserializer.js +2 -2
  67. package/dist/deserializer/misc/logical-expression-deserializer.js +2 -2
  68. package/dist/deserializer/misc/modifier-deserializer.js +2 -2
  69. package/dist/deserializer/misc/modifier-list-deserializer.js +2 -2
  70. package/dist/deserializer/misc/parameter-list-deserializer.js +2 -2
  71. package/dist/deserializer/misc/value-deserializer.js +2 -2
  72. package/dist/deserializer/network/host-rule-deserializer.js +2 -2
  73. package/dist/deserializer/network/hostname-list-deserializer.js +2 -2
  74. package/dist/deserializer/network/network-rule-deserializer.js +2 -2
  75. package/dist/deserializer/rule-deserializer.js +2 -2
  76. package/dist/deserializer/syntax-deserialization-map.js +2 -2
  77. package/dist/errors/adblock-syntax-error.js +2 -2
  78. package/dist/errors/binary-schema-mismatch-error.js +2 -2
  79. package/dist/errors/not-implemented-error.js +2 -2
  80. package/dist/errors/rule-conversion-error.js +2 -2
  81. package/dist/generator/base-generator.js +2 -2
  82. package/dist/generator/comment/agent-comment-generator.js +2 -2
  83. package/dist/generator/comment/agent-generator.js +2 -2
  84. package/dist/generator/comment/comment-rule-generator.js +2 -2
  85. package/dist/generator/comment/config-comment-generator.js +2 -2
  86. package/dist/generator/comment/hint-comment-generator.js +2 -2
  87. package/dist/generator/comment/hint-generator.js +2 -2
  88. package/dist/generator/comment/metadata-comment-generator.js +2 -2
  89. package/dist/generator/comment/pre-processor-comment-generator.js +2 -2
  90. package/dist/generator/comment/simple-comment-generator.js +2 -2
  91. package/dist/generator/cosmetic/body/abp-snippet-injection-body-generator.js +2 -2
  92. package/dist/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +2 -2
  93. package/dist/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +2 -2
  94. package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +3 -3
  95. package/dist/generator/cosmetic/cosmetic-rule-generator.js +2 -2
  96. package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +2 -2
  97. package/dist/generator/css/adg-css-injection-generator.js +2 -2
  98. package/dist/generator/filterlist-generator.js +2 -2
  99. package/dist/generator/index.js +2 -2
  100. package/dist/generator/misc/domain-list-generator.js +2 -2
  101. package/dist/generator/misc/list-items-generator.js +2 -2
  102. package/dist/generator/misc/logical-expression-generator.js +2 -2
  103. package/dist/generator/misc/modifier-generator.js +2 -2
  104. package/dist/generator/misc/modifier-list-generator.js +2 -2
  105. package/dist/generator/misc/parameter-list-generator.js +2 -2
  106. package/dist/generator/misc/value-generator.js +2 -2
  107. package/dist/generator/network/host-rule-generator.js +2 -2
  108. package/dist/generator/network/network-rule-generator.js +2 -2
  109. package/dist/generator/rule-generator.js +2 -2
  110. package/dist/index.js +2 -2
  111. package/dist/marshalling-utils/comment/agent-comment-common.js +2 -2
  112. package/dist/marshalling-utils/comment/agent-common.js +2 -2
  113. package/dist/marshalling-utils/comment/config-comment-common.js +2 -2
  114. package/dist/marshalling-utils/comment/hint-comment-common.js +2 -2
  115. package/dist/marshalling-utils/comment/hint-common.js +2 -2
  116. package/dist/marshalling-utils/comment/metadata-comment-common.js +2 -2
  117. package/dist/marshalling-utils/comment/pre-processor-comment-common.js +2 -2
  118. package/dist/marshalling-utils/comment/simple-comment-common.js +2 -2
  119. package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +2 -2
  120. package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +2 -2
  121. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +2 -2
  122. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +2 -2
  123. package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +2 -2
  124. package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +2 -2
  125. package/dist/marshalling-utils/empty-rule-common.js +2 -2
  126. package/dist/marshalling-utils/filter-list-common.js +2 -2
  127. package/dist/marshalling-utils/invalid-rule-common.js +2 -2
  128. package/dist/marshalling-utils/invalid-rule-error-node-common.js +2 -2
  129. package/dist/marshalling-utils/misc/binary-type-common.js +2 -2
  130. package/dist/marshalling-utils/misc/domain-list-common.js +2 -2
  131. package/dist/marshalling-utils/misc/host-rule-common.js +2 -2
  132. package/dist/marshalling-utils/misc/hostname-list-common.js +2 -2
  133. package/dist/marshalling-utils/misc/list-item-common.js +2 -2
  134. package/dist/marshalling-utils/misc/logical-expression-common.js +2 -2
  135. package/dist/marshalling-utils/misc/modifier-common.js +2 -2
  136. package/dist/marshalling-utils/misc/modifier-list-common.js +2 -2
  137. package/dist/marshalling-utils/misc/parameter-list-common.js +2 -2
  138. package/dist/marshalling-utils/misc/value-common.js +2 -2
  139. package/dist/marshalling-utils/network/network-rule-common.js +2 -2
  140. package/dist/marshalling-utils/syntax-serialization-map.js +2 -2
  141. package/dist/nodes/index.js +2 -2
  142. package/dist/package.json.js +3 -3
  143. package/dist/parser/base-parser.js +2 -2
  144. package/dist/parser/comment/agent-comment-parser.js +2 -2
  145. package/dist/parser/comment/agent-parser.js +2 -2
  146. package/dist/parser/comment/comment-parser.js +2 -2
  147. package/dist/parser/comment/config-comment-parser.js +2 -2
  148. package/dist/parser/comment/hint-comment-parser.js +2 -2
  149. package/dist/parser/comment/hint-parser.js +2 -2
  150. package/dist/parser/comment/metadata-comment-parser.js +2 -2
  151. package/dist/parser/comment/preprocessor-parser.js +2 -2
  152. package/dist/parser/comment/simple-comment-parser.js +2 -2
  153. package/dist/parser/cosmetic/body/abp-snippet-injection-body-parser.js +2 -2
  154. package/dist/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +2 -2
  155. package/dist/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +2 -2
  156. package/dist/parser/cosmetic/cosmetic-rule-parser.js +48 -7
  157. package/dist/parser/css/adg-css-injection-parser.js +2 -2
  158. package/dist/parser/css/balancing.js +2 -2
  159. package/dist/parser/css/constants.js +2 -2
  160. package/dist/parser/css/css-token-stream.js +19 -9
  161. package/dist/parser/css/has-token.js +43 -0
  162. package/dist/parser/css/ubo-selector-parser.js +2 -2
  163. package/dist/parser/filterlist-parser.js +2 -2
  164. package/dist/parser/index.js +2 -2
  165. package/dist/parser/misc/app-list-parser.js +2 -2
  166. package/dist/parser/misc/domain-list-parser.js +2 -2
  167. package/dist/parser/misc/list-items-parser.js +2 -2
  168. package/dist/parser/misc/logical-expression-parser.js +2 -2
  169. package/dist/parser/misc/method-list-parser.js +2 -2
  170. package/dist/parser/misc/modifier-list.js +2 -2
  171. package/dist/parser/misc/modifier-parser.js +2 -2
  172. package/dist/parser/misc/parameter-list-parser.js +2 -2
  173. package/dist/parser/misc/stealth-option-list-parser.js +2 -2
  174. package/dist/parser/misc/ubo-parameter-list-parser.js +2 -2
  175. package/dist/parser/misc/value-parser.js +2 -2
  176. package/dist/parser/network/host-rule-parser.js +5 -5
  177. package/dist/parser/network/network-rule-parser.js +2 -2
  178. package/dist/parser/options.js +2 -2
  179. package/dist/parser/rule-parser.js +2 -2
  180. package/dist/serializer/base-serializer.js +2 -2
  181. package/dist/serializer/comment/agent-comment-serializer.js +2 -2
  182. package/dist/serializer/comment/agent-serializer.js +2 -2
  183. package/dist/serializer/comment/comment-rule-serializer.js +2 -2
  184. package/dist/serializer/comment/config-comment-serializer.js +2 -2
  185. package/dist/serializer/comment/hint-comment-serializer.js +2 -2
  186. package/dist/serializer/comment/hint-serializer.js +2 -2
  187. package/dist/serializer/comment/metadata-comment-serializer.js +2 -2
  188. package/dist/serializer/comment/pre-processor-comment-serializer.js +2 -2
  189. package/dist/serializer/comment/simple-comment-serializer.js +2 -2
  190. package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +2 -2
  191. package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +2 -2
  192. package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +2 -2
  193. package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +2 -2
  194. package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +2 -2
  195. package/dist/serializer/cosmetic/css-injection-body-serializer.js +2 -2
  196. package/dist/serializer/cosmetic/element-hiding-body-serializer.js +2 -2
  197. package/dist/serializer/empty-rule-serializer.js +2 -2
  198. package/dist/serializer/filterlist-serializer.js +2 -2
  199. package/dist/serializer/index.js +2 -2
  200. package/dist/serializer/invalid-rule-error-node-serializer.js +2 -2
  201. package/dist/serializer/invalid-rule-serializer.js +2 -2
  202. package/dist/serializer/misc/domain-list-serializer.js +2 -2
  203. package/dist/serializer/misc/list-item-serializer.js +2 -2
  204. package/dist/serializer/misc/list-items-serializer.js +2 -2
  205. package/dist/serializer/misc/logical-expression-serializer.js +2 -2
  206. package/dist/serializer/misc/modifier-list-serializer.js +2 -2
  207. package/dist/serializer/misc/modifier-serializer.js +2 -2
  208. package/dist/serializer/misc/parameter-list-serializer.js +2 -2
  209. package/dist/serializer/misc/value-serializer.js +2 -2
  210. package/dist/serializer/network/host-rule-serializer.js +2 -2
  211. package/dist/serializer/network/hostname-list-serializer.js +2 -2
  212. package/dist/serializer/network/network-rule-serializer.js +2 -2
  213. package/dist/serializer/rule-serializer.js +2 -2
  214. package/dist/types/parser/css/has-token.d.ts +10 -0
  215. package/dist/utils/adblockers.js +2 -2
  216. package/dist/utils/binary-schema-version.js +2 -2
  217. package/dist/utils/byte-buffer.js +2 -2
  218. package/dist/utils/categorizer.js +2 -2
  219. package/dist/utils/clone.js +2 -2
  220. package/dist/utils/constants.js +5 -3
  221. package/dist/utils/cosmetic-rule-separator.js +2 -2
  222. package/dist/utils/deep-freeze.js +2 -2
  223. package/dist/utils/domain.js +2 -2
  224. package/dist/utils/error.js +2 -2
  225. package/dist/utils/index.js +2 -2
  226. package/dist/utils/input-byte-buffer.js +2 -2
  227. package/dist/utils/is-chromium.js +2 -2
  228. package/dist/utils/logical-expression.js +2 -2
  229. package/dist/utils/multi-value-map.js +2 -2
  230. package/dist/utils/output-byte-buffer.js +2 -2
  231. package/dist/utils/position-provider.js +2 -2
  232. package/dist/utils/quotes.js +2 -2
  233. package/dist/utils/regexp.js +2 -2
  234. package/dist/utils/string.js +2 -2
  235. package/dist/utils/text-decoder-polyfill.js +2 -2
  236. package/dist/utils/text-encoder-polyfill.js +2 -2
  237. package/dist/utils/type-guards.js +2 -2
  238. package/dist/validator/constants.js +2 -2
  239. package/dist/validator/helpers.js +2 -2
  240. package/dist/validator/index.js +2 -2
  241. package/dist/validator/value.js +2 -2
  242. package/dist/version.js +2 -2
  243. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,9 +1,9 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
- const version = "3.0.0-alpha.2";
7
+ const version = "3.0.0-alpha.3";
8
8
 
9
9
  export { version };
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,15 +1,16 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
7
  import { sprintf } from 'sprintf-js';
8
+ import { TokenType } from '@adguard/css-tokenizer';
8
9
  import { CosmeticRuleSeparatorUtils } from '../../utils/cosmetic-rule-separator.js';
9
10
  import { AdblockSyntax } from '../../utils/adblockers.js';
10
11
  import { DomainListParser } from '../misc/domain-list-parser.js';
11
12
  import { ModifierListParser } from '../misc/modifier-list.js';
12
- import { OPEN_SQUARE_BRACKET, DOLLAR_SIGN, CLOSE_SQUARE_BRACKET, UBO_SCRIPTLET_MASK, UBO_SCRIPTLET_MASK_LEGACY, ADG_SCRIPTLET_MASK, UBO_HTML_MASK } from '../../utils/constants.js';
13
+ import { OPEN_SQUARE_BRACKET, DOLLAR_SIGN, CLOSE_SQUARE_BRACKET, CSS_BLOCK_OPEN, CSS_BLOCK_CLOSE, UBO_SCRIPTLET_MASK, UBO_SCRIPTLET_MASK_LEGACY, ADG_SCRIPTLET_MASK, UBO_HTML_MASK } from '../../utils/constants.js';
13
14
  import { RuleCategory, CosmeticRuleType } from '../../nodes/index.js';
14
15
  import { AdblockSyntaxError } from '../../errors/adblock-syntax-error.js';
15
16
  import { StringUtils } from '../../utils/string.js';
@@ -22,6 +23,7 @@ import { UboScriptletInjectionBodyParser } from './body/ubo-scriptlet-injection-
22
23
  import { AdgScriptletInjectionBodyParser } from './body/adg-scriptlet-injection-body-parser.js';
23
24
  import { BaseParser } from '../base-parser.js';
24
25
  import { UboPseudoName } from '../../common/ubo-selector-common.js';
26
+ import { hasToken } from '../css/has-token.js';
25
27
 
26
28
  /**
27
29
  * Possible error messages for uBO selectors. Formatted with {@link sprintf}.
@@ -306,6 +308,33 @@ class CosmeticRuleParser extends BaseParser {
306
308
  body: AdgCssInjectionParser.parse(rawBody, options, baseOffset + bodyStart),
307
309
  };
308
310
  };
311
+ /**
312
+ * Parses Adb CSS injection rules
313
+ * eg: example.com##.foo { display: none; }
314
+ *
315
+ * @returns parsed rule
316
+ */
317
+ const parseAbpCssInjection = () => {
318
+ if (!options.parseAbpSpecificRules) {
319
+ return null;
320
+ }
321
+ // check if the rule contains both CSS block open and close characters
322
+ // if none of them is present we can stop parsing
323
+ if (rawBody.indexOf(CSS_BLOCK_OPEN) === -1 && rawBody.indexOf(CSS_BLOCK_CLOSE) === -1) {
324
+ return null;
325
+ }
326
+ if (!hasToken(rawBody, new Set([TokenType.OpenCurlyBracket, TokenType.CloseCurlyBracket]))) {
327
+ return null;
328
+ }
329
+ // try to parse the raw body as an AdGuard CSS injection rule
330
+ const body = AdgCssInjectionParser.parse(rawBody, options, baseOffset + bodyStart);
331
+ // if the parsed rule type is a 'CssInjectionRuleBody', return the parsed rule
332
+ return {
333
+ syntax: AdblockSyntax.Abp,
334
+ type: CosmeticRuleType.CssInjectionRule,
335
+ body,
336
+ };
337
+ };
309
338
  const parseAbpSnippetInjection = () => {
310
339
  if (!options.parseAbpSpecificRules) {
311
340
  throw new AdblockSyntaxError(sprintf(ERROR_MESSAGES.SYNTAX_DISABLED, AdblockSyntax.Abp), baseOffset + bodyStart, baseOffset + bodyEnd);
@@ -417,10 +446,22 @@ class CosmeticRuleParser extends BaseParser {
417
446
  // the next function is called, and so on.
418
447
  // If all functions return null, an error should be thrown.
419
448
  const separatorMap = {
420
- '##': [parseUboHtmlFiltering, parseUboScriptletInjection, parseUboCssInjection, parseElementHiding],
421
- '#@#': [parseUboHtmlFiltering, parseUboScriptletInjection, parseUboCssInjection, parseElementHiding],
422
- '#?#': [parseUboCssInjection, parseElementHiding],
423
- '#@?#': [parseUboCssInjection, parseElementHiding],
449
+ '##': [
450
+ parseUboHtmlFiltering,
451
+ parseUboScriptletInjection,
452
+ parseUboCssInjection,
453
+ parseAbpCssInjection,
454
+ parseElementHiding,
455
+ ],
456
+ '#@#': [
457
+ parseUboHtmlFiltering,
458
+ parseUboScriptletInjection,
459
+ parseUboCssInjection,
460
+ parseAbpCssInjection,
461
+ parseElementHiding,
462
+ ],
463
+ '#?#': [parseUboCssInjection, parseAbpCssInjection, parseElementHiding],
464
+ '#@?#': [parseUboCssInjection, parseAbpCssInjection, parseElementHiding],
424
465
  '#$#': [parseAdgCssInjection, parseAbpSnippetInjection],
425
466
  '#@$#': [parseAdgCssInjection, parseAbpSnippetInjection],
426
467
  '#$?#': [parseAdgCssInjection],
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.0.0-alpha.2 (build date: Tue, 17 Dec 2024 16:50:04 GMT)
3
- * (c) 2024 Adguard Software Ltd.
2
+ * AGTree v3.0.0-alpha.3 (build date: Thu, 30 Jan 2025 11:44:31 GMT)
3
+ * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -51,14 +51,24 @@ class CssTokenStream {
51
51
  // - end: end index of the token
52
52
  // - props: additional properties of the token, if any (we don't use it here, this is why we use underscore)
53
53
  // - balance: balance level of the token
54
- tokenizeBalanced(source, (type, start, end, _, balance) => {
55
- this.tokens.push({
56
- type,
57
- start,
58
- end,
59
- balance,
54
+ try {
55
+ tokenizeBalanced(source, (type, start, end, _, balance) => {
56
+ this.tokens.push({
57
+ type,
58
+ start,
59
+ end,
60
+ balance,
61
+ });
60
62
  });
61
- });
63
+ }
64
+ catch (error) {
65
+ // If the error is an AdblockSyntaxError, adjust the error positions to the base offset
66
+ if (error instanceof AdblockSyntaxError) {
67
+ error.start += baseOffset;
68
+ error.end += baseOffset;
69
+ throw error;
70
+ }
71
+ }
62
72
  this.index = 0;
63
73
  this.baseOffset = baseOffset;
64
74
  }