@rowsncolumns/toolkit 24.4.2 → 24.4.4

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 (166) hide show
  1. package/dist/cjs/excel-parser/cfb-decryptor.d.ts +6 -0
  2. package/dist/cjs/excel-parser/cfb-decryptor.d.ts.map +1 -1
  3. package/dist/cjs/excel-parser/cfb-decryptor.js +6 -0
  4. package/dist/cjs/excel-parser/helpers.d.ts +9 -1
  5. package/dist/cjs/excel-parser/helpers.d.ts.map +1 -1
  6. package/dist/cjs/excel-parser/helpers.js +37 -0
  7. package/dist/cjs/excel-parser/interface.d.ts +15 -2
  8. package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
  9. package/dist/cjs/excel-parser/plugins/base/index.d.ts +2 -0
  10. package/dist/cjs/excel-parser/plugins/base/index.d.ts.map +1 -1
  11. package/dist/cjs/excel-parser/plugins/base/index.js +3 -0
  12. package/dist/cjs/excel-parser/plugins/ods/index.d.ts +19 -0
  13. package/dist/cjs/excel-parser/plugins/ods/index.d.ts.map +1 -1
  14. package/dist/cjs/excel-parser/plugins/ods/index.js +676 -304
  15. package/dist/cjs/excel-parser/plugins/ods/styles.d.ts +43 -1
  16. package/dist/cjs/excel-parser/plugins/ods/styles.d.ts.map +1 -1
  17. package/dist/cjs/excel-parser/plugins/ods/styles.js +343 -45
  18. package/dist/cjs/excel-parser/plugins/xls/index.d.ts +55 -1
  19. package/dist/cjs/excel-parser/plugins/xls/index.d.ts.map +1 -1
  20. package/dist/cjs/excel-parser/plugins/xls/index.js +518 -6
  21. package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts +4 -0
  22. package/dist/cjs/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
  23. package/dist/cjs/excel-parser/plugins/xlsb/index.js +33 -14
  24. package/dist/cjs/excel-parser/plugins/xlsx/chartex.d.ts +37 -0
  25. package/dist/cjs/excel-parser/plugins/xlsx/chartex.d.ts.map +1 -0
  26. package/dist/cjs/excel-parser/plugins/xlsx/chartex.js +244 -0
  27. package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts +10 -0
  28. package/dist/cjs/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
  29. package/dist/cjs/excel-parser/plugins/xlsx/charts.js +68 -9
  30. package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts +28 -1
  31. package/dist/cjs/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
  32. package/dist/cjs/excel-parser/plugins/xlsx/drawing.js +155 -20
  33. package/dist/cjs/excel-parser/plugins/xlsx/form-controls.d.ts +70 -0
  34. package/dist/cjs/excel-parser/plugins/xlsx/form-controls.d.ts.map +1 -0
  35. package/dist/cjs/excel-parser/plugins/xlsx/form-controls.js +295 -0
  36. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +35 -2
  37. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
  38. package/dist/cjs/excel-parser/plugins/xlsx/index.js +737 -257
  39. package/dist/cjs/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
  40. package/dist/cjs/excel-parser/plugins/xlsx/pivots.js +125 -37
  41. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts +3 -0
  42. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -1
  43. package/dist/cjs/excel-parser/plugins/xlsx/sheet-views.js +4 -1
  44. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +15 -1
  45. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
  46. package/dist/cjs/excel-parser/plugins/xlsx/styles.js +102 -6
  47. package/dist/cjs/excel-parser/registry.d.ts +7 -0
  48. package/dist/cjs/excel-parser/registry.d.ts.map +1 -1
  49. package/dist/cjs/excel-parser/registry.js +29 -0
  50. package/dist/cjs/excel-parser/types.d.ts +17 -2
  51. package/dist/cjs/excel-parser/types.d.ts.map +1 -1
  52. package/dist/cjs/excel-parser/workbook.d.ts +3 -0
  53. package/dist/cjs/excel-parser/workbook.d.ts.map +1 -1
  54. package/dist/cjs/excel-parser/workbook.js +24 -14
  55. package/dist/cjs/excel-parser/worker.js +131 -131
  56. package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -1
  57. package/dist/cjs/exporter/ods/ods-export.js +432 -175
  58. package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
  59. package/dist/cjs/exporter/xlsx/chart-builder.js +215 -39
  60. package/dist/cjs/exporter/xlsx/chartex-builder.d.ts +36 -0
  61. package/dist/cjs/exporter/xlsx/chartex-builder.d.ts.map +1 -0
  62. package/dist/cjs/exporter/xlsx/chartex-builder.js +109 -0
  63. package/dist/cjs/exporter/xlsx/form-controls-builder.d.ts +61 -0
  64. package/dist/cjs/exporter/xlsx/form-controls-builder.d.ts.map +1 -0
  65. package/dist/cjs/exporter/xlsx/form-controls-builder.js +197 -0
  66. package/dist/cjs/exporter/xlsx/pivot-builder.d.ts +8 -0
  67. package/dist/cjs/exporter/xlsx/pivot-builder.d.ts.map +1 -1
  68. package/dist/cjs/exporter/xlsx/pivot-builder.js +141 -42
  69. package/dist/cjs/exporter/xlsx/style-builder.js +9 -3
  70. package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts +7 -1
  71. package/dist/cjs/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -1
  72. package/dist/cjs/exporter/xlsx/threaded-comments-builder.js +15 -3
  73. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +11 -2
  74. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -1
  75. package/dist/cjs/exporter/xlsx/xlsx-export.js +991 -297
  76. package/dist/cjs/helpers/implicit-intersection.d.ts +16 -0
  77. package/dist/cjs/helpers/implicit-intersection.d.ts.map +1 -0
  78. package/dist/cjs/helpers/implicit-intersection.js +197 -0
  79. package/dist/cjs/print-settings.d.ts +105 -0
  80. package/dist/cjs/print-settings.d.ts.map +1 -0
  81. package/dist/cjs/print-settings.js +494 -0
  82. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  83. package/dist/esm/excel-parser/cfb-decryptor.d.ts +6 -0
  84. package/dist/esm/excel-parser/cfb-decryptor.d.ts.map +1 -1
  85. package/dist/esm/excel-parser/cfb-decryptor.js +6 -0
  86. package/dist/esm/excel-parser/helpers.d.ts +9 -1
  87. package/dist/esm/excel-parser/helpers.d.ts.map +1 -1
  88. package/dist/esm/excel-parser/helpers.js +34 -0
  89. package/dist/esm/excel-parser/interface.d.ts +15 -2
  90. package/dist/esm/excel-parser/interface.d.ts.map +1 -1
  91. package/dist/esm/excel-parser/plugins/base/index.d.ts +2 -0
  92. package/dist/esm/excel-parser/plugins/base/index.d.ts.map +1 -1
  93. package/dist/esm/excel-parser/plugins/base/index.js +3 -0
  94. package/dist/esm/excel-parser/plugins/ods/index.d.ts +19 -0
  95. package/dist/esm/excel-parser/plugins/ods/index.d.ts.map +1 -1
  96. package/dist/esm/excel-parser/plugins/ods/index.js +347 -33
  97. package/dist/esm/excel-parser/plugins/ods/styles.d.ts +43 -1
  98. package/dist/esm/excel-parser/plugins/ods/styles.d.ts.map +1 -1
  99. package/dist/esm/excel-parser/plugins/ods/styles.js +276 -2
  100. package/dist/esm/excel-parser/plugins/xls/index.d.ts +55 -1
  101. package/dist/esm/excel-parser/plugins/xls/index.d.ts.map +1 -1
  102. package/dist/esm/excel-parser/plugins/xls/index.js +441 -3
  103. package/dist/esm/excel-parser/plugins/xlsb/index.d.ts +4 -0
  104. package/dist/esm/excel-parser/plugins/xlsb/index.d.ts.map +1 -1
  105. package/dist/esm/excel-parser/plugins/xlsb/index.js +30 -9
  106. package/dist/esm/excel-parser/plugins/xlsx/chartex.d.ts +37 -0
  107. package/dist/esm/excel-parser/plugins/xlsx/chartex.d.ts.map +1 -0
  108. package/dist/esm/excel-parser/plugins/xlsx/chartex.js +199 -0
  109. package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts +10 -0
  110. package/dist/esm/excel-parser/plugins/xlsx/charts.d.ts.map +1 -1
  111. package/dist/esm/excel-parser/plugins/xlsx/charts.js +69 -6
  112. package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts +28 -1
  113. package/dist/esm/excel-parser/plugins/xlsx/drawing.d.ts.map +1 -1
  114. package/dist/esm/excel-parser/plugins/xlsx/drawing.js +99 -0
  115. package/dist/esm/excel-parser/plugins/xlsx/form-controls.d.ts +70 -0
  116. package/dist/esm/excel-parser/plugins/xlsx/form-controls.d.ts.map +1 -0
  117. package/dist/esm/excel-parser/plugins/xlsx/form-controls.js +246 -0
  118. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +35 -2
  119. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
  120. package/dist/esm/excel-parser/plugins/xlsx/index.js +454 -32
  121. package/dist/esm/excel-parser/plugins/xlsx/pivots.d.ts.map +1 -1
  122. package/dist/esm/excel-parser/plugins/xlsx/pivots.js +86 -6
  123. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts +3 -0
  124. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.d.ts.map +1 -1
  125. package/dist/esm/excel-parser/plugins/xlsx/sheet-views.js +2 -0
  126. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +15 -1
  127. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
  128. package/dist/esm/excel-parser/plugins/xlsx/styles.js +92 -2
  129. package/dist/esm/excel-parser/registry.d.ts +7 -0
  130. package/dist/esm/excel-parser/registry.d.ts.map +1 -1
  131. package/dist/esm/excel-parser/registry.js +19 -0
  132. package/dist/esm/excel-parser/types.d.ts +17 -2
  133. package/dist/esm/excel-parser/types.d.ts.map +1 -1
  134. package/dist/esm/excel-parser/workbook.d.ts +3 -0
  135. package/dist/esm/excel-parser/workbook.d.ts.map +1 -1
  136. package/dist/esm/excel-parser/workbook.js +19 -10
  137. package/dist/esm/excel-parser/worker.js +12 -18
  138. package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -1
  139. package/dist/esm/exporter/ods/ods-export.js +306 -35
  140. package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
  141. package/dist/esm/exporter/xlsx/chart-builder.js +161 -28
  142. package/dist/esm/exporter/xlsx/chartex-builder.d.ts +36 -0
  143. package/dist/esm/exporter/xlsx/chartex-builder.d.ts.map +1 -0
  144. package/dist/esm/exporter/xlsx/chartex-builder.js +97 -0
  145. package/dist/esm/exporter/xlsx/form-controls-builder.d.ts +61 -0
  146. package/dist/esm/exporter/xlsx/form-controls-builder.d.ts.map +1 -0
  147. package/dist/esm/exporter/xlsx/form-controls-builder.js +173 -0
  148. package/dist/esm/exporter/xlsx/pivot-builder.d.ts +8 -0
  149. package/dist/esm/exporter/xlsx/pivot-builder.d.ts.map +1 -1
  150. package/dist/esm/exporter/xlsx/pivot-builder.js +104 -19
  151. package/dist/esm/exporter/xlsx/style-builder.js +9 -3
  152. package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts +7 -1
  153. package/dist/esm/exporter/xlsx/threaded-comments-builder.d.ts.map +1 -1
  154. package/dist/esm/exporter/xlsx/threaded-comments-builder.js +15 -3
  155. package/dist/esm/exporter/xlsx/xlsx-export.d.ts +11 -2
  156. package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -1
  157. package/dist/esm/exporter/xlsx/xlsx-export.js +675 -64
  158. package/dist/esm/helpers/implicit-intersection.d.ts +16 -0
  159. package/dist/esm/helpers/implicit-intersection.d.ts.map +1 -0
  160. package/dist/esm/helpers/implicit-intersection.js +184 -0
  161. package/dist/esm/print-settings.d.ts +105 -0
  162. package/dist/esm/print-settings.d.ts.map +1 -0
  163. package/dist/esm/print-settings.js +422 -0
  164. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  165. package/package.json +3 -3
  166. package/xlsx.d.ts +14 -0
