@ncukondo/search-hub 0.12.1 → 0.12.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 (334) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +30 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/aliases.js +5 -0
  4. package/dist/_virtual/aliases.js.map +1 -0
  5. package/dist/_virtual/attributes.js +5 -0
  6. package/dist/_virtual/attributes.js.map +1 -0
  7. package/dist/_virtual/back.js +5 -0
  8. package/dist/_virtual/back.js.map +1 -0
  9. package/dist/_virtual/comment.js +5 -0
  10. package/dist/_virtual/comment.js.map +1 -0
  11. package/dist/_virtual/compile.js +5 -0
  12. package/dist/_virtual/compile.js.map +1 -0
  13. package/dist/_virtual/compile2.js +5 -0
  14. package/dist/_virtual/compile2.js.map +1 -0
  15. package/dist/_virtual/decode-data-html.js +5 -0
  16. package/dist/_virtual/decode-data-html.js.map +1 -0
  17. package/dist/_virtual/decode-data-xml.js +5 -0
  18. package/dist/_virtual/decode-data-xml.js.map +1 -0
  19. package/dist/_virtual/decode.js +5 -0
  20. package/dist/_virtual/decode.js.map +1 -0
  21. package/dist/_virtual/decode_codepoint.js +5 -0
  22. package/dist/_virtual/decode_codepoint.js.map +1 -0
  23. package/dist/_virtual/encode-html.js +5 -0
  24. package/dist/_virtual/encode-html.js.map +1 -0
  25. package/dist/_virtual/encode.js +5 -0
  26. package/dist/_virtual/encode.js.map +1 -0
  27. package/dist/_virtual/escape.js +5 -0
  28. package/dist/_virtual/escape.js.map +1 -0
  29. package/dist/_virtual/feeds.js +5 -0
  30. package/dist/_virtual/feeds.js.map +1 -0
  31. package/dist/_virtual/filters.js +5 -0
  32. package/dist/_virtual/filters.js.map +1 -0
  33. package/dist/_virtual/foreignNames.js +5 -0
  34. package/dist/_virtual/foreignNames.js.map +1 -0
  35. package/dist/_virtual/general.js +5 -0
  36. package/dist/_virtual/general.js.map +1 -0
  37. package/dist/_virtual/he.js +5 -0
  38. package/dist/_virtual/he.js.map +1 -0
  39. package/dist/_virtual/helpers.js +5 -0
  40. package/dist/_virtual/helpers.js.map +1 -0
  41. package/dist/_virtual/html.js +5 -0
  42. package/dist/_virtual/html.js.map +1 -0
  43. package/dist/_virtual/index.js +6 -0
  44. package/dist/_virtual/index.js.map +1 -0
  45. package/dist/_virtual/index10.js +5 -0
  46. package/dist/_virtual/index10.js.map +1 -0
  47. package/dist/_virtual/index11.js +5 -0
  48. package/dist/_virtual/index11.js.map +1 -0
  49. package/dist/_virtual/index2.js +5 -0
  50. package/dist/_virtual/index2.js.map +1 -0
  51. package/dist/_virtual/index3.js +5 -0
  52. package/dist/_virtual/index3.js.map +1 -0
  53. package/dist/_virtual/index4.js +5 -0
  54. package/dist/_virtual/index4.js.map +1 -0
  55. package/dist/_virtual/index5.js +7 -0
  56. package/dist/_virtual/index5.js.map +1 -0
  57. package/dist/_virtual/index6.js +5 -0
  58. package/dist/_virtual/index6.js.map +1 -0
  59. package/dist/_virtual/index7.js +5 -0
  60. package/dist/_virtual/index7.js.map +1 -0
  61. package/dist/_virtual/index8.js +5 -0
  62. package/dist/_virtual/index8.js.map +1 -0
  63. package/dist/_virtual/index9.js +5 -0
  64. package/dist/_virtual/index9.js.map +1 -0
  65. package/dist/_virtual/legacy.js +5 -0
  66. package/dist/_virtual/legacy.js.map +1 -0
  67. package/dist/_virtual/manipulation.js +5 -0
  68. package/dist/_virtual/manipulation.js.map +1 -0
  69. package/dist/_virtual/matcher.js +5 -0
  70. package/dist/_virtual/matcher.js.map +1 -0
  71. package/dist/_virtual/node.js +5 -0
  72. package/dist/_virtual/node.js.map +1 -0
  73. package/dist/_virtual/node2.js +5 -0
  74. package/dist/_virtual/node2.js.map +1 -0
  75. package/dist/_virtual/parse.js +5 -0
  76. package/dist/_virtual/parse.js.map +1 -0
  77. package/dist/_virtual/parse2.js +5 -0
  78. package/dist/_virtual/parse2.js.map +1 -0
  79. package/dist/_virtual/pseudos.js +5 -0
  80. package/dist/_virtual/pseudos.js.map +1 -0
  81. package/dist/_virtual/querying.js +5 -0
  82. package/dist/_virtual/querying.js.map +1 -0
  83. package/dist/_virtual/sort.js +5 -0
  84. package/dist/_virtual/sort.js.map +1 -0
  85. package/dist/_virtual/stringify.js +5 -0
  86. package/dist/_virtual/stringify.js.map +1 -0
  87. package/dist/_virtual/subselects.js +5 -0
  88. package/dist/_virtual/subselects.js.map +1 -0
  89. package/dist/_virtual/text.js +5 -0
  90. package/dist/_virtual/text.js.map +1 -0
  91. package/dist/_virtual/traversal.js +5 -0
  92. package/dist/_virtual/traversal.js.map +1 -0
  93. package/dist/_virtual/type.js +5 -0
  94. package/dist/_virtual/type.js.map +1 -0
  95. package/dist/_virtual/valid.js +5 -0
  96. package/dist/_virtual/valid.js.map +1 -0
  97. package/dist/_virtual/void-tag.js +5 -0
  98. package/dist/_virtual/void-tag.js.map +1 -0
  99. package/dist/cli/commands/fulltext/attach.js +1 -1
  100. package/dist/cli/commands/fulltext/attach.js.map +1 -1
  101. package/dist/cli/commands/fulltext/check.d.ts +1 -2
  102. package/dist/cli/commands/fulltext/check.d.ts.map +1 -1
  103. package/dist/cli/commands/fulltext/check.js +4 -2
  104. package/dist/cli/commands/fulltext/check.js.map +1 -1
  105. package/dist/cli/commands/fulltext/convert.d.ts.map +1 -1
  106. package/dist/cli/commands/fulltext/convert.js +8 -8
  107. package/dist/cli/commands/fulltext/convert.js.map +1 -1
  108. package/dist/cli/commands/fulltext/fetch.d.ts.map +1 -1
  109. package/dist/cli/commands/fulltext/fetch.js +10 -6
  110. package/dist/cli/commands/fulltext/fetch.js.map +1 -1
  111. package/dist/cli/commands/fulltext/index.d.ts.map +1 -1
  112. package/dist/cli/commands/fulltext/index.js +2 -0
  113. package/dist/cli/commands/fulltext/index.js.map +1 -1
  114. package/dist/cli/commands/fulltext/init.d.ts.map +1 -1
  115. package/dist/cli/commands/fulltext/init.js +6 -5
  116. package/dist/cli/commands/fulltext/init.js.map +1 -1
  117. package/dist/cli/commands/fulltext/pending.d.ts +1 -1
  118. package/dist/cli/commands/fulltext/pending.d.ts.map +1 -1
  119. package/dist/cli/commands/fulltext/pending.js +4 -2
  120. package/dist/cli/commands/fulltext/pending.js.map +1 -1
  121. package/dist/cli/commands/fulltext/status.d.ts.map +1 -1
  122. package/dist/cli/commands/fulltext/status.js +4 -2
  123. package/dist/cli/commands/fulltext/status.js.map +1 -1
  124. package/dist/cli/commands/fulltext/sync.d.ts.map +1 -1
  125. package/dist/cli/commands/fulltext/sync.js +6 -2
  126. package/dist/cli/commands/fulltext/sync.js.map +1 -1
  127. package/dist/cli/commands/review/types.d.ts +1 -1
  128. package/dist/cli/commands/review/types.d.ts.map +1 -1
  129. package/dist/cli/commands/review/types.js.map +1 -1
  130. package/dist/config/schema.d.ts +2 -0
  131. package/dist/config/schema.d.ts.map +1 -1
  132. package/dist/config/schema.js +6 -0
  133. package/dist/config/schema.js.map +1 -1
  134. package/dist/{fulltext → integration}/attach-shared.d.ts +2 -2
  135. package/dist/integration/attach-shared.d.ts.map +1 -0
  136. package/dist/integration/attach-shared.js.map +1 -0
  137. package/dist/integration/fulltext-attach.js +1 -1
  138. package/dist/integration/fulltext-attach.js.map +1 -1
  139. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/citation-key.js +1 -1
  140. package/dist/node_modules/@ncukondo/academic-fulltext/dist/citation-key.js.map +1 -0
  141. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/arxiv-html-parser.js +434 -0
  142. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/arxiv-html-parser.js.map +1 -0
  143. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/index.js +93 -0
  144. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/index.js.map +1 -0
  145. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/jats-parser.js +1060 -0
  146. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/jats-parser.js.map +1 -0
  147. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/convert/markdown-writer.js +146 -117
  148. package/dist/node_modules/@ncukondo/academic-fulltext/dist/convert/markdown-writer.js.map +1 -0
  149. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/discovery/arxiv.js +8 -1
  150. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/arxiv.js.map +1 -0
  151. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/discovery/core.js +6 -3
  152. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/core.js.map +1 -0
  153. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/index.js +139 -0
  154. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/index.js.map +1 -0
  155. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/ncbi-id-converter.js +46 -0
  156. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/ncbi-id-converter.js.map +1 -0
  157. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/discovery/pmc.js +8 -4
  158. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/pmc.js.map +1 -0
  159. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/discovery/unpaywall.js +43 -9
  160. package/dist/node_modules/@ncukondo/academic-fulltext/dist/discovery/unpaywall.js.map +1 -0
  161. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/arxiv-html.js +48 -0
  162. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/arxiv-html.js.map +1 -0
  163. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/downloader.js +64 -0
  164. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/downloader.js.map +1 -0
  165. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/orchestrator.js +236 -0
  166. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/orchestrator.js.map +1 -0
  167. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/download/pmc-xml.js +2 -1
  168. package/dist/node_modules/@ncukondo/academic-fulltext/dist/download/pmc-xml.js.map +1 -0
  169. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/meta.js +15 -10
  170. package/dist/node_modules/@ncukondo/academic-fulltext/dist/meta.js.map +1 -0
  171. package/dist/node_modules/@ncukondo/academic-fulltext/dist/paths.js.map +1 -0
  172. package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/readme.js +8 -4
  173. package/dist/node_modules/@ncukondo/academic-fulltext/dist/readme.js.map +1 -0
  174. package/dist/node_modules/boolbase/index.js +19 -0
  175. package/dist/node_modules/boolbase/index.js.map +1 -0
  176. package/dist/node_modules/css-select/lib/attributes.js +203 -0
  177. package/dist/node_modules/css-select/lib/attributes.js.map +1 -0
  178. package/dist/node_modules/css-select/lib/compile.js +141 -0
  179. package/dist/node_modules/css-select/lib/compile.js.map +1 -0
  180. package/dist/node_modules/css-select/lib/general.js +154 -0
  181. package/dist/node_modules/css-select/lib/general.js.map +1 -0
  182. package/dist/node_modules/css-select/lib/index.js +128 -0
  183. package/dist/node_modules/css-select/lib/index.js.map +1 -0
  184. package/dist/node_modules/css-select/lib/pseudo-selectors/aliases.js +40 -0
  185. package/dist/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
  186. package/dist/node_modules/css-select/lib/pseudo-selectors/filters.js +163 -0
  187. package/dist/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
  188. package/dist/node_modules/css-select/lib/pseudo-selectors/index.js +71 -0
  189. package/dist/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
  190. package/dist/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
  191. package/dist/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
  192. package/dist/node_modules/css-select/lib/pseudo-selectors/subselects.js +111 -0
  193. package/dist/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
  194. package/dist/node_modules/css-select/lib/sort.js +78 -0
  195. package/dist/node_modules/css-select/lib/sort.js.map +1 -0
  196. package/dist/node_modules/css-what/lib/es/index.js +12 -0
  197. package/dist/node_modules/css-what/lib/es/index.js.map +1 -0
  198. package/dist/node_modules/css-what/lib/es/parse.js +349 -0
  199. package/dist/node_modules/css-what/lib/es/parse.js.map +1 -0
  200. package/dist/node_modules/css-what/lib/es/stringify.js +102 -0
  201. package/dist/node_modules/css-what/lib/es/stringify.js.map +1 -0
  202. package/dist/node_modules/css-what/lib/es/types.js +37 -0
  203. package/dist/node_modules/css-what/lib/es/types.js.map +1 -0
  204. package/dist/node_modules/dom-serializer/lib/foreignNames.js +117 -0
  205. package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -0
  206. package/dist/node_modules/dom-serializer/lib/index.js +207 -0
  207. package/dist/node_modules/dom-serializer/lib/index.js.map +1 -0
  208. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +368 -0
  209. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -0
  210. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +70 -0
  211. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  212. package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js +61 -0
  213. package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +1 -0
  214. package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js +79 -0
  215. package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +1 -0
  216. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +18 -0
  217. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  218. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +18 -0
  219. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  220. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +19 -0
  221. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  222. package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js +139 -0
  223. package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +1 -0
  224. package/dist/node_modules/domelementtype/lib/index.js +40 -0
  225. package/dist/node_modules/domelementtype/lib/index.js.map +1 -0
  226. package/dist/node_modules/domhandler/lib/index.js +167 -0
  227. package/dist/node_modules/domhandler/lib/index.js.map +1 -0
  228. package/dist/node_modules/domhandler/lib/node.js +439 -0
  229. package/dist/node_modules/domhandler/lib/node.js.map +1 -0
  230. package/dist/node_modules/domutils/lib/feeds.js +146 -0
  231. package/dist/node_modules/domutils/lib/feeds.js.map +1 -0
  232. package/dist/node_modules/domutils/lib/helpers.js +97 -0
  233. package/dist/node_modules/domutils/lib/helpers.js.map +1 -0
  234. package/dist/node_modules/domutils/lib/index.js +65 -0
  235. package/dist/node_modules/domutils/lib/index.js.map +1 -0
  236. package/dist/node_modules/domutils/lib/legacy.js +124 -0
  237. package/dist/node_modules/domutils/lib/legacy.js.map +1 -0
  238. package/dist/node_modules/domutils/lib/manipulation.js +107 -0
  239. package/dist/node_modules/domutils/lib/manipulation.js.map +1 -0
  240. package/dist/node_modules/domutils/lib/querying.js +102 -0
  241. package/dist/node_modules/domutils/lib/querying.js.map +1 -0
  242. package/dist/node_modules/domutils/lib/stringify.js +65 -0
  243. package/dist/node_modules/domutils/lib/stringify.js.map +1 -0
  244. package/dist/node_modules/domutils/lib/traversal.js +69 -0
  245. package/dist/node_modules/domutils/lib/traversal.js.map +1 -0
  246. package/dist/node_modules/he/he.js +256 -0
  247. package/dist/node_modules/he/he.js.map +1 -0
  248. package/dist/node_modules/node-html-parser/dist/back.js +16 -0
  249. package/dist/node_modules/node-html-parser/dist/back.js.map +1 -0
  250. package/dist/node_modules/node-html-parser/dist/index.js +48 -0
  251. package/dist/node_modules/node-html-parser/dist/index.js.map +1 -0
  252. package/dist/node_modules/node-html-parser/dist/matcher.js +112 -0
  253. package/dist/node_modules/node-html-parser/dist/matcher.js.map +1 -0
  254. package/dist/node_modules/node-html-parser/dist/nodes/comment.js +41 -0
  255. package/dist/node_modules/node-html-parser/dist/nodes/comment.js.map +1 -0
  256. package/dist/node_modules/node-html-parser/dist/nodes/html.js +1048 -0
  257. package/dist/node_modules/node-html-parser/dist/nodes/html.js.map +1 -0
  258. package/dist/node_modules/node-html-parser/dist/nodes/node.js +49 -0
  259. package/dist/node_modules/node-html-parser/dist/nodes/node.js.map +1 -0
  260. package/dist/node_modules/node-html-parser/dist/nodes/text.js +106 -0
  261. package/dist/node_modules/node-html-parser/dist/nodes/text.js.map +1 -0
  262. package/dist/node_modules/node-html-parser/dist/nodes/type.js +19 -0
  263. package/dist/node_modules/node-html-parser/dist/nodes/type.js.map +1 -0
  264. package/dist/node_modules/node-html-parser/dist/parse.js +20 -0
  265. package/dist/node_modules/node-html-parser/dist/parse.js.map +1 -0
  266. package/dist/node_modules/node-html-parser/dist/valid.js +19 -0
  267. package/dist/node_modules/node-html-parser/dist/valid.js.map +1 -0
  268. package/dist/node_modules/node-html-parser/dist/void-tag.js +36 -0
  269. package/dist/node_modules/node-html-parser/dist/void-tag.js.map +1 -0
  270. package/dist/node_modules/nth-check/lib/compile.js +76 -0
  271. package/dist/node_modules/nth-check/lib/compile.js.map +1 -0
  272. package/dist/node_modules/nth-check/lib/index.js +36 -0
  273. package/dist/node_modules/nth-check/lib/index.js.map +1 -0
  274. package/dist/node_modules/nth-check/lib/parse.js +69 -0
  275. package/dist/node_modules/nth-check/lib/parse.js.map +1 -0
  276. package/package.json +2 -2
  277. package/dist/fulltext/attach-shared.d.ts.map +0 -1
  278. package/dist/fulltext/attach-shared.js.map +0 -1
  279. package/dist/fulltext/citation-key.d.ts +0 -15
  280. package/dist/fulltext/citation-key.d.ts.map +0 -1
  281. package/dist/fulltext/citation-key.js.map +0 -1
  282. package/dist/fulltext/convert/index.d.ts +0 -20
  283. package/dist/fulltext/convert/index.d.ts.map +0 -1
  284. package/dist/fulltext/convert/index.js +0 -50
  285. package/dist/fulltext/convert/index.js.map +0 -1
  286. package/dist/fulltext/convert/jats-parser.d.ts +0 -36
  287. package/dist/fulltext/convert/jats-parser.d.ts.map +0 -1
  288. package/dist/fulltext/convert/jats-parser.js +0 -887
  289. package/dist/fulltext/convert/jats-parser.js.map +0 -1
  290. package/dist/fulltext/convert/markdown-writer.d.ts +0 -6
  291. package/dist/fulltext/convert/markdown-writer.d.ts.map +0 -1
  292. package/dist/fulltext/convert/markdown-writer.js.map +0 -1
  293. package/dist/fulltext/convert/types.d.ts +0 -141
  294. package/dist/fulltext/convert/types.d.ts.map +0 -1
  295. package/dist/fulltext/discovery/arxiv.d.ts +0 -11
  296. package/dist/fulltext/discovery/arxiv.d.ts.map +0 -1
  297. package/dist/fulltext/discovery/arxiv.js.map +0 -1
  298. package/dist/fulltext/discovery/core.d.ts +0 -11
  299. package/dist/fulltext/discovery/core.d.ts.map +0 -1
  300. package/dist/fulltext/discovery/core.js.map +0 -1
  301. package/dist/fulltext/discovery/index.d.ts +0 -28
  302. package/dist/fulltext/discovery/index.d.ts.map +0 -1
  303. package/dist/fulltext/discovery/index.js +0 -75
  304. package/dist/fulltext/discovery/index.js.map +0 -1
  305. package/dist/fulltext/discovery/pmc.d.ts +0 -19
  306. package/dist/fulltext/discovery/pmc.d.ts.map +0 -1
  307. package/dist/fulltext/discovery/pmc.js.map +0 -1
  308. package/dist/fulltext/discovery/unpaywall.d.ts +0 -11
  309. package/dist/fulltext/discovery/unpaywall.d.ts.map +0 -1
  310. package/dist/fulltext/discovery/unpaywall.js.map +0 -1
  311. package/dist/fulltext/download/downloader.d.ts +0 -21
  312. package/dist/fulltext/download/downloader.d.ts.map +0 -1
  313. package/dist/fulltext/download/downloader.js +0 -59
  314. package/dist/fulltext/download/downloader.js.map +0 -1
  315. package/dist/fulltext/download/orchestrator.d.ts +0 -33
  316. package/dist/fulltext/download/orchestrator.d.ts.map +0 -1
  317. package/dist/fulltext/download/orchestrator.js +0 -125
  318. package/dist/fulltext/download/orchestrator.js.map +0 -1
  319. package/dist/fulltext/download/pmc-xml.d.ts +0 -13
  320. package/dist/fulltext/download/pmc-xml.d.ts.map +0 -1
  321. package/dist/fulltext/download/pmc-xml.js.map +0 -1
  322. package/dist/fulltext/meta.d.ts +0 -25
  323. package/dist/fulltext/meta.d.ts.map +0 -1
  324. package/dist/fulltext/meta.js.map +0 -1
  325. package/dist/fulltext/paths.d.ts +0 -12
  326. package/dist/fulltext/paths.d.ts.map +0 -1
  327. package/dist/fulltext/paths.js.map +0 -1
  328. package/dist/fulltext/readme.d.ts +0 -4
  329. package/dist/fulltext/readme.d.ts.map +0 -1
  330. package/dist/fulltext/readme.js.map +0 -1
  331. package/dist/fulltext/types.d.ts +0 -90
  332. package/dist/fulltext/types.d.ts.map +0 -1
  333. /package/dist/{fulltext → integration}/attach-shared.js +0 -0
  334. /package/dist/{fulltext → node_modules/@ncukondo/academic-fulltext/dist}/paths.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sources":["../../../../../node_modules/node-html-parser/dist/nodes/html.js"],"sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.base_parse = void 0;\nconst css_select_1 = require(\"css-select\");\nconst he_1 = __importDefault(require(\"he\"));\nconst back_1 = __importDefault(require(\"../back\"));\nconst matcher_1 = __importDefault(require(\"../matcher\"));\nconst void_tag_1 = __importDefault(require(\"../void-tag\"));\nconst comment_1 = __importDefault(require(\"./comment\"));\nconst node_1 = __importDefault(require(\"./node\"));\nconst text_1 = __importDefault(require(\"./text\"));\nconst type_1 = __importDefault(require(\"./type\"));\nfunction decode(val) {\n // clone string\n return JSON.parse(JSON.stringify(he_1.default.decode(val)));\n}\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements\nconst Htags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup'];\nconst Dtags = ['details', 'dialog', 'dd', 'div', 'dt'];\nconst Ftags = ['fieldset', 'figcaption', 'figure', 'footer', 'form'];\nconst tableTags = ['table', 'td', 'tr'];\nconst htmlTags = ['address', 'article', 'aside', 'blockquote', 'br', 'hr', 'li', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'ul'];\nconst kBlockElements = new Set();\nfunction addToKBlockElement(...args) {\n const addToSet = (array) => {\n for (let index = 0; index < array.length; index++) {\n const element = array[index];\n kBlockElements.add(element);\n kBlockElements.add(element.toUpperCase());\n }\n };\n for (const arg of args)\n addToSet(arg);\n}\naddToKBlockElement(Htags, Dtags, Ftags, tableTags, htmlTags);\nclass DOMTokenList {\n _validate(c) {\n if (/\\s/.test(c)) {\n throw new Error(`DOMException in DOMTokenList.add: The token '${c}' contains HTML space characters, which are not valid in tokens.`);\n }\n }\n constructor(valuesInit = [], afterUpdate = () => null) {\n this._set = new Set(valuesInit);\n this._afterUpdate = afterUpdate;\n }\n add(c) {\n this._validate(c);\n this._set.add(c);\n this._afterUpdate(this); // eslint-disable-line @typescript-eslint/no-unsafe-call\n }\n replace(c1, c2) {\n this._validate(c2);\n this._set.delete(c1);\n this._set.add(c2);\n this._afterUpdate(this); // eslint-disable-line @typescript-eslint/no-unsafe-call\n }\n remove(c) {\n this._set.delete(c) && this._afterUpdate(this); // eslint-disable-line @typescript-eslint/no-unsafe-call\n }\n toggle(c) {\n this._validate(c);\n if (this._set.has(c))\n this._set.delete(c);\n else\n this._set.add(c);\n this._afterUpdate(this); // eslint-disable-line @typescript-eslint/no-unsafe-call\n }\n contains(c) {\n return this._set.has(c);\n }\n get length() {\n return this._set.size;\n }\n values() {\n return this._set.values();\n }\n get value() {\n return Array.from(this._set.values());\n }\n toString() {\n return Array.from(this._set.values()).join(' ');\n }\n}\n/**\n * HTMLElement, which contains a set of children.\n *\n * Note: this is a minimalist implementation, no complete tree\n * structure provided (no parentNode, nextSibling,\n * previousSibling etc).\n * @class HTMLElement\n * @extends {Node}\n */\nclass HTMLElement extends node_1.default {\n /**\n * Quote attribute values\n * @param attr attribute value\n * @returns {string} quoted value\n */\n quoteAttribute(attr) {\n if (attr == null) {\n return 'null';\n }\n return JSON.stringify(attr.replace(/\"/g, '&quot;'))\n .replace(/\\\\t/g, '\\t')\n .replace(/\\\\n/g, '\\n')\n .replace(/\\\\r/g, '\\r')\n .replace(/\\\\/g, '');\n }\n /**\n * Creates an instance of HTMLElement.\n * @param keyAttrs\tid and class attribute\n * @param [rawAttrs]\tattributes in string\n *\n * @memberof HTMLElement\n */\n constructor(tagName, keyAttrs, rawAttrs = '', parentNode = null, range, voidTag = new void_tag_1.default(), _parseOptions = {}) {\n super(parentNode, range);\n this.rawAttrs = rawAttrs;\n this.voidTag = voidTag;\n /**\n * Node Type declaration.\n */\n this.nodeType = type_1.default.ELEMENT_NODE;\n this.rawTagName = tagName;\n this.rawAttrs = rawAttrs || '';\n this._id = keyAttrs.id || '';\n this.childNodes = [];\n this._parseOptions = _parseOptions;\n this.classList = new DOMTokenList(keyAttrs.class ? keyAttrs.class.split(/\\s+/) : [], (classList) => this.setAttribute('class', classList.toString()) // eslint-disable-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n );\n if (keyAttrs.id) {\n if (!rawAttrs) {\n this.rawAttrs = `id=\"${keyAttrs.id}\"`;\n }\n }\n if (keyAttrs.class) {\n if (!rawAttrs) {\n const cls = `class=\"${this.classList.toString()}\"`;\n if (this.rawAttrs) {\n this.rawAttrs += ` ${cls}`;\n }\n else {\n this.rawAttrs = cls;\n }\n }\n }\n }\n /**\n * Remove Child element from childNodes array\n * @param {HTMLElement} node node to remove\n */\n removeChild(node) {\n this.childNodes = this.childNodes.filter((child) => {\n return child !== node;\n });\n return this;\n }\n /**\n * Exchanges given child with new child\n * @param {HTMLElement} oldNode node to exchange\n * @param {HTMLElement} newNode new node\n */\n exchangeChild(oldNode, newNode) {\n const children = this.childNodes;\n this.childNodes = children.map((child) => {\n if (child === oldNode) {\n return newNode;\n }\n return child;\n });\n return this;\n }\n get tagName() {\n return this.rawTagName ? this.rawTagName.toUpperCase() : this.rawTagName;\n }\n set tagName(newname) {\n this.rawTagName = newname.toLowerCase();\n }\n get localName() {\n return this.rawTagName.toLowerCase();\n }\n get isVoidElement() {\n return this.voidTag.isVoidElement(this.localName);\n }\n get id() {\n return this._id;\n }\n set id(newid) {\n this.setAttribute('id', newid);\n }\n /**\n * Get escpaed (as-it) text value of current node and its children.\n * @return {string} text content\n */\n get rawText() {\n // https://github.com/taoqf/node-html-parser/issues/249\n if (/^br$/i.test(this.rawTagName)) {\n return '\\n';\n }\n return this.childNodes.reduce((pre, cur) => {\n return (pre += cur.rawText);\n }, '');\n }\n get textContent() {\n return decode(this.rawText);\n }\n set textContent(val) {\n const content = [new text_1.default(val, this)];\n this.childNodes = content;\n }\n /**\n * Get unescaped text value of current node and its children.\n * @return {string} text content\n */\n get text() {\n return decode(this.rawText);\n }\n /**\n * Get structured Text (with '\\n' etc.)\n * @return {string} structured text\n */\n get structuredText() {\n let currentBlock = [];\n const blocks = [currentBlock];\n function dfs(node) {\n if (node.nodeType === type_1.default.ELEMENT_NODE) {\n if (kBlockElements.has(node.rawTagName)) {\n if (currentBlock.length > 0) {\n blocks.push((currentBlock = []));\n }\n node.childNodes.forEach(dfs);\n if (currentBlock.length > 0) {\n blocks.push((currentBlock = []));\n }\n }\n else {\n node.childNodes.forEach(dfs);\n }\n }\n else if (node.nodeType === type_1.default.TEXT_NODE) {\n if (node.isWhitespace) {\n // Whitespace node, postponed output\n currentBlock.prependWhitespace = true;\n }\n else {\n let text = node.trimmedText;\n if (currentBlock.prependWhitespace) {\n text = ` ${text}`;\n currentBlock.prependWhitespace = false;\n }\n currentBlock.push(text);\n }\n }\n }\n dfs(this);\n return blocks\n .map((block) => {\n return block.join('').replace(/\\s{2,}/g, ' '); // Normalize each line's whitespace\n })\n .join('\\n')\n .replace(/\\s+$/, ''); // trimRight;\n }\n toString() {\n const tag = this.rawTagName;\n if (tag) {\n const attrs = this.rawAttrs ? ` ${this.rawAttrs}` : '';\n return this.voidTag.formatNode(tag, attrs, this.innerHTML);\n }\n return this.innerHTML;\n }\n get innerHTML() {\n return this.childNodes\n .map((child) => {\n return child.toString();\n })\n .join('');\n }\n set innerHTML(content) {\n const r = parse(content, this._parseOptions);\n const nodes = r.childNodes.length ? r.childNodes : [new text_1.default(content, this)];\n resetParent(nodes, this);\n resetParent(this.childNodes, null);\n this.childNodes = nodes;\n }\n set_content(content, options = {}) {\n if (content instanceof node_1.default) {\n content = [content];\n }\n else if (typeof content == 'string') {\n options = Object.assign(Object.assign({}, this._parseOptions), options);\n const r = parse(content, options);\n content = r.childNodes.length ? r.childNodes : [new text_1.default(r.innerHTML, this)];\n }\n resetParent(this.childNodes, null);\n resetParent(content, this);\n this.childNodes = content;\n return this;\n }\n replaceWith(...nodes) {\n const parent = this.parentNode;\n const content = nodes\n .map((node) => {\n if (node instanceof node_1.default) {\n return [node];\n }\n else if (typeof node == 'string') {\n const r = parse(node, this._parseOptions);\n return r.childNodes.length ? r.childNodes : [new text_1.default(node, this)];\n }\n return [];\n })\n .flat();\n const idx = parent.childNodes.findIndex((child) => {\n return child === this;\n });\n resetParent([this], null);\n parent.childNodes = [...parent.childNodes.slice(0, idx), ...resetParent(content, parent), ...parent.childNodes.slice(idx + 1)];\n return this;\n }\n get outerHTML() {\n return this.toString();\n }\n /**\n * Trim element from right (in block) after seeing pattern in a TextNode.\n * @param {RegExp} pattern pattern to find\n * @return {HTMLElement} reference to current node\n */\n trimRight(pattern) {\n for (let i = 0; i < this.childNodes.length; i++) {\n const childNode = this.childNodes[i];\n if (childNode.nodeType === type_1.default.ELEMENT_NODE) {\n childNode.trimRight(pattern);\n }\n else {\n const index = childNode.rawText.search(pattern);\n if (index > -1) {\n childNode.rawText = childNode.rawText.substr(0, index);\n // trim all following nodes.\n this.childNodes.length = i + 1;\n }\n }\n }\n return this;\n }\n /**\n * Get DOM structure\n * @return {string} structure\n */\n get structure() {\n const res = [];\n let indention = 0;\n function write(str) {\n res.push(' '.repeat(indention) + str);\n }\n function dfs(node) {\n const idStr = node._id ? `#${node._id}` : '';\n const classStr = node.classList.length ? `.${node.classList.value.join('.')}` : ''; // eslint-disable-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-call\n write(`${node.rawTagName}${idStr}${classStr}`);\n indention++;\n node.childNodes.forEach((childNode) => {\n if (childNode.nodeType === type_1.default.ELEMENT_NODE) {\n dfs(childNode);\n }\n else if (childNode.nodeType === type_1.default.TEXT_NODE) {\n if (!childNode.isWhitespace) {\n write('#text');\n }\n }\n });\n indention--;\n }\n dfs(this);\n return res.join('\\n');\n }\n /**\n * Remove whitespaces in this sub tree.\n * @return {HTMLElement} pointer to this\n */\n removeWhitespace() {\n let o = 0;\n this.childNodes.forEach((node) => {\n if (node.nodeType === type_1.default.TEXT_NODE) {\n if (node.isWhitespace) {\n return;\n }\n node.rawText = node.trimmedRawText;\n }\n else if (node.nodeType === type_1.default.ELEMENT_NODE) {\n node.removeWhitespace();\n }\n this.childNodes[o++] = node;\n });\n this.childNodes.length = o;\n // remove whitespace between attributes\n const attrs = Object.keys(this.rawAttributes)\n .map((key) => {\n const val = this.rawAttributes[key];\n return `${key}=${JSON.stringify(val)}`;\n })\n .join(' ');\n this.rawAttrs = attrs;\n delete this._rawAttrs;\n return this;\n }\n /**\n * Query CSS selector to find matching nodes.\n * @param {string} selector Simplified CSS selector\n * @return {HTMLElement[]} matching elements\n */\n querySelectorAll(selector) {\n return (0, css_select_1.selectAll)(selector, this, {\n xmlMode: true,\n adapter: matcher_1.default,\n });\n }\n /**\n * Query CSS Selector to find matching node.\n * @param {string} selector Simplified CSS selector\n * @return {(HTMLElement|null)} matching node\n */\n querySelector(selector) {\n return (0, css_select_1.selectOne)(selector, this, {\n xmlMode: true,\n adapter: matcher_1.default,\n });\n }\n /**\n * find elements by their tagName\n * @param {string} tagName the tagName of the elements to select\n */\n getElementsByTagName(tagName) {\n const upperCasedTagName = tagName.toUpperCase();\n const re = [];\n const stack = [];\n let currentNodeReference = this;\n let index = 0;\n // index turns to undefined once the stack is empty and the first condition occurs\n // which happens once all relevant children are searched through\n while (index !== undefined) {\n let child;\n // make it work with sparse arrays\n do {\n child = currentNodeReference.childNodes[index++];\n } while (index < currentNodeReference.childNodes.length && child === undefined);\n // if the child does not exist we move on with the last provided index (which belongs to the parentNode)\n if (child === undefined) {\n currentNodeReference = currentNodeReference.parentNode;\n index = stack.pop();\n continue;\n }\n if (child.nodeType === type_1.default.ELEMENT_NODE) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName#syntax\n if (tagName === '*' || child.tagName === upperCasedTagName)\n re.push(child);\n // if children are existing push the current status to the stack and keep searching for elements in the level below\n if (child.childNodes.length > 0) {\n stack.push(index);\n currentNodeReference = child;\n index = 0;\n }\n }\n }\n return re;\n }\n /**\n * find element by it's id\n * @param {string} id the id of the element to select\n * @returns {HTMLElement | null} the element with the given id or null if not found\n */\n getElementById(id) {\n const stack = [];\n let currentNodeReference = this;\n let index = 0;\n // index turns to undefined once the stack is empty and the first condition occurs\n // which happens once all relevant children are searched through\n while (index !== undefined) {\n let child;\n // make it work with sparse arrays\n do {\n child = currentNodeReference.childNodes[index++];\n } while (index < currentNodeReference.childNodes.length && child === undefined);\n // if the child does not exist we move on with the last provided index (which belongs to the parentNode)\n if (child === undefined) {\n currentNodeReference = currentNodeReference.parentNode;\n index = stack.pop();\n continue;\n }\n if (child.nodeType === type_1.default.ELEMENT_NODE) {\n if (child._id === id) {\n return child;\n }\n // if children are existing push the current status to the stack and keep searching for elements in the level below\n if (child.childNodes.length > 0) {\n stack.push(index);\n currentNodeReference = child;\n index = 0;\n }\n }\n }\n return null;\n }\n /**\n * traverses the Element and its parents (heading toward the document root) until it finds a node that matches the provided selector string. Will return itself or the matching ancestor. If no such element exists, it returns null.\n * @param selector a DOMString containing a selector list\n * @returns {HTMLElement | null} the element with the given id or null if not found\n */\n closest(selector) {\n const mapChild = new Map();\n let el = this;\n let old = null;\n function findOne(test, elems) {\n let elem = null;\n for (let i = 0, l = elems.length; i < l && !elem; i++) {\n const el = elems[i];\n if (test(el)) {\n elem = el;\n }\n else {\n const child = mapChild.get(el);\n if (child) {\n elem = findOne(test, [child]);\n }\n }\n }\n return elem;\n }\n while (el) {\n mapChild.set(el, old);\n old = el;\n el = el.parentNode;\n }\n el = this;\n while (el) {\n const e = (0, css_select_1.selectOne)(selector, el, {\n xmlMode: true,\n adapter: Object.assign(Object.assign({}, matcher_1.default), { getChildren(node) {\n const child = mapChild.get(node);\n return child && [child];\n },\n getSiblings(node) {\n return [node];\n },\n findOne,\n findAll() {\n return [];\n } }),\n });\n if (e) {\n return e;\n }\n el = el.parentNode;\n }\n return null;\n }\n /**\n * Append a child node to childNodes\n * @param {Node} node node to append\n * @return {Node} node appended\n */\n appendChild(node) {\n this.append(node);\n return node;\n }\n /**\n * Get attributes\n * @access private\n * @return {Object} parsed and unescaped attributes\n */\n get attrs() {\n if (this._attrs) {\n return this._attrs;\n }\n this._attrs = {};\n const attrs = this.rawAttributes;\n for (const key in attrs) {\n const val = attrs[key] || '';\n this._attrs[key.toLowerCase()] = decode(val);\n }\n return this._attrs;\n }\n get attributes() {\n const ret_attrs = {};\n const attrs = this.rawAttributes;\n for (const key in attrs) {\n const val = attrs[key] || '';\n ret_attrs[key] = decode(val);\n }\n return ret_attrs;\n }\n /**\n * Get escaped (as-is) attributes\n * @return {Object} parsed attributes\n */\n get rawAttributes() {\n if (this._rawAttrs) {\n return this._rawAttrs;\n }\n const attrs = {};\n if (this.rawAttrs) {\n const re = /([a-zA-Z()[\\]#@$.?:][a-zA-Z0-9-._:()[\\]#]*)(?:\\s*=\\s*((?:'[^']*')|(?:\"[^\"]*\")|\\S+))?/g;\n let match;\n while ((match = re.exec(this.rawAttrs))) {\n const key = match[1];\n let val = match[2] || null;\n if (val && (val[0] === `'` || val[0] === `\"`))\n val = val.slice(1, val.length - 1);\n attrs[key] = attrs[key] || val;\n }\n }\n this._rawAttrs = attrs;\n return attrs;\n }\n removeAttribute(key) {\n const attrs = this.rawAttributes;\n delete attrs[key];\n // Update this.attribute\n if (this._attrs) {\n delete this._attrs[key];\n }\n // Update rawString\n this.rawAttrs = Object.keys(attrs)\n .map((name) => {\n const val = this.quoteAttribute(attrs[name]);\n if (val === 'null' || val === '\"\"')\n return name;\n return `${name}=${val}`;\n })\n .join(' ');\n // Update this._id\n if (key === 'id') {\n this._id = '';\n }\n return this;\n }\n hasAttribute(key) {\n return key.toLowerCase() in this.attrs;\n }\n /**\n * Get an attribute\n * @return {string | undefined} value of the attribute; or undefined if not exist\n */\n getAttribute(key) {\n return this.attrs[key.toLowerCase()];\n }\n /**\n * Set an attribute value to the HTMLElement\n * @param {string} key The attribute name\n * @param {string} value The value to set, or null / undefined to remove an attribute\n */\n setAttribute(key, value) {\n if (arguments.length < 2) {\n throw new Error(\"Failed to execute 'setAttribute' on 'Element'\");\n }\n const k2 = key.toLowerCase();\n const attrs = this.rawAttributes;\n for (const k in attrs) {\n if (k.toLowerCase() === k2) {\n key = k;\n break;\n }\n }\n attrs[key] = String(value);\n // update this.attrs\n if (this._attrs) {\n this._attrs[k2] = decode(attrs[key]);\n }\n // Update rawString\n this.rawAttrs = Object.keys(attrs)\n .map((name) => {\n const val = this.quoteAttribute(attrs[name]);\n if (val === 'null' || val === '\"\"')\n return name;\n return `${name}=${val}`;\n })\n .join(' ');\n // Update this._id\n if (key === 'id') {\n this._id = value;\n }\n return this;\n }\n /**\n * Replace all the attributes of the HTMLElement by the provided attributes\n * @param {Attributes} attributes the new attribute set\n */\n setAttributes(attributes) {\n // Invalidate current this.attributes\n if (this._attrs) {\n delete this._attrs;\n }\n // Invalidate current this.rawAttributes\n if (this._rawAttrs) {\n delete this._rawAttrs;\n }\n // Update rawString\n this.rawAttrs = Object.keys(attributes)\n .map((name) => {\n const val = attributes[name];\n if (val === 'null' || val === '\"\"')\n return name;\n return `${name}=${this.quoteAttribute(String(val))}`;\n })\n .join(' ');\n // Update this._id\n if ('id' in attributes) {\n this._id = attributes['id'];\n }\n return this;\n }\n insertAdjacentHTML(where, html) {\n if (arguments.length < 2) {\n throw new Error('2 arguments required');\n }\n const p = parse(html, this._parseOptions);\n if (where === 'afterend') {\n this.after(...p.childNodes);\n }\n else if (where === 'afterbegin') {\n this.prepend(...p.childNodes);\n }\n else if (where === 'beforeend') {\n this.append(...p.childNodes);\n }\n else if (where === 'beforebegin') {\n this.before(...p.childNodes);\n }\n else {\n throw new Error(`The value provided ('${where}') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'`);\n }\n return this;\n }\n /** Prepend nodes or strings to this node's children. */\n prepend(...insertable) {\n const nodes = resolveInsertable(insertable);\n resetParent(nodes, this);\n this.childNodes.unshift(...nodes);\n }\n /** Append nodes or strings to this node's children. */\n append(...insertable) {\n const nodes = resolveInsertable(insertable);\n resetParent(nodes, this);\n this.childNodes.push(...nodes);\n }\n /** Insert nodes or strings before this node. */\n before(...insertable) {\n const nodes = resolveInsertable(insertable);\n const siblings = this.parentNode.childNodes;\n resetParent(nodes, this.parentNode);\n siblings.splice(siblings.indexOf(this), 0, ...nodes);\n }\n /** Insert nodes or strings after this node. */\n after(...insertable) {\n const nodes = resolveInsertable(insertable);\n const siblings = this.parentNode.childNodes;\n resetParent(nodes, this.parentNode);\n siblings.splice(siblings.indexOf(this) + 1, 0, ...nodes);\n }\n get nextSibling() {\n if (this.parentNode) {\n const children = this.parentNode.childNodes;\n let i = 0;\n while (i < children.length) {\n const child = children[i++];\n if (this === child)\n return children[i] || null;\n }\n return null;\n }\n }\n get nextElementSibling() {\n if (this.parentNode) {\n const children = this.parentNode.childNodes;\n let i = 0;\n let find = false;\n while (i < children.length) {\n const child = children[i++];\n if (find) {\n if (child instanceof HTMLElement) {\n return child || null;\n }\n }\n else if (this === child) {\n find = true;\n }\n }\n return null;\n }\n }\n get previousSibling() {\n if (this.parentNode) {\n const children = this.parentNode.childNodes;\n let i = children.length;\n while (i > 0) {\n const child = children[--i];\n if (this === child)\n return children[i - 1] || null;\n }\n return null;\n }\n }\n get previousElementSibling() {\n if (this.parentNode) {\n const children = this.parentNode.childNodes;\n let i = children.length;\n let find = false;\n while (i > 0) {\n const child = children[--i];\n if (find) {\n if (child instanceof HTMLElement) {\n return child || null;\n }\n }\n else if (this === child) {\n find = true;\n }\n }\n return null;\n }\n }\n /** Get all childNodes of type {@link HTMLElement}. */\n get children() {\n const children = [];\n for (const childNode of this.childNodes) {\n if (childNode instanceof HTMLElement) {\n children.push(childNode);\n }\n }\n return children;\n }\n /**\n * Get the first child node.\n * @return The first child or undefined if none exists.\n */\n get firstChild() {\n return this.childNodes[0];\n }\n /**\n * Get the first child node of type {@link HTMLElement}.\n * @return The first child element or undefined if none exists.\n */\n get firstElementChild() {\n return this.children[0];\n }\n /**\n * Get the last child node.\n * @return The last child or undefined if none exists.\n */\n get lastChild() {\n return (0, back_1.default)(this.childNodes);\n }\n /**\n * Get the last child node of type {@link HTMLElement}.\n * @return The last child element or undefined if none exists.\n */\n get lastElementChild() {\n return this.children[this.children.length - 1];\n }\n get childElementCount() {\n return this.children.length;\n }\n get classNames() {\n return this.classList.toString();\n }\n /** Clone this Node */\n clone() {\n return parse(this.toString(), this._parseOptions).firstChild;\n }\n}\nexports.default = HTMLElement;\n// #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nconst kMarkupPattern = /<!--[\\s\\S]*?-->|<(\\/?)([a-zA-Z][-.:0-9_a-zA-Z@\\xB7\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u03A1\\u03A3-\\u03D9\\u03DB-\\u03EF\\u03F7-\\u03FF\\u0400-\\u04FF\\u0500-\\u052F\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E00-\\u1E9B\\u1F00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2126\\u212A-\\u212B\\u2132\\u214E\\u2160-\\u2188\\u2C60-\\u2C7F\\uA722-\\uA787\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA7FF\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64-\\uAB65\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\x37F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]*)((?:\\s+[^>]*?(?:(?:'[^']*')|(?:\"[^\"]*\"))?)*)\\s*(\\/?)>/gu;\n// const kMarkupPattern = /<!--[\\s\\S]*?-->|<(\\/?)([a-zA-Z][-.:0-9_a-zA-Z]*)((?:\\s+[^>]*?(?:(?:'[^']*')|(?:\"[^\"]*\"))?)*)\\s*(\\/?)>/g;\nconst kAttributePattern = /(?:^|\\s)(id|class)\\s*=\\s*((?:'[^']*')|(?:\"[^\"]*\")|\\S+)/gi;\nconst kElementsClosedByOpening = {\n li: { li: true, LI: true },\n LI: { li: true, LI: true },\n p: { p: true, div: true, P: true, DIV: true },\n P: { p: true, div: true, P: true, DIV: true },\n b: { div: true, DIV: true },\n B: { div: true, DIV: true },\n td: { td: true, th: true, TD: true, TH: true },\n TD: { td: true, th: true, TD: true, TH: true },\n th: { td: true, th: true, TD: true, TH: true },\n TH: { td: true, th: true, TD: true, TH: true },\n h1: { h1: true, H1: true },\n H1: { h1: true, H1: true },\n h2: { h2: true, H2: true },\n H2: { h2: true, H2: true },\n h3: { h3: true, H3: true },\n H3: { h3: true, H3: true },\n h4: { h4: true, H4: true },\n H4: { h4: true, H4: true },\n h5: { h5: true, H5: true },\n H5: { h5: true, H5: true },\n h6: { h6: true, H6: true },\n H6: { h6: true, H6: true },\n};\nconst kElementsClosedByClosing = {\n li: { ul: true, ol: true, UL: true, OL: true },\n LI: { ul: true, ol: true, UL: true, OL: true },\n a: { div: true, DIV: true },\n A: { div: true, DIV: true },\n b: { div: true, DIV: true },\n B: { div: true, DIV: true },\n i: { div: true, DIV: true },\n I: { div: true, DIV: true },\n p: { div: true, DIV: true },\n P: { div: true, DIV: true },\n td: { tr: true, table: true, TR: true, TABLE: true },\n TD: { tr: true, table: true, TR: true, TABLE: true },\n th: { tr: true, table: true, TR: true, TABLE: true },\n TH: { tr: true, table: true, TR: true, TABLE: true },\n};\nconst kElementsClosedByClosingExcept = {\n p: { a: true, audio: true, del: true, ins: true, map: true, noscript: true, video: true },\n};\nconst frameflag = 'documentfragmentcontainer';\n/**\n * Parses HTML and returns a root element\n * Parse a chuck of HTML source.\n * @param {string} data html\n * @return {HTMLElement} root element\n */\nfunction base_parse(data, options = {}) {\n var _a, _b;\n const voidTag = new void_tag_1.default((_a = options === null || options === void 0 ? void 0 : options.voidTag) === null || _a === void 0 ? void 0 : _a.closingSlash, (_b = options === null || options === void 0 ? void 0 : options.voidTag) === null || _b === void 0 ? void 0 : _b.tags);\n const elements = options.blockTextElements || {\n script: true,\n noscript: true,\n style: true,\n pre: true,\n };\n const element_names = Object.keys(elements);\n const kBlockTextElements = element_names.map((it) => new RegExp(`^${it}$`, 'i'));\n const kIgnoreElements = element_names.filter((it) => Boolean(elements[it])).map((it) => new RegExp(`^${it}$`, 'i'));\n function element_should_be_ignore(tag) {\n return kIgnoreElements.some((it) => it.test(tag));\n }\n function is_block_text_element(tag) {\n return kBlockTextElements.some((it) => it.test(tag));\n }\n const createRange = (startPos, endPos) => [startPos - frameFlagOffset, endPos - frameFlagOffset];\n const root = new HTMLElement(null, {}, '', null, [0, data.length], voidTag, options);\n let currentParent = root;\n const stack = [root];\n let lastTextPos = -1;\n let noNestedTagIndex = undefined;\n let match;\n // https://github.com/taoqf/node-html-parser/issues/38\n data = `<${frameflag}>${data}</${frameflag}>`;\n const { lowerCaseTagName, fixNestedATags } = options;\n const dataEndPos = data.length - (frameflag.length + 2);\n const frameFlagOffset = frameflag.length + 2;\n while ((match = kMarkupPattern.exec(data))) {\n // Note: Object destructuring here consistently tests as higher performance than array destructuring\n // eslint-disable-next-line prefer-const\n let { 0: matchText, 1: leadingSlash, 2: tagName, 3: attributes, 4: closingSlash } = match;\n const matchLength = matchText.length;\n const tagStartPos = kMarkupPattern.lastIndex - matchLength;\n const tagEndPos = kMarkupPattern.lastIndex;\n // Add TextNode if content\n if (lastTextPos > -1) {\n if (lastTextPos + matchLength < tagEndPos) {\n const text = data.substring(lastTextPos, tagStartPos);\n currentParent.appendChild(new text_1.default(text, currentParent, createRange(lastTextPos, tagStartPos)));\n }\n }\n lastTextPos = kMarkupPattern.lastIndex;\n // https://github.com/taoqf/node-html-parser/issues/38\n // Skip frameflag node\n if (tagName === frameflag)\n continue;\n // Handle comments\n if (matchText[1] === '!') {\n if (options.comment) {\n // Only keep what is in between <!-- and -->\n const text = data.substring(tagStartPos + 4, tagEndPos - 3);\n currentParent.appendChild(new comment_1.default(text, currentParent, createRange(tagStartPos, tagEndPos)));\n }\n continue;\n }\n /* -- Handle tag matching -- */\n // Fix tag casing if necessary\n if (lowerCaseTagName)\n tagName = tagName.toLowerCase();\n // Handle opening tags (ie. <this> not </that>)\n if (!leadingSlash) {\n /* Populate attributes */\n const attrs = {};\n for (let attMatch; (attMatch = kAttributePattern.exec(attributes));) {\n const { 1: key, 2: val } = attMatch;\n const isQuoted = val[0] === `'` || val[0] === `\"`;\n attrs[key.toLowerCase()] = isQuoted ? val.slice(1, val.length - 1) : val;\n }\n const parentTagName = currentParent.rawTagName;\n if (!closingSlash && kElementsClosedByOpening[parentTagName]) {\n if (kElementsClosedByOpening[parentTagName][tagName]) {\n stack.pop();\n currentParent = (0, back_1.default)(stack);\n }\n }\n // Prevent nested A tags by terminating the last A and starting a new one : see issue #144\n if (fixNestedATags && (tagName === 'a' || tagName === 'A')) {\n if (noNestedTagIndex !== undefined) {\n stack.splice(noNestedTagIndex);\n currentParent = (0, back_1.default)(stack);\n }\n noNestedTagIndex = stack.length;\n }\n const tagEndPos = kMarkupPattern.lastIndex;\n const tagStartPos = tagEndPos - matchLength;\n currentParent = currentParent.appendChild(\n // Initialize range (end position updated later for closed tags)\n new HTMLElement(tagName, attrs, attributes.slice(1), null, createRange(tagStartPos, tagEndPos), voidTag, options));\n stack.push(currentParent);\n if (is_block_text_element(tagName)) {\n // Find closing tag\n const closeMarkup = `</${tagName}>`;\n const closeIndex = lowerCaseTagName\n ? data.toLocaleLowerCase().indexOf(closeMarkup, kMarkupPattern.lastIndex)\n : data.indexOf(closeMarkup, kMarkupPattern.lastIndex);\n const textEndPos = closeIndex === -1 ? dataEndPos : closeIndex;\n if (element_should_be_ignore(tagName)) {\n const text = data.substring(tagEndPos, textEndPos);\n if (text.length > 0 && /\\S/.test(text)) {\n currentParent.appendChild(new text_1.default(text, currentParent, createRange(tagEndPos, textEndPos)));\n }\n }\n if (closeIndex === -1) {\n lastTextPos = kMarkupPattern.lastIndex = data.length + 1;\n }\n else {\n lastTextPos = kMarkupPattern.lastIndex = closeIndex + closeMarkup.length;\n // Cause to be treated as self-closing, because no close found\n leadingSlash = '/';\n }\n }\n }\n // Handle closing tags or self-closed elements (ie </tag> or <br>)\n if (leadingSlash || closingSlash || voidTag.isVoidElement(tagName)) {\n while (true) {\n if (noNestedTagIndex != null && (tagName === 'a' || tagName === 'A'))\n noNestedTagIndex = undefined;\n if (currentParent.rawTagName === tagName) {\n // Update range end for closed tag\n currentParent.range[1] = createRange(-1, Math.max(lastTextPos, tagEndPos))[1];\n stack.pop();\n currentParent = (0, back_1.default)(stack);\n break;\n }\n else {\n const parentTagName = currentParent.tagName;\n // Trying to close current tag, and move on\n if (kElementsClosedByClosing[parentTagName]) {\n if (kElementsClosedByClosing[parentTagName][tagName]) {\n stack.pop();\n currentParent = (0, back_1.default)(stack);\n continue;\n }\n }\n const openTag = currentParent.rawTagName ?\n currentParent.rawTagName.toLowerCase() :\n '';\n if (kElementsClosedByClosingExcept[openTag]) {\n const closingTag = tagName.toLowerCase();\n if (stack.length > 1) {\n const possibleContainer = stack[stack.length - 2];\n if (possibleContainer &&\n possibleContainer.rawTagName &&\n possibleContainer.rawTagName.toLowerCase() === closingTag &&\n !kElementsClosedByClosingExcept[openTag][closingTag]) {\n // Update range end for closed tag\n currentParent.range[1] = createRange(-1, Math.max(lastTextPos, tagEndPos))[1];\n stack.pop();\n currentParent = (0, back_1.default)(stack);\n continue;\n }\n }\n }\n // Use aggressive strategy to handle unmatching markups.\n break;\n }\n }\n }\n }\n return stack;\n}\nexports.base_parse = base_parse;\n/**\n * Parses HTML and returns a root element\n * Parse a chuck of HTML source.\n */\nfunction parse(data, options = {}) {\n const stack = base_parse(data, options);\n const [root] = stack;\n while (stack.length > 1) {\n // Handle each error elements.\n const last = stack.pop();\n const oneBefore = (0, back_1.default)(stack);\n if (last.parentNode && last.parentNode.parentNode) {\n if (last.parentNode === oneBefore && last.tagName === oneBefore.tagName) {\n // Pair error case <h3> <h3> handle : Fixes to <h3> </h3>\n // this is wrong, becouse this will put the H3 outside the current right position which should be inside the current Html Element, see issue 152 for more info\n if (options.parseNoneClosedTags !== true) {\n oneBefore.removeChild(last);\n last.childNodes.forEach((child) => {\n oneBefore.parentNode.appendChild(child);\n });\n stack.pop();\n }\n }\n else {\n // Single error <div> <h3> </div> handle: Just removes <h3>\n // Why remove? this is already a HtmlElement and the missing <H3> is already added in this case. see issue 152 for more info\n // eslint-disable-next-line no-lonely-if\n if (options.parseNoneClosedTags !== true) {\n oneBefore.removeChild(last);\n last.childNodes.forEach((child) => {\n oneBefore.appendChild(child);\n });\n }\n }\n }\n else {\n // If it's final element just skip.\n }\n }\n // response.childNodes.forEach((node) => {\n // \tif (node instanceof HTMLElement) {\n // \t\tnode.parentNode = null;\n // \t}\n // });\n return root;\n}\nexports.parse = parse;\n/**\n * Resolves a list of {@link NodeInsertable} to a list of nodes,\n * and removes nodes from any potential parent.\n */\nfunction resolveInsertable(insertable) {\n return insertable.map((val) => {\n if (typeof val === 'string') {\n return new text_1.default(val);\n }\n val.remove();\n return val;\n });\n}\nfunction resetParent(nodes, parent) {\n return nodes.map((node) => {\n node.parentNode = parent;\n return node;\n });\n}\n"],"names":["this","require$$0","require$$1","el","html","tagEndPos","tagStartPos"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,49 @@
1
+ import { __exports as node } from "../../../../_virtual/node.js";
2
+ import { __require as requireHe } from "../../../he/he.js";
3
+ var hasRequiredNode;
4
+ function requireNode() {
5
+ if (hasRequiredNode) return node;
6
+ hasRequiredNode = 1;
7
+ Object.defineProperty(node, "__esModule", { value: true });
8
+ const he_1 = requireHe();
9
+ class Node {
10
+ constructor(parentNode = null, range) {
11
+ this.parentNode = parentNode;
12
+ this.childNodes = [];
13
+ Object.defineProperty(this, "range", {
14
+ enumerable: false,
15
+ writable: true,
16
+ configurable: true,
17
+ value: range !== null && range !== void 0 ? range : [-1, -1]
18
+ });
19
+ }
20
+ /**
21
+ * Remove current node
22
+ */
23
+ remove() {
24
+ if (this.parentNode) {
25
+ const children = this.parentNode.childNodes;
26
+ this.parentNode.childNodes = children.filter((child) => {
27
+ return this !== child;
28
+ });
29
+ this.parentNode = null;
30
+ }
31
+ return this;
32
+ }
33
+ get innerText() {
34
+ return this.rawText;
35
+ }
36
+ get textContent() {
37
+ return (0, he_1.decode)(this.rawText);
38
+ }
39
+ set textContent(val) {
40
+ this.rawText = (0, he_1.encode)(val);
41
+ }
42
+ }
43
+ node.default = Node;
44
+ return node;
45
+ }
46
+ export {
47
+ requireNode as __require
48
+ };
49
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sources":["../../../../../node_modules/node-html-parser/dist/nodes/node.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst he_1 = require(\"he\");\n/**\n * Node Class as base class for TextNode and HTMLElement.\n */\nclass Node {\n constructor(parentNode = null, range) {\n this.parentNode = parentNode;\n this.childNodes = [];\n Object.defineProperty(this, 'range', {\n enumerable: false,\n writable: true,\n configurable: true,\n value: range !== null && range !== void 0 ? range : [-1, -1]\n });\n }\n /**\n * Remove current node\n */\n remove() {\n if (this.parentNode) {\n const children = this.parentNode.childNodes;\n this.parentNode.childNodes = children.filter((child) => {\n return this !== child;\n });\n this.parentNode = null;\n }\n return this;\n }\n get innerText() {\n return this.rawText;\n }\n get textContent() {\n return (0, he_1.decode)(this.rawText);\n }\n set textContent(val) {\n this.rawText = (0, he_1.encode)(val);\n }\n}\nexports.default = Node;\n"],"names":["require$$0"],"mappings":";;;;;;AACA,SAAO,eAAe,MAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,QAAM,OAAOA,UAAA;AAAA,EAIb,MAAM,KAAK;AAAA,IACP,YAAY,aAAa,MAAM,OAAO;AAClC,WAAK,aAAa;AAClB,WAAK,aAAa,CAAA;AAClB,aAAO,eAAe,MAAM,SAAS;AAAA,QACjC,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,OAAO,UAAU,QAAQ,UAAU,SAAS,QAAQ,CAAC,IAAI,EAAE;AAAA,MACvE,CAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAII,SAAS;AACL,UAAI,KAAK,YAAY;AACjB,cAAM,WAAW,KAAK,WAAW;AACjC,aAAK,WAAW,aAAa,SAAS,OAAO,CAAC,UAAU;AACpD,iBAAO,SAAS;AAAA,QAChC,CAAa;AACD,aAAK,aAAa;AAAA,MAC9B;AACQ,aAAO;AAAA,IACf;AAAA,IACI,IAAI,YAAY;AACZ,aAAO,KAAK;AAAA,IACpB;AAAA,IACI,IAAI,cAAc;AACd,iBAAW,KAAK,QAAQ,KAAK,OAAO;AAAA,IAC5C;AAAA,IACI,IAAI,YAAY,KAAK;AACjB,WAAK,WAAU,GAAI,KAAK,QAAQ,GAAG;AAAA,IAC3C;AAAA,EACA;AACA,OAAA,UAAkB;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,106 @@
1
+ import { __exports as text } from "../../../../_virtual/text.js";
2
+ import { __require as requireHe } from "../../../he/he.js";
3
+ import { __require as requireNode } from "./node.js";
4
+ import { __require as requireType } from "./type.js";
5
+ var hasRequiredText;
6
+ function requireText() {
7
+ if (hasRequiredText) return text;
8
+ hasRequiredText = 1;
9
+ var __importDefault = text && text.__importDefault || function(mod) {
10
+ return mod && mod.__esModule ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(text, "__esModule", { value: true });
13
+ const he_1 = requireHe();
14
+ const node_1 = __importDefault(/* @__PURE__ */ requireNode());
15
+ const type_1 = __importDefault(/* @__PURE__ */ requireType());
16
+ class TextNode extends node_1.default {
17
+ clone() {
18
+ return new TextNode(this._rawText, null);
19
+ }
20
+ constructor(rawText, parentNode = null, range) {
21
+ super(parentNode, range);
22
+ this.nodeType = type_1.default.TEXT_NODE;
23
+ this.rawTagName = "";
24
+ this._rawText = rawText;
25
+ }
26
+ get rawText() {
27
+ return this._rawText;
28
+ }
29
+ /**
30
+ * Set rawText and invalidate trimmed caches
31
+ */
32
+ set rawText(text2) {
33
+ this._rawText = text2;
34
+ this._trimmedRawText = void 0;
35
+ this._trimmedText = void 0;
36
+ }
37
+ /**
38
+ * Returns raw text with all whitespace trimmed except single leading/trailing non-breaking space
39
+ */
40
+ get trimmedRawText() {
41
+ if (this._trimmedRawText !== void 0)
42
+ return this._trimmedRawText;
43
+ this._trimmedRawText = trimText(this.rawText);
44
+ return this._trimmedRawText;
45
+ }
46
+ /**
47
+ * Returns text with all whitespace trimmed except single leading/trailing non-breaking space
48
+ */
49
+ get trimmedText() {
50
+ if (this._trimmedText !== void 0)
51
+ return this._trimmedText;
52
+ this._trimmedText = trimText(this.text);
53
+ return this._trimmedText;
54
+ }
55
+ /**
56
+ * Get unescaped text value of current node and its children.
57
+ * @return {string} text content
58
+ */
59
+ get text() {
60
+ return (0, he_1.decode)(this.rawText);
61
+ }
62
+ /**
63
+ * Detect if the node contains only white space.
64
+ * @return {boolean}
65
+ */
66
+ get isWhitespace() {
67
+ return /^(\s|&nbsp;)*$/.test(this.rawText);
68
+ }
69
+ toString() {
70
+ return this.rawText;
71
+ }
72
+ }
73
+ text.default = TextNode;
74
+ function trimText(text2) {
75
+ let i = 0;
76
+ let startPos;
77
+ let endPos;
78
+ while (i >= 0 && i < text2.length) {
79
+ if (/\S/.test(text2[i])) {
80
+ if (startPos === void 0) {
81
+ startPos = i;
82
+ i = text2.length;
83
+ } else {
84
+ endPos = i;
85
+ i = void 0;
86
+ }
87
+ }
88
+ if (startPos === void 0)
89
+ i++;
90
+ else
91
+ i--;
92
+ }
93
+ if (startPos === void 0)
94
+ startPos = 0;
95
+ if (endPos === void 0)
96
+ endPos = text2.length - 1;
97
+ const hasLeadingSpace = startPos > 0 && /[^\S\r\n]/.test(text2[startPos - 1]);
98
+ const hasTrailingSpace = endPos < text2.length - 1 && /[^\S\r\n]/.test(text2[endPos + 1]);
99
+ return (hasLeadingSpace ? " " : "") + text2.slice(startPos, endPos + 1) + (hasTrailingSpace ? " " : "");
100
+ }
101
+ return text;
102
+ }
103
+ export {
104
+ requireText as __require
105
+ };
106
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sources":["../../../../../node_modules/node-html-parser/dist/nodes/text.js"],"sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst he_1 = require(\"he\");\nconst node_1 = __importDefault(require(\"./node\"));\nconst type_1 = __importDefault(require(\"./type\"));\n/**\n * TextNode to contain a text element in DOM tree.\n * @param {string} value [description]\n */\nclass TextNode extends node_1.default {\n clone() {\n return new TextNode(this._rawText, null);\n }\n constructor(rawText, parentNode = null, range) {\n super(parentNode, range);\n /**\n * Node Type declaration.\n * @type {Number}\n */\n this.nodeType = type_1.default.TEXT_NODE;\n this.rawTagName = '';\n this._rawText = rawText;\n }\n get rawText() {\n return this._rawText;\n }\n /**\n * Set rawText and invalidate trimmed caches\n */\n set rawText(text) {\n this._rawText = text;\n this._trimmedRawText = void 0;\n this._trimmedText = void 0;\n }\n /**\n * Returns raw text with all whitespace trimmed except single leading/trailing non-breaking space\n */\n get trimmedRawText() {\n if (this._trimmedRawText !== undefined)\n return this._trimmedRawText;\n this._trimmedRawText = trimText(this.rawText);\n return this._trimmedRawText;\n }\n /**\n * Returns text with all whitespace trimmed except single leading/trailing non-breaking space\n */\n get trimmedText() {\n if (this._trimmedText !== undefined)\n return this._trimmedText;\n this._trimmedText = trimText(this.text);\n return this._trimmedText;\n }\n /**\n * Get unescaped text value of current node and its children.\n * @return {string} text content\n */\n get text() {\n return (0, he_1.decode)(this.rawText);\n }\n /**\n * Detect if the node contains only white space.\n * @return {boolean}\n */\n get isWhitespace() {\n return /^(\\s|&nbsp;)*$/.test(this.rawText);\n }\n toString() {\n return this.rawText;\n }\n}\nexports.default = TextNode;\n/**\n * Trim whitespace except single leading/trailing non-breaking space\n */\nfunction trimText(text) {\n let i = 0;\n let startPos;\n let endPos;\n while (i >= 0 && i < text.length) {\n if (/\\S/.test(text[i])) {\n if (startPos === undefined) {\n startPos = i;\n i = text.length;\n }\n else {\n endPos = i;\n i = void 0;\n }\n }\n if (startPos === undefined)\n i++;\n else\n i--;\n }\n if (startPos === undefined)\n startPos = 0;\n if (endPos === undefined)\n endPos = text.length - 1;\n const hasLeadingSpace = startPos > 0 && /[^\\S\\r\\n]/.test(text[startPos - 1]);\n const hasTrailingSpace = endPos < (text.length - 1) && /[^\\S\\r\\n]/.test(text[endPos + 1]);\n return (hasLeadingSpace ? ' ' : '') + text.slice(startPos, endPos + 1) + (hasTrailingSpace ? ' ' : '');\n}\n"],"names":["this","require$$0","text"],"mappings":";;;;;;;;AACA,MAAI,kBAAmBA,QAAQA,KAAK,mBAAoB,SAAU,KAAK;AACnE,WAAQ,OAAO,IAAI,aAAc,MAAM,EAAE,WAAW,IAAG;AAAA,EAC3D;AACA,SAAO,eAAe,MAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,QAAM,OAAOC,UAAA;AACb,QAAM,SAAS,6CAAiC;AAChD,QAAM,SAAS,6CAAiC;AAAA,EAKhD,MAAM,iBAAiB,OAAO,QAAQ;AAAA,IAClC,QAAQ;AACJ,aAAO,IAAI,SAAS,KAAK,UAAU,IAAI;AAAA,IAC/C;AAAA,IACI,YAAY,SAAS,aAAa,MAAM,OAAO;AAC3C,YAAM,YAAY,KAAK;AAKvB,WAAK,WAAW,OAAO,QAAQ;AAC/B,WAAK,aAAa;AAClB,WAAK,WAAW;AAAA,IACxB;AAAA,IACI,IAAI,UAAU;AACV,aAAO,KAAK;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAII,IAAI,QAAQC,OAAM;AACd,WAAK,WAAWA;AAChB,WAAK,kBAAkB;AACvB,WAAK,eAAe;AAAA,IAC5B;AAAA;AAAA;AAAA;AAAA,IAII,IAAI,iBAAiB;AACjB,UAAI,KAAK,oBAAoB;AACzB,eAAO,KAAK;AAChB,WAAK,kBAAkB,SAAS,KAAK,OAAO;AAC5C,aAAO,KAAK;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAII,IAAI,cAAc;AACd,UAAI,KAAK,iBAAiB;AACtB,eAAO,KAAK;AAChB,WAAK,eAAe,SAAS,KAAK,IAAI;AACtC,aAAO,KAAK;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKI,IAAI,OAAO;AACP,iBAAW,KAAK,QAAQ,KAAK,OAAO;AAAA,IAC5C;AAAA;AAAA;AAAA;AAAA;AAAA,IAKI,IAAI,eAAe;AACf,aAAO,iBAAiB,KAAK,KAAK,OAAO;AAAA,IACjD;AAAA,IACI,WAAW;AACP,aAAO,KAAK;AAAA,IACpB;AAAA,EACA;AACA,OAAA,UAAkB;AAIlB,WAAS,SAASA,OAAM;AACpB,QAAI,IAAI;AACR,QAAI;AACJ,QAAI;AACJ,WAAO,KAAK,KAAK,IAAIA,MAAK,QAAQ;AAC9B,UAAI,KAAK,KAAKA,MAAK,CAAC,CAAC,GAAG;AACpB,YAAI,aAAa,QAAW;AACxB,qBAAW;AACX,cAAIA,MAAK;AAAA,QACzB,OACiB;AACD,mBAAS;AACT,cAAI;AAAA,QACpB;AAAA,MACA;AACQ,UAAI,aAAa;AACb;AAAA;AAEA;AAAA,IACZ;AACI,QAAI,aAAa;AACb,iBAAW;AACf,QAAI,WAAW;AACX,eAASA,MAAK,SAAS;AAC3B,UAAM,kBAAkB,WAAW,KAAK,YAAY,KAAKA,MAAK,WAAW,CAAC,CAAC;AAC3E,UAAM,mBAAmB,SAAUA,MAAK,SAAS,KAAM,YAAY,KAAKA,MAAK,SAAS,CAAC,CAAC;AACxF,YAAQ,kBAAkB,MAAM,MAAMA,MAAK,MAAM,UAAU,SAAS,CAAC,KAAK,mBAAmB,MAAM;AAAA,EACvG;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,19 @@
1
+ import { __exports as type } from "../../../../_virtual/type.js";
2
+ var hasRequiredType;
3
+ function requireType() {
4
+ if (hasRequiredType) return type;
5
+ hasRequiredType = 1;
6
+ Object.defineProperty(type, "__esModule", { value: true });
7
+ var NodeType;
8
+ (function(NodeType2) {
9
+ NodeType2[NodeType2["ELEMENT_NODE"] = 1] = "ELEMENT_NODE";
10
+ NodeType2[NodeType2["TEXT_NODE"] = 3] = "TEXT_NODE";
11
+ NodeType2[NodeType2["COMMENT_NODE"] = 8] = "COMMENT_NODE";
12
+ })(NodeType || (NodeType = {}));
13
+ type.default = NodeType;
14
+ return type;
15
+ }
16
+ export {
17
+ requireType as __require
18
+ };
19
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sources":["../../../../../node_modules/node-html-parser/dist/nodes/type.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar NodeType;\n(function (NodeType) {\n NodeType[NodeType[\"ELEMENT_NODE\"] = 1] = \"ELEMENT_NODE\";\n NodeType[NodeType[\"TEXT_NODE\"] = 3] = \"TEXT_NODE\";\n NodeType[NodeType[\"COMMENT_NODE\"] = 8] = \"COMMENT_NODE\";\n})(NodeType || (NodeType = {}));\nexports.default = NodeType;\n"],"names":["NodeType"],"mappings":";;;;;AACA,SAAO,eAAe,MAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,MAAI;AACJ,GAAC,SAAUA,WAAU;AACjB,IAAAA,UAASA,UAAS,cAAc,IAAI,CAAC,IAAI;AACzC,IAAAA,UAASA,UAAS,WAAW,IAAI,CAAC,IAAI;AACtC,IAAAA,UAASA,UAAS,cAAc,IAAI,CAAC,IAAI;AAAA,EAC7C,GAAG,aAAa,WAAW,CAAA,EAAG;AAC9B,OAAA,UAAkB;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,20 @@
1
+ import { __exports as parse } from "../../../_virtual/parse.js";
2
+ import { __require as requireHtml } from "./nodes/html.js";
3
+ var hasRequiredParse;
4
+ function requireParse() {
5
+ if (hasRequiredParse) return parse;
6
+ hasRequiredParse = 1;
7
+ (function(exports$1) {
8
+ Object.defineProperty(exports$1, "__esModule", { value: true });
9
+ exports$1.default = void 0;
10
+ var html_1 = /* @__PURE__ */ requireHtml();
11
+ Object.defineProperty(exports$1, "default", { enumerable: true, get: function() {
12
+ return html_1.parse;
13
+ } });
14
+ })(parse);
15
+ return parse;
16
+ }
17
+ export {
18
+ requireParse as __require
19
+ };
20
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sources":["../../../../node_modules/node-html-parser/dist/parse.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = void 0;\nvar html_1 = require(\"./nodes/html\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return html_1.parse; } });\n"],"names":["exports","require$$0"],"mappings":";;;;;;;AACA,WAAO,eAAcA,WAAU,cAAc,EAAE,OAAO,MAAM;AAC5DA,cAAA,UAAkB;AAClB,QAAI,SAASC,4BAAA;AACb,WAAO,eAAeD,WAAS,WAAW,EAAE,YAAY,MAAM,KAAK,WAAY;AAAE,aAAO,OAAO;AAAA,IAAM,EAAE,CAAE;AAAA;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,19 @@
1
+ import { __exports as valid } from "../../../_virtual/valid.js";
2
+ import { __require as requireHtml } from "./nodes/html.js";
3
+ var hasRequiredValid;
4
+ function requireValid() {
5
+ if (hasRequiredValid) return valid;
6
+ hasRequiredValid = 1;
7
+ Object.defineProperty(valid, "__esModule", { value: true });
8
+ const html_1 = /* @__PURE__ */ requireHtml();
9
+ function valid$1(data, options = {}) {
10
+ const stack = (0, html_1.base_parse)(data, options);
11
+ return Boolean(stack.length === 1);
12
+ }
13
+ valid.default = valid$1;
14
+ return valid;
15
+ }
16
+ export {
17
+ requireValid as __require
18
+ };
19
+ //# sourceMappingURL=valid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid.js","sources":["../../../../node_modules/node-html-parser/dist/valid.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst html_1 = require(\"./nodes/html\");\n/**\n * Parses HTML and returns a root element\n * Parse a chuck of HTML source.\n */\nfunction valid(data, options = {}) {\n const stack = (0, html_1.base_parse)(data, options);\n return Boolean(stack.length === 1);\n}\nexports.default = valid;\n"],"names":["valid_1","require$$0","valid"],"mappings":";;;;;;AACA,SAAO,eAAeA,OAAS,cAAc,EAAE,OAAO,MAAM;AAC5D,QAAM,SAASC,4BAAA;AAKf,WAASC,QAAM,MAAM,UAAU,IAAI;AAC/B,UAAM,SAAQ,GAAI,OAAO,YAAY,MAAM,OAAO;AAClD,WAAO,QAAQ,MAAM,WAAW,CAAC;AAAA,EACrC;AACAF,QAAA,UAAkBE;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,36 @@
1
+ import { __exports as voidTag } from "../../../_virtual/void-tag.js";
2
+ var hasRequiredVoidTag;
3
+ function requireVoidTag() {
4
+ if (hasRequiredVoidTag) return voidTag;
5
+ hasRequiredVoidTag = 1;
6
+ Object.defineProperty(voidTag, "__esModule", { value: true });
7
+ class VoidTag {
8
+ constructor(addClosingSlash = false, tags) {
9
+ this.addClosingSlash = addClosingSlash;
10
+ if (Array.isArray(tags)) {
11
+ this.voidTags = tags.reduce((set, tag) => {
12
+ return set.add(tag.toLowerCase()).add(tag.toUpperCase()).add(tag);
13
+ }, /* @__PURE__ */ new Set());
14
+ } else {
15
+ this.voidTags = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"].reduce((set, tag) => {
16
+ return set.add(tag.toLowerCase()).add(tag.toUpperCase()).add(tag);
17
+ }, /* @__PURE__ */ new Set());
18
+ }
19
+ }
20
+ formatNode(tag, attrs, innerHTML) {
21
+ const addClosingSlash = this.addClosingSlash;
22
+ const closingSpace = addClosingSlash && attrs && !attrs.endsWith(" ") ? " " : "";
23
+ const closingSlash = addClosingSlash ? `${closingSpace}/` : "";
24
+ return this.isVoidElement(tag.toLowerCase()) ? `<${tag}${attrs}${closingSlash}>` : `<${tag}${attrs}>${innerHTML}</${tag}>`;
25
+ }
26
+ isVoidElement(tag) {
27
+ return this.voidTags.has(tag);
28
+ }
29
+ }
30
+ voidTag.default = VoidTag;
31
+ return voidTag;
32
+ }
33
+ export {
34
+ requireVoidTag as __require
35
+ };
36
+ //# sourceMappingURL=void-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"void-tag.js","sources":["../../../../node_modules/node-html-parser/dist/void-tag.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass VoidTag {\n constructor(addClosingSlash = false, tags) {\n this.addClosingSlash = addClosingSlash;\n if (Array.isArray(tags)) {\n this.voidTags = tags.reduce((set, tag) => {\n return set.add(tag.toLowerCase()).add(tag.toUpperCase()).add(tag);\n }, new Set());\n }\n else {\n this.voidTags = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr'].reduce((set, tag) => {\n return set.add(tag.toLowerCase()).add(tag.toUpperCase()).add(tag);\n }, new Set());\n }\n }\n formatNode(tag, attrs, innerHTML) {\n const addClosingSlash = this.addClosingSlash;\n const closingSpace = (addClosingSlash && attrs && !attrs.endsWith(' ')) ? ' ' : '';\n const closingSlash = addClosingSlash ? `${closingSpace}/` : '';\n return this.isVoidElement(tag.toLowerCase()) ? `<${tag}${attrs}${closingSlash}>` : `<${tag}${attrs}>${innerHTML}</${tag}>`;\n }\n isVoidElement(tag) {\n return this.voidTags.has(tag);\n }\n}\nexports.default = VoidTag;\n"],"names":[],"mappings":";;;;;AACA,SAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM;AAAA,EAC5D,MAAM,QAAQ;AAAA,IACV,YAAY,kBAAkB,OAAO,MAAM;AACvC,WAAK,kBAAkB;AACvB,UAAI,MAAM,QAAQ,IAAI,GAAG;AACrB,aAAK,WAAW,KAAK,OAAO,CAAC,KAAK,QAAQ;AACtC,iBAAO,IAAI,IAAI,IAAI,YAAW,CAAE,EAAE,IAAI,IAAI,YAAW,CAAE,EAAE,IAAI,GAAG;AAAA,QAChF,GAAe,oBAAI,KAAK;AAAA,MACxB,OACa;AACD,aAAK,WAAW,CAAC,QAAQ,QAAQ,MAAM,OAAO,SAAS,MAAM,OAAO,SAAS,QAAQ,QAAQ,SAAS,UAAU,SAAS,KAAK,EAAE,OAAO,CAAC,KAAK,QAAQ;AACjJ,iBAAO,IAAI,IAAI,IAAI,YAAW,CAAE,EAAE,IAAI,IAAI,YAAW,CAAE,EAAE,IAAI,GAAG;AAAA,QAChF,GAAe,oBAAI,KAAK;AAAA,MACxB;AAAA,IACA;AAAA,IACI,WAAW,KAAK,OAAO,WAAW;AAC9B,YAAM,kBAAkB,KAAK;AAC7B,YAAM,eAAgB,mBAAmB,SAAS,CAAC,MAAM,SAAS,GAAG,IAAK,MAAM;AAChF,YAAM,eAAe,kBAAkB,GAAG,YAAY,MAAM;AAC5D,aAAO,KAAK,cAAc,IAAI,YAAW,CAAE,IAAI,IAAI,GAAG,GAAG,KAAK,GAAG,YAAY,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,SAAS,KAAK,GAAG;AAAA,IAC/H;AAAA,IACI,cAAc,KAAK;AACf,aAAO,KAAK,SAAS,IAAI,GAAG;AAAA,IACpC;AAAA,EACA;AACA,UAAA,UAAkB;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,76 @@
1
+ import { __exports as compile } from "../../../_virtual/compile2.js";
2
+ import { __require as requireBoolbase } from "../../boolbase/index.js";
3
+ var hasRequiredCompile;
4
+ function requireCompile() {
5
+ if (hasRequiredCompile) return compile;
6
+ hasRequiredCompile = 1;
7
+ var __importDefault = compile && compile.__importDefault || function(mod) {
8
+ return mod && mod.__esModule ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(compile, "__esModule", { value: true });
11
+ compile.generate = compile.compile = void 0;
12
+ var boolbase_1 = __importDefault(requireBoolbase());
13
+ function compile$1(parsed) {
14
+ var a = parsed[0];
15
+ var b = parsed[1] - 1;
16
+ if (b < 0 && a <= 0)
17
+ return boolbase_1.default.falseFunc;
18
+ if (a === -1)
19
+ return function(index) {
20
+ return index <= b;
21
+ };
22
+ if (a === 0)
23
+ return function(index) {
24
+ return index === b;
25
+ };
26
+ if (a === 1)
27
+ return b < 0 ? boolbase_1.default.trueFunc : function(index) {
28
+ return index >= b;
29
+ };
30
+ var absA = Math.abs(a);
31
+ var bMod = (b % absA + absA) % absA;
32
+ return a > 1 ? function(index) {
33
+ return index >= b && index % absA === bMod;
34
+ } : function(index) {
35
+ return index <= b && index % absA === bMod;
36
+ };
37
+ }
38
+ compile.compile = compile$1;
39
+ function generate(parsed) {
40
+ var a = parsed[0];
41
+ var b = parsed[1] - 1;
42
+ var n = 0;
43
+ if (a < 0) {
44
+ var aPos_1 = -a;
45
+ var minValue_1 = (b % aPos_1 + aPos_1) % aPos_1;
46
+ return function() {
47
+ var val = minValue_1 + aPos_1 * n++;
48
+ return val > b ? null : val;
49
+ };
50
+ }
51
+ if (a === 0)
52
+ return b < 0 ? (
53
+ // There are no result — always return `null`
54
+ function() {
55
+ return null;
56
+ }
57
+ ) : (
58
+ // Return `b` exactly once
59
+ function() {
60
+ return n++ === 0 ? b : null;
61
+ }
62
+ );
63
+ if (b < 0) {
64
+ b += a * Math.ceil(-b / a);
65
+ }
66
+ return function() {
67
+ return a * n++ + b;
68
+ };
69
+ }
70
+ compile.generate = generate;
71
+ return compile;
72
+ }
73
+ export {
74
+ requireCompile as __require
75
+ };
76
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sources":["../../../../node_modules/nth-check/lib/compile.js"],"sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generate = exports.compile = void 0;\nvar boolbase_1 = __importDefault(require(\"boolbase\"));\n/**\n * Returns a function that checks if an elements index matches the given rule\n * highly optimized to return the fastest solution.\n *\n * @param parsed A tuple [a, b], as returned by `parse`.\n * @returns A highly optimized function that returns whether an index matches the nth-check.\n * @example\n *\n * ```js\n * const check = nthCheck.compile([2, 3]);\n *\n * check(0); // `false`\n * check(1); // `false`\n * check(2); // `true`\n * check(3); // `false`\n * check(4); // `true`\n * check(5); // `false`\n * check(6); // `true`\n * ```\n */\nfunction compile(parsed) {\n var a = parsed[0];\n // Subtract 1 from `b`, to convert from one- to zero-indexed.\n var b = parsed[1] - 1;\n /*\n * When `b <= 0`, `a * n` won't be lead to any matches for `a < 0`.\n * Besides, the specification states that no elements are\n * matched when `a` and `b` are 0.\n *\n * `b < 0` here as we subtracted 1 from `b` above.\n */\n if (b < 0 && a <= 0)\n return boolbase_1.default.falseFunc;\n // When `a` is in the range -1..1, it matches any element (so only `b` is checked).\n if (a === -1)\n return function (index) { return index <= b; };\n if (a === 0)\n return function (index) { return index === b; };\n // When `b <= 0` and `a === 1`, they match any element.\n if (a === 1)\n return b < 0 ? boolbase_1.default.trueFunc : function (index) { return index >= b; };\n /*\n * Otherwise, modulo can be used to check if there is a match.\n *\n * Modulo doesn't care about the sign, so let's use `a`s absolute value.\n */\n var absA = Math.abs(a);\n // Get `b mod a`, + a if this is negative.\n var bMod = ((b % absA) + absA) % absA;\n return a > 1\n ? function (index) { return index >= b && index % absA === bMod; }\n : function (index) { return index <= b && index % absA === bMod; };\n}\nexports.compile = compile;\n/**\n * Returns a function that produces a monotonously increasing sequence of indices.\n *\n * If the sequence has an end, the returned function will return `null` after\n * the last index in the sequence.\n *\n * @param parsed A tuple [a, b], as returned by `parse`.\n * @returns A function that produces a sequence of indices.\n * @example <caption>Always increasing (2n+3)</caption>\n *\n * ```js\n * const gen = nthCheck.generate([2, 3])\n *\n * gen() // `1`\n * gen() // `3`\n * gen() // `5`\n * gen() // `8`\n * gen() // `11`\n * ```\n *\n * @example <caption>With end value (-2n+10)</caption>\n *\n * ```js\n *\n * const gen = nthCheck.generate([-2, 5]);\n *\n * gen() // 0\n * gen() // 2\n * gen() // 4\n * gen() // null\n * ```\n */\nfunction generate(parsed) {\n var a = parsed[0];\n // Subtract 1 from `b`, to convert from one- to zero-indexed.\n var b = parsed[1] - 1;\n var n = 0;\n // Make sure to always return an increasing sequence\n if (a < 0) {\n var aPos_1 = -a;\n // Get `b mod a`\n var minValue_1 = ((b % aPos_1) + aPos_1) % aPos_1;\n return function () {\n var val = minValue_1 + aPos_1 * n++;\n return val > b ? null : val;\n };\n }\n if (a === 0)\n return b < 0\n ? // There are no result — always return `null`\n function () { return null; }\n : // Return `b` exactly once\n function () { return (n++ === 0 ? b : null); };\n if (b < 0) {\n b += a * Math.ceil(-b / a);\n }\n return function () { return a * n++ + b; };\n}\nexports.generate = generate;\n//# sourceMappingURL=compile.js.map"],"names":["this","compile_1","require$$0","compile"],"mappings":";;;;;;AACA,MAAI,kBAAmBA,WAAQA,QAAK,mBAAoB,SAAU,KAAK;AACnE,WAAQ,OAAO,IAAI,aAAc,MAAM,EAAE,WAAW,IAAG;AAAA,EAC3D;AACA,SAAO,eAAeC,SAAS,cAAc,EAAE,OAAO,MAAM;AAC5DA,UAAA,WAAmBA,QAAA,UAAkB;AACrC,MAAI,aAAa,gBAAgBC,iBAAmB;AAqBpD,WAASC,UAAQ,QAAQ;AACrB,QAAI,IAAI,OAAO,CAAC;AAEhB,QAAI,IAAI,OAAO,CAAC,IAAI;AAQpB,QAAI,IAAI,KAAK,KAAK;AACd,aAAO,WAAW,QAAQ;AAE9B,QAAI,MAAM;AACN,aAAO,SAAU,OAAO;AAAE,eAAO,SAAS;AAAA,MAAE;AAChD,QAAI,MAAM;AACN,aAAO,SAAU,OAAO;AAAE,eAAO,UAAU;AAAA,MAAE;AAEjD,QAAI,MAAM;AACN,aAAO,IAAI,IAAI,WAAW,QAAQ,WAAW,SAAU,OAAO;AAAE,eAAO,SAAS;AAAA,MAAE;AAMtF,QAAI,OAAO,KAAK,IAAI,CAAC;AAErB,QAAI,QAAS,IAAI,OAAQ,QAAQ;AACjC,WAAO,IAAI,IACL,SAAU,OAAO;AAAE,aAAO,SAAS,KAAK,QAAQ,SAAS;AAAA,IAAK,IAC9D,SAAU,OAAO;AAAE,aAAO,SAAS,KAAK,QAAQ,SAAS;AAAA,IAAK;AAAA,EACxE;AACAF,UAAA,UAAkBE;AAiClB,WAAS,SAAS,QAAQ;AACtB,QAAI,IAAI,OAAO,CAAC;AAEhB,QAAI,IAAI,OAAO,CAAC,IAAI;AACpB,QAAI,IAAI;AAER,QAAI,IAAI,GAAG;AACP,UAAI,SAAS,CAAC;AAEd,UAAI,cAAe,IAAI,SAAU,UAAU;AAC3C,aAAO,WAAY;AACf,YAAI,MAAM,aAAa,SAAS;AAChC,eAAO,MAAM,IAAI,OAAO;AAAA,MACpC;AAAA,IACA;AACI,QAAI,MAAM;AACN,aAAO,IAAI;AAAA;AAAA,QAEH,WAAY;AAAE,iBAAO;AAAA,QAAK;AAAA;AAAA;AAAA,QAE1B,WAAY;AAAE,iBAAQ,QAAQ,IAAI,IAAI;AAAA,QAAM;AAAA;AACxD,QAAI,IAAI,GAAG;AACP,WAAK,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;AAAA,IACjC;AACI,WAAO,WAAY;AAAE,aAAO,IAAI,MAAM;AAAA,IAAE;AAAA,EAC5C;AACAF,UAAA,WAAmB;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,36 @@
1
+ import { __exports as lib } from "../../../_virtual/index10.js";
2
+ import { __require as requireParse } from "./parse.js";
3
+ import { __require as requireCompile } from "./compile.js";
4
+ var hasRequiredLib;
5
+ function requireLib() {
6
+ if (hasRequiredLib) return lib;
7
+ hasRequiredLib = 1;
8
+ (function(exports$1) {
9
+ Object.defineProperty(exports$1, "__esModule", { value: true });
10
+ exports$1.sequence = exports$1.generate = exports$1.compile = exports$1.parse = void 0;
11
+ var parse_js_1 = /* @__PURE__ */ requireParse();
12
+ Object.defineProperty(exports$1, "parse", { enumerable: true, get: function() {
13
+ return parse_js_1.parse;
14
+ } });
15
+ var compile_js_1 = /* @__PURE__ */ requireCompile();
16
+ Object.defineProperty(exports$1, "compile", { enumerable: true, get: function() {
17
+ return compile_js_1.compile;
18
+ } });
19
+ Object.defineProperty(exports$1, "generate", { enumerable: true, get: function() {
20
+ return compile_js_1.generate;
21
+ } });
22
+ function nthCheck(formula) {
23
+ return (0, compile_js_1.compile)((0, parse_js_1.parse)(formula));
24
+ }
25
+ exports$1.default = nthCheck;
26
+ function sequence(formula) {
27
+ return (0, compile_js_1.generate)((0, parse_js_1.parse)(formula));
28
+ }
29
+ exports$1.sequence = sequence;
30
+ })(lib);
31
+ return lib;
32
+ }
33
+ export {
34
+ requireLib as __require
35
+ };
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/nth-check/lib/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sequence = exports.generate = exports.compile = exports.parse = void 0;\nvar parse_js_1 = require(\"./parse.js\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parse_js_1.parse; } });\nvar compile_js_1 = require(\"./compile.js\");\nObject.defineProperty(exports, \"compile\", { enumerable: true, get: function () { return compile_js_1.compile; } });\nObject.defineProperty(exports, \"generate\", { enumerable: true, get: function () { return compile_js_1.generate; } });\n/**\n * Parses and compiles a formula to a highly optimized function.\n * Combination of {@link parse} and {@link compile}.\n *\n * If the formula doesn't match any elements,\n * it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.\n * Otherwise, a function accepting an _index_ is returned, which returns\n * whether or not the passed _index_ matches the formula.\n *\n * Note: The nth-rule starts counting at `1`, the returned function at `0`.\n *\n * @param formula The formula to compile.\n * @example\n * const check = nthCheck(\"2n+3\");\n *\n * check(0); // `false`\n * check(1); // `false`\n * check(2); // `true`\n * check(3); // `false`\n * check(4); // `true`\n * check(5); // `false`\n * check(6); // `true`\n */\nfunction nthCheck(formula) {\n return (0, compile_js_1.compile)((0, parse_js_1.parse)(formula));\n}\nexports.default = nthCheck;\n/**\n * Parses and compiles a formula to a generator that produces a sequence of indices.\n * Combination of {@link parse} and {@link generate}.\n *\n * @param formula The formula to compile.\n * @returns A function that produces a sequence of indices.\n * @example <caption>Always increasing</caption>\n *\n * ```js\n * const gen = nthCheck.sequence('2n+3')\n *\n * gen() // `1`\n * gen() // `3`\n * gen() // `5`\n * gen() // `8`\n * gen() // `11`\n * ```\n *\n * @example <caption>With end value</caption>\n *\n * ```js\n *\n * const gen = nthCheck.sequence('-2n+5');\n *\n * gen() // 0\n * gen() // 2\n * gen() // 4\n * gen() // null\n * ```\n */\nfunction sequence(formula) {\n return (0, compile_js_1.generate)((0, parse_js_1.parse)(formula));\n}\nexports.sequence = sequence;\n//# sourceMappingURL=index.js.map"],"names":["exports","require$$0","require$$1"],"mappings":";;;;;;;;AACA,WAAO,eAAcA,WAAU,cAAc,EAAE,OAAO,MAAM;AAC5DA,cAAA,WAAmBA,UAAA,WAAmBA,UAAA,UAAkBA,UAAA,QAAgB;AACxE,QAAI,aAAaC,6BAAA;AACjB,WAAO,eAAeD,WAAS,SAAS,EAAE,YAAY,MAAM,KAAK,WAAY;AAAE,aAAO,WAAW;AAAA,IAAM,EAAE,CAAE;AAC3G,QAAI,eAAeE,+BAAA;AACnB,WAAO,eAAeF,WAAS,WAAW,EAAE,YAAY,MAAM,KAAK,WAAY;AAAE,aAAO,aAAa;AAAA,IAAQ,EAAE,CAAE;AACjH,WAAO,eAAeA,WAAS,YAAY,EAAE,YAAY,MAAM,KAAK,WAAY;AAAE,aAAO,aAAa;AAAA,IAAS,EAAE,CAAE;AAwBnH,aAAS,SAAS,SAAS;AACvB,cAAO,GAAI,aAAa,UAAS,GAAI,WAAW,OAAO,OAAO,CAAC;AAAA,IACnE;AACAA,cAAA,UAAkB;AA+BlB,aAAS,SAAS,SAAS;AACvB,cAAO,GAAI,aAAa,WAAU,GAAI,WAAW,OAAO,OAAO,CAAC;AAAA,IACpE;AACAA,cAAA,WAAmB;AAAA;;;","x_google_ignoreList":[0]}