documents.js 2.0.0 → 2.2.0

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 (91) hide show
  1. package/README.md +49 -29
  2. package/dist/codecs/registry.cjs +14 -0
  3. package/dist/codecs/registry.js +14 -0
  4. package/dist/convert/capability.cjs +10 -0
  5. package/dist/convert/capability.js +10 -0
  6. package/dist/convert/codec.cjs +30 -0
  7. package/dist/convert/codec.d.cts +7 -1
  8. package/dist/convert/codec.d.ts +7 -1
  9. package/dist/convert/codec.js +27 -3
  10. package/dist/convert/composition.cjs +49 -7
  11. package/dist/convert/composition.d.cts +12 -5
  12. package/dist/convert/composition.d.ts +12 -5
  13. package/dist/convert/composition.js +49 -7
  14. package/dist/convert/convert.cjs +48 -0
  15. package/dist/convert/convert.d.cts +30 -1
  16. package/dist/convert/convert.d.ts +30 -1
  17. package/dist/convert/convert.js +37 -1
  18. package/dist/convert/local.cjs +4 -1
  19. package/dist/convert/local.js +4 -1
  20. package/dist/convert/port.cjs +2 -0
  21. package/dist/convert/port.d.cts +5 -0
  22. package/dist/convert/port.d.ts +5 -0
  23. package/dist/convert/port.js +2 -0
  24. package/dist/csv/read.cjs +85 -0
  25. package/dist/csv/read.d.cts +10 -0
  26. package/dist/csv/read.d.ts +10 -0
  27. package/dist/csv/read.js +84 -0
  28. package/dist/csv/records.cjs +85 -0
  29. package/dist/csv/records.d.cts +10 -0
  30. package/dist/csv/records.d.ts +10 -0
  31. package/dist/csv/records.js +80 -0
  32. package/dist/csv/text.cjs +22 -0
  33. package/dist/csv/text.d.cts +8 -0
  34. package/dist/csv/text.d.ts +8 -0
  35. package/dist/csv/text.js +19 -0
  36. package/dist/csv/write.cjs +75 -0
  37. package/dist/csv/write.d.cts +22 -0
  38. package/dist/csv/write.d.ts +22 -0
  39. package/dist/csv/write.js +71 -0
  40. package/dist/edit/odg/scaffold.js +8 -8
  41. package/dist/edit/odp/scaffold.js +8 -8
  42. package/dist/edit/ods/scaffold.js +8 -8
  43. package/dist/edit/odt/scaffold.js +8 -8
  44. package/dist/index.cjs +48 -1
  45. package/dist/index.d.cts +13 -5
  46. package/dist/index.d.ts +13 -5
  47. package/dist/index.js +13 -5
  48. package/dist/layout/reconstruct.cjs +1 -1
  49. package/dist/layout/reconstruct.js +1 -1
  50. package/dist/metadata/write.cjs +2 -0
  51. package/dist/metadata/write.js +2 -0
  52. package/dist/model/bytes.cjs +7 -0
  53. package/dist/model/bytes.d.cts +3 -1
  54. package/dist/model/bytes.d.ts +3 -1
  55. package/dist/model/bytes.js +6 -1
  56. package/dist/odb/csv.cjs +3 -6
  57. package/dist/odb/csv.js +3 -6
  58. package/dist/svg/diagnostics.cjs +19 -0
  59. package/dist/svg/diagnostics.d.cts +10 -0
  60. package/dist/svg/diagnostics.d.ts +10 -0
  61. package/dist/svg/diagnostics.js +18 -0
  62. package/dist/svg/paint.cjs +817 -0
  63. package/dist/svg/paint.d.cts +19 -0
  64. package/dist/svg/paint.d.ts +19 -0
  65. package/dist/svg/paint.js +814 -0
  66. package/dist/svg/path.cjs +337 -0
  67. package/dist/svg/path.d.cts +22 -0
  68. package/dist/svg/path.d.ts +22 -0
  69. package/dist/svg/path.js +336 -0
  70. package/dist/svg/read.cjs +677 -0
  71. package/dist/svg/read.d.cts +12 -0
  72. package/dist/svg/read.d.ts +12 -0
  73. package/dist/svg/read.js +675 -0
  74. package/dist/svg/text.cjs +22 -0
  75. package/dist/svg/text.d.cts +8 -0
  76. package/dist/svg/text.d.ts +8 -0
  77. package/dist/svg/text.js +19 -0
  78. package/dist/svg/transform.cjs +206 -0
  79. package/dist/svg/transform.d.cts +23 -0
  80. package/dist/svg/transform.d.ts +23 -0
  81. package/dist/svg/transform.js +197 -0
  82. package/dist/svg/units.cjs +47 -0
  83. package/dist/svg/units.d.cts +12 -0
  84. package/dist/svg/units.d.ts +12 -0
  85. package/dist/svg/units.js +44 -0
  86. package/dist/svg/write.cjs +127 -0
  87. package/dist/svg/write.d.cts +23 -0
  88. package/dist/svg/write.d.ts +23 -0
  89. package/dist/svg/write.js +123 -0
  90. package/dist/xml/odf-text.js +2 -2
  91. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { flipY } from "./model/geometry.js";
2
- import { DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, XlsxBytesSchema } from "./model/bytes.js";
2
+ import { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema } from "./model/bytes.js";
3
3
  import { resolveMetadataTimestamps } from "./model/metadata.js";
4
4
  import { fixedClock, systemClock } from "./ports/clock.js";
