@fiduswriter/document 0.1.0-alpha.3 → 0.1.0-alpha.5

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 (582) hide show
  1. package/README.md +22 -1
  2. package/dist/bibliography/common.d.ts +10 -0
  3. package/dist/bibliography/common.d.ts.map +1 -0
  4. package/dist/bibliography/common.js +86 -0
  5. package/dist/bibliography/common.js.map +1 -0
  6. package/dist/bibliography/csl_bib.d.ts +3 -0
  7. package/dist/bibliography/csl_bib.d.ts.map +1 -0
  8. package/dist/bibliography/csl_bib.js +131 -0
  9. package/dist/bibliography/csl_bib.js.map +1 -0
  10. package/dist/citations/citeproc_sys.d.ts +12 -0
  11. package/dist/citations/citeproc_sys.d.ts.map +1 -0
  12. package/dist/citations/citeproc_sys.js +48 -0
  13. package/dist/citations/citeproc_sys.js.map +1 -0
  14. package/dist/citations/format.d.ts +40 -0
  15. package/dist/citations/format.d.ts.map +1 -0
  16. package/dist/citations/format.js +186 -0
  17. package/dist/citations/format.js.map +1 -0
  18. package/dist/editor/e2ee/encryptor.d.ts +123 -0
  19. package/dist/editor/e2ee/encryptor.d.ts.map +1 -0
  20. package/dist/editor/e2ee/encryptor.js +201 -0
  21. package/dist/editor/e2ee/encryptor.js.map +1 -0
  22. package/dist/exporter/docx/citations.d.ts +31 -0
  23. package/dist/exporter/docx/citations.d.ts.map +1 -0
  24. package/dist/exporter/docx/citations.js +171 -0
  25. package/dist/exporter/docx/citations.js.map +1 -0
  26. package/dist/exporter/docx/comments.d.ts +22 -0
  27. package/dist/exporter/docx/comments.d.ts.map +1 -0
  28. package/dist/exporter/docx/comments.js +170 -0
  29. package/dist/exporter/docx/comments.js.map +1 -0
  30. package/dist/exporter/docx/footnotes.d.ts +47 -0
  31. package/dist/exporter/docx/footnotes.d.ts.map +1 -0
  32. package/dist/exporter/docx/footnotes.js +216 -0
  33. package/dist/exporter/docx/footnotes.js.map +1 -0
  34. package/dist/exporter/docx/images.d.ts +25 -0
  35. package/dist/exporter/docx/images.d.ts.map +1 -0
  36. package/dist/exporter/docx/images.js +101 -0
  37. package/dist/exporter/docx/images.js.map +1 -0
  38. package/dist/exporter/docx/index.d.ts +16 -0
  39. package/dist/exporter/docx/index.d.ts.map +1 -0
  40. package/dist/exporter/docx/index.js +115 -0
  41. package/dist/exporter/docx/index.js.map +1 -0
  42. package/dist/exporter/docx/lists.d.ts +38 -0
  43. package/dist/exporter/docx/lists.d.ts.map +1 -0
  44. package/dist/exporter/docx/lists.js +276 -0
  45. package/dist/exporter/docx/lists.js.map +1 -0
  46. package/dist/exporter/docx/math.d.ts +13 -0
  47. package/dist/exporter/docx/math.d.ts.map +1 -0
  48. package/dist/exporter/docx/math.js +59 -0
  49. package/dist/exporter/docx/math.js.map +1 -0
  50. package/dist/exporter/docx/metadata.d.ts +17 -0
  51. package/dist/exporter/docx/metadata.d.ts.map +1 -0
  52. package/dist/exporter/docx/metadata.js +272 -0
  53. package/dist/exporter/docx/metadata.js.map +1 -0
  54. package/dist/exporter/docx/rels.d.ts +27 -0
  55. package/dist/exporter/docx/rels.d.ts.map +1 -0
  56. package/dist/exporter/docx/rels.js +183 -0
  57. package/dist/exporter/docx/rels.js.map +1 -0
  58. package/dist/exporter/docx/render.d.ts +22 -0
  59. package/dist/exporter/docx/render.d.ts.map +1 -0
  60. package/dist/exporter/docx/render.js +780 -0
  61. package/dist/exporter/docx/render.js.map +1 -0
  62. package/dist/exporter/docx/richtext.d.ts +25 -0
  63. package/dist/exporter/docx/richtext.d.ts.map +1 -0
  64. package/dist/exporter/docx/richtext.js +1070 -0
  65. package/dist/exporter/docx/richtext.js.map +1 -0
  66. package/dist/exporter/docx/tables.d.ts +16 -0
  67. package/dist/exporter/docx/tables.d.ts.map +1 -0
  68. package/dist/exporter/docx/tables.js +115 -0
  69. package/dist/exporter/docx/tables.js.map +1 -0
  70. package/dist/exporter/docx/tools.d.ts +4 -0
  71. package/dist/exporter/docx/tools.d.ts.map +1 -0
  72. package/dist/exporter/docx/tools.js +48 -0
  73. package/dist/exporter/docx/tools.js.map +1 -0
  74. package/dist/exporter/epub/index.d.ts +19 -0
  75. package/dist/exporter/epub/index.d.ts.map +1 -0
  76. package/dist/exporter/epub/index.js +109 -0
  77. package/dist/exporter/epub/index.js.map +1 -0
  78. package/dist/exporter/epub/templates.d.ts +63 -0
  79. package/dist/exporter/epub/templates.d.ts.map +1 -0
  80. package/dist/exporter/epub/templates.js +95 -0
  81. package/dist/exporter/epub/templates.js.map +1 -0
  82. package/dist/exporter/epub/tools.d.ts +13 -0
  83. package/dist/exporter/epub/tools.d.ts.map +1 -0
  84. package/{src → dist}/exporter/epub/tools.js +32 -46
  85. package/dist/exporter/epub/tools.js.map +1 -0
  86. package/dist/exporter/html/citations.d.ts +29 -0
  87. package/dist/exporter/html/citations.d.ts.map +1 -0
  88. package/dist/exporter/html/citations.js +110 -0
  89. package/dist/exporter/html/citations.js.map +1 -0
  90. package/dist/exporter/html/convert.d.ts +50 -0
  91. package/dist/exporter/html/convert.d.ts.map +1 -0
  92. package/dist/exporter/html/convert.js +750 -0
  93. package/dist/exporter/html/convert.js.map +1 -0
  94. package/dist/exporter/html/index.d.ts +64 -0
  95. package/dist/exporter/html/index.d.ts.map +1 -0
  96. package/dist/exporter/html/index.js +154 -0
  97. package/dist/exporter/html/index.js.map +1 -0
  98. package/dist/exporter/html/templates.d.ts +24 -0
  99. package/dist/exporter/html/templates.d.ts.map +1 -0
  100. package/dist/exporter/html/templates.js +21 -0
  101. package/dist/exporter/html/templates.js.map +1 -0
  102. package/dist/exporter/html/tools.d.ts +2 -0
  103. package/dist/exporter/html/tools.d.ts.map +1 -0
  104. package/dist/exporter/html/tools.js +49 -0
  105. package/dist/exporter/html/tools.js.map +1 -0
  106. package/dist/exporter/jats/bibliography.d.ts +3 -0
  107. package/dist/exporter/jats/bibliography.d.ts.map +1 -0
  108. package/dist/exporter/jats/bibliography.js +158 -0
  109. package/dist/exporter/jats/bibliography.js.map +1 -0
  110. package/dist/exporter/jats/citations.d.ts +16 -0
  111. package/dist/exporter/jats/citations.d.ts.map +1 -0
  112. package/dist/exporter/jats/citations.js +105 -0
  113. package/dist/exporter/jats/citations.js.map +1 -0
  114. package/dist/exporter/jats/convert.d.ts +41 -0
  115. package/dist/exporter/jats/convert.d.ts.map +1 -0
  116. package/dist/exporter/jats/convert.js +816 -0
  117. package/dist/exporter/jats/convert.js.map +1 -0
  118. package/dist/exporter/jats/index.d.ts +25 -0
  119. package/dist/exporter/jats/index.d.ts.map +1 -0
  120. package/dist/exporter/jats/index.js +82 -0
  121. package/dist/exporter/jats/index.js.map +1 -0
  122. package/dist/exporter/jats/templates.d.ts +18 -0
  123. package/dist/exporter/jats/templates.d.ts.map +1 -0
  124. package/dist/exporter/jats/templates.js +25 -0
  125. package/dist/exporter/jats/templates.js.map +1 -0
  126. package/dist/exporter/jats/text.d.ts +4 -0
  127. package/dist/exporter/jats/text.d.ts.map +1 -0
  128. package/dist/exporter/jats/text.js +72 -0
  129. package/dist/exporter/jats/text.js.map +1 -0
  130. package/dist/exporter/latex/convert.d.ts +24 -0
  131. package/dist/exporter/latex/convert.d.ts.map +1 -0
  132. package/dist/exporter/latex/convert.js +881 -0
  133. package/dist/exporter/latex/convert.js.map +1 -0
  134. package/dist/exporter/latex/escape_latex.d.ts +2 -0
  135. package/dist/exporter/latex/escape_latex.d.ts.map +1 -0
  136. package/dist/exporter/latex/escape_latex.js +20 -0
  137. package/dist/exporter/latex/escape_latex.js.map +1 -0
  138. package/dist/exporter/latex/index.d.ts +24 -0
  139. package/dist/exporter/latex/index.d.ts.map +1 -0
  140. package/dist/exporter/latex/index.js +67 -0
  141. package/dist/exporter/latex/index.js.map +1 -0
  142. package/dist/exporter/latex/readme.d.ts +2 -0
  143. package/dist/exporter/latex/readme.d.ts.map +1 -0
  144. package/dist/exporter/latex/readme.js +23 -0
  145. package/dist/exporter/latex/readme.js.map +1 -0
  146. package/dist/exporter/native/copy.d.ts +30 -0
  147. package/dist/exporter/native/copy.d.ts.map +1 -0
  148. package/dist/exporter/native/copy.js +151 -0
  149. package/dist/exporter/native/copy.js.map +1 -0
  150. package/dist/exporter/native/file.d.ts +12 -0
  151. package/dist/exporter/native/file.d.ts.map +1 -0
  152. package/dist/exporter/native/file.js +38 -0
  153. package/dist/exporter/native/file.js.map +1 -0
  154. package/dist/exporter/native/index.d.ts +5 -0
  155. package/dist/exporter/native/index.d.ts.map +1 -0
  156. package/dist/exporter/native/index.js +5 -0
  157. package/dist/exporter/native/index.js.map +1 -0
  158. package/dist/exporter/native/revision.d.ts +18 -0
  159. package/dist/exporter/native/revision.d.ts.map +1 -0
  160. package/dist/exporter/native/revision.js +39 -0
  161. package/dist/exporter/native/revision.js.map +1 -0
  162. package/dist/exporter/native/shrink.d.ts +36 -0
  163. package/dist/exporter/native/shrink.d.ts.map +1 -0
  164. package/dist/exporter/native/shrink.js +124 -0
  165. package/dist/exporter/native/shrink.js.map +1 -0
  166. package/dist/exporter/native/zip.d.ts +25 -0
  167. package/dist/exporter/native/zip.d.ts.map +1 -0
  168. package/dist/exporter/native/zip.js +56 -0
  169. package/dist/exporter/native/zip.js.map +1 -0
  170. package/dist/exporter/odt/citations.d.ts +21 -0
  171. package/dist/exporter/odt/citations.d.ts.map +1 -0
  172. package/dist/exporter/odt/citations.js +104 -0
  173. package/dist/exporter/odt/citations.js.map +1 -0
  174. package/dist/exporter/odt/footnotes.d.ts +31 -0
  175. package/dist/exporter/odt/footnotes.d.ts.map +1 -0
  176. package/dist/exporter/odt/footnotes.js +129 -0
  177. package/dist/exporter/odt/footnotes.js.map +1 -0
  178. package/dist/exporter/odt/images.d.ts +25 -0
  179. package/dist/exporter/odt/images.d.ts.map +1 -0
  180. package/dist/exporter/odt/images.js +106 -0
  181. package/dist/exporter/odt/images.js.map +1 -0
  182. package/dist/exporter/odt/index.d.ts +17 -0
  183. package/dist/exporter/odt/index.d.ts.map +1 -0
  184. package/dist/exporter/odt/index.js +108 -0
  185. package/dist/exporter/odt/index.js.map +1 -0
  186. package/dist/exporter/odt/math.d.ts +15 -0
  187. package/dist/exporter/odt/math.d.ts.map +1 -0
  188. package/dist/exporter/odt/math.js +71 -0
  189. package/dist/exporter/odt/math.js.map +1 -0
  190. package/dist/exporter/odt/metadata.d.ts +18 -0
  191. package/dist/exporter/odt/metadata.d.ts.map +1 -0
  192. package/dist/exporter/odt/metadata.js +224 -0
  193. package/dist/exporter/odt/metadata.js.map +1 -0
  194. package/dist/exporter/odt/render.d.ts +26 -0
  195. package/dist/exporter/odt/render.d.ts.map +1 -0
  196. package/dist/exporter/odt/render.js +651 -0
  197. package/dist/exporter/odt/render.js.map +1 -0
  198. package/dist/exporter/odt/richtext.d.ts +22 -0
  199. package/dist/exporter/odt/richtext.d.ts.map +1 -0
  200. package/dist/exporter/odt/richtext.js +743 -0
  201. package/dist/exporter/odt/richtext.js.map +1 -0
  202. package/dist/exporter/odt/styles.d.ts +41 -0
  203. package/dist/exporter/odt/styles.d.ts.map +1 -0
  204. package/dist/exporter/odt/styles.js +370 -0
  205. package/dist/exporter/odt/styles.js.map +1 -0
  206. package/dist/exporter/odt/track.d.ts +18 -0
  207. package/dist/exporter/odt/track.d.ts.map +1 -0
  208. package/dist/exporter/odt/track.js +66 -0
  209. package/dist/exporter/odt/track.js.map +1 -0
  210. package/dist/exporter/pandoc/citations.d.ts +23 -0
  211. package/dist/exporter/pandoc/citations.d.ts.map +1 -0
  212. package/dist/exporter/pandoc/citations.js +99 -0
  213. package/dist/exporter/pandoc/citations.js.map +1 -0
  214. package/dist/exporter/pandoc/convert.d.ts +19 -0
  215. package/dist/exporter/pandoc/convert.d.ts.map +1 -0
  216. package/dist/exporter/pandoc/convert.js +886 -0
  217. package/dist/exporter/pandoc/convert.js.map +1 -0
  218. package/dist/exporter/pandoc/index.d.ts +25 -0
  219. package/dist/exporter/pandoc/index.d.ts.map +1 -0
  220. package/dist/exporter/pandoc/index.js +79 -0
  221. package/dist/exporter/pandoc/index.js.map +1 -0
  222. package/dist/exporter/pandoc/readme.d.ts +2 -0
  223. package/dist/exporter/pandoc/readme.d.ts.map +1 -0
  224. package/dist/exporter/pandoc/readme.js +8 -0
  225. package/dist/exporter/pandoc/readme.js.map +1 -0
  226. package/dist/exporter/pandoc/tools.d.ts +22 -0
  227. package/dist/exporter/pandoc/tools.d.ts.map +1 -0
  228. package/dist/exporter/pandoc/tools.js +52 -0
  229. package/dist/exporter/pandoc/tools.js.map +1 -0
  230. package/dist/exporter/print/index.d.ts +20 -0
  231. package/dist/exporter/print/index.d.ts.map +1 -0
  232. package/dist/exporter/print/index.js +142 -0
  233. package/dist/exporter/print/index.js.map +1 -0
  234. package/dist/exporter/tools/doc_content.d.ts +6 -0
  235. package/dist/exporter/tools/doc_content.d.ts.map +1 -0
  236. package/dist/exporter/tools/doc_content.js +130 -0
  237. package/dist/exporter/tools/doc_content.js.map +1 -0
  238. package/dist/exporter/tools/file.d.ts +2 -0
  239. package/dist/exporter/tools/file.d.ts.map +1 -0
  240. package/dist/exporter/tools/file.js +10 -0
  241. package/dist/exporter/tools/file.js.map +1 -0
  242. package/dist/exporter/tools/json.d.ts +7 -0
  243. package/dist/exporter/tools/json.d.ts.map +1 -0
  244. package/dist/exporter/tools/json.js +82 -0
  245. package/dist/exporter/tools/json.js.map +1 -0
  246. package/dist/exporter/tools/svg.d.ts +8 -0
  247. package/dist/exporter/tools/svg.d.ts.map +1 -0
  248. package/dist/exporter/tools/svg.js +26 -0
  249. package/dist/exporter/tools/svg.js.map +1 -0
  250. package/dist/exporter/tools/xml.d.ts +42 -0
  251. package/dist/exporter/tools/xml.d.ts.map +1 -0
  252. package/dist/exporter/tools/xml.js +467 -0
  253. package/dist/exporter/tools/xml.js.map +1 -0
  254. package/dist/exporter/tools/xml_zip.d.ts +21 -0
  255. package/dist/exporter/tools/xml_zip.d.ts.map +1 -0
  256. package/dist/exporter/tools/xml_zip.js +92 -0
  257. package/dist/exporter/tools/xml_zip.js.map +1 -0
  258. package/dist/exporter/tools/zip.d.ts +35 -0
  259. package/dist/exporter/tools/zip.d.ts.map +1 -0
  260. package/dist/exporter/tools/zip.js +78 -0
  261. package/dist/exporter/tools/zip.js.map +1 -0
  262. package/dist/exporter/tools/zotero_csl.d.ts +23 -0
  263. package/dist/exporter/tools/zotero_csl.d.ts.map +1 -0
  264. package/dist/exporter/tools/zotero_csl.js +78 -0
  265. package/dist/exporter/tools/zotero_csl.js.map +1 -0
  266. package/dist/importer/citations.d.ts +28 -0
  267. package/dist/importer/citations.d.ts.map +1 -0
  268. package/dist/importer/citations.js +68 -0
  269. package/dist/importer/citations.js.map +1 -0
  270. package/dist/importer/docx/citations.d.ts +43 -0
  271. package/dist/importer/docx/citations.d.ts.map +1 -0
  272. package/dist/importer/docx/citations.js +81 -0
  273. package/dist/importer/docx/citations.js.map +1 -0
  274. package/dist/importer/docx/convert.d.ts +150 -0
  275. package/dist/importer/docx/convert.d.ts.map +1 -0
  276. package/dist/importer/docx/convert.js +1243 -0
  277. package/dist/importer/docx/convert.js.map +1 -0
  278. package/dist/importer/docx/helpers.d.ts +2 -0
  279. package/dist/importer/docx/helpers.d.ts.map +1 -0
  280. package/dist/importer/docx/helpers.js +10 -0
  281. package/dist/importer/docx/helpers.js.map +1 -0
  282. package/dist/importer/docx/index.d.ts +27 -0
  283. package/dist/importer/docx/index.d.ts.map +1 -0
  284. package/dist/importer/docx/index.js +77 -0
  285. package/dist/importer/docx/index.js.map +1 -0
  286. package/dist/importer/docx/omml2mathml.d.ts +6 -0
  287. package/dist/importer/docx/omml2mathml.d.ts.map +1 -0
  288. package/dist/importer/docx/omml2mathml.js +1146 -0
  289. package/dist/importer/docx/omml2mathml.js.map +1 -0
  290. package/dist/importer/docx/parse.d.ts +96 -0
  291. package/dist/importer/docx/parse.d.ts.map +1 -0
  292. package/dist/importer/docx/parse.js +681 -0
  293. package/dist/importer/docx/parse.js.map +1 -0
  294. package/dist/importer/native/extract_template.d.ts +6 -0
  295. package/dist/importer/native/extract_template.d.ts.map +1 -0
  296. package/dist/importer/native/extract_template.js +80 -0
  297. package/dist/importer/native/extract_template.js.map +1 -0
  298. package/dist/importer/native/file.d.ts +37 -0
  299. package/dist/importer/native/file.d.ts.map +1 -0
  300. package/dist/importer/native/file.js +162 -0
  301. package/dist/importer/native/file.js.map +1 -0
  302. package/dist/importer/native/get_images.d.ts +21 -0
  303. package/dist/importer/native/get_images.d.ts.map +1 -0
  304. package/dist/importer/native/get_images.js +58 -0
  305. package/dist/importer/native/get_images.js.map +1 -0
  306. package/dist/importer/native/importer.d.ts +41 -0
  307. package/dist/importer/native/importer.d.ts.map +1 -0
  308. package/dist/importer/native/importer.js +170 -0
  309. package/dist/importer/native/importer.js.map +1 -0
  310. package/dist/importer/native/index.d.ts +7 -0
  311. package/dist/importer/native/index.d.ts.map +1 -0
  312. package/dist/importer/native/index.js +7 -0
  313. package/dist/importer/native/index.js.map +1 -0
  314. package/dist/importer/native/update.d.ts +7 -0
  315. package/dist/importer/native/update.d.ts.map +1 -0
  316. package/dist/importer/native/update.js +27 -0
  317. package/dist/importer/native/update.js.map +1 -0
  318. package/dist/importer/native/update_template.d.ts +12 -0
  319. package/dist/importer/native/update_template.d.ts.map +1 -0
  320. package/dist/importer/native/update_template.js +19 -0
  321. package/dist/importer/native/update_template.js.map +1 -0
  322. package/dist/importer/odt/citations.d.ts +27 -0
  323. package/dist/importer/odt/citations.d.ts.map +1 -0
  324. package/dist/importer/odt/citations.js +57 -0
  325. package/dist/importer/odt/citations.js.map +1 -0
  326. package/dist/importer/odt/convert.d.ts +146 -0
  327. package/dist/importer/odt/convert.d.ts.map +1 -0
  328. package/dist/importer/odt/convert.js +1530 -0
  329. package/dist/importer/odt/convert.js.map +1 -0
  330. package/dist/importer/odt/index.d.ts +30 -0
  331. package/dist/importer/odt/index.d.ts.map +1 -0
  332. package/dist/importer/odt/index.js +124 -0
  333. package/dist/importer/odt/index.js.map +1 -0
  334. package/dist/importer/pandoc/convert.d.ts +32 -0
  335. package/dist/importer/pandoc/convert.d.ts.map +1 -0
  336. package/dist/importer/pandoc/convert.js +790 -0
  337. package/dist/importer/pandoc/convert.js.map +1 -0
  338. package/dist/importer/pandoc/helpers.d.ts +5 -0
  339. package/dist/importer/pandoc/helpers.d.ts.map +1 -0
  340. package/dist/importer/pandoc/helpers.js +73 -0
  341. package/dist/importer/pandoc/helpers.js.map +1 -0
  342. package/dist/importer/pandoc/index.d.ts +31 -0
  343. package/dist/importer/pandoc/index.d.ts.map +1 -0
  344. package/dist/importer/pandoc/index.js +114 -0
  345. package/dist/importer/pandoc/index.js.map +1 -0
  346. package/dist/importer/registry.d.ts +21 -0
  347. package/dist/importer/registry.d.ts.map +1 -0
  348. package/dist/importer/registry.js +41 -0
  349. package/dist/importer/registry.js.map +1 -0
  350. package/dist/importer/zip_analyzer.d.ts +31 -0
  351. package/dist/importer/zip_analyzer.d.ts.map +1 -0
  352. package/dist/importer/zip_analyzer.js +89 -0
  353. package/dist/importer/zip_analyzer.js.map +1 -0
  354. package/dist/index.d.ts +2 -0
  355. package/dist/index.d.ts.map +1 -0
  356. package/dist/index.js +2 -0
  357. package/dist/index.js.map +1 -0
  358. package/dist/mathlive/opf_includes.d.ts +2 -0
  359. package/dist/mathlive/opf_includes.d.ts.map +1 -0
  360. package/dist/mathlive/opf_includes.js +25 -0
  361. package/dist/mathlive/opf_includes.js.map +1 -0
  362. package/dist/schema/common/annotate.d.ts +47 -0
  363. package/dist/schema/common/annotate.d.ts.map +1 -0
  364. package/dist/schema/common/annotate.js +75 -0
  365. package/dist/schema/common/annotate.js.map +1 -0
  366. package/dist/schema/common/base.d.ts +91 -0
  367. package/dist/schema/common/base.d.ts.map +1 -0
  368. package/dist/schema/common/base.js +109 -0
  369. package/dist/schema/common/base.js.map +1 -0
  370. package/dist/schema/common/citation.d.ts +30 -0
  371. package/dist/schema/common/citation.d.ts.map +1 -0
  372. package/dist/schema/common/citation.js +61 -0
  373. package/dist/schema/common/citation.js.map +1 -0
  374. package/dist/schema/common/equation.d.ts +17 -0
  375. package/dist/schema/common/equation.d.ts.map +1 -0
  376. package/dist/schema/common/equation.js +32 -0
  377. package/dist/schema/common/equation.js.map +1 -0
  378. package/dist/schema/common/figure.d.ts +87 -0
  379. package/dist/schema/common/figure.d.ts.map +1 -0
  380. package/dist/schema/common/figure.js +178 -0
  381. package/dist/schema/common/figure.js.map +1 -0
  382. package/dist/schema/common/heading.d.ts +9 -0
  383. package/dist/schema/common/heading.d.ts.map +1 -0
  384. package/dist/schema/common/heading.js +41 -0
  385. package/dist/schema/common/heading.js.map +1 -0
  386. package/dist/schema/common/index.d.ts +11 -0
  387. package/dist/schema/common/index.d.ts.map +1 -0
  388. package/dist/schema/common/index.js +11 -0
  389. package/dist/schema/common/index.js.map +1 -0
  390. package/dist/schema/common/list.d.ts +63 -0
  391. package/dist/schema/common/list.d.ts.map +1 -0
  392. package/dist/schema/common/list.js +92 -0
  393. package/dist/schema/common/list.js.map +1 -0
  394. package/dist/schema/common/reference.d.ts +70 -0
  395. package/dist/schema/common/reference.d.ts.map +1 -0
  396. package/dist/schema/common/reference.js +97 -0
  397. package/dist/schema/common/reference.js.map +1 -0
  398. package/dist/schema/common/table.d.ts +76 -0
  399. package/dist/schema/common/table.d.ts.map +1 -0
  400. package/dist/schema/common/table.js +86 -0
  401. package/dist/schema/common/table.js.map +1 -0
  402. package/dist/schema/common/track.d.ts +117 -0
  403. package/dist/schema/common/track.d.ts.map +1 -0
  404. package/{src → dist}/schema/common/track.js +44 -49
  405. package/dist/schema/common/track.js.map +1 -0
  406. package/dist/schema/const.d.ts +3 -0
  407. package/dist/schema/const.d.ts.map +1 -0
  408. package/{src → dist}/schema/const.js +3 -3
  409. package/dist/schema/const.js.map +1 -0
  410. package/dist/schema/convert.d.ts +3 -0
  411. package/dist/schema/convert.d.ts.map +1 -0
  412. package/dist/schema/convert.js +1215 -0
  413. package/dist/schema/convert.js.map +1 -0
  414. package/dist/schema/document/content.d.ts +110 -0
  415. package/dist/schema/document/content.d.ts.map +1 -0
  416. package/dist/schema/document/content.js +177 -0
  417. package/dist/schema/document/content.js.map +1 -0
  418. package/dist/schema/document/index.d.ts +795 -0
  419. package/dist/schema/document/index.d.ts.map +1 -0
  420. package/dist/schema/document/index.js +68 -0
  421. package/dist/schema/document/index.js.map +1 -0
  422. package/dist/schema/document/structure.d.ts +164 -0
  423. package/dist/schema/document/structure.d.ts.map +1 -0
  424. package/dist/schema/document/structure.js +445 -0
  425. package/dist/schema/document/structure.js.map +1 -0
  426. package/dist/schema/export.d.ts +7 -0
  427. package/dist/schema/export.d.ts.map +1 -0
  428. package/dist/schema/export.js +17 -0
  429. package/dist/schema/export.js.map +1 -0
  430. package/dist/schema/footnotes.d.ts +454 -0
  431. package/dist/schema/footnotes.d.ts.map +1 -0
  432. package/dist/schema/footnotes.js +90 -0
  433. package/dist/schema/footnotes.js.map +1 -0
  434. package/dist/schema/footnotes_convert.d.ts +5 -0
  435. package/dist/schema/footnotes_convert.d.ts.map +1 -0
  436. package/dist/schema/footnotes_convert.js +30 -0
  437. package/dist/schema/footnotes_convert.js.map +1 -0
  438. package/dist/schema/i18n.d.ts +55 -0
  439. package/dist/schema/i18n.d.ts.map +1 -0
  440. package/{src → dist}/schema/i18n.js +14 -23
  441. package/dist/schema/i18n.js.map +1 -0
  442. package/dist/schema/index.d.ts +6 -0
  443. package/dist/schema/index.d.ts.map +1 -0
  444. package/dist/schema/index.js +6 -0
  445. package/dist/schema/index.js.map +1 -0
  446. package/dist/schema/mini_json.d.ts +4 -0
  447. package/dist/schema/mini_json.d.ts.map +1 -0
  448. package/{src → dist}/schema/mini_json.js +19 -28
  449. package/dist/schema/mini_json.js.map +1 -0
  450. package/dist/schema/text.d.ts +3 -0
  451. package/dist/schema/text.d.ts.map +1 -0
  452. package/dist/schema/text.js +23 -0
  453. package/dist/schema/text.js.map +1 -0
  454. package/dist/types.d.ts +281 -0
  455. package/dist/types.d.ts.map +1 -0
  456. package/dist/types.js +9 -0
  457. package/dist/types.js.map +1 -0
  458. package/package.json +51 -16
  459. package/scripts/export-schema.js +1 -1
  460. package/src/bibliography/{common.js → common.ts} +15 -12
  461. package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
  462. package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
  463. package/src/citations/{format.js → format.ts} +80 -24
  464. package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
  465. package/src/exporter/docx/{citations.js → citations.ts} +51 -23
  466. package/src/exporter/docx/{comments.js → comments.ts} +69 -26
  467. package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
  468. package/src/exporter/docx/images.ts +128 -0
  469. package/src/exporter/docx/{index.js → index.ts} +48 -25
  470. package/src/exporter/docx/{lists.js → lists.ts} +89 -46
  471. package/src/exporter/docx/{math.js → math.ts} +29 -9
  472. package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
  473. package/src/exporter/docx/{rels.js → rels.ts} +71 -50
  474. package/src/exporter/docx/{render.js → render.ts} +124 -87
  475. package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
  476. package/src/exporter/docx/{tables.js → tables.ts} +33 -23
  477. package/src/exporter/docx/{tools.js → tools.ts} +4 -3
  478. package/src/exporter/epub/{index.js → index.ts} +44 -15
  479. package/src/exporter/epub/{templates.js → templates.ts} +71 -7
  480. package/src/exporter/epub/tools.ts +102 -0
  481. package/src/exporter/html/{citations.js → citations.ts} +79 -31
  482. package/src/exporter/html/{convert.js → convert.ts} +118 -71
  483. package/src/exporter/html/{index.js → index.ts} +63 -29
  484. package/src/exporter/html/{templates.js → templates.ts} +22 -2
  485. package/src/exporter/html/{tools.js → tools.ts} +9 -6
  486. package/src/exporter/jats/bibliography.ts +199 -0
  487. package/src/exporter/jats/{citations.js → citations.ts} +56 -20
  488. package/src/exporter/jats/{convert.js → convert.ts} +72 -53
  489. package/src/exporter/jats/index.ts +132 -0
  490. package/src/exporter/jats/{templates.js → templates.ts} +19 -3
  491. package/src/exporter/jats/{text.js → text.ts} +8 -6
  492. package/src/exporter/latex/{convert.js → convert.ts} +160 -125
  493. package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
  494. package/src/exporter/latex/{index.js → index.ts} +27 -12
  495. package/src/exporter/latex/{readme.js → readme.ts} +2 -2
  496. package/src/exporter/native/copy.ts +231 -0
  497. package/src/exporter/native/file.ts +65 -0
  498. package/src/exporter/native/index.ts +4 -0
  499. package/src/exporter/native/revision.ts +76 -0
  500. package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
  501. package/src/exporter/native/zip.ts +85 -0
  502. package/src/exporter/odt/{citations.js → citations.ts} +35 -15
  503. package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
  504. package/src/exporter/odt/images.ts +135 -0
  505. package/src/exporter/odt/{index.js → index.ts} +49 -27
  506. package/src/exporter/odt/{math.js → math.ts} +38 -9
  507. package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
  508. package/src/exporter/odt/{render.js → render.ts} +89 -60
  509. package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
  510. package/src/exporter/odt/{styles.js → styles.ts} +98 -66
  511. package/src/exporter/odt/{track.js → track.ts} +22 -6
  512. package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
  513. package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
  514. package/src/exporter/pandoc/{index.js → index.ts} +36 -13
  515. package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
  516. package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
  517. package/src/exporter/print/{index.js → index.ts} +38 -19
  518. package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
  519. package/src/exporter/tools/{file.js → file.ts} +1 -1
  520. package/src/exporter/tools/{json.js → json.ts} +30 -19
  521. package/src/exporter/tools/{svg.js → svg.ts} +9 -3
  522. package/src/exporter/tools/{xml.js → xml.ts} +187 -138
  523. package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
  524. package/src/exporter/tools/{zip.js → zip.ts} +35 -11
  525. package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
  526. package/src/global.d.ts +13 -0
  527. package/src/importer/citations.ts +116 -0
  528. package/src/importer/docx/{citations.js → citations.ts} +22 -37
  529. package/src/importer/docx/{convert.js → convert.ts} +176 -141
  530. package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
  531. package/src/importer/docx/index.ts +124 -0
  532. package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
  533. package/src/importer/docx/{parse.js → parse.ts} +103 -81
  534. package/src/importer/native/extract_template.ts +83 -0
  535. package/src/importer/native/file.ts +282 -0
  536. package/src/importer/native/get_images.ts +82 -0
  537. package/src/importer/native/importer.ts +244 -0
  538. package/src/importer/native/index.ts +6 -0
  539. package/src/importer/native/{update.js → update.ts} +13 -5
  540. package/src/importer/native/update_template.ts +32 -0
  541. package/src/importer/odt/{citations.js → citations.ts} +17 -29
  542. package/src/importer/odt/{convert.js → convert.ts} +261 -237
  543. package/src/importer/odt/index.ts +202 -0
  544. package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
  545. package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
  546. package/src/importer/pandoc/index.ts +171 -0
  547. package/src/importer/registry.ts +69 -0
  548. package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
  549. package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
  550. package/src/modules.d.ts +40 -0
  551. package/src/schema/common/{annotate.js → annotate.ts} +10 -8
  552. package/src/schema/common/{base.js → base.ts} +12 -10
  553. package/src/schema/common/{citation.js → citation.ts} +17 -8
  554. package/src/schema/common/{equation.js → equation.ts} +6 -4
  555. package/src/schema/common/{figure.js → figure.ts} +43 -23
  556. package/src/schema/common/{heading.js → heading.ts} +7 -5
  557. package/src/schema/common/{list.js → list.ts} +15 -13
  558. package/src/schema/common/{reference.js → reference.ts} +14 -12
  559. package/src/schema/common/{table.js → table.ts} +16 -14
  560. package/src/schema/common/track.ts +201 -0
  561. package/src/schema/const.ts +58 -0
  562. package/src/schema/{convert.js → convert.ts} +6 -2
  563. package/src/schema/document/{content.js → content.ts} +22 -20
  564. package/src/schema/document/{structure.js → structure.ts} +15 -9
  565. package/src/schema/{export.js → export.ts} +4 -2
  566. package/src/schema/{footnotes.js → footnotes.ts} +11 -8
  567. package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
  568. package/src/schema/i18n.ts +601 -0
  569. package/src/schema/mini_json.ts +60 -0
  570. package/src/schema/{text.js → text.ts} +6 -2
  571. package/src/types.ts +314 -0
  572. package/jest.config.js +0 -24
  573. package/src/exporter/docx/images.js +0 -101
  574. package/src/exporter/jats/bibliography.js +0 -183
  575. package/src/exporter/jats/index.js +0 -92
  576. package/src/exporter/odt/images.js +0 -115
  577. package/src/importer/citations.js +0 -129
  578. package/src/importer/native/get_images.js +0 -76
  579. /package/src/{index.js → index.ts} +0 -0
  580. /package/src/schema/common/{index.js → index.ts} +0 -0
  581. /package/src/schema/document/{index.js → index.ts} +0 -0
  582. /package/src/schema/{index.js → index.ts} +0 -0
