@adguard/agtree 3.4.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) 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-html-filtering-body-common.js +40 -0
  8. package/dist/common/ubo-selector-common.js +2 -2
  9. package/dist/compatibility-tables/base.js +2 -2
  10. package/dist/compatibility-tables/compatibility-table-data.js +4 -4
  11. package/dist/compatibility-tables/modifiers.js +2 -2
  12. package/dist/compatibility-tables/platforms.js +2 -2
  13. package/dist/compatibility-tables/redirects.js +2 -2
  14. package/dist/compatibility-tables/schemas/base.js +2 -2
  15. package/dist/compatibility-tables/schemas/modifier.js +2 -2
  16. package/dist/compatibility-tables/schemas/platform.js +2 -2
  17. package/dist/compatibility-tables/schemas/redirect.js +2 -2
  18. package/dist/compatibility-tables/schemas/resource-type.js +2 -2
  19. package/dist/compatibility-tables/schemas/scriptlet.js +2 -2
  20. package/dist/compatibility-tables/scriptlets.js +2 -2
  21. package/dist/compatibility-tables/utils/platform-helpers.js +2 -2
  22. package/dist/compatibility-tables/utils/resource-type-helpers.js +2 -2
  23. package/dist/compatibility-tables/utils/zod-camelcase.js +2 -2
  24. package/dist/converter/base-interfaces/base-converter.js +2 -2
  25. package/dist/converter/base-interfaces/conversion-result.js +2 -2
  26. package/dist/converter/base-interfaces/rule-converter-base.js +2 -2
  27. package/dist/converter/comment/index.js +2 -2
  28. package/dist/converter/cosmetic/css.js +2 -2
  29. package/dist/converter/cosmetic/element-hiding.js +2 -2
  30. package/dist/converter/cosmetic/header-removal.js +24 -42
  31. package/dist/converter/cosmetic/html.js +580 -438
  32. package/dist/converter/cosmetic/index.js +3 -2
  33. package/dist/converter/cosmetic/rule-modifiers/adg.js +2 -2
  34. package/dist/converter/cosmetic/rule-modifiers/ubo.js +2 -2
  35. package/dist/converter/cosmetic/scriptlet.js +2 -2
  36. package/dist/converter/css/index.js +3 -2
  37. package/dist/converter/data/css.js +32 -54
  38. package/dist/converter/filter-list.js +2 -2
  39. package/dist/converter/index.js +2 -2
  40. package/dist/converter/misc/network-rule-modifier.js +2 -2
  41. package/dist/converter/network/index.js +2 -2
  42. package/dist/converter/raw-filter-list.js +2 -2
  43. package/dist/converter/raw-rule.js +6 -3
  44. package/dist/converter/rule.js +2 -2
  45. package/dist/errors/adblock-syntax-error.js +2 -2
  46. package/dist/errors/binary-schema-mismatch-error.js +2 -2
  47. package/dist/errors/not-implemented-error.js +2 -2
  48. package/dist/errors/rule-conversion-error.js +2 -2
  49. package/dist/generator/base-generator.js +2 -2
  50. package/dist/generator/comment/agent-comment-generator.js +2 -2
  51. package/dist/generator/comment/agent-generator.js +2 -2
  52. package/dist/generator/comment/comment-rule-generator.js +2 -2
  53. package/dist/generator/comment/config-comment-generator.js +2 -2
  54. package/dist/generator/comment/hint-comment-generator.js +2 -2
  55. package/dist/generator/comment/hint-generator.js +2 -2
  56. package/dist/generator/comment/metadata-comment-generator.js +2 -2
  57. package/dist/generator/comment/pre-processor-comment-generator.js +2 -2
  58. package/dist/generator/comment/simple-comment-generator.js +2 -2
  59. package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +21 -6
  60. package/dist/generator/cosmetic/cosmetic-rule-generator.js +2 -2
  61. package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +2 -2
  62. package/dist/generator/cosmetic/html-filtering-body/adg-html-filtering-body-generator.js +38 -0
  63. package/dist/generator/cosmetic/html-filtering-body/html-filtering-body-generator.js +32 -0
  64. package/dist/generator/cosmetic/html-filtering-body/ubo-html-filtering-body-generator.js +65 -0
  65. package/dist/generator/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-generator.js +2 -2
  66. package/dist/generator/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-generator.js +2 -2
  67. package/dist/generator/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-generator.js +2 -2
  68. package/dist/generator/cosmetic/selector/attribute-selector-generator.js +42 -0
  69. package/dist/generator/cosmetic/selector/class-selector-generator.js +26 -0
  70. package/dist/generator/cosmetic/selector/complex-selector-generator.js +71 -0
  71. package/dist/generator/cosmetic/selector/id-selector-generator.js +26 -0
  72. package/dist/generator/cosmetic/selector/pseudo-class-selector-generator.js +35 -0
  73. package/dist/generator/cosmetic/selector/selector-combinator-generator.js +30 -0
  74. package/dist/generator/cosmetic/selector/selector-list-generator.js +41 -0
  75. package/dist/generator/cosmetic/selector/type-selector-generator.js +25 -0
  76. package/dist/generator/css/adg-css-injection-generator.js +5 -6
  77. package/dist/generator/filterlist-generator.js +2 -2
  78. package/dist/generator/index.js +2 -2
  79. package/dist/generator/misc/domain-list-generator.js +2 -2
  80. package/dist/generator/misc/list-items-generator.js +2 -2
  81. package/dist/generator/misc/logical-expression-generator.js +2 -2
  82. package/dist/generator/misc/modifier-generator.js +2 -2
  83. package/dist/generator/misc/modifier-list-generator.js +2 -2
  84. package/dist/generator/misc/parameter-list-generator.js +2 -2
  85. package/dist/generator/misc/value-generator.js +2 -2
  86. package/dist/generator/network/host-rule-generator.js +2 -2
  87. package/dist/generator/network/network-rule-generator.js +2 -2
  88. package/dist/generator/rule-generator.js +2 -2
  89. package/dist/index.js +4 -14
  90. package/dist/nodes/index.js +2 -2
  91. package/dist/package.json.js +3 -3
  92. package/dist/parser/base-parser.js +2 -2
  93. package/dist/parser/comment/agent-comment-parser.js +2 -2
  94. package/dist/parser/comment/agent-parser.js +2 -2
  95. package/dist/parser/comment/comment-parser.js +2 -2
  96. package/dist/parser/comment/config-comment-parser.js +2 -2
  97. package/dist/parser/comment/hint-comment-parser.js +2 -2
  98. package/dist/parser/comment/hint-parser.js +2 -2
  99. package/dist/parser/comment/metadata-comment-parser.js +2 -2
  100. package/dist/parser/comment/preprocessor-parser.js +2 -2
  101. package/dist/parser/comment/simple-comment-parser.js +2 -2
  102. package/dist/parser/cosmetic/cosmetic-rule-parser.js +10 -21
  103. package/dist/parser/cosmetic/html-filtering-body/adg-html-filtering-body-parser.js +49 -0
  104. package/dist/parser/cosmetic/html-filtering-body/html-filtering-body-parser.js +70 -0
  105. package/dist/parser/cosmetic/html-filtering-body/ubo-html-filtering-body-parser.js +180 -0
  106. package/dist/parser/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-parser.js +2 -2
  107. package/dist/parser/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-parser.js +2 -2
  108. package/dist/parser/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-parser.js +2 -2
  109. package/dist/parser/cosmetic/selector/handlers/attribute-selector-handler.js +206 -0
  110. package/dist/parser/cosmetic/selector/handlers/class-selector-handler.js +48 -0
  111. package/dist/parser/cosmetic/selector/handlers/complex-selector-handler.js +67 -0
  112. package/dist/parser/cosmetic/selector/handlers/compound-selector-handler.js +97 -0
  113. package/dist/parser/cosmetic/selector/handlers/id-selector-handler.js +42 -0
  114. package/dist/parser/cosmetic/selector/handlers/pseudo-class-selector-handler.js +128 -0
  115. package/dist/parser/cosmetic/selector/handlers/type-selector-handler.js +58 -0
  116. package/dist/parser/cosmetic/selector/selector-list-parser.js +164 -0
  117. package/dist/parser/css/adg-css-injection-parser.js +4 -5
  118. package/dist/parser/css/balancing.js +2 -2
  119. package/dist/parser/css/constants.js +2 -2
  120. package/dist/parser/css/css-token-stream.js +41 -4
  121. package/dist/parser/css/ubo-selector-parser.js +2 -2
  122. package/dist/parser/filterlist-parser.js +2 -2
  123. package/dist/parser/index.js +2 -2
  124. package/dist/parser/misc/app-list-parser.js +2 -2
  125. package/dist/parser/misc/domain-list-parser.js +2 -2
  126. package/dist/parser/misc/list-items-parser.js +2 -2
  127. package/dist/parser/misc/logical-expression-parser.js +2 -2
  128. package/dist/parser/misc/method-list-parser.js +2 -2
  129. package/dist/parser/misc/modifier-list.js +9 -3
  130. package/dist/parser/misc/modifier-parser.js +2 -2
  131. package/dist/parser/misc/parameter-list-parser.js +2 -2
  132. package/dist/parser/misc/stealth-option-list-parser.js +2 -2
  133. package/dist/parser/misc/ubo-parameter-list-parser.js +2 -2
  134. package/dist/parser/misc/value-parser.js +2 -2
  135. package/dist/parser/network/host-rule-parser.js +2 -2
  136. package/dist/parser/network/network-rule-parser.js +2 -2
  137. package/dist/parser/options.js +3 -2
  138. package/dist/parser/rule-parser.js +2 -2
  139. package/dist/types/common/ubo-html-filtering-body-common.d.ts +12 -0
  140. package/dist/types/compatibility-tables/compatibility-table-data.d.ts +3 -3
  141. package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
  142. package/dist/types/compatibility-tables/schemas/scriptlet.d.ts +2 -2
  143. package/dist/types/converter/cosmetic/html.d.ts +167 -42
  144. package/dist/types/converter/data/css.d.ts +18 -6
  145. package/dist/types/generator/cosmetic/html-filtering-body/adg-html-filtering-body-generator.d.ts +17 -0
  146. package/dist/types/generator/cosmetic/html-filtering-body/html-filtering-body-generator.d.ts +17 -0
  147. package/dist/types/generator/cosmetic/html-filtering-body/ubo-html-filtering-body-generator.d.ts +30 -0
  148. package/dist/types/generator/cosmetic/selector/attribute-selector-generator.d.ts +15 -0
  149. package/dist/types/generator/cosmetic/selector/class-selector-generator.d.ts +15 -0
  150. package/dist/types/generator/cosmetic/selector/complex-selector-generator.d.ts +17 -0
  151. package/dist/types/generator/cosmetic/selector/id-selector-generator.d.ts +15 -0
  152. package/dist/types/generator/cosmetic/selector/pseudo-class-selector-generator.d.ts +15 -0
  153. package/dist/types/generator/cosmetic/selector/selector-combinator-generator.d.ts +15 -0
  154. package/dist/types/generator/cosmetic/selector/selector-list-generator.d.ts +17 -0
  155. package/dist/types/generator/cosmetic/selector/type-selector-generator.d.ts +15 -0
  156. package/dist/types/generator/css/adg-css-injection-generator.d.ts +1 -1
  157. package/dist/types/index.d.ts +3 -13
  158. package/dist/types/nodes/index.d.ts +159 -3
  159. package/dist/types/parser/cosmetic/html-filtering-body/adg-html-filtering-body-parser.d.ts +35 -0
  160. package/dist/types/parser/cosmetic/html-filtering-body/html-filtering-body-parser.d.ts +39 -0
  161. package/dist/types/parser/cosmetic/html-filtering-body/ubo-html-filtering-body-parser.d.ts +63 -0
  162. package/dist/types/parser/cosmetic/selector/context.d.ts +42 -0
  163. package/dist/types/parser/cosmetic/selector/handlers/attribute-selector-handler.d.ts +35 -0
  164. package/dist/types/parser/cosmetic/selector/handlers/class-selector-handler.d.ts +15 -0
  165. package/dist/types/parser/cosmetic/selector/handlers/complex-selector-handler.d.ts +20 -0
  166. package/dist/types/parser/cosmetic/selector/handlers/compound-selector-handler.d.ts +25 -0
  167. package/dist/types/parser/cosmetic/selector/handlers/id-selector-handler.d.ts +15 -0
  168. package/dist/types/parser/cosmetic/selector/handlers/pseudo-class-selector-handler.d.ts +15 -0
  169. package/dist/types/parser/cosmetic/selector/handlers/type-selector-handler.d.ts +15 -0
  170. package/dist/types/parser/cosmetic/selector/selector-list-parser.d.ts +38 -0
  171. package/dist/types/parser/css/adg-css-injection-parser.d.ts +0 -2
  172. package/dist/types/parser/css/css-token-stream.d.ts +18 -0
  173. package/dist/types/parser/network/network-rule-parser.d.ts +1 -1
  174. package/dist/types/parser/options.d.ts +5 -0
  175. package/dist/types/utils/constants.d.ts +1 -0
  176. package/dist/types/utils/index.d.ts +0 -6
  177. package/dist/types/utils/quotes.d.ts +44 -0
  178. package/dist/types/utils/regexp.d.ts +24 -0
  179. package/dist/utils/adblockers.js +2 -2
  180. package/dist/utils/bit-count.js +2 -2
  181. package/dist/utils/categorizer.js +2 -2
  182. package/dist/utils/clone.js +2 -2
  183. package/dist/utils/constants.js +6 -9
  184. package/dist/utils/cosmetic-rule-separator.js +2 -2
  185. package/dist/utils/deep-freeze.js +2 -2
  186. package/dist/utils/domain.js +2 -2
  187. package/dist/utils/error.js +2 -2
  188. package/dist/utils/index.js +2 -8
  189. package/dist/utils/logical-expression.js +2 -2
  190. package/dist/utils/multi-value-map.js +2 -2
  191. package/dist/utils/noop-modifier.js +2 -2
  192. package/dist/utils/position-provider.js +2 -2
  193. package/dist/utils/quotes.js +163 -10
  194. package/dist/utils/regexp.js +31 -2
  195. package/dist/utils/string.js +2 -2
  196. package/dist/utils/type-guards.js +3 -13
  197. package/dist/validator/constants.js +2 -2
  198. package/dist/validator/helpers.js +2 -2
  199. package/dist/validator/index.js +2 -2
  200. package/dist/validator/value.js +2 -2
  201. package/dist/version.js +2 -2
  202. package/package.json +8 -16
  203. package/dist/deserializer/base-deserializer.js +0 -29
  204. package/dist/deserializer/comment/agent-comment-deserializer.js +0 -79
  205. package/dist/deserializer/comment/agent-deserializer.js +0 -65
  206. package/dist/deserializer/comment/comment-rule-deserializer.js +0 -54
  207. package/dist/deserializer/comment/config-comment-deserializer.js +0 -111
  208. package/dist/deserializer/comment/hint-comment-deserializer.js +0 -72
  209. package/dist/deserializer/comment/hint-deserializer.js +0 -85
  210. package/dist/deserializer/comment/metadata-comment-deserializer.js +0 -69
  211. package/dist/deserializer/comment/pre-processor-comment-deserializer.js +0 -112
  212. package/dist/deserializer/comment/simple-comment-deserializer.js +0 -65
  213. package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -131
  214. package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +0 -56
  215. package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -48
  216. package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -39
  217. package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -40
  218. package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -54
  219. package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
  220. package/dist/deserializer/empty-rule-deserializer.js +0 -48
  221. package/dist/deserializer/filterlist-deserializer.js +0 -85
  222. package/dist/deserializer/index.js +0 -8
  223. package/dist/deserializer/invalid-rule-deserializer.js +0 -50
  224. package/dist/deserializer/invalid-rule-error-node-deserializer.js +0 -50
  225. package/dist/deserializer/misc/domain-list-deserializer.js +0 -64
  226. package/dist/deserializer/misc/list-item-deserializer.js +0 -69
  227. package/dist/deserializer/misc/list-items-deserializer.js +0 -30
  228. package/dist/deserializer/misc/logical-expression-deserializer.js +0 -196
  229. package/dist/deserializer/misc/modifier-deserializer.js +0 -87
  230. package/dist/deserializer/misc/modifier-list-deserializer.js +0 -61
  231. package/dist/deserializer/misc/parameter-list-deserializer.js +0 -64
  232. package/dist/deserializer/misc/value-deserializer.js +0 -50
  233. package/dist/deserializer/network/host-rule-deserializer.js +0 -67
  234. package/dist/deserializer/network/hostname-list-deserializer.js +0 -56
  235. package/dist/deserializer/network/network-rule-deserializer.js +0 -65
  236. package/dist/deserializer/rule-deserializer.js +0 -65
  237. package/dist/deserializer/syntax-deserialization-map.js +0 -21
  238. package/dist/marshalling-utils/comment/agent-comment-common.js +0 -21
  239. package/dist/marshalling-utils/comment/agent-common.js +0 -40
  240. package/dist/marshalling-utils/comment/config-comment-common.js +0 -54
  241. package/dist/marshalling-utils/comment/hint-comment-common.js +0 -22
  242. package/dist/marshalling-utils/comment/hint-common.js +0 -56
  243. package/dist/marshalling-utils/comment/metadata-comment-common.js +0 -41
  244. package/dist/marshalling-utils/comment/pre-processor-comment-common.js +0 -59
  245. package/dist/marshalling-utils/comment/simple-comment-common.js +0 -22
  246. package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -61
  247. package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -66
  248. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -24
  249. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -21
  250. package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -114
  251. package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -46
  252. package/dist/marshalling-utils/empty-rule-common.js +0 -20
  253. package/dist/marshalling-utils/filter-list-common.js +0 -21
  254. package/dist/marshalling-utils/invalid-rule-common.js +0 -21
  255. package/dist/marshalling-utils/invalid-rule-error-node-common.js +0 -22
  256. package/dist/marshalling-utils/misc/binary-type-common.js +0 -54
  257. package/dist/marshalling-utils/misc/domain-list-common.js +0 -36
  258. package/dist/marshalling-utils/misc/host-rule-common.js +0 -24
  259. package/dist/marshalling-utils/misc/hostname-list-common.js +0 -21
  260. package/dist/marshalling-utils/misc/list-item-common.js +0 -22
  261. package/dist/marshalling-utils/misc/logical-expression-common.js +0 -83
  262. package/dist/marshalling-utils/misc/modifier-common.js +0 -231
  263. package/dist/marshalling-utils/misc/modifier-list-common.js +0 -21
  264. package/dist/marshalling-utils/misc/parameter-list-common.js +0 -21
  265. package/dist/marshalling-utils/misc/value-common.js +0 -22
  266. package/dist/marshalling-utils/network/network-rule-common.js +0 -24
  267. package/dist/marshalling-utils/syntax-serialization-map.js +0 -30
  268. package/dist/serializer/base-serializer.js +0 -29
  269. package/dist/serializer/comment/agent-comment-serializer.js +0 -74
  270. package/dist/serializer/comment/agent-serializer.js +0 -59
  271. package/dist/serializer/comment/comment-rule-serializer.js +0 -105
  272. package/dist/serializer/comment/config-comment-serializer.js +0 -82
  273. package/dist/serializer/comment/hint-comment-serializer.js +0 -65
  274. package/dist/serializer/comment/hint-serializer.js +0 -54
  275. package/dist/serializer/comment/metadata-comment-serializer.js +0 -73
  276. package/dist/serializer/comment/pre-processor-comment-serializer.js +0 -71
  277. package/dist/serializer/comment/simple-comment-serializer.js +0 -52
  278. package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -36
  279. package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -36
  280. package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -50
  281. package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -36
  282. package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +0 -120
  283. package/dist/serializer/cosmetic/css-injection-body-serializer.js +0 -51
  284. package/dist/serializer/cosmetic/element-hiding-body-serializer.js +0 -40
  285. package/dist/serializer/empty-rule-serializer.js +0 -37
  286. package/dist/serializer/filterlist-serializer.js +0 -45
  287. package/dist/serializer/index.js +0 -7
  288. package/dist/serializer/invalid-rule-error-node-serializer.js +0 -41
  289. package/dist/serializer/invalid-rule-serializer.js +0 -40
  290. package/dist/serializer/misc/domain-list-serializer.js +0 -64
  291. package/dist/serializer/misc/list-item-serializer.js +0 -58
  292. package/dist/serializer/misc/list-items-serializer.js +0 -29
  293. package/dist/serializer/misc/logical-expression-serializer.js +0 -136
  294. package/dist/serializer/misc/modifier-list-serializer.js +0 -58
  295. package/dist/serializer/misc/modifier-serializer.js +0 -49
  296. package/dist/serializer/misc/parameter-list-serializer.js +0 -52
  297. package/dist/serializer/misc/value-serializer.js +0 -50
  298. package/dist/serializer/network/host-rule-serializer.js +0 -70
  299. package/dist/serializer/network/hostname-list-serializer.js +0 -53
  300. package/dist/serializer/network/network-rule-serializer.js +0 -54
  301. package/dist/serializer/rule-serializer.js +0 -61
  302. package/dist/types/deserializer/base-deserializer.d.ts +0 -15
  303. package/dist/types/deserializer/comment/agent-comment-deserializer.d.ts +0 -34
  304. package/dist/types/deserializer/comment/agent-deserializer.d.ts +0 -25
  305. package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +0 -16
  306. package/dist/types/deserializer/comment/config-comment-deserializer.d.ts +0 -27
  307. package/dist/types/deserializer/comment/hint-comment-deserializer.d.ts +0 -24
  308. package/dist/types/deserializer/comment/hint-deserializer.d.ts +0 -26
  309. package/dist/types/deserializer/comment/metadata-comment-deserializer.d.ts +0 -26
  310. package/dist/types/deserializer/comment/pre-processor-comment-deserializer.d.ts +0 -29
  311. package/dist/types/deserializer/comment/simple-comment-deserializer.d.ts +0 -26
  312. package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +0 -18
  313. package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +0 -15
  314. package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +0 -16
  315. package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +0 -17
  316. package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +0 -18
  317. package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +0 -19
  318. package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +0 -17
  319. package/dist/types/deserializer/empty-rule-deserializer.d.ts +0 -16
  320. package/dist/types/deserializer/filterlist-deserializer.d.ts +0 -34
  321. package/dist/types/deserializer/index.d.ts +0 -2
  322. package/dist/types/deserializer/invalid-rule-deserializer.d.ts +0 -16
  323. package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +0 -16
  324. package/dist/types/deserializer/misc/domain-list-deserializer.d.ts +0 -15
  325. package/dist/types/deserializer/misc/list-item-deserializer.d.ts +0 -19
  326. package/dist/types/deserializer/misc/list-items-deserializer.d.ts +0 -16
  327. package/dist/types/deserializer/misc/logical-expression-deserializer.d.ts +0 -55
  328. package/dist/types/deserializer/misc/modifier-deserializer.d.ts +0 -18
  329. package/dist/types/deserializer/misc/modifier-list-deserializer.d.ts +0 -20
  330. package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +0 -18
  331. package/dist/types/deserializer/misc/value-deserializer.d.ts +0 -17
  332. package/dist/types/deserializer/network/host-rule-deserializer.d.ts +0 -18
  333. package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +0 -15
  334. package/dist/types/deserializer/network/network-rule-deserializer.d.ts +0 -18
  335. package/dist/types/deserializer/rule-deserializer.d.ts +0 -17
  336. package/dist/types/deserializer/syntax-deserialization-map.d.ts +0 -2
  337. package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +0 -14
  338. package/dist/types/marshalling-utils/comment/agent-common.d.ts +0 -20
  339. package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +0 -42
  340. package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +0 -15
  341. package/dist/types/marshalling-utils/comment/hint-common.d.ts +0 -33
  342. package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +0 -21
  343. package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +0 -37
  344. package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +0 -15
  345. package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +0 -23
  346. package/dist/types/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.d.ts +0 -9
  347. package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +0 -17
  348. package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +0 -14
  349. package/dist/types/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.d.ts +0 -9
  350. package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +0 -28
  351. package/dist/types/marshalling-utils/empty-rule-common.d.ts +0 -13
  352. package/dist/types/marshalling-utils/filter-list-common.d.ts +0 -14
  353. package/dist/types/marshalling-utils/invalid-rule-common.d.ts +0 -14
  354. package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +0 -15
  355. package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +0 -57
  356. package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +0 -24
  357. package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +0 -18
  358. package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +0 -14
  359. package/dist/types/marshalling-utils/misc/list-item-common.d.ts +0 -15
  360. package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +0 -47
  361. package/dist/types/marshalling-utils/misc/modifier-common.d.ts +0 -41
  362. package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +0 -14
  363. package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +0 -14
  364. package/dist/types/marshalling-utils/misc/value-common.d.ts +0 -15
  365. package/dist/types/marshalling-utils/network/network-rule-common.d.ts +0 -18
  366. package/dist/types/marshalling-utils/syntax-serialization-map.d.ts +0 -2
  367. package/dist/types/serializer/base-serializer.d.ts +0 -15
  368. package/dist/types/serializer/comment/agent-comment-serializer.d.ts +0 -34
  369. package/dist/types/serializer/comment/agent-serializer.d.ts +0 -15
  370. package/dist/types/serializer/comment/comment-rule-serializer.d.ts +0 -68
  371. package/dist/types/serializer/comment/config-comment-serializer.d.ts +0 -25
  372. package/dist/types/serializer/comment/hint-comment-serializer.d.ts +0 -23
  373. package/dist/types/serializer/comment/hint-serializer.d.ts +0 -24
  374. package/dist/types/serializer/comment/metadata-comment-serializer.d.ts +0 -25
  375. package/dist/types/serializer/comment/pre-processor-comment-serializer.d.ts +0 -28
  376. package/dist/types/serializer/comment/simple-comment-serializer.d.ts +0 -24
  377. package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +0 -25
  378. package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +0 -25
  379. package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +0 -17
  380. package/dist/types/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.d.ts +0 -25
  381. package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +0 -19
  382. package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +0 -15
  383. package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +0 -15
  384. package/dist/types/serializer/empty-rule-serializer.d.ts +0 -15
  385. package/dist/types/serializer/filterlist-serializer.d.ts +0 -15
  386. package/dist/types/serializer/index.d.ts +0 -1
  387. package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +0 -15
  388. package/dist/types/serializer/invalid-rule-serializer.d.ts +0 -15
  389. package/dist/types/serializer/misc/domain-list-serializer.d.ts +0 -21
  390. package/dist/types/serializer/misc/list-item-serializer.d.ts +0 -16
  391. package/dist/types/serializer/misc/list-items-serializer.d.ts +0 -15
  392. package/dist/types/serializer/misc/logical-expression-serializer.d.ts +0 -52
  393. package/dist/types/serializer/misc/modifier-list-serializer.d.ts +0 -20
  394. package/dist/types/serializer/misc/modifier-serializer.d.ts +0 -18
  395. package/dist/types/serializer/misc/parameter-list-serializer.d.ts +0 -17
  396. package/dist/types/serializer/misc/value-serializer.d.ts +0 -17
  397. package/dist/types/serializer/network/host-rule-serializer.d.ts +0 -30
  398. package/dist/types/serializer/network/hostname-list-serializer.d.ts +0 -15
  399. package/dist/types/serializer/network/network-rule-serializer.d.ts +0 -18
  400. package/dist/types/serializer/rule-serializer.d.ts +0 -17
  401. package/dist/types/utils/binary-schema-version.d.ts +0 -9
  402. package/dist/types/utils/byte-buffer.d.ts +0 -54
  403. package/dist/types/utils/input-byte-buffer.d.ts +0 -146
  404. package/dist/types/utils/is-chromium.d.ts +0 -7
  405. package/dist/types/utils/output-byte-buffer.d.ts +0 -132
  406. package/dist/types/utils/storage-interface.d.ts +0 -23
  407. package/dist/types/utils/text-decoder-polyfill.d.ts +0 -14
  408. package/dist/types/utils/text-encoder-polyfill.d.ts +0 -18
  409. package/dist/utils/binary-schema-version.js +0 -17
  410. package/dist/utils/byte-buffer.js +0 -91
  411. package/dist/utils/input-byte-buffer.js +0 -266
  412. package/dist/utils/is-chromium.js +0 -20
  413. package/dist/utils/output-byte-buffer.js +0 -231
  414. package/dist/utils/text-decoder-polyfill.js +0 -107
  415. package/dist/utils/text-encoder-polyfill.js +0 -78
  416. /package/dist/types/generator/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-generator.d.ts +0 -0
  417. /package/dist/types/generator/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-generator.d.ts +0 -0
  418. /package/dist/types/generator/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-generator.d.ts +0 -0
  419. /package/dist/types/parser/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-parser.d.ts +0 -0
  420. /package/dist/types/parser/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-parser.d.ts +0 -0
  421. /package/dist/types/parser/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-parser.d.ts +0 -0
