@fiduswriter/document 0.1.0-alpha.4 → 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.
- package/dist/bibliography/common.d.ts +9 -91
- package/dist/bibliography/common.d.ts.map +1 -1
- package/dist/bibliography/common.js +3 -2
- package/dist/bibliography/common.js.map +1 -1
- package/dist/bibliography/csl_bib.d.ts +1 -1
- package/dist/bibliography/csl_bib.d.ts.map +1 -1
- package/dist/bibliography/csl_bib.js +7 -7
- package/dist/bibliography/csl_bib.js.map +1 -1
- package/dist/citations/citeproc_sys.d.ts +9 -10
- package/dist/citations/citeproc_sys.d.ts.map +1 -1
- package/dist/citations/citeproc_sys.js +6 -1
- package/dist/citations/citeproc_sys.js.map +1 -1
- package/dist/citations/format.d.ts +33 -16
- package/dist/citations/format.d.ts.map +1 -1
- package/dist/citations/format.js +29 -4
- package/dist/citations/format.js.map +1 -1
- package/dist/editor/e2ee/encryptor.d.ts +35 -35
- package/dist/editor/e2ee/encryptor.d.ts.map +1 -1
- package/dist/editor/e2ee/encryptor.js +31 -31
- package/dist/editor/e2ee/encryptor.js.map +1 -1
- package/dist/exporter/docx/citations.d.ts +27 -17
- package/dist/exporter/docx/citations.d.ts.map +1 -1
- package/dist/exporter/docx/citations.js +24 -7
- package/dist/exporter/docx/citations.js.map +1 -1
- package/dist/exporter/docx/comments.d.ts +15 -11
- package/dist/exporter/docx/comments.d.ts.map +1 -1
- package/dist/exporter/docx/comments.js +47 -14
- package/dist/exporter/docx/comments.js.map +1 -1
- package/dist/exporter/docx/footnotes.d.ts +36 -31
- package/dist/exporter/docx/footnotes.d.ts.map +1 -1
- package/dist/exporter/docx/footnotes.js +46 -12
- package/dist/exporter/docx/footnotes.js.map +1 -1
- package/dist/exporter/docx/images.d.ts +23 -12
- package/dist/exporter/docx/images.d.ts.map +1 -1
- package/dist/exporter/docx/images.js +35 -20
- package/dist/exporter/docx/images.js.map +1 -1
- package/dist/exporter/docx/index.d.ts +11 -17
- package/dist/exporter/docx/index.d.ts.map +1 -1
- package/dist/exporter/docx/index.js +15 -7
- package/dist/exporter/docx/index.js.map +1 -1
- package/dist/exporter/docx/lists.d.ts +27 -22
- package/dist/exporter/docx/lists.d.ts.map +1 -1
- package/dist/exporter/docx/lists.js +77 -30
- package/dist/exporter/docx/lists.js.map +1 -1
- package/dist/exporter/docx/math.d.ts +9 -9
- package/dist/exporter/docx/math.d.ts.map +1 -1
- package/dist/exporter/docx/math.js +22 -5
- package/dist/exporter/docx/math.js.map +1 -1
- package/dist/exporter/docx/metadata.d.ts +12 -9
- package/dist/exporter/docx/metadata.d.ts.map +1 -1
- package/dist/exporter/docx/metadata.js +59 -26
- package/dist/exporter/docx/metadata.js.map +1 -1
- package/dist/exporter/docx/rels.d.ts +14 -12
- package/dist/exporter/docx/rels.d.ts.map +1 -1
- package/dist/exporter/docx/rels.js +37 -22
- package/dist/exporter/docx/rels.js.map +1 -1
- package/dist/exporter/docx/render.d.ts +17 -15
- package/dist/exporter/docx/render.d.ts.map +1 -1
- package/dist/exporter/docx/render.js +37 -31
- package/dist/exporter/docx/render.js.map +1 -1
- package/dist/exporter/docx/richtext.d.ts +8 -8
- package/dist/exporter/docx/richtext.d.ts.map +1 -1
- package/dist/exporter/docx/richtext.js +61 -43
- package/dist/exporter/docx/richtext.js.map +1 -1
- package/dist/exporter/docx/tables.d.ts +11 -9
- package/dist/exporter/docx/tables.d.ts.map +1 -1
- package/dist/exporter/docx/tables.js +16 -10
- package/dist/exporter/docx/tables.js.map +1 -1
- package/dist/exporter/docx/tools.d.ts +3 -2
- package/dist/exporter/docx/tools.d.ts.map +1 -1
- package/dist/exporter/docx/tools.js +3 -3
- package/dist/exporter/docx/tools.js.map +1 -1
- package/dist/exporter/epub/index.d.ts +11 -3
- package/dist/exporter/epub/index.d.ts.map +1 -1
- package/dist/exporter/epub/index.js +10 -3
- package/dist/exporter/epub/index.js.map +1 -1
- package/dist/exporter/epub/templates.d.ts +62 -31
- package/dist/exporter/epub/templates.d.ts.map +1 -1
- package/dist/exporter/epub/templates.js +1 -1
- package/dist/exporter/epub/templates.js.map +1 -1
- package/dist/exporter/epub/tools.d.ts +12 -4
- package/dist/exporter/epub/tools.d.ts.map +1 -1
- package/dist/exporter/epub/tools.js +14 -13
- package/dist/exporter/epub/tools.js.map +1 -1
- package/dist/exporter/html/citations.d.ts +17 -15
- package/dist/exporter/html/citations.d.ts.map +1 -1
- package/dist/exporter/html/citations.js +37 -18
- package/dist/exporter/html/citations.js.map +1 -1
- package/dist/exporter/html/convert.d.ts +20 -70
- package/dist/exporter/html/convert.d.ts.map +1 -1
- package/dist/exporter/html/convert.js +74 -42
- package/dist/exporter/html/convert.js.map +1 -1
- package/dist/exporter/html/index.d.ts +55 -52
- package/dist/exporter/html/index.d.ts.map +1 -1
- package/dist/exporter/html/index.js +23 -3
- package/dist/exporter/html/index.js.map +1 -1
- package/dist/exporter/html/templates.d.ts +23 -9
- package/dist/exporter/html/templates.d.ts.map +1 -1
- package/dist/exporter/html/templates.js +1 -1
- package/dist/exporter/html/templates.js.map +1 -1
- package/dist/exporter/html/tools.d.ts +1 -1
- package/dist/exporter/html/tools.d.ts.map +1 -1
- package/dist/exporter/html/tools.js +2 -2
- package/dist/exporter/html/tools.js.map +1 -1
- package/dist/exporter/jats/bibliography.d.ts +2 -1
- package/dist/exporter/jats/bibliography.d.ts.map +1 -1
- package/dist/exporter/jats/bibliography.js +57 -52
- package/dist/exporter/jats/bibliography.js.map +1 -1
- package/dist/exporter/jats/citations.d.ts +13 -11
- package/dist/exporter/jats/citations.d.ts.map +1 -1
- package/dist/exporter/jats/citations.js +28 -6
- package/dist/exporter/jats/citations.js.map +1 -1
- package/dist/exporter/jats/convert.d.ts +24 -28
- package/dist/exporter/jats/convert.d.ts.map +1 -1
- package/dist/exporter/jats/convert.js +53 -36
- package/dist/exporter/jats/convert.js.map +1 -1
- package/dist/exporter/jats/index.d.ts +21 -15
- package/dist/exporter/jats/index.d.ts.map +1 -1
- package/dist/exporter/jats/index.js +21 -5
- package/dist/exporter/jats/index.js.map +1 -1
- package/dist/exporter/jats/templates.d.ts +17 -15
- package/dist/exporter/jats/templates.d.ts.map +1 -1
- package/dist/exporter/jats/templates.js.map +1 -1
- package/dist/exporter/jats/text.d.ts +3 -2
- package/dist/exporter/jats/text.d.ts.map +1 -1
- package/dist/exporter/jats/text.js +4 -4
- package/dist/exporter/jats/text.js.map +1 -1
- package/dist/exporter/latex/convert.d.ts +12 -15
- package/dist/exporter/latex/convert.d.ts.map +1 -1
- package/dist/exporter/latex/convert.js +70 -54
- package/dist/exporter/latex/convert.js.map +1 -1
- package/dist/exporter/latex/escape_latex.d.ts +1 -1
- package/dist/exporter/latex/escape_latex.d.ts.map +1 -1
- package/dist/exporter/latex/escape_latex.js +1 -1
- package/dist/exporter/latex/escape_latex.js.map +1 -1
- package/dist/exporter/latex/index.d.ts +20 -19
- package/dist/exporter/latex/index.d.ts.map +1 -1
- package/dist/exporter/latex/index.js +15 -5
- package/dist/exporter/latex/index.js.map +1 -1
- package/dist/exporter/latex/readme.d.ts +1 -1
- package/dist/exporter/latex/readme.d.ts.map +1 -1
- package/dist/exporter/latex/readme.js +2 -2
- package/dist/exporter/latex/readme.js.map +1 -1
- package/dist/exporter/native/copy.d.ts +30 -0
- package/dist/exporter/native/copy.d.ts.map +1 -0
- package/dist/exporter/native/copy.js +151 -0
- package/dist/exporter/native/copy.js.map +1 -0
- package/dist/exporter/native/file.d.ts +12 -0
- package/dist/exporter/native/file.d.ts.map +1 -0
- package/dist/exporter/native/file.js +38 -0
- package/dist/exporter/native/file.js.map +1 -0
- package/dist/exporter/native/index.d.ts +5 -0
- package/dist/exporter/native/index.d.ts.map +1 -0
- package/dist/exporter/native/index.js +5 -0
- package/dist/exporter/native/index.js.map +1 -0
- package/dist/exporter/native/revision.d.ts +18 -0
- package/dist/exporter/native/revision.d.ts.map +1 -0
- package/dist/exporter/native/revision.js +39 -0
- package/dist/exporter/native/revision.js.map +1 -0
- package/dist/exporter/native/shrink.d.ts +29 -14
- package/dist/exporter/native/shrink.d.ts.map +1 -1
- package/dist/exporter/native/shrink.js +27 -18
- package/dist/exporter/native/shrink.js.map +1 -1
- package/dist/exporter/native/zip.d.ts +25 -0
- package/dist/exporter/native/zip.d.ts.map +1 -0
- package/dist/exporter/native/zip.js +56 -0
- package/dist/exporter/native/zip.js.map +1 -0
- package/dist/exporter/odt/citations.d.ts +18 -15
- package/dist/exporter/odt/citations.d.ts.map +1 -1
- package/dist/exporter/odt/citations.js +21 -4
- package/dist/exporter/odt/citations.js.map +1 -1
- package/dist/exporter/odt/footnotes.d.ts +25 -19
- package/dist/exporter/odt/footnotes.d.ts.map +1 -1
- package/dist/exporter/odt/footnotes.js +23 -6
- package/dist/exporter/odt/footnotes.js.map +1 -1
- package/dist/exporter/odt/images.d.ts +23 -11
- package/dist/exporter/odt/images.d.ts.map +1 -1
- package/dist/exporter/odt/images.js +34 -26
- package/dist/exporter/odt/images.js.map +1 -1
- package/dist/exporter/odt/index.d.ts +12 -18
- package/dist/exporter/odt/index.d.ts.map +1 -1
- package/dist/exporter/odt/index.js +16 -7
- package/dist/exporter/odt/index.js.map +1 -1
- package/dist/exporter/odt/math.d.ts +10 -8
- package/dist/exporter/odt/math.d.ts.map +1 -1
- package/dist/exporter/odt/math.js +27 -4
- package/dist/exporter/odt/math.js.map +1 -1
- package/dist/exporter/odt/metadata.d.ts +13 -9
- package/dist/exporter/odt/metadata.d.ts.map +1 -1
- package/dist/exporter/odt/metadata.js +36 -15
- package/dist/exporter/odt/metadata.js.map +1 -1
- package/dist/exporter/odt/render.d.ts +17 -15
- package/dist/exporter/odt/render.d.ts.map +1 -1
- package/dist/exporter/odt/render.js +25 -18
- package/dist/exporter/odt/render.js.map +1 -1
- package/dist/exporter/odt/richtext.d.ts +9 -9
- package/dist/exporter/odt/richtext.d.ts.map +1 -1
- package/dist/exporter/odt/richtext.js +55 -40
- package/dist/exporter/odt/richtext.js.map +1 -1
- package/dist/exporter/odt/styles.d.ts +29 -21
- package/dist/exporter/odt/styles.d.ts.map +1 -1
- package/dist/exporter/odt/styles.js +44 -22
- package/dist/exporter/odt/styles.js.map +1 -1
- package/dist/exporter/odt/track.d.ts +14 -7
- package/dist/exporter/odt/track.d.ts.map +1 -1
- package/dist/exporter/odt/track.js +7 -0
- package/dist/exporter/odt/track.js.map +1 -1
- package/dist/exporter/pandoc/citations.d.ts +20 -14
- package/dist/exporter/pandoc/citations.d.ts.map +1 -1
- package/dist/exporter/pandoc/citations.js +18 -4
- package/dist/exporter/pandoc/citations.js.map +1 -1
- package/dist/exporter/pandoc/convert.d.ts +10 -29
- package/dist/exporter/pandoc/convert.d.ts.map +1 -1
- package/dist/exporter/pandoc/convert.js +45 -40
- package/dist/exporter/pandoc/convert.js.map +1 -1
- package/dist/exporter/pandoc/index.d.ts +20 -33
- package/dist/exporter/pandoc/index.d.ts.map +1 -1
- package/dist/exporter/pandoc/index.js +20 -8
- package/dist/exporter/pandoc/index.js.map +1 -1
- package/dist/exporter/pandoc/readme.d.ts +1 -1
- package/dist/exporter/pandoc/readme.d.ts.map +1 -1
- package/dist/exporter/pandoc/readme.js +0 -1
- package/dist/exporter/pandoc/readme.js.map +1 -1
- package/dist/exporter/pandoc/tools.d.ts +21 -5
- package/dist/exporter/pandoc/tools.d.ts.map +1 -1
- package/dist/exporter/pandoc/tools.js +2 -2
- package/dist/exporter/pandoc/tools.js.map +1 -1
- package/dist/exporter/print/index.d.ts +18 -7
- package/dist/exporter/print/index.d.ts.map +1 -1
- package/dist/exporter/print/index.js +12 -10
- package/dist/exporter/print/index.js.map +1 -1
- package/dist/exporter/tools/doc_content.d.ts +5 -6
- package/dist/exporter/tools/doc_content.d.ts.map +1 -1
- package/dist/exporter/tools/doc_content.js +17 -16
- package/dist/exporter/tools/doc_content.js.map +1 -1
- package/dist/exporter/tools/svg.d.ts +7 -1
- package/dist/exporter/tools/svg.d.ts.map +1 -1
- package/dist/exporter/tools/svg.js.map +1 -1
- package/dist/exporter/tools/xml.d.ts +39 -38
- package/dist/exporter/tools/xml.d.ts.map +1 -1
- package/dist/exporter/tools/xml.js +82 -55
- package/dist/exporter/tools/xml.js.map +1 -1
- package/dist/exporter/tools/xml_zip.d.ts +15 -14
- package/dist/exporter/tools/xml_zip.d.ts.map +1 -1
- package/dist/exporter/tools/xml_zip.js +8 -2
- package/dist/exporter/tools/xml_zip.js.map +1 -1
- package/dist/exporter/tools/zip.d.ts +28 -14
- package/dist/exporter/tools/zip.d.ts.map +1 -1
- package/dist/exporter/tools/zip.js +13 -6
- package/dist/exporter/tools/zip.js.map +1 -1
- package/dist/exporter/tools/zotero_csl.d.ts +19 -6
- package/dist/exporter/tools/zotero_csl.d.ts.map +1 -1
- package/dist/exporter/tools/zotero_csl.js +9 -9
- package/dist/exporter/tools/zotero_csl.js.map +1 -1
- package/dist/importer/citations.d.ts +25 -22
- package/dist/importer/citations.d.ts.map +1 -1
- package/dist/importer/citations.js +1 -49
- package/dist/importer/citations.js.map +1 -1
- package/dist/importer/docx/citations.d.ts +8 -30
- package/dist/importer/docx/citations.d.ts.map +1 -1
- package/dist/importer/docx/citations.js +1 -26
- package/dist/importer/docx/citations.js.map +1 -1
- package/dist/importer/docx/convert.d.ts +38 -116
- package/dist/importer/docx/convert.d.ts.map +1 -1
- package/dist/importer/docx/convert.js +99 -82
- package/dist/importer/docx/convert.js.map +1 -1
- package/dist/importer/docx/helpers.d.ts +1 -1
- package/dist/importer/docx/helpers.d.ts.map +1 -1
- package/dist/importer/docx/helpers.js +1 -1
- package/dist/importer/docx/helpers.js.map +1 -1
- package/dist/importer/docx/index.d.ts +27 -0
- package/dist/importer/docx/index.d.ts.map +1 -0
- package/dist/importer/docx/index.js +77 -0
- package/dist/importer/docx/index.js.map +1 -0
- package/dist/importer/docx/omml2mathml.d.ts +2 -3
- package/dist/importer/docx/omml2mathml.d.ts.map +1 -1
- package/dist/importer/docx/omml2mathml.js +23 -116
- package/dist/importer/docx/omml2mathml.js.map +1 -1
- package/dist/importer/docx/parse.d.ts +22 -131
- package/dist/importer/docx/parse.d.ts.map +1 -1
- package/dist/importer/docx/parse.js +73 -55
- package/dist/importer/docx/parse.js.map +1 -1
- package/dist/importer/native/extract_template.d.ts +6 -0
- package/dist/importer/native/extract_template.d.ts.map +1 -0
- package/dist/importer/native/extract_template.js +80 -0
- package/dist/importer/native/extract_template.js.map +1 -0
- package/dist/importer/native/file.d.ts +37 -0
- package/dist/importer/native/file.d.ts.map +1 -0
- package/dist/importer/native/file.js +162 -0
- package/dist/importer/native/file.js.map +1 -0
- package/dist/importer/native/get_images.d.ts +18 -8
- package/dist/importer/native/get_images.d.ts.map +1 -1
- package/dist/importer/native/get_images.js +39 -45
- package/dist/importer/native/get_images.js.map +1 -1
- package/dist/importer/native/importer.d.ts +41 -0
- package/dist/importer/native/importer.d.ts.map +1 -0
- package/dist/importer/native/importer.js +170 -0
- package/dist/importer/native/importer.js.map +1 -0
- package/dist/importer/native/index.d.ts +7 -0
- package/dist/importer/native/index.d.ts.map +1 -0
- package/dist/importer/native/index.js +7 -0
- package/dist/importer/native/index.js.map +1 -0
- package/dist/importer/native/update.d.ts +5 -4
- package/dist/importer/native/update.d.ts.map +1 -1
- package/dist/importer/native/update.js +4 -3
- package/dist/importer/native/update.js.map +1 -1
- package/dist/importer/native/update_template.d.ts +12 -0
- package/dist/importer/native/update_template.d.ts.map +1 -0
- package/dist/importer/native/update_template.js +19 -0
- package/dist/importer/native/update_template.js.map +1 -0
- package/dist/importer/odt/citations.d.ts +7 -27
- package/dist/importer/odt/citations.d.ts.map +1 -1
- package/dist/importer/odt/citations.js +0 -22
- package/dist/importer/odt/citations.js.map +1 -1
- package/dist/importer/odt/convert.d.ts +53 -237
- package/dist/importer/odt/convert.d.ts.map +1 -1
- package/dist/importer/odt/convert.js +162 -138
- package/dist/importer/odt/convert.js.map +1 -1
- package/dist/importer/odt/index.d.ts +30 -0
- package/dist/importer/odt/index.d.ts.map +1 -0
- package/dist/importer/odt/index.js +124 -0
- package/dist/importer/odt/index.js.map +1 -0
- package/dist/importer/pandoc/convert.d.ts +25 -77
- package/dist/importer/pandoc/convert.d.ts.map +1 -1
- package/dist/importer/pandoc/convert.js +65 -52
- package/dist/importer/pandoc/convert.js.map +1 -1
- package/dist/importer/pandoc/helpers.d.ts +4 -3
- package/dist/importer/pandoc/helpers.d.ts.map +1 -1
- package/dist/importer/pandoc/helpers.js +24 -26
- package/dist/importer/pandoc/helpers.js.map +1 -1
- package/dist/importer/pandoc/index.d.ts +31 -0
- package/dist/importer/pandoc/index.d.ts.map +1 -0
- package/dist/importer/pandoc/index.js +114 -0
- package/dist/importer/pandoc/index.js.map +1 -0
- package/dist/importer/registry.d.ts +21 -0
- package/dist/importer/registry.d.ts.map +1 -0
- package/dist/importer/registry.js +41 -0
- package/dist/importer/registry.js.map +1 -0
- package/dist/importer/zip_analyzer.d.ts +27 -21
- package/dist/importer/zip_analyzer.d.ts.map +1 -1
- package/dist/importer/zip_analyzer.js +10 -5
- package/dist/importer/zip_analyzer.js.map +1 -1
- package/dist/mathlive/opf_includes.d.ts +1 -1
- package/dist/mathlive/opf_includes.d.ts.map +1 -1
- package/dist/mathlive/opf_includes.js.map +1 -1
- package/dist/schema/common/annotate.d.ts +37 -49
- package/dist/schema/common/annotate.d.ts.map +1 -1
- package/dist/schema/common/annotate.js +2 -2
- package/dist/schema/common/annotate.js.map +1 -1
- package/dist/schema/common/base.d.ts +63 -81
- package/dist/schema/common/base.d.ts.map +1 -1
- package/dist/schema/common/base.js.map +1 -1
- package/dist/schema/common/citation.d.ts +23 -22
- package/dist/schema/common/citation.d.ts.map +1 -1
- package/dist/schema/common/citation.js +4 -5
- package/dist/schema/common/citation.js.map +1 -1
- package/dist/schema/common/equation.d.ts +13 -14
- package/dist/schema/common/equation.d.ts.map +1 -1
- package/dist/schema/common/equation.js +1 -1
- package/dist/schema/common/equation.js.map +1 -1
- package/dist/schema/common/figure.d.ts +72 -93
- package/dist/schema/common/figure.d.ts.map +1 -1
- package/dist/schema/common/figure.js +11 -9
- package/dist/schema/common/figure.js.map +1 -1
- package/dist/schema/common/heading.d.ts +8 -32
- package/dist/schema/common/heading.d.ts.map +1 -1
- package/dist/schema/common/heading.js +2 -2
- package/dist/schema/common/heading.js.map +1 -1
- package/dist/schema/common/index.d.ts +2 -2
- package/dist/schema/common/index.d.ts.map +1 -1
- package/dist/schema/common/index.js.map +1 -1
- package/dist/schema/common/list.d.ts +52 -72
- package/dist/schema/common/list.d.ts.map +1 -1
- package/dist/schema/common/list.js +3 -3
- package/dist/schema/common/list.js.map +1 -1
- package/dist/schema/common/reference.d.ts +51 -59
- package/dist/schema/common/reference.d.ts.map +1 -1
- package/dist/schema/common/reference.js +5 -5
- package/dist/schema/common/reference.js.map +1 -1
- package/dist/schema/common/table.d.ts +59 -75
- package/dist/schema/common/table.d.ts.map +1 -1
- package/dist/schema/common/table.js +3 -2
- package/dist/schema/common/table.js.map +1 -1
- package/dist/schema/common/track.d.ts +83 -97
- package/dist/schema/common/track.d.ts.map +1 -1
- package/dist/schema/common/track.js +18 -17
- package/dist/schema/common/track.js.map +1 -1
- package/dist/schema/convert.d.ts +2 -2
- package/dist/schema/convert.d.ts.map +1 -1
- package/dist/schema/convert.js +2 -2
- package/dist/schema/convert.js.map +1 -1
- package/dist/schema/document/content.d.ts +95 -122
- package/dist/schema/document/content.d.ts.map +1 -1
- package/dist/schema/document/content.js +9 -9
- package/dist/schema/document/content.js.map +1 -1
- package/dist/schema/document/index.d.ts +173 -257
- package/dist/schema/document/index.d.ts.map +1 -1
- package/dist/schema/document/index.js.map +1 -1
- package/dist/schema/document/structure.d.ts +149 -258
- package/dist/schema/document/structure.d.ts.map +1 -1
- package/dist/schema/document/structure.js +2 -2
- package/dist/schema/document/structure.js.map +1 -1
- package/dist/schema/export.d.ts +4 -877
- package/dist/schema/export.d.ts.map +1 -1
- package/dist/schema/export.js +1 -0
- package/dist/schema/export.js.map +1 -1
- package/dist/schema/footnotes.d.ts +110 -155
- package/dist/schema/footnotes.d.ts.map +1 -1
- package/dist/schema/footnotes.js +4 -2
- package/dist/schema/footnotes.js.map +1 -1
- package/dist/schema/footnotes_convert.d.ts +3 -3
- package/dist/schema/footnotes_convert.d.ts.map +1 -1
- package/dist/schema/footnotes_convert.js +10 -6
- package/dist/schema/footnotes_convert.js.map +1 -1
- package/dist/schema/i18n.d.ts +3 -534
- package/dist/schema/i18n.d.ts.map +1 -1
- package/dist/schema/i18n.js +1 -0
- package/dist/schema/i18n.js.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/mini_json.d.ts +3 -4
- package/dist/schema/mini_json.d.ts.map +1 -1
- package/dist/schema/mini_json.js +2 -0
- package/dist/schema/mini_json.js.map +1 -1
- package/dist/schema/text.d.ts +2 -1
- package/dist/schema/text.d.ts.map +1 -1
- package/dist/schema/text.js +1 -1
- package/dist/schema/text.js.map +1 -1
- package/dist/types.d.ts +167 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/bibliography/{common.js → common.ts} +15 -12
- package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
- package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
- package/src/citations/{format.js → format.ts} +80 -24
- package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
- package/src/exporter/docx/{citations.js → citations.ts} +51 -23
- package/src/exporter/docx/{comments.js → comments.ts} +69 -26
- package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
- package/src/exporter/docx/images.ts +128 -0
- package/src/exporter/docx/{index.js → index.ts} +48 -25
- package/src/exporter/docx/{lists.js → lists.ts} +89 -46
- package/src/exporter/docx/{math.js → math.ts} +29 -9
- package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
- package/src/exporter/docx/{rels.js → rels.ts} +71 -50
- package/src/exporter/docx/{render.js → render.ts} +124 -87
- package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
- package/src/exporter/docx/{tables.js → tables.ts} +33 -23
- package/src/exporter/docx/{tools.js → tools.ts} +4 -3
- package/src/exporter/epub/{index.js → index.ts} +44 -15
- package/src/exporter/epub/{templates.js → templates.ts} +71 -7
- package/src/exporter/epub/{tools.js → tools.ts} +31 -25
- package/src/exporter/html/{citations.js → citations.ts} +79 -31
- package/src/exporter/html/{convert.js → convert.ts} +118 -71
- package/src/exporter/html/{index.js → index.ts} +63 -29
- package/src/exporter/html/{templates.js → templates.ts} +22 -2
- package/src/exporter/html/{tools.js → tools.ts} +9 -6
- package/src/exporter/jats/bibliography.ts +199 -0
- package/src/exporter/jats/{citations.js → citations.ts} +56 -20
- package/src/exporter/jats/{convert.js → convert.ts} +72 -53
- package/src/exporter/jats/index.ts +132 -0
- package/src/exporter/jats/{templates.js → templates.ts} +19 -3
- package/src/exporter/jats/{text.js → text.ts} +8 -6
- package/src/exporter/latex/{convert.js → convert.ts} +160 -125
- package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
- package/src/exporter/latex/{index.js → index.ts} +27 -12
- package/src/exporter/latex/{readme.js → readme.ts} +2 -2
- package/src/exporter/native/copy.ts +231 -0
- package/src/exporter/native/file.ts +65 -0
- package/src/exporter/native/index.ts +4 -0
- package/src/exporter/native/revision.ts +76 -0
- package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
- package/src/exporter/native/zip.ts +85 -0
- package/src/exporter/odt/{citations.js → citations.ts} +35 -15
- package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
- package/src/exporter/odt/images.ts +135 -0
- package/src/exporter/odt/{index.js → index.ts} +49 -27
- package/src/exporter/odt/{math.js → math.ts} +38 -9
- package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
- package/src/exporter/odt/{render.js → render.ts} +89 -60
- package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
- package/src/exporter/odt/{styles.js → styles.ts} +98 -66
- package/src/exporter/odt/{track.js → track.ts} +22 -6
- package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
- package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
- package/src/exporter/pandoc/{index.js → index.ts} +36 -13
- package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
- package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
- package/src/exporter/print/{index.js → index.ts} +38 -19
- package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
- package/src/exporter/tools/{svg.js → svg.ts} +9 -3
- package/src/exporter/tools/{xml.js → xml.ts} +187 -138
- package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
- package/src/exporter/tools/{zip.js → zip.ts} +35 -11
- package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
- package/src/global.d.ts +2 -0
- package/src/importer/citations.ts +116 -0
- package/src/importer/docx/{citations.js → citations.ts} +22 -37
- package/src/importer/docx/{convert.js → convert.ts} +176 -141
- package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
- package/src/importer/docx/index.ts +124 -0
- package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
- package/src/importer/docx/{parse.js → parse.ts} +103 -81
- package/src/importer/native/extract_template.ts +83 -0
- package/src/importer/native/file.ts +282 -0
- package/src/importer/native/get_images.ts +82 -0
- package/src/importer/native/importer.ts +244 -0
- package/src/importer/native/index.ts +6 -0
- package/src/importer/native/{update.js → update.ts} +13 -5
- package/src/importer/native/update_template.ts +32 -0
- package/src/importer/odt/{citations.js → citations.ts} +17 -29
- package/src/importer/odt/{convert.js → convert.ts} +261 -237
- package/src/importer/odt/index.ts +202 -0
- package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
- package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
- package/src/importer/pandoc/index.ts +171 -0
- package/src/importer/registry.ts +69 -0
- package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
- package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
- package/src/modules.d.ts +40 -0
- package/src/schema/common/{annotate.js → annotate.ts} +10 -8
- package/src/schema/common/{base.js → base.ts} +12 -10
- package/src/schema/common/{citation.js → citation.ts} +17 -8
- package/src/schema/common/{equation.js → equation.ts} +6 -4
- package/src/schema/common/{figure.js → figure.ts} +43 -23
- package/src/schema/common/{heading.js → heading.ts} +7 -5
- package/src/schema/common/{list.js → list.ts} +15 -13
- package/src/schema/common/{reference.js → reference.ts} +14 -12
- package/src/schema/common/{table.js → table.ts} +16 -14
- package/src/schema/common/{track.js → track.ts} +42 -31
- package/src/schema/{convert.js → convert.ts} +6 -2
- package/src/schema/document/{content.js → content.ts} +22 -20
- package/src/schema/document/{structure.js → structure.ts} +15 -9
- package/src/schema/{export.js → export.ts} +4 -2
- package/src/schema/{footnotes.js → footnotes.ts} +11 -8
- package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
- package/src/schema/{i18n.js → i18n.ts} +7 -1
- package/src/schema/{mini_json.js → mini_json.ts} +11 -12
- package/src/schema/{text.js → text.ts} +6 -2
- package/src/types.ts +185 -7
- package/src/exporter/docx/images.js +0 -101
- package/src/exporter/jats/bibliography.js +0 -183
- package/src/exporter/jats/index.js +0 -92
- package/src/exporter/odt/images.js +0 -115
- package/src/importer/citations.js +0 -129
- package/src/importer/native/get_images.js +0 -76
- /package/src/schema/common/{index.js → index.ts} +0 -0
- /package/src/schema/document/{index.js → index.ts} +0 -0
- /package/src/schema/{index.js → index.ts} +0 -0
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
// that works with our xml dom.
|
|
3
3
|
|
|
4
4
|
import {xmlDOM} from "../../exporter/tools/xml.js"
|
|
5
|
+
import type {XMLElement} from "../../exporter/tools/xml.js"
|
|
6
|
+
|
|
5
7
|
const MATH_NS = "http://www.w3.org/1998/Math/MathML"
|
|
6
8
|
|
|
7
9
|
// Regular expression matching mathematical operators
|
|
@@ -10,10 +12,8 @@ const oprx =
|
|
|
10
12
|
|
|
11
13
|
/**
|
|
12
14
|
* Converts OMML to MathML
|
|
13
|
-
* @param {XMLElement} omml - OMML XML element
|
|
14
|
-
* @return {string} MathML XML string
|
|
15
15
|
*/
|
|
16
|
-
export function omml2mathml(omml) {
|
|
16
|
+
export function omml2mathml(omml: XMLElement): XMLElement {
|
|
17
17
|
// Create the root math element
|
|
18
18
|
const math = xmlDOM(`<math xmlns="${MATH_NS}" display="inline"></math>`)
|
|
19
19
|
|
|
@@ -25,14 +25,12 @@ export function omml2mathml(omml) {
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Process the OMML document and convert to MathML
|
|
28
|
-
* @param {XMLElement} omml - The OMML element to process
|
|
29
|
-
* @param {XMLElement} math - The parent MathML element
|
|
30
28
|
*/
|
|
31
|
-
function processOMML(omml, math) {
|
|
29
|
+
function processOMML(omml: XMLElement, math: XMLElement): void {
|
|
32
30
|
// Handle different OMML elements
|
|
33
31
|
if (omml.tagName === "m:oMathPara") {
|
|
34
32
|
math.setAttribute("display", "block")
|
|
35
|
-
omml.queryAll("m:oMath").forEach(omath => {
|
|
33
|
+
omml.queryAll("m:oMath").forEach((omath: any) => {
|
|
36
34
|
processOMML(omath, math)
|
|
37
35
|
})
|
|
38
36
|
} else if (omml.tagName === "m:oMath") {
|
|
@@ -45,10 +43,8 @@ function processOMML(omml, math) {
|
|
|
45
43
|
|
|
46
44
|
/**
|
|
47
45
|
* Process an OMML element and create corresponding MathML
|
|
48
|
-
* @param {XMLElement} element - The OMML element to process
|
|
49
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
50
46
|
*/
|
|
51
|
-
function processElement(element, parent) {
|
|
47
|
+
function processElement(element: XMLElement | null, parent: XMLElement): void {
|
|
52
48
|
if (!element || !element.tagName) {
|
|
53
49
|
return
|
|
54
50
|
}
|
|
@@ -127,33 +123,34 @@ function processElement(element, parent) {
|
|
|
127
123
|
|
|
128
124
|
/**
|
|
129
125
|
* Process all children of an element
|
|
130
|
-
* @param {XMLElement} element - The element whose children to process
|
|
131
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
132
126
|
*/
|
|
133
|
-
function processChildren(
|
|
127
|
+
function processChildren(
|
|
128
|
+
element: XMLElement | null,
|
|
129
|
+
parent: XMLElement
|
|
130
|
+
): void {
|
|
134
131
|
if (!element || !element.children) {
|
|
135
132
|
return
|
|
136
133
|
}
|
|
137
134
|
|
|
138
|
-
element.children.forEach(child => {
|
|
135
|
+
element.children.forEach((child: any) => {
|
|
139
136
|
if (typeof child === "object") {
|
|
140
|
-
processElement(child, parent)
|
|
137
|
+
processElement(child as XMLElement, parent)
|
|
141
138
|
}
|
|
142
139
|
})
|
|
143
140
|
}
|
|
144
141
|
|
|
145
142
|
/**
|
|
146
143
|
* Create a MathML element with specified attributes
|
|
147
|
-
* @param {string} tag - The MathML tag name
|
|
148
|
-
* @param {Object} attrs - The attributes to set
|
|
149
|
-
* @param {XMLElement} parent - The parent element
|
|
150
|
-
* @return {XMLElement} The created element
|
|
151
144
|
*/
|
|
152
|
-
function createMathElement(
|
|
145
|
+
function createMathElement(
|
|
146
|
+
tag: string,
|
|
147
|
+
attrs: Record<string, unknown> = {},
|
|
148
|
+
parent: XMLElement | null = null
|
|
149
|
+
): XMLElement {
|
|
153
150
|
const elem = xmlDOM(`<${tag}></${tag}>`)
|
|
154
151
|
|
|
155
152
|
// Set attributes
|
|
156
|
-
Object.entries(attrs).forEach(([key, value]) => {
|
|
153
|
+
Object.entries(attrs).forEach(([key, value]: any) => {
|
|
157
154
|
if (value !== undefined && value !== "") {
|
|
158
155
|
elem.setAttribute(key, value)
|
|
159
156
|
}
|
|
@@ -168,10 +165,8 @@ function createMathElement(tag, attrs = {}, parent = null) {
|
|
|
168
165
|
|
|
169
166
|
/**
|
|
170
167
|
* Process a fraction element
|
|
171
|
-
* @param {XMLElement} element - The OMML fraction element
|
|
172
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
173
168
|
*/
|
|
174
|
-
function processFraction(element, parent) {
|
|
169
|
+
function processFraction(element: XMLElement, parent: XMLElement): void {
|
|
175
170
|
const type = getAttr(element, "m:fPr/m:type", "m:val") || ""
|
|
176
171
|
|
|
177
172
|
if (type.toLowerCase() === "lin") {
|
|
@@ -208,20 +203,18 @@ function processFraction(element, parent) {
|
|
|
208
203
|
|
|
209
204
|
/**
|
|
210
205
|
* Process a run of text
|
|
211
|
-
* @param {XMLElement} element - The OMML run element
|
|
212
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
213
206
|
*/
|
|
214
|
-
function processRun(element, parent) {
|
|
207
|
+
function processRun(element: XMLElement, parent: XMLElement): void {
|
|
215
208
|
const nor = forceFalse(getAttr(element, "m:rPr/m:nor", "m:val") || "false")
|
|
216
209
|
if (nor) {
|
|
217
210
|
const mtext = createMathElement("mtext", {}, parent)
|
|
218
211
|
const textContent = element
|
|
219
212
|
.queryAll("m:t")
|
|
220
|
-
.map(t => t.textContent)
|
|
213
|
+
.map((t: any) => t.textContent)
|
|
221
214
|
.join("")
|
|
222
215
|
mtext.textContent = nbsp(textContent)
|
|
223
216
|
} else {
|
|
224
|
-
element.queryAll("m:t").forEach(t => {
|
|
217
|
+
element.queryAll("m:t").forEach((t: any) => {
|
|
225
218
|
const toParse = t.textContent
|
|
226
219
|
const scr = getAttr(element, "m:rPr/m:scr", "m:val")
|
|
227
220
|
const sty = getAttr(element, "m:rPr/m:sty", "m:val")
|
|
@@ -237,10 +230,8 @@ function processRun(element, parent) {
|
|
|
237
230
|
|
|
238
231
|
/**
|
|
239
232
|
* Process a lower limit element
|
|
240
|
-
* @param {XMLElement} element - The OMML limLow element
|
|
241
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
242
233
|
*/
|
|
243
|
-
function processLimLow(element, parent) {
|
|
234
|
+
function processLimLow(element: XMLElement, parent: XMLElement): void {
|
|
244
235
|
const munder = createMathElement("munder", {}, parent)
|
|
245
236
|
const row1 = createMathElement("mrow", {}, munder)
|
|
246
237
|
const row2 = createMathElement("mrow", {}, munder)
|
|
@@ -258,10 +249,8 @@ function processLimLow(element, parent) {
|
|
|
258
249
|
|
|
259
250
|
/**
|
|
260
251
|
* Process an upper limit element
|
|
261
|
-
* @param {XMLElement} element - The OMML limUpp element
|
|
262
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
263
252
|
*/
|
|
264
|
-
function processLimUpp(element, parent) {
|
|
253
|
+
function processLimUpp(element: XMLElement, parent: XMLElement): void {
|
|
265
254
|
const mover = createMathElement("mover", {}, parent)
|
|
266
255
|
const row1 = createMathElement("mrow", {}, mover)
|
|
267
256
|
const row2 = createMathElement("mrow", {}, mover)
|
|
@@ -279,10 +268,8 @@ function processLimUpp(element, parent) {
|
|
|
279
268
|
|
|
280
269
|
/**
|
|
281
270
|
* Process a subscript element
|
|
282
|
-
* @param {XMLElement} element - The OMML sSub element
|
|
283
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
284
271
|
*/
|
|
285
|
-
function processSubscript(element, parent) {
|
|
272
|
+
function processSubscript(element: XMLElement, parent: XMLElement): void {
|
|
286
273
|
const msub = createMathElement("msub", {}, parent)
|
|
287
274
|
const row1 = createMathElement("mrow", {}, msub)
|
|
288
275
|
const row2 = createMathElement("mrow", {}, msub)
|
|
@@ -300,10 +287,8 @@ function processSubscript(element, parent) {
|
|
|
300
287
|
|
|
301
288
|
/**
|
|
302
289
|
* Process a superscript element
|
|
303
|
-
* @param {XMLElement} element - The OMML sSup element
|
|
304
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
305
290
|
*/
|
|
306
|
-
function processSuperscript(element, parent) {
|
|
291
|
+
function processSuperscript(element: XMLElement, parent: XMLElement): void {
|
|
307
292
|
const msup = createMathElement("msup", {}, parent)
|
|
308
293
|
const row1 = createMathElement("mrow", {}, msup)
|
|
309
294
|
const row2 = createMathElement("mrow", {}, msup)
|
|
@@ -321,10 +306,8 @@ function processSuperscript(element, parent) {
|
|
|
321
306
|
|
|
322
307
|
/**
|
|
323
308
|
* Process a subscript-superscript element
|
|
324
|
-
* @param {XMLElement} element - The OMML sSubSup element
|
|
325
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
326
309
|
*/
|
|
327
|
-
function processSubSuperscript(element, parent) {
|
|
310
|
+
function processSubSuperscript(element: XMLElement, parent: XMLElement): void {
|
|
328
311
|
const msubsup = createMathElement("msubsup", {}, parent)
|
|
329
312
|
const row1 = createMathElement("mrow", {}, msubsup)
|
|
330
313
|
const row2 = createMathElement("mrow", {}, msubsup)
|
|
@@ -348,10 +331,8 @@ function processSubSuperscript(element, parent) {
|
|
|
348
331
|
|
|
349
332
|
/**
|
|
350
333
|
* Process a prescripted element
|
|
351
|
-
* @param {XMLElement} element - The OMML sPre element
|
|
352
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
353
334
|
*/
|
|
354
|
-
function processPreScript(element, parent) {
|
|
335
|
+
function processPreScript(element: XMLElement, parent: XMLElement): void {
|
|
355
336
|
const mmultiscripts = createMathElement("mmultiscripts", {}, parent)
|
|
356
337
|
const row = createMathElement("mrow", {}, mmultiscripts)
|
|
357
338
|
|
|
@@ -371,23 +352,21 @@ function processPreScript(element, parent) {
|
|
|
371
352
|
|
|
372
353
|
/**
|
|
373
354
|
* Process a matrix element
|
|
374
|
-
* @param {XMLElement} element - The OMML matrix element
|
|
375
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
376
355
|
*/
|
|
377
|
-
function processMatrix(element, parent) {
|
|
356
|
+
function processMatrix(element: XMLElement, parent: XMLElement): void {
|
|
378
357
|
const mcjc = getAttr(element, "m:mPr/m:mcs/m:mc/m:mcPr/m:mcJc", "m:val")
|
|
379
358
|
|
|
380
|
-
const attrs = {}
|
|
359
|
+
const attrs: Record<string, string> = {}
|
|
381
360
|
if (mcjc && mcjc.toLowerCase() !== "center") {
|
|
382
361
|
attrs.columnalign = mcjc.toLowerCase()
|
|
383
362
|
}
|
|
384
363
|
|
|
385
364
|
const mtable = createMathElement("mtable", attrs, parent)
|
|
386
365
|
|
|
387
|
-
element.queryAll("m:mr").forEach(mr => {
|
|
366
|
+
element.queryAll("m:mr").forEach((mr: any) => {
|
|
388
367
|
const mtr = createMathElement("mtr", {}, mtable)
|
|
389
368
|
|
|
390
|
-
mr.queryAll("m:e").forEach(me => {
|
|
369
|
+
mr.queryAll("m:e").forEach((me: any) => {
|
|
391
370
|
const mtd = createMathElement("mtd", {}, mtr)
|
|
392
371
|
processElement(me, mtd)
|
|
393
372
|
})
|
|
@@ -396,10 +375,8 @@ function processMatrix(element, parent) {
|
|
|
396
375
|
|
|
397
376
|
/**
|
|
398
377
|
* Process a radical element
|
|
399
|
-
* @param {XMLElement} element - The OMML radical element
|
|
400
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
401
378
|
*/
|
|
402
|
-
function processRadical(element, parent) {
|
|
379
|
+
function processRadical(element: XMLElement, parent: XMLElement): void {
|
|
403
380
|
const degHide = forceFalse(
|
|
404
381
|
getAttr(element, "m:radPr/m:degHide", "m:val") || "false"
|
|
405
382
|
)
|
|
@@ -429,10 +406,8 @@ function processRadical(element, parent) {
|
|
|
429
406
|
|
|
430
407
|
/**
|
|
431
408
|
* Process an n-ary operator element
|
|
432
|
-
* @param {XMLElement} element - The OMML nary element
|
|
433
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
434
409
|
*/
|
|
435
|
-
function processNary(element, parent) {
|
|
410
|
+
function processNary(element: XMLElement, parent: XMLElement): void {
|
|
436
411
|
const subHide = forceFalse(
|
|
437
412
|
getAttr(element, "m:naryPr/m:subHide", "m:val") || "false"
|
|
438
413
|
)
|
|
@@ -508,15 +483,13 @@ function processNary(element, parent) {
|
|
|
508
483
|
|
|
509
484
|
/**
|
|
510
485
|
* Process a delimiter element
|
|
511
|
-
* @param {XMLElement} element - The OMML delimiter element
|
|
512
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
513
486
|
*/
|
|
514
|
-
function processDelimiter(element, parent) {
|
|
487
|
+
function processDelimiter(element: XMLElement, parent: XMLElement): void {
|
|
515
488
|
const begChr = getAttr(element, "m:dPr/m:begChr", "m:val")
|
|
516
489
|
const endChr = getAttr(element, "m:dPr/m:endChr", "m:val")
|
|
517
490
|
const sepChr = getAttr(element, "m:dPr/m:sepChr", "m:val") || "|"
|
|
518
491
|
|
|
519
|
-
const attr = {}
|
|
492
|
+
const attr: Record<string, string> = {}
|
|
520
493
|
if (begChr !== undefined && begChr !== "(") {
|
|
521
494
|
attr.open = begChr
|
|
522
495
|
}
|
|
@@ -529,7 +502,7 @@ function processDelimiter(element, parent) {
|
|
|
529
502
|
|
|
530
503
|
const mfenced = createMathElement("mfenced", attr, parent)
|
|
531
504
|
|
|
532
|
-
element.queryAll("m:e").forEach(me => {
|
|
505
|
+
element.queryAll("m:e").forEach((me: any) => {
|
|
533
506
|
const row = createMathElement("mrow", {}, mfenced)
|
|
534
507
|
processElement(me, row)
|
|
535
508
|
})
|
|
@@ -537,13 +510,11 @@ function processDelimiter(element, parent) {
|
|
|
537
510
|
|
|
538
511
|
/**
|
|
539
512
|
* Process an equation array element
|
|
540
|
-
* @param {XMLElement} element - The OMML eqArr element
|
|
541
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
542
513
|
*/
|
|
543
|
-
function processEqArr(element, parent) {
|
|
514
|
+
function processEqArr(element: XMLElement, parent: XMLElement): void {
|
|
544
515
|
const mtable = createMathElement("mtable", {}, parent)
|
|
545
516
|
|
|
546
|
-
element.queryAll("m:e").forEach(me => {
|
|
517
|
+
element.queryAll("m:e").forEach((me: any) => {
|
|
547
518
|
const mtr = createMathElement("mtr", {}, mtable)
|
|
548
519
|
const mtd = createMathElement("mtd", {}, mtr)
|
|
549
520
|
|
|
@@ -557,21 +528,19 @@ function processEqArr(element, parent) {
|
|
|
557
528
|
|
|
558
529
|
const firstChild = me.children[0]
|
|
559
530
|
if (firstChild) {
|
|
560
|
-
createEqArrRow(outer, element, firstChild, 1)
|
|
531
|
+
createEqArrRow(outer, element, firstChild as XMLElement, 1)
|
|
561
532
|
}
|
|
562
533
|
})
|
|
563
534
|
}
|
|
564
535
|
|
|
565
536
|
/**
|
|
566
537
|
* Process a function element
|
|
567
|
-
* @param {XMLElement} element - The OMML function element
|
|
568
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
569
538
|
*/
|
|
570
|
-
function processFunction(element, parent) {
|
|
539
|
+
function processFunction(element: XMLElement, parent: XMLElement): void {
|
|
571
540
|
const outer = createMathElement("mrow", {}, parent)
|
|
572
541
|
const row1 = createMathElement("mrow", {}, outer)
|
|
573
542
|
|
|
574
|
-
element.queryAll("m:fName").forEach(fn => {
|
|
543
|
+
element.queryAll("m:fName").forEach((fn: any) => {
|
|
575
544
|
processElement(fn, row1)
|
|
576
545
|
})
|
|
577
546
|
|
|
@@ -587,10 +556,8 @@ function processFunction(element, parent) {
|
|
|
587
556
|
|
|
588
557
|
/**
|
|
589
558
|
* Process an accent element
|
|
590
|
-
* @param {XMLElement} element - The OMML accent element
|
|
591
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
592
559
|
*/
|
|
593
|
-
function processAccent(element, parent) {
|
|
560
|
+
function processAccent(element: XMLElement, parent: XMLElement): void {
|
|
594
561
|
const mover = createMathElement("mover", {accent: "true"}, parent)
|
|
595
562
|
const row = createMathElement("mrow", {}, mover)
|
|
596
563
|
|
|
@@ -599,10 +566,9 @@ function processAccent(element, parent) {
|
|
|
599
566
|
processElement(e, row)
|
|
600
567
|
}
|
|
601
568
|
|
|
602
|
-
const acc = (
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
)
|
|
569
|
+
const acc = (
|
|
570
|
+
getAttr(element, "m:accPr/m:chr", "m:val") || "\u0302"
|
|
571
|
+
).substr(0, 1)
|
|
606
572
|
const nonComb = toNonCombining(acc)
|
|
607
573
|
|
|
608
574
|
if (acc.length === 0) {
|
|
@@ -622,10 +588,8 @@ function processAccent(element, parent) {
|
|
|
622
588
|
|
|
623
589
|
/**
|
|
624
590
|
* Process a group character element
|
|
625
|
-
* @param {XMLElement} element - The OMML groupChr element
|
|
626
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
627
591
|
*/
|
|
628
|
-
function processGroupChar(element, parent) {
|
|
592
|
+
function processGroupChar(element: XMLElement, parent: XMLElement): void {
|
|
629
593
|
const lastGroupChrPr = element.query("m:groupChrPr")
|
|
630
594
|
if (!lastGroupChrPr) {
|
|
631
595
|
return
|
|
@@ -637,8 +601,8 @@ function processGroupChar(element, parent) {
|
|
|
637
601
|
).toLowerCase()
|
|
638
602
|
const chr = getAttr(lastGroupChrPr, "m:chr", "m:val") || "\u23DF"
|
|
639
603
|
|
|
640
|
-
const mkMrow =
|
|
641
|
-
const mrow = createMathElement("mrow", {},
|
|
604
|
+
const mkMrow = (p: XMLElement) => {
|
|
605
|
+
const mrow = createMathElement("mrow", {}, p)
|
|
642
606
|
const e = element.query("m:e")
|
|
643
607
|
if (e) {
|
|
644
608
|
processElement(e, mrow)
|
|
@@ -646,8 +610,8 @@ function processGroupChar(element, parent) {
|
|
|
646
610
|
return mrow
|
|
647
611
|
}
|
|
648
612
|
|
|
649
|
-
const mkMo =
|
|
650
|
-
const mo = createMathElement("mo", {},
|
|
613
|
+
const mkMo = (p: XMLElement) => {
|
|
614
|
+
const mo = createMathElement("mo", {}, p)
|
|
651
615
|
mo.textContent = chr.substr(0, 1)
|
|
652
616
|
return mo
|
|
653
617
|
}
|
|
@@ -685,10 +649,8 @@ function processGroupChar(element, parent) {
|
|
|
685
649
|
|
|
686
650
|
/**
|
|
687
651
|
* Process a border box element
|
|
688
|
-
* @param {XMLElement} element - The OMML borderBox element
|
|
689
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
690
652
|
*/
|
|
691
|
-
function processBorderBox(element, parent) {
|
|
653
|
+
function processBorderBox(element: XMLElement, parent: XMLElement): void {
|
|
692
654
|
const hideTop = forceTrue(
|
|
693
655
|
getAttr(element, "m:borderBoxPr/m:hideTop", "m:val") || "false"
|
|
694
656
|
)
|
|
@@ -714,7 +676,7 @@ function processBorderBox(element, parent) {
|
|
|
714
676
|
getAttr(element, "m:borderBoxPr/m:strikeTLBR", "m:val") || "false"
|
|
715
677
|
)
|
|
716
678
|
|
|
717
|
-
let outer
|
|
679
|
+
let outer: XMLElement
|
|
718
680
|
|
|
719
681
|
if (
|
|
720
682
|
hideTop &&
|
|
@@ -749,10 +711,8 @@ function processBorderBox(element, parent) {
|
|
|
749
711
|
|
|
750
712
|
/**
|
|
751
713
|
* Process a bar element
|
|
752
|
-
* @param {XMLElement} element - The OMML bar element
|
|
753
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
754
714
|
*/
|
|
755
|
-
function processBar(element, parent) {
|
|
715
|
+
function processBar(element: XMLElement, parent: XMLElement): void {
|
|
756
716
|
const pos = (getAttr(element, "m:barPr/m:pos", "m:val") || "").toLowerCase()
|
|
757
717
|
|
|
758
718
|
if (pos === "top") {
|
|
@@ -786,10 +746,8 @@ function processBar(element, parent) {
|
|
|
786
746
|
|
|
787
747
|
/**
|
|
788
748
|
* Process a phantom element
|
|
789
|
-
* @param {XMLElement} element - The OMML phantom element
|
|
790
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
791
749
|
*/
|
|
792
|
-
function processPhantom(element, parent) {
|
|
750
|
+
function processPhantom(element: XMLElement, parent: XMLElement): void {
|
|
793
751
|
const zeroWid = forceFalse(
|
|
794
752
|
getAttr(element, "m:phantPr/m:zeroWid", "m:val") || "false"
|
|
795
753
|
)
|
|
@@ -803,7 +761,7 @@ function processPhantom(element, parent) {
|
|
|
803
761
|
getAttr(element, "m:phantPr/m:show", "m:val") || "false"
|
|
804
762
|
)
|
|
805
763
|
|
|
806
|
-
let container
|
|
764
|
+
let container: XMLElement
|
|
807
765
|
|
|
808
766
|
if (showVal) {
|
|
809
767
|
container = createMathElement(
|
|
@@ -831,10 +789,8 @@ function processPhantom(element, parent) {
|
|
|
831
789
|
|
|
832
790
|
/**
|
|
833
791
|
* Process an argument element
|
|
834
|
-
* @param {XMLElement} element - The OMML argument element
|
|
835
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
836
792
|
*/
|
|
837
|
-
function processArgument(element, parent) {
|
|
793
|
+
function processArgument(element: XMLElement, parent: XMLElement): void {
|
|
838
794
|
const scriptlevel = getAttr(element, "m:argPr/m:scrLvl", "m:val")
|
|
839
795
|
|
|
840
796
|
if (!scriptlevel) {
|
|
@@ -847,18 +803,18 @@ function processArgument(element, parent) {
|
|
|
847
803
|
|
|
848
804
|
/**
|
|
849
805
|
* Get attribute value from an element using a simplified XPath-like path
|
|
850
|
-
* @param {XMLElement} element - The element to query
|
|
851
|
-
* @param {string} path - The simplified path to the attribute
|
|
852
|
-
* @param {string} attrName - The attribute name
|
|
853
|
-
* @return {string} The attribute value or empty string
|
|
854
806
|
*/
|
|
855
|
-
function getAttr(
|
|
807
|
+
function getAttr(
|
|
808
|
+
element: XMLElement | null | undefined,
|
|
809
|
+
path: string,
|
|
810
|
+
attrName: string
|
|
811
|
+
): string {
|
|
856
812
|
if (!element) {
|
|
857
813
|
return ""
|
|
858
814
|
}
|
|
859
815
|
|
|
860
816
|
const parts = path.split("/")
|
|
861
|
-
let current = element
|
|
817
|
+
let current: XMLElement | null = element
|
|
862
818
|
|
|
863
819
|
for (let i = 0; i < parts.length; i++) {
|
|
864
820
|
if (!current) {
|
|
@@ -885,15 +841,16 @@ function getAttr(element, path, attrName) {
|
|
|
885
841
|
}
|
|
886
842
|
}
|
|
887
843
|
|
|
888
|
-
return current ? current.getAttribute(attrName) || "" : ""
|
|
844
|
+
return current ? String(current.getAttribute(attrName) || "") : ""
|
|
889
845
|
}
|
|
890
846
|
|
|
891
847
|
/**
|
|
892
848
|
* Output a script element, or "none" if not provided
|
|
893
|
-
* @param {XMLElement} parent - The parent element
|
|
894
|
-
* @param {XMLElement} element - The script element to output
|
|
895
849
|
*/
|
|
896
|
-
function outputScript(
|
|
850
|
+
function outputScript(
|
|
851
|
+
parent: XMLElement,
|
|
852
|
+
element: XMLElement | null | undefined
|
|
853
|
+
): void {
|
|
897
854
|
if (element) {
|
|
898
855
|
const row = createMathElement("mrow", {}, parent)
|
|
899
856
|
processElement(element, row)
|
|
@@ -904,11 +861,12 @@ function outputScript(parent, element) {
|
|
|
904
861
|
|
|
905
862
|
/**
|
|
906
863
|
* Output an n-ary operator
|
|
907
|
-
* @param {XMLElement} element - The OMML nary element
|
|
908
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
909
|
-
* @param {boolean} grow - Whether the operator should stretch
|
|
910
864
|
*/
|
|
911
|
-
function outputNAryMO(
|
|
865
|
+
function outputNAryMO(
|
|
866
|
+
element: XMLElement,
|
|
867
|
+
parent: XMLElement,
|
|
868
|
+
grow: any = false
|
|
869
|
+
): void {
|
|
912
870
|
const mo = createMathElement(
|
|
913
871
|
"mo",
|
|
914
872
|
{stretchy: grow ? "true" : "false"},
|
|
@@ -920,12 +878,13 @@ function outputNAryMO(element, parent, grow = false) {
|
|
|
920
878
|
|
|
921
879
|
/**
|
|
922
880
|
* Create an equation array row
|
|
923
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
924
|
-
* @param {XMLElement} src - The source OMML element
|
|
925
|
-
* @param {XMLElement} cur - The current OMML element
|
|
926
|
-
* @param {number} align - Alignment indicator
|
|
927
881
|
*/
|
|
928
|
-
function createEqArrRow(
|
|
882
|
+
function createEqArrRow(
|
|
883
|
+
parent: XMLElement,
|
|
884
|
+
src: XMLElement,
|
|
885
|
+
cur: XMLElement | null | undefined,
|
|
886
|
+
align: number
|
|
887
|
+
): void {
|
|
929
888
|
if (!cur) {
|
|
930
889
|
return
|
|
931
890
|
}
|
|
@@ -933,7 +892,7 @@ function createEqArrRow(parent, src, cur, align) {
|
|
|
933
892
|
if (cur.tagName === "m:r") {
|
|
934
893
|
const allMt = cur
|
|
935
894
|
.queryAll("m:t")
|
|
936
|
-
.map(t => t.textContent)
|
|
895
|
+
.map((t: any) => t.textContent)
|
|
937
896
|
.join("")
|
|
938
897
|
const nor = forceFalse(getAttr(cur, "m:rPr/m:nor", "m:val") || "false")
|
|
939
898
|
|
|
@@ -951,12 +910,13 @@ function createEqArrRow(parent, src, cur, align) {
|
|
|
951
910
|
// Get the next sibling if available
|
|
952
911
|
const siblings = cur.parentElement ? cur.parentElement.children : []
|
|
953
912
|
const index = siblings.indexOf(cur)
|
|
954
|
-
const nextSibling =
|
|
913
|
+
const nextSibling =
|
|
914
|
+
index < siblings.length - 1 ? (siblings[index + 1] as XMLElement) : null
|
|
955
915
|
|
|
956
916
|
if (nextSibling) {
|
|
957
917
|
const allMt = cur
|
|
958
918
|
.queryAll("m:t")
|
|
959
|
-
.map(t => t.textContent)
|
|
919
|
+
.map((t: any) => t.textContent)
|
|
960
920
|
.join("")
|
|
961
921
|
const amp = countAmp(allMt)
|
|
962
922
|
createEqArrRow(parent, src, nextSibling, (align + (amp % 2)) % 2)
|
|
@@ -965,10 +925,23 @@ function createEqArrRow(parent, src, cur, align) {
|
|
|
965
925
|
|
|
966
926
|
/**
|
|
967
927
|
* Parse equation array run text
|
|
968
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
969
|
-
* @param {Object} options - Parsing options
|
|
970
928
|
*/
|
|
971
|
-
function parseEqArrMr(
|
|
929
|
+
function parseEqArrMr(
|
|
930
|
+
parent: XMLElement,
|
|
931
|
+
{
|
|
932
|
+
toParse = "",
|
|
933
|
+
scr,
|
|
934
|
+
sty,
|
|
935
|
+
nor,
|
|
936
|
+
align
|
|
937
|
+
}: {
|
|
938
|
+
toParse?: string
|
|
939
|
+
scr?: string
|
|
940
|
+
sty?: string
|
|
941
|
+
nor?: boolean
|
|
942
|
+
align?: number
|
|
943
|
+
}
|
|
944
|
+
): void {
|
|
972
945
|
if (!toParse.length) {
|
|
973
946
|
return
|
|
974
947
|
}
|
|
@@ -977,7 +950,7 @@ function parseEqArrMr(parent, {toParse = "", scr, sty, nor, align}) {
|
|
|
977
950
|
createMathElement(align ? "malignmark" : "maligngroup", {}, parent)
|
|
978
951
|
parseEqArrMr(parent, {
|
|
979
952
|
toParse: toParse.substr(1),
|
|
980
|
-
align:
|
|
953
|
+
align: align ? 0 : 1,
|
|
981
954
|
scr,
|
|
982
955
|
sty,
|
|
983
956
|
nor
|
|
@@ -1067,11 +1040,22 @@ function parseEqArrMr(parent, {toParse = "", scr, sty, nor, align}) {
|
|
|
1067
1040
|
|
|
1068
1041
|
/**
|
|
1069
1042
|
* Parse math text
|
|
1070
|
-
* @param {XMLElement} ctx - The context OMML element
|
|
1071
|
-
* @param {XMLElement} parent - The parent MathML element
|
|
1072
|
-
* @param {Object} options - Parsing options
|
|
1073
1043
|
*/
|
|
1074
|
-
function parseMT(
|
|
1044
|
+
function parseMT(
|
|
1045
|
+
ctx: XMLElement,
|
|
1046
|
+
parent: XMLElement,
|
|
1047
|
+
{
|
|
1048
|
+
toParse = "",
|
|
1049
|
+
scr,
|
|
1050
|
+
sty,
|
|
1051
|
+
nor
|
|
1052
|
+
}: {
|
|
1053
|
+
toParse?: string
|
|
1054
|
+
scr?: string
|
|
1055
|
+
sty?: string
|
|
1056
|
+
nor?: boolean
|
|
1057
|
+
}
|
|
1058
|
+
): void {
|
|
1075
1059
|
if (!toParse.length) {
|
|
1076
1060
|
return
|
|
1077
1061
|
}
|
|
@@ -1154,11 +1138,8 @@ function parseMT(ctx, parent, {toParse = "", scr, sty, nor}) {
|
|
|
1154
1138
|
|
|
1155
1139
|
/**
|
|
1156
1140
|
* Find the index of a regex match in a string
|
|
1157
|
-
* @param {string} str - The string to search
|
|
1158
|
-
* @param {RegExp} rx - The regex to match
|
|
1159
|
-
* @return {number} The match index + 1, or 0 if no match
|
|
1160
1141
|
*/
|
|
1161
|
-
function rxIndexOf(str, rx) {
|
|
1142
|
+
function rxIndexOf(str: string, rx: RegExp): number {
|
|
1162
1143
|
const re = rx.exec(str)
|
|
1163
1144
|
if (!re) {
|
|
1164
1145
|
return 0
|
|
@@ -1168,10 +1149,8 @@ function rxIndexOf(str, rx) {
|
|
|
1168
1149
|
|
|
1169
1150
|
/**
|
|
1170
1151
|
* Get the start of a number in a string
|
|
1171
|
-
* @param {string} str - The string to check
|
|
1172
|
-
* @return {string} The number at the start of the string
|
|
1173
1152
|
*/
|
|
1174
|
-
function numStart(str) {
|
|
1153
|
+
function numStart(str: string): string {
|
|
1175
1154
|
if (!str) {
|
|
1176
1155
|
return ""
|
|
1177
1156
|
}
|
|
@@ -1181,20 +1160,16 @@ function numStart(str) {
|
|
|
1181
1160
|
|
|
1182
1161
|
/**
|
|
1183
1162
|
* Count ampersands in a string
|
|
1184
|
-
* @param {string} str - The string to check
|
|
1185
|
-
* @return {number} The number of ampersands
|
|
1186
1163
|
*/
|
|
1187
|
-
function countAmp(str) {
|
|
1164
|
+
function countAmp(str: string): number {
|
|
1188
1165
|
return ((str || "").match(/&/g) || []).length
|
|
1189
1166
|
}
|
|
1190
1167
|
|
|
1191
1168
|
/**
|
|
1192
1169
|
* Convert a combining character to its non-combining equivalent
|
|
1193
|
-
* @param {string} ch - The character to convert
|
|
1194
|
-
* @return {string} The non-combining equivalent
|
|
1195
1170
|
*/
|
|
1196
|
-
function toNonCombining(ch) {
|
|
1197
|
-
const combiMap = {
|
|
1171
|
+
function toNonCombining(ch: string): string {
|
|
1172
|
+
const combiMap: Record<string, string> = {
|
|
1198
1173
|
"\u0306": "\u02D8", // breve
|
|
1199
1174
|
"\u032e": "\u02D8", // breve below
|
|
1200
1175
|
"\u0312": "\u00B8", // cedilla
|
|
@@ -1226,16 +1201,15 @@ function toNonCombining(ch) {
|
|
|
1226
1201
|
|
|
1227
1202
|
/**
|
|
1228
1203
|
* Create MathML token attributes based on token settings
|
|
1229
|
-
* @param {Object} options - Token options
|
|
1230
|
-
* @return {Object} Attribute object
|
|
1231
1204
|
*/
|
|
1232
|
-
function tokenAttributes(
|
|
1233
|
-
const
|
|
1205
|
+
function tokenAttributes(options: any): Record<string, string> {
|
|
1206
|
+
const {scr, sty, nor, charToPrint = 0, tokenType} = options
|
|
1207
|
+
const attr: Record<string, string> = {}
|
|
1234
1208
|
|
|
1235
1209
|
if (nor) {
|
|
1236
1210
|
attr.mathvariant = "normal"
|
|
1237
1211
|
} else {
|
|
1238
|
-
let mathvariant
|
|
1212
|
+
let mathvariant: string | undefined
|
|
1239
1213
|
const fontweight = sty === "b" || sty === "bi" ? "bold" : "normal"
|
|
1240
1214
|
const fontstyle = sty === "b" || sty === "p" ? "normal" : "italic"
|
|
1241
1215
|
|
|
@@ -1311,8 +1285,6 @@ function tokenAttributes({scr, sty, nor, charToPrint = 0, tokenType}) {
|
|
|
1311
1285
|
|
|
1312
1286
|
/**
|
|
1313
1287
|
* Create menclose notation attribute value
|
|
1314
|
-
* @param {Object} options - Notation options
|
|
1315
|
-
* @return {Object} The notation attributes
|
|
1316
1288
|
*/
|
|
1317
1289
|
function createMEnclodeNotation({
|
|
1318
1290
|
hideTop,
|
|
@@ -1323,8 +1295,17 @@ function createMEnclodeNotation({
|
|
|
1323
1295
|
strikeV,
|
|
1324
1296
|
strikeBLTR,
|
|
1325
1297
|
strikeTLBR
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1298
|
+
}: {
|
|
1299
|
+
hideTop: boolean
|
|
1300
|
+
hideBot: boolean
|
|
1301
|
+
hideLeft: boolean
|
|
1302
|
+
hideRight: boolean
|
|
1303
|
+
strikeH: boolean
|
|
1304
|
+
strikeV: boolean
|
|
1305
|
+
strikeBLTR: boolean
|
|
1306
|
+
strikeTLBR: boolean
|
|
1307
|
+
}): {notation: string} {
|
|
1308
|
+
const notation: string[] = []
|
|
1328
1309
|
|
|
1329
1310
|
if (!hideTop && !hideBot && !hideLeft && !hideRight) {
|
|
1330
1311
|
notation.push("box")
|
|
@@ -1361,11 +1342,17 @@ function createMEnclodeNotation({
|
|
|
1361
1342
|
|
|
1362
1343
|
/**
|
|
1363
1344
|
* Create mpadded attributes
|
|
1364
|
-
* @param {Object} options - Padding options
|
|
1365
|
-
* @return {Object} The padding attributes
|
|
1366
1345
|
*/
|
|
1367
|
-
function createMPaddedAttr({
|
|
1368
|
-
|
|
1346
|
+
function createMPaddedAttr({
|
|
1347
|
+
zeroWid,
|
|
1348
|
+
zeroAsc,
|
|
1349
|
+
zeroDesc
|
|
1350
|
+
}: {
|
|
1351
|
+
zeroWid: boolean
|
|
1352
|
+
zeroAsc: boolean
|
|
1353
|
+
zeroDesc: boolean
|
|
1354
|
+
}): Record<string, string> {
|
|
1355
|
+
const attr: Record<string, string> = {}
|
|
1369
1356
|
|
|
1370
1357
|
if (zeroWid) {
|
|
1371
1358
|
attr.width = "0in"
|
|
@@ -1382,10 +1369,8 @@ function createMPaddedAttr({zeroWid, zeroAsc, zeroDesc}) {
|
|
|
1382
1369
|
|
|
1383
1370
|
/**
|
|
1384
1371
|
* Get fraction properties
|
|
1385
|
-
* @param {string} type - Fraction type
|
|
1386
|
-
* @return {Object} Fraction attributes
|
|
1387
1372
|
*/
|
|
1388
|
-
function getFracProps(type) {
|
|
1373
|
+
function getFracProps(type: string): Record<string, string> {
|
|
1389
1374
|
if (type === "skw" || type === "lin") {
|
|
1390
1375
|
return {bevelled: "true"}
|
|
1391
1376
|
}
|
|
@@ -1397,10 +1382,8 @@ function getFracProps(type) {
|
|
|
1397
1382
|
|
|
1398
1383
|
/**
|
|
1399
1384
|
* Replace spaces with non-breaking spaces
|
|
1400
|
-
* @param {string} str - The string to process
|
|
1401
|
-
* @return {string} String with non-breaking spaces
|
|
1402
1385
|
*/
|
|
1403
|
-
function nbsp(str) {
|
|
1386
|
+
function nbsp(str: string): string {
|
|
1404
1387
|
if (!str) {
|
|
1405
1388
|
return ""
|
|
1406
1389
|
}
|
|
@@ -1409,28 +1392,25 @@ function nbsp(str) {
|
|
|
1409
1392
|
|
|
1410
1393
|
/**
|
|
1411
1394
|
* Parse a boolean value
|
|
1412
|
-
* @param {string} str - The string to parse
|
|
1413
|
-
* @return {boolean|undefined} The parsed boolean or undefined
|
|
1414
1395
|
*/
|
|
1415
|
-
function tf(str) {
|
|
1396
|
+
function tf(str: unknown): boolean | undefined {
|
|
1416
1397
|
if (str == null) {
|
|
1417
1398
|
return
|
|
1418
1399
|
}
|
|
1419
|
-
|
|
1420
|
-
if (
|
|
1400
|
+
const lower = String(str).toLowerCase()
|
|
1401
|
+
if (lower === "on" || lower === "1" || lower === "true") {
|
|
1421
1402
|
return true
|
|
1422
1403
|
}
|
|
1423
|
-
if (
|
|
1404
|
+
if (lower === "off" || lower === "0" || lower === "false") {
|
|
1424
1405
|
return false
|
|
1425
1406
|
}
|
|
1407
|
+
return undefined
|
|
1426
1408
|
}
|
|
1427
1409
|
|
|
1428
1410
|
/**
|
|
1429
1411
|
* Force a value to be true unless explicitly false
|
|
1430
|
-
* @param {string} str - The string to parse
|
|
1431
|
-
* @return {boolean} True unless the string is explicitly false
|
|
1432
1412
|
*/
|
|
1433
|
-
function forceFalse(str) {
|
|
1413
|
+
function forceFalse(str: unknown): boolean {
|
|
1434
1414
|
const res = tf(str)
|
|
1435
1415
|
if (res === false) {
|
|
1436
1416
|
return false
|
|
@@ -1440,9 +1420,7 @@ function forceFalse(str) {
|
|
|
1440
1420
|
|
|
1441
1421
|
/**
|
|
1442
1422
|
* Force a value to be false unless explicitly true
|
|
1443
|
-
* @param {string} str - The string to parse
|
|
1444
|
-
* @return {boolean} False unless the string is explicitly true
|
|
1445
1423
|
*/
|
|
1446
|
-
function forceTrue(str) {
|
|
1424
|
+
function forceTrue(str: unknown): boolean {
|
|
1447
1425
|
return tf(str) || false
|
|
1448
1426
|
}
|