@@ -1,25 +1,40 @@
1
1
  import {parseCSL} from "biblatex-csl-converter"
2
2
 
3
3
  import {applyAnnotation, applyMarkToNodes, mergeTextNodes} from "./helpers.js"
4
+ import {gettext} from "fwtoolkit"
5
+ import type {BibDBEntry, FidusDoc, FidusNode, ImageDBEntry} from "../../types.js"
4
6
 
5
7
  export class PandocConvert {
6
- constructor(doc, importId, template, bibliography) {
8
+ doc: any
9
+ importId: string
10
+ template: {content: FidusDoc}
11
+ bibliography: Record<string, BibDBEntry>
12
+ images: Record<number, ImageDBEntry>
13
+ language: string
14
+ SMALL_IMAGE_THRESHOLD: number
15
+
16
+ constructor(
17
+ doc: any,
18
+ importId: string,
19
+ template: {content: FidusDoc},
20
+ bibliography: Record<string, BibDBEntry>
21
+ ) {
7
22
  this.doc = doc
8
23
  this.importId = importId
9
24
  this.template = template
10
25
  this.bibliography = bibliography
11
26
 
12
- this.images = []
27
+ this.images = {}
13
28
 
14
29
  this.language = this.doc.meta?.lang?.c?.[0]?.c || "en-US"
15
30
 
16
31
  this.SMALL_IMAGE_THRESHOLD = 1.0 // Smaller images will be discarded (in inches)
17
32
  }
18
33
 
19
- init() {
34
+ init(): {content: FidusDoc; settings: Record<string, any>} {
20
35
  try {
21
36
  this.validatePandocFormat()
22
- } catch (error) {
37
+ } catch (error: any) {
23
38
  console.error("Pandoc format validation failed:", error)
24
39
  throw new Error("Invalid Pandoc document format: " + error.message)
25
40
  }
@@ -34,13 +49,13 @@ export class PandocConvert {
34
49
  }
35
50
  }
36
51
 
37
- validatePandocFormat() {
52
+ validatePandocFormat(): boolean {
38
53
  // Check API version (Pandoc uses [major, minor, patch] or [major, minor, patch, tweak])
39
54
  if (
40
55
  !Array.isArray(this.doc["pandoc-api-version"]) ||
41
56
  this.doc["pandoc-api-version"].length < 3 ||
42
57
  !this.doc["pandoc-api-version"].every(
43
- num => typeof num === "number"
58
+ (num: unknown) => typeof num === "number"
44
59
  )
45
60
  ) {
46
61
  throw new Error("Invalid or missing Pandoc API version")
@@ -59,7 +74,7 @@ export class PandocConvert {
59
74
  // Basic validation of block structure
60
75
  if (
61
76
  !this.doc.blocks.every(
62
- block =>
77
+ (block: any) =>
63
78
  block &&
64
79
  typeof block === "object" &&
65
80
  typeof block.t === "string" &&
@@ -72,11 +87,11 @@ export class PandocConvert {
72
87
  return true
73
88
  }
74
89
 
75
- convert() {
90
+ convert(): FidusDoc {
76
91
  const templateParts = this.template.content.content.slice()
77
92
  templateParts.shift()
78
93
  // Create the outer document structure
79
- const document = {
94
+ const document: FidusDoc = {
80
95
  type: "doc",
81
96
  attrs: {
82
97
  import_id: this.importId
@@ -94,13 +109,13 @@ export class PandocConvert {
94
109
  // Add subtitle if present
95
110
  if (this.doc.meta?.subtitle?.c) {
96
111
  const templatePart = templateParts.find(
97
- part => part.attrs.metadata === "subtitle"
112
+ (part: any) => part.attrs.metadata === "subtitle"
98
113
  )
99
114
  document.content.push({
100
115
  type: "heading_part",
101
116
  attrs: {
102
- title: templatePart ? templatePart.attrs.title : "Subtitle",
103
- id: templatePart ? templatePart.attrs.id : "subtitle",
117
+ title: templatePart?.attrs?.title || "Subtitle",
118
+ id: templatePart?.attrs?.id || "subtitle",
104
119
  metadata: "subtitle"
105
120
  },
106
121
  content: [
@@ -118,16 +133,16 @@ export class PandocConvert {
118
133
  // Add authors if present
119
134
  if (this.doc.meta?.author?.c) {
120
135
  const templatePart = templateParts.find(
121
- part => part.attrs.metadata === "authors"
136
+ (part: any) => part.attrs.metadata === "authors"
122
137
  )
123
138
  document.content.push({
124
139
  type: "contributors_part",
125
140
  attrs: {
126
- title: templatePart ? templatePart.attrs.title : "Authors",
127
- id: templatePart ? templatePart.attrs.id : "authors",
141
+ title: templatePart?.attrs?.title || "Authors",
142
+ id: templatePart?.attrs?.id || "authors",
128
143
  metadata: "authors"
129
144
  },
130
- content: this.doc.meta.author.c.map(author => ({
145
+ content: this.doc.meta.author.c.map((author: any) => ({
131
146
  type: "contributor",
132
147
  attrs: this.convertContributor(author)
133
148
  }))
@@ -137,15 +152,13 @@ export class PandocConvert {
137
152
  // Add abstract if present
138
153
  if (this.doc.meta?.abstract?.c) {
139
154
  const templatePart = templateParts.find(
140
- part => part.attrs.metadata === "abstract"
155
+ (part: any) => part.attrs.metadata === "abstract"
141
156
  )
142
157
  document.content.push({
143
158
  type: "richtext_part",
144
159
  attrs: {
145
- title: templatePart
146
- ? templatePart.attrs.title
147
- : gettext("Abstract"),
148
- id: templatePart ? templatePart.attrs.id : "abstract",
160
+ title: templatePart?.attrs?.title || gettext("Abstract"),
161
+ id: templatePart?.attrs?.id || "abstract",
149
162
  metadata: "abstract"
150
163
  },
151
164
  content: this.convertBlocks(this.doc.meta.abstract.c)
@@ -153,14 +166,14 @@ export class PandocConvert {
153
166
  }
154
167
 
155
168
  const templatePart = templateParts.find(
156
- part => !part.attrs.metadata && part.type === "richtext_part"
169
+ (part: any) => !part.attrs.metadata && part.type === "richtext_part"
157
170
  )
158
171
  // Add main body content
159
172
  document.content.push({
160
173
  type: "richtext_part",
161
174
  attrs: {
162
- title: templatePart ? templatePart.attrs.title : "Body",
163
- id: templatePart ? templatePart.attrs.id : "body",
175
+ title: templatePart?.attrs?.title || "Body",
176
+ id: templatePart?.attrs?.id || "body",
164
177
  marks: ["strong", "em", "link"]
165
178
  },
166
179
  content: this.convertBlocks(this.doc.blocks)
@@ -169,8 +182,8 @@ export class PandocConvert {
169
182
  return document
170
183
  }
171
184
 
172
- convertContributor(author) {
173
- const attrs = {
185
+ convertContributor(author: any): Record<string, string> {
186
+ const attrs: Record<string, string> = {
174
187
  firstname: "",
175
188
  lastname: "",
176
189
  email: "",
@@ -180,8 +193,8 @@ export class PandocConvert {
180
193
  // Extract name components
181
194
  if (author.c) {
182
195
  const textParts = author.c
183
- .filter(part => part.t === "Str")
184
- .map(part => part.c)
196
+ .filter((part: any) => part.t === "Str")
197
+ .map((part: any) => part.c)
185
198
 
186
199
  if (textParts.length > 1) {
187
200
  attrs.lastname = textParts.pop()
@@ -191,10 +204,10 @@ export class PandocConvert {
191
204
  }
192
205
 
193
206
  // Extract email from notes if present
194
- const note = author.c.find(part => part.t === "Note")
207
+ const note = author.c.find((part: any) => part.t === "Note")
195
208
  if (note) {
196
209
  attrs.email = this.convertInlines(note.c[0].c)
197
- .map(node => node.text)
210
+ .map((node: any) => node.text)
198
211
  .join("")
199
212
  }
200
213
  }
@@ -202,17 +215,17 @@ export class PandocConvert {
202
215
  return attrs
203
216
  }
204
217
 
205
- convertBlocks(blocks) {
218
+ convertBlocks(blocks: any[]): FidusNode[] {
206
219
  if (!blocks) {
207
220
  return []
208
221
  }
209
222
  return blocks
210
- .map(block => this.convertBlock(block))
223
+ .map((block: any) => this.convertBlock(block))
211
224
  .flat()
212
- .filter(block => block)
225
+ .filter((block: FidusNode | null): block is FidusNode => Boolean(block))
213
226
  }
214
227
 
215
- convertBlock(block) {
228
+ convertBlock(block: any): FidusNode[] {
216
229
  switch (block.t) {
217
230
  case "CodeBlock": {
218
231
  const [attrs, code] = block.c
@@ -227,14 +240,14 @@ export class PandocConvert {
227
240
  let category = ""
228
241
 
229
242
  const captionPair = keyValuePairs.find(
230
- pair => pair[0] === "caption"
243
+ (pair: any[]) => pair[0] === "caption"
231
244
  )
232
245
  if (captionPair) {
233
246
  title = captionPair[1]
234
247
  }
235
248
 
236
249
  const categoryPair = keyValuePairs.find(
237
- pair => pair[0] === "category"
250
+ (pair: any[]) => pair[0] === "category"
238
251
  )
239
252
  if (categoryPair) {
240
253
  category = categoryPair[1]
@@ -261,7 +274,7 @@ export class PandocConvert {
261
274
  case "Div":
262
275
  // Handle special figure containers
263
276
  if (block.attr?.classes?.includes("figure")) {
264
- return this.convertFigure(block)
277
+ return [this.convertFigure(block)]
265
278
  }
266
279
  // Ignore otherwise. Could be bibliography
267
280
  // or other non-content block
@@ -269,8 +282,8 @@ export class PandocConvert {
269
282
  case "Para":
270
283
  case "Plain": {
271
284
  // Process each inline, splitting into paragraphs and figures
272
- const blocks = []
273
- let currentInlines = []
285
+ const blocks: FidusNode[] = []
286
+ let currentInlines: any[] = []
274
287
  for (const inline of block.c) {
275
288
  if (inline.t === "Image") {
276
289
  // Convert accumulated inlines to a paragraph
@@ -283,7 +296,13 @@ export class PandocConvert {
283
296
  }
284
297
  // Convert image to figure and add as block
285
298
  const figure = this.convertInline(inline)
286
- blocks.push(figure)
299
+ if (figure) {
300
+ if (Array.isArray(figure)) {
301
+ blocks.push(...figure)
302
+ } else {
303
+ blocks.push(figure)
304
+ }
305
+ }
287
306
  } else {
288
307
  currentInlines.push(inline)
289
308
  }
@@ -318,14 +337,14 @@ export class PandocConvert {
318
337
  return [
319
338
  {
320
339
  type: "bullet_list",
321
- content: block.c.map(item => ({
340
+ content: block.c.map((item: any) => ({
322
341
  type: "list_item",
323
342
  content: this.convertBlocks(item)
324
343
  }))
325
344
  }
326
345
  ]
327
346
  case "DefinitionList": {
328
- return block.c.flatMap(item => [
347
+ return block.c.flatMap((item: any) => [
329
348
  {
330
349
  type: "paragraph",
331
350
  content: applyMarkToNodes(
@@ -335,7 +354,7 @@ export class PandocConvert {
335
354
  },
336
355
  {
337
356
  type: "bullet_list",
338
- content: item.definitions.map(def => ({
357
+ content: item.definitions.map((def: any) => ({
339
358
  type: "list_item",
340
359
  content: this.convertBlocks(def)
341
360
  }))
@@ -349,7 +368,7 @@ export class PandocConvert {
349
368
  attrs: {
350
369
  order: block.c[0][0]
351
370
  },
352
- content: block.c[1].map(item => ({
371
+ content: block.c[1].map((item: any) => ({
353
372
  type: "list_item",
354
373
  content: this.convertBlocks(item)
355
374
  }))
@@ -365,18 +384,18 @@ export class PandocConvert {
365
384
  }
366
385
  }
367
386
 
368
- convertInlines(inlines) {
387
+ convertInlines(inlines: any[]): FidusNode[] {
369
388
  if (!inlines) {
370
389
  return []
371
390
  }
372
391
  // Convert each inline element, flatten, and merge adjacent text nodes with same marks
373
392
  const convertedNodes = inlines
374
- .map(inline => this.convertInline(inline))
375
- .filter(inline => inline)
393
+ .map((inline: any) => this.convertInline(inline))
394
+ .filter((inline: FidusNode | FidusNode[] | null): inline is FidusNode | FidusNode[] => Boolean(inline))
376
395
  .flat()
377
396
 
378
397
  // Remove hard breaks at start and end
379
- const filteredNodes = convertedNodes.filter((node, index, array) => {
398
+ const filteredNodes = convertedNodes.filter((node: any, index: any, array: any) => {
380
399
  if (node.type === "hard_break") {
381
400
  // Remove if first or last node
382
401
  if (index === 0 || index === array.length - 1) {
@@ -389,7 +408,7 @@ export class PandocConvert {
389
408
  return mergeTextNodes(filteredNodes)
390
409
  }
391
410
 
392
- convertInline(inline) {
411
+ convertInline(inline: any): FidusNode | FidusNode[] | null {
393
412
  if (!inline) {
394
413
  return null
395
414
  }
@@ -401,7 +420,7 @@ export class PandocConvert {
401
420
  const imagePath = inline.c[2][0]
402
421
 
403
422
  const widthInfo = inline.c[0][2].find(
404
- attr => attr[0] === "width"
423
+ (attr: any[]) => attr[0] === "width"
405
424
  )
406
425
 
407
426
  if (widthInfo) {
@@ -603,29 +622,32 @@ export class PandocConvert {
603
622
  )
604
623
 
605
624
  // Create citation references
606
- const citations = cslData.citationItems.map(item => {
607
- const id = String(item.itemData.id)
608
-
609
- // find in bibliography
610
- let [bibKey, _] =
611
- Object.entries(this.bibliography).find(
612
- ([_key, entry]) => entry.entry_key === id
613
- ) || []
614
- if (!bibKey) {
615
- // Not yet present in bibliography. We'll parse the CSL data and add it.
616
- const parseData = parseCSL({
617
- [id]: item.itemData
618
- })
619
- const bibEntry = parseData["1"]
620
- bibKey = `${Object.keys(this.bibliography).length + 1}`
621
- this.bibliography[bibKey] = bibEntry
622
- }
623
- return {
624
- id: bibKey,
625
- prefix: item.prefix || "",
626
- locator: item.locator || ""
625
+ const citations = cslData.citationItems.map(
626
+ (item: any) => {
627
+ const id = String(item.itemData.id)
628
+
629
+ // find in bibliography
630
+ let [bibKey] =
631
+ Object.entries(this.bibliography).find(
632
+ ([, entry]: [string, any]) =>
633
+ entry.entry_key === id
634
+ ) || []
635
+ if (!bibKey) {
636
+ // Not yet present in bibliography. We'll parse the CSL data and add it.
637
+ const parseData = parseCSL({
638
+ [id]: item.itemData
639
+ })
640
+ const bibEntry = parseData["1"]
641
+ bibKey = `${Object.keys(this.bibliography).length + 1}`
642
+ this.bibliography[bibKey] = bibEntry as any
643
+ }
644
+ return {
645
+ id: bibKey,
646
+ prefix: item.prefix || "",
647
+ locator: item.locator || ""
648
+ }
627
649
  }
628
- })
650
+ )
629
651
 
630
652
  return {
631
653
  type: "citation",
@@ -647,8 +669,8 @@ export class PandocConvert {
647
669
  }
648
670
  }
649
671
 
650
- extractImageWidth(attrs) {
651
- const widthAttr = attrs.find(attr => attr[0] === "width")
672
+ extractImageWidth(attrs: any[]): number {
673
+ const widthAttr = attrs.find((attr: any[]) => attr[0] === "width")
652
674
  if (widthAttr) {
653
675
  // Convert inch measurement to percentage (assuming max width is 8.5 inches)
654
676
  const widthInInches = parseFloat(widthAttr[1])
@@ -657,8 +679,8 @@ export class PandocConvert {
657
679
  return 100 // default width
658
680
  }
659
681
 
660
- convertTable(table) {
661
- const attrs = {
682
+ convertTable(table: any): FidusNode {
683
+ const attrs: Record<string, any> = {
662
684
  width: 100,
663
685
  aligned: "center",
664
686
  layout: "fixed"
@@ -697,7 +719,7 @@ export class PandocConvert {
697
719
 
698
720
  // Extract table attributes
699
721
  const tableAttrs = table.c[0][2]
700
- tableAttrs.forEach(attr => {
722
+ tableAttrs.forEach((attr: any[]) => {
701
723
  if (attr[0] === "width") {
702
724
  attrs.width = parseInt(attr[1])
703
725
  } else if (attr[0] === "aligned") {
@@ -710,7 +732,7 @@ export class PandocConvert {
710
732
  const rows = table.c[3][1]
711
733
  .concat(
712
734
  table.c[4]
713
- .map(tableBody => tableBody[2].concat(tableBody[3]))
735
+ .map((tableBody: any) => tableBody[2].concat(tableBody[3]))
714
736
  .flat()
715
737
  )
716
738
  .concat(table.c[5][1])
@@ -726,9 +748,9 @@ export class PandocConvert {
726
748
  },
727
749
  {
728
750
  type: "table_body",
729
- content: rows.map(row => ({
751
+ content: rows.map((row: any) => ({
730
752
  type: "table_row",
731
- content: row[1].map(cell => {
753
+ content: row[1].map((cell: any) => {
732
754
  const cellContent = this.convertBlocks(cell[4])
733
755
  if (cellContent.length === 0) {
734
756
  cellContent.push({type: "paragraph"})
@@ -748,8 +770,8 @@ export class PandocConvert {
748
770
  }
749
771
  }
750
772
 
751
- getImageFileType(filename) {
752
- const ext = filename.split(".").pop().toLowerCase()
773
+ getImageFileType(filename: string): string {
774
+ const ext = (filename.split(".").pop() || "").toLowerCase()
753
775
  switch (ext) {
754
776
  case "avif":
755
777
  case "avifs":
@@ -770,9 +792,9 @@ export class PandocConvert {
770
792
  }
771
793
  }
772
794
 
773
- convertFigure(figure) {
774
- const caption = figure.c[1][1]
775
- const attrs = {
795
+ convertFigure(figure: any): FidusNode {
796
+ const caption = figure.c[1]?.[1] || []
797
+ const attrs: Record<string, any> = {
776
798
  aligned: "center",
777
799
  width: 100,
778
800
  figureCategory: "none",
@@ -781,7 +803,7 @@ export class PandocConvert {
781
803
 
782
804
  // Extract figure attributes
783
805
  const figureAttrs = figure.c[0][2]
784
- figureAttrs.forEach(attr => {
806
+ figureAttrs.forEach((attr: any[]) => {
785
807
  if (attr[0] === "width") {
786
808
  attrs.width = parseInt(attr[1])
787
809
  } else if (attr[0] === "aligned") {
@@ -824,16 +846,16 @@ export class PandocConvert {
824
846
  {
825
847
  type: "figure_caption",
826
848
  content: this.convertBlocks(caption)
827
- .map(block => block.content || [])
849
+ .map((block: FidusNode) => block.content || [])
828
850
  .flat()
829
851
  }
830
852
  ]
831
853
  }
832
854
  }
833
855
 
834
- convertCitation(cite) {
856
+ convertCitation(cite: any): FidusNode | null {
835
857
  const references = cite.c[0]
836
- .map(ref => {
858
+ .map((ref: any) => {
837
859
  // Handle empty bibliography case
838
860
  if (
839
861
  !this.bibliography ||
@@ -843,7 +865,7 @@ export class PandocConvert {
843
865
  }
844
866
 
845
867
  const foundEntry = Object.entries(this.bibliography).find(
846
- ([_id, definition]) =>
868
+ ([, definition]: [string, any]) =>
847
869
  definition.entry_key === ref.citationId
848
870
  )
849
871
 
@@ -851,21 +873,21 @@ export class PandocConvert {
851
873
  return
852
874
  }
853
875
 
854
- const [bibId, _bibEntry] = foundEntry
876
+ const [bibId] = foundEntry
855
877
  if (!bibId) {
856
878
  return
857
879
  }
858
880
  return {
859
881
  id: bibId,
860
882
  prefix: ref.citationPrefix
861
- .map(prefix => prefix.c)
883
+ .map((prefix: any) => prefix.c)
862
884
  .join(" "),
863
885
  locator: ref.citationSuffix
864
- .map(suffix => suffix.c)
886
+ .map((suffix: any) => suffix.c)
865
887
  .join(" ")
866
888
  }
867
889
  })
868
- .filter(ref => ref)
890
+ .filter((ref: any) => ref)
869
891
 
870
892
  if (!references.length) {
871
893
  return null
@@ -1,7 +1,15 @@
1
- export const applyMarkToNodes = (nodes, markType, attrs = null) => {
2
- return nodes.map(node => {
1
+ import type {FidusMark, FidusNode} from "../../types.js"
2
+
3
+ export const applyMarkToNodes = (
4
+ nodes: FidusNode[],
5
+ markType: string,
6
+ attrs: Record<string, unknown> | null = null
7
+ ): FidusNode[] =>
8
+ nodes.map(node => {
3
9
  if (node.type === "text") {
4
- const mark = attrs ? {type: markType, attrs} : {type: markType}
10
+ const mark: FidusMark = attrs
11
+ ? {type: markType, attrs}
12
+ : {type: markType}
5
13
  return {
6
14
  ...node,
7
15
  marks: [...(node.marks || []), mark]
@@ -9,13 +17,15 @@ export const applyMarkToNodes = (nodes, markType, attrs = null) => {
9
17
  }
10
18
  return node
11
19
  })
12
- }
13
20
 
14
- export const mergeTextNodes = nodes => {
15
- const mergedNodes = []
16
- let currentNode = null
21
+ export const mergeTextNodes = (nodes: FidusNode[]): FidusNode[] => {
22
+ const mergedNodes: FidusNode[] = []
23
+ let currentNode: FidusNode | null = null
17
24
 
18
- const areSameMarks = (marks1 = [], marks2 = []) => {
25
+ const areSameMarks = (
26
+ marks1: FidusMark[] = [],
27
+ marks2: FidusMark[] = []
28
+ ): boolean => {
19
29
  if (marks1.length !== marks2.length) {
20
30
  return false
21
31
  }
@@ -46,7 +56,7 @@ export const mergeTextNodes = nodes => {
46
56
  areSameMarks(currentNode.marks, node.marks)
47
57
  ) {
48
58
  // Merge with previous node
49
- currentNode.text += node.text
59
+ currentNode.text = (currentNode.text || "") + (node.text || "")
50
60
  } else {
51
61
  // Start new node
52
62
  if (currentNode) {
@@ -70,8 +80,11 @@ export const mergeTextNodes = nodes => {
70
80
  return mergedNodes
71
81
  }
72
82
 
73
- export const applyAnnotation = (nodes, type) => {
74
- return nodes.map(node => ({
83
+ export const applyAnnotation = (
84
+ nodes: FidusNode[],
85
+ type: string
86
+ ): FidusNode[] =>
87
+ nodes.map(node => ({
75
88
  ...node,
76
89
  marks: [
77
90
  ...(node.marks || []),
@@ -81,4 +94,3 @@ export const applyAnnotation = (nodes, type) => {
81
94
  }
82
95
  ]
83
96
  }))
84
- }