@alienkarma/exceljs 4.4.0-fork.12 → 4.4.0-fork.13

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 (536) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +3024 -3024
  3. package/README_zh.md +2878 -2878
  4. package/excel.js +13 -13
  5. package/index.d.ts +2040 -2040
  6. package/lib/csv/csv.js +191 -191
  7. package/lib/csv/line-buffer.js +74 -74
  8. package/lib/csv/stream-converter.js +135 -135
  9. package/lib/doc/anchor.js +91 -91
  10. package/lib/doc/cell.js +1124 -1124
  11. package/lib/doc/column.js +320 -320
  12. package/lib/doc/data/theme1.json +234 -234
  13. package/lib/doc/data-validations.js +19 -19
  14. package/lib/doc/defined-names.js +196 -196
  15. package/lib/doc/enums.js +48 -48
  16. package/lib/doc/image.js +59 -59
  17. package/lib/doc/modelcontainer.js +18 -18
  18. package/lib/doc/note.js +65 -65
  19. package/lib/doc/pivot-table.js +132 -132
  20. package/lib/doc/range.js +257 -257
  21. package/lib/doc/row.js +415 -415
  22. package/lib/doc/table.js +465 -465
  23. package/lib/doc/workbook.js +224 -224
  24. package/lib/doc/worksheet.js +949 -949
  25. package/lib/exceljs.bare.js +13 -13
  26. package/lib/exceljs.browser.js +36 -36
  27. package/lib/exceljs.nodejs.js +14 -14
  28. package/lib/stream/xlsx/hyperlink-reader.js +83 -83
  29. package/lib/stream/xlsx/sheet-comments-writer.js +121 -121
  30. package/lib/stream/xlsx/sheet-rels-writer.js +119 -119
  31. package/lib/stream/xlsx/workbook-reader.js +337 -337
  32. package/lib/stream/xlsx/workbook-writer.js +372 -366
  33. package/lib/stream/xlsx/worksheet-reader.js +374 -374
  34. package/lib/stream/xlsx/worksheet-writer.js +717 -717
  35. package/lib/utils/auto-drain.js +15 -15
  36. package/lib/utils/browser-buffer-decode.js +14 -14
  37. package/lib/utils/browser-buffer-encode.js +15 -15
  38. package/lib/utils/cell-matrix.js +165 -165
  39. package/lib/utils/col-cache.js +287 -287
  40. package/lib/utils/copy-style.js +43 -43
  41. package/lib/utils/encryptor.js +55 -55
  42. package/lib/utils/iterate-stream.js +48 -48
  43. package/lib/utils/parse-sax.js +30 -30
  44. package/lib/utils/shared-formula.js +44 -44
  45. package/lib/utils/shared-strings.js +35 -35
  46. package/lib/utils/stream-base64.js +72 -72
  47. package/lib/utils/stream-buf.js +364 -364
  48. package/lib/utils/string-buf.js +82 -82
  49. package/lib/utils/string-builder.js +35 -35
  50. package/lib/utils/stuttered-pipe.js +67 -67
  51. package/lib/utils/typed-stack.js +24 -24
  52. package/lib/utils/under-dash.js +184 -184
  53. package/lib/utils/utils.js +205 -205
  54. package/lib/utils/xml-stream.js +169 -169
  55. package/lib/utils/zip-stream.js +87 -87
  56. package/lib/xlsx/.rels +10 -10
  57. package/lib/xlsx/calcChain.xml +5 -5
  58. package/lib/xlsx/core.xml +6 -6
  59. package/lib/xlsx/defaultnumformats.js +153 -153
  60. package/lib/xlsx/rel-type.js +20 -20
  61. package/lib/xlsx/styles.xml +40 -40
  62. package/lib/xlsx/workbook.xml +16 -16
  63. package/lib/xlsx/xform/base-xform.js +145 -145
  64. package/lib/xlsx/xform/book/defined-name-xform.js +91 -91
  65. package/lib/xlsx/xform/book/sheet-xform.js +34 -34
  66. package/lib/xlsx/xform/book/workbook-calc-properties-xform.js +26 -26
  67. package/lib/xlsx/xform/book/workbook-pivot-cache-xform.js +29 -29
  68. package/lib/xlsx/xform/book/workbook-properties-xform.js +29 -29
  69. package/lib/xlsx/xform/book/workbook-view-xform.js +53 -53
  70. package/lib/xlsx/xform/book/workbook-xform.js +259 -259
  71. package/lib/xlsx/xform/comment/comment-xform.js +105 -105
  72. package/lib/xlsx/xform/comment/comments-xform.js +82 -82
  73. package/lib/xlsx/xform/comment/style/vml-position-xform.js +39 -39
  74. package/lib/xlsx/xform/comment/style/vml-protection-xform.js +36 -36
  75. package/lib/xlsx/xform/comment/vml-anchor-xform.js +60 -60
  76. package/lib/xlsx/xform/comment/vml-client-data-xform.js +95 -95
  77. package/lib/xlsx/xform/comment/vml-notes-xform.js +107 -107
  78. package/lib/xlsx/xform/comment/vml-shape-xform.js +95 -95
  79. package/lib/xlsx/xform/comment/vml-textbox-xform.js +64 -64
  80. package/lib/xlsx/xform/composite-xform.js +56 -56
  81. package/lib/xlsx/xform/core/app-heading-pairs-xform.js +32 -32
  82. package/lib/xlsx/xform/core/app-titles-of-parts-xform.js +28 -28
  83. package/lib/xlsx/xform/core/app-xform.js +100 -100
  84. package/lib/xlsx/xform/core/content-types-xform.js +135 -135
  85. package/lib/xlsx/xform/core/core-xform.js +136 -136
  86. package/lib/xlsx/xform/core/relationship-xform.js +25 -25
  87. package/lib/xlsx/xform/core/relationships-xform.js +73 -73
  88. package/lib/xlsx/xform/drawing/base-cell-anchor-xform.js +48 -48
  89. package/lib/xlsx/xform/drawing/blip-fill-xform.js +71 -71
  90. package/lib/xlsx/xform/drawing/blip-xform.js +42 -42
  91. package/lib/xlsx/xform/drawing/c-nv-pic-pr-xform.js +38 -38
  92. package/lib/xlsx/xform/drawing/c-nv-pr-xform.js +68 -68
  93. package/lib/xlsx/xform/drawing/cell-position-xform.js +77 -77
  94. package/lib/xlsx/xform/drawing/drawing-xform.js +109 -109
  95. package/lib/xlsx/xform/drawing/ext-lst-xform.js +43 -43
  96. package/lib/xlsx/xform/drawing/ext-xform.js +44 -44
  97. package/lib/xlsx/xform/drawing/hlink-click-xform.js +41 -41
  98. package/lib/xlsx/xform/drawing/nv-pic-pr-xform.js +65 -65
  99. package/lib/xlsx/xform/drawing/one-cell-anchor-xform.js +63 -63
  100. package/lib/xlsx/xform/drawing/pic-xform.js +77 -77
  101. package/lib/xlsx/xform/drawing/sp-pr.js +17 -17
  102. package/lib/xlsx/xform/drawing/two-cell-anchor-xform.js +62 -62
  103. package/lib/xlsx/xform/list-xform.js +95 -95
  104. package/lib/xlsx/xform/pivot-table/cache-field.js +43 -43
  105. package/lib/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +77 -77
  106. package/lib/xlsx/xform/pivot-table/pivot-cache-records-xform.js +103 -103
  107. package/lib/xlsx/xform/pivot-table/pivot-table-xform.js +189 -189
  108. package/lib/xlsx/xform/sheet/auto-filter-xform.js +38 -38
  109. package/lib/xlsx/xform/sheet/cell-xform.js +498 -498
  110. package/lib/xlsx/xform/sheet/cf/cf-rule-xform.js +301 -301
  111. package/lib/xlsx/xform/sheet/cf/cfvo-xform.js +27 -27
  112. package/lib/xlsx/xform/sheet/cf/color-scale-xform.js +45 -45
  113. package/lib/xlsx/xform/sheet/cf/conditional-formatting-xform.js +48 -48
  114. package/lib/xlsx/xform/sheet/cf/conditional-formattings-xform.js +92 -92
  115. package/lib/xlsx/xform/sheet/cf/databar-xform.js +49 -49
  116. package/lib/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +87 -87
  117. package/lib/xlsx/xform/sheet/cf/formula-xform.js +25 -25
  118. package/lib/xlsx/xform/sheet/cf/icon-set-xform.js +47 -47
  119. package/lib/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +27 -27
  120. package/lib/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +98 -98
  121. package/lib/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +43 -43
  122. package/lib/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +62 -62
  123. package/lib/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +50 -50
  124. package/lib/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +98 -98
  125. package/lib/xlsx/xform/sheet/cf-ext/f-ext-xform.js +25 -25
  126. package/lib/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +73 -73
  127. package/lib/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +25 -25
  128. package/lib/xlsx/xform/sheet/col-xform.js +86 -86
  129. package/lib/xlsx/xform/sheet/data-validations-xform.js +257 -257
  130. package/lib/xlsx/xform/sheet/dimension-xform.js +29 -29
  131. package/lib/xlsx/xform/sheet/drawing-xform.js +33 -33
  132. package/lib/xlsx/xform/sheet/ext-lst-xform.js +86 -86
  133. package/lib/xlsx/xform/sheet/header-footer-xform.js +146 -146
  134. package/lib/xlsx/xform/sheet/hyperlink-xform.js +54 -54
  135. package/lib/xlsx/xform/sheet/merge-cell-xform.js +27 -27
  136. package/lib/xlsx/xform/sheet/merges.js +56 -56
  137. package/lib/xlsx/xform/sheet/outline-properties-xform.js +43 -43
  138. package/lib/xlsx/xform/sheet/page-breaks-xform.js +27 -27
  139. package/lib/xlsx/xform/sheet/page-margins-xform.js +49 -49
  140. package/lib/xlsx/xform/sheet/page-setup-properties-xform.js +35 -35
  141. package/lib/xlsx/xform/sheet/page-setup-xform.js +103 -103
  142. package/lib/xlsx/xform/sheet/picture-xform.js +33 -33
  143. package/lib/xlsx/xform/sheet/print-options-xform.js +49 -49
  144. package/lib/xlsx/xform/sheet/row-breaks-xform.js +39 -39
  145. package/lib/xlsx/xform/sheet/row-xform.js +142 -142
  146. package/lib/xlsx/xform/sheet/sheet-format-properties-xform.js +55 -55
  147. package/lib/xlsx/xform/sheet/sheet-properties-xform.js +90 -90
  148. package/lib/xlsx/xform/sheet/sheet-protection-xform.js +89 -89
  149. package/lib/xlsx/xform/sheet/sheet-view-xform.js +202 -202
  150. package/lib/xlsx/xform/sheet/table-part-xform.js +33 -33
  151. package/lib/xlsx/xform/sheet/worksheet-xform.js +548 -548
  152. package/lib/xlsx/xform/simple/boolean-xform.js +31 -31
  153. package/lib/xlsx/xform/simple/date-xform.js +66 -66
  154. package/lib/xlsx/xform/simple/float-xform.js +51 -51
  155. package/lib/xlsx/xform/simple/integer-xform.js +57 -57
  156. package/lib/xlsx/xform/simple/string-xform.js +51 -51
  157. package/lib/xlsx/xform/static-xform.js +64 -64
  158. package/lib/xlsx/xform/strings/phonetic-text-xform.js +98 -98
  159. package/lib/xlsx/xform/strings/rich-text-xform.js +101 -101
  160. package/lib/xlsx/xform/strings/shared-string-xform.js +102 -102
  161. package/lib/xlsx/xform/strings/shared-strings-xform.js +127 -127
  162. package/lib/xlsx/xform/strings/text-xform.js +44 -44
  163. package/lib/xlsx/xform/style/alignment-xform.js +172 -172
  164. package/lib/xlsx/xform/style/border-xform.js +207 -207
  165. package/lib/xlsx/xform/style/color-xform.js +63 -63
  166. package/lib/xlsx/xform/style/dxf-xform.js +111 -111
  167. package/lib/xlsx/xform/style/fill-xform.js +364 -364
  168. package/lib/xlsx/xform/style/font-xform.js +102 -102
  169. package/lib/xlsx/xform/style/numfmt-xform.js +63 -63
  170. package/lib/xlsx/xform/style/protection-xform.js +60 -60
  171. package/lib/xlsx/xform/style/style-xform.js +125 -125
  172. package/lib/xlsx/xform/style/styles-xform.js +527 -527
  173. package/lib/xlsx/xform/style/underline-xform.js +47 -47
  174. package/lib/xlsx/xform/table/auto-filter-xform.js +81 -81
  175. package/lib/xlsx/xform/table/custom-filter-xform.js +33 -33
  176. package/lib/xlsx/xform/table/filter-column-xform.js +96 -96
  177. package/lib/xlsx/xform/table/filter-xform.js +31 -31
  178. package/lib/xlsx/xform/table/table-column-xform.js +44 -44
  179. package/lib/xlsx/xform/table/table-style-info-xform.js +41 -41
  180. package/lib/xlsx/xform/table/table-xform.js +131 -131
  181. package/lib/xlsx/xlsx.js +774 -774
  182. package/lib/xlsx/xml/theme1.js +3 -3
  183. package/lib/xlsx/xml/theme1.xml +317 -317
  184. package/package.json +1 -1
  185. package/dist/LICENSE +0 -22
  186. package/dist/es5/csv/csv.js +0 -182
  187. package/dist/es5/csv/csv.js.map +0 -1
  188. package/dist/es5/csv/line-buffer.js +0 -68
  189. package/dist/es5/csv/line-buffer.js.map +0 -1
  190. package/dist/es5/csv/stream-converter.js +0 -110
  191. package/dist/es5/csv/stream-converter.js.map +0 -1
  192. package/dist/es5/doc/anchor.js +0 -73
  193. package/dist/es5/doc/anchor.js.map +0 -1
  194. package/dist/es5/doc/cell.js +0 -960
  195. package/dist/es5/doc/cell.js.map +0 -1
  196. package/dist/es5/doc/column.js +0 -274
  197. package/dist/es5/doc/column.js.map +0 -1
  198. package/dist/es5/doc/data-validations.js +0 -18
  199. package/dist/es5/doc/data-validations.js.map +0 -1
  200. package/dist/es5/doc/defined-names.js +0 -173
  201. package/dist/es5/doc/defined-names.js.map +0 -1
  202. package/dist/es5/doc/enums.js +0 -49
  203. package/dist/es5/doc/enums.js.map +0 -1
  204. package/dist/es5/doc/image.js +0 -69
  205. package/dist/es5/doc/image.js.map +0 -1
  206. package/dist/es5/doc/modelcontainer.js +0 -16
  207. package/dist/es5/doc/modelcontainer.js.map +0 -1
  208. package/dist/es5/doc/note.js +0 -64
  209. package/dist/es5/doc/note.js.map +0 -1
  210. package/dist/es5/doc/pivot-table.js +0 -137
  211. package/dist/es5/doc/pivot-table.js.map +0 -1
  212. package/dist/es5/doc/range.js +0 -229
  213. package/dist/es5/doc/range.js.map +0 -1
  214. package/dist/es5/doc/row.js +0 -382
  215. package/dist/es5/doc/row.js.map +0 -1
  216. package/dist/es5/doc/table.js +0 -441
  217. package/dist/es5/doc/table.js.map +0 -1
  218. package/dist/es5/doc/workbook.js +0 -205
  219. package/dist/es5/doc/workbook.js.map +0 -1
  220. package/dist/es5/doc/worksheet.js +0 -918
  221. package/dist/es5/doc/worksheet.js.map +0 -1
  222. package/dist/es5/exceljs.bare.js +0 -14
  223. package/dist/es5/exceljs.bare.js.map +0 -1
  224. package/dist/es5/exceljs.browser.js +0 -36
  225. package/dist/es5/exceljs.browser.js.map +0 -1
  226. package/dist/es5/exceljs.nodejs.js +0 -15
  227. package/dist/es5/exceljs.nodejs.js.map +0 -1
  228. package/dist/es5/index.js +0 -15
  229. package/dist/es5/stream/xlsx/hyperlink-reader.js +0 -90
  230. package/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
  231. package/dist/es5/stream/xlsx/sheet-comments-writer.js +0 -94
  232. package/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
  233. package/dist/es5/stream/xlsx/sheet-rels-writer.js +0 -94
  234. package/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
  235. package/dist/es5/stream/xlsx/workbook-reader.js +0 -362
  236. package/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
  237. package/dist/es5/stream/xlsx/workbook-writer.js +0 -347
  238. package/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
  239. package/dist/es5/stream/xlsx/worksheet-reader.js +0 -392
  240. package/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
  241. package/dist/es5/stream/xlsx/worksheet-writer.js +0 -652
  242. package/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
  243. package/dist/es5/utils/auto-drain.js +0 -18
  244. package/dist/es5/utils/auto-drain.js.map +0 -1
  245. package/dist/es5/utils/browser-buffer-decode.js +0 -15
  246. package/dist/es5/utils/browser-buffer-decode.js.map +0 -1
  247. package/dist/es5/utils/browser-buffer-encode.js +0 -18
  248. package/dist/es5/utils/browser-buffer-encode.js.map +0 -1
  249. package/dist/es5/utils/cell-matrix.js +0 -149
  250. package/dist/es5/utils/cell-matrix.js.map +0 -1
  251. package/dist/es5/utils/col-cache.js +0 -258
  252. package/dist/es5/utils/col-cache.js.map +0 -1
  253. package/dist/es5/utils/copy-style.js +0 -43
  254. package/dist/es5/utils/copy-style.js.map +0 -1
  255. package/dist/es5/utils/encryptor.js +0 -58
  256. package/dist/es5/utils/encryptor.js.map +0 -1
  257. package/dist/es5/utils/iterate-stream.js +0 -46
  258. package/dist/es5/utils/iterate-stream.js.map +0 -1
  259. package/dist/es5/utils/parse-sax.js +0 -47
  260. package/dist/es5/utils/parse-sax.js.map +0 -1
  261. package/dist/es5/utils/shared-formula.js +0 -42
  262. package/dist/es5/utils/shared-formula.js.map +0 -1
  263. package/dist/es5/utils/shared-strings.js +0 -32
  264. package/dist/es5/utils/shared-strings.js.map +0 -1
  265. package/dist/es5/utils/stream-base64.js +0 -66
  266. package/dist/es5/utils/stream-base64.js.map +0 -1
  267. package/dist/es5/utils/stream-buf.js +0 -343
  268. package/dist/es5/utils/stream-buf.js.map +0 -1
  269. package/dist/es5/utils/string-buf.js +0 -73
  270. package/dist/es5/utils/string-buf.js.map +0 -1
  271. package/dist/es5/utils/string-builder.js +0 -32
  272. package/dist/es5/utils/string-builder.js.map +0 -1
  273. package/dist/es5/utils/stuttered-pipe.js +0 -61
  274. package/dist/es5/utils/stuttered-pipe.js.map +0 -1
  275. package/dist/es5/utils/typed-stack.js +0 -23
  276. package/dist/es5/utils/typed-stack.js.map +0 -1
  277. package/dist/es5/utils/under-dash.js +0 -168
  278. package/dist/es5/utils/under-dash.js.map +0 -1
  279. package/dist/es5/utils/utils.js +0 -204
  280. package/dist/es5/utils/utils.js.map +0 -1
  281. package/dist/es5/utils/xml-stream.js +0 -151
  282. package/dist/es5/utils/xml-stream.js.map +0 -1
  283. package/dist/es5/utils/zip-stream.js +0 -79
  284. package/dist/es5/utils/zip-stream.js.map +0 -1
  285. package/dist/es5/xlsx/defaultnumformats.js +0 -230
  286. package/dist/es5/xlsx/defaultnumformats.js.map +0 -1
  287. package/dist/es5/xlsx/rel-type.js +0 -21
  288. package/dist/es5/xlsx/rel-type.js.map +0 -1
  289. package/dist/es5/xlsx/xform/base-xform.js +0 -139
  290. package/dist/es5/xlsx/xform/base-xform.js.map +0 -1
  291. package/dist/es5/xlsx/xform/book/defined-name-xform.js +0 -85
  292. package/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
  293. package/dist/es5/xlsx/xform/book/sheet-xform.js +0 -32
  294. package/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
  295. package/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  296. package/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
  297. package/dist/es5/xlsx/xform/book/workbook-pivot-cache-xform.js +0 -27
  298. package/dist/es5/xlsx/xform/book/workbook-pivot-cache-xform.js.map +0 -1
  299. package/dist/es5/xlsx/xform/book/workbook-properties-xform.js +0 -27
  300. package/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
  301. package/dist/es5/xlsx/xform/book/workbook-view-xform.js +0 -51
  302. package/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
  303. package/dist/es5/xlsx/xform/book/workbook-xform.js +0 -241
  304. package/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
  305. package/dist/es5/xlsx/xform/comment/comment-xform.js +0 -103
  306. package/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
  307. package/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
  308. package/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
  309. package/dist/es5/xlsx/xform/comment/style/vml-position-xform.js +0 -35
  310. package/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
  311. package/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js +0 -32
  312. package/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
  313. package/dist/es5/xlsx/xform/comment/vml-anchor-xform.js +0 -53
  314. package/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
  315. package/dist/es5/xlsx/xform/comment/vml-client-data-xform.js +0 -97
  316. package/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
  317. package/dist/es5/xlsx/xform/comment/vml-notes-xform.js +0 -107
  318. package/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
  319. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js +0 -92
  320. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
  321. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +0 -61
  322. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
  323. package/dist/es5/xlsx/xform/composite-xform.js +0 -51
  324. package/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
  325. package/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js +0 -30
  326. package/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
  327. package/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js +0 -27
  328. package/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
  329. package/dist/es5/xlsx/xform/core/app-xform.js +0 -93
  330. package/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
  331. package/dist/es5/xlsx/xform/core/content-types-xform.js +0 -127
  332. package/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
  333. package/dist/es5/xlsx/xform/core/core-xform.js +0 -158
  334. package/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
  335. package/dist/es5/xlsx/xform/core/relationship-xform.js +0 -23
  336. package/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
  337. package/dist/es5/xlsx/xform/core/relationships-xform.js +0 -65
  338. package/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
  339. package/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  340. package/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
  341. package/dist/es5/xlsx/xform/drawing/blip-fill-xform.js +0 -61
  342. package/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
  343. package/dist/es5/xlsx/xform/drawing/blip-xform.js +0 -39
  344. package/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
  345. package/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  346. package/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
  347. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  348. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
  349. package/dist/es5/xlsx/xform/drawing/cell-position-xform.js +0 -82
  350. package/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
  351. package/dist/es5/xlsx/xform/drawing/drawing-xform.js +0 -98
  352. package/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
  353. package/dist/es5/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  354. package/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
  355. package/dist/es5/xlsx/xform/drawing/ext-xform.js +0 -38
  356. package/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
  357. package/dist/es5/xlsx/xform/drawing/hlink-click-xform.js +0 -38
  358. package/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
  359. package/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  360. package/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
  361. package/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -63
  362. package/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
  363. package/dist/es5/xlsx/xform/drawing/pic-xform.js +0 -67
  364. package/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
  365. package/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
  366. package/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
  367. package/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -62
  368. package/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
  369. package/dist/es5/xlsx/xform/list-xform.js +0 -91
  370. package/dist/es5/xlsx/xform/list-xform.js.map +0 -1
  371. package/dist/es5/xlsx/xform/pivot-table/cache-field.js +0 -48
  372. package/dist/es5/xlsx/xform/pivot-table/cache-field.js.map +0 -1
  373. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +0 -73
  374. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js.map +0 -1
  375. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js +0 -93
  376. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js.map +0 -1
  377. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js +0 -176
  378. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js.map +0 -1
  379. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +0 -40
  380. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
  381. package/dist/es5/xlsx/xform/sheet/cell-xform.js +0 -450
  382. package/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
  383. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -275
  384. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
  385. package/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  386. package/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
  387. package/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  388. package/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
  389. package/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -45
  390. package/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
  391. package/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  392. package/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
  393. package/dist/es5/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  394. package/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
  395. package/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -71
  396. package/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
  397. package/dist/es5/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  398. package/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
  399. package/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js +0 -43
  400. package/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
  401. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -28
  402. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
  403. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -88
  404. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
  405. package/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  406. package/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
  407. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -52
  408. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
  409. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  410. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
  411. package/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -75
  412. package/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
  413. package/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  414. package/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
  415. package/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -66
  416. package/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
  417. package/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  418. package/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
  419. package/dist/es5/xlsx/xform/sheet/col-xform.js +0 -78
  420. package/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
  421. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js +0 -247
  422. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
  423. package/dist/es5/xlsx/xform/sheet/dimension-xform.js +0 -28
  424. package/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
  425. package/dist/es5/xlsx/xform/sheet/drawing-xform.js +0 -32
  426. package/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
  427. package/dist/es5/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  428. package/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
  429. package/dist/es5/xlsx/xform/sheet/header-footer-xform.js +0 -126
  430. package/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
  431. package/dist/es5/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  432. package/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
  433. package/dist/es5/xlsx/xform/sheet/merge-cell-xform.js +0 -26
  434. package/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
  435. package/dist/es5/xlsx/xform/sheet/merges.js +0 -52
  436. package/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
  437. package/dist/es5/xlsx/xform/sheet/outline-properties-xform.js +0 -35
  438. package/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
  439. package/dist/es5/xlsx/xform/sheet/page-breaks-xform.js +0 -24
  440. package/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
  441. package/dist/es5/xlsx/xform/sheet/page-margins-xform.js +0 -46
  442. package/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
  443. package/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  444. package/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
  445. package/dist/es5/xlsx/xform/sheet/page-setup-xform.js +0 -99
  446. package/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
  447. package/dist/es5/xlsx/xform/sheet/picture-xform.js +0 -32
  448. package/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
  449. package/dist/es5/xlsx/xform/sheet/print-options-xform.js +0 -45
  450. package/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
  451. package/dist/es5/xlsx/xform/sheet/row-breaks-xform.js +0 -37
  452. package/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
  453. package/dist/es5/xlsx/xform/sheet/row-xform.js +0 -128
  454. package/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
  455. package/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -51
  456. package/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
  457. package/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js +0 -83
  458. package/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
  459. package/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js +0 -84
  460. package/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
  461. package/dist/es5/xlsx/xform/sheet/sheet-view-xform.js +0 -190
  462. package/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
  463. package/dist/es5/xlsx/xform/sheet/table-part-xform.js +0 -32
  464. package/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
  465. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js +0 -522
  466. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
  467. package/dist/es5/xlsx/xform/simple/boolean-xform.js +0 -27
  468. package/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
  469. package/dist/es5/xlsx/xform/simple/date-xform.js +0 -58
  470. package/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
  471. package/dist/es5/xlsx/xform/simple/float-xform.js +0 -47
  472. package/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
  473. package/dist/es5/xlsx/xform/simple/integer-xform.js +0 -53
  474. package/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
  475. package/dist/es5/xlsx/xform/simple/string-xform.js +0 -47
  476. package/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
  477. package/dist/es5/xlsx/xform/static-xform.js +0 -61
  478. package/dist/es5/xlsx/xform/static-xform.js.map +0 -1
  479. package/dist/es5/xlsx/xform/strings/phonetic-text-xform.js +0 -98
  480. package/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
  481. package/dist/es5/xlsx/xform/strings/rich-text-xform.js +0 -92
  482. package/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
  483. package/dist/es5/xlsx/xform/strings/shared-string-xform.js +0 -99
  484. package/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
  485. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js +0 -114
  486. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
  487. package/dist/es5/xlsx/xform/strings/text-xform.js +0 -39
  488. package/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
  489. package/dist/es5/xlsx/xform/style/alignment-xform.js +0 -139
  490. package/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
  491. package/dist/es5/xlsx/xform/style/border-xform.js +0 -185
  492. package/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
  493. package/dist/es5/xlsx/xform/style/color-xform.js +0 -66
  494. package/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
  495. package/dist/es5/xlsx/xform/style/dxf-xform.js +0 -106
  496. package/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
  497. package/dist/es5/xlsx/xform/style/fill-xform.js +0 -307
  498. package/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
  499. package/dist/es5/xlsx/xform/style/font-xform.js +0 -175
  500. package/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
  501. package/dist/es5/xlsx/xform/style/numfmt-xform.js +0 -58
  502. package/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
  503. package/dist/es5/xlsx/xform/style/protection-xform.js +0 -53
  504. package/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
  505. package/dist/es5/xlsx/xform/style/style-xform.js +0 -118
  506. package/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
  507. package/dist/es5/xlsx/xform/style/styles-xform.js +0 -611
  508. package/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
  509. package/dist/es5/xlsx/xform/style/underline-xform.js +0 -46
  510. package/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
  511. package/dist/es5/xlsx/xform/table/auto-filter-xform.js +0 -75
  512. package/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
  513. package/dist/es5/xlsx/xform/table/custom-filter-xform.js +0 -30
  514. package/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
  515. package/dist/es5/xlsx/xform/table/filter-column-xform.js +0 -89
  516. package/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
  517. package/dist/es5/xlsx/xform/table/filter-xform.js +0 -28
  518. package/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
  519. package/dist/es5/xlsx/xform/table/table-column-xform.js +0 -42
  520. package/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
  521. package/dist/es5/xlsx/xform/table/table-style-info-xform.js +0 -40
  522. package/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
  523. package/dist/es5/xlsx/xform/table/table-xform.js +0 -122
  524. package/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
  525. package/dist/es5/xlsx/xlsx.js +0 -775
  526. package/dist/es5/xlsx/xlsx.js.map +0 -1
  527. package/dist/es5/xlsx/xml/theme1.js +0 -5
  528. package/dist/es5/xlsx/xml/theme1.js.map +0 -1
  529. package/dist/exceljs.bare.js +0 -57759
  530. package/dist/exceljs.bare.js.map +0 -777
  531. package/dist/exceljs.bare.min.js +0 -45
  532. package/dist/exceljs.bare.min.js.map +0 -1
  533. package/dist/exceljs.js +0 -62398
  534. package/dist/exceljs.js.map +0 -1095
  535. package/dist/exceljs.min.js +0 -45
  536. package/dist/exceljs.min.js.map +0 -1
