@alienkarma/exceljs 4.4.0-fork.11 → 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 -367
  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 -2
  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 +0,0 @@
1
- {"version":3,"file":"range.js","names":["colCache","require","Range","constructor","decode","arguments","setTLBR","t","l","b","r","s","length","tl","decodeAddress","br","model","top","Math","min","row","left","col","bottom","max","right","sheetName","argv","value","Array","tlbr","decodeEx","Error","_serialisedSheetName","test","expand","expandRow","dimensions","number","expandToAddress","addressStr","address","n2l","$t$l","$b$r","range","$range","shortRange","count","$shortRange","toString","intersects","other","contains","containsEx","forEachAddress","cb","encodeAddress","module","exports"],"sources":["../../../lib/doc/range.js"],"sourcesContent":["const colCache = require('../utils/col-cache');\r\n\r\n// used by worksheet to calculate sheet dimensions\r\nclass Range {\r\n constructor() {\r\n this.decode(arguments);\r\n }\r\n\r\n setTLBR(t, l, b, r, s) {\r\n if (arguments.length < 4) {\r\n // setTLBR(tl, br, s)\r\n const tl = colCache.decodeAddress(t);\r\n const br = colCache.decodeAddress(l);\r\n this.model = {\r\n top: Math.min(tl.row, br.row),\r\n left: Math.min(tl.col, br.col),\r\n bottom: Math.max(tl.row, br.row),\r\n right: Math.max(tl.col, br.col),\r\n sheetName: b,\r\n };\r\n\r\n this.setTLBR(tl.row, tl.col, br.row, br.col, s);\r\n } else {\r\n // setTLBR(t, l, b, r, s)\r\n this.model = {\r\n top: Math.min(t, b),\r\n left: Math.min(l, r),\r\n bottom: Math.max(t, b),\r\n right: Math.max(l, r),\r\n sheetName: s,\r\n };\r\n }\r\n }\r\n\r\n decode(argv) {\r\n switch (argv.length) {\r\n case 5: // [t,l,b,r,s]\r\n this.setTLBR(argv[0], argv[1], argv[2], argv[3], argv[4]);\r\n break;\r\n case 4: // [t,l,b,r]\r\n this.setTLBR(argv[0], argv[1], argv[2], argv[3]);\r\n break;\r\n\r\n case 3: // [tl,br,s]\r\n this.setTLBR(argv[0], argv[1], argv[2]);\r\n break;\r\n case 2: // [tl,br]\r\n this.setTLBR(argv[0], argv[1]);\r\n break;\r\n\r\n case 1: {\r\n const value = argv[0];\r\n if (value instanceof Range) {\r\n // copy constructor\r\n this.model = {\r\n top: value.model.top,\r\n left: value.model.left,\r\n bottom: value.model.bottom,\r\n right: value.model.right,\r\n sheetName: value.sheetName,\r\n };\r\n } else if (value instanceof Array) {\r\n // an arguments array\r\n this.decode(value);\r\n } else if (value.top && value.left && value.bottom && value.right) {\r\n // a model\r\n this.model = {\r\n top: value.top,\r\n left: value.left,\r\n bottom: value.bottom,\r\n right: value.right,\r\n sheetName: value.sheetName,\r\n };\r\n } else {\r\n // [sheetName!]tl:br\r\n const tlbr = colCache.decodeEx(value);\r\n if (tlbr.top) {\r\n this.model = {\r\n top: tlbr.top,\r\n left: tlbr.left,\r\n bottom: tlbr.bottom,\r\n right: tlbr.right,\r\n sheetName: tlbr.sheetName,\r\n };\r\n } else {\r\n this.model = {\r\n top: tlbr.row,\r\n left: tlbr.col,\r\n bottom: tlbr.row,\r\n right: tlbr.col,\r\n sheetName: tlbr.sheetName,\r\n };\r\n }\r\n }\r\n break;\r\n }\r\n\r\n case 0:\r\n this.model = {\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0,\r\n };\r\n break;\r\n\r\n default:\r\n throw new Error(`Invalid number of arguments to _getDimensions() - ${argv.length}`);\r\n }\r\n }\r\n\r\n get top() {\r\n return this.model.top || 1;\r\n }\r\n\r\n set top(value) {\r\n this.model.top = value;\r\n }\r\n\r\n get left() {\r\n return this.model.left || 1;\r\n }\r\n\r\n set left(value) {\r\n this.model.left = value;\r\n }\r\n\r\n get bottom() {\r\n return this.model.bottom || 1;\r\n }\r\n\r\n set bottom(value) {\r\n this.model.bottom = value;\r\n }\r\n\r\n get right() {\r\n return this.model.right || 1;\r\n }\r\n\r\n set right(value) {\r\n this.model.right = value;\r\n }\r\n\r\n get sheetName() {\r\n return this.model.sheetName;\r\n }\r\n\r\n set sheetName(value) {\r\n this.model.sheetName = value;\r\n }\r\n\r\n get _serialisedSheetName() {\r\n const {sheetName} = this.model;\r\n if (sheetName) {\r\n if (/^[a-zA-Z0-9]*$/.test(sheetName)) {\r\n return `${sheetName}!`;\r\n }\r\n return `'${sheetName}'!`;\r\n }\r\n return '';\r\n }\r\n\r\n expand(top, left, bottom, right) {\r\n if (!this.model.top || top < this.top) this.top = top;\r\n if (!this.model.left || left < this.left) this.left = left;\r\n if (!this.model.bottom || bottom > this.bottom) this.bottom = bottom;\r\n if (!this.model.right || right > this.right) this.right = right;\r\n }\r\n\r\n expandRow(row) {\r\n if (row) {\r\n const {dimensions, number} = row;\r\n if (dimensions) {\r\n this.expand(number, dimensions.min, number, dimensions.max);\r\n }\r\n }\r\n }\r\n\r\n expandToAddress(addressStr) {\r\n const address = colCache.decodeEx(addressStr);\r\n this.expand(address.row, address.col, address.row, address.col);\r\n }\r\n\r\n get tl() {\r\n return colCache.n2l(this.left) + this.top;\r\n }\r\n\r\n get $t$l() {\r\n return `$${colCache.n2l(this.left)}$${this.top}`;\r\n }\r\n\r\n get br() {\r\n return colCache.n2l(this.right) + this.bottom;\r\n }\r\n\r\n get $b$r() {\r\n return `$${colCache.n2l(this.right)}$${this.bottom}`;\r\n }\r\n\r\n get range() {\r\n return `${this._serialisedSheetName + this.tl}:${this.br}`;\r\n }\r\n\r\n get $range() {\r\n return `${this._serialisedSheetName + this.$t$l}:${this.$b$r}`;\r\n }\r\n\r\n get shortRange() {\r\n return this.count > 1 ? this.range : this._serialisedSheetName + this.tl;\r\n }\r\n\r\n get $shortRange() {\r\n return this.count > 1 ? this.$range : this._serialisedSheetName + this.$t$l;\r\n }\r\n\r\n get count() {\r\n return (1 + this.bottom - this.top) * (1 + this.right - this.left);\r\n }\r\n\r\n toString() {\r\n return this.range;\r\n }\r\n\r\n intersects(other) {\r\n if (other.sheetName && this.sheetName && other.sheetName !== this.sheetName) return false;\r\n if (other.bottom < this.top) return false;\r\n if (other.top > this.bottom) return false;\r\n if (other.right < this.left) return false;\r\n if (other.left > this.right) return false;\r\n return true;\r\n }\r\n\r\n contains(addressStr) {\r\n const address = colCache.decodeEx(addressStr);\r\n return this.containsEx(address);\r\n }\r\n\r\n containsEx(address) {\r\n if (address.sheetName && this.sheetName && address.sheetName !== this.sheetName) return false;\r\n return (\r\n address.row >= this.top &&\r\n address.row <= this.bottom &&\r\n address.col >= this.left &&\r\n address.col <= this.right\r\n );\r\n }\r\n\r\n forEachAddress(cb) {\r\n for (let col = this.left; col <= this.right; col++) {\r\n for (let row = this.top; row <= this.bottom; row++) {\r\n cb(colCache.encodeAddress(row, col), row, col);\r\n }\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = Range;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,382 +0,0 @@
1
- 'use strict';
2
-
3
- const _ = require('../utils/under-dash');
4
- const Enums = require('./enums');
5
- const colCache = require('../utils/col-cache');
6
- const Cell = require('./cell');
7
- class Row {
8
- constructor(worksheet, number) {
9
- this._worksheet = worksheet;
10
- this._number = number;
11
- this._cells = [];
12
- this.style = {};
13
- this.outlineLevel = 0;
14
- }
15
-
16
- // return the row number
17
- get number() {
18
- return this._number;
19
- }
20
- get worksheet() {
21
- return this._worksheet;
22
- }
23
-
24
- // Inform Streaming Writer that this row (and all rows before it) are complete
25
- // and ready to write. Has no effect on Worksheet document
26
- commit() {
27
- this._worksheet._commitRow(this); // eslint-disable-line no-underscore-dangle
28
- }
29
-
30
- // helps GC by breaking cyclic references
31
- destroy() {
32
- delete this._worksheet;
33
- delete this._cells;
34
- delete this.style;
35
- }
36
- findCell(colNumber) {
37
- return this._cells[colNumber - 1];
38
- }
39
-
40
- // given {address, row, col}, find or create new cell
41
- getCellEx(address) {
42
- let cell = this._cells[address.col - 1];
43
- if (!cell) {
44
- const column = this._worksheet.getColumn(address.col);
45
- cell = new Cell(this, column, address.address);
46
- this._cells[address.col - 1] = cell;
47
- }
48
- return cell;
49
- }
50
-
51
- // get cell by key, letter or column number
52
- getCell(col) {
53
- if (typeof col === 'string') {
54
- // is it a key?
55
- const column = this._worksheet.getColumnKey(col);
56
- if (column) {
57
- col = column.number;
58
- } else {
59
- col = colCache.l2n(col);
60
- }
61
- }
62
- return this._cells[col - 1] || this.getCellEx({
63
- address: colCache.encodeAddress(this._number, col),
64
- row: this._number,
65
- col
66
- });
67
- }
68
-
69
- // remove cell(s) and shift all higher cells down by count
70
- splice(start, count) {
71
- const nKeep = start + count;
72
- for (var _len = arguments.length, inserts = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
73
- inserts[_key - 2] = arguments[_key];
74
- }
75
- const nExpand = inserts.length - count;
76
- const nEnd = this._cells.length;
77
- let i;
78
- let cSrc;
79
- let cDst;
80
- if (nExpand < 0) {
81
- // remove cells
82
- for (i = start + inserts.length; i <= nEnd; i++) {
83
- cDst = this._cells[i - 1];
84
- cSrc = this._cells[i - nExpand - 1];
85
- if (cSrc) {
86
- cDst = this.getCell(i);
87
- cDst.value = cSrc.value;
88
- cDst.style = cSrc.style;
89
- // eslint-disable-next-line no-underscore-dangle
90
- cDst._comment = cSrc._comment;
91
- } else if (cDst) {
92
- cDst.value = null;
93
- cDst.style = {};
94
- // eslint-disable-next-line no-underscore-dangle
95
- cDst._comment = undefined;
96
- }
97
- }
98
- } else if (nExpand > 0) {
99
- // insert new cells
100
- for (i = nEnd; i >= nKeep; i--) {
101
- cSrc = this._cells[i - 1];
102
- if (cSrc) {
103
- cDst = this.getCell(i + nExpand);
104
- cDst.value = cSrc.value;
105
- cDst.style = cSrc.style;
106
- // eslint-disable-next-line no-underscore-dangle
107
- cDst._comment = cSrc._comment;
108
- } else {
109
- this._cells[i + nExpand - 1] = undefined;
110
- }
111
- }
112
- }
113
-
114
- // now add the new values
115
- for (i = 0; i < inserts.length; i++) {
116
- cDst = this.getCell(start + i);
117
- cDst.value = inserts[i];
118
- cDst.style = {};
119
- // eslint-disable-next-line no-underscore-dangle
120
- cDst._comment = undefined;
121
- }
122
- }
123
-
124
- // Iterate over all non-null cells in this row
125
- eachCell(options, iteratee) {
126
- if (!iteratee) {
127
- iteratee = options;
128
- options = null;
129
- }
130
- if (options && options.includeEmpty) {
131
- const n = this._cells.length;
132
- for (let i = 1; i <= n; i++) {
133
- iteratee(this.getCell(i), i);
134
- }
135
- } else {
136
- this._cells.forEach((cell, index) => {
137
- if (cell && cell.type !== Enums.ValueType.Null) {
138
- iteratee(cell, index + 1);
139
- }
140
- });
141
- }
142
- }
143
-
144
- // ===========================================================================
145
- // Page Breaks
146
- addPageBreak(lft, rght) {
147
- const ws = this._worksheet;
148
- const left = Math.max(0, lft - 1) || 0;
149
- const right = Math.max(0, rght - 1) || 16838;
150
- const pb = {
151
- id: this._number,
152
- max: right,
153
- man: 1
154
- };
155
- if (left) pb.min = left;
156
- ws.rowBreaks.push(pb);
157
- }
158
-
159
- // return a sparse array of cell values
160
- get values() {
161
- const values = [];
162
- this._cells.forEach(cell => {
163
- if (cell && cell.type !== Enums.ValueType.Null) {
164
- values[cell.col] = cell.value;
165
- }
166
- });
167
- return values;
168
- }
169
-
170
- // set the values by contiguous or sparse array, or by key'd object literal
171
- set values(value) {
172
- // this operation is not additive - any prior cells are removed
173
- this._cells = [];
174
- if (!value) {
175
- // empty row
176
- } else if (value instanceof Array) {
177
- let offset = 0;
178
- if (value.hasOwnProperty('0')) {
179
- // contiguous array - start at column 1
180
- offset = 1;
181
- }
182
- value.forEach((item, index) => {
183
- if (item !== undefined) {
184
- this.getCellEx({
185
- address: colCache.encodeAddress(this._number, index + offset),
186
- row: this._number,
187
- col: index + offset
188
- }).value = item;
189
- }
190
- });
191
- } else {
192
- // assume object with column keys
193
- this._worksheet.eachColumnKey((column, key) => {
194
- if (value[key] !== undefined) {
195
- this.getCellEx({
196
- address: colCache.encodeAddress(this._number, column.number),
197
- row: this._number,
198
- col: column.number
199
- }).value = value[key];
200
- }
201
- });
202
- }
203
- }
204
-
205
- // returns true if the row includes at least one cell with a value
206
- get hasValues() {
207
- return _.some(this._cells, cell => cell && cell.type !== Enums.ValueType.Null);
208
- }
209
- get cellCount() {
210
- return this._cells.length;
211
- }
212
- get actualCellCount() {
213
- let count = 0;
214
- this.eachCell(() => {
215
- count++;
216
- });
217
- return count;
218
- }
219
-
220
- // get the min and max column number for the non-null cells in this row or null
221
- get dimensions() {
222
- let min = 0;
223
- let max = 0;
224
- this._cells.forEach(cell => {
225
- if (cell && cell.type !== Enums.ValueType.Null) {
226
- if (!min || min > cell.col) {
227
- min = cell.col;
228
- }
229
- if (max < cell.col) {
230
- max = cell.col;
231
- }
232
- }
233
- });
234
- return min > 0 ? {
235
- min,
236
- max
237
- } : null;
238
- }
239
-
240
- // =========================================================================
241
- // styles
242
- _applyStyle(name, value) {
243
- this.style[name] = value;
244
- this._cells.forEach(cell => {
245
- if (cell) {
246
- cell[name] = value;
247
- }
248
- });
249
- return value;
250
- }
251
- get numFmt() {
252
- return this.style.numFmt;
253
- }
254
- set numFmt(value) {
255
- this._applyStyle('numFmt', value);
256
- }
257
- get font() {
258
- return this.style.font;
259
- }
260
- set font(value) {
261
- this._applyStyle('font', value);
262
- }
263
- get alignment() {
264
- return this.style.alignment;
265
- }
266
- set alignment(value) {
267
- this._applyStyle('alignment', value);
268
- }
269
- get protection() {
270
- return this.style.protection;
271
- }
272
- set protection(value) {
273
- this._applyStyle('protection', value);
274
- }
275
- get border() {
276
- return this.style.border;
277
- }
278
- set border(value) {
279
- this._applyStyle('border', value);
280
- }
281
- get fill() {
282
- return this.style.fill;
283
- }
284
- set fill(value) {
285
- this._applyStyle('fill', value);
286
- }
287
- get hidden() {
288
- return !!this._hidden;
289
- }
290
- set hidden(value) {
291
- this._hidden = value;
292
- }
293
- get outlineLevel() {
294
- return this._outlineLevel || 0;
295
- }
296
- set outlineLevel(value) {
297
- this._outlineLevel = value;
298
- }
299
- get collapsed() {
300
- return !!(this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelRow);
301
- }
302
-
303
- // =========================================================================
304
- get model() {
305
- const cells = [];
306
- let min = 0;
307
- let max = 0;
308
- this._cells.forEach(cell => {
309
- if (cell) {
310
- const cellModel = cell.model;
311
- if (cellModel) {
312
- if (!min || min > cell.col) {
313
- min = cell.col;
314
- }
315
- if (max < cell.col) {
316
- max = cell.col;
317
- }
318
- cells.push(cellModel);
319
- }
320
- }
321
- });
322
- return this.height || cells.length ? {
323
- cells,
324
- number: this.number,
325
- min,
326
- max,
327
- height: this.height,
328
- style: this.style,
329
- hidden: this.hidden,
330
- outlineLevel: this.outlineLevel,
331
- collapsed: this.collapsed
332
- } : null;
333
- }
334
- set model(value) {
335
- if (value.number !== this._number) {
336
- throw new Error('Invalid row number in model');
337
- }
338
- this._cells = [];
339
- let previousAddress;
340
- value.cells.forEach(cellModel => {
341
- switch (cellModel.type) {
342
- case Cell.Types.Merge:
343
- // special case - don't add this types
344
- break;
345
- default:
346
- {
347
- let address;
348
- if (cellModel.address) {
349
- address = colCache.decodeAddress(cellModel.address);
350
- } else if (previousAddress) {
351
- // This is a <c> element without an r attribute
352
- // Assume that it's the cell for the next column
353
- const {
354
- row
355
- } = previousAddress;
356
- const col = previousAddress.col + 1;
357
- address = {
358
- row,
359
- col,
360
- address: colCache.encodeAddress(row, col),
361
- $col$row: `$${colCache.n2l(col)}$${row}`
362
- };
363
- }
364
- previousAddress = address;
365
- const cell = this.getCellEx(address);
366
- cell.model = cellModel;
367
- break;
368
- }
369
- }
370
- });
371
- if (value.height) {
372
- this.height = value.height;
373
- } else {
374
- delete this.height;
375
- }
376
- this.hidden = value.hidden;
377
- this.outlineLevel = value.outlineLevel || 0;
378
- this.style = value.style && JSON.parse(JSON.stringify(value.style)) || {};
379
- }
380
- }
381
- module.exports = Row;
382
- //# sourceMappingURL=row.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row.js","names":["_","require","Enums","colCache","Cell","Row","constructor","worksheet","number","_worksheet","_number","_cells","style","outlineLevel","commit","_commitRow","destroy","findCell","colNumber","getCellEx","address","cell","col","column","getColumn","getCell","getColumnKey","l2n","encodeAddress","row","splice","start","count","nKeep","_len","arguments","length","inserts","Array","_key","nExpand","nEnd","i","cSrc","cDst","value","_comment","undefined","eachCell","options","iteratee","includeEmpty","n","forEach","index","type","ValueType","Null","addPageBreak","lft","rght","ws","left","Math","max","right","pb","id","man","min","rowBreaks","push","values","offset","hasOwnProperty","item","eachColumnKey","key","hasValues","some","cellCount","actualCellCount","dimensions","_applyStyle","name","numFmt","font","alignment","protection","border","fill","hidden","_hidden","_outlineLevel","collapsed","properties","outlineLevelRow","model","cells","cellModel","height","Error","previousAddress","Types","Merge","decodeAddress","$col$row","n2l","JSON","parse","stringify","module","exports"],"sources":["../../../lib/doc/row.js"],"sourcesContent":["'use strict';\r\n\r\nconst _ = require('../utils/under-dash');\r\n\r\nconst Enums = require('./enums');\r\nconst colCache = require('../utils/col-cache');\r\nconst Cell = require('./cell');\r\n\r\nclass Row {\r\n constructor(worksheet, number) {\r\n this._worksheet = worksheet;\r\n this._number = number;\r\n this._cells = [];\r\n this.style = {};\r\n this.outlineLevel = 0;\r\n }\r\n\r\n // return the row number\r\n get number() {\r\n return this._number;\r\n }\r\n\r\n get worksheet() {\r\n return this._worksheet;\r\n }\r\n\r\n // Inform Streaming Writer that this row (and all rows before it) are complete\r\n // and ready to write. Has no effect on Worksheet document\r\n commit() {\r\n this._worksheet._commitRow(this); // eslint-disable-line no-underscore-dangle\r\n }\r\n\r\n // helps GC by breaking cyclic references\r\n destroy() {\r\n delete this._worksheet;\r\n delete this._cells;\r\n delete this.style;\r\n }\r\n\r\n findCell(colNumber) {\r\n return this._cells[colNumber - 1];\r\n }\r\n\r\n // given {address, row, col}, find or create new cell\r\n getCellEx(address) {\r\n let cell = this._cells[address.col - 1];\r\n if (!cell) {\r\n const column = this._worksheet.getColumn(address.col);\r\n cell = new Cell(this, column, address.address);\r\n this._cells[address.col - 1] = cell;\r\n }\r\n return cell;\r\n }\r\n\r\n // get cell by key, letter or column number\r\n getCell(col) {\r\n if (typeof col === 'string') {\r\n // is it a key?\r\n const column = this._worksheet.getColumnKey(col);\r\n if (column) {\r\n col = column.number;\r\n } else {\r\n col = colCache.l2n(col);\r\n }\r\n }\r\n return (\r\n this._cells[col - 1] ||\r\n this.getCellEx({\r\n address: colCache.encodeAddress(this._number, col),\r\n row: this._number,\r\n col,\r\n })\r\n );\r\n }\r\n\r\n // remove cell(s) and shift all higher cells down by count\r\n splice(start, count, ...inserts) {\r\n const nKeep = start + count;\r\n const nExpand = inserts.length - count;\r\n const nEnd = this._cells.length;\r\n let i;\r\n let cSrc;\r\n let cDst;\r\n\r\n if (nExpand < 0) {\r\n // remove cells\r\n for (i = start + inserts.length; i <= nEnd; i++) {\r\n cDst = this._cells[i - 1];\r\n cSrc = this._cells[i - nExpand - 1];\r\n if (cSrc) {\r\n cDst = this.getCell(i);\r\n cDst.value = cSrc.value;\r\n cDst.style = cSrc.style;\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = cSrc._comment;\r\n } else if (cDst) {\r\n cDst.value = null;\r\n cDst.style = {};\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = undefined;\r\n }\r\n }\r\n } else if (nExpand > 0) {\r\n // insert new cells\r\n for (i = nEnd; i >= nKeep; i--) {\r\n cSrc = this._cells[i - 1];\r\n if (cSrc) {\r\n cDst = this.getCell(i + nExpand);\r\n cDst.value = cSrc.value;\r\n cDst.style = cSrc.style;\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = cSrc._comment;\r\n } else {\r\n this._cells[i + nExpand - 1] = undefined;\r\n }\r\n }\r\n }\r\n\r\n // now add the new values\r\n for (i = 0; i < inserts.length; i++) {\r\n cDst = this.getCell(start + i);\r\n cDst.value = inserts[i];\r\n cDst.style = {};\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = undefined;\r\n }\r\n }\r\n\r\n // Iterate over all non-null cells in this row\r\n eachCell(options, iteratee) {\r\n if (!iteratee) {\r\n iteratee = options;\r\n options = null;\r\n }\r\n if (options && options.includeEmpty) {\r\n const n = this._cells.length;\r\n for (let i = 1; i <= n; i++) {\r\n iteratee(this.getCell(i), i);\r\n }\r\n } else {\r\n this._cells.forEach((cell, index) => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n iteratee(cell, index + 1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Page Breaks\r\n addPageBreak(lft, rght) {\r\n const ws = this._worksheet;\r\n const left = Math.max(0, lft - 1) || 0;\r\n const right = Math.max(0, rght - 1) || 16838;\r\n const pb = {\r\n id: this._number,\r\n max: right,\r\n man: 1,\r\n };\r\n if (left) pb.min = left;\r\n\r\n ws.rowBreaks.push(pb);\r\n }\r\n\r\n // return a sparse array of cell values\r\n get values() {\r\n const values = [];\r\n this._cells.forEach(cell => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n values[cell.col] = cell.value;\r\n }\r\n });\r\n return values;\r\n }\r\n\r\n // set the values by contiguous or sparse array, or by key'd object literal\r\n set values(value) {\r\n // this operation is not additive - any prior cells are removed\r\n this._cells = [];\r\n if (!value) {\r\n // empty row\r\n } else if (value instanceof Array) {\r\n let offset = 0;\r\n if (value.hasOwnProperty('0')) {\r\n // contiguous array - start at column 1\r\n offset = 1;\r\n }\r\n value.forEach((item, index) => {\r\n if (item !== undefined) {\r\n this.getCellEx({\r\n address: colCache.encodeAddress(this._number, index + offset),\r\n row: this._number,\r\n col: index + offset,\r\n }).value = item;\r\n }\r\n });\r\n } else {\r\n // assume object with column keys\r\n this._worksheet.eachColumnKey((column, key) => {\r\n if (value[key] !== undefined) {\r\n this.getCellEx({\r\n address: colCache.encodeAddress(this._number, column.number),\r\n row: this._number,\r\n col: column.number,\r\n }).value = value[key];\r\n }\r\n });\r\n }\r\n }\r\n\r\n // returns true if the row includes at least one cell with a value\r\n get hasValues() {\r\n return _.some(this._cells, cell => cell && cell.type !== Enums.ValueType.Null);\r\n }\r\n\r\n get cellCount() {\r\n return this._cells.length;\r\n }\r\n\r\n get actualCellCount() {\r\n let count = 0;\r\n this.eachCell(() => {\r\n count++;\r\n });\r\n return count;\r\n }\r\n\r\n // get the min and max column number for the non-null cells in this row or null\r\n get dimensions() {\r\n let min = 0;\r\n let max = 0;\r\n this._cells.forEach(cell => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n if (!min || min > cell.col) {\r\n min = cell.col;\r\n }\r\n if (max < cell.col) {\r\n max = cell.col;\r\n }\r\n }\r\n });\r\n return min > 0\r\n ? {\r\n min,\r\n max,\r\n }\r\n : null;\r\n }\r\n\r\n // =========================================================================\r\n // styles\r\n _applyStyle(name, value) {\r\n this.style[name] = value;\r\n this._cells.forEach(cell => {\r\n if (cell) {\r\n cell[name] = value;\r\n }\r\n });\r\n return value;\r\n }\r\n\r\n get numFmt() {\r\n return this.style.numFmt;\r\n }\r\n\r\n set numFmt(value) {\r\n this._applyStyle('numFmt', value);\r\n }\r\n\r\n get font() {\r\n return this.style.font;\r\n }\r\n\r\n set font(value) {\r\n this._applyStyle('font', value);\r\n }\r\n\r\n get alignment() {\r\n return this.style.alignment;\r\n }\r\n\r\n set alignment(value) {\r\n this._applyStyle('alignment', value);\r\n }\r\n\r\n get protection() {\r\n return this.style.protection;\r\n }\r\n\r\n set protection(value) {\r\n this._applyStyle('protection', value);\r\n }\r\n\r\n get border() {\r\n return this.style.border;\r\n }\r\n\r\n set border(value) {\r\n this._applyStyle('border', value);\r\n }\r\n\r\n get fill() {\r\n return this.style.fill;\r\n }\r\n\r\n set fill(value) {\r\n this._applyStyle('fill', value);\r\n }\r\n\r\n get hidden() {\r\n return !!this._hidden;\r\n }\r\n\r\n set hidden(value) {\r\n this._hidden = value;\r\n }\r\n\r\n get outlineLevel() {\r\n return this._outlineLevel || 0;\r\n }\r\n\r\n set outlineLevel(value) {\r\n this._outlineLevel = value;\r\n }\r\n\r\n get collapsed() {\r\n return !!(\r\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelRow\r\n );\r\n }\r\n\r\n // =========================================================================\r\n get model() {\r\n const cells = [];\r\n let min = 0;\r\n let max = 0;\r\n this._cells.forEach(cell => {\r\n if (cell) {\r\n const cellModel = cell.model;\r\n if (cellModel) {\r\n if (!min || min > cell.col) {\r\n min = cell.col;\r\n }\r\n if (max < cell.col) {\r\n max = cell.col;\r\n }\r\n cells.push(cellModel);\r\n }\r\n }\r\n });\r\n\r\n return this.height || cells.length\r\n ? {\r\n cells,\r\n number: this.number,\r\n min,\r\n max,\r\n height: this.height,\r\n style: this.style,\r\n hidden: this.hidden,\r\n outlineLevel: this.outlineLevel,\r\n collapsed: this.collapsed,\r\n }\r\n : null;\r\n }\r\n\r\n set model(value) {\r\n if (value.number !== this._number) {\r\n throw new Error('Invalid row number in model');\r\n }\r\n this._cells = [];\r\n let previousAddress;\r\n value.cells.forEach(cellModel => {\r\n switch (cellModel.type) {\r\n case Cell.Types.Merge:\r\n // special case - don't add this types\r\n break;\r\n default: {\r\n let address;\r\n if (cellModel.address) {\r\n address = colCache.decodeAddress(cellModel.address);\r\n } else if (previousAddress) {\r\n // This is a <c> element without an r attribute\r\n // Assume that it's the cell for the next column\r\n const {row} = previousAddress;\r\n const col = previousAddress.col + 1;\r\n address = {\r\n row,\r\n col,\r\n address: colCache.encodeAddress(row, col),\r\n $col$row: `$${colCache.n2l(col)}$${row}`,\r\n };\r\n }\r\n previousAddress = address;\r\n const cell = this.getCellEx(address);\r\n cell.model = cellModel;\r\n break;\r\n }\r\n }\r\n });\r\n\r\n if (value.height) {\r\n this.height = value.height;\r\n } else {\r\n delete this.height;\r\n }\r\n\r\n this.hidden = value.hidden;\r\n this.outlineLevel = value.outlineLevel || 0;\r\n\r\n this.style = (value.style && JSON.parse(JSON.stringify(value.style))) || {};\r\n }\r\n}\r\n\r\nmodule.exports = Row;\r\n"],"mappings":"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","ignoreList":[]}