@websolutespa/bom-next 3.0.1 → 3.0.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 (306) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/_virtual/_rolldown/runtime.js +24 -0
  3. package/dist/client/client.d.ts +9 -0
  4. package/dist/client/client.d.ts.map +1 -0
  5. package/dist/client/client.js +18 -0
  6. package/dist/client/client.js.map +1 -0
  7. package/dist/client/extra.d.ts +17 -0
  8. package/dist/client/extra.d.ts.map +1 -0
  9. package/dist/client/extra.js +13 -0
  10. package/dist/client/extra.js.map +1 -0
  11. package/dist/client/label.d.ts +15 -0
  12. package/dist/client/label.d.ts.map +1 -0
  13. package/dist/client/label.js +20 -0
  14. package/dist/client/label.js.map +1 -0
  15. package/dist/client/layout.d.ts +18 -0
  16. package/dist/client/layout.d.ts.map +1 -0
  17. package/dist/client/layout.js +13 -0
  18. package/dist/client/layout.js.map +1 -0
  19. package/dist/client/local.collection.d.ts +32 -0
  20. package/dist/client/local.collection.d.ts.map +1 -0
  21. package/dist/client/local.collection.js +49 -0
  22. package/dist/client/local.collection.js.map +1 -0
  23. package/dist/client/metadata.d.ts +43 -0
  24. package/dist/client/metadata.d.ts.map +1 -0
  25. package/dist/client/metadata.js +146 -0
  26. package/dist/client/metadata.js.map +1 -0
  27. package/dist/client/page.d.ts +404 -0
  28. package/dist/client/page.d.ts.map +1 -0
  29. package/dist/client/page.js +13 -0
  30. package/dist/client/page.js.map +1 -0
  31. package/dist/client/useApi.d.ts +21 -0
  32. package/dist/client/useApi.d.ts.map +1 -0
  33. package/dist/client/useApi.js +65 -0
  34. package/dist/client/useApi.js.map +1 -0
  35. package/dist/client/useCollectionApi.d.ts +21 -0
  36. package/dist/client/useCollectionApi.d.ts.map +1 -0
  37. package/dist/client/useCollectionApi.js +65 -0
  38. package/dist/client/useCollectionApi.js.map +1 -0
  39. package/dist/client/useExtra.d.ts +9 -0
  40. package/dist/client/useExtra.d.ts.map +1 -0
  41. package/dist/client/useExtra.js +13 -0
  42. package/dist/client/useExtra.js.map +1 -0
  43. package/dist/client/useHttp.d.ts +15 -0
  44. package/dist/client/useHttp.d.ts.map +1 -0
  45. package/dist/client/useHttp.js +70 -0
  46. package/dist/client/useHttp.js.map +1 -0
  47. package/dist/client/useLabel.d.ts +9 -0
  48. package/dist/client/useLabel.d.ts.map +1 -0
  49. package/dist/client/useLabel.js +13 -0
  50. package/dist/client/useLabel.js.map +1 -0
  51. package/dist/client/useLayout.d.ts +9 -0
  52. package/dist/client/useLayout.d.ts.map +1 -0
  53. package/dist/client/useLayout.js +13 -0
  54. package/dist/client/useLayout.js.map +1 -0
  55. package/dist/client/useLink.d.ts +7 -0
  56. package/dist/client/useLink.d.ts.map +1 -0
  57. package/dist/client/useLink.js +15 -0
  58. package/dist/client/useLink.js.map +1 -0
  59. package/dist/client/useMetaData.d.ts +9 -0
  60. package/dist/client/useMetaData.d.ts.map +1 -0
  61. package/dist/client/useMetaData.js +13 -0
  62. package/dist/client/useMetaData.js.map +1 -0
  63. package/dist/client/usePage.d.ts +394 -0
  64. package/dist/client/usePage.d.ts.map +1 -0
  65. package/dist/client/usePage.js +13 -0
  66. package/dist/client/usePage.js.map +1 -0
  67. package/dist/client/useUser.d.ts +9 -0
  68. package/dist/client/useUser.d.ts.map +1 -0
  69. package/dist/client/useUser.js +13 -0
  70. package/dist/client/useUser.js.map +1 -0
  71. package/dist/client/user.d.ts +20 -0
  72. package/dist/client/user.d.ts.map +1 -0
  73. package/dist/client/user.js +33 -0
  74. package/dist/client/user.js.map +1 -0
  75. package/dist/exports/client.d.ts +20 -979
  76. package/dist/exports/client.js +19 -5734
  77. package/dist/exports/instrumentation.d.ts +2 -13
  78. package/dist/exports/instrumentation.js +1 -24
  79. package/dist/exports/proxy.d.ts +5 -71
  80. package/dist/exports/proxy.js +4 -253
  81. package/dist/exports/server.d.ts +19 -402
  82. package/dist/exports/server.js +18 -1973
  83. package/dist/index.d.ts +18 -499
  84. package/dist/index.js +10 -200
  85. package/dist/instrumentation/client.d.ts +8 -0
  86. package/dist/instrumentation/client.d.ts.map +1 -0
  87. package/dist/instrumentation/client.js +15 -0
  88. package/dist/instrumentation/client.js.map +1 -0
  89. package/dist/instrumentation/sentry/capture.requestError.js +10 -0
  90. package/dist/instrumentation/sentry/capture.requestError.js.map +1 -0
  91. package/dist/instrumentation/sentry/capture.routerTransitionStart.js +7 -0
  92. package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -0
  93. package/dist/instrumentation/server.d.ts +13 -0
  94. package/dist/instrumentation/server.d.ts.map +1 -0
  95. package/dist/instrumentation/server.js +19 -0
  96. package/dist/instrumentation/server.js.map +1 -0
  97. package/dist/{types2.d.ts → instrumentation/types.d.ts} +2 -2
  98. package/dist/instrumentation/types.d.ts.map +1 -0
  99. package/dist/lib/breadcrumb.d.ts +15 -0
  100. package/dist/lib/breadcrumb.d.ts.map +1 -0
  101. package/dist/lib/breadcrumb.js +20 -0
  102. package/dist/lib/breadcrumb.js.map +1 -0
  103. package/dist/lib/const.d.ts +9 -0
  104. package/dist/lib/const.d.ts.map +1 -0
  105. package/dist/lib/const.js +9 -0
  106. package/dist/lib/const.js.map +1 -0
  107. package/dist/lib/http.d.ts +36 -0
  108. package/dist/lib/http.d.ts.map +1 -0
  109. package/dist/{http.js → lib/http.js} +1 -1
  110. package/dist/lib/http.js.map +1 -0
  111. package/dist/lib/label.d.ts +16 -0
  112. package/dist/lib/label.d.ts.map +1 -0
  113. package/dist/lib/label.js +33 -0
  114. package/dist/lib/label.js.map +1 -0
  115. package/dist/lib/layout.defaults.d.ts +9 -0
  116. package/dist/lib/layout.defaults.d.ts.map +1 -0
  117. package/dist/lib/layout.defaults.js +161 -0
  118. package/dist/lib/layout.defaults.js.map +1 -0
  119. package/dist/lib/link.d.ts +9 -0
  120. package/dist/lib/link.d.ts.map +1 -0
  121. package/dist/lib/link.js +16 -0
  122. package/dist/lib/link.js.map +1 -0
  123. package/dist/lib/meta-data.d.ts +56 -0
  124. package/dist/lib/meta-data.d.ts.map +1 -0
  125. package/dist/lib/open-graph.d.ts +143 -0
  126. package/dist/lib/open-graph.d.ts.map +1 -0
  127. package/dist/lib/pagination.d.ts +27 -0
  128. package/dist/lib/pagination.d.ts.map +1 -0
  129. package/dist/lib/pagination.js +39 -0
  130. package/dist/lib/pagination.js.map +1 -0
  131. package/dist/lib/route.d.ts +17 -0
  132. package/dist/lib/route.d.ts.map +1 -0
  133. package/dist/{route.js → lib/route.js} +1 -1
  134. package/dist/lib/route.js.map +1 -0
  135. package/dist/lib/store.d.ts +27 -0
  136. package/dist/lib/store.d.ts.map +1 -0
  137. package/dist/{store.js → lib/store.js} +1 -24
  138. package/dist/lib/store.js.map +1 -0
  139. package/dist/lib/structured-data.d.ts +9 -0
  140. package/dist/lib/structured-data.d.ts.map +1 -0
  141. package/dist/lib/twitter-card.d.ts +43 -0
  142. package/dist/lib/twitter-card.d.ts.map +1 -0
  143. package/dist/lib/utils.d.ts +13 -0
  144. package/dist/lib/utils.d.ts.map +1 -0
  145. package/dist/lib/utils.js +35 -0
  146. package/dist/lib/utils.js.map +1 -0
  147. package/dist/mock.d.ts +127 -0
  148. package/dist/mock.d.ts.map +1 -0
  149. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +75 -0
  150. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -0
  151. package/dist/node_modules/deepmerge/dist/cjs.js +86 -0
  152. package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -0
  153. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +105 -0
  154. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -0
  155. package/dist/node_modules/dom-serializer/lib/esm/index.js +146 -0
  156. package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -0
  157. package/dist/node_modules/domelementtype/lib/esm/index.js +53 -0
  158. package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -0
  159. package/dist/node_modules/domhandler/lib/esm/index.js +130 -0
  160. package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -0
  161. package/dist/node_modules/domhandler/lib/esm/node.js +307 -0
  162. package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -0
  163. package/dist/node_modules/entities/lib/esm/decode.js +363 -0
  164. package/dist/node_modules/entities/lib/esm/decode.js.map +1 -0
  165. package/dist/node_modules/entities/lib/esm/decode_codepoint.js +59 -0
  166. package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  167. package/dist/node_modules/entities/lib/esm/escape.js +85 -0
  168. package/dist/node_modules/entities/lib/esm/escape.js.map +1 -0
  169. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +6 -0
  170. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  171. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +6 -0
  172. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  173. package/dist/node_modules/html-to-text/lib/html-to-text.js +1816 -0
  174. package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -0
  175. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +435 -0
  176. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -0
  177. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +736 -0
  178. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -0
  179. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +19 -0
  180. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -0
  181. package/dist/node_modules/leac/lib/leac.js +101 -0
  182. package/dist/node_modules/leac/lib/leac.js.map +1 -0
  183. package/dist/node_modules/parseley/lib/parseley.js +310 -0
  184. package/dist/node_modules/parseley/lib/parseley.js.map +1 -0
  185. package/dist/node_modules/peberminta/lib/core.js +149 -0
  186. package/dist/node_modules/peberminta/lib/core.js.map +1 -0
  187. package/dist/node_modules/selderee/lib/selderee.js +319 -0
  188. package/dist/node_modules/selderee/lib/selderee.js.map +1 -0
  189. package/dist/proxy/protected-route.d.ts +9 -0
  190. package/dist/proxy/protected-route.d.ts.map +1 -0
  191. package/dist/proxy/protected-route.js +40 -0
  192. package/dist/proxy/protected-route.js.map +1 -0
  193. package/dist/proxy/proxy.d.ts +31 -0
  194. package/dist/proxy/proxy.d.ts.map +1 -0
  195. package/dist/proxy/proxy.js +49 -0
  196. package/dist/proxy/proxy.js.map +1 -0
  197. package/dist/proxy/route-auto-detection.d.ts +12 -0
  198. package/dist/proxy/route-auto-detection.d.ts.map +1 -0
  199. package/dist/proxy/route-auto-detection.js +82 -0
  200. package/dist/proxy/route-auto-detection.js.map +1 -0
  201. package/dist/proxy/route-proxy.d.ts +36 -0
  202. package/dist/proxy/route-proxy.d.ts.map +1 -0
  203. package/dist/proxy/route-proxy.js +103 -0
  204. package/dist/proxy/route-proxy.js.map +1 -0
  205. package/dist/server/context.d.ts +30 -0
  206. package/dist/server/context.d.ts.map +1 -0
  207. package/dist/server/context.js +106 -0
  208. package/dist/server/context.js.map +1 -0
  209. package/dist/server/handlers/auth.handler.d.ts +10 -0
  210. package/dist/server/handlers/auth.handler.d.ts.map +1 -0
  211. package/dist/server/handlers/auth.handler.js +29 -0
  212. package/dist/server/handlers/auth.handler.js.map +1 -0
  213. package/dist/server/handlers/captions.handler.d.ts +10 -0
  214. package/dist/server/handlers/captions.handler.d.ts.map +1 -0
  215. package/dist/server/handlers/captions.handler.js +33 -0
  216. package/dist/server/handlers/captions.handler.js.map +1 -0
  217. package/dist/server/handlers/collection.handler.d.ts +36 -0
  218. package/dist/server/handlers/collection.handler.d.ts.map +1 -0
  219. package/dist/server/handlers/collection.handler.js +166 -0
  220. package/dist/server/handlers/collection.handler.js.map +1 -0
  221. package/dist/server/handlers/error-response.js +24 -0
  222. package/dist/server/handlers/error-response.js.map +1 -0
  223. package/dist/server/handlers/index.handler.d.ts +9 -0
  224. package/dist/server/handlers/index.handler.d.ts.map +1 -0
  225. package/dist/server/handlers/index.handler.js +145 -0
  226. package/dist/server/handlers/index.handler.js.map +1 -0
  227. package/dist/server/handlers/preview.handler.d.ts +9 -0
  228. package/dist/server/handlers/preview.handler.d.ts.map +1 -0
  229. package/dist/server/handlers/preview.handler.js +15 -0
  230. package/dist/server/handlers/preview.handler.js.map +1 -0
  231. package/dist/server/handlers/registry.handler.d.ts +16 -0
  232. package/dist/server/handlers/registry.handler.d.ts.map +1 -0
  233. package/dist/server/handlers/registry.handler.js +260 -0
  234. package/dist/server/handlers/registry.handler.js.map +1 -0
  235. package/dist/server/handlers/route.handler.d.ts +20 -0
  236. package/dist/server/handlers/route.handler.d.ts.map +1 -0
  237. package/dist/server/handlers/route.handler.js +122 -0
  238. package/dist/server/handlers/route.handler.js.map +1 -0
  239. package/dist/server/handlers/sitemap.handler.d.ts +30 -0
  240. package/dist/server/handlers/sitemap.handler.d.ts.map +1 -0
  241. package/dist/server/handlers/sitemap.handler.js +338 -0
  242. package/dist/server/handlers/sitemap.handler.js.map +1 -0
  243. package/dist/server/handlers/static-params.handler.d.ts +24 -0
  244. package/dist/server/handlers/static-params.handler.d.ts.map +1 -0
  245. package/dist/server/handlers/static-params.handler.js +56 -0
  246. package/dist/server/handlers/static-params.handler.js.map +1 -0
  247. package/dist/server/handlers/vars.handler.d.ts +10 -0
  248. package/dist/server/handlers/vars.handler.d.ts.map +1 -0
  249. package/dist/server/handlers/vars.handler.js +159 -0
  250. package/dist/server/handlers/vars.handler.js.map +1 -0
  251. package/dist/server/layout.js +88 -0
  252. package/dist/server/layout.js.map +1 -0
  253. package/dist/server/lazy.d.ts +11 -0
  254. package/dist/server/lazy.d.ts.map +1 -0
  255. package/dist/server/lazy.js +33 -0
  256. package/dist/server/lazy.js.map +1 -0
  257. package/dist/server/local-api.d.ts +9 -0
  258. package/dist/server/local-api.d.ts.map +1 -0
  259. package/dist/server/local-api.js +60 -0
  260. package/dist/server/local-api.js.map +1 -0
  261. package/dist/server/metadata.d.ts +21 -0
  262. package/dist/server/metadata.d.ts.map +1 -0
  263. package/dist/server/metadata.js +20 -0
  264. package/dist/server/metadata.js.map +1 -0
  265. package/dist/server/mixer-payload.d.ts +63 -0
  266. package/dist/server/mixer-payload.d.ts.map +1 -0
  267. package/dist/server/mixer.d.ts +214 -0
  268. package/dist/server/mixer.d.ts.map +1 -0
  269. package/dist/server/mixer.js +355 -0
  270. package/dist/server/mixer.js.map +1 -0
  271. package/dist/server/page.d.ts +22 -0
  272. package/dist/server/page.d.ts.map +1 -0
  273. package/dist/server/page.js +57 -0
  274. package/dist/server/page.js.map +1 -0
  275. package/dist/server/utils.d.ts +12 -0
  276. package/dist/server/utils.d.ts.map +1 -0
  277. package/dist/{utils2.js → server/utils.js} +3 -3
  278. package/dist/server/utils.js.map +1 -0
  279. package/dist/server/utmz.d.ts +9 -0
  280. package/dist/server/utmz.d.ts.map +1 -0
  281. package/dist/server/utmz.js +14 -0
  282. package/dist/server/utmz.js.map +1 -0
  283. package/dist/types.d.ts +6 -61
  284. package/dist/types.d.ts.map +1 -1
  285. package/package.json +1 -1
  286. package/dist/exports/client.d.ts.map +0 -1
  287. package/dist/exports/client.js.map +0 -1
  288. package/dist/exports/instrumentation.d.ts.map +0 -1
  289. package/dist/exports/instrumentation.js.map +0 -1
  290. package/dist/exports/proxy.d.ts.map +0 -1
  291. package/dist/exports/proxy.js.map +0 -1
  292. package/dist/exports/server.d.ts.map +0 -1
  293. package/dist/exports/server.js.map +0 -1
  294. package/dist/http.js.map +0 -1
  295. package/dist/index.d.ts.map +0 -1
  296. package/dist/index.js.map +0 -1
  297. package/dist/index2.d.ts +0 -4
  298. package/dist/route.js.map +0 -1
  299. package/dist/store.js.map +0 -1
  300. package/dist/types2.d.ts.map +0 -1
  301. package/dist/utils.js +0 -78
  302. package/dist/utils.js.map +0 -1
  303. package/dist/utils2.js.map +0 -1
  304. /package/dist/{config.client.js → instrumentation/sentry/config.client.js} +0 -0
  305. /package/dist/{config.edge.js → instrumentation/sentry/config.edge.js} +0 -0
  306. /package/dist/{config.server.js → instrumentation/sentry/config.server.js} +0 -0
