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

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 (613) hide show
  1. package/README.md +1 -1
  2. package/dist/{esm/ast-utils/clone.mjs → ast-utils/clone.js} +2 -2
  3. package/dist/{esm/ast-utils/modifiers.mjs → ast-utils/modifiers.js} +3 -3
  4. package/dist/{esm/ast-utils/network-rules.mjs → ast-utils/network-rules.js} +5 -5
  5. package/dist/{esm/ast-utils/scriptlets.mjs → ast-utils/scriptlets.js} +4 -4
  6. package/dist/{esm/common/abp-snippet-injection-body-common.mjs → common/abp-snippet-injection-body-common.js} +8 -1
  7. package/dist/{esm/common/agent-common.mjs → common/agent-common.js} +2 -2
  8. package/dist/common/ubo-selector-common.js +17 -0
  9. package/dist/{esm/compatibility-tables/base.mjs → compatibility-tables/base.js} +5 -5
  10. package/dist/{esm/compatibility-tables/compatibility-table-data.mjs → compatibility-tables/compatibility-table-data.js} +2 -2
  11. package/dist/{esm/compatibility-tables/modifiers.mjs → compatibility-tables/modifiers.js} +5 -5
  12. package/dist/compatibility-tables/platforms.js +76 -0
  13. package/dist/{esm/compatibility-tables/redirects.mjs → compatibility-tables/redirects.js} +7 -7
  14. package/dist/{esm/compatibility-tables/schemas/base.mjs → compatibility-tables/schemas/base.js} +3 -3
  15. package/dist/{esm/compatibility-tables/schemas/modifier.mjs → compatibility-tables/schemas/modifier.js} +30 -6
  16. package/dist/{esm/compatibility-tables/schemas/platform.mjs → compatibility-tables/schemas/platform.js} +3 -3
  17. package/dist/{esm/compatibility-tables/schemas/redirect.mjs → compatibility-tables/schemas/redirect.js} +4 -4
  18. package/dist/compatibility-tables/schemas/resource-type.js +36 -0
  19. package/dist/{esm/compatibility-tables/schemas/scriptlet.mjs → compatibility-tables/schemas/scriptlet.js} +3 -3
  20. package/dist/{esm/compatibility-tables/scriptlets.mjs → compatibility-tables/scriptlets.js} +4 -4
  21. package/dist/{esm/compatibility-tables/utils/platform-helpers.mjs → compatibility-tables/utils/platform-helpers.js} +2 -2
  22. package/dist/{esm/compatibility-tables/utils/resource-type-helpers.mjs → compatibility-tables/utils/resource-type-helpers.js} +4 -4
  23. package/dist/{esm/compatibility-tables/utils/zod-camelcase.mjs → compatibility-tables/utils/zod-camelcase.js} +1 -1
  24. package/dist/{esm/converter/base-interfaces/base-converter.mjs → converter/base-interfaces/base-converter.js} +2 -2
  25. package/dist/{esm/converter/base-interfaces/conversion-result.mjs → converter/base-interfaces/conversion-result.js} +1 -1
  26. package/dist/{esm/converter/base-interfaces/rule-converter-base.mjs → converter/base-interfaces/rule-converter-base.js} +3 -3
  27. package/dist/{esm/converter/comment/index.mjs → converter/comment/index.js} +6 -6
  28. package/dist/{esm/converter/cosmetic/css.mjs → converter/cosmetic/css.js} +8 -8
  29. package/dist/{esm/converter/cosmetic/element-hiding.mjs → converter/cosmetic/element-hiding.js} +8 -8
  30. package/dist/{esm/converter/cosmetic/header-removal.mjs → converter/cosmetic/header-removal.js} +11 -11
  31. package/dist/{esm/converter/cosmetic/html.mjs → converter/cosmetic/html.js} +22 -24
  32. package/dist/{esm/converter/cosmetic/index.mjs → converter/cosmetic/index.js} +12 -12
  33. package/dist/{esm/converter/cosmetic/rule-modifiers/adg.mjs → converter/cosmetic/rule-modifiers/adg.js} +9 -9
  34. package/dist/{esm/converter/cosmetic/scriptlet.mjs → converter/cosmetic/scriptlet.js} +22 -22
  35. package/dist/{esm/converter/css/index.mjs → converter/css/index.js} +22 -24
  36. package/dist/{esm/converter/data/css.mjs → converter/data/css.js} +1 -1
  37. package/dist/{esm/converter/filter-list.mjs → converter/filter-list.js} +6 -6
  38. package/dist/converter/index.js +8 -0
  39. package/dist/{esm/converter/misc/network-rule-modifier.mjs → converter/misc/network-rule-modifier.js} +21 -21
  40. package/dist/{esm/converter/network/index.mjs → converter/network/index.js} +5 -5
  41. package/dist/{esm/converter/raw-filter-list.mjs → converter/raw-filter-list.js} +8 -8
  42. package/dist/{esm/converter/rule.mjs → converter/rule.js} +8 -8
  43. package/dist/{esm/deserializer/base-deserializer.mjs → deserializer/base-deserializer.js} +3 -3
  44. package/dist/{esm/deserializer/comment/agent-comment-deserializer.mjs → deserializer/comment/agent-comment-deserializer.js} +13 -8
  45. package/dist/{esm/deserializer/comment/agent-deserializer.mjs → deserializer/comment/agent-deserializer.js} +7 -7
  46. package/dist/{esm/deserializer/comment/comment-rule-deserializer.mjs → deserializer/comment/comment-rule-deserializer.js} +10 -63
  47. package/dist/{esm/deserializer/comment/config-comment-deserializer.mjs → deserializer/comment/config-comment-deserializer.js} +9 -9
  48. package/dist/{esm/deserializer/comment/hint-comment-deserializer.mjs → deserializer/comment/hint-comment-deserializer.js} +14 -9
  49. package/dist/{esm/deserializer/comment/hint-deserializer.mjs → deserializer/comment/hint-deserializer.js} +7 -7
  50. package/dist/{esm/deserializer/comment/metadata-comment-deserializer.mjs → deserializer/comment/metadata-comment-deserializer.js} +8 -8
  51. package/dist/{esm/deserializer/comment/pre-processor-comment-deserializer.mjs → deserializer/comment/pre-processor-comment-deserializer.js} +11 -11
  52. package/dist/{esm/deserializer/comment/simple-comment-deserializer.mjs → deserializer/comment/simple-comment-deserializer.js} +8 -8
  53. package/dist/{esm/deserializer/cosmetic/cosmetic-rule-deserializer.mjs → deserializer/cosmetic/cosmetic-rule-deserializer.js} +23 -17
  54. package/dist/{esm/deserializer/cosmetic/css-injection-body-deserializer.mjs → deserializer/cosmetic/css-injection-body-deserializer.js} +9 -6
  55. package/dist/{esm/deserializer/cosmetic/element-hiding-body-deserializer.mjs → deserializer/cosmetic/element-hiding-body-deserializer.js} +10 -6
  56. package/dist/{esm/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js} +8 -4
  57. package/dist/{esm/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js} +9 -4
  58. package/dist/{esm/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js} +10 -6
  59. package/dist/{esm/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.mjs → deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js} +8 -5
  60. package/dist/{esm/deserializer/empty-rule-deserializer.mjs → deserializer/empty-rule-deserializer.js} +11 -7
  61. package/dist/{esm/deserializer/filterlist-deserializer.mjs → deserializer/filterlist-deserializer.js} +10 -6
  62. package/dist/{esm/deserializer/index.mjs → deserializer/index.js} +3 -3
  63. package/dist/{esm/deserializer/invalid-rule-deserializer.mjs → deserializer/invalid-rule-deserializer.js} +11 -7
  64. package/dist/{esm/deserializer/invalid-rule-error-node-deserializer.mjs → deserializer/invalid-rule-error-node-deserializer.js} +9 -5
  65. package/dist/{esm/deserializer/misc/domain-list-deserializer.mjs → deserializer/misc/domain-list-deserializer.js} +7 -7
  66. package/dist/{esm/deserializer/misc/list-item-deserializer.mjs → deserializer/misc/list-item-deserializer.js} +12 -6
  67. package/dist/{esm/deserializer/misc/list-items-deserializer.mjs → deserializer/misc/list-items-deserializer.js} +6 -2
  68. package/dist/{esm/deserializer/misc/logical-expression-deserializer.mjs → deserializer/misc/logical-expression-deserializer.js} +7 -7
  69. package/dist/{esm/deserializer/misc/modifier-deserializer.mjs → deserializer/misc/modifier-deserializer.js} +7 -7
  70. package/dist/{esm/deserializer/misc/modifier-list-deserializer.mjs → deserializer/misc/modifier-list-deserializer.js} +11 -6
  71. package/dist/{esm/deserializer/misc/parameter-list-deserializer.mjs → deserializer/misc/parameter-list-deserializer.js} +10 -6
  72. package/dist/{esm/deserializer/misc/value-deserializer.mjs → deserializer/misc/value-deserializer.js} +5 -5
  73. package/dist/{esm/deserializer/network/host-rule-deserializer.mjs → deserializer/network/host-rule-deserializer.js} +14 -26
  74. package/dist/{esm/deserializer/network/hostname-list-deserializer.mjs → deserializer/network/hostname-list-deserializer.js} +14 -6
  75. package/dist/{esm/deserializer/network/network-rule-deserializer.mjs → deserializer/network/network-rule-deserializer.js} +10 -10
  76. package/dist/{esm/deserializer/rule-deserializer.mjs → deserializer/rule-deserializer.js} +9 -9
  77. package/dist/{esm/deserializer/syntax-deserialization-map.mjs → deserializer/syntax-deserialization-map.js} +2 -2
  78. package/dist/{esm/errors/adblock-syntax-error.mjs → errors/adblock-syntax-error.js} +1 -1
  79. package/dist/{esm/errors/binary-schema-mismatch-error.mjs → errors/binary-schema-mismatch-error.js} +1 -1
  80. package/dist/{esm/errors/not-implemented-error.mjs → errors/not-implemented-error.js} +1 -1
  81. package/dist/{esm/errors/rule-conversion-error.mjs → errors/rule-conversion-error.js} +1 -1
  82. package/dist/{esm/generator/base-generator.mjs → generator/base-generator.js} +3 -3
  83. package/dist/{esm/generator/comment/agent-comment-generator.mjs → generator/comment/agent-comment-generator.js} +7 -4
  84. package/dist/{esm/generator/comment/agent-generator.mjs → generator/comment/agent-generator.js} +8 -4
  85. package/dist/{esm/generator/comment/comment-rule-generator.mjs → generator/comment/comment-rule-generator.js} +10 -63
  86. package/dist/{esm/generator/comment/config-comment-generator.mjs → generator/comment/config-comment-generator.js} +7 -4
  87. package/dist/{esm/generator/comment/hint-comment-generator.mjs → generator/comment/hint-comment-generator.js} +7 -4
  88. package/dist/{esm/generator/comment/hint-generator.mjs → generator/comment/hint-generator.js} +10 -7
  89. package/dist/{esm/generator/comment/metadata-comment-generator.mjs → generator/comment/metadata-comment-generator.js} +7 -4
  90. package/dist/{esm/generator/comment/pre-processor-comment-generator.mjs → generator/comment/pre-processor-comment-generator.js} +9 -6
  91. package/dist/{esm/generator/comment/simple-comment-generator.mjs → generator/comment/simple-comment-generator.js} +7 -4
  92. package/dist/{esm/generator/cosmetic/body/abp-snippet-injection-body-generator.mjs → generator/cosmetic/body/abp-snippet-injection-body-generator.js} +9 -5
  93. package/dist/{esm/generator/cosmetic/body/adg-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/adg-scriptlet-injection-body-generator.js} +9 -5
  94. package/dist/{esm/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.mjs → generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js} +9 -5
  95. package/dist/{esm/generator/cosmetic/cosmetic-rule-body-generator.mjs → generator/cosmetic/cosmetic-rule-body-generator.js} +15 -11
  96. package/dist/{esm/generator/cosmetic/cosmetic-rule-generator.mjs → generator/cosmetic/cosmetic-rule-generator.js} +9 -19
  97. package/dist/{esm/generator/cosmetic/cosmetic-rule-pattern-generator.mjs → generator/cosmetic/cosmetic-rule-pattern-generator.js} +9 -6
  98. package/dist/{esm/generator/css/adg-css-injection-generator.mjs → generator/css/adg-css-injection-generator.js} +7 -4
  99. package/dist/{esm/generator/filterlist-generator.mjs → generator/filterlist-generator.js} +20 -8
  100. package/dist/{esm/generator/index.mjs → generator/index.js} +4 -4
  101. package/dist/{esm/generator/misc/domain-list-generator.mjs → generator/misc/domain-list-generator.js} +6 -3
  102. package/dist/{esm/generator/misc/list-items-generator.mjs → generator/misc/list-items-generator.js} +5 -2
  103. package/dist/{esm/generator/misc/logical-expression-generator.mjs → generator/misc/logical-expression-generator.js} +7 -4
  104. package/dist/{esm/generator/misc/modifier-generator.mjs → generator/misc/modifier-generator.js} +8 -5
  105. package/dist/{esm/generator/misc/modifier-list-generator.mjs → generator/misc/modifier-list-generator.js} +7 -4
  106. package/dist/{esm/generator/misc/parameter-list-generator.mjs → generator/misc/parameter-list-generator.js} +7 -5
  107. package/dist/{esm/generator/misc/value-generator.mjs → generator/misc/value-generator.js} +5 -2
  108. package/dist/{esm/generator/network/host-rule-generator.mjs → generator/network/host-rule-generator.js} +6 -3
  109. package/dist/{esm/generator/network/network-rule-generator.mjs → generator/network/network-rule-generator.js} +10 -7
  110. package/dist/{esm/generator/rule-generator.mjs → generator/rule-generator.js} +11 -8
  111. package/dist/{esm/index.mjs → index.js} +65 -65
  112. package/dist/{cjs/marshalling-utils/empty-rule-common.js → marshalling-utils/comment/agent-comment-common.js} +8 -8
  113. package/dist/{esm/marshalling-utils/comment/agent-common.mjs → marshalling-utils/comment/agent-common.js} +7 -8
  114. package/dist/{esm/marshalling-utils/comment/config-comment-common.mjs → marshalling-utils/comment/config-comment-common.js} +14 -16
  115. package/dist/marshalling-utils/comment/hint-comment-common.js +22 -0
  116. package/dist/{esm/marshalling-utils/comment/hint-common.mjs → marshalling-utils/comment/hint-common.js} +7 -8
  117. package/dist/{esm/marshalling-utils/comment/metadata-comment-common.mjs → marshalling-utils/comment/metadata-comment-common.js} +8 -9
  118. package/dist/{esm/marshalling-utils/comment/pre-processor-comment-common.mjs → marshalling-utils/comment/pre-processor-comment-common.js} +8 -9
  119. package/dist/marshalling-utils/comment/simple-comment-common.js +22 -0
  120. package/dist/{esm/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.mjs → marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js} +6 -7
  121. package/dist/{esm/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js} +1 -1
  122. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +24 -0
  123. package/dist/{esm/marshalling-utils/cosmetic/body/element-hiding-body-common.mjs → marshalling-utils/cosmetic/body/element-hiding-body-common.js} +6 -7
  124. package/dist/{esm/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.mjs → marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js} +1 -1
  125. package/dist/{esm/marshalling-utils/cosmetic/cosmetic-rule-common.mjs → marshalling-utils/cosmetic/cosmetic-rule-common.js} +11 -12
  126. package/dist/{esm/marshalling-utils/empty-rule-common.mjs → marshalling-utils/empty-rule-common.js} +5 -6
  127. package/dist/{esm/marshalling-utils/filter-list-common.mjs → marshalling-utils/filter-list-common.js} +6 -7
  128. package/dist/{esm/marshalling-utils/invalid-rule-common.mjs → marshalling-utils/invalid-rule-common.js} +6 -7
  129. package/dist/marshalling-utils/invalid-rule-error-node-common.js +22 -0
  130. package/dist/marshalling-utils/misc/binary-type-common.js +66 -0
  131. package/dist/{esm/marshalling-utils/misc/domain-list-common.mjs → marshalling-utils/misc/domain-list-common.js} +8 -9
  132. package/dist/marshalling-utils/misc/host-rule-common.js +25 -0
  133. package/dist/{esm/marshalling-utils/misc/hostname-list-common.mjs → marshalling-utils/misc/hostname-list-common.js} +6 -7
  134. package/dist/{esm/marshalling-utils/misc/list-item-common.mjs → marshalling-utils/misc/list-item-common.js} +7 -8
  135. package/dist/marshalling-utils/misc/logical-expression-common.js +83 -0
  136. package/dist/{esm/marshalling-utils/misc/modifier-common.mjs → marshalling-utils/misc/modifier-common.js} +8 -9
  137. package/dist/{esm/marshalling-utils/misc/modifier-list-common.mjs → marshalling-utils/misc/modifier-list-common.js} +6 -7
  138. package/dist/{esm/marshalling-utils/misc/parameter-list-common.mjs → marshalling-utils/misc/parameter-list-common.js} +6 -7
  139. package/dist/{esm/marshalling-utils/misc/value-common.mjs → marshalling-utils/misc/value-common.js} +7 -8
  140. package/dist/marshalling-utils/network/network-rule-common.js +25 -0
  141. package/dist/{esm/marshalling-utils/syntax-serialization-map.mjs → marshalling-utils/syntax-serialization-map.js} +2 -2
  142. package/dist/{esm/nodes/index.mjs → nodes/index.js} +66 -78
  143. package/dist/{esm/package.json.mjs → package.json.js} +2 -2
  144. package/dist/{esm/parser/base-parser.mjs → parser/base-parser.js} +2 -2
  145. package/dist/{esm/parser/comment/agent-comment-parser.mjs → parser/comment/agent-comment-parser.js} +11 -11
  146. package/dist/{esm/parser/comment/agent-parser.mjs → parser/comment/agent-parser.js} +12 -11
  147. package/dist/{esm/parser/comment/comment-parser.mjs → parser/comment/comment-parser.js} +9 -9
  148. package/dist/{esm/parser/comment/config-comment-parser.mjs → parser/comment/config-comment-parser.js} +9 -9
  149. package/dist/{esm/parser/comment/hint-comment-parser.mjs → parser/comment/hint-comment-parser.js} +9 -9
  150. package/dist/{esm/parser/comment/hint-parser.mjs → parser/comment/hint-parser.js} +8 -8
  151. package/dist/{esm/parser/comment/metadata-comment-parser.mjs → parser/comment/metadata-comment-parser.js} +10 -10
  152. package/dist/{esm/parser/comment/preprocessor-parser.mjs → parser/comment/preprocessor-parser.js} +11 -11
  153. package/dist/{esm/parser/comment/simple-comment-parser.mjs → parser/comment/simple-comment-parser.js} +8 -8
  154. package/dist/{esm/parser/cosmetic/body/abp-snippet-injection-body-parser.mjs → parser/cosmetic/body/abp-snippet-injection-body-parser.js} +8 -8
  155. package/dist/{esm/parser/cosmetic/body/adg-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/adg-scriptlet-injection-body-parser.js} +8 -8
  156. package/dist/{esm/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.mjs → parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js} +7 -7
  157. package/dist/{esm/parser/cosmetic/cosmetic-rule-parser.mjs → parser/cosmetic/cosmetic-rule-parser.js} +18 -18
  158. package/dist/{esm/parser/css/adg-css-injection-parser.mjs → parser/css/adg-css-injection-parser.js} +6 -6
  159. package/dist/{esm/parser/css/balancing.mjs → parser/css/balancing.js} +3 -3
  160. package/dist/{esm/parser/css/constants.mjs → parser/css/constants.js} +1 -1
  161. package/dist/{esm/parser/css/css-token-stream.mjs → parser/css/css-token-stream.js} +6 -6
  162. package/dist/{esm/parser/css/ubo-selector-parser.mjs → parser/css/ubo-selector-parser.js} +7 -7
  163. package/dist/{esm/parser/filterlist-parser.mjs → parser/filterlist-parser.js} +6 -6
  164. package/dist/parser/index.js +12 -0
  165. package/dist/{esm/parser/misc/app-list-parser.mjs → parser/misc/app-list-parser.js} +6 -6
  166. package/dist/{esm/parser/misc/domain-list-parser.mjs → parser/misc/domain-list-parser.js} +6 -6
  167. package/dist/{esm/parser/misc/list-items-parser.mjs → parser/misc/list-items-parser.js} +9 -6
  168. package/dist/{esm/parser/misc/logical-expression-parser.mjs → parser/misc/logical-expression-parser.js} +17 -19
  169. package/dist/{esm/parser/misc/method-list-parser.mjs → parser/misc/method-list-parser.js} +6 -6
  170. package/dist/{esm/parser/misc/modifier-list.mjs → parser/misc/modifier-list.js} +6 -6
  171. package/dist/{esm/parser/misc/modifier-parser.mjs → parser/misc/modifier-parser.js} +7 -7
  172. package/dist/{esm/parser/misc/parameter-list-parser.mjs → parser/misc/parameter-list-parser.js} +9 -6
  173. package/dist/{esm/parser/misc/stealth-option-list-parser.mjs → parser/misc/stealth-option-list-parser.js} +6 -6
  174. package/dist/{esm/parser/misc/ubo-parameter-list-parser.mjs → parser/misc/ubo-parameter-list-parser.js} +11 -8
  175. package/dist/{esm/parser/misc/value-parser.mjs → parser/misc/value-parser.js} +4 -4
  176. package/dist/{esm/parser/network/host-rule-parser.mjs → parser/network/host-rule-parser.js} +7 -7
  177. package/dist/{esm/parser/network/network-rule-parser.mjs → parser/network/network-rule-parser.js} +16 -10
  178. package/dist/{esm/parser/options.mjs → parser/options.js} +1 -1
  179. package/dist/{esm/parser/rule-parser.mjs → parser/rule-parser.js} +10 -10
  180. package/dist/{esm/serializer/base-serializer.mjs → serializer/base-serializer.js} +2 -2
  181. package/dist/{esm/serializer/comment/agent-comment-serializer.mjs → serializer/comment/agent-comment-serializer.js} +10 -7
  182. package/dist/{esm/serializer/comment/agent-serializer.mjs → serializer/comment/agent-serializer.js} +8 -17
  183. package/dist/{esm/serializer/comment/comment-rule-serializer.mjs → serializer/comment/comment-rule-serializer.js} +9 -9
  184. package/dist/{esm/serializer/comment/config-comment-serializer.mjs → serializer/comment/config-comment-serializer.js} +9 -9
  185. package/dist/{esm/serializer/comment/hint-comment-serializer.mjs → serializer/comment/hint-comment-serializer.js} +12 -9
  186. package/dist/{esm/serializer/comment/hint-serializer.mjs → serializer/comment/hint-serializer.js} +8 -8
  187. package/dist/{esm/serializer/comment/metadata-comment-serializer.mjs → serializer/comment/metadata-comment-serializer.js} +7 -7
  188. package/dist/{esm/serializer/comment/pre-processor-comment-serializer.mjs → serializer/comment/pre-processor-comment-serializer.js} +10 -10
  189. package/dist/{esm/serializer/comment/simple-comment-serializer.mjs → serializer/comment/simple-comment-serializer.js} +9 -9
  190. package/dist/{esm/serializer/cosmetic/body/abp-snippet-injection-body-serializer.mjs → serializer/cosmetic/body/abp-snippet-injection-body-serializer.js} +8 -8
  191. package/dist/{esm/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js} +8 -8
  192. package/dist/{esm/serializer/cosmetic/body/scriptlet-body-serializer.mjs → serializer/cosmetic/body/scriptlet-body-serializer.js} +15 -12
  193. package/dist/{esm/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.mjs → serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js} +4 -4
  194. package/dist/{esm/serializer/cosmetic/cosmetic-rule-serializer.mjs → serializer/cosmetic/cosmetic-rule-serializer.js} +21 -30
  195. package/dist/{esm/serializer/cosmetic/css-injection-body-serializer.mjs → serializer/cosmetic/css-injection-body-serializer.js} +10 -7
  196. package/dist/{esm/serializer/cosmetic/element-hiding-body-serializer.mjs → serializer/cosmetic/element-hiding-body-serializer.js} +10 -7
  197. package/dist/{esm/serializer/empty-rule-serializer.mjs → serializer/empty-rule-serializer.js} +9 -6
  198. package/dist/{esm/serializer/filterlist-serializer.mjs → serializer/filterlist-serializer.js} +8 -9
  199. package/dist/{esm/serializer/index.mjs → serializer/index.js} +2 -2
  200. package/dist/{esm/serializer/invalid-rule-error-node-serializer.mjs → serializer/invalid-rule-error-node-serializer.js} +9 -6
  201. package/dist/{esm/serializer/invalid-rule-serializer.mjs → serializer/invalid-rule-serializer.js} +10 -7
  202. package/dist/{esm/serializer/misc/domain-list-serializer.mjs → serializer/misc/domain-list-serializer.js} +9 -9
  203. package/dist/{esm/serializer/misc/list-item-serializer.mjs → serializer/misc/list-item-serializer.js} +10 -7
  204. package/dist/{esm/serializer/misc/list-items-serializer.mjs → serializer/misc/list-items-serializer.js} +5 -2
  205. package/dist/{esm/serializer/misc/logical-expression-serializer.mjs → serializer/misc/logical-expression-serializer.js} +13 -13
  206. package/dist/{esm/serializer/misc/modifier-list-serializer.mjs → serializer/misc/modifier-list-serializer.js} +10 -7
  207. package/dist/{esm/serializer/misc/modifier-serializer.mjs → serializer/misc/modifier-serializer.js} +7 -7
  208. package/dist/{esm/serializer/misc/parameter-list-serializer.mjs → serializer/misc/parameter-list-serializer.js} +10 -7
  209. package/dist/{esm/serializer/misc/value-serializer.mjs → serializer/misc/value-serializer.js} +6 -6
  210. package/dist/{esm/serializer/network/host-rule-serializer.mjs → serializer/network/host-rule-serializer.js} +9 -9
  211. package/dist/{esm/serializer/network/hostname-list-serializer.mjs → serializer/network/hostname-list-serializer.js} +13 -7
  212. package/dist/{esm/serializer/network/network-rule-serializer.mjs → serializer/network/network-rule-serializer.js} +9 -9
  213. package/dist/{esm/serializer/rule-serializer.mjs → serializer/rule-serializer.js} +9 -9
  214. package/dist/types/common/abp-snippet-injection-body-common.d.ts +7 -0
  215. package/dist/types/common/ubo-selector-common.d.ts +7 -6
  216. package/dist/types/compatibility-tables/compatibility-table-data.d.ts +2 -1
  217. package/dist/types/compatibility-tables/platforms.d.ts +36 -34
  218. package/dist/types/compatibility-tables/schemas/base.d.ts +1 -12
  219. package/dist/types/compatibility-tables/schemas/modifier.d.ts +5 -0
  220. package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
  221. package/dist/types/compatibility-tables/schemas/resource-type.d.ts +29 -15
  222. package/dist/types/compatibility-tables/utils/zod-camelcase.d.ts +1 -1
  223. package/dist/types/converter/css/index.d.ts +17 -0
  224. package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +1 -54
  225. package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +6 -0
  226. package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +3 -0
  227. package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +4 -0
  228. package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +4 -0
  229. package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +5 -0
  230. package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +4 -0
  231. package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +4 -1
  232. package/dist/types/deserializer/empty-rule-deserializer.d.ts +4 -0
  233. package/dist/types/deserializer/filterlist-deserializer.d.ts +4 -0
  234. package/dist/types/deserializer/invalid-rule-deserializer.d.ts +4 -0
  235. package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +4 -0
  236. package/dist/types/deserializer/misc/list-item-deserializer.d.ts +6 -0
  237. package/dist/types/deserializer/misc/list-items-deserializer.d.ts +4 -0
  238. package/dist/types/deserializer/misc/modifier-deserializer.d.ts +1 -1
  239. package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +4 -0
  240. package/dist/types/deserializer/network/host-rule-deserializer.d.ts +4 -16
  241. package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +3 -0
  242. package/dist/types/generator/comment/agent-comment-generator.d.ts +3 -0
  243. package/dist/types/generator/comment/agent-generator.d.ts +4 -0
  244. package/dist/types/generator/comment/comment-rule-generator.d.ts +1 -54
  245. package/dist/types/generator/comment/config-comment-generator.d.ts +3 -0
  246. package/dist/types/generator/comment/hint-comment-generator.d.ts +3 -0
  247. package/dist/types/generator/comment/hint-generator.d.ts +6 -3
  248. package/dist/types/generator/comment/index.d.ts +1 -2
  249. package/dist/types/generator/comment/metadata-comment-generator.d.ts +3 -0
  250. package/dist/types/generator/comment/pre-processor-comment-generator.d.ts +3 -0
  251. package/dist/types/generator/comment/simple-comment-generator.d.ts +3 -0
  252. package/dist/types/generator/cosmetic/body/abp-snippet-injection-body-generator.d.ts +4 -0
  253. package/dist/types/generator/cosmetic/body/adg-scriptlet-injection-body-generator.d.ts +5 -1
  254. package/dist/types/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.d.ts +5 -1
  255. package/dist/types/generator/cosmetic/cosmetic-rule-body-generator.d.ts +5 -0
  256. package/dist/types/generator/cosmetic/cosmetic-rule-generator.d.ts +3 -11
  257. package/dist/types/generator/cosmetic/cosmetic-rule-pattern-generator.d.ts +3 -0
  258. package/dist/types/generator/css/adg-css-injection-generator.d.ts +3 -0
  259. package/dist/types/generator/css/ubo-selector-generator.d.ts +3 -0
  260. package/dist/types/generator/filterlist-generator.d.ts +4 -3
  261. package/dist/types/generator/misc/domain-list-generator.d.ts +3 -0
  262. package/dist/types/generator/misc/list-items-generator.d.ts +3 -0
  263. package/dist/types/generator/misc/logical-expression-generator.d.ts +3 -0
  264. package/dist/types/generator/misc/modifier-generator.d.ts +5 -2
  265. package/dist/types/generator/misc/modifier-list-generator.d.ts +3 -0
  266. package/dist/types/generator/misc/parameter-list-generator.d.ts +3 -0
  267. package/dist/types/generator/misc/value-generator.d.ts +3 -0
  268. package/dist/types/generator/network/host-rule-generator.d.ts +3 -0
  269. package/dist/types/generator/network/network-rule-generator.d.ts +6 -3
  270. package/dist/types/generator/rule-generator.d.ts +3 -0
  271. package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +6 -5
  272. package/dist/types/marshalling-utils/comment/agent-common.d.ts +7 -6
  273. package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +15 -13
  274. package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +7 -6
  275. package/dist/types/marshalling-utils/comment/hint-common.d.ts +7 -6
  276. package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +8 -7
  277. package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +8 -7
  278. package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +7 -6
  279. package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +6 -5
  280. package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +9 -8
  281. package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +6 -5
  282. package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +11 -10
  283. package/dist/types/marshalling-utils/empty-rule-common.d.ts +5 -4
  284. package/dist/types/marshalling-utils/filter-list-common.d.ts +6 -5
  285. package/dist/types/marshalling-utils/invalid-rule-common.d.ts +6 -5
  286. package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +7 -6
  287. package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +52 -51
  288. package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +7 -6
  289. package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +10 -9
  290. package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +6 -5
  291. package/dist/types/marshalling-utils/misc/list-item-common.d.ts +7 -6
  292. package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +21 -18
  293. package/dist/types/marshalling-utils/misc/modifier-common.d.ts +8 -7
  294. package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +6 -5
  295. package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +6 -5
  296. package/dist/types/marshalling-utils/misc/value-common.d.ts +7 -6
  297. package/dist/types/marshalling-utils/network/network-rule-common.d.ts +10 -9
  298. package/dist/types/nodes/index.d.ts +104 -98
  299. package/dist/types/parser/index.d.ts +1 -0
  300. package/dist/types/parser/misc/list-items-parser.d.ts +3 -0
  301. package/dist/types/parser/misc/logical-expression-parser.d.ts +6 -5
  302. package/dist/types/parser/misc/parameter-list-parser.d.ts +3 -0
  303. package/dist/types/parser/misc/ubo-parameter-list-parser.d.ts +3 -0
  304. package/dist/types/parser/misc/value-parser.d.ts +1 -1
  305. package/dist/types/serializer/comment/agent-serializer.d.ts +1 -10
  306. package/dist/types/serializer/comment/config-comment-serializer.d.ts +1 -1
  307. package/dist/types/serializer/comment/simple-comment-serializer.d.ts +2 -2
  308. package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +4 -4
  309. package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +4 -4
  310. package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +8 -5
  311. package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +4 -11
  312. package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +3 -0
  313. package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +3 -0
  314. package/dist/types/serializer/empty-rule-serializer.d.ts +3 -0
  315. package/dist/types/serializer/filterlist-serializer.d.ts +1 -2
  316. package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +3 -0
  317. package/dist/types/serializer/invalid-rule-serializer.d.ts +3 -0
  318. package/dist/types/serializer/misc/domain-list-serializer.d.ts +2 -2
  319. package/dist/types/serializer/misc/list-item-serializer.d.ts +3 -0
  320. package/dist/types/serializer/misc/list-items-serializer.d.ts +3 -0
  321. package/dist/types/serializer/misc/logical-expression-serializer.d.ts +7 -6
  322. package/dist/types/serializer/misc/parameter-list-serializer.d.ts +3 -0
  323. package/dist/types/serializer/network/hostname-list-serializer.d.ts +3 -0
  324. package/dist/types/utils/adblockers.d.ts +7 -6
  325. package/dist/types/utils/domain.d.ts +3 -0
  326. package/dist/types/utils/input-byte-buffer.d.ts +6 -0
  327. package/dist/types/utils/output-byte-buffer.d.ts +6 -0
  328. package/dist/types/utils/quotes.d.ts +7 -6
  329. package/dist/types/utils/string.d.ts +3 -0
  330. package/dist/types/validator/value.d.ts +2 -1
  331. package/dist/{esm/utils/adblockers.mjs → utils/adblockers.js} +7 -8
  332. package/dist/{esm/utils/binary-schema-version.mjs → utils/binary-schema-version.js} +1 -1
  333. package/dist/{esm/utils/byte-buffer.mjs → utils/byte-buffer.js} +1 -1
  334. package/dist/{esm/utils/categorizer.mjs → utils/categorizer.js} +4 -4
  335. package/dist/{esm/utils/clone.mjs → utils/clone.js} +1 -1
  336. package/dist/{esm/utils/constants.mjs → utils/constants.js} +1 -1
  337. package/dist/{esm/utils/cosmetic-rule-separator.mjs → utils/cosmetic-rule-separator.js} +3 -3
  338. package/dist/{esm/utils/deep-freeze.mjs → utils/deep-freeze.js} +1 -1
  339. package/dist/{esm/utils/domain.mjs → utils/domain.js} +5 -2
  340. package/dist/{esm/utils/error.mjs → utils/error.js} +1 -1
  341. package/dist/utils/index.js +21 -0
  342. package/dist/{esm/utils/input-byte-buffer.mjs → utils/input-byte-buffer.js} +15 -7
  343. package/dist/{esm/utils/is-chromium.mjs → utils/is-chromium.js} +1 -1
  344. package/dist/{esm/utils/logical-expression.mjs → utils/logical-expression.js} +3 -3
  345. package/dist/{esm/utils/multi-value-map.mjs → utils/multi-value-map.js} +2 -2
  346. package/dist/{esm/utils/output-byte-buffer.mjs → utils/output-byte-buffer.js} +13 -5
  347. package/dist/{esm/utils/position-provider.mjs → utils/position-provider.js} +2 -2
  348. package/dist/{esm/utils/quotes.mjs → utils/quotes.js} +8 -9
  349. package/dist/{esm/utils/regexp.mjs → utils/regexp.js} +2 -2
  350. package/dist/{esm/utils/string.mjs → utils/string.js} +5 -2
  351. package/dist/{esm/utils/text-decoder-polyfill.mjs → utils/text-decoder-polyfill.js} +2 -2
  352. package/dist/{esm/utils/text-encoder-polyfill.mjs → utils/text-encoder-polyfill.js} +1 -1
  353. package/dist/{esm/utils/type-guards.mjs → utils/type-guards.js} +1 -1
  354. package/dist/{esm/validator/constants.mjs → validator/constants.js} +3 -3
  355. package/dist/{esm/validator/helpers.mjs → validator/helpers.js} +3 -3
  356. package/dist/{esm/validator/index.mjs → validator/index.js} +10 -10
  357. package/dist/{esm/validator/value.mjs → validator/value.js} +33 -28
  358. package/dist/{esm/version.mjs → version.js} +2 -2
  359. package/package.json +16 -48
  360. package/dist/cjs/ast-utils/clone.js +0 -65
  361. package/dist/cjs/ast-utils/modifiers.js +0 -56
  362. package/dist/cjs/ast-utils/network-rules.js +0 -43
  363. package/dist/cjs/ast-utils/scriptlets.js +0 -93
  364. package/dist/cjs/common/abp-snippet-injection-body-common.js +0 -18
  365. package/dist/cjs/common/agent-common.js +0 -58
  366. package/dist/cjs/common/ubo-selector-common.js +0 -18
  367. package/dist/cjs/compatibility-tables/base.js +0 -264
  368. package/dist/cjs/compatibility-tables/compatibility-table-data.js +0 -15
  369. package/dist/cjs/compatibility-tables/modifiers.js +0 -57
  370. package/dist/cjs/compatibility-tables/platforms.js +0 -58
  371. package/dist/cjs/compatibility-tables/redirects.js +0 -102
  372. package/dist/cjs/compatibility-tables/schemas/base.js +0 -116
  373. package/dist/cjs/compatibility-tables/schemas/modifier.js +0 -107
  374. package/dist/cjs/compatibility-tables/schemas/platform.js +0 -71
  375. package/dist/cjs/compatibility-tables/schemas/redirect.js +0 -31
  376. package/dist/cjs/compatibility-tables/schemas/resource-type.js +0 -39
  377. package/dist/cjs/compatibility-tables/schemas/scriptlet.js +0 -81
  378. package/dist/cjs/compatibility-tables/scriptlets.js +0 -30
  379. package/dist/cjs/compatibility-tables/utils/platform-helpers.js +0 -112
  380. package/dist/cjs/compatibility-tables/utils/resource-type-helpers.js +0 -64
  381. package/dist/cjs/compatibility-tables/utils/zod-camelcase.js +0 -27
  382. package/dist/cjs/converter/base-interfaces/base-converter.js +0 -61
  383. package/dist/cjs/converter/base-interfaces/conversion-result.js +0 -41
  384. package/dist/cjs/converter/base-interfaces/rule-converter-base.js +0 -62
  385. package/dist/cjs/converter/comment/index.js +0 -56
  386. package/dist/cjs/converter/cosmetic/css.js +0 -71
  387. package/dist/cjs/converter/cosmetic/element-hiding.js +0 -64
  388. package/dist/cjs/converter/cosmetic/header-removal.js +0 -126
  389. package/dist/cjs/converter/cosmetic/html.js +0 -384
  390. package/dist/cjs/converter/cosmetic/index.js +0 -120
  391. package/dist/cjs/converter/cosmetic/rule-modifiers/adg.js +0 -81
  392. package/dist/cjs/converter/cosmetic/scriptlet.js +0 -356
  393. package/dist/cjs/converter/css/index.js +0 -193
  394. package/dist/cjs/converter/data/css.js +0 -133
  395. package/dist/cjs/converter/filter-list.js +0 -90
  396. package/dist/cjs/converter/index.js +0 -15
  397. package/dist/cjs/converter/misc/network-rule-modifier.js +0 -313
  398. package/dist/cjs/converter/network/index.js +0 -101
  399. package/dist/cjs/converter/raw-filter-list.js +0 -58
  400. package/dist/cjs/converter/rule.js +0 -83
  401. package/dist/cjs/deserializer/base-deserializer.js +0 -31
  402. package/dist/cjs/deserializer/comment/agent-comment-deserializer.js +0 -76
  403. package/dist/cjs/deserializer/comment/agent-deserializer.js +0 -67
  404. package/dist/cjs/deserializer/comment/comment-rule-deserializer.js +0 -109
  405. package/dist/cjs/deserializer/comment/config-comment-deserializer.js +0 -113
  406. package/dist/cjs/deserializer/comment/hint-comment-deserializer.js +0 -69
  407. package/dist/cjs/deserializer/comment/hint-deserializer.js +0 -88
  408. package/dist/cjs/deserializer/comment/metadata-comment-deserializer.js +0 -71
  409. package/dist/cjs/deserializer/comment/pre-processor-comment-deserializer.js +0 -114
  410. package/dist/cjs/deserializer/comment/simple-comment-deserializer.js +0 -67
  411. package/dist/cjs/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -127
  412. package/dist/cjs/deserializer/cosmetic/css-injection-body-deserializer.js +0 -55
  413. package/dist/cjs/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -46
  414. package/dist/cjs/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -37
  415. package/dist/cjs/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -37
  416. package/dist/cjs/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -52
  417. package/dist/cjs/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
  418. package/dist/cjs/deserializer/empty-rule-deserializer.js +0 -46
  419. package/dist/cjs/deserializer/filterlist-deserializer.js +0 -83
  420. package/dist/cjs/deserializer/index.js +0 -15
  421. package/dist/cjs/deserializer/invalid-rule-deserializer.js +0 -48
  422. package/dist/cjs/deserializer/invalid-rule-error-node-deserializer.js +0 -48
  423. package/dist/cjs/deserializer/misc/domain-list-deserializer.js +0 -66
  424. package/dist/cjs/deserializer/misc/list-item-deserializer.js +0 -65
  425. package/dist/cjs/deserializer/misc/list-items-deserializer.js +0 -28
  426. package/dist/cjs/deserializer/misc/logical-expression-deserializer.js +0 -199
  427. package/dist/cjs/deserializer/misc/modifier-deserializer.js +0 -89
  428. package/dist/cjs/deserializer/misc/modifier-list-deserializer.js +0 -58
  429. package/dist/cjs/deserializer/misc/parameter-list-deserializer.js +0 -62
  430. package/dist/cjs/deserializer/misc/value-deserializer.js +0 -52
  431. package/dist/cjs/deserializer/network/host-rule-deserializer.js +0 -81
  432. package/dist/cjs/deserializer/network/hostname-list-deserializer.js +0 -50
  433. package/dist/cjs/deserializer/network/network-rule-deserializer.js +0 -67
  434. package/dist/cjs/deserializer/rule-deserializer.js +0 -67
  435. package/dist/cjs/deserializer/syntax-deserialization-map.js +0 -23
  436. package/dist/cjs/errors/adblock-syntax-error.js +0 -41
  437. package/dist/cjs/errors/binary-schema-mismatch-error.js +0 -39
  438. package/dist/cjs/errors/not-implemented-error.js +0 -33
  439. package/dist/cjs/errors/rule-conversion-error.js +0 -28
  440. package/dist/cjs/generator/base-generator.js +0 -29
  441. package/dist/cjs/generator/comment/agent-comment-generator.js +0 -30
  442. package/dist/cjs/generator/comment/agent-generator.js +0 -34
  443. package/dist/cjs/generator/comment/comment-rule-generator.js +0 -102
  444. package/dist/cjs/generator/comment/config-comment-generator.js +0 -44
  445. package/dist/cjs/generator/comment/hint-comment-generator.js +0 -27
  446. package/dist/cjs/generator/comment/hint-generator.js +0 -32
  447. package/dist/cjs/generator/comment/metadata-comment-generator.js +0 -32
  448. package/dist/cjs/generator/comment/pre-processor-comment-generator.js +0 -47
  449. package/dist/cjs/generator/comment/simple-comment-generator.js +0 -28
  450. package/dist/cjs/generator/cosmetic/body/abp-snippet-injection-body-generator.js +0 -36
  451. package/dist/cjs/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +0 -41
  452. package/dist/cjs/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +0 -43
  453. package/dist/cjs/generator/cosmetic/cosmetic-rule-body-generator.js +0 -92
  454. package/dist/cjs/generator/cosmetic/cosmetic-rule-generator.js +0 -66
  455. package/dist/cjs/generator/cosmetic/cosmetic-rule-pattern-generator.js +0 -41
  456. package/dist/cjs/generator/css/adg-css-injection-generator.js +0 -41
  457. package/dist/cjs/generator/filterlist-generator.js +0 -57
  458. package/dist/cjs/generator/index.js +0 -17
  459. package/dist/cjs/generator/misc/domain-list-generator.js +0 -25
  460. package/dist/cjs/generator/misc/list-items-generator.js +0 -38
  461. package/dist/cjs/generator/misc/logical-expression-generator.js +0 -47
  462. package/dist/cjs/generator/misc/modifier-generator.js +0 -33
  463. package/dist/cjs/generator/misc/modifier-list-generator.js +0 -28
  464. package/dist/cjs/generator/misc/parameter-list-generator.js +0 -41
  465. package/dist/cjs/generator/misc/value-generator.js +0 -23
  466. package/dist/cjs/generator/network/host-rule-generator.js +0 -38
  467. package/dist/cjs/generator/network/network-rule-generator.js +0 -37
  468. package/dist/cjs/generator/rule-generator.js +0 -64
  469. package/dist/cjs/index.js +0 -201
  470. package/dist/cjs/marshalling-utils/comment/agent-comment-common.js +0 -22
  471. package/dist/cjs/marshalling-utils/comment/agent-common.js +0 -43
  472. package/dist/cjs/marshalling-utils/comment/config-comment-common.js +0 -58
  473. package/dist/cjs/marshalling-utils/comment/hint-comment-common.js +0 -23
  474. package/dist/cjs/marshalling-utils/comment/hint-common.js +0 -60
  475. package/dist/cjs/marshalling-utils/comment/metadata-comment-common.js +0 -44
  476. package/dist/cjs/marshalling-utils/comment/pre-processor-comment-common.js +0 -63
  477. package/dist/cjs/marshalling-utils/comment/simple-comment-common.js +0 -23
  478. package/dist/cjs/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -64
  479. package/dist/cjs/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -68
  480. package/dist/cjs/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -25
  481. package/dist/cjs/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -22
  482. package/dist/cjs/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -116
  483. package/dist/cjs/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -51
  484. package/dist/cjs/marshalling-utils/filter-list-common.js +0 -22
  485. package/dist/cjs/marshalling-utils/invalid-rule-common.js +0 -22
  486. package/dist/cjs/marshalling-utils/invalid-rule-error-node-common.js +0 -23
  487. package/dist/cjs/marshalling-utils/misc/binary-type-common.js +0 -67
  488. package/dist/cjs/marshalling-utils/misc/domain-list-common.js +0 -39
  489. package/dist/cjs/marshalling-utils/misc/host-rule-common.js +0 -26
  490. package/dist/cjs/marshalling-utils/misc/hostname-list-common.js +0 -22
  491. package/dist/cjs/marshalling-utils/misc/list-item-common.js +0 -23
  492. package/dist/cjs/marshalling-utils/misc/logical-expression-common.js +0 -89
  493. package/dist/cjs/marshalling-utils/misc/modifier-common.js +0 -236
  494. package/dist/cjs/marshalling-utils/misc/modifier-list-common.js +0 -22
  495. package/dist/cjs/marshalling-utils/misc/parameter-list-common.js +0 -22
  496. package/dist/cjs/marshalling-utils/misc/value-common.js +0 -23
  497. package/dist/cjs/marshalling-utils/network/network-rule-common.js +0 -26
  498. package/dist/cjs/marshalling-utils/syntax-serialization-map.js +0 -32
  499. package/dist/cjs/nodes/index.js +0 -180
  500. package/dist/cjs/package.json.js +0 -11
  501. package/dist/cjs/parser/base-parser.js +0 -32
  502. package/dist/cjs/parser/comment/agent-comment-parser.js +0 -121
  503. package/dist/cjs/parser/comment/agent-parser.js +0 -111
  504. package/dist/cjs/parser/comment/comment-parser.js +0 -110
  505. package/dist/cjs/parser/comment/config-comment-parser.js +0 -139
  506. package/dist/cjs/parser/comment/hint-comment-parser.js +0 -119
  507. package/dist/cjs/parser/comment/hint-parser.js +0 -131
  508. package/dist/cjs/parser/comment/metadata-comment-parser.js +0 -131
  509. package/dist/cjs/parser/comment/preprocessor-parser.js +0 -201
  510. package/dist/cjs/parser/comment/simple-comment-parser.js +0 -108
  511. package/dist/cjs/parser/cosmetic/body/abp-snippet-injection-body-parser.js +0 -81
  512. package/dist/cjs/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +0 -151
  513. package/dist/cjs/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +0 -112
  514. package/dist/cjs/parser/cosmetic/cosmetic-rule-parser.js +0 -456
  515. package/dist/cjs/parser/css/adg-css-injection-parser.js +0 -213
  516. package/dist/cjs/parser/css/balancing.js +0 -97
  517. package/dist/cjs/parser/css/constants.js +0 -21
  518. package/dist/cjs/parser/css/css-token-stream.js +0 -345
  519. package/dist/cjs/parser/css/ubo-selector-parser.js +0 -373
  520. package/dist/cjs/parser/filterlist-parser.js +0 -104
  521. package/dist/cjs/parser/index.js +0 -21
  522. package/dist/cjs/parser/misc/app-list-parser.js +0 -47
  523. package/dist/cjs/parser/misc/domain-list-parser.js +0 -54
  524. package/dist/cjs/parser/misc/list-items-parser.js +0 -116
  525. package/dist/cjs/parser/misc/logical-expression-parser.js +0 -283
  526. package/dist/cjs/parser/misc/method-list-parser.js +0 -48
  527. package/dist/cjs/parser/misc/modifier-list.js +0 -72
  528. package/dist/cjs/parser/misc/modifier-parser.js +0 -91
  529. package/dist/cjs/parser/misc/parameter-list-parser.js +0 -74
  530. package/dist/cjs/parser/misc/stealth-option-list-parser.js +0 -48
  531. package/dist/cjs/parser/misc/ubo-parameter-list-parser.js +0 -148
  532. package/dist/cjs/parser/misc/value-parser.js +0 -39
  533. package/dist/cjs/parser/network/host-rule-parser.js +0 -151
  534. package/dist/cjs/parser/network/network-rule-parser.js +0 -113
  535. package/dist/cjs/parser/options.js +0 -25
  536. package/dist/cjs/parser/rule-parser.js +0 -194
  537. package/dist/cjs/serializer/base-serializer.js +0 -31
  538. package/dist/cjs/serializer/comment/agent-comment-serializer.js +0 -73
  539. package/dist/cjs/serializer/comment/agent-serializer.js +0 -70
  540. package/dist/cjs/serializer/comment/comment-rule-serializer.js +0 -107
  541. package/dist/cjs/serializer/comment/config-comment-serializer.js +0 -84
  542. package/dist/cjs/serializer/comment/hint-comment-serializer.js +0 -64
  543. package/dist/cjs/serializer/comment/hint-serializer.js +0 -56
  544. package/dist/cjs/serializer/comment/metadata-comment-serializer.js +0 -75
  545. package/dist/cjs/serializer/comment/pre-processor-comment-serializer.js +0 -73
  546. package/dist/cjs/serializer/comment/simple-comment-serializer.js +0 -54
  547. package/dist/cjs/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -38
  548. package/dist/cjs/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -38
  549. package/dist/cjs/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -49
  550. package/dist/cjs/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -38
  551. package/dist/cjs/serializer/cosmetic/cosmetic-rule-serializer.js +0 -131
  552. package/dist/cjs/serializer/cosmetic/css-injection-body-serializer.js +0 -50
  553. package/dist/cjs/serializer/cosmetic/element-hiding-body-serializer.js +0 -39
  554. package/dist/cjs/serializer/empty-rule-serializer.js +0 -36
  555. package/dist/cjs/serializer/filterlist-serializer.js +0 -48
  556. package/dist/cjs/serializer/index.js +0 -13
  557. package/dist/cjs/serializer/invalid-rule-error-node-serializer.js +0 -40
  558. package/dist/cjs/serializer/invalid-rule-serializer.js +0 -39
  559. package/dist/cjs/serializer/misc/domain-list-serializer.js +0 -66
  560. package/dist/cjs/serializer/misc/list-item-serializer.js +0 -57
  561. package/dist/cjs/serializer/misc/list-items-serializer.js +0 -28
  562. package/dist/cjs/serializer/misc/logical-expression-serializer.js +0 -138
  563. package/dist/cjs/serializer/misc/modifier-list-serializer.js +0 -57
  564. package/dist/cjs/serializer/misc/modifier-serializer.js +0 -51
  565. package/dist/cjs/serializer/misc/parameter-list-serializer.js +0 -51
  566. package/dist/cjs/serializer/misc/value-serializer.js +0 -52
  567. package/dist/cjs/serializer/network/host-rule-serializer.js +0 -72
  568. package/dist/cjs/serializer/network/hostname-list-serializer.js +0 -49
  569. package/dist/cjs/serializer/network/network-rule-serializer.js +0 -56
  570. package/dist/cjs/serializer/rule-serializer.js +0 -63
  571. package/dist/cjs/utils/adblockers.js +0 -57
  572. package/dist/cjs/utils/binary-schema-version.js +0 -19
  573. package/dist/cjs/utils/byte-buffer.js +0 -93
  574. package/dist/cjs/utils/categorizer.js +0 -46
  575. package/dist/cjs/utils/clone.js +0 -30
  576. package/dist/cjs/utils/constants.js +0 -380
  577. package/dist/cjs/utils/cosmetic-rule-separator.js +0 -129
  578. package/dist/cjs/utils/deep-freeze.js +0 -34
  579. package/dist/cjs/utils/domain.js +0 -60
  580. package/dist/cjs/utils/error.js +0 -51
  581. package/dist/cjs/utils/index.js +0 -69
  582. package/dist/cjs/utils/input-byte-buffer.js +0 -259
  583. package/dist/cjs/utils/is-chromium.js +0 -22
  584. package/dist/cjs/utils/logical-expression.js +0 -94
  585. package/dist/cjs/utils/multi-value-map.js +0 -35
  586. package/dist/cjs/utils/output-byte-buffer.js +0 -225
  587. package/dist/cjs/utils/position-provider.js +0 -75
  588. package/dist/cjs/utils/quotes.js +0 -218
  589. package/dist/cjs/utils/regexp.js +0 -190
  590. package/dist/cjs/utils/string.js +0 -560
  591. package/dist/cjs/utils/text-decoder-polyfill.js +0 -109
  592. package/dist/cjs/utils/text-encoder-polyfill.js +0 -80
  593. package/dist/cjs/utils/type-guards.js +0 -52
  594. package/dist/cjs/validator/constants.js +0 -222
  595. package/dist/cjs/validator/helpers.js +0 -49
  596. package/dist/cjs/validator/index.js +0 -176
  597. package/dist/cjs/validator/value.js +0 -565
  598. package/dist/cjs/version.js +0 -20
  599. package/dist/esm/common/ubo-selector-common.mjs +0 -18
  600. package/dist/esm/compatibility-tables/platforms.mjs +0 -58
  601. package/dist/esm/compatibility-tables/schemas/resource-type.mjs +0 -37
  602. package/dist/esm/converter/index.mjs +0 -8
  603. package/dist/esm/marshalling-utils/comment/agent-comment-common.mjs +0 -22
  604. package/dist/esm/marshalling-utils/comment/hint-comment-common.mjs +0 -23
  605. package/dist/esm/marshalling-utils/comment/simple-comment-common.mjs +0 -23
  606. package/dist/esm/marshalling-utils/cosmetic/body/css-injection-body-common.mjs +0 -25
  607. package/dist/esm/marshalling-utils/invalid-rule-error-node-common.mjs +0 -23
  608. package/dist/esm/marshalling-utils/misc/binary-type-common.mjs +0 -67
  609. package/dist/esm/marshalling-utils/misc/host-rule-common.mjs +0 -26
  610. package/dist/esm/marshalling-utils/misc/logical-expression-common.mjs +0 -86
  611. package/dist/esm/marshalling-utils/network/network-rule-common.mjs +0 -26
  612. package/dist/esm/parser/index.mjs +0 -11
  613. package/dist/esm/utils/index.mjs +0 -21
