@cj-tech-master/excelts 1.6.3 → 2.0.0-canary.20251228013952.4f2c3c6
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/README.md +139 -24
- package/README_zh.md +140 -26
- package/dist/browser/excelts.esm.js +18468 -0
- package/dist/browser/excelts.esm.js.map +1 -0
- package/dist/browser/excelts.esm.min.js +125 -0
- package/dist/browser/excelts.iife.js +13107 -47146
- package/dist/browser/excelts.iife.js.map +1 -1
- package/dist/browser/excelts.iife.min.js +24 -106
- package/dist/cjs/csv/csv-core.js +701 -0
- package/dist/cjs/csv/csv-stream.js +646 -0
- package/dist/cjs/csv/csv.base.js +137 -0
- package/dist/cjs/csv/csv.browser.js +68 -0
- package/dist/cjs/csv/csv.js +218 -162
- package/dist/cjs/doc/anchor.js +2 -2
- package/dist/cjs/doc/cell.js +22 -22
- package/dist/cjs/doc/column.js +28 -7
- package/dist/cjs/doc/data-validations.js +3 -3
- package/dist/cjs/doc/defined-names.js +13 -13
- package/dist/cjs/doc/image.js +7 -7
- package/dist/cjs/doc/modelcontainer.js +2 -2
- package/dist/cjs/doc/note.js +2 -2
- package/dist/cjs/doc/pivot-table.js +5 -5
- package/dist/cjs/doc/range.js +11 -11
- package/dist/cjs/doc/row.js +16 -16
- package/dist/cjs/doc/table.js +5 -5
- package/dist/cjs/doc/workbook.base.js +211 -0
- package/dist/cjs/doc/workbook.browser.js +62 -0
- package/dist/cjs/doc/workbook.js +68 -179
- package/dist/cjs/doc/worksheet.js +45 -41
- package/dist/cjs/index.js +49 -32
- package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
- package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
- package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
- package/dist/cjs/stream/xlsx/workbook-reader.js +22 -22
- package/dist/cjs/stream/xlsx/workbook-writer.js +38 -38
- package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
- package/dist/cjs/stream/xlsx/worksheet-writer.js +67 -60
- package/dist/cjs/utils/browser-buffer.js +75 -0
- package/dist/cjs/utils/cell-format.js +2 -2
- package/dist/cjs/utils/cell-matrix.js +5 -5
- package/dist/cjs/utils/datetime.js +499 -0
- package/dist/cjs/utils/encryptor.browser.js +240 -0
- package/dist/cjs/utils/parse-sax.js +1191 -13
- package/dist/cjs/utils/shared-formula.js +5 -5
- package/dist/cjs/utils/sheet-utils.js +13 -13
- package/dist/cjs/utils/stream-buf.browser.js +355 -0
- package/dist/cjs/utils/stream-buf.js +5 -5
- package/dist/cjs/utils/unzip/extract.js +11 -11
- package/dist/cjs/utils/unzip/index.js +21 -21
- package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
- package/dist/cjs/utils/unzip/parse.js +16 -16
- package/dist/cjs/utils/unzip/zip-parser.js +14 -3
- package/dist/cjs/utils/utils.base.js +161 -0
- package/dist/cjs/utils/utils.browser.js +89 -0
- package/dist/cjs/utils/utils.js +46 -154
- package/dist/cjs/utils/xml-stream.js +3 -3
- package/dist/cjs/utils/zip/compress.base.js +88 -0
- package/dist/cjs/utils/zip/compress.browser.js +127 -0
- package/dist/cjs/utils/zip/compress.js +18 -198
- package/dist/cjs/utils/zip/crc32.browser.js +88 -0
- package/dist/cjs/utils/zip/deflate-fallback.js +575 -0
- package/dist/cjs/utils/zip/index.js +17 -17
- package/dist/cjs/utils/zip/streaming-zip.js +264 -0
- package/dist/cjs/utils/zip/zip-builder.js +10 -10
- package/dist/cjs/utils/zip-stream.browser.js +135 -0
- package/dist/cjs/utils/zip-stream.js +4 -4
- package/dist/cjs/xlsx/xform/base-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
- package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
- package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
- package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
- package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
- package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
- package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
- package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
- package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
- package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
- package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
- package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
- package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
- package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
- package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
- package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
- package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
- package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
- package/dist/cjs/xlsx/xform/list-xform.js +2 -2
- package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
- package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
- package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
- package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
- package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
- package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
- package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
- package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
- package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
- package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/col-breaks-xform.js +38 -0
- package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
- package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
- package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
- package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +15 -3
- package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +15 -17
- package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
- package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
- package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
- package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
- package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +75 -70
- package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
- package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
- package/dist/cjs/xlsx/xform/static-xform.js +4 -4
- package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
- package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
- package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
- package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
- package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
- package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
- package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
- package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
- package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
- package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
- package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
- package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
- package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
- package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
- package/dist/cjs/xlsx/xlsx.base.js +742 -0
- package/dist/cjs/xlsx/xlsx.browser.js +162 -0
- package/dist/cjs/xlsx/xlsx.js +118 -892
- package/dist/esm/csv/csv-core.js +694 -0
- package/dist/esm/csv/csv-stream.js +638 -0
- package/dist/esm/csv/csv.base.js +127 -0
- package/dist/esm/csv/csv.browser.js +65 -0
- package/dist/esm/csv/csv.js +181 -159
- package/dist/esm/doc/column.js +21 -0
- package/dist/esm/doc/workbook.base.js +207 -0
- package/dist/esm/doc/workbook.browser.js +59 -0
- package/dist/esm/doc/workbook.js +64 -175
- package/dist/esm/doc/worksheet.js +4 -0
- package/dist/esm/index.browser.js +33 -1
- package/dist/esm/index.js +23 -8
- package/dist/esm/local.js +0 -1
- package/dist/esm/stream/xlsx/workbook-writer.js +1 -1
- package/dist/esm/stream/xlsx/worksheet-writer.js +8 -1
- package/dist/esm/utils/browser-buffer.js +67 -0
- package/dist/esm/utils/datetime.js +493 -0
- package/dist/esm/utils/encryptor.browser.js +237 -0
- package/dist/esm/utils/parse-sax.js +1188 -12
- package/dist/esm/utils/stream-buf.browser.js +352 -0
- package/dist/esm/utils/unzip/zip-parser.js +11 -0
- package/dist/esm/utils/utils.base.js +142 -0
- package/dist/esm/utils/utils.browser.js +68 -0
- package/dist/esm/utils/utils.js +15 -123
- package/dist/esm/utils/zip/compress.base.js +83 -0
- package/dist/esm/utils/zip/compress.browser.js +121 -0
- package/dist/esm/utils/zip/compress.js +16 -164
- package/dist/esm/utils/zip/crc32.browser.js +82 -0
- package/dist/esm/utils/zip/deflate-fallback.js +570 -0
- package/dist/esm/utils/zip/streaming-zip.js +259 -0
- package/dist/esm/utils/zip-stream.browser.js +132 -0
- package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
- package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
- package/dist/esm/xlsx/xform/sheet/col-breaks-xform.js +35 -0
- package/dist/esm/xlsx/xform/sheet/page-breaks-xform.js +13 -1
- package/dist/esm/xlsx/xform/sheet/row-breaks-xform.js +11 -13
- package/dist/esm/xlsx/xform/sheet/worksheet-xform.js +7 -2
- package/dist/esm/xlsx/xlsx.base.js +739 -0
- package/dist/esm/xlsx/xlsx.browser.js +159 -0
- package/dist/esm/xlsx/xlsx.js +114 -888
- package/dist/types/csv/csv-core.d.ts +207 -0
- package/dist/types/csv/csv-stream.d.ts +114 -0
- package/dist/types/csv/csv.base.d.ts +62 -0
- package/dist/types/csv/csv.browser.d.ts +33 -0
- package/dist/types/csv/csv.d.ts +97 -71
- package/dist/types/doc/anchor.d.ts +1 -1
- package/dist/types/doc/cell.d.ts +7 -7
- package/dist/types/doc/column.d.ts +9 -3
- package/dist/types/doc/defined-names.d.ts +4 -4
- package/dist/types/doc/image.d.ts +2 -2
- package/dist/types/doc/modelcontainer.d.ts +1 -1
- package/dist/types/doc/pivot-table.d.ts +1 -1
- package/dist/types/doc/range.d.ts +1 -1
- package/dist/types/doc/row.d.ts +3 -3
- package/dist/types/doc/table.d.ts +2 -2
- package/dist/types/doc/workbook.base.d.ts +111 -0
- package/dist/types/doc/workbook.browser.d.ts +38 -0
- package/dist/types/doc/workbook.d.ts +62 -92
- package/dist/types/doc/worksheet.d.ts +12 -10
- package/dist/types/index.browser.d.ts +19 -5
- package/dist/types/index.d.ts +24 -23
- package/dist/types/local.d.ts +0 -1
- package/dist/types/stream/xlsx/hyperlink-reader.d.ts +1 -1
- package/dist/types/stream/xlsx/workbook-reader.d.ts +4 -4
- package/dist/types/stream/xlsx/workbook-writer.d.ts +7 -7
- package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
- package/dist/types/stream/xlsx/worksheet-writer.d.ts +11 -9
- package/dist/types/types.d.ts +6 -0
- package/dist/types/utils/browser-buffer.d.ts +28 -0
- package/dist/types/utils/col-cache.d.ts +1 -1
- package/dist/types/utils/datetime.d.ts +56 -0
- package/dist/types/utils/encryptor.browser.d.ts +28 -0
- package/dist/types/utils/parse-sax.d.ts +108 -1
- package/dist/types/utils/sheet-utils.d.ts +3 -3
- package/dist/types/utils/stream-buf.browser.d.ts +41 -0
- package/dist/types/utils/unzip/extract.d.ts +6 -6
- package/dist/types/utils/unzip/index.d.ts +8 -8
- package/dist/types/utils/unzip/parse.d.ts +3 -3
- package/dist/types/utils/unzip/zip-parser.d.ts +5 -0
- package/dist/types/utils/utils.base.d.ts +29 -0
- package/dist/types/utils/utils.browser.d.ts +29 -0
- package/dist/types/utils/utils.d.ts +6 -25
- package/dist/types/utils/zip/compress.base.d.ts +45 -0
- package/dist/types/utils/zip/compress.browser.d.ts +63 -0
- package/dist/types/utils/zip/compress.d.ts +13 -45
- package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
- package/dist/types/utils/zip/deflate-fallback.d.ts +39 -0
- package/dist/types/utils/zip/index.d.ts +5 -5
- package/dist/types/utils/zip/streaming-zip.d.ts +96 -0
- package/dist/types/utils/zip/zip-builder.d.ts +1 -1
- package/dist/types/utils/zip-stream.browser.d.ts +39 -0
- package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
- package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
- package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +5 -1
- package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +5 -1
- package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
- package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
- package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
- package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
- package/dist/types/xlsx/xlsx.base.d.ts +134 -0
- package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
- package/dist/types/xlsx/xlsx.d.ts +20 -80
- package/package.json +16 -39
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-performance native date parsing and formatting utilities
|
|
3
|
+
*
|
|
4
|
+
* Zero external dependencies. Optimized for CSV batch processing.
|
|
5
|
+
* Uses character code operations and lookup tables for maximum speed.
|
|
6
|
+
*/
|
|
7
|
+
/** Supported date format strings */
|
|
8
|
+
export type DateFormat = "YYYY-MM-DD[T]HH:mm:ssZ" | "YYYY-MM-DD[T]HH:mm:ss" | "YYYY-MM-DD[T]HH:mm:ss.SSSZ" | "YYYY-MM-DD" | "YYYY-MM-DD HH:mm:ss" | "MM-DD-YYYY" | "MM-DD-YYYY HH:mm:ss" | "MM/DD/YYYY HH:mm:ss" | "DD-MM-YYYY" | "DD-MM-YYYY HH:mm:ss" | "DD/MM/YYYY HH:mm:ss";
|
|
9
|
+
/**
|
|
10
|
+
* Optimized date parser for batch processing
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const parser = DateParser.create(["YYYY-MM-DD"]);
|
|
14
|
+
* const dates = parser.parseAll(csvStrings);
|
|
15
|
+
*/
|
|
16
|
+
export declare class DateParser {
|
|
17
|
+
private readonly fns;
|
|
18
|
+
private readonly single;
|
|
19
|
+
private readonly fn0;
|
|
20
|
+
private constructor();
|
|
21
|
+
/** Create parser for specific formats */
|
|
22
|
+
static create(formats: readonly DateFormat[]): DateParser;
|
|
23
|
+
/** Create parser for auto-detecting ISO formats */
|
|
24
|
+
static iso(): DateParser;
|
|
25
|
+
/** Parse single value */
|
|
26
|
+
parse: (value: string) => Date | null;
|
|
27
|
+
/** Parse array of values */
|
|
28
|
+
parseAll(values: string[]): (Date | null)[];
|
|
29
|
+
/** Parse and filter valid dates */
|
|
30
|
+
parseValid(values: string[]): Date[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Optimized date formatter for batch processing
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const formatter = DateFormatter.create("YYYY-MM-DD", { utc: true });
|
|
37
|
+
* const strings = formatter.formatAll(dates);
|
|
38
|
+
*/
|
|
39
|
+
export declare class DateFormatter {
|
|
40
|
+
private readonly fn;
|
|
41
|
+
private constructor();
|
|
42
|
+
/** Create ISO formatter (fastest) */
|
|
43
|
+
static iso(utc?: boolean): DateFormatter;
|
|
44
|
+
/** Create custom format formatter */
|
|
45
|
+
static create(format: string, options?: {
|
|
46
|
+
utc?: boolean;
|
|
47
|
+
}): DateFormatter;
|
|
48
|
+
/** Generic formatter for arbitrary formats */
|
|
49
|
+
private static createGeneric;
|
|
50
|
+
/** Format single date */
|
|
51
|
+
format: (date: Date) => string;
|
|
52
|
+
/** Format array of dates */
|
|
53
|
+
formatAll(dates: Date[]): string[];
|
|
54
|
+
}
|
|
55
|
+
/** Get supported format strings */
|
|
56
|
+
export declare function getSupportedFormats(): DateFormat[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-compatible Encryptor with pure JS SHA implementations
|
|
3
|
+
* This provides synchronous hash functions for browser compatibility
|
|
4
|
+
*/
|
|
5
|
+
import { BrowserBuffer } from "./browser-buffer";
|
|
6
|
+
declare const Encryptor: {
|
|
7
|
+
/**
|
|
8
|
+
* Calculate a hash of the concatenated buffers with the given algorithm.
|
|
9
|
+
* @param algorithm - The hash algorithm.
|
|
10
|
+
* @returns The hash as Uint8Array
|
|
11
|
+
*/
|
|
12
|
+
hash(algorithm: string, ...buffers: Uint8Array[]): Uint8Array;
|
|
13
|
+
/**
|
|
14
|
+
* Convert a password into an encryption key
|
|
15
|
+
* @param password - The password
|
|
16
|
+
* @param hashAlgorithm - The hash algorithm
|
|
17
|
+
* @param saltValue - The salt value (base64 encoded)
|
|
18
|
+
* @param spinCount - The spin count
|
|
19
|
+
* @returns The encryption key (base64 encoded)
|
|
20
|
+
*/
|
|
21
|
+
convertPasswordToHash(password: string, hashAlgorithm: string, saltValue: string, spinCount: number): string;
|
|
22
|
+
/**
|
|
23
|
+
* Generates cryptographically strong pseudo-random data.
|
|
24
|
+
* @param size The size argument is a number indicating the number of bytes to generate.
|
|
25
|
+
*/
|
|
26
|
+
randomBytes(size: number): BrowserBuffer;
|
|
27
|
+
};
|
|
28
|
+
export { Encryptor };
|
|
@@ -1,6 +1,113 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* High-performance SAX XML parser
|
|
3
|
+
*
|
|
4
|
+
* Minimal implementation optimized for Excel XML parsing.
|
|
5
|
+
* Supports: opentag, text, closetag, error events.
|
|
6
|
+
* Zero external dependencies.
|
|
7
|
+
*
|
|
8
|
+
* Based on XML 1.0 specification with optimizations for common Excel XML patterns.
|
|
9
|
+
*/
|
|
10
|
+
export interface SaxEvent {
|
|
2
11
|
eventType: "opentag" | "text" | "closetag";
|
|
3
12
|
value: any;
|
|
4
13
|
}
|
|
14
|
+
export interface SaxesTagPlain {
|
|
15
|
+
name: string;
|
|
16
|
+
attributes: Record<string, string>;
|
|
17
|
+
isSelfClosing: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface SaxesOptions {
|
|
20
|
+
xmlns?: boolean;
|
|
21
|
+
position?: boolean;
|
|
22
|
+
fileName?: string;
|
|
23
|
+
fragment?: boolean;
|
|
24
|
+
}
|
|
25
|
+
type TextHandler = (text: string) => void;
|
|
26
|
+
type OpenTagHandler = (tag: SaxesTagPlain) => void;
|
|
27
|
+
type CloseTagHandler = (tag: SaxesTagPlain) => void;
|
|
28
|
+
type ErrorHandler = (err: Error) => void;
|
|
29
|
+
export declare class SaxesParser {
|
|
30
|
+
private trackPosition;
|
|
31
|
+
private fileName?;
|
|
32
|
+
private fragment;
|
|
33
|
+
private state;
|
|
34
|
+
private chunk;
|
|
35
|
+
private i;
|
|
36
|
+
private prevI;
|
|
37
|
+
private text;
|
|
38
|
+
private name;
|
|
39
|
+
private q;
|
|
40
|
+
private tags;
|
|
41
|
+
private tag;
|
|
42
|
+
private attribList;
|
|
43
|
+
private entity;
|
|
44
|
+
private entityReturnState;
|
|
45
|
+
private openWakaBang;
|
|
46
|
+
private sawRoot;
|
|
47
|
+
private closedRoot;
|
|
48
|
+
private carriedFromPrevious?;
|
|
49
|
+
private _closed;
|
|
50
|
+
private reportedTextBeforeRoot;
|
|
51
|
+
private reportedTextAfterRoot;
|
|
52
|
+
line: number;
|
|
53
|
+
column: number;
|
|
54
|
+
private positionAtNewLine;
|
|
55
|
+
private chunkPosition;
|
|
56
|
+
ENTITIES: Record<string, string>;
|
|
57
|
+
private textHandler?;
|
|
58
|
+
private openTagHandler?;
|
|
59
|
+
private closeTagHandler?;
|
|
60
|
+
private errorHandler?;
|
|
61
|
+
constructor(opt?: SaxesOptions);
|
|
62
|
+
get closed(): boolean;
|
|
63
|
+
get position(): number;
|
|
64
|
+
private _init;
|
|
65
|
+
on(name: "text", handler: TextHandler): void;
|
|
66
|
+
on(name: "opentag", handler: OpenTagHandler): void;
|
|
67
|
+
on(name: "closetag", handler: CloseTagHandler): void;
|
|
68
|
+
on(name: "error", handler: ErrorHandler): void;
|
|
69
|
+
off(name: string): void;
|
|
70
|
+
private makeError;
|
|
71
|
+
fail(message: string): this;
|
|
72
|
+
write(chunk: string | null): this;
|
|
73
|
+
close(): this;
|
|
74
|
+
private getCode;
|
|
75
|
+
private unget;
|
|
76
|
+
private processState;
|
|
77
|
+
private sText;
|
|
78
|
+
private handleTextInRoot;
|
|
79
|
+
private handleTextOutsideRoot;
|
|
80
|
+
private sOpenWaka;
|
|
81
|
+
private sOpenWakaBang;
|
|
82
|
+
private sOpenTag;
|
|
83
|
+
private sOpenTagSlash;
|
|
84
|
+
private sAttrib;
|
|
85
|
+
private sAttribName;
|
|
86
|
+
private sAttribNameSawWhite;
|
|
87
|
+
private sAttribValue;
|
|
88
|
+
private sAttribValueQuoted;
|
|
89
|
+
private sAttribValueClosed;
|
|
90
|
+
private sCloseTag;
|
|
91
|
+
private sCloseTagSawWhite;
|
|
92
|
+
private sComment;
|
|
93
|
+
private sCommentEnding;
|
|
94
|
+
private sCommentEnded;
|
|
95
|
+
private sCData;
|
|
96
|
+
private sCDataEnding;
|
|
97
|
+
private sCDataEnding2;
|
|
98
|
+
private sPI;
|
|
99
|
+
private sPIEnding;
|
|
100
|
+
private sDoctype;
|
|
101
|
+
private sDoctypeQuote;
|
|
102
|
+
private sDoctypeDTD;
|
|
103
|
+
private sDoctypeDTDQuoted;
|
|
104
|
+
private sEntity;
|
|
105
|
+
private parseEntity;
|
|
106
|
+
private skipSpaces;
|
|
107
|
+
private openTag;
|
|
108
|
+
private openSelfClosingTag;
|
|
109
|
+
private closeTag;
|
|
110
|
+
private end;
|
|
111
|
+
}
|
|
5
112
|
declare function parseSax(iterable: any): AsyncGenerator<SaxEvent[]>;
|
|
6
113
|
export { parseSax };
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Utility functions for ExcelTS
|
|
3
3
|
* Provides convenient helper functions for common spreadsheet operations
|
|
4
4
|
*/
|
|
5
|
-
import { Workbook } from "../doc/workbook
|
|
6
|
-
import type { Worksheet } from "../doc/worksheet
|
|
7
|
-
import type { CellValue } from "../types
|
|
5
|
+
import { Workbook } from "../doc/workbook";
|
|
6
|
+
import type { Worksheet } from "../doc/worksheet";
|
|
7
|
+
import type { CellValue } from "../types";
|
|
8
8
|
/**
|
|
9
9
|
* Cell address object (0-indexed)
|
|
10
10
|
*/
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface StreamBufOptions {
|
|
2
|
+
bufSize?: number;
|
|
3
|
+
batch?: boolean;
|
|
4
|
+
}
|
|
5
|
+
type EventCallback = (...args: any[]) => void;
|
|
6
|
+
declare class StreamBuf {
|
|
7
|
+
private bufSize;
|
|
8
|
+
private buffers;
|
|
9
|
+
private batch;
|
|
10
|
+
private corked;
|
|
11
|
+
private paused;
|
|
12
|
+
private encoding;
|
|
13
|
+
private pipes;
|
|
14
|
+
private events;
|
|
15
|
+
constructor(options?: StreamBufOptions);
|
|
16
|
+
on(event: string, callback: EventCallback): this;
|
|
17
|
+
once(event: string, callback: EventCallback): this;
|
|
18
|
+
off(event: string, callback: EventCallback): this;
|
|
19
|
+
emit(event: string, ...args: any[]): boolean;
|
|
20
|
+
removeListener(event: string, callback: EventCallback): this;
|
|
21
|
+
toBuffer(): Uint8Array | null;
|
|
22
|
+
private _getWritableBuffer;
|
|
23
|
+
private _pipe;
|
|
24
|
+
private _writeToBuffers;
|
|
25
|
+
write(data: any, encoding?: BufferEncoding | Function, callback?: Function): Promise<boolean>;
|
|
26
|
+
cork(): void;
|
|
27
|
+
private _flush;
|
|
28
|
+
uncork(): void;
|
|
29
|
+
end(chunk?: any, encoding?: BufferEncoding, callback?: Function): void;
|
|
30
|
+
read(size?: number): Uint8Array;
|
|
31
|
+
setEncoding(encoding: string): void;
|
|
32
|
+
pause(): void;
|
|
33
|
+
resume(): void;
|
|
34
|
+
isPaused(): boolean;
|
|
35
|
+
pipe(destination: any): any;
|
|
36
|
+
unpipe(destination: any): void;
|
|
37
|
+
unshift(): void;
|
|
38
|
+
wrap(): void;
|
|
39
|
+
push(chunk: any): boolean;
|
|
40
|
+
}
|
|
41
|
+
export { StreamBuf };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Provides easy-to-use Promise-based API for extracting ZIP files
|
|
4
4
|
* Works in both Node.js and browser environments
|
|
5
5
|
*/
|
|
6
|
-
import { type ZipEntryInfo } from "./zip-parser
|
|
6
|
+
import { type ZipEntryInfo } from "./zip-parser";
|
|
7
7
|
/**
|
|
8
8
|
* Extracted file entry
|
|
9
9
|
*/
|
|
@@ -25,7 +25,7 @@ export interface ExtractedFile {
|
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
27
|
* ```ts
|
|
28
|
-
* import { extractAll } from "./utils/unzip/extract
|
|
28
|
+
* import { extractAll } from "./utils/unzip/extract";
|
|
29
29
|
*
|
|
30
30
|
* const zipData = fs.readFileSync("archive.zip");
|
|
31
31
|
* const files = await extractAll(zipData);
|
|
@@ -45,7 +45,7 @@ export declare function extractAll(zipData: Uint8Array | ArrayBuffer): Promise<M
|
|
|
45
45
|
*
|
|
46
46
|
* @example
|
|
47
47
|
* ```ts
|
|
48
|
-
* import { extractFile } from "./utils/unzip/extract
|
|
48
|
+
* import { extractFile } from "./utils/unzip/extract";
|
|
49
49
|
*
|
|
50
50
|
* const zipData = fs.readFileSync("archive.zip");
|
|
51
51
|
* const content = await extractFile(zipData, "readme.txt");
|
|
@@ -63,7 +63,7 @@ export declare function extractFile(zipData: Uint8Array | ArrayBuffer, filePath:
|
|
|
63
63
|
*
|
|
64
64
|
* @example
|
|
65
65
|
* ```ts
|
|
66
|
-
* import { listFiles } from "./utils/unzip/extract
|
|
66
|
+
* import { listFiles } from "./utils/unzip/extract";
|
|
67
67
|
*
|
|
68
68
|
* const zipData = fs.readFileSync("archive.zip");
|
|
69
69
|
* const paths = await listFiles(zipData);
|
|
@@ -79,7 +79,7 @@ export declare function listFiles(zipData: Uint8Array | ArrayBuffer): Promise<st
|
|
|
79
79
|
*
|
|
80
80
|
* @example
|
|
81
81
|
* ```ts
|
|
82
|
-
* import { forEachEntry } from "./utils/unzip/extract
|
|
82
|
+
* import { forEachEntry } from "./utils/unzip/extract";
|
|
83
83
|
*
|
|
84
84
|
* await forEachEntry(zipData, async (path, getData) => {
|
|
85
85
|
* if (path.endsWith(".xml")) {
|
|
@@ -91,4 +91,4 @@ export declare function listFiles(zipData: Uint8Array | ArrayBuffer): Promise<st
|
|
|
91
91
|
* ```
|
|
92
92
|
*/
|
|
93
93
|
export declare function forEachEntry(zipData: Uint8Array | ArrayBuffer, callback: (path: string, getData: () => Promise<Uint8Array>, entry: ZipEntryInfo) => Promise<boolean | void>): Promise<void>;
|
|
94
|
-
export { ZipParser, type ZipEntryInfo, type ZipParseOptions } from "./zip-parser
|
|
94
|
+
export { ZipParser, type ZipEntryInfo, type ZipParseOptions } from "./zip-parser";
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
* Original source: https://github.com/ZJONSSON/node-unzipper
|
|
18
18
|
* License: MIT
|
|
19
19
|
*/
|
|
20
|
-
export { Parse, createParse, type ParseOptions, type ZipEntry } from "./parse
|
|
21
|
-
export { PullStream } from "./pull-stream
|
|
22
|
-
export { NoopStream } from "./noop-stream
|
|
23
|
-
export { bufferStream } from "./buffer-stream
|
|
24
|
-
export { parse as parseBuffer } from "./parse-buffer
|
|
25
|
-
export { parseDateTime } from "./parse-datetime
|
|
26
|
-
export { parseExtraField, type ExtraField, type ZipVars } from "./parse-extra-field
|
|
27
|
-
export { extractAll, extractFile, listFiles, forEachEntry, ZipParser, type ExtractedFile, type ZipEntryInfo, type ZipParseOptions } from "./extract
|
|
20
|
+
export { Parse, createParse, type ParseOptions, type ZipEntry } from "./parse";
|
|
21
|
+
export { PullStream } from "./pull-stream";
|
|
22
|
+
export { NoopStream } from "./noop-stream";
|
|
23
|
+
export { bufferStream } from "./buffer-stream";
|
|
24
|
+
export { parse as parseBuffer } from "./parse-buffer";
|
|
25
|
+
export { parseDateTime } from "./parse-datetime";
|
|
26
|
+
export { parseExtraField, type ExtraField, type ZipVars } from "./parse-extra-field";
|
|
27
|
+
export { extractAll, extractFile, listFiles, forEachEntry, ZipParser, type ExtractedFile, type ZipEntryInfo, type ZipParseOptions } from "./extract";
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* Commits in this fork are (c) Ziggy Jonsson (ziggy.jonsson.nyc@gmail.com)
|
|
7
7
|
*/
|
|
8
8
|
import { PassThrough } from "stream";
|
|
9
|
-
import { PullStream } from "./pull-stream
|
|
10
|
-
import { NoopStream } from "./noop-stream
|
|
11
|
-
import { type ExtraField } from "./parse-extra-field
|
|
9
|
+
import { PullStream } from "./pull-stream";
|
|
10
|
+
import { NoopStream } from "./noop-stream";
|
|
11
|
+
import { type ExtraField } from "./parse-extra-field";
|
|
12
12
|
export interface ParseOptions {
|
|
13
13
|
verbose?: boolean;
|
|
14
14
|
forceStream?: boolean;
|
|
@@ -85,6 +85,11 @@ export declare class ZipParser {
|
|
|
85
85
|
* Extract all files (async)
|
|
86
86
|
*/
|
|
87
87
|
extractAll(): Promise<Map<string, Uint8Array>>;
|
|
88
|
+
/**
|
|
89
|
+
* Extract all files (sync, Node.js only)
|
|
90
|
+
* Returns object with file paths as keys and Uint8Array content as values
|
|
91
|
+
*/
|
|
92
|
+
extractAllSync(): Record<string, Uint8Array>;
|
|
88
93
|
/**
|
|
89
94
|
* Iterate over entries with async callback
|
|
90
95
|
*/
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base utility functions shared between Node.js and Browser
|
|
3
|
+
* Platform-independent implementations only
|
|
4
|
+
*/
|
|
5
|
+
export declare function delay(ms: number): Promise<void>;
|
|
6
|
+
export declare function nop(): void;
|
|
7
|
+
export declare const inherits: <T extends new (...args: any[]) => any, S extends new (...args: any[]) => any>(cls: T, superCtor: S, statics?: any, prototype?: any) => void;
|
|
8
|
+
export declare function dateToExcel(d: Date, date1904?: boolean): number;
|
|
9
|
+
export declare function excelToDate(v: number, date1904?: boolean): Date;
|
|
10
|
+
export declare function toIsoDateString(dt: Date): string;
|
|
11
|
+
interface PathInfo {
|
|
12
|
+
path: string;
|
|
13
|
+
name: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function parsePath(filepath: string): PathInfo;
|
|
16
|
+
export declare function getRelsPath(filepath: string): string;
|
|
17
|
+
export declare function xmlDecode(text: string): string;
|
|
18
|
+
export declare function validInt(value: string | number): number;
|
|
19
|
+
export declare function isDateFmt(fmt: string | null | undefined): boolean;
|
|
20
|
+
export declare function parseBoolean(value: any): boolean;
|
|
21
|
+
export declare function range(start: number, stop: number, step?: number): Generator<number>;
|
|
22
|
+
export declare function toSortedArray(values: Iterable<any>): any[];
|
|
23
|
+
export declare function objectFromProps<T = any>(props: string[], value?: T | null): Record<string, T | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Convert a Buffer, ArrayBuffer, or Uint8Array to a UTF-8 string
|
|
26
|
+
* Works in both Node.js and browser environments
|
|
27
|
+
*/
|
|
28
|
+
export declare function bufferToString(chunk: ArrayBuffer | Uint8Array | string): string;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser utility functions
|
|
3
|
+
* Re-exports shared utilities and adds browser-specific implementations
|
|
4
|
+
*/
|
|
5
|
+
export { delay, nop, inherits, dateToExcel, excelToDate, toIsoDateString, parsePath, getRelsPath, xmlDecode, validInt, isDateFmt, parseBoolean, range, toSortedArray, objectFromProps, bufferToString } from "./utils.base";
|
|
6
|
+
export declare function xmlEncode(text: string): string;
|
|
7
|
+
export declare function fileExists(_path: string): Promise<boolean>;
|
|
8
|
+
import { nop, dateToExcel, excelToDate, parsePath, getRelsPath, xmlDecode, validInt, isDateFmt, toIsoDateString, parseBoolean, range, toSortedArray, objectFromProps } from "./utils.base";
|
|
9
|
+
/** @deprecated Import functions directly instead of using the utils object */
|
|
10
|
+
export declare const utils: {
|
|
11
|
+
nop: typeof nop;
|
|
12
|
+
inherits: <T extends new (...args: any[]) => any, S extends new (...args: any[]) => any>(cls: T, superCtor: S, statics?: any, prototype?: any) => void;
|
|
13
|
+
dateToExcel: typeof dateToExcel;
|
|
14
|
+
excelToDate: typeof excelToDate;
|
|
15
|
+
parsePath: typeof parsePath;
|
|
16
|
+
getRelsPath: typeof getRelsPath;
|
|
17
|
+
xmlEncode: typeof xmlEncode;
|
|
18
|
+
xmlDecode: typeof xmlDecode;
|
|
19
|
+
validInt: typeof validInt;
|
|
20
|
+
isDateFmt: typeof isDateFmt;
|
|
21
|
+
fs: {
|
|
22
|
+
exists: typeof fileExists;
|
|
23
|
+
};
|
|
24
|
+
toIsoDateString: typeof toIsoDateString;
|
|
25
|
+
parseBoolean: typeof parseBoolean;
|
|
26
|
+
range: typeof range;
|
|
27
|
+
toSortedArray: typeof toSortedArray;
|
|
28
|
+
objectFromProps: typeof objectFromProps;
|
|
29
|
+
};
|
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
name: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function dateToExcel(d: Date, date1904?: boolean): number;
|
|
9
|
-
export declare function excelToDate(v: number, date1904?: boolean): Date;
|
|
10
|
-
export declare function parsePath(filepath: string): PathInfo;
|
|
11
|
-
export declare function getRelsPath(filepath: string): string;
|
|
1
|
+
/**
|
|
2
|
+
* Node.js utility functions
|
|
3
|
+
* Re-exports shared utilities and adds Node.js-specific implementations
|
|
4
|
+
*/
|
|
5
|
+
export { delay, nop, inherits, dateToExcel, excelToDate, toIsoDateString, parsePath, getRelsPath, xmlDecode, validInt, isDateFmt, parseBoolean, range, toSortedArray, objectFromProps, bufferToString } from "./utils.base";
|
|
12
6
|
export declare function xmlEncode(text: string): string;
|
|
13
|
-
export declare function xmlDecode(text: string): string;
|
|
14
|
-
export declare function validInt(value: string | number): number;
|
|
15
|
-
export declare function isDateFmt(fmt: string | null | undefined): boolean;
|
|
16
7
|
export declare function fileExists(path: string): Promise<boolean>;
|
|
17
|
-
|
|
18
|
-
export declare function parseBoolean(value: any): boolean;
|
|
19
|
-
export declare function range(start: number, stop: number, step?: number): Generator<number>;
|
|
20
|
-
export declare function toSortedArray(values: Iterable<any>): any[];
|
|
21
|
-
export declare function objectFromProps<T = any>(props: string[], value?: T | null): Record<string, T | null>;
|
|
8
|
+
import { nop, dateToExcel, excelToDate, parsePath, getRelsPath, xmlDecode, validInt, isDateFmt, toIsoDateString, parseBoolean, range, toSortedArray, objectFromProps } from "./utils.base";
|
|
22
9
|
/** @deprecated Import functions directly instead of using the utils object */
|
|
23
10
|
export declare const utils: {
|
|
24
11
|
nop: typeof nop;
|
|
@@ -40,9 +27,3 @@ export declare const utils: {
|
|
|
40
27
|
toSortedArray: typeof toSortedArray;
|
|
41
28
|
objectFromProps: typeof objectFromProps;
|
|
42
29
|
};
|
|
43
|
-
/**
|
|
44
|
-
* Convert a Buffer or ArrayBuffer to a UTF-8 string
|
|
45
|
-
* Works in both Node.js and browser environments
|
|
46
|
-
*/
|
|
47
|
-
export declare function bufferToString(chunk: Buffer | ArrayBuffer | string): string;
|
|
48
|
-
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base compression utilities using Web Streams API
|
|
3
|
+
* Shared between Node.js and Browser implementations
|
|
4
|
+
*
|
|
5
|
+
* Uses CompressionStream/DecompressionStream API with "deflate-raw" format
|
|
6
|
+
* (raw DEFLATE without zlib header/trailer, required for ZIP files)
|
|
7
|
+
*
|
|
8
|
+
* Browser fallback: For browsers without deflate-raw support (Firefox < 113, Safari < 16.4),
|
|
9
|
+
* see deflate-fallback.ts for pure JS implementation
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Compression options
|
|
13
|
+
*/
|
|
14
|
+
export interface CompressOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Compression level (0-9)
|
|
17
|
+
* - 0: No compression (STORE)
|
|
18
|
+
* - 1: Fastest compression
|
|
19
|
+
* - 6: Default compression (good balance)
|
|
20
|
+
* - 9: Best compression (slowest)
|
|
21
|
+
*
|
|
22
|
+
* Note: CompressionStream does not support level configuration,
|
|
23
|
+
* it uses a fixed level (~6)
|
|
24
|
+
*/
|
|
25
|
+
level?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if CompressionStream is available
|
|
29
|
+
*/
|
|
30
|
+
export declare function hasCompressionStream(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Compress using CompressionStream API
|
|
33
|
+
* Uses "deflate-raw" format (required for ZIP files)
|
|
34
|
+
*
|
|
35
|
+
* @param data - Data to compress
|
|
36
|
+
* @returns Compressed data
|
|
37
|
+
*/
|
|
38
|
+
export declare function compressWithStream(data: Uint8Array): Promise<Uint8Array>;
|
|
39
|
+
/**
|
|
40
|
+
* Decompress using DecompressionStream API
|
|
41
|
+
*
|
|
42
|
+
* @param data - Compressed data (deflate-raw format)
|
|
43
|
+
* @returns Decompressed data
|
|
44
|
+
*/
|
|
45
|
+
export declare function decompressWithStream(data: Uint8Array): Promise<Uint8Array>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser compression utilities
|
|
3
|
+
*
|
|
4
|
+
* Primary: CompressionStream API (Chrome 103+, Firefox 113+, Safari 16.4+)
|
|
5
|
+
* Fallback: Pure JS DEFLATE implementation for older browsers
|
|
6
|
+
*
|
|
7
|
+
* Supported browsers with fallback:
|
|
8
|
+
* - Chrome >= 85
|
|
9
|
+
* - Firefox >= 79
|
|
10
|
+
* - Safari >= 14
|
|
11
|
+
* - Edge >= 85
|
|
12
|
+
*/
|
|
13
|
+
import { type CompressOptions } from "./compress.base";
|
|
14
|
+
export { type CompressOptions };
|
|
15
|
+
/**
|
|
16
|
+
* Check if CompressionStream with "deflate-raw" is available
|
|
17
|
+
* Note: Chrome 80-102 has CompressionStream but not deflate-raw support
|
|
18
|
+
*/
|
|
19
|
+
export declare function hasCompressionStream(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Check if native zlib is available (always false in browser)
|
|
22
|
+
*/
|
|
23
|
+
export declare function hasNativeZlib(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Compress data using browser's native CompressionStream or JS fallback
|
|
26
|
+
*
|
|
27
|
+
* @param data - Data to compress
|
|
28
|
+
* @param options - Compression options
|
|
29
|
+
* @returns Compressed data
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* const data = new TextEncoder().encode("Hello, World!");
|
|
34
|
+
* const compressed = await compress(data, { level: 6 });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function compress(data: Uint8Array, options?: {
|
|
38
|
+
level?: number;
|
|
39
|
+
}): Promise<Uint8Array>;
|
|
40
|
+
/**
|
|
41
|
+
* Compress data synchronously using pure JS implementation
|
|
42
|
+
*
|
|
43
|
+
* @param data - Data to compress
|
|
44
|
+
* @param options - Compression options
|
|
45
|
+
* @returns Compressed data
|
|
46
|
+
*/
|
|
47
|
+
export declare function compressSync(data: Uint8Array, options?: {
|
|
48
|
+
level?: number;
|
|
49
|
+
}): Uint8Array;
|
|
50
|
+
/**
|
|
51
|
+
* Decompress data using browser's native DecompressionStream or JS fallback
|
|
52
|
+
*
|
|
53
|
+
* @param data - Compressed data (deflate-raw format)
|
|
54
|
+
* @returns Decompressed data
|
|
55
|
+
*/
|
|
56
|
+
export declare function decompress(data: Uint8Array): Promise<Uint8Array>;
|
|
57
|
+
/**
|
|
58
|
+
* Decompress data synchronously using pure JS implementation
|
|
59
|
+
*
|
|
60
|
+
* @param data - Compressed data (deflate-raw format)
|
|
61
|
+
* @returns Decompressed data
|
|
62
|
+
*/
|
|
63
|
+
export declare function decompressSync(data: Uint8Array): Uint8Array;
|
|
@@ -1,49 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js compression utilities using native zlib
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Both use "deflate-raw" format which is required for ZIP files
|
|
8
|
-
* (raw DEFLATE without zlib header/trailer)
|
|
9
|
-
*/
|
|
10
|
-
import type * as zlibType from "zlib";
|
|
11
|
-
/**
|
|
12
|
-
* Compression options
|
|
13
|
-
*/
|
|
14
|
-
export interface CompressOptions {
|
|
15
|
-
/**
|
|
16
|
-
* Compression level (0-9)
|
|
17
|
-
* - 0: No compression (STORE)
|
|
18
|
-
* - 1: Fastest compression
|
|
19
|
-
* - 6: Default compression (good balance)
|
|
20
|
-
* - 9: Best compression (slowest)
|
|
21
|
-
*
|
|
22
|
-
* Note: CompressionStream does not support level configuration,
|
|
23
|
-
* it uses a fixed level (~6)
|
|
24
|
-
*/
|
|
25
|
-
level?: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Ensure zlib is loaded (Node.js only)
|
|
29
|
-
* Call this before using sync methods if you need to guarantee availability
|
|
4
|
+
* Uses zlib module (C++ implementation, fastest) with "deflate-raw" format
|
|
5
|
+
* (raw DEFLATE without zlib header/trailer, required for ZIP files)
|
|
30
6
|
*/
|
|
31
|
-
export
|
|
7
|
+
export { type CompressOptions, hasCompressionStream } from "./compress.base";
|
|
32
8
|
/**
|
|
33
|
-
* Check if native zlib is available (Node.js)
|
|
9
|
+
* Check if native zlib is available (always true in Node.js)
|
|
34
10
|
*/
|
|
35
11
|
export declare function hasNativeZlib(): boolean;
|
|
36
12
|
/**
|
|
37
|
-
*
|
|
38
|
-
*/
|
|
39
|
-
export declare function hasCompressionStream(): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Compress data using the best available native method
|
|
42
|
-
*
|
|
43
|
-
* Priority:
|
|
44
|
-
* 1. Node.js zlib (if available) - fastest, supports compression levels
|
|
45
|
-
* 2. CompressionStream (browser/Node.js 17+) - no level support
|
|
46
|
-
* 3. Return uncompressed data (fallback)
|
|
13
|
+
* Compress data using Node.js native zlib
|
|
47
14
|
*
|
|
48
15
|
* @param data - Data to compress
|
|
49
16
|
* @param options - Compression options
|
|
@@ -55,19 +22,21 @@ export declare function hasCompressionStream(): boolean;
|
|
|
55
22
|
* const compressed = await compress(data, { level: 6 });
|
|
56
23
|
* ```
|
|
57
24
|
*/
|
|
58
|
-
export declare function compress(data: Uint8Array, options?:
|
|
25
|
+
export declare function compress(data: Uint8Array, options?: {
|
|
26
|
+
level?: number;
|
|
27
|
+
}): Promise<Uint8Array>;
|
|
59
28
|
/**
|
|
60
29
|
* Compress data synchronously using Node.js zlib
|
|
61
|
-
* Only available in Node.js environment
|
|
62
30
|
*
|
|
63
31
|
* @param data - Data to compress
|
|
64
32
|
* @param options - Compression options
|
|
65
33
|
* @returns Compressed data
|
|
66
|
-
* @throws Error if not in Node.js environment
|
|
67
34
|
*/
|
|
68
|
-
export declare function compressSync(data: Uint8Array, options?:
|
|
35
|
+
export declare function compressSync(data: Uint8Array, options?: {
|
|
36
|
+
level?: number;
|
|
37
|
+
}): Uint8Array;
|
|
69
38
|
/**
|
|
70
|
-
* Decompress data using
|
|
39
|
+
* Decompress data using Node.js native zlib
|
|
71
40
|
*
|
|
72
41
|
* @param data - Compressed data (deflate-raw format)
|
|
73
42
|
* @returns Decompressed data
|
|
@@ -78,6 +47,5 @@ export declare function decompress(data: Uint8Array): Promise<Uint8Array>;
|
|
|
78
47
|
*
|
|
79
48
|
* @param data - Compressed data (deflate-raw format)
|
|
80
49
|
* @returns Decompressed data
|
|
81
|
-
* @throws Error if not in Node.js environment
|
|
82
50
|
*/
|
|
83
51
|
export declare function decompressSync(data: Uint8Array): Uint8Array;
|