@@ -0,0 +1,435 @@
1
+ import { fromCodePoint } from "../../../../../entities/lib/esm/decode_codepoint.js";
2
+ import Tokenizer, { QuoteType } from "./Tokenizer.js";
3
+ //#region ../../node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js
4
+ const formTags = /* @__PURE__ */ new Set([
5
+ "input",
6
+ "option",
7
+ "optgroup",
8
+ "select",
9
+ "button",
10
+ "datalist",
11
+ "textarea"
12
+ ]);
13
+ const pTag = /* @__PURE__ */ new Set(["p"]);
14
+ const tableSectionTags = /* @__PURE__ */ new Set(["thead", "tbody"]);
15
+ const ddtTags = /* @__PURE__ */ new Set(["dd", "dt"]);
16
+ const rtpTags = /* @__PURE__ */ new Set(["rt", "rp"]);
17
+ const openImpliesClose = /* @__PURE__ */ new Map([
18
+ ["tr", /* @__PURE__ */ new Set([
19
+ "tr",
20
+ "th",
21
+ "td"
22
+ ])],
23
+ ["th", /* @__PURE__ */ new Set(["th"])],
24
+ ["td", /* @__PURE__ */ new Set([
25
+ "thead",
26
+ "th",
27
+ "td"
28
+ ])],
29
+ ["body", /* @__PURE__ */ new Set([
30
+ "head",
31
+ "link",
32
+ "script"
33
+ ])],
34
+ ["li", /* @__PURE__ */ new Set(["li"])],
35
+ ["p", pTag],
36
+ ["h1", pTag],
37
+ ["h2", pTag],
38
+ ["h3", pTag],
39
+ ["h4", pTag],
40
+ ["h5", pTag],
41
+ ["h6", pTag],
42
+ ["select", formTags],
43
+ ["input", formTags],
44
+ ["output", formTags],
45
+ ["button", formTags],
46
+ ["datalist", formTags],
47
+ ["textarea", formTags],
48
+ ["option", /* @__PURE__ */ new Set(["option"])],
49
+ ["optgroup", /* @__PURE__ */ new Set(["optgroup", "option"])],
50
+ ["dd", ddtTags],
51
+ ["dt", ddtTags],
52
+ ["address", pTag],
53
+ ["article", pTag],
54
+ ["aside", pTag],
55
+ ["blockquote", pTag],
56
+ ["details", pTag],
57
+ ["div", pTag],
58
+ ["dl", pTag],
59
+ ["fieldset", pTag],
60
+ ["figcaption", pTag],
61
+ ["figure", pTag],
62
+ ["footer", pTag],
63
+ ["form", pTag],
64
+ ["header", pTag],
65
+ ["hr", pTag],
66
+ ["main", pTag],
67
+ ["nav", pTag],
68
+ ["ol", pTag],
69
+ ["pre", pTag],
70
+ ["section", pTag],
71
+ ["table", pTag],
72
+ ["ul", pTag],
73
+ ["rt", rtpTags],
74
+ ["rp", rtpTags],
75
+ ["tbody", tableSectionTags],
76
+ ["tfoot", tableSectionTags]
77
+ ]);
78
+ const voidElements = /* @__PURE__ */ new Set([
79
+ "area",
80
+ "base",
81
+ "basefont",
82
+ "br",
83
+ "col",
84
+ "command",
85
+ "embed",
86
+ "frame",
87
+ "hr",
88
+ "img",
89
+ "input",
90
+ "isindex",
91
+ "keygen",
92
+ "link",
93
+ "meta",
94
+ "param",
95
+ "source",
96
+ "track",
97
+ "wbr"
98
+ ]);
99
+ const foreignContextElements = /* @__PURE__ */ new Set(["math", "svg"]);
100
+ const htmlIntegrationElements = /* @__PURE__ */ new Set([
101
+ "mi",
102
+ "mo",
103
+ "mn",
104
+ "ms",
105
+ "mtext",
106
+ "annotation-xml",
107
+ "foreignobject",
108
+ "desc",
109
+ "title"
110
+ ]);
111
+ const reNameEnd = /\s|\//;
112
+ var Parser = class {
113
+ constructor(cbs, options = {}) {
114
+ var _a, _b, _c, _d, _e;
115
+ this.options = options;
116
+ /** The start index of the last event. */
117
+ this.startIndex = 0;
118
+ /** The end index of the last event. */
119
+ this.endIndex = 0;
120
+ /**
121
+ * Store the start index of the current open tag,
122
+ * so we can update the start index for attributes.
123
+ */
124
+ this.openTagStart = 0;
125
+ this.tagname = "";
126
+ this.attribname = "";
127
+ this.attribvalue = "";
128
+ this.attribs = null;
129
+ this.stack = [];
130
+ this.foreignContext = [];
131
+ this.buffers = [];
132
+ this.bufferOffset = 0;
133
+ /** The index of the last written buffer. Used when resuming after a `pause()`. */
134
+ this.writeIndex = 0;
135
+ /** Indicates whether the parser has finished running / `.end` has been called. */
136
+ this.ended = false;
137
+ this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};
138
+ this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : !options.xmlMode;
139
+ this.lowerCaseAttributeNames = (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : !options.xmlMode;
140
+ this.tokenizer = new ((_c = options.Tokenizer) !== null && _c !== void 0 ? _c : Tokenizer)(this.options, this);
141
+ (_e = (_d = this.cbs).onparserinit) === null || _e === void 0 || _e.call(_d, this);
142
+ }
143
+ /** @internal */
144
+ ontext(start, endIndex) {
145
+ var _a, _b;
146
+ const data = this.getSlice(start, endIndex);
147
+ this.endIndex = endIndex - 1;
148
+ (_b = (_a = this.cbs).ontext) === null || _b === void 0 || _b.call(_a, data);
149
+ this.startIndex = endIndex;
150
+ }
151
+ /** @internal */
152
+ ontextentity(cp) {
153
+ var _a, _b;
154
+ const index = this.tokenizer.getSectionStart();
155
+ this.endIndex = index - 1;
156
+ (_b = (_a = this.cbs).ontext) === null || _b === void 0 || _b.call(_a, fromCodePoint(cp));
157
+ this.startIndex = index;
158
+ }
159
+ isVoidElement(name) {
160
+ return !this.options.xmlMode && voidElements.has(name);
161
+ }
162
+ /** @internal */
163
+ onopentagname(start, endIndex) {
164
+ this.endIndex = endIndex;
165
+ let name = this.getSlice(start, endIndex);
166
+ if (this.lowerCaseTagNames) name = name.toLowerCase();
167
+ this.emitOpenTag(name);
168
+ }
169
+ emitOpenTag(name) {
170
+ var _a, _b, _c, _d;
171
+ this.openTagStart = this.startIndex;
172
+ this.tagname = name;
173
+ const impliesClose = !this.options.xmlMode && openImpliesClose.get(name);
174
+ if (impliesClose) while (this.stack.length > 0 && impliesClose.has(this.stack[this.stack.length - 1])) {
175
+ const element = this.stack.pop();
176
+ (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 || _b.call(_a, element, true);
177
+ }
178
+ if (!this.isVoidElement(name)) {
179
+ this.stack.push(name);
180
+ if (foreignContextElements.has(name)) this.foreignContext.push(true);
181
+ else if (htmlIntegrationElements.has(name)) this.foreignContext.push(false);
182
+ }
183
+ (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 || _d.call(_c, name);
184
+ if (this.cbs.onopentag) this.attribs = {};
185
+ }
186
+ endOpenTag(isImplied) {
187
+ var _a, _b;
188
+ this.startIndex = this.openTagStart;
189
+ if (this.attribs) {
190
+ (_b = (_a = this.cbs).onopentag) === null || _b === void 0 || _b.call(_a, this.tagname, this.attribs, isImplied);
191
+ this.attribs = null;
192
+ }
193
+ if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) this.cbs.onclosetag(this.tagname, true);
194
+ this.tagname = "";
195
+ }
196
+ /** @internal */
197
+ onopentagend(endIndex) {
198
+ this.endIndex = endIndex;
199
+ this.endOpenTag(false);
200
+ this.startIndex = endIndex + 1;
201
+ }
202
+ /** @internal */
203
+ onclosetag(start, endIndex) {
204
+ var _a, _b, _c, _d, _e, _f;
205
+ this.endIndex = endIndex;
206
+ let name = this.getSlice(start, endIndex);
207
+ if (this.lowerCaseTagNames) name = name.toLowerCase();
208
+ if (foreignContextElements.has(name) || htmlIntegrationElements.has(name)) this.foreignContext.pop();
209
+ if (!this.isVoidElement(name)) {
210
+ const pos = this.stack.lastIndexOf(name);
211
+ if (pos !== -1) {
212
+ if (this.cbs.onclosetag) {
213
+ let count = this.stack.length - pos;
214
+ while (count--) this.cbs.onclosetag(this.stack.pop(), count !== 0);
215
+ } else this.stack.length = pos;
216
+ } else if (!this.options.xmlMode && name === "p") {
217
+ this.emitOpenTag("p");
218
+ this.closeCurrentTag(true);
219
+ }
220
+ } else if (!this.options.xmlMode && name === "br") {
221
+ (_b = (_a = this.cbs).onopentagname) === null || _b === void 0 || _b.call(_a, "br");
222
+ (_d = (_c = this.cbs).onopentag) === null || _d === void 0 || _d.call(_c, "br", {}, true);
223
+ (_f = (_e = this.cbs).onclosetag) === null || _f === void 0 || _f.call(_e, "br", false);
224
+ }
225
+ this.startIndex = endIndex + 1;
226
+ }
227
+ /** @internal */
228
+ onselfclosingtag(endIndex) {
229
+ this.endIndex = endIndex;
230
+ if (this.options.xmlMode || this.options.recognizeSelfClosing || this.foreignContext[this.foreignContext.length - 1]) {
231
+ this.closeCurrentTag(false);
232
+ this.startIndex = endIndex + 1;
233
+ } else this.onopentagend(endIndex);
234
+ }
235
+ closeCurrentTag(isOpenImplied) {
236
+ var _a, _b;
237
+ const name = this.tagname;
238
+ this.endOpenTag(isOpenImplied);
239
+ if (this.stack[this.stack.length - 1] === name) {
240
+ (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 || _b.call(_a, name, !isOpenImplied);
241
+ this.stack.pop();
242
+ }
243
+ }
244
+ /** @internal */
245
+ onattribname(start, endIndex) {
246
+ this.startIndex = start;
247
+ const name = this.getSlice(start, endIndex);
248
+ this.attribname = this.lowerCaseAttributeNames ? name.toLowerCase() : name;
249
+ }
250
+ /** @internal */
251
+ onattribdata(start, endIndex) {
252
+ this.attribvalue += this.getSlice(start, endIndex);
253
+ }
254
+ /** @internal */
255
+ onattribentity(cp) {
256
+ this.attribvalue += fromCodePoint(cp);
257
+ }
258
+ /** @internal */
259
+ onattribend(quote, endIndex) {
260
+ var _a, _b;
261
+ this.endIndex = endIndex;
262
+ (_b = (_a = this.cbs).onattribute) === null || _b === void 0 || _b.call(_a, this.attribname, this.attribvalue, quote === QuoteType.Double ? "\"" : quote === QuoteType.Single ? "'" : quote === QuoteType.NoValue ? void 0 : null);
263
+ if (this.attribs && !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) this.attribs[this.attribname] = this.attribvalue;
264
+ this.attribvalue = "";
265
+ }
266
+ getInstructionName(value) {
267
+ const index = value.search(reNameEnd);
268
+ let name = index < 0 ? value : value.substr(0, index);
269
+ if (this.lowerCaseTagNames) name = name.toLowerCase();
270
+ return name;
271
+ }
272
+ /** @internal */
273
+ ondeclaration(start, endIndex) {
274
+ this.endIndex = endIndex;
275
+ const value = this.getSlice(start, endIndex);
276
+ if (this.cbs.onprocessinginstruction) {
277
+ const name = this.getInstructionName(value);
278
+ this.cbs.onprocessinginstruction(`!${name}`, `!${value}`);
279
+ }
280
+ this.startIndex = endIndex + 1;
281
+ }
282
+ /** @internal */
283
+ onprocessinginstruction(start, endIndex) {
284
+ this.endIndex = endIndex;
285
+ const value = this.getSlice(start, endIndex);
286
+ if (this.cbs.onprocessinginstruction) {
287
+ const name = this.getInstructionName(value);
288
+ this.cbs.onprocessinginstruction(`?${name}`, `?${value}`);
289
+ }
290
+ this.startIndex = endIndex + 1;
291
+ }
292
+ /** @internal */
293
+ oncomment(start, endIndex, offset) {
294
+ var _a, _b, _c, _d;
295
+ this.endIndex = endIndex;
296
+ (_b = (_a = this.cbs).oncomment) === null || _b === void 0 || _b.call(_a, this.getSlice(start, endIndex - offset));
297
+ (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 || _d.call(_c);
298
+ this.startIndex = endIndex + 1;
299
+ }
300
+ /** @internal */
301
+ oncdata(start, endIndex, offset) {
302
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
303
+ this.endIndex = endIndex;
304
+ const value = this.getSlice(start, endIndex - offset);
305
+ if (this.options.xmlMode || this.options.recognizeCDATA) {
306
+ (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 || _b.call(_a);
307
+ (_d = (_c = this.cbs).ontext) === null || _d === void 0 || _d.call(_c, value);
308
+ (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 || _f.call(_e);
309
+ } else {
310
+ (_h = (_g = this.cbs).oncomment) === null || _h === void 0 || _h.call(_g, `[CDATA[${value}]]`);
311
+ (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 || _k.call(_j);
312
+ }
313
+ this.startIndex = endIndex + 1;
314
+ }
315
+ /** @internal */
316
+ onend() {
317
+ var _a, _b;
318
+ if (this.cbs.onclosetag) {
319
+ this.endIndex = this.startIndex;
320
+ for (let index = this.stack.length; index > 0; this.cbs.onclosetag(this.stack[--index], true));
321
+ }
322
+ (_b = (_a = this.cbs).onend) === null || _b === void 0 || _b.call(_a);
323
+ }
324
+ /**
325
+ * Resets the parser to a blank state, ready to parse a new HTML document
326
+ */
327
+ reset() {
328
+ var _a, _b, _c, _d;
329
+ (_b = (_a = this.cbs).onreset) === null || _b === void 0 || _b.call(_a);
330
+ this.tokenizer.reset();
331
+ this.tagname = "";
332
+ this.attribname = "";
333
+ this.attribs = null;
334
+ this.stack.length = 0;
335
+ this.startIndex = 0;
336
+ this.endIndex = 0;
337
+ (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 || _d.call(_c, this);
338
+ this.buffers.length = 0;
339
+ this.bufferOffset = 0;
340
+ this.writeIndex = 0;
341
+ this.ended = false;
342
+ }
343
+ /**
344
+ * Resets the parser, then parses a complete document and
345
+ * pushes it to the handler.
346
+ *
347
+ * @param data Document to parse.
348
+ */
349
+ parseComplete(data) {
350
+ this.reset();
351
+ this.end(data);
352
+ }
353
+ getSlice(start, end) {
354
+ while (start - this.bufferOffset >= this.buffers[0].length) this.shiftBuffer();
355
+ let slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);
356
+ while (end - this.bufferOffset > this.buffers[0].length) {
357
+ this.shiftBuffer();
358
+ slice += this.buffers[0].slice(0, end - this.bufferOffset);
359
+ }
360
+ return slice;
361
+ }
362
+ shiftBuffer() {
363
+ this.bufferOffset += this.buffers[0].length;
364
+ this.writeIndex--;
365
+ this.buffers.shift();
366
+ }
367
+ /**
368
+ * Parses a chunk of data and calls the corresponding callbacks.
369
+ *
370
+ * @param chunk Chunk to parse.
371
+ */
372
+ write(chunk) {
373
+ var _a, _b;
374
+ if (this.ended) {
375
+ (_b = (_a = this.cbs).onerror) === null || _b === void 0 || _b.call(_a, /* @__PURE__ */ new Error(".write() after done!"));
376
+ return;
377
+ }
378
+ this.buffers.push(chunk);
379
+ if (this.tokenizer.running) {
380
+ this.tokenizer.write(chunk);
381
+ this.writeIndex++;
382
+ }
383
+ }
384
+ /**
385
+ * Parses the end of the buffer and clears the stack, calls onend.
386
+ *
387
+ * @param chunk Optional final chunk to parse.
388
+ */
389
+ end(chunk) {
390
+ var _a, _b;
391
+ if (this.ended) {
392
+ (_b = (_a = this.cbs).onerror) === null || _b === void 0 || _b.call(_a, /* @__PURE__ */ new Error(".end() after done!"));
393
+ return;
394
+ }
395
+ if (chunk) this.write(chunk);
396
+ this.ended = true;
397
+ this.tokenizer.end();
398
+ }
399
+ /**
400
+ * Pauses parsing. The parser won't emit events until `resume` is called.
401
+ */
402
+ pause() {
403
+ this.tokenizer.pause();
404
+ }
405
+ /**
406
+ * Resumes parsing after `pause` was called.
407
+ */
408
+ resume() {
409
+ this.tokenizer.resume();
410
+ while (this.tokenizer.running && this.writeIndex < this.buffers.length) this.tokenizer.write(this.buffers[this.writeIndex++]);
411
+ if (this.ended) this.tokenizer.end();
412
+ }
413
+ /**
414
+ * Alias of `write`, for backwards compatibility.
415
+ *
416
+ * @param chunk Chunk to parse.
417
+ * @deprecated
418
+ */
419
+ parseChunk(chunk) {
420
+ this.write(chunk);
421
+ }
422
+ /**
423
+ * Alias of `end`, for backwards compatibility.
424
+ *
425
+ * @param chunk Optional final chunk to parse.
426
+ * @deprecated
427
+ */
428
+ done(chunk) {
429
+ this.end(chunk);
430
+ }
431
+ };
432
+ //#endregion
433
+ export { Parser };
434
+
435
+ //# sourceMappingURL=Parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.js","names":[],"sources":["../../../../../../../../../node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js"],"sourcesContent":["import Tokenizer, { QuoteType } from \"./Tokenizer.js\";\nimport { fromCodePoint } from \"entities/lib/decode.js\";\nconst formTags = new Set([\n \"input\",\n \"option\",\n \"optgroup\",\n \"select\",\n \"button\",\n \"datalist\",\n \"textarea\",\n]);\nconst pTag = new Set([\"p\"]);\nconst tableSectionTags = new Set([\"thead\", \"tbody\"]);\nconst ddtTags = new Set([\"dd\", \"dt\"]);\nconst rtpTags = new Set([\"rt\", \"rp\"]);\nconst openImpliesClose = new Map([\n [\"tr\", new Set([\"tr\", \"th\", \"td\"])],\n [\"th\", new Set([\"th\"])],\n [\"td\", new Set([\"thead\", \"th\", \"td\"])],\n [\"body\", new Set([\"head\", \"link\", \"script\"])],\n [\"li\", new Set([\"li\"])],\n [\"p\", pTag],\n [\"h1\", pTag],\n [\"h2\", pTag],\n [\"h3\", pTag],\n [\"h4\", pTag],\n [\"h5\", pTag],\n [\"h6\", pTag],\n [\"select\", formTags],\n [\"input\", formTags],\n [\"output\", formTags],\n [\"button\", formTags],\n [\"datalist\", formTags],\n [\"textarea\", formTags],\n [\"option\", new Set([\"option\"])],\n [\"optgroup\", new Set([\"optgroup\", \"option\"])],\n [\"dd\", ddtTags],\n [\"dt\", ddtTags],\n [\"address\", pTag],\n [\"article\", pTag],\n [\"aside\", pTag],\n [\"blockquote\", pTag],\n [\"details\", pTag],\n [\"div\", pTag],\n [\"dl\", pTag],\n [\"fieldset\", pTag],\n [\"figcaption\", pTag],\n [\"figure\", pTag],\n [\"footer\", pTag],\n [\"form\", pTag],\n [\"header\", pTag],\n [\"hr\", pTag],\n [\"main\", pTag],\n [\"nav\", pTag],\n [\"ol\", pTag],\n [\"pre\", pTag],\n [\"section\", pTag],\n [\"table\", pTag],\n [\"ul\", pTag],\n [\"rt\", rtpTags],\n [\"rp\", rtpTags],\n [\"tbody\", tableSectionTags],\n [\"tfoot\", tableSectionTags],\n]);\nconst voidElements = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\nconst foreignContextElements = new Set([\"math\", \"svg\"]);\nconst htmlIntegrationElements = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignobject\",\n \"desc\",\n \"title\",\n]);\nconst reNameEnd = /\\s|\\//;\nexport class Parser {\n constructor(cbs, options = {}) {\n var _a, _b, _c, _d, _e;\n this.options = options;\n /** The start index of the last event. */\n this.startIndex = 0;\n /** The end index of the last event. */\n this.endIndex = 0;\n /**\n * Store the start index of the current open tag,\n * so we can update the start index for attributes.\n */\n this.openTagStart = 0;\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribvalue = \"\";\n this.attribs = null;\n this.stack = [];\n this.foreignContext = [];\n this.buffers = [];\n this.bufferOffset = 0;\n /** The index of the last written buffer. Used when resuming after a `pause()`. */\n this.writeIndex = 0;\n /** Indicates whether the parser has finished running / `.end` has been called. */\n this.ended = false;\n this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};\n this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : !options.xmlMode;\n this.lowerCaseAttributeNames =\n (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : !options.xmlMode;\n this.tokenizer = new ((_c = options.Tokenizer) !== null && _c !== void 0 ? _c : Tokenizer)(this.options, this);\n (_e = (_d = this.cbs).onparserinit) === null || _e === void 0 ? void 0 : _e.call(_d, this);\n }\n // Tokenizer event handlers\n /** @internal */\n ontext(start, endIndex) {\n var _a, _b;\n const data = this.getSlice(start, endIndex);\n this.endIndex = endIndex - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n this.startIndex = endIndex;\n }\n /** @internal */\n ontextentity(cp) {\n var _a, _b;\n /*\n * Entities can be emitted on the character, or directly after.\n * We use the section start here to get accurate indices.\n */\n const index = this.tokenizer.getSectionStart();\n this.endIndex = index - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, fromCodePoint(cp));\n this.startIndex = index;\n }\n isVoidElement(name) {\n return !this.options.xmlMode && voidElements.has(name);\n }\n /** @internal */\n onopentagname(start, endIndex) {\n this.endIndex = endIndex;\n let name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n this.emitOpenTag(name);\n }\n emitOpenTag(name) {\n var _a, _b, _c, _d;\n this.openTagStart = this.startIndex;\n this.tagname = name;\n const impliesClose = !this.options.xmlMode && openImpliesClose.get(name);\n if (impliesClose) {\n while (this.stack.length > 0 &&\n impliesClose.has(this.stack[this.stack.length - 1])) {\n const element = this.stack.pop();\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true);\n }\n }\n if (!this.isVoidElement(name)) {\n this.stack.push(name);\n if (foreignContextElements.has(name)) {\n this.foreignContext.push(true);\n }\n else if (htmlIntegrationElements.has(name)) {\n this.foreignContext.push(false);\n }\n }\n (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name);\n if (this.cbs.onopentag)\n this.attribs = {};\n }\n endOpenTag(isImplied) {\n var _a, _b;\n this.startIndex = this.openTagStart;\n if (this.attribs) {\n (_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied);\n this.attribs = null;\n }\n if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) {\n this.cbs.onclosetag(this.tagname, true);\n }\n this.tagname = \"\";\n }\n /** @internal */\n onopentagend(endIndex) {\n this.endIndex = endIndex;\n this.endOpenTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onclosetag(start, endIndex) {\n var _a, _b, _c, _d, _e, _f;\n this.endIndex = endIndex;\n let name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n if (foreignContextElements.has(name) ||\n htmlIntegrationElements.has(name)) {\n this.foreignContext.pop();\n }\n if (!this.isVoidElement(name)) {\n const pos = this.stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this.cbs.onclosetag) {\n let count = this.stack.length - pos;\n while (count--) {\n // We know the stack has sufficient elements.\n this.cbs.onclosetag(this.stack.pop(), count !== 0);\n }\n }\n else\n this.stack.length = pos;\n }\n else if (!this.options.xmlMode && name === \"p\") {\n // Implicit open before close\n this.emitOpenTag(\"p\");\n this.closeCurrentTag(true);\n }\n }\n else if (!this.options.xmlMode && name === \"br\") {\n // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed.\n (_b = (_a = this.cbs).onopentagname) === null || _b === void 0 ? void 0 : _b.call(_a, \"br\");\n (_d = (_c = this.cbs).onopentag) === null || _d === void 0 ? void 0 : _d.call(_c, \"br\", {}, true);\n (_f = (_e = this.cbs).onclosetag) === null || _f === void 0 ? void 0 : _f.call(_e, \"br\", false);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onselfclosingtag(endIndex) {\n this.endIndex = endIndex;\n if (this.options.xmlMode ||\n this.options.recognizeSelfClosing ||\n this.foreignContext[this.foreignContext.length - 1]) {\n this.closeCurrentTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n else {\n // Ignore the fact that the tag is self-closing.\n this.onopentagend(endIndex);\n }\n }\n closeCurrentTag(isOpenImplied) {\n var _a, _b;\n const name = this.tagname;\n this.endOpenTag(isOpenImplied);\n // Self-closing tags will be on the top of the stack\n if (this.stack[this.stack.length - 1] === name) {\n // If the opening tag isn't implied, the closing tag has to be implied.\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied);\n this.stack.pop();\n }\n }\n /** @internal */\n onattribname(start, endIndex) {\n this.startIndex = start;\n const name = this.getSlice(start, endIndex);\n this.attribname = this.lowerCaseAttributeNames\n ? name.toLowerCase()\n : name;\n }\n /** @internal */\n onattribdata(start, endIndex) {\n this.attribvalue += this.getSlice(start, endIndex);\n }\n /** @internal */\n onattribentity(cp) {\n this.attribvalue += fromCodePoint(cp);\n }\n /** @internal */\n onattribend(quote, endIndex) {\n var _a, _b;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === QuoteType.Double\n ? '\"'\n : quote === QuoteType.Single\n ? \"'\"\n : quote === QuoteType.NoValue\n ? undefined\n : null);\n if (this.attribs &&\n !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) {\n this.attribs[this.attribname] = this.attribvalue;\n }\n this.attribvalue = \"\";\n }\n getInstructionName(value) {\n const index = value.search(reNameEnd);\n let name = index < 0 ? value : value.substr(0, index);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n return name;\n }\n /** @internal */\n ondeclaration(start, endIndex) {\n this.endIndex = endIndex;\n const value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n const name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(`!${name}`, `!${value}`);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onprocessinginstruction(start, endIndex) {\n this.endIndex = endIndex;\n const value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n const name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(`?${name}`, `?${value}`);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n oncomment(start, endIndex, offset) {\n var _a, _b, _c, _d;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset));\n (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n oncdata(start, endIndex, offset) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n this.endIndex = endIndex;\n const value = this.getSlice(start, endIndex - offset);\n if (this.options.xmlMode || this.options.recognizeCDATA) {\n (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value);\n (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e);\n }\n else {\n (_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, `[CDATA[${value}]]`);\n (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onend() {\n var _a, _b;\n if (this.cbs.onclosetag) {\n // Set the end index for all remaining tags\n this.endIndex = this.startIndex;\n for (let index = this.stack.length; index > 0; this.cbs.onclosetag(this.stack[--index], true))\n ;\n }\n (_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n /**\n * Resets the parser to a blank state, ready to parse a new HTML document\n */\n reset() {\n var _a, _b, _c, _d;\n (_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a);\n this.tokenizer.reset();\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribs = null;\n this.stack.length = 0;\n this.startIndex = 0;\n this.endIndex = 0;\n (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n this.buffers.length = 0;\n this.bufferOffset = 0;\n this.writeIndex = 0;\n this.ended = false;\n }\n /**\n * Resets the parser, then parses a complete document and\n * pushes it to the handler.\n *\n * @param data Document to parse.\n */\n parseComplete(data) {\n this.reset();\n this.end(data);\n }\n getSlice(start, end) {\n while (start - this.bufferOffset >= this.buffers[0].length) {\n this.shiftBuffer();\n }\n let slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);\n while (end - this.bufferOffset > this.buffers[0].length) {\n this.shiftBuffer();\n slice += this.buffers[0].slice(0, end - this.bufferOffset);\n }\n return slice;\n }\n shiftBuffer() {\n this.bufferOffset += this.buffers[0].length;\n this.writeIndex--;\n this.buffers.shift();\n }\n /**\n * Parses a chunk of data and calls the corresponding callbacks.\n *\n * @param chunk Chunk to parse.\n */\n write(chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".write() after done!\"));\n return;\n }\n this.buffers.push(chunk);\n if (this.tokenizer.running) {\n this.tokenizer.write(chunk);\n this.writeIndex++;\n }\n }\n /**\n * Parses the end of the buffer and clears the stack, calls onend.\n *\n * @param chunk Optional final chunk to parse.\n */\n end(chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".end() after done!\"));\n return;\n }\n if (chunk)\n this.write(chunk);\n this.ended = true;\n this.tokenizer.end();\n }\n /**\n * Pauses parsing. The parser won't emit events until `resume` is called.\n */\n pause() {\n this.tokenizer.pause();\n }\n /**\n * Resumes parsing after `pause` was called.\n */\n resume() {\n this.tokenizer.resume();\n while (this.tokenizer.running &&\n this.writeIndex < this.buffers.length) {\n this.tokenizer.write(this.buffers[this.writeIndex++]);\n }\n if (this.ended)\n this.tokenizer.end();\n }\n /**\n * Alias of `write`, for backwards compatibility.\n *\n * @param chunk Chunk to parse.\n * @deprecated\n */\n parseChunk(chunk) {\n this.write(chunk);\n }\n /**\n * Alias of `end`, for backwards compatibility.\n *\n * @param chunk Optional final chunk to parse.\n * @deprecated\n */\n done(chunk) {\n this.end(chunk);\n }\n}\n//# sourceMappingURL=Parser.js.map"],"x_google_ignoreList":[0],"mappings":"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"}