@@ -1,93 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var constants = require('../utils/constants.js');
10
- var quotes = require('../utils/quotes.js');
11
- var typeGuards = require('../utils/type-guards.js');
12
-
13
- /**
14
- * @file Utility functions for working with scriptlet nodes
15
- */
16
- /**
17
- * Get name of the scriptlet from the scriptlet node
18
- *
19
- * @param scriptletNode Scriptlet node to get name of
20
- * @returns Name of the scriptlet
21
- * @throws If the scriptlet is empty
22
- */
23
- function getScriptletName(scriptletNode) {
24
- if (scriptletNode.children.length === 0) {
25
- throw new Error('Empty scriptlet');
26
- }
27
- return scriptletNode.children[0]?.value ?? constants.EMPTY;
28
- }
29
- /**
30
- * Transform the nth argument of the scriptlet node
31
- *
32
- * @param scriptletNode Scriptlet node to transform argument of
33
- * @param index Index of the argument to transform (index 0 is the scriptlet name)
34
- * @param transform Function to transform the argument
35
- */
36
- function transformNthScriptletArgument(scriptletNode, index, transform) {
37
- const child = scriptletNode.children[index];
38
- if (!typeGuards.isUndefined(child)) {
39
- const transformed = transform(child?.value ?? null);
40
- if (typeGuards.isNull(transformed)) {
41
- // eslint-disable-next-line no-param-reassign
42
- scriptletNode.children[index] = null;
43
- return;
44
- }
45
- if (typeGuards.isNull(child)) {
46
- // eslint-disable-next-line no-param-reassign
47
- scriptletNode.children[index] = {
48
- type: 'Value',
49
- value: transformed,
50
- };
51
- return;
52
- }
53
- child.value = transformed;
54
- }
55
- }
56
- /**
57
- * Transform all arguments of the scriptlet node
58
- *
59
- * @param scriptletNode Scriptlet node to transform arguments of
60
- * @param transform Function to transform the arguments
61
- */
62
- function transformAllScriptletArguments(scriptletNode, transform) {
63
- for (let i = 0; i < scriptletNode.children.length; i += 1) {
64
- transformNthScriptletArgument(scriptletNode, i, transform);
65
- }
66
- }
67
- /**
68
- * Set name of the scriptlet.
69
- * Modifies input `scriptletNode` if needed.
70
- *
71
- * @param scriptletNode Scriptlet node to set name of
72
- * @param name Name to set
73
- */
74
- function setScriptletName(scriptletNode, name) {
75
- transformNthScriptletArgument(scriptletNode, 0, () => name);
76
- }
77
- /**
78
- * Set quote type of the scriptlet parameters
79
- *
80
- * @param scriptletNode Scriptlet node to set quote type of
81
- * @param quoteType Preferred quote type
82
- */
83
- function setScriptletQuoteType(scriptletNode, quoteType) {
84
- // null is a special value that means "no value", but we can't change its quote type,
85
- // so we need to convert it to empty string
86
- transformAllScriptletArguments(scriptletNode, (value) => quotes.QuoteUtils.setStringQuoteType(value ?? constants.EMPTY, quoteType));
87
- }
88
-
89
- exports.getScriptletName = getScriptletName;
90
- exports.setScriptletName = setScriptletName;
91
- exports.setScriptletQuoteType = setScriptletQuoteType;
92
- exports.transformAllScriptletArguments = transformAllScriptletArguments;
93
- exports.transformNthScriptletArgument = transformNthScriptletArgument;
@@ -1,18 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- class AbpSnippetInjectionBodyCommon {
10
- /**
11
- * Error messages used by the parser and generator.
12
- */
13
- static ERROR_MESSAGES = {
14
- EMPTY_SCRIPTLET_CALL: 'Empty ABP snippet call',
15
- };
16
- }
17
-
18
- exports.AbpSnippetInjectionBodyCommon = AbpSnippetInjectionBodyCommon;
@@ -1,58 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var adblockers = require('../utils/adblockers.js');
10
-
11
- /**
12
- * Possible AdGuard agent markers.
13
- */
14
- const ADG_NAME_MARKERS = new Set([
15
- 'adguard',
16
- 'adg',
17
- ]);
18
- /**
19
- * Possible uBlock Origin agent markers.
20
- */
21
- const UBO_NAME_MARKERS = new Set([
22
- 'ublock',
23
- 'ublock origin',
24
- 'ubo',
25
- ]);
26
- /**
27
- * Possible Adblock Plus agent markers.
28
- */
29
- const ABP_NAME_MARKERS = new Set([
30
- 'adblock',
31
- 'adblock plus',
32
- 'adblockplus',
33
- 'abp',
34
- ]);
35
- /**
36
- * Returns the adblock syntax based on the adblock name parsed from the agent type comment.
37
- * Needed for modifiers validation of network rules by AGLint.
38
- *
39
- * @param name Adblock name.
40
- *
41
- * @returns Adblock syntax.
42
- */
43
- const getAdblockSyntax = (name) => {
44
- let syntax = adblockers.AdblockSyntax.Common;
45
- const lowerCaseName = name.toLowerCase();
46
- if (ADG_NAME_MARKERS.has(lowerCaseName)) {
47
- syntax = adblockers.AdblockSyntax.Adg;
48
- }
49
- else if (UBO_NAME_MARKERS.has(lowerCaseName)) {
50
- syntax = adblockers.AdblockSyntax.Ubo;
51
- }
52
- else if (ABP_NAME_MARKERS.has(lowerCaseName)) {
53
- syntax = adblockers.AdblockSyntax.Abp;
54
- }
55
- return syntax;
56
- };
57
-
58
- exports.getAdblockSyntax = getAdblockSyntax;
@@ -1,18 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- /**
10
- * Known uBO-specific pseudo-class names.
11
- */
12
- exports.UboPseudoName = void 0;
13
- (function (UboPseudoName) {
14
- UboPseudoName["MatchesMedia"] = "matches-media";
15
- UboPseudoName["MatchesPath"] = "matches-path";
16
- UboPseudoName["Remove"] = "remove";
17
- UboPseudoName["Style"] = "style";
18
- })(exports.UboPseudoName || (exports.UboPseudoName = {}));
@@ -1,264 +0,0 @@
1
- /*
2
- * AGTree v3.0.0-alpha.1 (build date: Tue, 12 Nov 2024 16:11:58 GMT)
3
- * (c) 2024 Adguard Software Ltd.
4
- * Released under the MIT license
5
- * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
- */
7
- 'use strict';
8
-
9
- var platforms = require('./platforms.js');
10
- var typeGuards = require('../utils/type-guards.js');
11
- var platformHelpers = require('./utils/platform-helpers.js');
12
- var adblockers = require('../utils/adblockers.js');
13
-
14
- /* eslint-disable no-bitwise */
15
- /**
16
- * @file Provides common compatibility table methods.
17
- */
18
- /**
19
- * Base compatibility table class which provides common methods to work with compatibility data.
20
- *
21
- * @template T Compatibility data schema.
22
- */
23
- class CompatibilityTableBase {
24
- /**
25
- * Compatibility table data.
26
- */
27
- data;
28
- /**
29
- * Optional name transformer function. If provided,
30
- * it will be called in all methods before processing compatibility data names.
31
- */
32
- nameTransformer;
33
- /**
34
- * Creates a new instance of the common compatibility table.
35
- *
36
- * @param data Compatibility table data.
37
- * @param nameTransformer Optional name transformer function.
38
- */
39
- constructor(data, nameTransformer = null) {
40
- this.data = data;
41
- this.nameTransformer = nameTransformer;
42
- }
43
- /**
44
- * Helper method to get a 'row' from the compatibility table data by name.
45
- *
46
- * @param name Compatibility data name.
47
- * @returns Compatibility table row storage or `null` if not found.
48
- */
49
- getRowStorage(name) {
50
- const idx = this.data.map[name];
51
- if (typeGuards.isUndefined(idx)) {
52
- return null;
53
- }
54
- return this.data.shared[idx];
55
- }
56
- /**
57
- * Checks whether a compatibility data `name` exists for any platform.
58
- *
59
- * @note Technically, do the same as `exists()` method with generic platform _any_
60
- * but it is faster because it does not apply complex logic.
61
- *
62
- * @param name Compatibility data name.
63
- *
64
- * @returns True if the compatibility data exists, false otherwise.
65
- */
66
- existsAny(name) {
67
- const normalizedName = this.nameTransformer ? this.nameTransformer(name) : name;
68
- return !typeGuards.isUndefined(this.data.map[normalizedName]);
69
- }
70
- /**
71
- * Checks whether a compatibility data `name` exists for a specified platform.
72
- *
73
- * @param name Compatibility data name.
74
- * @param platform Specific or generic platform.
75
- *
76
- * @returns True if the compatibility data exists, false otherwise.
77
- */
78
- exists(name, platform) {
79
- const normalizedName = this.nameTransformer ? this.nameTransformer(name) : name;
80
- const data = this.getRowStorage(normalizedName);
81
- if (!data) {
82
- return false;
83
- }
84
- const isMatch = (idx) => {
85
- const el = data.shared[idx];
86
- return !typeGuards.isUndefined(el) && (el.name === normalizedName || !!el.aliases?.includes(normalizedName));
87
- };
88
- if (platformHelpers.isGenericPlatform(platform)) {
89
- // Since indexes are specific platforms in the compatibility table data,
90
- // we can't index them directly if the platform is generic (union of specific platforms).
91
- // In this case, we need to iterate over the keys and return true on the first match.
92
- const keys = Object.keys(data.map);
93
- for (let i = 0; i < keys.length; i += 1) {
94
- const key = Number(keys[i]);
95
- if (platform & key) {
96
- const idx = data.map[key];
97
- if (isMatch(idx)) {
98
- return true;
99
- }
100
- }
101
- }
102
- return false;
103
- }
104
- const idx = data.map[platform];
105
- return isMatch(idx);
106
- }
107
- /**
108
- * Returns a compatibility data by name and specific platform.
109
- *
110
- * @param name The name of the compatibility data.
111
- * @param platform The specific platform.
112
- *
113
- * @returns A single compatibility data or `null` if not found.
114
- */
115
- getSingle(name, platform) {
116
- const normalizedName = this.nameTransformer ? this.nameTransformer(name) : name;
117
- const data = this.getRowStorage(normalizedName);
118
- if (!data) {
119
- return null;
120
- }
121
- const idx = data.map[platform];
122
- return typeGuards.isUndefined(idx) ? null : data.shared[idx];
123
- }
124
- /**
125
- * Returns all compatibility data records for name and specified platform.
126
- *
127
- * @param name Compatibility data name.
128
- * @param platform Specific or generic platform.
129
- *
130
- * @returns Multiple records grouped by platforms.
131
- * Technically, it is an object where keys are platform enums values and values are compatibility data records.
132
- *
133
- * @note Platform enum values can be converted to string names using {@link getSpecificPlatformName} on demand.
134
- */
135
- getMultiple(name, platform) {
136
- const normalizedName = this.nameTransformer ? this.nameTransformer(name) : name;
137
- const data = this.getRowStorage(normalizedName);
138
- if (!data) {
139
- return null;
140
- }
141
- if (platformHelpers.isGenericPlatform(platform)) {
142
- const result = {};
143
- const keys = Object.keys(data.map);
144
- for (let i = 0; i < keys.length; i += 1) {
145
- const key = Number(keys[i]);
146
- if (platform & key) {
147
- const idx = data.map[key];
148
- if (!typeGuards.isUndefined(idx)) {
149
- result[key] = data.shared[idx];
150
- }
151
- }
152
- }
153
- return result;
154
- }
155
- const idx = data.map[platform];
156
- if (typeGuards.isUndefined(idx)) {
157
- return null;
158
- }
159
- return { key: data.shared[idx] };
160
- }
161
- /**
162
- * Returns all compatibility data records for the specified platform.
163
- *
164
- * @param platform Specific or generic platform.
165
- *
166
- * @returns Array of multiple records grouped by platforms.
167
- */
168
- getAllMultiple(platform) {
169
- const result = [];
170
- for (let i = 0; i < this.data.shared.length; i += 1) {
171
- const data = this.data.shared[i];
172
- const names = new Set(data.shared.map(({ name }) => name));
173
- names.forEach((name) => {
174
- const multipleRecords = this.getMultiple(name, platform);
175
- if (multipleRecords) {
176
- result.push(multipleRecords);
177
- }
178
- });
179
- }
180
- return result;
181
- }
182
- /**
183
- * Returns the first compatibility data record for name and specified platform.
184
- *
185
- * @param name Compatibility data name.
186
- * @param platform Specific or generic platform.
187
- *
188
- * @returns First found compatibility data record or `null` if not found.
189
- */
190
- getFirst(name, platform) {
191
- const normalizedName = this.nameTransformer ? this.nameTransformer(name) : name;
192
- const data = this.getRowStorage(normalizedName);
193
- if (!data) {
194
- return null;
195
- }
196
- if (platformHelpers.isGenericPlatform(platform)) {
197
- const keys = Object.keys(data.map);
198
- for (let i = 0; i < keys.length; i += 1) {
199
- const key = Number(keys[i]);
200
- if (platform & key) {
201
- const idx = data.map[key];
202
- if (!typeGuards.isUndefined(idx)) {
203
- // return the first found record
204
- return data.shared[idx];
205
- }
206
- }
207
- }
208
- return null;
209
- }
210
- const idx = data.map[platform];
211
- if (typeGuards.isUndefined(idx)) {
212
- return null;
213
- }
214
- return data.shared[idx];
215
- }
216
- /**
217
- * Returns all compatibility data records for the specified name.
218
- *
219
- * @param name Compatibility data name.
220
- *
221
- * @returns Array of multiple records grouped by platforms.
222
- */
223
- getRow(name) {
224
- const normalizedName = this.nameTransformer ? this.nameTransformer(name) : name;
225
- const data = this.getRowStorage(normalizedName);
226
- if (!data) {
227
- return [];
228
- }
229
- return data.shared;
230
- }
231
- /**
232
- * Returns all compatibility data grouped by products.
233
- *
234
- * @returns Array of multiple records grouped by products.
235
- */
236
- getRowsByProduct() {
237
- const result = [];
238
- for (let i = 0; i < this.data.shared.length; i += 1) {
239
- const data = this.data.shared[i];
240
- const keys = Object.keys(data.map);
241
- const row = {
242
- [adblockers.AdblockSyntax.Adg]: {},
243
- [adblockers.AdblockSyntax.Ubo]: {},
244
- [adblockers.AdblockSyntax.Abp]: {},
245
- };
246
- for (let j = 0; j < keys.length; j += 1) {
247
- const key = Number(keys[j]);
248
- if (key & platforms.GenericPlatform.AdgAny) {
249
- row[adblockers.AdblockSyntax.Adg][key] = data.shared[data.map[key]];
250
- }
251
- else if (key & platforms.GenericPlatform.UboAny) {
252
- row[adblockers.AdblockSyntax.Ubo][key] = data.shared[data.map[key]];
253
- }
254
- else if (key & platforms.GenericPlatform.AbpAny) {
255
- row[adblockers.AdblockSyntax.Abp][key] = data.shared[data.map[key]];
256
- }
257
- }
258
- result.push(row);
259
- }
260
- return result;
261
- }
262
- }
263
-
264
- exports.CompatibilityTableBase = CompatibilityTableBase;