@@ -1,55 +1,55 @@
1
- 'use strict';
2
-
3
- const crypto = require('crypto');
4
-
5
- const Encryptor = {
6
- /**
7
- * Calculate a hash of the concatenated buffers with the given algorithm.
8
- * @param {string} algorithm - The hash algorithm.
9
- * @returns {Buffer} The hash
10
- */
11
- hash(algorithm, ...buffers) {
12
- const hash = crypto.createHash(algorithm);
13
- hash.update(Buffer.concat(buffers));
14
- return hash.digest();
15
- },
16
- /**
17
- * Convert a password into an encryption key
18
- * @param {string} password - The password
19
- * @param {string} hashAlgorithm - The hash algoritm
20
- * @param {string} saltValue - The salt value
21
- * @param {number} spinCount - The spin count
22
- * @param {number} keyBits - The length of the key in bits
23
- * @param {Buffer} blockKey - The block key
24
- * @returns {Buffer} The encryption key
25
- */
26
- convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {
27
- hashAlgorithm = hashAlgorithm.toLowerCase();
28
- const hashes = crypto.getHashes();
29
- if (hashes.indexOf(hashAlgorithm) < 0) {
30
- throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);
31
- }
32
-
33
- // Password must be in unicode buffer
34
- const passwordBuffer = Buffer.from(password, 'utf16le');
35
- // Generate the initial hash
36
- let key = this.hash(hashAlgorithm, Buffer.from(saltValue, 'base64'), passwordBuffer);
37
- // Now regenerate until spin count
38
- for (let i = 0; i < spinCount; i++) {
39
- const iterator = Buffer.alloc(4);
40
- // this is the 'special' element of Excel password hashing
41
- // that stops us from using crypto.pbkdf2()
42
- iterator.writeUInt32LE(i, 0);
43
- key = this.hash(hashAlgorithm, key, iterator);
44
- }
45
- return key.toString('base64');
46
- },
47
- /**
48
- * Generates cryptographically strong pseudo-random data.
49
- * @param size The size argument is a number indicating the number of bytes to generate.
50
- */
51
- randomBytes(size) {
52
- return crypto.randomBytes(size);
53
- },
54
- };
55
- module.exports = Encryptor;
1
+ 'use strict';
2
+
3
+ const crypto = require('crypto');
4
+
5
+ const Encryptor = {
6
+ /**
7
+ * Calculate a hash of the concatenated buffers with the given algorithm.
8
+ * @param {string} algorithm - The hash algorithm.
9
+ * @returns {Buffer} The hash
10
+ */
11
+ hash(algorithm, ...buffers) {
12
+ const hash = crypto.createHash(algorithm);
13
+ hash.update(Buffer.concat(buffers));
14
+ return hash.digest();
15
+ },
16
+ /**
17
+ * Convert a password into an encryption key
18
+ * @param {string} password - The password
19
+ * @param {string} hashAlgorithm - The hash algoritm
20
+ * @param {string} saltValue - The salt value
21
+ * @param {number} spinCount - The spin count
22
+ * @param {number} keyBits - The length of the key in bits
23
+ * @param {Buffer} blockKey - The block key
24
+ * @returns {Buffer} The encryption key
25
+ */
26
+ convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {
27
+ hashAlgorithm = hashAlgorithm.toLowerCase();
28
+ const hashes = crypto.getHashes();
29
+ if (hashes.indexOf(hashAlgorithm) < 0) {
30
+ throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);
31
+ }
32
+
33
+ // Password must be in unicode buffer
34
+ const passwordBuffer = Buffer.from(password, 'utf16le');
35
+ // Generate the initial hash
36
+ let key = this.hash(hashAlgorithm, Buffer.from(saltValue, 'base64'), passwordBuffer);
37
+ // Now regenerate until spin count
38
+ for (let i = 0; i < spinCount; i++) {
39
+ const iterator = Buffer.alloc(4);
40
+ // this is the 'special' element of Excel password hashing
41
+ // that stops us from using crypto.pbkdf2()
42
+ iterator.writeUInt32LE(i, 0);
43
+ key = this.hash(hashAlgorithm, key, iterator);
44
+ }
45
+ return key.toString('base64');
46
+ },
47
+ /**
48
+ * Generates cryptographically strong pseudo-random data.
49
+ * @param size The size argument is a number indicating the number of bytes to generate.
50
+ */
51
+ randomBytes(size) {
52
+ return crypto.randomBytes(size);
53
+ },
54
+ };
55
+ module.exports = Encryptor;
@@ -1,48 +1,48 @@
1
- module.exports = async function* iterateStream(stream) {
2
- const contents = [];
3
- stream.on('data', data => contents.push(data));
4
-
5
- let resolveStreamEndedPromise;
6
- const streamEndedPromise = new Promise(resolve => (resolveStreamEndedPromise = resolve));
7
-
8
- let ended = false;
9
- stream.on('end', () => {
10
- ended = true;
11
- resolveStreamEndedPromise();
12
- });
13
-
14
- let error = false;
15
- stream.on('error', err => {
16
- error = err;
17
- resolveStreamEndedPromise();
18
- });
19
-
20
- while (!ended || contents.length > 0) {
21
- if (contents.length === 0) {
22
- stream.resume();
23
- // eslint-disable-next-line no-await-in-loop
24
- await Promise.race([once(stream, 'data'), streamEndedPromise]);
25
- } else {
26
- stream.pause();
27
- const data = contents.shift();
28
- yield data;
29
- }
30
- if (error) throw error;
31
- }
32
- resolveStreamEndedPromise();
33
- };
34
-
35
- function once(eventEmitter, type) {
36
- // TODO: Use require('events').once when node v10 is dropped
37
- return new Promise(resolve => {
38
- let fired = false;
39
- const handler = () => {
40
- if (!fired) {
41
- fired = true;
42
- eventEmitter.removeListener(type, handler);
43
- resolve();
44
- }
45
- };
46
- eventEmitter.addListener(type, handler);
47
- });
48
- }
1
+ module.exports = async function* iterateStream(stream) {
2
+ const contents = [];
3
+ stream.on('data', data => contents.push(data));
4
+
5
+ let resolveStreamEndedPromise;
6
+ const streamEndedPromise = new Promise(resolve => (resolveStreamEndedPromise = resolve));
7
+
8
+ let ended = false;
9
+ stream.on('end', () => {
10
+ ended = true;
11
+ resolveStreamEndedPromise();
12
+ });
13
+
14
+ let error = false;
15
+ stream.on('error', err => {
16
+ error = err;
17
+ resolveStreamEndedPromise();
18
+ });
19
+
20
+ while (!ended || contents.length > 0) {
21
+ if (contents.length === 0) {
22
+ stream.resume();
23
+ // eslint-disable-next-line no-await-in-loop
24
+ await Promise.race([once(stream, 'data'), streamEndedPromise]);
25
+ } else {
26
+ stream.pause();
27
+ const data = contents.shift();
28
+ yield data;
29
+ }
30
+ if (error) throw error;
31
+ }
32
+ resolveStreamEndedPromise();
33
+ };
34
+
35
+ function once(eventEmitter, type) {
36
+ // TODO: Use require('events').once when node v10 is dropped
37
+ return new Promise(resolve => {
38
+ let fired = false;
39
+ const handler = () => {
40
+ if (!fired) {
41
+ fired = true;
42
+ eventEmitter.removeListener(type, handler);
43
+ resolve();
44
+ }
45
+ };
46
+ eventEmitter.addListener(type, handler);
47
+ });
48
+ }
@@ -1,30 +1,30 @@
1
- const {SaxesParser} = require('saxes');
2
- const {PassThrough} = require('readable-stream');
3
- const {bufferToString} = require('./browser-buffer-decode');
4
-
5
- module.exports = async function* (iterable) {
6
- // TODO: Remove once node v8 is deprecated
7
- // Detect and upgrade old streams
8
- if (iterable.pipe && !iterable[Symbol.asyncIterator]) {
9
- iterable = iterable.pipe(new PassThrough());
10
- }
11
- const saxesParser = new SaxesParser();
12
- let error;
13
- saxesParser.on('error', err => {
14
- error = err;
15
- });
16
- let events = [];
17
- saxesParser.on('opentag', value => events.push({eventType: 'opentag', value}));
18
- saxesParser.on('text', value => events.push({eventType: 'text', value}));
19
- saxesParser.on('closetag', value => events.push({eventType: 'closetag', value}));
20
- for await (const chunk of iterable) {
21
- saxesParser.write(bufferToString(chunk));
22
- // saxesParser.write and saxesParser.on() are synchronous,
23
- // so we can only reach the below line once all events have been emitted
24
- if (error) throw error;
25
- // As a performance optimization, we gather all events instead of passing
26
- // them one by one, which would cause each event to go through the event queue
27
- yield events;
28
- events = [];
29
- }
30
- };
1
+ const {SaxesParser} = require('saxes');
2
+ const {PassThrough} = require('readable-stream');
3
+ const {bufferToString} = require('./browser-buffer-decode');
4
+
5
+ module.exports = async function* (iterable) {
6
+ // TODO: Remove once node v8 is deprecated
7
+ // Detect and upgrade old streams
8
+ if (iterable.pipe && !iterable[Symbol.asyncIterator]) {
9
+ iterable = iterable.pipe(new PassThrough());
10
+ }
11
+ const saxesParser = new SaxesParser();
12
+ let error;
13
+ saxesParser.on('error', err => {
14
+ error = err;
15
+ });
16
+ let events = [];
17
+ saxesParser.on('opentag', value => events.push({eventType: 'opentag', value}));
18
+ saxesParser.on('text', value => events.push({eventType: 'text', value}));
19
+ saxesParser.on('closetag', value => events.push({eventType: 'closetag', value}));
20
+ for await (const chunk of iterable) {
21
+ saxesParser.write(bufferToString(chunk));
22
+ // saxesParser.write and saxesParser.on() are synchronous,
23
+ // so we can only reach the below line once all events have been emitted
24
+ if (error) throw error;
25
+ // As a performance optimization, we gather all events instead of passing
26
+ // them one by one, which would cause each event to go through the event queue
27
+ yield events;
28
+ events = [];
29
+ }
30
+ };
@@ -1,44 +1,44 @@
1
- const colCache = require('./col-cache');
2
-
3
- // const cellRefRegex = /(([a-z_\-0-9]*)!)?[$]?([a-z]+)[$]?([1-9][0-9]*)/i;
4
- const replacementCandidateRx = /(([a-z_\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi;
5
- const CRrx = /^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;
6
-
7
- function slideFormula(formula, fromCell, toCell) {
8
- const offset = colCache.decode(fromCell);
9
- const to = colCache.decode(toCell);
10
- return formula.replace(
11
- replacementCandidateRx,
12
- (refMatch, sheet, sheetMaybe, addrPart, trailingParen) => {
13
- if (trailingParen) {
14
- return refMatch;
15
- }
16
- const match = CRrx.exec(addrPart);
17
- if (match) {
18
- const colDollar = match[1];
19
- const colStr = match[2].toUpperCase();
20
- const rowDollar = match[3];
21
- const rowStr = match[4];
22
- if (colStr.length > 3 || (colStr.length === 3 && colStr > 'XFD')) {
23
- // > XFD is the highest col number in excel 2007 and beyond, so this is a named range
24
- return refMatch;
25
- }
26
- let col = colCache.l2n(colStr);
27
- let row = parseInt(rowStr, 10);
28
- if (!colDollar) {
29
- col += to.col - offset.col;
30
- }
31
- if (!rowDollar) {
32
- row += to.row - offset.row;
33
- }
34
- const res = (sheet || '') + (colDollar || '') + colCache.n2l(col) + (rowDollar || '') + row;
35
- return res;
36
- }
37
- return refMatch;
38
- }
39
- );
40
- }
41
-
42
- module.exports = {
43
- slideFormula,
44
- };
1
+ const colCache = require('./col-cache');
2
+
3
+ // const cellRefRegex = /(([a-z_\-0-9]*)!)?[$]?([a-z]+)[$]?([1-9][0-9]*)/i;
4
+ const replacementCandidateRx = /(([a-z_\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi;
5
+ const CRrx = /^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;
6
+
7
+ function slideFormula(formula, fromCell, toCell) {
8
+ const offset = colCache.decode(fromCell);
9
+ const to = colCache.decode(toCell);
10
+ return formula.replace(
11
+ replacementCandidateRx,
12
+ (refMatch, sheet, sheetMaybe, addrPart, trailingParen) => {
13
+ if (trailingParen) {
14
+ return refMatch;
15
+ }
16
+ const match = CRrx.exec(addrPart);
17
+ if (match) {
18
+ const colDollar = match[1];
19
+ const colStr = match[2].toUpperCase();
20
+ const rowDollar = match[3];
21
+ const rowStr = match[4];
22
+ if (colStr.length > 3 || (colStr.length === 3 && colStr > 'XFD')) {
23
+ // > XFD is the highest col number in excel 2007 and beyond, so this is a named range
24
+ return refMatch;
25
+ }
26
+ let col = colCache.l2n(colStr);
27
+ let row = parseInt(rowStr, 10);
28
+ if (!colDollar) {
29
+ col += to.col - offset.col;
30
+ }
31
+ if (!rowDollar) {
32
+ row += to.row - offset.row;
33
+ }
34
+ const res = (sheet || '') + (colDollar || '') + colCache.n2l(col) + (rowDollar || '') + row;
35
+ return res;
36
+ }
37
+ return refMatch;
38
+ }
39
+ );
40
+ }
41
+
42
+ module.exports = {
43
+ slideFormula,
44
+ };
@@ -1,35 +1,35 @@
1
- class SharedStrings {
2
- constructor() {
3
- this._values = [];
4
- this._totalRefs = 0;
5
- this._hash = Object.create(null);
6
- }
7
-
8
- get count() {
9
- return this._values.length;
10
- }
11
-
12
- get values() {
13
- return this._values;
14
- }
15
-
16
- get totalRefs() {
17
- return this._totalRefs;
18
- }
19
-
20
- getString(index) {
21
- return this._values[index];
22
- }
23
-
24
- add(value) {
25
- let index = this._hash[value];
26
- if (index === undefined) {
27
- index = this._hash[value] = this._values.length;
28
- this._values.push(value);
29
- }
30
- this._totalRefs++;
31
- return index;
32
- }
33
- }
34
-
35
- module.exports = SharedStrings;
1
+ class SharedStrings {
2
+ constructor() {
3
+ this._values = [];
4
+ this._totalRefs = 0;
5
+ this._hash = Object.create(null);
6
+ }
7
+
8
+ get count() {
9
+ return this._values.length;
10
+ }
11
+
12
+ get values() {
13
+ return this._values;
14
+ }
15
+
16
+ get totalRefs() {
17
+ return this._totalRefs;
18
+ }
19
+
20
+ getString(index) {
21
+ return this._values[index];
22
+ }
23
+
24
+ add(value) {
25
+ let index = this._hash[value];
26
+ if (index === undefined) {
27
+ index = this._hash[value] = this._values.length;
28
+ this._values.push(value);
29
+ }
30
+ this._totalRefs++;
31
+ return index;
32
+ }
33
+ }
34
+
35
+ module.exports = SharedStrings;
@@ -1,72 +1,72 @@
1
- const Stream = require('readable-stream');
2
-
3
- // =============================================================================
4
- // StreamBase64 - A utility to convert to/from base64 stream
5
- // Note: does not buffer data, must be piped
6
- class StreamBase64 extends Stream.Duplex {
7
- constructor() {
8
- super();
9
-
10
- // consuming pipe streams go here
11
- this.pipes = [];
12
- }
13
-
14
- // writable
15
- // event drain - if write returns false (which it won't), indicates when safe to write again.
16
- // finish - end() has been called
17
- // pipe(src) - pipe() has been called on readable
18
- // unpipe(src) - unpipe() has been called on readable
19
- // error - duh
20
-
21
- write(/* data, encoding */) {
22
- return true;
23
- }
24
-
25
- cork() {}
26
-
27
- uncork() {}
28
-
29
- end(/* chunk, encoding, callback */) {}
30
-
31
- // readable
32
- // event readable - some data is now available
33
- // event data - switch to flowing mode - feeds chunks to handler
34
- // event end - no more data
35
- // event close - optional, indicates upstream close
36
- // event error - duh
37
- read(/* size */) {}
38
-
39
- setEncoding(encoding) {
40
- // causes stream.read or stream.on('data) to return strings of encoding instead of Buffer objects
41
- this.encoding = encoding;
42
- }
43
-
44
- pause() {}
45
-
46
- resume() {}
47
-
48
- isPaused() {}
49
-
50
- pipe(destination) {
51
- // add destination to pipe list & write current buffer
52
- this.pipes.push(destination);
53
- }
54
-
55
- unpipe(destination) {
56
- // remove destination from pipe list
57
- this.pipes = this.pipes.filter(pipe => pipe !== destination);
58
- }
59
-
60
- unshift(/* chunk */) {
61
- // some numpty has read some data that's not for them and they want to put it back!
62
- // Might implement this some day
63
- throw new Error('Not Implemented');
64
- }
65
-
66
- wrap(/* stream */) {
67
- // not implemented
68
- throw new Error('Not Implemented');
69
- }
70
- }
71
-
72
- module.exports = StreamBase64;
1
+ const Stream = require('readable-stream');
2
+
3
+ // =============================================================================
4
+ // StreamBase64 - A utility to convert to/from base64 stream
5
+ // Note: does not buffer data, must be piped
6
+ class StreamBase64 extends Stream.Duplex {
7
+ constructor() {
8
+ super();
9
+
10
+ // consuming pipe streams go here
11
+ this.pipes = [];
12
+ }
13
+
14
+ // writable
15
+ // event drain - if write returns false (which it won't), indicates when safe to write again.
16
+ // finish - end() has been called
17
+ // pipe(src) - pipe() has been called on readable
18
+ // unpipe(src) - unpipe() has been called on readable
19
+ // error - duh
20
+
21
+ write(/* data, encoding */) {
22
+ return true;
23
+ }
24
+
25
+ cork() {}
26
+
27
+ uncork() {}
28
+
29
+ end(/* chunk, encoding, callback */) {}
30
+
31
+ // readable
32
+ // event readable - some data is now available
33
+ // event data - switch to flowing mode - feeds chunks to handler
34
+ // event end - no more data
35
+ // event close - optional, indicates upstream close
36
+ // event error - duh
37
+ read(/* size */) {}
38
+
39
+ setEncoding(encoding) {
40
+ // causes stream.read or stream.on('data) to return strings of encoding instead of Buffer objects
41
+ this.encoding = encoding;
42
+ }
43
+
44
+ pause() {}
45
+
46
+ resume() {}
47
+
48
+ isPaused() {}
49
+
50
+ pipe(destination) {
51
+ // add destination to pipe list & write current buffer
52
+ this.pipes.push(destination);
53
+ }
54
+
55
+ unpipe(destination) {
56
+ // remove destination from pipe list
57
+ this.pipes = this.pipes.filter(pipe => pipe !== destination);
58
+ }
59
+
60
+ unshift(/* chunk */) {
61
+ // some numpty has read some data that's not for them and they want to put it back!
62
+ // Might implement this some day
63
+ throw new Error('Not Implemented');
64
+ }
65
+
66
+ wrap(/* stream */) {
67
+ // not implemented
68
+ throw new Error('Not Implemented');
69
+ }
70
+ }
71
+
72
+ module.exports = StreamBase64;