5
5
  import { elementChildren, elementLocalName, firstChildByLocalName, isMathMlElement, localName, textContent } from "./mathml/nodes.js";
@@ -61,13 +61,21 @@ import { readOdpContent } from "./odf/odp/read.js";
61
61
  import { readOdsContent } from "./odf/ods/read.js";
62
62
  import { readOdgContent } from "./odf/odg/read.js";
63
63
  import { decodeMarkdownText, encodeMarkdownText } from "./markdown/text.js";
64
+ import { CsvInvalidUtf8Error, decodeCsvText, encodeCsvText } from "./csv/text.js";
65
+ import { inferCellValue } from "./layout/cell-typing.js";
66
+ import { CsvParseError } from "./csv/records.js";
67
+ import { readCsvContent } from "./csv/read.js";
68
+ import { CsvSheetNotFoundError, CsvSheetNotSpecifiedError, CsvUnsupportedDocumentKindError, buildCsvText } from "./csv/write.js";
69
+ import { SvgInvalidUtf8Error, decodeSvgText, encodeSvgText } from "./svg/text.js";
70
+ import { SvgMissingRootElementError, readSvgContent } from "./svg/read.js";
71
+ import { SvgMultiPageNotSpecifiedError, SvgPageNotFoundError, SvgUnsupportedDocumentKindError, buildSvgText } from "./svg/write.js";
72
+ import { SVG_DIAGNOSTIC_CODES } from "./svg/diagnostics.js";
64
73
  import { MarkdownRenderDiagnosticCodes, renderContentDocumentToMarkdown } from "./markdown/render.js";
65
74
  import { convertWordprocessingToLayout } from "./layout/engine.js";
66
75
  import { convertPresentationToLayout } from "./layout/slides.js";
67
76
  import { throwIfAborted } from "./ports/abort.js";
68
77
  import { convertSpreadsheetToLayout } from "./layout/sheets.js";
69
78
  import { convertDrawingToLayout } from "./layout/drawing.js";
70
- import { inferCellValue } from "./layout/cell-typing.js";
71
79
  import { detectGridLattice } from "./layout/lattice.js";
72
80
  import { reconstructDrawing, reconstructPresentation, reconstructSpreadsheet, reconstructWordprocessing } from "./layout/reconstruct.js";
73
81
  import { HsqldbScriptParseError, displayTextFor, parseHsqldbScript } from "./hsqldb/script.js";