@@ -1,68 +0,0 @@
1
- import { type AnyCommentRule } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `CommentRuleSerializer` is responsible for serializing any comment-like adblock rules.
6
- *
7
- * @example
8
- * Example rules:
9
- * - Adblock agent rules:
10
- * - ```adblock
11
- * [AdGuard]
12
- * ```
13
- * - ```adblock
14
- * [Adblock Plus 2.0]
15
- * ```
16
- * - etc.
17
- * - AdGuard hint rules:
18
- * - ```adblock
19
- * !+ NOT_OPTIMIZED
20
- * ```
21
- * - ```adblock
22
- * !+ NOT_OPTIMIZED PLATFORM(windows)
23
- * ```
24
- * - etc.
25
- * - Pre-processor rules:
26
- * - ```adblock
27
- * !#if (adguard)
28
- * ```
29
- * - ```adblock
30
- * !#endif
31
- * ```
32
- * - etc.
33
- * - Metadata rules:
34
- * - ```adblock
35
- * ! Title: My List
36
- * ```
37
- * - ```adblock
38
- * ! Version: 2.0.150
39
- * ```
40
- * - etc.
41
- * - AGLint inline config rules:
42
- * - ```adblock
43
- * ! aglint-enable some-rule
44
- * ```
45
- * - ```adblock
46
- * ! aglint-disable some-rule
47
- * ```
48
- * - etc.
49
- * - Simple comments:
50
- * - Regular version:
51
- * ```adblock
52
- * ! This is just a comment
53
- * ```
54
- * - uBlock Origin / "hostlist" version:
55
- * ```adblock
56
- * # This is just a comment
57
- * ```
58
- * - etc.
59
- */
60
- export declare class CommentRuleSerializer extends BaseSerializer {
61
- /**
62
- * Serializes a comment rule node to binary format.
63
- *
64
- * @param node Node to serialize.
65
- * @param buffer ByteBuffer for writing binary data.
66
- */
67
- static serialize(node: AnyCommentRule, buffer: OutputByteBuffer): void;
68
- }
@@ -1,25 +0,0 @@
1
- import { type ConfigCommentRule } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `ConfigCommentSerializer` is responsible for serializing inline AGLint configuration rules into a binary format.
6
- * Generally, the idea is inspired by ESLint inline configuration comments.
7
- *
8
- * @see {@link https://eslint.org/docs/latest/user-guide/configuring/rules#using-configuration-comments}
9
- */
10
- export declare class ConfigCommentSerializer extends BaseSerializer {
11
- /**
12
- * Serializes a config node to binary format.
13
- *
14
- * @param node Node to serialize.
15
- * @param buffer ByteBuffer for writing binary data.
16
- */
17
- private static serializeConfigNode;
18
- /**
19
- * Serializes a metadata comment node to binary format.
20
- *
21
- * @param node Node to serialize.
22
- * @param buffer ByteBuffer for writing binary data.
23
- */
24
- static serialize(node: ConfigCommentRule, buffer: OutputByteBuffer): void;
25
- }
@@ -1,23 +0,0 @@
1
- import { type HintCommentRule } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `HintCommentSerializer` is responsible for serializing AdGuard hint rules.
6
- *
7
- * @example
8
- * The following hint rule
9
- * ```adblock
10
- * !+ NOT_OPTIMIZED PLATFORM(windows)
11
- * ```
12
- * contains two hints: `NOT_OPTIMIZED` and `PLATFORM`.
13
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#hints}
14
- */
15
- export declare class HintCommentSerializer extends BaseSerializer {
16
- /**
17
- * Serializes a hint rule node to binary format.
18
- *
19
- * @param node Node to serialize.
20
- * @param buffer ByteBuffer for writing binary data.
21
- */
22
- static serialize(node: HintCommentRule, buffer: OutputByteBuffer): void;
23
- }
@@ -1,24 +0,0 @@
1
- import { type Hint } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `HintSerializer` is responsible for serializing AdGuard hints.
6
- *
7
- * @example
8
- * If the hint rule is
9
- * ```adblock
10
- * !+ NOT_OPTIMIZED PLATFORM(windows)
11
- * ```
12
- * then the hints are `NOT_OPTIMIZED` and `PLATFORM(windows)`, and this
13
- * class is responsible for parsing them. The rule itself is parsed by
14
- * the `HintRuleParser`, which uses this class to parse single hints.
15
- */
16
- export declare class HintSerializer extends BaseSerializer {
17
- /**
18
- * Serializes a hint node to binary format.
19
- *
20
- * @param node Node to serialize.
21
- * @param buffer ByteBuffer for writing binary data.
22
- */
23
- static serialize(node: Hint, buffer: OutputByteBuffer): void;
24
- }
@@ -1,25 +0,0 @@
1
- import { type MetadataCommentRule } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `MetadataCommentSerializer` is responsible for serializing metadata comments.
6
- * Metadata comments are special comments that specify some properties of the list.
7
- *
8
- * @example
9
- * For example, in the case of
10
- * ```adblock
11
- * ! Title: My List
12
- * ```
13
- * the name of the header is `Title`, and the value is `My List`, which means that
14
- * the list title is `My List`, and it can be used in the adblocker UI.
15
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#special-comments}
16
- */
17
- export declare class MetadataCommentSerializer extends BaseSerializer {
18
- /**
19
- * Serializes a metadata comment node to binary format.
20
- *
21
- * @param node Node to serialize.
22
- * @param buffer ByteBuffer for writing binary data.
23
- */
24
- static serialize(node: MetadataCommentRule, buffer: OutputByteBuffer): void;
25
- }
@@ -1,28 +0,0 @@
1
- import type { PreProcessorCommentRule } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `PreProcessorSerializer` is responsible for serializing preprocessor rules.
6
- * Pre-processor comments are special comments that are used to control the behavior of the filter list processor.
7
- * Please note that this parser only handles general syntax for now, and does not validate the parameters at
8
- * the parsing stage.
9
- *
10
- * @example
11
- * If your rule is
12
- * ```adblock
13
- * !#if (adguard)
14
- * ```
15
- * then the directive's name is `if` and its value is `(adguard)`, but the parameter list
16
- * is not parsed / validated further.
17
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#pre-processor-directives}
18
- * @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#pre-parsing-directives}
19
- */
20
- export declare class PreProcessorCommentSerializer extends BaseSerializer {
21
- /**
22
- * Serializes a pre-processor comment node to binary format.
23
- *
24
- * @param node Node to serialize.
25
- * @param buffer ByteBuffer for writing binary data.
26
- */
27
- static serialize(node: PreProcessorCommentRule, buffer: OutputByteBuffer): void;
28
- }
@@ -1,24 +0,0 @@
1
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
2
- import { type CommentRule } from '../../nodes/index.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `SimpleCommentSerializer` is responsible for serializing simple comments.
6
- * Some comments have a special meaning in adblock syntax, like agent comments or hints,
7
- * but this serializer is only responsible for serializing regular comments,
8
- * whose only purpose is to provide some human-readable information.
9
- *
10
- * @example
11
- * ```adblock
12
- * ! This is a simple comment
13
- * # This is a simple comment, but in host-like syntax
14
- * ```
15
- */
16
- export declare class SimpleCommentSerializer extends BaseSerializer {
17
- /**
18
- * Serializes a simple comment rule node to binary format.
19
- *
20
- * @param node Node to serialize.
21
- * @param buffer ByteBuffer for writing binary data.
22
- */
23
- static serialize(node: CommentRule, buffer: OutputByteBuffer): void;
24
- }
@@ -1,25 +0,0 @@
1
- import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../../base-serializer.js';
4
- /**
5
- * `AbpSnippetInjectionBodySerializer` is responsible for serializing the body of an Adblock Plus-style snippet rule.
6
- *
7
- * Please note that the serializer will serialize any scriptlet rule if it is syntactically correct.
8
- * For example, it will serialize this:
9
- * ```adblock
10
- * example.com#$#snippet0 arg0
11
- * ```
12
- *
13
- * but it doesn't check if the scriptlet `snippet0` is actually supported by any adblocker.
14
- *
15
- * @see {@link https://help.eyeo.com/adblockplus/snippet-filters-tutorial}
16
- */
17
- export declare class AbpSnippetInjectionBodySerializer extends BaseSerializer {
18
- /**
19
- * Serializes a scriptlet call body node to binary format.
20
- *
21
- * @param node Node to serialize.
22
- * @param buffer ByteBuffer for writing binary data.
23
- */
24
- static serialize(node: ScriptletInjectionRuleBody, buffer: OutputByteBuffer): void;
25
- }
@@ -1,25 +0,0 @@
1
- import { type OutputByteBuffer } from '../../../utils/output-byte-buffer.js';
2
- import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
3
- import { BaseSerializer } from '../../base-serializer.js';
4
- /**
5
- * `AdgScriptletInjectionBodySerializer` is responsible for serializing the body of an AdGuard-style scriptlet rule.
6
- *
7
- * Please note that the serializer will serialize any scriptlet rule if it is syntactically correct.
8
- * For example, it will serialize this:
9
- * ```adblock
10
- * example.com#%#//scriptlet('scriptlet0', 'arg0')
11
- * ```
12
- *
13
- * but it doesn't check if the scriptlet `scriptlet0` is actually supported by any adblocker.
14
- *
15
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#scriptlets}
16
- */
17
- export declare class AdgScriptletInjectionBodySerializer extends BaseSerializer {
18
- /**
19
- * Serializes a scriptlet call body node to binary format.
20
- *
21
- * @param node Node to serialize.
22
- * @param buffer ByteBuffer for writing binary data.
23
- */
24
- static serialize(node: ScriptletInjectionRuleBody, buffer: OutputByteBuffer): void;
25
- }
@@ -1,17 +0,0 @@
1
- import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../../base-serializer.js';
4
- /**
5
- * Serializer for scriptlet injection rule body nodes.
6
- */
7
- export declare class ScriptletBodySerializer extends BaseSerializer {
8
- /**
9
- * Serializes a scriptlet injection rule body node into a compact binary format.
10
- *
11
- * @param node The ScriptletInjectionRuleBody node to serialize.
12
- * @param buffer The OutputByteBuffer used for writing the binary data.
13
- * @param frequentScriptletArgs An optional map of frequently used scriptlet names and their arguments,
14
- * along with their corresponding serialization index.
15
- */
16
- static serialize: (node: ScriptletInjectionRuleBody, buffer: OutputByteBuffer, frequentScriptletArgs?: Map<string, number>) => void;
17
- }
@@ -1,25 +0,0 @@
1
- import { type ScriptletInjectionRuleBody } from '../../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../../base-serializer.js';
4
- /**
5
- * `UboScriptletInjectionBodySerializer` is responsible for serializing the body of a uBlock-style scriptlet rule.
6
- *
7
- * Please note that the parser will parse any scriptlet rule if it is syntactically correct.
8
- * For example, it will parse this:
9
- * ```adblock
10
- * example.com##+js(scriptlet0, arg0)
11
- * ```
12
- *
13
- * but it didn't check if the scriptlet `scriptlet0` actually supported by any adblocker.
14
- *
15
- * @see {@link https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#scriptlet-injection}
16
- */
17
- export declare class UboScriptletInjectionBodySerializer extends BaseSerializer {
18
- /**
19
- * Serializes a scriptlet call body node to binary format.
20
- *
21
- * @param node Node to serialize.
22
- * @param buffer ByteBuffer for writing binary data.
23
- */
24
- static serialize(node: ScriptletInjectionRuleBody, buffer: OutputByteBuffer): void;
25
- }
@@ -1,19 +0,0 @@
1
- import { type AnyCosmeticRule } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `CosmeticRuleSerializer` is responsible for serializing cosmetic rules into a binary format.
6
- *
7
- * This class takes a cosmetic rule Abstract Syntax Tree (AST) and converts it into a compact binary representation.
8
- * It handles the serialization of different types of cosmetic rules, including element hiding, CSS injection,
9
- * JavaScript injection, HTML filtering, and scriptlet injection rules.
10
- */
11
- export declare class CosmeticRuleSerializer extends BaseSerializer {
12
- /**
13
- * Serializes a cosmetic rule node to binary format.
14
- *
15
- * @param node Node to serialize.
16
- * @param buffer ByteBuffer for writing binary data.
17
- */
18
- static serialize(node: AnyCosmeticRule, buffer: OutputByteBuffer): void;
19
- }
@@ -1,15 +0,0 @@
1
- import { type CssInjectionRuleBody } from '../../nodes/index.js';
2
- import type { OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * Serializer for CSS injection rule body nodes.
6
- */
7
- export declare class CssInjectionBodySerializer extends BaseSerializer {
8
- /**
9
- * Serializes a CSS injection rule body node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- */
14
- static serialize(node: CssInjectionRuleBody, buffer: OutputByteBuffer): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { BaseSerializer } from '../base-serializer.js';
2
- import { type ElementHidingRuleBody } from '../../nodes/index.js';
3
- import type { OutputByteBuffer } from '../../utils/output-byte-buffer.js';
4
- /**
5
- * Serializer for element hiding rule body nodes.
6
- */
7
- export declare class ElementHidingBodySerializer extends BaseSerializer {
8
- /**
9
- * Serializes an element hiding rule body node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- */
14
- static serialize(node: ElementHidingRuleBody, buffer: OutputByteBuffer): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { BaseSerializer } from './base-serializer.js';
2
- import { type EmptyRule } from '../nodes/index.js';
3
- import type { OutputByteBuffer } from '../utils/output-byte-buffer.js';
4
- /**
5
- * Serializer for empty rule nodes.
6
- */
7
- export declare class EmptyRuleSerializer extends BaseSerializer {
8
- /**
9
- * Serializes an empty rule node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- */
14
- static serialize(node: EmptyRule, buffer: OutputByteBuffer): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { type FilterList } from '../nodes/index.js';
2
- import { type OutputByteBuffer } from '../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from './base-serializer.js';
4
- /**
5
- * Serializes filter list nodes to binary format.
6
- */
7
- export declare class FilterListSerializer extends BaseSerializer {
8
- /**
9
- * Serializes a filter list node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- */
14
- static serialize(node: FilterList, buffer: OutputByteBuffer): void;
15
- }
@@ -1 +0,0 @@
1
- export { RuleSerializer } from './rule-serializer.js';
@@ -1,15 +0,0 @@
1
- import { BaseSerializer } from './base-serializer.js';
2
- import { type InvalidRuleError } from '../nodes/index.js';
3
- import type { OutputByteBuffer } from '../utils/output-byte-buffer.js';
4
- /**
5
- * Serializer for invalid rule error nodes.
6
- */
7
- export declare class InvalidRuleErrorNodeSerializer extends BaseSerializer {
8
- /**
9
- * Serializes an invalid rule error node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- */
14
- static serialize(node: InvalidRuleError, buffer: OutputByteBuffer): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { BaseSerializer } from './base-serializer.js';
2
- import { type InvalidRule } from '../nodes/index.js';
3
- import type { OutputByteBuffer } from '../utils/output-byte-buffer.js';
4
- /**
5
- * Serializer for invalid rule nodes.
6
- */
7
- export declare class InvalidRuleSerializer extends BaseSerializer {
8
- /**
9
- * Serializes an invalid rule node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- */
14
- static serialize(node: InvalidRule, buffer: OutputByteBuffer): void;
15
- }
@@ -1,21 +0,0 @@
1
- import { type DomainList } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `DomainListSerializer` is responsible for serializing a domain list.
6
- *
7
- * @example
8
- * - If the rule is `example.com,~example.net##.ads`, the domain list is `example.com,~example.net`.
9
- * - If the rule is `ads.js^$script,domains=example.com|~example.org`, the domain list is `example.com|~example.org`.
10
- * This serializer is responsible for serializing these domain lists.
11
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#elemhide_domains}
12
- */
13
- export declare class DomainListSerializer extends BaseSerializer {
14
- /**
15
- * Serializes a domain list node to binary format.
16
- *
17
- * @param node Node to serialize.
18
- * @param buffer ByteBuffer for writing binary data.
19
- */
20
- static serialize(node: DomainList, buffer: OutputByteBuffer): void;
21
- }
@@ -1,16 +0,0 @@
1
- import { BaseSerializer } from '../base-serializer.js';
2
- import { type ListItem, ListItemNodeType } from '../../nodes/index.js';
3
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
4
- /**
5
- * Serializer for list item nodes.
6
- */
7
- export declare class ListItemSerializer extends BaseSerializer {
8
- /**
9
- * Serializes a list item to binary format.
10
- *
11
- * @param item List item to serialize.
12
- * @param buffer Output byte buffer.
13
- * @template T Type of the list item.
14
- */
15
- static serialize<T extends ListItemNodeType>(item: ListItem<T>, buffer: OutputByteBuffer): void;
16
- }
@@ -1,15 +0,0 @@
1
- import { type ListItem, type ListItemNodeType } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- /**
4
- * Serializer for list items.
5
- */
6
- export declare class ListItemsSerializer {
7
- /**
8
- * Serializes a list of items to binary format.
9
- *
10
- * @param items List of items to serialize.
11
- * @param buffer Output byte buffer.
12
- * @template T Type of the list items.
13
- */
14
- static serialize<T extends ListItemNodeType>(items: ListItem<T>[], buffer: OutputByteBuffer): void;
15
- }
@@ -1,52 +0,0 @@
1
- import { type AnyExpressionNode } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * Possible node types in the logical expression.
6
- */
7
- export declare const NodeType: {
8
- readonly Variable: "Variable";
9
- readonly Operator: "Operator";
10
- readonly Parenthesis: "Parenthesis";
11
- };
12
- export type NodeType = typeof NodeType[keyof typeof NodeType];
13
- /**
14
- * `LogicalExpressionSerializer` is responsible for serializing logical expressions.
15
- *
16
- * @example
17
- * From the following rule:
18
- * ```adblock
19
- * !#if (adguard_ext_android_cb || adguard_ext_safari)
20
- * ```
21
- * this parser will parse the expression `(adguard_ext_android_cb || adguard_ext_safari)`.
22
- */
23
- export declare class LogicalExpressionSerializer extends BaseSerializer {
24
- /**
25
- * Serializes a variable node to binary format.
26
- *
27
- * @param node Node to serialize.
28
- * @param buffer ByteBuffer for writing binary data.
29
- */
30
- private static serializeVariableNode;
31
- /**
32
- * Serializes a parenthesis node to binary format.
33
- *
34
- * @param node Node to serialize.
35
- * @param buffer ByteBuffer for writing binary data.
36
- */
37
- private static serializeParenthesisNode;
38
- /**
39
- * Serializes an operator node to binary format.
40
- *
41
- * @param node Node to serialize.
42
- * @param buffer ByteBuffer for writing binary data.
43
- */
44
- private static serializeOperatorNode;
45
- /**
46
- * Serializes a logical expression node to binary format.
47
- *
48
- * @param node Node to serialize.
49
- * @param buffer ByteBuffer for writing binary data.
50
- */
51
- static serialize(node: AnyExpressionNode, buffer: OutputByteBuffer): void;
52
- }
@@ -1,20 +0,0 @@
1
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
2
- import { type ModifierList } from '../../nodes/index.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `ModifierListSerializer` is responsible for serializing modifier lists. Please note that the name is not
6
- * uniform, "modifiers" are also known as "options".
7
- *
8
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules-modifiers}
9
- * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#non-basic-rules-modifiers}
10
- * @see {@link https://help.eyeo.com/adblockplus/how-to-write-filters#options}
11
- */
12
- export declare class ModifierListSerializer extends BaseSerializer {
13
- /**
14
- * Serializes a modifier list node to binary format.
15
- *
16
- * @param node Node to serialize.
17
- * @param buffer ByteBuffer for writing binary data.
18
- */
19
- static serialize(node: ModifierList, buffer: OutputByteBuffer): void;
20
- }
@@ -1,18 +0,0 @@
1
- import { type Modifier } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * `ModifierSerializer` is responsible for serializing modifiers.
6
- *
7
- * @example
8
- * `match-case`, `~third-party`, `domain=example.com|~example.org`
9
- */
10
- export declare class ModifierSerializer extends BaseSerializer {
11
- /**
12
- * Serializes a modifier node to binary format.
13
- *
14
- * @param node Node to serialize.
15
- * @param buffer ByteBuffer for writing binary data.
16
- */
17
- static serialize(node: Modifier, buffer: OutputByteBuffer): void;
18
- }
@@ -1,17 +0,0 @@
1
- import { type ParameterList } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * Serializer for parameter list nodes.
6
- */
7
- export declare class ParameterListSerializer extends BaseSerializer {
8
- /**
9
- * Serializes a parameter list node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- * @param frequentValuesMap Optional map of frequent values.
14
- * @param toLower Whether to lowercase the value before the frequent value match (defaults to `false`).
15
- */
16
- static serialize(node: ParameterList, buffer: OutputByteBuffer, frequentValuesMap?: Map<string, number>, toLower?: boolean): void;
17
- }
@@ -1,17 +0,0 @@
1
- import { type Value } from '../../nodes/index.js';
2
- import { type OutputByteBuffer } from '../../utils/output-byte-buffer.js';
3
- import { BaseSerializer } from '../base-serializer.js';
4
- /**
5
- * Value serializer.
6
- */
7
- export declare class ValueSerializer extends BaseSerializer {
8
- /**
9
- * Serializes a value node to binary format.
10
- *
11
- * @param node Node to serialize.
12
- * @param buffer ByteBuffer for writing binary data.
13
- * @param frequentValuesMap Optional map of frequent values.
14
- * @param toLower Whether to lowercase the value before the frequent value match (defaults to `false`).
15
- */
16
- static serialize(node: Value, buffer: OutputByteBuffer, frequentValuesMap?: Map<string, number>, toLower?: boolean): void;
17
- }