@zergai/ztc 0.2.5-dev.36050717543 → 0.2.6-dev.36101352252

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 (366) hide show
  1. package/THIRD_PARTY_NOTICES.md +16 -5
  2. package/dist/zlm-embed.mjs +1 -1
  3. package/node_modules/exceljs/LICENSE +0 -1
  4. package/node_modules/exceljs/index.d.ts +6 -6
  5. package/node_modules/exceljs/package.json +1 -46
  6. package/package.json +10 -4
  7. package/{node_modules/exceljs/dist → packages/exceljs}/LICENSE +0 -1
  8. package/packages/exceljs/PROVENANCE.md +18 -0
  9. package/packages/exceljs/excel.js +13 -0
  10. package/packages/exceljs/index.d.ts +2035 -0
  11. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/csv/csv.js +97 -88
  12. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/csv/line-buffer.js +12 -6
  13. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/csv/stream-converter.js +30 -5
  14. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/anchor.js +26 -8
  15. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/cell.js +245 -82
  16. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/column.js +53 -7
  17. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/data-validations.js +5 -4
  18. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/defined-names.js +38 -15
  19. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/enums.js +7 -8
  20. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/image.js +13 -23
  21. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/modelcontainer.js +3 -1
  22. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/note.js +19 -18
  23. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/range.js +91 -63
  24. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/row.js +86 -53
  25. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/table.js +63 -41
  26. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/workbook.js +43 -24
  27. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/doc/worksheet.js +150 -123
  28. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/exceljs.bare.js +3 -4
  29. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/exceljs.browser.js +4 -4
  30. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/exceljs.nodejs.js +5 -6
  31. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/hyperlink-reader.js +16 -23
  32. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/sheet-comments-writer.js +35 -8
  33. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/sheet-rels-writer.js +34 -9
  34. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/workbook-reader.js +52 -77
  35. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/workbook-writer.js +101 -101
  36. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/worksheet-reader.js +52 -70
  37. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/stream/xlsx/worksheet-writer.js +161 -96
  38. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/auto-drain.js +3 -6
  39. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/browser-buffer-decode.js +2 -3
  40. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/browser-buffer-encode.js +3 -6
  41. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/cell-matrix.js +34 -18
  42. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/col-cache.js +62 -33
  43. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/copy-style.js +12 -12
  44. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/encryptor.js +3 -6
  45. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/iterate-stream.js +6 -4
  46. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/parse-sax.js +6 -23
  47. package/packages/exceljs/lib/utils/shared-formula.js +44 -0
  48. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/shared-strings.js +6 -3
  49. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/stream-base64.js +17 -11
  50. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/stream-buf.js +33 -12
  51. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/string-buf.js +14 -5
  52. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/string-builder.js +6 -3
  53. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/stuttered-pipe.js +9 -3
  54. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/typed-stack.js +4 -3
  55. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/under-dash.js +30 -14
  56. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/utils.js +28 -27
  57. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/xml-stream.js +23 -5
  58. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/utils/zip-stream.js +22 -14
  59. package/packages/exceljs/lib/xlsx/.rels +11 -0
  60. package/packages/exceljs/lib/xlsx/calcChain.xml +6 -0
  61. package/packages/exceljs/lib/xlsx/core.xml +7 -0
  62. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/defaultnumformats.js +61 -138
  63. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/rel-type.js +9 -6
  64. package/packages/exceljs/lib/xlsx/styles.xml +41 -0
  65. package/packages/exceljs/lib/xlsx/workbook.xml +16 -0
  66. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/base-xform.js +27 -21
  67. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/defined-name-xform.js +11 -5
  68. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/sheet-xform.js +7 -5
  69. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-calc-properties-xform.js +6 -4
  70. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-properties-xform.js +7 -5
  71. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-view-xform.js +11 -9
  72. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/book/workbook-xform.js +45 -24
  73. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/comment-xform.js +11 -9
  74. package/packages/exceljs/lib/xlsx/xform/comment/comments-xform.js +82 -0
  75. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/style/vml-position-xform.js +7 -3
  76. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/style/vml-protection-xform.js +7 -3
  77. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-anchor-xform.js +11 -4
  78. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-client-data-xform.js +22 -24
  79. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-notes-xform.js +21 -21
  80. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-shape-xform.js +22 -19
  81. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/comment/vml-textbox-xform.js +17 -14
  82. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/composite-xform.js +8 -3
  83. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/app-heading-pairs-xform.js +9 -7
  84. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/app-titles-of-parts-xform.js +8 -7
  85. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/app-xform.js +23 -16
  86. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/content-types-xform.js +36 -28
  87. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/core-xform.js +33 -55
  88. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/relationship-xform.js +5 -3
  89. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/core/relationships-xform.js +13 -5
  90. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/base-cell-anchor-xform.js +6 -5
  91. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/blip-fill-xform.js +14 -4
  92. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/blip-xform.js +7 -5
  93. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/c-nv-pic-pr-xform.js +7 -4
  94. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/c-nv-pr-xform.js +11 -5
  95. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/cell-position-xform.js +15 -20
  96. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/drawing-xform.js +20 -9
  97. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/ext-lst-xform.js +8 -5
  98. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/ext-xform.js +13 -7
  99. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/hlink-click-xform.js +9 -6
  100. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/nv-pic-pr-xform.js +10 -4
  101. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/one-cell-anchor-xform.js +15 -15
  102. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/pic-xform.js +14 -4
  103. package/packages/exceljs/lib/xlsx/xform/drawing/sp-pr.js +17 -0
  104. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/drawing/two-cell-anchor-xform.js +15 -15
  105. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/list-xform.js +18 -14
  106. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/auto-filter-xform.js +8 -10
  107. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cell-xform.js +118 -71
  108. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/cf-rule-xform.js +64 -38
  109. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/cfvo-xform.js +7 -5
  110. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/color-scale-xform.js +13 -6
  111. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/conditional-formatting-xform.js +15 -12
  112. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/conditional-formattings-xform.js +19 -4
  113. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/databar-xform.js +13 -6
  114. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +22 -6
  115. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/formula-xform.js +6 -3
  116. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf/icon-set-xform.js +14 -10
  117. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +8 -9
  118. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +26 -16
  119. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +11 -6
  120. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +17 -7
  121. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +11 -4
  122. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +41 -18
  123. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/f-ext-xform.js +6 -3
  124. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +18 -11
  125. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +6 -3
  126. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/col-xform.js +14 -6
  127. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/data-validations-xform.js +123 -113
  128. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/dimension-xform.js +7 -6
  129. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/drawing-xform.js +8 -7
  130. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/ext-lst-xform.js +23 -6
  131. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/header-footer-xform.js +23 -3
  132. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/hyperlink-xform.js +10 -6
  133. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/merge-cell-xform.js +7 -6
  134. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/merges.js +8 -4
  135. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/outline-properties-xform.js +14 -6
  136. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-breaks-xform.js +6 -3
  137. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-margins-xform.js +8 -5
  138. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-setup-properties-xform.js +8 -5
  139. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/page-setup-xform.js +9 -5
  140. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/picture-xform.js +8 -7
  141. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/print-options-xform.js +9 -5
  142. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/row-breaks-xform.js +7 -5
  143. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/row-xform.js +22 -8
  144. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-format-properties-xform.js +9 -5
  145. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-properties-xform.js +11 -4
  146. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-protection-xform.js +10 -5
  147. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/sheet-view-xform.js +39 -27
  148. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/table-part-xform.js +8 -7
  149. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/sheet/worksheet-xform.js +138 -112
  150. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/boolean-xform.js +7 -3
  151. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/date-xform.js +22 -14
  152. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/float-xform.js +7 -3
  153. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/integer-xform.js +7 -3
  154. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/simple/string-xform.js +7 -3
  155. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/static-xform.js +6 -3
  156. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/phonetic-text-xform.js +20 -20
  157. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/rich-text-xform.js +13 -4
  158. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/shared-string-xform.js +18 -15
  159. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/shared-strings-xform.js +18 -5
  160. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/strings/text-xform.js +9 -4
  161. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/alignment-xform.js +42 -9
  162. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/border-xform.js +52 -30
  163. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/color-xform.js +9 -12
  164. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/dxf-xform.js +14 -9
  165. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/fill-xform.js +86 -30
  166. package/packages/exceljs/lib/xlsx/xform/style/font-xform.js +102 -0
  167. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/numfmt-xform.js +13 -9
  168. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/protection-xform.js +12 -5
  169. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/style-xform.js +13 -6
  170. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/styles-xform.js +123 -208
  171. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/style/underline-xform.js +13 -12
  172. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/auto-filter-xform.js +17 -11
  173. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/custom-filter-xform.js +8 -5
  174. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/filter-column-xform.js +19 -12
  175. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/filter-xform.js +8 -5
  176. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/table-column-xform.js +10 -8
  177. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/table-style-info-xform.js +9 -8
  178. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xform/table/table-xform.js +20 -12
  179. package/{node_modules/exceljs/dist/es5 → packages/exceljs/lib}/xlsx/xlsx.js +197 -200
  180. package/packages/exceljs/lib/xlsx/xml/theme1.js +3 -0
  181. package/packages/exceljs/lib/xlsx/xml/theme1.xml +318 -0
  182. package/packages/exceljs/package.json +104 -0
  183. package/packages/sim-graph/package.json +3 -0
  184. package/node_modules/exceljs/README.md +0 -3023
  185. package/node_modules/exceljs/README_zh.md +0 -2878
  186. package/node_modules/exceljs/dist/es5/csv/csv.js.map +0 -1
  187. package/node_modules/exceljs/dist/es5/csv/line-buffer.js.map +0 -1
  188. package/node_modules/exceljs/dist/es5/csv/stream-converter.js.map +0 -1
  189. package/node_modules/exceljs/dist/es5/doc/anchor.js.map +0 -1
  190. package/node_modules/exceljs/dist/es5/doc/cell.js.map +0 -1
  191. package/node_modules/exceljs/dist/es5/doc/column.js.map +0 -1
  192. package/node_modules/exceljs/dist/es5/doc/data-validations.js.map +0 -1
  193. package/node_modules/exceljs/dist/es5/doc/defined-names.js.map +0 -1
  194. package/node_modules/exceljs/dist/es5/doc/enums.js.map +0 -1
  195. package/node_modules/exceljs/dist/es5/doc/image.js.map +0 -1
  196. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js.map +0 -1
  197. package/node_modules/exceljs/dist/es5/doc/note.js.map +0 -1
  198. package/node_modules/exceljs/dist/es5/doc/range.js.map +0 -1
  199. package/node_modules/exceljs/dist/es5/doc/row.js.map +0 -1
  200. package/node_modules/exceljs/dist/es5/doc/table.js.map +0 -1
  201. package/node_modules/exceljs/dist/es5/doc/workbook.js.map +0 -1
  202. package/node_modules/exceljs/dist/es5/doc/worksheet.js.map +0 -1
  203. package/node_modules/exceljs/dist/es5/exceljs.bare.js.map +0 -1
  204. package/node_modules/exceljs/dist/es5/exceljs.browser.js.map +0 -1
  205. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js.map +0 -1
  206. package/node_modules/exceljs/dist/es5/index.js +0 -15
  207. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
  208. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
  209. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
  210. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
  211. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
  212. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
  213. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
  214. package/node_modules/exceljs/dist/es5/utils/auto-drain.js.map +0 -1
  215. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js.map +0 -1
  216. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js.map +0 -1
  217. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js.map +0 -1
  218. package/node_modules/exceljs/dist/es5/utils/col-cache.js.map +0 -1
  219. package/node_modules/exceljs/dist/es5/utils/copy-style.js.map +0 -1
  220. package/node_modules/exceljs/dist/es5/utils/encryptor.js.map +0 -1
  221. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js.map +0 -1
  222. package/node_modules/exceljs/dist/es5/utils/parse-sax.js.map +0 -1
  223. package/node_modules/exceljs/dist/es5/utils/shared-formula.js +0 -42
  224. package/node_modules/exceljs/dist/es5/utils/shared-formula.js.map +0 -1
  225. package/node_modules/exceljs/dist/es5/utils/shared-strings.js.map +0 -1
  226. package/node_modules/exceljs/dist/es5/utils/stream-base64.js.map +0 -1
  227. package/node_modules/exceljs/dist/es5/utils/stream-buf.js.map +0 -1
  228. package/node_modules/exceljs/dist/es5/utils/string-buf.js.map +0 -1
  229. package/node_modules/exceljs/dist/es5/utils/string-builder.js.map +0 -1
  230. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js.map +0 -1
  231. package/node_modules/exceljs/dist/es5/utils/typed-stack.js.map +0 -1
  232. package/node_modules/exceljs/dist/es5/utils/under-dash.js.map +0 -1
  233. package/node_modules/exceljs/dist/es5/utils/utils.js.map +0 -1
  234. package/node_modules/exceljs/dist/es5/utils/xml-stream.js.map +0 -1
  235. package/node_modules/exceljs/dist/es5/utils/zip-stream.js.map +0 -1
  236. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js.map +0 -1
  237. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js.map +0 -1
  238. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js.map +0 -1
  239. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
  240. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
  241. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
  242. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
  243. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
  244. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
  245. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
  246. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
  247. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
  248. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
  249. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
  250. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
  251. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
  252. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
  253. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
  254. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
  255. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
  256. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
  257. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
  258. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
  259. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
  260. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
  261. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
  262. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
  263. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
  264. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
  265. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
  266. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
  267. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
  268. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
  269. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
  270. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
  271. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
  272. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
  273. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
  274. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
  275. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
  276. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
  277. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
  278. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
  279. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js.map +0 -1
  280. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
  281. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
  282. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
  283. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
  284. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
  285. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
  286. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
  287. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
  288. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
  289. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
  290. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
  291. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
  292. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
  293. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
  294. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
  295. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
  296. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
  297. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
  298. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
  299. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
  300. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
  301. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
  302. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
  303. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
  304. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
  305. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
  306. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
  307. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
  308. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
  309. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
  310. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
  311. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
  312. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
  313. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
  314. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
  315. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
  316. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
  317. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
  318. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
  319. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
  320. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
  321. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
  322. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
  323. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
  324. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
  325. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
  326. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
  327. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
  328. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
  329. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js.map +0 -1
  330. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
  331. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
  332. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
  333. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
  334. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
  335. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
  336. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
  337. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
  338. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
  339. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
  340. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js +0 -175
  341. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
  342. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
  343. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
  344. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
  345. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
  346. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
  347. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
  348. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
  349. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
  350. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
  351. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
  352. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
  353. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
  354. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js.map +0 -1
  355. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js +0 -5
  356. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js.map +0 -1
  357. package/node_modules/exceljs/dist/exceljs.bare.js +0 -55253
  358. package/node_modules/exceljs/dist/exceljs.bare.js.map +0 -761
  359. package/node_modules/exceljs/dist/exceljs.bare.min.js +0 -45
  360. package/node_modules/exceljs/dist/exceljs.bare.min.js.map +0 -1
  361. package/node_modules/exceljs/dist/exceljs.js +0 -59900
  362. package/node_modules/exceljs/dist/exceljs.js.map +0 -1083
  363. package/node_modules/exceljs/dist/exceljs.min.js +0 -45
  364. package/node_modules/exceljs/dist/exceljs.min.js.map +0 -1
  365. package/node_modules/exceljs/index.ts +0 -2
  366. package/node_modules/exceljs/lib/doc/data/theme1.json +0 -234