@@ -84,8 +92,8 @@ import { OdbNoEmbeddedDataSourceError, OdbUnsupportedFormatError, readOdbTables
84
92
  import { odbTablesToSpreadsheetDocument } from "./odb/spreadsheet.js";
85
93
  import { DOCUMENT_FORMATS, DocumentFormatSchema } from "./convert/port.js";
86
94
  import { convertDocument, resolveCompositionPlan } from "./convert/composition.js";
87
- import { OdmUnresolvedSectionError, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToMarkdown, xlsxToOds, xlsxToPdf } from "./convert/convert.js";
88
- import { docxPdfCodec, markdownDocxCodec, markdownOdtCodec, markdownPdfCodec, odgPdfCodec, odpPdfCodec, odpPptxCodec, odsPdfCodec, odsXlsxCodec, odtDocxCodec, odtPdfCodec, pptxPdfCodec, xlsxMarkdownCodec, xlsxPdfCodec } from "./convert/codec.js";
95
+ import { OdmUnresolvedSectionError, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odgToSvg, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, svgToOdg, svgToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf } from "./convert/convert.js";
96
+ import { csvMarkdownCodec, csvPdfCodec, docxPdfCodec, markdownDocxCodec, markdownOdtCodec, markdownPdfCodec, odgPdfCodec, odgSvgCodec, odpPdfCodec, odpPptxCodec, odsCsvCodec, odsPdfCodec, odsXlsxCodec, odtDocxCodec, odtPdfCodec, pptxPdfCodec, svgPdfCodec, xlsxCsvCodec, xlsxMarkdownCodec, xlsxPdfCodec } from "./convert/codec.js";
89
97
  import { readOdbForms, readOdbReports } from "./odb/components.js";
90
98
  import { HsqldbSqlEvaluationError, HsqldbSqlParseError, HsqldbSqlUnsupportedError } from "./odb/sql/errors.js";
91
99
  import { evaluateSelect } from "./odb/sql/evaluate.js";
@@ -108,4 +116,4 @@ import { AttributeSchema, BinaryPartSchema, CommentSchema, CompactPackageSchema,
108
116
  import { COLOR_BLACK, CONTENT_FORMAT_VERSION, ContentBlockSchema, ContentCellValueSchema, ContentDocumentSchema, ContentDrawPageSchema, ContentImageBlockSchema, ContentPageBreakSchema, ContentParagraphSchema, ContentPathPointSchema, ContentPathSegmentSchema, ContentRunSchema, ContentSectionSchema, ContentShapeSchema, ContentSheetCellSchema, ContentSheetColumnSchema, ContentSheetPrintRangeSchema, ContentSheetPrintSettingsSchema, ContentSheetRepeatRangeSchema, ContentSheetRowSchema, ContentSheetSchema, ContentSlideSchema, ContentStrokeSchema, ContentSubpathSchema, ContentTableCellSchema, ContentTableRowSchema, ContentTableSchema, ContentVectorSchema, DEFAULT_LAYOUT_FONT, DocumentPackageSchema, LAYOUT_FORMAT_VERSION, LayoutDocumentSchema, PAGE_SIZE_A4, PAGE_SIZE_LETTER, SLIDE_SIZE_STANDARD, SLIDE_SIZE_WIDESCREEN, UnrecognizedDocumentSchemaError, cellReference, columnIndexToLetters, columnLettersToIndex, contentDocumentWithSchema, documentFromJson, documentPackageWithSchema, documentSchemaKindOf, isContentBlock, layoutDocumentWithSchema, parseCellReference, parseRangeReference, rangeReference, rgbHexToColor, schemaUriFor } from "document-schema.js";
109
117
  import { readOdbForm, readOdbInventory, readOdbReport, resolveOdbComponent } from "odf.js";
110
118
  import { FontFaceParseError, NOOP_DIAGNOSTIC_SINK, PdfEncryptedError, PdfParseError, createFontMeasurer, createFontRegistry, createStandardFontMeasurer, loadMathFont, pdfCodec, readFontFace as describeFontFace, readPdf, writePdf } from "pdf-codec";
111
- export { AttributeSchema, BinaryPartSchema, COLOR_BLACK, CONTENT_FORMAT_VERSION, CommentSchema, CompactPackageSchema, CompactPartSchema, CompactXmlNodeSchema, ContentBlockSchema, ContentCellValueSchema, ContentDocumentSchema, ContentDrawPageSchema, ContentImageBlockSchema, ContentPageBreakSchema, ContentParagraphSchema, ContentPathPointSchema, ContentPathSegmentSchema, ContentRunSchema, ContentSectionSchema, ContentShapeSchema, ContentSheetCellSchema, ContentSheetColumnSchema, ContentSheetPrintRangeSchema, ContentSheetPrintSettingsSchema, ContentSheetRepeatRangeSchema, ContentSheetRowSchema, ContentSheetSchema, ContentSlideSchema, ContentStrokeSchema, ContentSubpathSchema, ContentTableCellSchema, ContentTableRowSchema, ContentTableSchema, ContentVectorSchema, DEFAULT_LAYOUT_FONT, DOCUMENT_FORMATS, DefinedNameSchema, DocumentFormatSchema, DocumentPackageSchema, DocxBytesSchema, DocxEditor, DocxParagraph, DocxRun, DocxTable, DocxTableCell, DocxTableRow, SUPPORTED_BACKUP_FORMAT_VERSION as FIREBIRD_SUPPORTED_BACKUP_FORMAT_VERSION, FirebirdBackupFormatError, FirebirdBackupParseError, FirebirdCompositeRecordUnsupportedError, FirebirdDataParseError, FirebirdSchemaParseError, FirebirdUnsupportedFieldTypeError, FontDeobfuscationError, FontFaceParseError, FootnoteSchema, HsqldbBinaryScriptParseError, HsqldbRowFormatError, HsqldbScriptParseError, HsqldbSqlEvaluationError, HsqldbSqlParseError, HsqldbSqlUnsupportedError, LAYOUT_FORMAT_VERSION, LayoutDocumentSchema, MarkdownBytesSchema, MarkdownEditor, MarkdownList, MarkdownParagraph, MarkdownRenderDiagnosticCodes, MarkdownRun, MarkdownTable, MarkdownTableCell, MarkdownTableRow, NOOP_DIAGNOSTIC_SINK, NumberingDefinitionSchema, NumberingLevelSchema, OdbNoEmbeddedDataSourceError, OdbReportDataSourceError, OdbReportNotSpecifiedError, OdbTableNotFoundError, OdbTableNotSpecifiedError, OdbUnsupportedFormatError, OdfEmbeddedFontError, OdgBoxVector, OdgBytesSchema, OdgEditor, OdgLineVector, OdgPage, OdgPathVector, OdmUnresolvedSectionError, OdpBytesSchema, OdpEditor, OdpShape, OdpSlide, OdsBytesSchema, OdsCell, OdsEditor, OdsSheet, OdtBytesSchema, OdtEditor, OdtList, OdtListItem, OdtParagraph, OdtRun, OdtTable, OdtTableCell, OdtTableRow, OoxmlEmbeddedFontError, PAGE_SIZE_A4, PAGE_SIZE_LETTER, PackageSchema, PartSchema, PdfBytesSchema, PdfEditor, PdfEllipseItem, PdfEncryptedError, PdfImageItem, PdfLineItem, PdfLinkItem, PdfPage, PdfParseError, PdfPathItem, PdfRectItem, PdfTextItem, PptxBytesSchema, PptxEditor, PptxShape, PptxSlide, PptxTable, PptxTableCell, PptxTableRow, RptFormulaEvaluationError, RptFormulaParseError, RptFormulaUnsupportedError, RptReportStructureError, SLIDE_SIZE_STANDARD, SLIDE_SIZE_WIDESCREEN, UnrecognizedDocumentSchemaError, UnsupportedFontSourceFormatError, UnsupportedPackageFormatError, XlsxBytesSchema, XmlCdataSchema, XmlCommentSchema, XmlDeclarationSchema, XmlElementSchema, XmlNodeSchema, XmlPartSchema, XmlPiSchema, XmlTextSchema, applyMathVariant, attr, base64ToBytes, buildDocumentBytes, buildDocxPackage, buildDrawingBlock, buildFormulaBlock, buildMarkdownText, buildOdgPackage, buildOdpPackage, buildOdsPackage, buildOdtPackage, buildOfficeMath, buildOfficeMathParagraph, buildPptxPackage, buildXlsxPackage, buildXml, bytesToBase64, cellReference, childrenWithTag, collectOfficeMathElements, columnIndexToLetters, columnLettersToIndex, compactCodec, compactPackageCodec, contentDocumentWithSchema, convertDocument, convertDrawingToLayout, convertPresentationToLayout, convertSpreadsheetToLayout, convertWordprocessingToLayout, createDocumentFontRegistry, createDocx, createFontMeasurer, createFontRegistry, createLocalDocumentConverter, createMarkdownEditor, createOdg, createOdp, createOds, createOdt, createPdf, createPptx, createStandardFontMeasurer, decodeCompactPackage, decodeDocumentPackage, decodeEntities, decodeHsqldbCachedTables, decodeMarkdownText, decodeOdbPackage, decodePackage, deobfuscateEmbeddedFont, deriveFontKey, describeFontFace, detectGridLattice, documentFromJson, documentPackageWithSchema, documentSchemaKindOf, docxPdfCodec, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, drawingOfBlock, elementChildren, elementLocalName, elementsWithTag, encodeCompactPackage, encodeDocumentPackage, encodeMarkdownText, encodePackage, evaluateRptBandOutsideData, evaluateSelect, extractOdfEmbeddedFonts, extractOoxmlEmbeddedFonts, extractSourceFonts, extractSourceFontsForFormat, firstChildByLocalName, fixedClock, flipY, formulaDocument, formulaOfBlock, formulaPlaceholderText, fromCompact, displayTextFor as hsqldbCellDisplayText, inferCellValue, inflateHsqldbCompressedScript, isCompactXmlNode, isContentBlock, isMathMlElement, isMathVariant, isXmlNode, layoutDocumentFromPackage, layoutDocumentWithSchema, layoutFormula, loadMathFont, localName, looksLikeSfnt, mapMathVariant, markdownDocxCodec, markdownOdtCodec, markdownPdfCodec, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, textContent as mathMlTextContent, odbReportCommandSql, odbReportGroupChain, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbTablesToSpreadsheetDocument, odbToCsv, odbToXlsx, odfToPdf, odgPdfCodec, odgToPdf, odmToPdf, odpPdfCodec, odpPptxCodec, odpToOdt, odpToPdf, odpToPptx, odsPdfCodec, odsToPdf, odsToXlsx, odsXlsxCodec, odtDocxCodec, odtPdfCodec, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, openDocx, openMarkdown, openOdg, openOdp, openOds, openOdt, openPdf, openPptx, operatorProperties, packageCodec, parseCellReference, parseHsqldbBinaryScript, parseHsqldbScript, parsePackage, parseRangeReference, parseRptFormula, parseSelect, parseXml, pdfCodec, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxPdfCodec, pptxToDocx, pptxToOdp, pptxToPdf, rangeReference, readDocumentMetadata, readDocxContent, readDocxExtras, readFirebirdBackup, readMarkdownContent, readOdbForm, readOdbForms, readOdbInventory, readOdbReport, readOdbReportContent, readOdbReports, readOdbTables, readOdfEmbeddedFormula, readOdfFormulaContent, readOdgContent, readOdpContent, readOdsContent, readOdtContent, readOfficeMath, readPdf, readPptxContent, readXlsxContent, reconstructDrawing, reconstructPresentation, reconstructSpreadsheet, reconstructWordprocessing, renderContentDocumentToMarkdown, renderOdbReportContent, resolveCompositionPlan, resolveMetadataTimestamps, resolveOdbComponent, resolveOdbReportRows, resolveRelationships, rgbHexToColor, rootElement, rptBandDefinition, rptDefinitionFromReport, runRptReport, schemaUriFor, serializePackage, setDocumentMetadata, systemClock, textContent$1 as textContent, throwIfAborted, toCompact, tokenizeSql, unzipPackage, walk, writePdf, xlsxMarkdownCodec, xlsxPdfCodec, xlsxToMarkdown, xlsxToOds, xlsxToPdf, xmlCodec, zipPackage };
119
+ export { AttributeSchema, BinaryPartSchema, COLOR_BLACK, CONTENT_FORMAT_VERSION, CommentSchema, CompactPackageSchema, CompactPartSchema, CompactXmlNodeSchema, ContentBlockSchema, ContentCellValueSchema, ContentDocumentSchema, ContentDrawPageSchema, ContentImageBlockSchema, ContentPageBreakSchema, ContentParagraphSchema, ContentPathPointSchema, ContentPathSegmentSchema, ContentRunSchema, ContentSectionSchema, ContentShapeSchema, ContentSheetCellSchema, ContentSheetColumnSchema, ContentSheetPrintRangeSchema, ContentSheetPrintSettingsSchema, ContentSheetRepeatRangeSchema, ContentSheetRowSchema, ContentSheetSchema, ContentSlideSchema, ContentStrokeSchema, ContentSubpathSchema, ContentTableCellSchema, ContentTableRowSchema, ContentTableSchema, ContentVectorSchema, CsvBytesSchema, CsvInvalidUtf8Error, CsvParseError, CsvSheetNotFoundError, CsvSheetNotSpecifiedError, CsvUnsupportedDocumentKindError, DEFAULT_LAYOUT_FONT, DOCUMENT_FORMATS, DefinedNameSchema, DocumentFormatSchema, DocumentPackageSchema, DocxBytesSchema, DocxEditor, DocxParagraph, DocxRun, DocxTable, DocxTableCell, DocxTableRow, SUPPORTED_BACKUP_FORMAT_VERSION as FIREBIRD_SUPPORTED_BACKUP_FORMAT_VERSION, FirebirdBackupFormatError, FirebirdBackupParseError, FirebirdCompositeRecordUnsupportedError, FirebirdDataParseError, FirebirdSchemaParseError, FirebirdUnsupportedFieldTypeError, FontDeobfuscationError, FontFaceParseError, FootnoteSchema, HsqldbBinaryScriptParseError, HsqldbRowFormatError, HsqldbScriptParseError, HsqldbSqlEvaluationError, HsqldbSqlParseError, HsqldbSqlUnsupportedError, LAYOUT_FORMAT_VERSION, LayoutDocumentSchema, MarkdownBytesSchema, MarkdownEditor, MarkdownList, MarkdownParagraph, MarkdownRenderDiagnosticCodes, MarkdownRun, MarkdownTable, MarkdownTableCell, MarkdownTableRow, NOOP_DIAGNOSTIC_SINK, NumberingDefinitionSchema, NumberingLevelSchema, OdbNoEmbeddedDataSourceError, OdbReportDataSourceError, OdbReportNotSpecifiedError, OdbTableNotFoundError, OdbTableNotSpecifiedError, OdbUnsupportedFormatError, OdfEmbeddedFontError, OdgBoxVector, OdgBytesSchema, OdgEditor, OdgLineVector, OdgPage, OdgPathVector, OdmUnresolvedSectionError, OdpBytesSchema, OdpEditor, OdpShape, OdpSlide, OdsBytesSchema, OdsCell, OdsEditor, OdsSheet, OdtBytesSchema, OdtEditor, OdtList, OdtListItem, OdtParagraph, OdtRun, OdtTable, OdtTableCell, OdtTableRow, OoxmlEmbeddedFontError, PAGE_SIZE_A4, PAGE_SIZE_LETTER, PackageSchema, PartSchema, PdfBytesSchema, PdfEditor, PdfEllipseItem, PdfEncryptedError, PdfImageItem, PdfLineItem, PdfLinkItem, PdfPage, PdfParseError, PdfPathItem, PdfRectItem, PdfTextItem, PptxBytesSchema, PptxEditor, PptxShape, PptxSlide, PptxTable, PptxTableCell, PptxTableRow, RptFormulaEvaluationError, RptFormulaParseError, RptFormulaUnsupportedError, RptReportStructureError, SLIDE_SIZE_STANDARD, SLIDE_SIZE_WIDESCREEN, SVG_DIAGNOSTIC_CODES, SvgBytesSchema, SvgInvalidUtf8Error, SvgMissingRootElementError, SvgMultiPageNotSpecifiedError, SvgPageNotFoundError, SvgUnsupportedDocumentKindError, UnrecognizedDocumentSchemaError, UnsupportedFontSourceFormatError, UnsupportedPackageFormatError, XlsxBytesSchema, XmlCdataSchema, XmlCommentSchema, XmlDeclarationSchema, XmlElementSchema, XmlNodeSchema, XmlPartSchema, XmlPiSchema, XmlTextSchema, applyMathVariant, attr, base64ToBytes, buildCsvText, buildDocumentBytes, buildDocxPackage, buildDrawingBlock, buildFormulaBlock, buildMarkdownText, buildOdgPackage, buildOdpPackage, buildOdsPackage, buildOdtPackage, buildOfficeMath, buildOfficeMathParagraph, buildPptxPackage, buildSvgText, buildXlsxPackage, buildXml, bytesToBase64, cellReference, childrenWithTag, collectOfficeMathElements, columnIndexToLetters, columnLettersToIndex, compactCodec, compactPackageCodec, contentDocumentWithSchema, convertDocument, convertDrawingToLayout, convertPresentationToLayout, convertSpreadsheetToLayout, convertWordprocessingToLayout, createDocumentFontRegistry, createDocx, createFontMeasurer, createFontRegistry, createLocalDocumentConverter, createMarkdownEditor, createOdg, createOdp, createOds, createOdt, createPdf, createPptx, createStandardFontMeasurer, csvMarkdownCodec, csvPdfCodec, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, decodeCompactPackage, decodeCsvText, decodeDocumentPackage, decodeEntities, decodeHsqldbCachedTables, decodeMarkdownText, decodeOdbPackage, decodePackage, decodeSvgText, deobfuscateEmbeddedFont, deriveFontKey, describeFontFace, detectGridLattice, documentFromJson, documentPackageWithSchema, documentSchemaKindOf, docxPdfCodec, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, drawingOfBlock, elementChildren, elementLocalName, elementsWithTag, encodeCompactPackage, encodeCsvText, encodeDocumentPackage, encodeMarkdownText, encodePackage, encodeSvgText, evaluateRptBandOutsideData, evaluateSelect, extractOdfEmbeddedFonts, extractOoxmlEmbeddedFonts, extractSourceFonts, extractSourceFontsForFormat, firstChildByLocalName, fixedClock, flipY, formulaDocument, formulaOfBlock, formulaPlaceholderText, fromCompact, displayTextFor as hsqldbCellDisplayText, inferCellValue, inflateHsqldbCompressedScript, isCompactXmlNode, isContentBlock, isMathMlElement, isMathVariant, isXmlNode, layoutDocumentFromPackage, layoutDocumentWithSchema, layoutFormula, loadMathFont, localName, looksLikeSfnt, mapMathVariant, markdownDocxCodec, markdownOdtCodec, markdownPdfCodec, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, textContent as mathMlTextContent, odbReportCommandSql, odbReportGroupChain, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbTablesToSpreadsheetDocument, odbToCsv, odbToXlsx, odfToPdf, odgPdfCodec, odgSvgCodec, odgToPdf, odgToSvg, odmToPdf, odpPdfCodec, odpPptxCodec, odpToOdt, odpToPdf, odpToPptx, odsCsvCodec, odsPdfCodec, odsToCsv, odsToPdf, odsToXlsx, odsXlsxCodec, odtDocxCodec, odtPdfCodec, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, openDocx, openMarkdown, openOdg, openOdp, openOds, openOdt, openPdf, openPptx, operatorProperties, packageCodec, parseCellReference, parseHsqldbBinaryScript, parseHsqldbScript, parsePackage, parseRangeReference, parseRptFormula, parseSelect, parseXml, pdfCodec, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, pptxPdfCodec, pptxToDocx, pptxToOdp, pptxToPdf, rangeReference, readCsvContent, readDocumentMetadata, readDocxContent, readDocxExtras, readFirebirdBackup, readMarkdownContent, readOdbForm, readOdbForms, readOdbInventory, readOdbReport, readOdbReportContent, readOdbReports, readOdbTables, readOdfEmbeddedFormula, readOdfFormulaContent, readOdgContent, readOdpContent, readOdsContent, readOdtContent, readOfficeMath, readPdf, readPptxContent, readSvgContent, readXlsxContent, reconstructDrawing, reconstructPresentation, reconstructSpreadsheet, reconstructWordprocessing, renderContentDocumentToMarkdown, renderOdbReportContent, resolveCompositionPlan, resolveMetadataTimestamps, resolveOdbComponent, resolveOdbReportRows, resolveRelationships, rgbHexToColor, rootElement, rptBandDefinition, rptDefinitionFromReport, runRptReport, schemaUriFor, serializePackage, setDocumentMetadata, svgPdfCodec, svgToOdg, svgToPdf, systemClock, textContent$1 as textContent, throwIfAborted, toCompact, tokenizeSql, unzipPackage, walk, writePdf, xlsxCsvCodec, xlsxMarkdownCodec, xlsxPdfCodec, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf, xmlCodec, zipPackage };
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_model_geometry = require("../model/geometry.cjs");
3
3
  const require_model_embedded_drawing = require("../model/embedded-drawing.cjs");
4
+ const require_layout_cell_typing = require("./cell-typing.cjs");
4
5
  const require_layout_shared = require("./shared.cjs");
5
6
  const require_ports_abort = require("../ports/abort.cjs");
6
- const require_layout_cell_typing = require("./cell-typing.cjs");
7
7
  const require_layout_lattice = require("./lattice.cjs");
8
8
  let document_schema_js = require("document-schema.js");
9
9
  let pdf_codec = require("pdf-codec");
@@ -1,8 +1,8 @@
1
1
  import { flipY } from "../model/geometry.js";
2
2
  import { buildDrawingBlock } from "../model/embedded-drawing.js";
3
+ import { inferCellValue } from "./cell-typing.js";
3
4
  import { stampFrame } from "./shared.js";
4
5
  import { throwIfAborted } from "../ports/abort.js";
5
- import { inferCellValue } from "./cell-typing.js";
6
6
  import { detectGridLattice, findColumnIndex, findRowIndex } from "./lattice.js";
7
7
  import { CONTENT_FORMAT_VERSION } from "document-schema.js";
8
8
  import { STANDARD_METRICS, resolveStandardFont } from "pdf-codec";
@@ -38,6 +38,8 @@ function mergeMetadata(current, overrides) {
38
38
  function classifyWritePath(source, target) {
39
39
  if (source === "pdf" && target === "pdf") return { kind: "pdf" };
40
40
  if (target === "odf" || source === "odf") return { errorMessage: "'odf' (a standalone formula document) is not a supported setDocumentMetadata source or target -- it has no write path back out at all" };
41
+ if (target === "csv" || source === "csv") return { errorMessage: "'csv' is not a supported setDocumentMetadata source or target -- RFC 4180 text has no metadata container, so a rebuild would silently drop the override. Convert to or from csv first, then patch metadata on the package format." };
42
+ if (target === "svg" || source === "svg") return { errorMessage: "'svg' is not a supported setDocumentMetadata source or target -- this package's SVG metadata surface is the root <title> element alone, so an author/subject/keywords override would be silently dropped by the rebuild. Convert to or from svg first, then patch metadata on the package format." };
41
43
  if (!isRebuildFormat(source) || !isRebuildFormat(target)) return { errorMessage: `setDocumentMetadata only patches metadata in place; it does not convert format -- source ('${source}') and target ('${target}') must be the same format (or both 'pdf'). Convert first if you need a different target format.` };
42
44
  if (source !== target) return { errorMessage: `setDocumentMetadata only patches metadata in place; it does not convert format -- source ('${source}') and target ('${target}') must be the same format. Convert first if you need a different target format.` };
43
45
  return {
@@ -37,6 +37,8 @@ function mergeMetadata(current, overrides) {
37
37
  function classifyWritePath(source, target) {
38
38
  if (source === "pdf" && target === "pdf") return { kind: "pdf" };
39
39
  if (target === "odf" || source === "odf") return { errorMessage: "'odf' (a standalone formula document) is not a supported setDocumentMetadata source or target -- it has no write path back out at all" };
40
+ if (target === "csv" || source === "csv") return { errorMessage: "'csv' is not a supported setDocumentMetadata source or target -- RFC 4180 text has no metadata container, so a rebuild would silently drop the override. Convert to or from csv first, then patch metadata on the package format." };
41
+ if (target === "svg" || source === "svg") return { errorMessage: "'svg' is not a supported setDocumentMetadata source or target -- this package's SVG metadata surface is the root <title> element alone, so an author/subject/keywords override would be silently dropped by the rebuild. Convert to or from svg first, then patch metadata on the package format." };
40
42
  if (!isRebuildFormat(source) || !isRebuildFormat(target)) return { errorMessage: `setDocumentMetadata only patches metadata in place; it does not convert format -- source ('${source}') and target ('${target}') must be the same format (or both 'pdf'). Convert first if you need a different target format.` };
41
43
  if (source !== target) return { errorMessage: `setDocumentMetadata only patches metadata in place; it does not convert format -- source ('${source}') and target ('${target}') must be the same format. Convert first if you need a different target format.` };
42
44
  return {
@@ -89,7 +89,13 @@ function isWellFormedUtf8Text(bytes) {
89
89
  }
90
90
  }
91
91
  const MarkdownBytesSchema = zod.z.instanceof(Uint8Array).refine(isWellFormedUtf8Text, { message: "not well-formed UTF-8 text" });
92
+ const CsvBytesSchema = zod.z.instanceof(Uint8Array).refine(isWellFormedUtf8Text, { message: "not well-formed UTF-8 text" });
93
+ const SvgBytesSchema = zod.z.instanceof(Uint8Array).refine((bytes) => {
94
+ if (!isWellFormedUtf8Text(bytes)) return false;
95
+ return new TextDecoder().decode(bytes).toLowerCase().includes("<svg");
96
+ }, { message: "not a valid SVG file: not well-formed UTF-8 text containing an <svg root element" });
92
97
  //#endregion
98
+ exports.CsvBytesSchema = CsvBytesSchema;
93
99
  exports.DocxBytesSchema = DocxBytesSchema;
94
100
  exports.MarkdownBytesSchema = MarkdownBytesSchema;
95
101
  exports.OdgBytesSchema = OdgBytesSchema;
@@ -98,4 +104,5 @@ exports.OdsBytesSchema = OdsBytesSchema;
98
104
  exports.OdtBytesSchema = OdtBytesSchema;
99
105
  exports.PdfBytesSchema = PdfBytesSchema;
100
106
  exports.PptxBytesSchema = PptxBytesSchema;
107
+ exports.SvgBytesSchema = SvgBytesSchema;
101
108
  exports.XlsxBytesSchema = XlsxBytesSchema;
@@ -9,5 +9,7 @@ declare const OdsBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<Ar
9
9
  declare const OdpBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
10
10
  declare const OdgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
11
11
  declare const MarkdownBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
+ declare const CsvBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
13
+ declare const SvgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
14
  //#endregion
13
- export { DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, XlsxBytesSchema };
15
+ export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema };
@@ -9,5 +9,7 @@ declare const OdsBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<Ar
9
9
  declare const OdpBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
10
10
  declare const OdgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
11
11
  declare const MarkdownBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
+ declare const CsvBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
13
+ declare const SvgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
14
  //#endregion
13
- export { DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, XlsxBytesSchema };
15
+ export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema };
@@ -88,5 +88,10 @@ function isWellFormedUtf8Text(bytes) {
88
88
  }
89
89
  }
90
90
  const MarkdownBytesSchema = z.instanceof(Uint8Array).refine(isWellFormedUtf8Text, { message: "not well-formed UTF-8 text" });
91
+ const CsvBytesSchema = z.instanceof(Uint8Array).refine(isWellFormedUtf8Text, { message: "not well-formed UTF-8 text" });
92
+ const SvgBytesSchema = z.instanceof(Uint8Array).refine((bytes) => {
93
+ if (!isWellFormedUtf8Text(bytes)) return false;
94
+ return new TextDecoder().decode(bytes).toLowerCase().includes("<svg");
95
+ }, { message: "not a valid SVG file: not well-formed UTF-8 text containing an <svg root element" });
91
96
  //#endregion
92
- export { DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, XlsxBytesSchema };
97
+ export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema };
package/dist/odb/csv.cjs CHANGED
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_csv_records = require("../csv/records.cjs");
2
3
  const require_hsqldb_script = require("../hsqldb/script.cjs");
3
4
  //#region src/odb/csv.ts
4
5
  var OdbTableNotSpecifiedError = class extends Error {
@@ -19,10 +20,6 @@ var OdbTableNotFoundError = class extends Error {
19
20
  this.availableTables = availableTables;
20
21
  }
21
22
  };
22
- const CSV_QUOTE_NEEDED_RE = /[",\n\r]/;
23
- function csvField(value) {
24
- return CSV_QUOTE_NEEDED_RE.test(value) ? `"${value.replace(/"/g, "\"\"")}"` : value;
25
- }
26
23
  function selectTable(tables, tableName) {
27
24
  const availableNames = tables.map((table) => table.tableName);
28
25
  if (tableName !== void 0) {
@@ -38,8 +35,8 @@ function selectTable(tables, tableName) {
38
35
  }
39
36
  function buildOdbTableCsv(tables, tableName) {
40
37
  const table = selectTable(tables, tableName);
41
- const lines = [table.columns.map((column) => csvField(column.name)).join(",")];
42
- for (const row of table.rows) lines.push(row.map((cell) => csvField(require_hsqldb_script.displayTextFor(cell))).join(","));
38
+ const lines = [table.columns.map((column) => require_csv_records.quoteCsvField(column.name)).join(",")];
39
+ for (const row of table.rows) lines.push(row.map((cell) => require_csv_records.quoteCsvField(require_hsqldb_script.displayTextFor(cell))).join(","));
43
40
  return new TextEncoder().encode(`${lines.join("\r\n")}\r\n`);
44
41
  }
45
42
  //#endregion
package/dist/odb/csv.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { quoteCsvField } from "../csv/records.js";
1
2
  import { displayTextFor } from "../hsqldb/script.js";
2
3
  //#region src/odb/csv.ts
3
4
  var OdbTableNotSpecifiedError = class extends Error {
@@ -18,10 +19,6 @@ var OdbTableNotFoundError = class extends Error {
18
19
  this.availableTables = availableTables;
19
20
  }
20
21
  };
21
- const CSV_QUOTE_NEEDED_RE = /[",\n\r]/;
22
- function csvField(value) {
23
- return CSV_QUOTE_NEEDED_RE.test(value) ? `"${value.replace(/"/g, "\"\"")}"` : value;
24
- }
25
22
  function selectTable(tables, tableName) {
26
23
  const availableNames = tables.map((table) => table.tableName);
27
24
  if (tableName !== void 0) {
@@ -37,8 +34,8 @@ function selectTable(tables, tableName) {
37
34
  }
38
35
  function buildOdbTableCsv(tables, tableName) {
39
36
  const table = selectTable(tables, tableName);
40
- const lines = [table.columns.map((column) => csvField(column.name)).join(",")];
41
- for (const row of table.rows) lines.push(row.map((cell) => csvField(displayTextFor(cell))).join(","));
37
+ const lines = [table.columns.map((column) => quoteCsvField(column.name)).join(",")];
38
+ for (const row of table.rows) lines.push(row.map((cell) => quoteCsvField(displayTextFor(cell))).join(","));
42
39
  return new TextEncoder().encode(`${lines.join("\r\n")}\r\n`);
43
40
  }
44
41
  //#endregion
@@ -0,0 +1,19 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/svg/diagnostics.ts
3
+ const SVG_DIAGNOSTIC_CODES = [
4
+ "svg/text-unsupported",
5
+ "svg/image-unsupported",
6
+ "svg/use-unsupported",
7
+ "svg/gradient-unsupported",
8
+ "svg/element-unsupported",
9
+ "svg/element-skipped",
10
+ "svg/css-style-ignored",
11
+ "svg/paint-unsupported",
12
+ "svg/opacity-ignored",
13
+ "svg/preserve-aspect-ratio-stretched",
14
+ "svg/default-size-assumed",
15
+ "svg/shape-unsupported",
16
+ "svg/stroke-style-unsupported"
17
+ ];
18
+ //#endregion
19
+ exports.SVG_DIAGNOSTIC_CODES = SVG_DIAGNOSTIC_CODES;
@@ -0,0 +1,10 @@
1
+ //#region src/svg/diagnostics.d.ts
2
+ declare const SVG_DIAGNOSTIC_CODES: readonly ["svg/text-unsupported", "svg/image-unsupported", "svg/use-unsupported", "svg/gradient-unsupported", "svg/element-unsupported", "svg/element-skipped", "svg/css-style-ignored", "svg/paint-unsupported", "svg/opacity-ignored", "svg/preserve-aspect-ratio-stretched", "svg/default-size-assumed", "svg/shape-unsupported", "svg/stroke-style-unsupported"];
3
+ type SvgDiagnosticCode = (typeof SVG_DIAGNOSTIC_CODES)[number];
4
+ interface SvgDiagnostic {
5
+ readonly code: SvgDiagnosticCode;
6
+ readonly detail?: string;
7
+ }
8
+ type SvgDiagnosticSink = (diagnostic: SvgDiagnostic) => void;
9
+ //#endregion
10
+ export { SVG_DIAGNOSTIC_CODES, SvgDiagnostic, SvgDiagnosticCode, SvgDiagnosticSink };
@@ -0,0 +1,10 @@
1
+ //#region src/svg/diagnostics.d.ts
2
+ declare const SVG_DIAGNOSTIC_CODES: readonly ["svg/text-unsupported", "svg/image-unsupported", "svg/use-unsupported", "svg/gradient-unsupported", "svg/element-unsupported", "svg/element-skipped", "svg/css-style-ignored", "svg/paint-unsupported", "svg/opacity-ignored", "svg/preserve-aspect-ratio-stretched", "svg/default-size-assumed", "svg/shape-unsupported", "svg/stroke-style-unsupported"];
3
+ type SvgDiagnosticCode = (typeof SVG_DIAGNOSTIC_CODES)[number];
4
+ interface SvgDiagnostic {
5
+ readonly code: SvgDiagnosticCode;
6
+ readonly detail?: string;
7
+ }
8
+ type SvgDiagnosticSink = (diagnostic: SvgDiagnostic) => void;
9
+ //#endregion
10
+ export { SVG_DIAGNOSTIC_CODES, SvgDiagnostic, SvgDiagnosticCode, SvgDiagnosticSink };
@@ -0,0 +1,18 @@
1
+ //#region src/svg/diagnostics.ts
2
+ const SVG_DIAGNOSTIC_CODES = [
3
+ "svg/text-unsupported",
4
+ "svg/image-unsupported",
5
+ "svg/use-unsupported",
6
+ "svg/gradient-unsupported",
7
+ "svg/element-unsupported",
8
+ "svg/element-skipped",
9
+ "svg/css-style-ignored",
10
+ "svg/paint-unsupported",
11
+ "svg/opacity-ignored",
12
+ "svg/preserve-aspect-ratio-stretched",
13
+ "svg/default-size-assumed",
14
+ "svg/shape-unsupported",
15
+ "svg/stroke-style-unsupported"
16
+ ];
17
+ //#endregion
18
+ export { SVG_DIAGNOSTIC_CODES };