@@ -1,16 +1,528 @@
1
- import { __awaiter, __extends, __generator } from "tslib";
1
+ import { __assign, __asyncGenerator, __await, __awaiter, __extends, __generator, __read, __spreadArray, __values } from "tslib";
2
+ import { getCellXfsKey, ssfFormat, uuid } from "@rowsncolumns/utils";
3
+ import { read as readSheetJsWorkbook, utils as sheetJsUtils, } from "xlsx/xlsx.mjs";
4
+ import { detectCfbContainerKind, LEGACY_XLS_UNSUPPORTED_MESSAGE, XLS_NOT_A_WORKBOOK_MESSAGE, } from "../../cfb-decryptor";
5
+ import { excelColumnWidthToPixels, getRangeFromAddressRef } from "../../helpers";
2
6
  import { BaseWorkbookPlugin } from "../base/index";
7
+ export var ZIP_SIGNATURE = [0x50, 0x4b, 0x03, 0x04];
8
+ export var CFB_SIGNATURE = [0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1];
9
+ export var readHeader = function (source, length) { return __awaiter(void 0, void 0, void 0, function () {
10
+ var slice, _a;
11
+ return __generator(this, function (_b) {
12
+ switch (_b.label) {
13
+ case 0:
14
+ if (!(source instanceof File)) return [3 /*break*/, 2];
15
+ return [4 /*yield*/, source.slice(0, length).arrayBuffer()];
16
+ case 1:
17
+ _a = _b.sent();
18
+ return [3 /*break*/, 3];
19
+ case 2:
20
+ _a = source.slice(0, length);
21
+ _b.label = 3;
22
+ case 3:
23
+ slice = _a;
24
+ return [2 /*return*/, new Uint8Array(slice)];
25
+ }
26
+ });
27
+ }); };
28
+ export var startsWith = function (header, signature) {
29
+ return header.length >= signature.length &&
30
+ signature.every(function (byte, index) { return header[index] === byte; });
31
+ };
32
+ /**
33
+ * BIFF8 error codes (MS-XLS 2.5.97 `BErr`) → Excel error literals. SheetJS
34
+ * surfaces an error cell as `{ t: "e", v: <code>, w: "#DIV/0!" }`.
35
+ */
36
+ var BIFF_ERROR_CODES = {
37
+ 0x00: "#NULL!",
38
+ 0x07: "#DIV/0!",
39
+ 0x0f: "#VALUE!",
40
+ 0x17: "#REF!",
41
+ 0x1d: "#NAME?",
42
+ 0x24: "#NUM!",
43
+ 0x2a: "#N/A",
44
+ 0x2b: "#GETTING_DATA",
45
+ };
46
+ var getNumberFormatType = function (pattern) {
47
+ var lower = pattern.toLowerCase();
48
+ if (lower.includes("yy") || lower.includes("dd"))
49
+ return "DATE";
50
+ if (lower.includes("h:") || lower.includes("am/pm"))
51
+ return "TIME";
52
+ if (lower.includes("%"))
53
+ return "PERCENT";
54
+ // Excel's builtin 49 (`@`) and any text-placeholder format — same facet
55
+ // type the xlsx styles reader yields for the cell.
56
+ if (lower.includes("@"))
57
+ return "TEXT";
58
+ if (lower.includes("$") ||
59
+ lower.includes("€") ||
60
+ lower.includes("£") ||
61
+ lower.includes("¥")) {
62
+ return "CURRENCY";
63
+ }
64
+ if (lower.includes("0") || lower.includes("#"))
65
+ return "NUMBER";
66
+ return "GENERAL";
67
+ };
68
+ /**
69
+ * BIFF `NAME` records (SheetJS `Workbook.Names`) → `NamedRange`s. Builtin
70
+ * names (`_xlnm.Print_Area`, `_xlnm._FilterDatabase`, …) are print / filter
71
+ * metadata, not user names, and are skipped. A reference that parses as a
72
+ * range becomes `range` (pinned to the sheet the ref names, else the name's
73
+ * own sheet scope, else the first sheet); anything else is kept as a
74
+ * formula `value`.
75
+ */
76
+ export var mapDefinedNames = function (names, sheets) {
77
+ return names.flatMap(function (name) {
78
+ var _a, _b, _c, _d, _e, _f;
79
+ if (!(name === null || name === void 0 ? void 0 : name.Name) || !name.Ref)
80
+ return [];
81
+ if (name.Name.startsWith("_xlnm."))
82
+ return [];
83
+ var namedRange = {
84
+ namedRangeId: uuid(),
85
+ name: name.Name,
86
+ };
87
+ var scopedSheetId = name.Sheet != null ? (_a = sheets[name.Sheet]) === null || _a === void 0 ? void 0 : _a.sheetId : undefined;
88
+ var ref = name.Ref.replace(/^=/, "");
89
+ var bang = ref.lastIndexOf("!");
90
+ var sheetPart = bang >= 0 ? ref.slice(0, bang) : undefined;
91
+ var refPart = bang >= 0 ? ref.slice(bang + 1) : ref;
92
+ var targetTitle = sheetPart === null || sheetPart === void 0 ? void 0 : sheetPart.replace(/^'(.*)'$/, "$1").replace(/''/g, "'");
93
+ var targetSheetId = (_f = (_d = (_c = (targetTitle
94
+ ? (_b = sheets.find(function (s) { return s.title === targetTitle; })) === null || _b === void 0 ? void 0 : _b.sheetId
95
+ : undefined)) !== null && _c !== void 0 ? _c : scopedSheetId) !== null && _d !== void 0 ? _d : (_e = sheets[0]) === null || _e === void 0 ? void 0 : _e.sheetId) !== null && _f !== void 0 ? _f : 1;
96
+ var gridRange = getRangeFromAddressRef(refPart);
97
+ if (gridRange) {
98
+ namedRange.range = __assign(__assign({}, gridRange), { sheetId: targetSheetId });
99
+ }
100
+ else {
101
+ namedRange.value = "=".concat(ref);
102
+ }
103
+ return [namedRange];
104
+ });
105
+ };
106
+ /**
107
+ * Legacy `.xls` (BIFF8, Excel 97-2003) reader.
108
+ *
109
+ * The BIFF record stream is decoded by SheetJS (`xlsx`, already a toolkit
110
+ * dependency for the CFB container reader used by the password decryptor),
111
+ * and the decoded workbook is mapped onto the same plugin contract the
112
+ * xlsx / xlsb readers implement: sheet names + visibility, cell values with
113
+ * their number formats, formulas with their cached results, merges, column
114
+ * widths / row heights, hyperlinks, cell notes, defined names and the 1904
115
+ * date-system flag. Cell fonts / fills / borders are not decoded (BIFF XF
116
+ * styling is outside SheetJS's open-source decoder), so a `.xls` opens with
117
+ * its data and number formatting; export goes through XLSX like XLSB.
118
+ *
119
+ * `load` also keeps the previous routing guards: an OOXML package saved with a
120
+ * `.xls` name is rejected here so `WorkBook` hands it to the xlsx parser, an
121
+ * encrypted container still asks for a password, and an HTML / text export
122
+ * saved as `.xls` fails with an actionable message.
123
+ */
3
124
  var XlsPlugin = /** @class */ (function (_super) {
4
125
  __extends(XlsPlugin, _super);
5
126
  function XlsPlugin() {
6
- return _super !== null && _super.apply(this, arguments) || this;
127
+ var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
128
+ _this.sheets = [];
129
+ _this.namedRanges = [];
130
+ _this.cellXfs = new Map();
131
+ _this.formatIds = new Map();
132
+ _this.use1904 = false;
133
+ return _this;
7
134
  }
8
- XlsPlugin.prototype.load = function (_buffer, _password) {
135
+ XlsPlugin.prototype.load = function (buffer, _password) {
9
136
  return __awaiter(this, void 0, void 0, function () {
137
+ var header, kind, bytes, _a, _b, workbook, message;
138
+ var _c, _d, _e, _f;
139
+ return __generator(this, function (_g) {
140
+ switch (_g.label) {
141
+ case 0: return [4 /*yield*/, readHeader(buffer, CFB_SIGNATURE.length)];
142
+ case 1:
143
+ header = _g.sent();
144
+ if (startsWith(header, ZIP_SIGNATURE)) {
145
+ // An OOXML package mislabelled `.xls` — `WorkBook.load` routes these
146
+ // to the xlsx parser before reaching here; guard direct callers.
147
+ throw new Error("NOT_A_BIFF_WORKBOOK");
148
+ }
149
+ if (!startsWith(header, CFB_SIGNATURE)) {
150
+ throw new Error(XLS_NOT_A_WORKBOOK_MESSAGE);
151
+ }
152
+ return [4 /*yield*/, detectCfbContainerKind(buffer)];
153
+ case 2:
154
+ kind = _g.sent();
155
+ if (kind === "encrypted-ooxml") {
156
+ throw new Error("PASSWORD_REQUIRED");
157
+ }
158
+ if (kind !== "legacy-xls") {
159
+ throw new Error(XLS_NOT_A_WORKBOOK_MESSAGE);
160
+ }
161
+ _a = Uint8Array.bind;
162
+ if (!(buffer instanceof File)) return [3 /*break*/, 4];
163
+ return [4 /*yield*/, buffer.arrayBuffer()];
164
+ case 3:
165
+ _b = _g.sent();
166
+ return [3 /*break*/, 5];
167
+ case 4:
168
+ _b = buffer;
169
+ _g.label = 5;
170
+ case 5:
171
+ bytes = new (_a.apply(Uint8Array, [void 0, _b]))();
172
+ try {
173
+ workbook = readSheetJsWorkbook(bytes, {
174
+ type: "array",
175
+ cellNF: true,
176
+ cellStyles: true,
177
+ cellDates: false,
178
+ cellText: false,
179
+ sheetStubs: false,
180
+ dense: false,
181
+ });
182
+ }
183
+ catch (error) {
184
+ message = error instanceof Error ? error.message : String(error);
185
+ if (/password/i.test(message) || /encrypt/i.test(message)) {
186
+ throw new Error(LEGACY_XLS_UNSUPPORTED_MESSAGE);
187
+ }
188
+ throw new Error("".concat(LEGACY_XLS_UNSUPPORTED_MESSAGE, " (").concat(message, ")"));
189
+ }
190
+ this.use1904 = Boolean((_d = (_c = workbook.Workbook) === null || _c === void 0 ? void 0 : _c.WBProps) === null || _d === void 0 ? void 0 : _d.date1904);
191
+ this.sheets = workbook.SheetNames.map(function (title, index) {
192
+ var _a, _b, _c, _d, _e, _f, _g;
193
+ var worksheet = (_a = workbook.Sheets[title]) !== null && _a !== void 0 ? _a : {};
194
+ var props = (_c = (_b = workbook.Workbook) === null || _b === void 0 ? void 0 : _b.Sheets) === null || _c === void 0 ? void 0 : _c[index];
195
+ var hiddenState = (_d = props === null || props === void 0 ? void 0 : props.Hidden) !== null && _d !== void 0 ? _d : 0;
196
+ var visibility = hiddenState === 2
197
+ ? "veryHidden"
198
+ : hiddenState === 1
199
+ ? "hidden"
200
+ : "visible";
201
+ var ref = worksheet["!ref"];
202
+ var range = ref ? sheetJsUtils.decode_range(ref) : undefined;
203
+ var rowCount = range ? range.e.r + 1 : 0;
204
+ var columnCount = range ? range.e.c + 1 : 0;
205
+ var merges = ((_e = worksheet["!merges"]) !== null && _e !== void 0 ? _e : []).map(function (merge) { return ({
206
+ startRowIndex: merge.s.r + 1,
207
+ endRowIndex: merge.e.r + 1,
208
+ startColumnIndex: merge.s.c + 1,
209
+ endColumnIndex: merge.e.c + 1,
210
+ }); });
211
+ var columnMetadata = [];
212
+ ((_f = worksheet["!cols"]) !== null && _f !== void 0 ? _f : []).forEach(function (col, colIndex) {
213
+ var _a, _b;
214
+ if (!col)
215
+ return;
216
+ var props = {};
217
+ if (col.hidden)
218
+ props.hiddenByUser = true;
219
+ var size = (_b = (_a = col.wpx) !== null && _a !== void 0 ? _a : (col.wch != null ? excelColumnWidthToPixels(col.wch) : undefined)) !== null && _b !== void 0 ? _b : (col.width != null ? excelColumnWidthToPixels(col.width) : undefined);
220
+ if (size != null && size > 0) {
221
+ props.size = size;
222
+ props.resizedByUser = true;
223
+ }
224
+ if (Object.keys(props).length > 0) {
225
+ columnMetadata[colIndex + 1] = props;
226
+ }
227
+ });
228
+ var rowMetadata = [];
229
+ ((_g = worksheet["!rows"]) !== null && _g !== void 0 ? _g : []).forEach(function (row, rowIndex) {
230
+ var _a;
231
+ if (!row)
232
+ return;
233
+ var props = {};
234
+ if (row.hidden)
235
+ props.hiddenByUser = true;
236
+ var size = (_a = row.hpx) !== null && _a !== void 0 ? _a : (row.hpt != null ? (row.hpt * 96) / 72 : undefined);
237
+ if (size != null && size > 0) {
238
+ props.size = Math.round(size);
239
+ props.resizedByUser = true;
240
+ }
241
+ if (Object.keys(props).length > 0) {
242
+ rowMetadata[rowIndex + 1] = props;
243
+ }
244
+ });
245
+ return {
246
+ sheetId: index + 1,
247
+ title: title,
248
+ hidden: visibility !== "visible",
249
+ visibility: visibility,
250
+ worksheet: worksheet,
251
+ rowCount: rowCount,
252
+ columnCount: columnCount,
253
+ merges: merges,
254
+ rowMetadata: rowMetadata,
255
+ columnMetadata: columnMetadata,
256
+ };
257
+ });
258
+ this.namedRanges = mapDefinedNames((_f = (_e = workbook.Workbook) === null || _e === void 0 ? void 0 : _e.Names) !== null && _f !== void 0 ? _f : [], this.sheets.map(function (s) { return ({ sheetId: s.sheetId, title: s.title }); }));
259
+ return [2 /*return*/];
260
+ }
261
+ });
262
+ });
263
+ };
264
+ XlsPlugin.prototype.dispose = function () {
265
+ this.sheets = [];
266
+ this.namedRanges = [];
267
+ this.cellXfs.clear();
268
+ this.formatIds.clear();
269
+ };
270
+ XlsPlugin.prototype.getSheetCount = function () {
271
+ return this.sheets.length;
272
+ };
273
+ XlsPlugin.prototype.getSheets = function () {
274
+ return __awaiter(this, arguments, void 0, function (minRowCount, minColumnCount) {
275
+ var sheets;
276
+ if (minRowCount === void 0) { minRowCount = 0; }
277
+ if (minColumnCount === void 0) { minColumnCount = 0; }
278
+ return __generator(this, function (_a) {
279
+ sheets = this.sheets.map(function (sheet) { return (__assign(__assign({ sheetId: sheet.sheetId, title: sheet.title, hidden: sheet.hidden }, (sheet.visibility !== "visible"
280
+ ? { visibility: sheet.visibility }
281
+ : {})), { rowCount: Math.max(minRowCount, sheet.rowCount), columnCount: Math.max(minColumnCount, sheet.columnCount), rowMetadata: sheet.rowMetadata, columnMetadata: sheet.columnMetadata, merges: sheet.merges })); });
282
+ return [2 /*return*/, [sheets, []]];
283
+ });
284
+ });
285
+ };
286
+ XlsPlugin.prototype.getCellXfs = function () {
287
+ return this.cellXfs;
288
+ };
289
+ XlsPlugin.prototype.registerFormat = function (format) {
290
+ var key = getCellXfsKey(format);
291
+ if (!this.cellXfs.has(key)) {
292
+ this.cellXfs.set(key, format);
293
+ }
294
+ return key;
295
+ };
296
+ XlsPlugin.prototype.getNamedRanges = function () {
297
+ return this.namedRanges;
298
+ };
299
+ /** `WBProps.date1904` — Mac-origin workbooks shift every date serial. */
300
+ XlsPlugin.prototype.getUse1904Epoch = function () {
301
+ return this.use1904;
302
+ };
303
+ /** Formulas carry their BIFF cached results, so no load-time recalc. */
304
+ XlsPlugin.prototype.requiresRecalc = function () {
305
+ return false;
306
+ };
307
+ XlsPlugin.prototype.toCellData = function (cell, enableCellXfsRegistry) {
308
+ var _a, _b;
309
+ var format = {};
310
+ var pattern = typeof cell.z === "string" && cell.z.toLowerCase() !== "general"
311
+ ? cell.z
312
+ : undefined;
313
+ if (pattern) {
314
+ format.numberFormat = { type: getNumberFormatType(pattern), pattern: pattern };
315
+ }
316
+ var hasFormat = Object.keys(format).length > 0;
317
+ var style;
318
+ if (enableCellXfsRegistry && hasFormat && pattern) {
319
+ var id = this.formatIds.get(pattern);
320
+ if (id === undefined) {
321
+ id = this.formatIds.size;
322
+ this.formatIds.set(pattern, id);
323
+ }
324
+ style = { sid: "xls:".concat(id) };
325
+ if (!this.cellXfs.has(style.sid)) {
326
+ this.cellXfs.set(style.sid, format);
327
+ }
328
+ }
329
+ var formatFields = style
330
+ ? { ef: style, uf: style }
331
+ : hasFormat
332
+ ? { ef: format, uf: format }
333
+ : {};
334
+ var formula = typeof cell.f === "string" && cell.f.length > 0
335
+ ? "=".concat(cell.f.replace(/^=/, ""))
336
+ : undefined;
337
+ var cellData = null;
338
+ switch (cell.t) {
339
+ case "s":
340
+ case "d": {
341
+ var text = cell.v == null ? "" : String(cell.v);
342
+ cellData = __assign(__assign(__assign({}, formatFields), { ue: formula ? { fv: formula } : { sv: text }, ev: { sv: text } }), (formula ? {} : { fv: text }));
343
+ break;
344
+ }
345
+ case "n": {
346
+ var value = Number(cell.v);
347
+ if (!Number.isFinite(value))
348
+ return null;
349
+ cellData = __assign(__assign(__assign({}, formatFields), { ue: formula ? { fv: formula } : { nv: value }, ev: { nv: value } }), (formula ? {} : { fv: ssfFormat(pattern !== null && pattern !== void 0 ? pattern : "GENERAL", value) }));
350
+ break;
351
+ }
352
+ case "b": {
353
+ var value = Boolean(cell.v);
354
+ cellData = __assign(__assign(__assign({}, formatFields), { ue: formula ? { fv: formula } : { bv: value }, ev: { bv: value } }), (formula ? {} : { fv: value ? "TRUE" : "FALSE" }));
355
+ break;
356
+ }
357
+ case "e": {
358
+ var code = (_a = (typeof cell.v === "number" ? BIFF_ERROR_CODES[cell.v] : undefined)) !== null && _a !== void 0 ? _a : (typeof cell.w === "string" && cell.w.startsWith("#")
359
+ ? cell.w
360
+ : "#VALUE!");
361
+ var errorValue = {
362
+ ev: { type: "Error", name: code, message: code },
363
+ };
364
+ cellData = __assign(__assign(__assign({}, formatFields), { ue: formula ? { fv: formula } : errorValue, ev: errorValue }), (formula ? {} : { fv: code }));
365
+ break;
366
+ }
367
+ case "z":
368
+ default: {
369
+ if (formula) {
370
+ cellData = __assign(__assign({}, formatFields), { ue: { fv: formula } });
371
+ }
372
+ else if (hasFormat) {
373
+ cellData = __assign({}, formatFields);
374
+ }
375
+ else {
376
+ return null;
377
+ }
378
+ }
379
+ }
380
+ if ((_b = cell.l) === null || _b === void 0 ? void 0 : _b.Target) {
381
+ var target = cell.l.Target;
382
+ var tooltip = cell.l.Tooltip ? { tooltip: cell.l.Tooltip } : {};
383
+ cellData.hyperlink = target.startsWith("#")
384
+ ? __assign({ kind: "internal", location: target.slice(1) }, tooltip) : __assign({ kind: "external", url: target }, tooltip);
385
+ }
386
+ if (Array.isArray(cell.c) && cell.c.length > 0) {
387
+ var note = cell.c
388
+ .map(function (comment) { var _a; return (_a = comment === null || comment === void 0 ? void 0 : comment.t) !== null && _a !== void 0 ? _a : ""; })
389
+ .filter(function (text) { return text.length > 0; })
390
+ .join("\n");
391
+ if (note)
392
+ cellData.note = note;
393
+ }
394
+ return cellData;
395
+ };
396
+ XlsPlugin.prototype.processSheetData = function () {
397
+ return __asyncGenerator(this, arguments, function processSheetData_1(chunkSize, enableCellXfsRegistry, _enableSharedStrings) {
398
+ var totalSheets, _loop_1, this_1, index;
399
+ var _this = this;
400
+ if (chunkSize === void 0) { chunkSize = 100; }
401
+ if (enableCellXfsRegistry === void 0) { enableCellXfsRegistry = false; }
10
402
  return __generator(this, function (_a) {
11
- // TODO: Implement XLS loading (CFB format)
12
- console.warn("XLS support not implemented yet");
13
- return [2 /*return*/];
403
+ switch (_a.label) {
404
+ case 0:
405
+ totalSheets = this.sheets.length;
406
+ _loop_1 = function (index) {
407
+ var sheet, rows, _b, _c, address, cell, _d, r, c, cellData, row, sortedRows, chunkRows, chunkRowIndices, chunkIndex, startRowIndex, endRowIndex, emit, sortedRows_1, sortedRows_1_1, _e, rowIndex, rowData, e_1_1;
408
+ var e_2, _f, e_1, _g;
409
+ return __generator(this, function (_h) {
410
+ switch (_h.label) {
411
+ case 0:
412
+ sheet = this_1.sheets[index];
413
+ rows = new Map();
414
+ try {
415
+ for (_b = (e_2 = void 0, __values(Object.keys(sheet.worksheet))), _c = _b.next(); !_c.done; _c = _b.next()) {
416
+ address = _c.value;
417
+ if (address.startsWith("!"))
418
+ continue;
419
+ cell = sheet.worksheet[address];
420
+ if (!cell || typeof cell !== "object")
421
+ continue;
422
+ _d = sheetJsUtils.decode_cell(address), r = _d.r, c = _d.c;
423
+ if (r < 0 || c < 0)
424
+ continue;
425
+ cellData = this_1.toCellData(cell, enableCellXfsRegistry);
426
+ if (!cellData)
427
+ continue;
428
+ row = rows.get(r + 1);
429
+ if (!row) {
430
+ row = { values: [] };
431
+ rows.set(r + 1, row);
432
+ }
433
+ row.values[c + 1] = cellData;
434
+ }
435
+ }
436
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
437
+ finally {
438
+ try {
439
+ if (_c && !_c.done && (_f = _b.return)) _f.call(_b);
440
+ }
441
+ finally { if (e_2) throw e_2.error; }
442
+ }
443
+ sortedRows = Array.from(rows.entries()).sort(function (a, b) { return a[0] - b[0]; });
444
+ chunkRows = [];
445
+ chunkRowIndices = [];
446
+ chunkIndex = 0;
447
+ startRowIndex = -1;
448
+ endRowIndex = -1;
449
+ emit = function (isLastChunk) { return ({
450
+ sheetId: sheet.sheetId,
451
+ title: sheet.title,
452
+ currentSheetIndex: index,
453
+ totalSheets: totalSheets,
454
+ chunkIndex: chunkIndex,
455
+ rows: chunkRows,
456
+ rowIndices: chunkRowIndices,
457
+ startRowIndex: startRowIndex,
458
+ endRowIndex: endRowIndex,
459
+ totalRows: sheet.rowCount,
460
+ isLastChunk: isLastChunk,
461
+ cellXfs: _this.cellXfs,
462
+ }); };
463
+ _h.label = 1;
464
+ case 1:
465
+ _h.trys.push([1, 7, 8, 9]);
466
+ sortedRows_1 = (e_1 = void 0, __values(sortedRows)), sortedRows_1_1 = sortedRows_1.next();
467
+ _h.label = 2;
468
+ case 2:
469
+ if (!!sortedRows_1_1.done) return [3 /*break*/, 6];
470
+ _e = __read(sortedRows_1_1.value, 2), rowIndex = _e[0], rowData = _e[1];
471
+ if (chunkRows.length === 0)
472
+ startRowIndex = rowIndex;
473
+ chunkRows.push(rowData);
474
+ chunkRowIndices.push(rowIndex);
475
+ endRowIndex = rowIndex;
476
+ if (!(chunkRows.length >= chunkSize)) return [3 /*break*/, 5];
477
+ return [4 /*yield*/, __await(emit(false))];
478
+ case 3: return [4 /*yield*/, _h.sent()];
479
+ case 4:
480
+ _h.sent();
481
+ chunkRows = [];
482
+ chunkRowIndices = [];
483
+ chunkIndex += 1;
484
+ startRowIndex = -1;
485
+ endRowIndex = -1;
486
+ _h.label = 5;
487
+ case 5:
488
+ sortedRows_1_1 = sortedRows_1.next();
489
+ return [3 /*break*/, 2];
490
+ case 6: return [3 /*break*/, 9];
491
+ case 7:
492
+ e_1_1 = _h.sent();
493
+ e_1 = { error: e_1_1 };
494
+ return [3 /*break*/, 9];
495
+ case 8:
496
+ try {
497
+ if (sortedRows_1_1 && !sortedRows_1_1.done && (_g = sortedRows_1.return)) _g.call(sortedRows_1);
498
+ }
499
+ finally { if (e_1) throw e_1.error; }
500
+ return [7 /*endfinally*/];
501
+ case 9:
502
+ if (!chunkRows.length) return [3 /*break*/, 12];
503
+ return [4 /*yield*/, __await(emit(true))];
504
+ case 10: return [4 /*yield*/, _h.sent()];
505
+ case 11:
506
+ _h.sent();
507
+ _h.label = 12;
508
+ case 12: return [2 /*return*/];
509
+ }
510
+ });
511
+ };
512
+ this_1 = this;
513
+ index = 0;
514
+ _a.label = 1;
515
+ case 1:
516
+ if (!(index < this.sheets.length)) return [3 /*break*/, 4];
517
+ return [5 /*yield**/, _loop_1(index)];
518
+ case 2:
519
+ _a.sent();
520
+ _a.label = 3;
521
+ case 3:
522
+ index++;
523
+ return [3 /*break*/, 1];
524
+ case 4: return [2 /*return*/];
525
+ }
14
526
  });
15
527
  });
16
528
  };
@@ -2,6 +2,10 @@ import type { Color, IterativeCalculationOptions } from "@rowsncolumns/common-ty
2
2
  import type { BorderStyle, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, NamedRange, Sheet, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
3
3
  import type { EmbeddedObjectWithPosition, ProcessSheetDataResult } from "../../types";
4
4
  import { BaseWorkbookPlugin } from "../base/index";
5
+ export declare const parseBrtWsViewPayload: (payload: Uint8Array) => {
6
+ showGridLines: boolean;
7
+ rightToLeft: boolean;
8
+ };
5
9
  export declare const parseBrtNamePayload: (payload: Uint8Array, resolveSheetNameByXti?: (ixti: number) => string | undefined) => {
6
10
  name: string;
7
11
  formula: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsb/index.ts"],"names":[],"mappings":"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"}