@@ -1,23 +1,28 @@
1
- "use strict";
2
-
3
1
  const fs = require('fs');
4
2
  const Archiver = require('archiver');
3
+
5
4
  const StreamBuf = require('../../utils/stream-buf');
5
+
6
6
  const RelType = require('../../xlsx/rel-type');
7
7
  const StylesXform = require('../../xlsx/xform/style/styles-xform');
8
8
  const SharedStrings = require('../../utils/shared-strings');
9
9
  const DefinedNames = require('../../doc/defined-names');
10
+
10
11
  const CoreXform = require('../../xlsx/xform/core/core-xform');
11
12
  const RelationshipsXform = require('../../xlsx/xform/core/relationships-xform');
12
13
  const ContentTypesXform = require('../../xlsx/xform/core/content-types-xform');
13
14
  const AppXform = require('../../xlsx/xform/core/app-xform');
14
15
  const WorkbookXform = require('../../xlsx/xform/book/workbook-xform');
15
16
  const SharedStringsXform = require('../../xlsx/xform/strings/shared-strings-xform');
17
+
16
18
  const WorksheetWriter = require('./worksheet-writer');
19
+
17
20
  const theme1Xml = require('../../xlsx/xml/theme1.js');
21
+
18
22
  class WorkbookWriter {
19
23
  constructor(options) {
20
24
  options = options || {};
25
+
21
26
  this.created = options.created || new Date();
22
27
  this.modified = options.modified || this.created;
23
28
  this.creator = options.creator || 'ExcelJS';
@@ -33,11 +38,15 @@ class WorkbookWriter {
33
38
 
34
39
  // defined names
35
40
  this._definedNames = new DefinedNames();
41
+
36
42
  this._worksheets = [];
37
43
  this.views = [];
44
+
38
45
  this.zipOptions = options.zip;
46
+
39
47
  this.media = [];
40
48
  this.commentRefs = [];
49
+
41
50
  this.zip = Archiver('zip', this.zipOptions);
42
51
  if (options.stream) {
43
52
  this.stream = options.stream;
@@ -51,24 +60,22 @@ class WorkbookWriter {
51
60
  // these bits can be added right now
52
61
  this.promise = Promise.all([this.addThemes(), this.addOfficeRels()]);
53
62
  }
63
+
54
64
  get definedNames() {
55
65
  return this._definedNames;
56
66
  }
67
+
57
68
  _openStream(path) {
58
- const stream = new StreamBuf({
59
- bufSize: 65536,
60
- batch: true
61
- });
62
- this.zip.append(stream, {
63
- name: path
64
- });
69
+ const stream = new StreamBuf({bufSize: 65536, batch: true});
70
+ this.zip.append(stream, {name: path});
65
71
  stream.on('finish', () => {
66
72
  stream.emit('zipped');
67
73
  });
68
74
  return stream;
69
75
  }
76
+
70
77
  _commitWorksheets() {
71
- const commitWorksheet = function (worksheet) {
78
+ const commitWorksheet = function(worksheet) {
72
79
  if (!worksheet.committed) {
73
80
  return new Promise(resolve => {
74
81
  worksheet.stream.on('zipped', () => {
@@ -86,15 +93,24 @@ class WorkbookWriter {
86
93
  }
87
94
  return Promise.resolve();
88
95
  }
96
+
89
97
  async commit() {
90
98
  // commit all worksheets, then add suplimentary files
91
99
  await this.promise;
92
100
  await this.addMedia();
93
101
  await this._commitWorksheets();
94
- await Promise.all([this.addContentTypes(), this.addApp(), this.addCore(), this.addSharedStrings(), this.addStyles(), this.addWorkbookRels()]);
102
+ await Promise.all([
103
+ this.addContentTypes(),
104
+ this.addApp(),
105
+ this.addCore(),
106
+ this.addSharedStrings(),
107
+ this.addStyles(),
108
+ this.addWorkbookRels(),
109
+ ]);
95
110
  await this.addWorkbook();
96
111
  return this._finalize();
97
112
  }
113
+
98
114
  get nextId() {
99
115
  // find the next unique spot to add worksheet
100
116
  let i;
@@ -105,33 +121,40 @@ class WorkbookWriter {
105
121
  }
106
122
  return this._worksheets.length || 1;
107
123
  }
124
+
108
125
  addImage(image) {
109
126
  const id = this.media.length;
110
- const medium = Object.assign({}, image, {
111
- type: 'image',
112
- name: `image${id}.${image.extension}`
113
- });
127
+ const medium = Object.assign({}, image, {type: 'image', name: `image${id}.${image.extension}`});
114
128
  this.media.push(medium);
115
129
  return id;
116
130
  }
131
+
117
132
  getImage(id) {
118
133
  return this.media[id];
119
134
  }
135
+
120
136
  addWorksheet(name, options) {
121
137
  // it's possible to add a worksheet with different than default
122
138
  // shared string handling
123
139
  // in fact, it's even possible to switch it mid-sheet
124
140
  options = options || {};
125
- const useSharedStrings = options.useSharedStrings !== undefined ? options.useSharedStrings : this.useSharedStrings;
141
+ const useSharedStrings =
142
+ options.useSharedStrings !== undefined ? options.useSharedStrings : this.useSharedStrings;
143
+
126
144
  if (options.tabColor) {
127
145
  // eslint-disable-next-line no-console
128
146
  console.trace('tabColor option has moved to { properties: tabColor: {...} }');
129
- options.properties = Object.assign({
130
- tabColor: options.tabColor
131
- }, options.properties);
147
+ options.properties = Object.assign(
148
+ {
149
+ tabColor: options.tabColor,
150
+ },
151
+ options.properties
152
+ );
132
153
  }
154
+
133
155
  const id = this.nextId;
134
156
  name = name || `sheet${id}`;
157
+
135
158
  const worksheet = new WorksheetWriter({
136
159
  id,
137
160
  name,
@@ -142,11 +165,13 @@ class WorkbookWriter {
142
165
  pageSetup: options.pageSetup,
143
166
  views: options.views,
144
167
  autoFilter: options.autoFilter,
145
- headerFooter: options.headerFooter
168
+ headerFooter: options.headerFooter,
146
169
  });
170
+
147
171
  this._worksheets[id] = worksheet;
148
172
  return worksheet;
149
173
  }
174
+
150
175
  getWorksheet(id) {
151
176
  if (id === undefined) {
152
177
  return this._worksheets.find(() => true);
@@ -159,138 +184,115 @@ class WorkbookWriter {
159
184
  }
160
185
  return undefined;
161
186
  }
187
+
162
188
  addStyles() {
163
189
  return new Promise(resolve => {
164
- this.zip.append(this.styles.xml, {
165
- name: 'xl/styles.xml'
166
- });
190
+ this.zip.append(this.styles.xml, {name: 'xl/styles.xml'});
167
191
  resolve();
168
192
  });
169
193
  }
194
+
170
195
  addThemes() {
171
196
  return new Promise(resolve => {
172
- this.zip.append(theme1Xml, {
173
- name: 'xl/theme/theme1.xml'
174
- });
197
+ this.zip.append(theme1Xml, {name: 'xl/theme/theme1.xml'});
175
198
  resolve();
176
199
  });
177
200
  }
201
+
178
202
  addOfficeRels() {
179
203
  return new Promise(resolve => {
180
204
  const xform = new RelationshipsXform();
181
- const xml = xform.toXml([{
182
- Id: 'rId1',
183
- Type: RelType.OfficeDocument,
184
- Target: 'xl/workbook.xml'
185
- }, {
186
- Id: 'rId2',
187
- Type: RelType.CoreProperties,
188
- Target: 'docProps/core.xml'
189
- }, {
190
- Id: 'rId3',
191
- Type: RelType.ExtenderProperties,
192
- Target: 'docProps/app.xml'
193
- }]);
194
- this.zip.append(xml, {
195
- name: '/_rels/.rels'
196
- });
205
+ const xml = xform.toXml([
206
+ {Id: 'rId1', Type: RelType.OfficeDocument, Target: 'xl/workbook.xml'},
207
+ {Id: 'rId2', Type: RelType.CoreProperties, Target: 'docProps/core.xml'},
208
+ {Id: 'rId3', Type: RelType.ExtenderProperties, Target: 'docProps/app.xml'},
209
+ ]);
210
+ this.zip.append(xml, {name: '/_rels/.rels'});
197
211
  resolve();
198
212
  });
199
213
  }
214
+
200
215
  addContentTypes() {
201
216
  return new Promise(resolve => {
202
217
  const model = {
203
218
  worksheets: this._worksheets.filter(Boolean),
204
219
  sharedStrings: this.sharedStrings,
205
220
  commentRefs: this.commentRefs,
206
- media: this.media
221
+ media: this.media,
207
222
  };
208
223
  const xform = new ContentTypesXform();
209
224
  const xml = xform.toXml(model);
210
- this.zip.append(xml, {
211
- name: '[Content_Types].xml'
212
- });
225
+ this.zip.append(xml, {name: '[Content_Types].xml'});
213
226
  resolve();
214
227
  });
215
228
  }
229
+
216
230
  addMedia() {
217
- return Promise.all(this.media.map(medium => {
218
- if (medium.type === 'image') {
219
- const filename = `xl/media/${medium.name}`;
220
- if (medium.filename) {
221
- return this.zip.file(medium.filename, {
222
- name: filename
223
- });
224
- }
225
- if (medium.buffer) {
226
- return this.zip.append(medium.buffer, {
227
- name: filename
228
- });
231
+ return Promise.all(
232
+ this.media.map(medium => {
233
+ if (medium.type === 'image') {
234
+ const filename = `xl/media/${medium.name}`;
235
+ if (medium.filename) {
236
+ return this.zip.file(medium.filename, {name: filename});
237
+ }
238
+ if (medium.buffer) {
239
+ return this.zip.append(medium.buffer, {name: filename});
240
+ }
241
+ if (medium.base64) {
242
+ const dataimg64 = medium.base64;
243
+ const content = dataimg64.substring(dataimg64.indexOf(',') + 1);
244
+ return this.zip.append(content, {name: filename, base64: true});
245
+ }
229
246
  }
230
- if (medium.base64) {
231
- const dataimg64 = medium.base64;
232
- const content = dataimg64.substring(dataimg64.indexOf(',') + 1);
233
- return this.zip.append(content, {
234
- name: filename,
235
- base64: true
236
- });
237
- }
238
- }
239
- throw new Error('Unsupported media');
240
- }));
247
+ throw new Error('Unsupported media');
248
+ })
249
+ );
241
250
  }
251
+
242
252
  addApp() {
243
253
  return new Promise(resolve => {
244
254
  const model = {
245
- worksheets: this._worksheets.filter(Boolean)
255
+ worksheets: this._worksheets.filter(Boolean),
246
256
  };
247
257
  const xform = new AppXform();
248
258
  const xml = xform.toXml(model);
249
- this.zip.append(xml, {
250
- name: 'docProps/app.xml'
251
- });
259
+ this.zip.append(xml, {name: 'docProps/app.xml'});
252
260
  resolve();
253
261
  });
254
262
  }
263
+
255
264
  addCore() {
256
265
  return new Promise(resolve => {
257
266
  const coreXform = new CoreXform();
258
267
  const xml = coreXform.toXml(this);
259
- this.zip.append(xml, {
260
- name: 'docProps/core.xml'
261
- });
268
+ this.zip.append(xml, {name: 'docProps/core.xml'});
262
269
  resolve();
263
270
  });
264
271
  }
272
+
265
273
  addSharedStrings() {
266
274
  if (this.sharedStrings.count) {
267
275
  return new Promise(resolve => {
268
276
  const sharedStringsXform = new SharedStringsXform();
269
277
  const xml = sharedStringsXform.toXml(this.sharedStrings);
270
- this.zip.append(xml, {
271
- name: '/xl/sharedStrings.xml'
272
- });
278
+ this.zip.append(xml, {name: '/xl/sharedStrings.xml'});
273
279
  resolve();
274
280
  });
275
281
  }
276
282
  return Promise.resolve();
277
283
  }
284
+
278
285
  addWorkbookRels() {
279
286
  let count = 1;
280
- const relationships = [{
281
- Id: `rId${count++}`,
282
- Type: RelType.Styles,
283
- Target: 'styles.xml'
284
- }, {
285
- Id: `rId${count++}`,
286
- Type: RelType.Theme,
287
- Target: 'theme/theme1.xml'
288
- }];
287
+ const relationships = [
288
+ {Id: `rId${count++}`, Type: RelType.Styles, Target: 'styles.xml'},
289
+ {Id: `rId${count++}`, Type: RelType.Theme, Target: 'theme/theme1.xml'},
290
+ ];
289
291
  if (this.sharedStrings.count) {
290
292
  relationships.push({
291
293
  Id: `rId${count++}`,
292
294
  Type: RelType.SharedStrings,
293
- Target: 'sharedStrings.xml'
295
+ Target: 'sharedStrings.xml',
294
296
  });
295
297
  }
296
298
  this._worksheets.forEach(worksheet => {
@@ -299,39 +301,36 @@ class WorkbookWriter {
299
301
  relationships.push({
300
302
  Id: worksheet.rId,
301
303
  Type: RelType.Worksheet,
302
- Target: `worksheets/sheet${worksheet.id}.xml`
304
+ Target: `worksheets/sheet${worksheet.id}.xml`,
303
305
  });
304
306
  }
305
307
  });
306
308
  return new Promise(resolve => {
307
309
  const xform = new RelationshipsXform();
308
310
  const xml = xform.toXml(relationships);
309
- this.zip.append(xml, {
310
- name: '/xl/_rels/workbook.xml.rels'
311
- });
311
+ this.zip.append(xml, {name: '/xl/_rels/workbook.xml.rels'});
312
312
  resolve();
313
313
  });
314
314
  }
315
+
315
316
  addWorkbook() {
316
- const {
317
- zip
318
- } = this;
317
+ const {zip} = this;
319
318
  const model = {
320
319
  worksheets: this._worksheets.filter(Boolean),
321
320
  definedNames: this._definedNames.model,
322
321
  views: this.views,
323
322
  properties: {},
324
- calcProperties: {}
323
+ calcProperties: {},
325
324
  };
325
+
326
326
  return new Promise(resolve => {
327
327
  const xform = new WorkbookXform();
328
328
  xform.prepare(model);
329
- zip.append(xform.toXml(model), {
330
- name: '/xl/workbook.xml'
331
- });
329
+ zip.append(xform.toXml(model), {name: '/xl/workbook.xml'});
332
330
  resolve();
333
331
  });
334
332
  }
333
+
335
334
  _finalize() {
336
335
  return new Promise((resolve, reject) => {
337
336
  this.stream.on('error', reject);
@@ -339,9 +338,10 @@ class WorkbookWriter {
339
338
  resolve(this);
340
339
  });
341
340
  this.zip.on('error', reject);
341
+
342
342
  this.zip.finalize();
343
343
  });
344
344
  }
345
345
  }
346
+
346
347
  module.exports = WorkbookWriter;
347
- //# sourceMappingURL=workbook-writer.js.map
@@ -1,24 +1,18 @@
1
- "use strict";
2
-
3
- const {
4
- EventEmitter
5
- } = require('events');
1
+ const {EventEmitter} = require('events');
6
2
  const parseSax = require('../../utils/parse-sax');
3
+
7
4
  const _ = require('../../utils/under-dash');
8
5
  const utils = require('../../utils/utils');
9
6
  const colCache = require('../../utils/col-cache');
10
7
  const Dimensions = require('../../doc/range');
8
+
11
9
  const Row = require('../../doc/row');
12
10
  const Column = require('../../doc/column');
11
+
13
12
  class WorksheetReader extends EventEmitter {
14
- constructor(_ref) {
15
- let {
16
- workbook,
17
- id,
18
- iterator,
19
- options
20
- } = _ref;
13
+ constructor({workbook, id, iterator, options}) {
21
14
  super();
15
+
22
16
  this.workbook = workbook;
23
17
  this.id = id;
24
18
  this.iterator = iterator;
@@ -78,25 +72,27 @@ class WorksheetReader extends EventEmitter {
78
72
  }
79
73
  return this._columns[c - 1];
80
74
  }
75
+
81
76
  getColumnKey(key) {
82
77
  return this._keys[key];
83
78
  }
79
+
84
80
  setColumnKey(key, value) {
85
81
  this._keys[key] = value;
86
82
  }
83
+
87
84
  deleteColumnKey(key) {
88
85
  delete this._keys[key];
89
86
  }
87
+
90
88
  eachColumnKey(f) {
91
89
  _.each(this._keys, f);
92
90
  }
91
+
93
92
  async read() {
94
93
  try {
95
94
  for await (const events of this.parse()) {
96
- for (const {
97
- eventType,
98
- value
99
- } of events) {
95
+ for (const {eventType, value} of events) {
100
96
  this.emit(eventType, value);
101
97
  }
102
98
  }
@@ -105,23 +101,19 @@ class WorksheetReader extends EventEmitter {
105
101
  this.emit('error', error);
106
102
  }
107
103
  }
104
+
108
105
  async *[Symbol.asyncIterator]() {
109
106
  for await (const events of this.parse()) {
110
- for (const {
111
- eventType,
112
- value
113
- } of events) {
107
+ for (const {eventType, value} of events) {
114
108
  if (eventType === 'row') {
115
109
  yield value;
116
110
  }
117
111
  }
118
112
  }
119
113
  }
114
+
120
115
  async *parse() {
121
- const {
122
- iterator,
123
- options
124
- } = this;
116
+ const {iterator, options} = this;
125
117
  let emitSheet = false;
126
118
  let emitHyperlinks = false;
127
119
  let hyperlinks = null;
@@ -149,11 +141,7 @@ class WorksheetReader extends EventEmitter {
149
141
  }
150
142
 
151
143
  // references
152
- const {
153
- sharedStrings,
154
- styles,
155
- properties
156
- } = this.workbook;
144
+ const {sharedStrings, styles, properties} = this.workbook;
157
145
 
158
146
  // xml position
159
147
  let inCols = false;
@@ -167,10 +155,7 @@ class WorksheetReader extends EventEmitter {
167
155
  let current = null;
168
156
  for await (const events of parseSax(iterator)) {
169
157
  const worksheetEvents = [];
170
- for (const {
171
- eventType,
172
- value
173
- } of events) {
158
+ for (const {eventType, value} of events) {
174
159
  if (eventType === 'opentag') {
175
160
  const node = value;
176
161
  if (emitSheet) {
@@ -182,16 +167,18 @@ class WorksheetReader extends EventEmitter {
182
167
  case 'sheetData':
183
168
  inRows = true;
184
169
  break;
170
+
185
171
  case 'col':
186
172
  if (inCols) {
187
173
  cols.push({
188
174
  min: parseInt(node.attributes.min, 10),
189
175
  max: parseInt(node.attributes.max, 10),
190
176
  width: parseFloat(node.attributes.width),
191
- styleId: parseInt(node.attributes.style || '0', 10)
177
+ styleId: parseInt(node.attributes.style || '0', 10),
192
178
  });
193
179
  }
194
180
  break;
181
+
195
182
  case 'row':
196
183
  if (inRows) {
197
184
  const r = parseInt(node.attributes.r, 10);
@@ -213,30 +200,24 @@ class WorksheetReader extends EventEmitter {
213
200
  c = {
214
201
  ref: node.attributes.r,
215
202
  s: parseInt(node.attributes.s, 10),
216
- t: node.attributes.t
203
+ t: node.attributes.t,
217
204
  };
218
205
  }
219
206
  break;
220
207
  case 'f':
221
208
  if (c) {
222
- current = c.f = {
223
- text: ''
224
- };
209
+ current = c.f = {text: ''};
225
210
  }
226
211
  break;
227
212
  case 'v':
228
213
  if (c) {
229
- current = c.v = {
230
- text: ''
231
- };
214
+ current = c.v = {text: ''};
232
215
  }
233
216
  break;
234
217
  case 'is':
235
218
  case 't':
236
219
  if (c) {
237
- current = c.v = {
238
- text: ''
239
- };
220
+ current = c.v = {text: ''};
240
221
  }
241
222
  break;
242
223
  case 'mergeCell':
@@ -257,13 +238,10 @@ class WorksheetReader extends EventEmitter {
257
238
  if (inHyperlinks) {
258
239
  const hyperlink = {
259
240
  ref: node.attributes.ref,
260
- rId: node.attributes['r:id']
241
+ rId: node.attributes['r:id'],
261
242
  };
262
243
  if (emitHyperlinks) {
263
- worksheetEvents.push({
264
- eventType: 'hyperlink',
265
- value: hyperlink
266
- });
244
+ worksheetEvents.push({eventType: 'hyperlink', value: hyperlink});
267
245
  } else {
268
246
  hyperlinks[hyperlink.ref] = hyperlink;
269
247
  }
@@ -291,14 +269,13 @@ class WorksheetReader extends EventEmitter {
291
269
  case 'sheetData':
292
270
  inRows = false;
293
271
  break;
272
+
294
273
  case 'row':
295
274
  this._dimensions.expandRow(row);
296
- worksheetEvents.push({
297
- eventType: 'row',
298
- value: row
299
- });
275
+ worksheetEvents.push({eventType: 'row', value: row});
300
276
  row = null;
301
277
  break;
278
+
302
279
  case 'c':
303
280
  if (row && c) {
304
281
  const address = colCache.decodeAddress(c.ref);
@@ -309,9 +286,10 @@ class WorksheetReader extends EventEmitter {
309
286
  cell.style = style;
310
287
  }
311
288
  }
289
+
312
290
  if (c.f) {
313
291
  const cellValue = {
314
- formula: c.f.text
292
+ formula: c.f.text,
315
293
  };
316
294
  if (c.v) {
317
295
  if (c.t === 'str') {
@@ -323,33 +301,37 @@ class WorksheetReader extends EventEmitter {
323
301
  cell.value = cellValue;
324
302
  } else if (c.v) {
325
303
  switch (c.t) {
326
- case 's':
327
- {
328
- const index = parseInt(c.v.text, 10);
329
- if (sharedStrings) {
330
- cell.value = sharedStrings[index];
331
- } else {
332
- cell.value = {
333
- sharedString: index
334
- };
335
- }
336
- break;
304
+ case 's': {
305
+ const index = parseInt(c.v.text, 10);
306
+ if (sharedStrings) {
307
+ cell.value = sharedStrings[index];
308
+ } else {
309
+ cell.value = {
310
+ sharedString: index,
311
+ };
337
312
  }
313
+ break;
314
+ }
315
+
338
316
  case 'inlineStr':
339
317
  case 'str':
340
318
  cell.value = utils.xmlDecode(c.v.text);
341
319
  break;
320
+
342
321
  case 'e':
343
- cell.value = {
344
- error: c.v.text
345
- };
322
+ cell.value = {error: c.v.text};
346
323
  break;
324
+
347
325
  case 'b':
348
326
  cell.value = parseInt(c.v.text, 10) !== 0;
349
327
  break;
328
+
350
329
  default:
351
330
  if (utils.isDateFmt(cell.numFmt)) {
352
- cell.value = utils.excelToDate(parseFloat(c.v.text), properties.model && properties.model.date1904);
331
+ cell.value = utils.excelToDate(
332
+ parseFloat(c.v.text),
333
+ properties.model && properties.model.date1904
334
+ );
353
335
  } else {
354
336
  cell.value = parseFloat(c.v.text);
355
337
  }
@@ -388,5 +370,5 @@ class WorksheetReader extends EventEmitter {
388
370
  }
389
371
  }
390
372
  }
373
+
391
374
  module.exports = WorksheetReader;
392
- //# sourceMappingURL=worksheet-reader.js.map