@substrat-run/attachment-extractors 0.2.25 → 0.2.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -0
- package/dist/index.d.ts +18 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -10
- package/dist/index.js.map +1 -1
- package/dist/tabular.d.ts +30 -0
- package/dist/tabular.d.ts.map +1 -0
- package/dist/tabular.js +343 -0
- package/dist/tabular.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -38,6 +38,37 @@ extractors" a valid configuration, not a broken one.
|
|
|
38
38
|
|
|
39
39
|
Nothing is OCR'd: a scanned PDF has no text layer and records `empty`.
|
|
40
40
|
|
|
41
|
+
## Structured spreadsheets
|
|
42
|
+
|
|
43
|
+
`readSpreadsheet({ body, filename, contentType, signal?, delimiter? })` is a host-facing
|
|
44
|
+
reader for CSV, TSV and XLSX import/diff tools. It returns `{ sheets, formulaCells }`, where
|
|
45
|
+
each sheet has a name and rows shaped `{ number, cells }`. Row numbers are one-based and
|
|
46
|
+
preserve gaps; missing XLSX cells are `null`. Values stay strings so `001`, large identifiers
|
|
47
|
+
and decimal spelling survive. Headers remain the first row; no header names or field mapping
|
|
48
|
+
are guessed. Quoted CSV separators, doubled quotes, embedded newlines, BOMs and explicit
|
|
49
|
+
charsets are supported. `delimiter: ';'` supports regional CSV; the default is comma for CSV
|
|
50
|
+
and tab for TSV.
|
|
51
|
+
|
|
52
|
+
This differs from the XLSX search extractor, which indexes words only. The structured reader
|
|
53
|
+
retains numeric cells, resolves shared strings and workbook worksheet relationships, and
|
|
54
|
+
uses cached formula results without evaluating them. `formulaCells > 0` warns a tool that
|
|
55
|
+
those values may be stale or absent. XLSX display styles, date serials, merged cells and
|
|
56
|
+
formulas are not interpreted. An error cell refuses the workbook. `.xls`, macros, external
|
|
57
|
+
worksheet relationships and DTD/entity declarations are unsupported. Standard [XML prologs](https://www.w3.org/TR/xml/#sec-prolog-dtd)
|
|
58
|
+
(`<?xml version="1.0" ...?>`) are accepted.
|
|
59
|
+
|
|
60
|
+
It refuses files over 10 MiB, inflated XML over 16 MiB, and workbooks exceeding
|
|
61
|
+
`SPREADSHEET_LIMITS`: 32 sheets, 10,000 stored rows, 256 columns, 100,000 cells (including
|
|
62
|
+
sparse padding), 32,768 characters per cell or 2 Mi characters across cell values. Shared
|
|
63
|
+
string text is bounded too. It never returns a silently truncated import. Pass an abort
|
|
64
|
+
signal for the host's time budget; errors carry content-free reasons. The host still applies
|
|
65
|
+
domain validation and permissions before importing any row.
|
|
66
|
+
|
|
67
|
+
Hosts can catch the exported `MalformedInput`, `ExtractionBoundExceeded` and
|
|
68
|
+
`ExtractionAborted` errors to distinguish invalid file data, size limits and cancellation.
|
|
69
|
+
Invalid byte sequences and incomplete characters at the end of a strict spreadsheet decode
|
|
70
|
+
are `MalformedInput`; the search extractors retain their existing tolerant decoding.
|
|
71
|
+
|
|
41
72
|
The HTML extractor **never indexes text the HTML parser keeps out of the rendered document**:
|
|
42
73
|
comments, `script`, `style`, the other elements whose content a browser does not render, and
|
|
43
74
|
`template` content. Where it does not model how a browser parses, it **under-indexes** rather
|
package/dist/index.d.ts
CHANGED
|
@@ -68,7 +68,10 @@
|
|
|
68
68
|
* that are NOT cut to a stride are copies (joining the text collected) and the name tests
|
|
69
69
|
* over the zip directory, at most 20 000 names of at most 255 bytes each.
|
|
70
70
|
*/
|
|
71
|
-
import type { AttachmentExtractor } from '@substrat-run/kernel';
|
|
71
|
+
import type { AttachmentExtractor, ExtractionSignal } from '@substrat-run/kernel';
|
|
72
|
+
import { type Spreadsheet } from './tabular.js';
|
|
73
|
+
export { SPREADSHEET_LIMITS, type Spreadsheet, type SpreadsheetSheet } from './tabular.js';
|
|
74
|
+
export { MalformedInput, ExtractionBoundExceeded, ExtractionAborted } from './shared.js';
|
|
72
75
|
export { PDF_OBJECTS_MAX, PDF_STREAM_MAX, PDF_XREF_SECTIONS, pdfTables } from './pdf.js';
|
|
73
76
|
/** The bounds that protect the parsing process (K-43). */
|
|
74
77
|
export interface ExtractorBounds {
|
|
@@ -82,6 +85,20 @@ export interface ExtractorBounds {
|
|
|
82
85
|
* document, and small enough that decoding it fits a Worker's memory.
|
|
83
86
|
*/
|
|
84
87
|
export declare const DEFAULT_EXTRACTOR_BOUNDS: ExtractorBounds;
|
|
88
|
+
/**
|
|
89
|
+
* Read an uploaded CSV/TSV/XLSX for a host's import or diff tool. Unlike the search
|
|
90
|
+
* extractor this retains coordinates and numeric values. Limits REFUSE the file,
|
|
91
|
+
* never silently truncate an import. Dates/numbers retain their stored spelling;
|
|
92
|
+
* formulas are never evaluated and `formulaCells` warns about cached results.
|
|
93
|
+
*/
|
|
94
|
+
export declare function readSpreadsheet(input: {
|
|
95
|
+
body: Uint8Array;
|
|
96
|
+
filename: string;
|
|
97
|
+
contentType: string;
|
|
98
|
+
signal?: ExtractionSignal;
|
|
99
|
+
/** Defaults to comma (CSV) or tab (TSV); semicolon is explicit for regional CSV. */
|
|
100
|
+
delimiter?: ',' | ';' | '\t';
|
|
101
|
+
}): Promise<Spreadsheet>;
|
|
85
102
|
/** `text/*` other than HTML — and `.txt`, `.md`, `.csv`, `.tsv` when the type says nothing. */
|
|
86
103
|
export declare function textExtractor(bounds?: ExtractorBounds): AttachmentExtractor;
|
|
87
104
|
/** HTML and XHTML — the text a reader of the page would see. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,KAAK,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAuD,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAcvI,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEzF,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAGtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,oFAAoF;IACpF,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;CAC9B,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBvB;AAumCD,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,MAAM,GAAE,eAA0C,GAAG,mBAAmB,CAUrG;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,MAAM,GAAE,eAA0C,GAAG,mBAAmB,CAOrG;AAWD,+EAA+E;AAC/E,eAAO,MAAM,aAAa,YAAY,eAAe,wBAAoE,CAAC;AAC1H,+EAA+E;AAC/E,eAAO,MAAM,aAAa,YAAY,eAAe,wBAAoE,CAAC;AAC1H,gEAAgE;AAChE,eAAO,MAAM,aAAa,YAAY,eAAe,wBAAoE,CAAC;AAE1H,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,MAAM,GAAE,eAA0C,GAAG,mBAAmB,CAOpG;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,GAAE,eAA0C,GAAG,mBAAmB,EAAE,CASrH"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { COLLECT_FACTOR, ExtractionAborted, ExtractionBoundExceeded, MalformedInput, Pace, TextDecoder, checkpoint, inflateChunks, } from './shared.js';
|
|
2
2
|
import { pdfExtract } from './pdf.js';
|
|
3
|
+
import { delimitedSheet, workbook } from './tabular.js';
|
|
4
|
+
export { SPREADSHEET_LIMITS } from './tabular.js';
|
|
5
|
+
export { MalformedInput, ExtractionBoundExceeded, ExtractionAborted } from './shared.js';
|
|
3
6
|
export { PDF_OBJECTS_MAX, PDF_STREAM_MAX, PDF_XREF_SECTIONS, pdfTables } from './pdf.js';
|
|
4
7
|
/**
|
|
5
8
|
* The defaults. 16 MiB of inflated XML is far more than the text of any ordinary office
|
|
@@ -9,6 +12,39 @@ export const DEFAULT_EXTRACTOR_BOUNDS = {
|
|
|
9
12
|
maxInputBytes: 32 * 1024 * 1024,
|
|
10
13
|
maxInflatedBytes: 16 * 1024 * 1024,
|
|
11
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Read an uploaded CSV/TSV/XLSX for a host's import or diff tool. Unlike the search
|
|
17
|
+
* extractor this retains coordinates and numeric values. Limits REFUSE the file,
|
|
18
|
+
* never silently truncate an import. Dates/numbers retain their stored spelling;
|
|
19
|
+
* formulas are never evaluated and `formulaCells` warns about cached results.
|
|
20
|
+
*/
|
|
21
|
+
export async function readSpreadsheet(input) {
|
|
22
|
+
if (input.body.byteLength > 10 * 1024 * 1024)
|
|
23
|
+
throw new ExtractionBoundExceeded('the spreadsheet exceeds 10 MiB');
|
|
24
|
+
const pace = new Pace(input.signal ?? { aborted: false });
|
|
25
|
+
if (acceptsBy((type) => type === XLSX, ['xlsx'])(input.contentType, input.filename)) {
|
|
26
|
+
const entries = await zipEntries(input.body, pace);
|
|
27
|
+
const byName = new Map(entries.map((entry) => [entry.name, entry]));
|
|
28
|
+
if (byName.size !== entries.length)
|
|
29
|
+
throw new MalformedInput('duplicate workbook archive parts');
|
|
30
|
+
const budget = { remaining: DEFAULT_EXTRACTOR_BOUNDS.maxInflatedBytes };
|
|
31
|
+
return workbook(async (name) => {
|
|
32
|
+
const entry = byName.get(name);
|
|
33
|
+
if (!entry) {
|
|
34
|
+
if (name === 'xl/sharedStrings.xml')
|
|
35
|
+
return '';
|
|
36
|
+
throw new MalformedInput('missing workbook archive part');
|
|
37
|
+
}
|
|
38
|
+
return readEntryText(input.body, entry, budget, pace, true);
|
|
39
|
+
}, pace, (text) => decodeXmlEntities(text, pace));
|
|
40
|
+
}
|
|
41
|
+
const { type, charset } = parseContentType(input.contentType);
|
|
42
|
+
const tsv = acceptsBy((t) => t === 'text/tab-separated-values', ['tsv'])(type, input.filename);
|
|
43
|
+
const csv = acceptsBy((t) => t === 'text/csv' || t === 'application/csv', ['csv'])(type, input.filename);
|
|
44
|
+
if (!tsv && !csv)
|
|
45
|
+
throw new MalformedInput('expected a CSV, TSV or XLSX spreadsheet');
|
|
46
|
+
return delimitedSheet(await decodeText(input.body, charset, pace, true), input.delimiter ?? (tsv ? '\t' : ','), pace);
|
|
47
|
+
}
|
|
12
48
|
const DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
|
|
13
49
|
const XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
14
50
|
const PPTX = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
|
|
@@ -41,8 +77,26 @@ function acceptsBy(types, extensions) {
|
|
|
41
77
|
return ext !== '' && extensions.includes(ext);
|
|
42
78
|
};
|
|
43
79
|
}
|
|
80
|
+
/** Strict import decoding turns invalid bytes (including a truncated flush) into an input refusal. */
|
|
81
|
+
function textDecoder(label, strict) {
|
|
82
|
+
const decoder = new TextDecoder(label, { fatal: strict });
|
|
83
|
+
if (!strict)
|
|
84
|
+
return decoder;
|
|
85
|
+
return {
|
|
86
|
+
decode(input, options) {
|
|
87
|
+
try {
|
|
88
|
+
return decoder.decode(input, options);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
if (error instanceof TypeError)
|
|
92
|
+
throw new MalformedInput('spreadsheet text is not valid in its encoding');
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
44
98
|
/** Decode bytes as text: a UTF-16 BOM wins, then a declared charset, then UTF-8. */
|
|
45
|
-
async function decodeText(bytes, charset, pace) {
|
|
99
|
+
async function decodeText(bytes, charset, pace, strict = false) {
|
|
46
100
|
let label = charset ?? 'utf-8';
|
|
47
101
|
if (bytes[0] === 0xff && bytes[1] === 0xfe)
|
|
48
102
|
label = 'utf-16le';
|
|
@@ -50,9 +104,11 @@ async function decodeText(bytes, charset, pace) {
|
|
|
50
104
|
label = 'utf-16be';
|
|
51
105
|
let decoder;
|
|
52
106
|
try {
|
|
53
|
-
decoder =
|
|
107
|
+
decoder = textDecoder(label, strict);
|
|
54
108
|
}
|
|
55
109
|
catch {
|
|
110
|
+
if (strict)
|
|
111
|
+
throw new MalformedInput('unsupported spreadsheet text encoding');
|
|
56
112
|
// An unknown label is the client's typo, not a reason to index nothing.
|
|
57
113
|
decoder = new TextDecoder('utf-8');
|
|
58
114
|
}
|
|
@@ -97,6 +153,53 @@ const NAMED_ENTITIES = (() => {
|
|
|
97
153
|
* (only leading zeros make one) that straddles an edge is left as written.
|
|
98
154
|
*/
|
|
99
155
|
const ENTITY_SPAN = 32;
|
|
156
|
+
/** Import XML is strict; HTML/search decoding below deliberately remains tolerant. */
|
|
157
|
+
async function decodeXmlEntities(text, pace) {
|
|
158
|
+
const out = [];
|
|
159
|
+
let at = 0;
|
|
160
|
+
for (;;) {
|
|
161
|
+
const amp = await pace.find(text, '&', at);
|
|
162
|
+
if (amp < 0) {
|
|
163
|
+
out.push(text.slice(at));
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
out.push(text.slice(at, amp));
|
|
167
|
+
if (text[amp + 1] !== '#') {
|
|
168
|
+
// The five predefined XML names are at most four characters long.
|
|
169
|
+
const match = /^(amp|lt|gt|quot|apos);/.exec(text.slice(amp + 1, amp + 7));
|
|
170
|
+
if (!match)
|
|
171
|
+
throw new MalformedInput('unknown or malformed XML entity reference');
|
|
172
|
+
out.push(XML_ENTITIES[match[1]]);
|
|
173
|
+
at = amp + 1 + match[0].length;
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
const hex = text[amp + 2] === 'x';
|
|
177
|
+
const start = amp + (hex ? 3 : 2);
|
|
178
|
+
let code = 0;
|
|
179
|
+
let digits = 0;
|
|
180
|
+
const end = await pace.scan(text, start, (c) => {
|
|
181
|
+
if (c === 59)
|
|
182
|
+
return true;
|
|
183
|
+
const digit = c >= 48 && c <= 57 ? c - 48
|
|
184
|
+
: hex && c >= 65 && c <= 70 ? c - 55
|
|
185
|
+
: hex && c >= 97 && c <= 102 ? c - 87 : -1;
|
|
186
|
+
if (digit < 0)
|
|
187
|
+
throw new MalformedInput('malformed XML character reference');
|
|
188
|
+
code = code * (hex ? 16 : 10) + digit;
|
|
189
|
+
if (code > 0x10ffff)
|
|
190
|
+
throw new MalformedInput('invalid XML character reference');
|
|
191
|
+
digits++;
|
|
192
|
+
return false;
|
|
193
|
+
});
|
|
194
|
+
if (end < 0 || !digits || !(code === 9 || code === 10 || code === 13
|
|
195
|
+
|| code >= 0x20 && code <= 0xd7ff || code >= 0xe000 && code <= 0xfffd || code >= 0x10000)) {
|
|
196
|
+
throw new MalformedInput('invalid XML character reference');
|
|
197
|
+
}
|
|
198
|
+
out.push(String.fromCodePoint(code));
|
|
199
|
+
at = end + 1;
|
|
200
|
+
}
|
|
201
|
+
return out.join('');
|
|
202
|
+
}
|
|
100
203
|
/**
|
|
101
204
|
* `&` `ä` `ä` → characters, a window at a time. An unknown name is left as
|
|
102
205
|
* written. The pattern is linear — each `&` is tried once against the run that follows it.
|
|
@@ -822,30 +925,33 @@ async function zipEntries(zip, pace) {
|
|
|
822
925
|
}
|
|
823
926
|
if (count > MAX_ZIP_ENTRIES)
|
|
824
927
|
throw new ExtractionBoundExceeded(`the archive lists more than ${MAX_ZIP_ENTRIES} entries`);
|
|
825
|
-
|
|
928
|
+
const cdEnd = cdOffset + cdSize;
|
|
929
|
+
if (cdEnd > eocd)
|
|
826
930
|
throw new MalformedInput('the zip central directory is out of range');
|
|
827
931
|
const names = new TextDecoder('utf-8');
|
|
828
932
|
const entries = [];
|
|
829
933
|
let p = cdOffset;
|
|
830
934
|
for (let n = 0; n < count; n += 1) {
|
|
831
935
|
await pace.turn();
|
|
832
|
-
if (p + 46 >
|
|
936
|
+
if (p + 46 > cdEnd || view.getUint32(p, true) !== 0x02014b50) {
|
|
833
937
|
throw new MalformedInput('the zip central directory is damaged');
|
|
834
938
|
}
|
|
835
939
|
const nameLength = view.getUint16(p + 28, true);
|
|
836
940
|
const extraLength = view.getUint16(p + 30, true);
|
|
837
941
|
const commentLength = view.getUint16(p + 32, true);
|
|
838
|
-
|
|
942
|
+
const span = 46 + nameLength + extraLength + commentLength;
|
|
943
|
+
if (p + span > cdEnd)
|
|
839
944
|
throw new MalformedInput('the zip central directory is damaged');
|
|
945
|
+
const nameBytes = zip.subarray(p + 46, p + 46 + nameLength);
|
|
840
946
|
entries.push({
|
|
841
|
-
name: nameLength > MAX_ENTRY_NAME ? '' : names.decode(
|
|
947
|
+
name: nameLength > MAX_ENTRY_NAME ? '' : names.decode(nameBytes),
|
|
948
|
+
nameBytes,
|
|
842
949
|
flags: view.getUint16(p + 8, true),
|
|
843
950
|
method: view.getUint16(p + 10, true),
|
|
844
951
|
compressedSize: view.getUint32(p + 20, true),
|
|
845
952
|
uncompressedSize: view.getUint32(p + 24, true),
|
|
846
953
|
localHeaderOffset: view.getUint32(p + 42, true),
|
|
847
954
|
});
|
|
848
|
-
const span = 46 + nameLength + extraLength + commentLength;
|
|
849
955
|
pace.charge(span);
|
|
850
956
|
p += span;
|
|
851
957
|
}
|
|
@@ -857,7 +963,7 @@ async function zipEntries(zip, pace) {
|
|
|
857
963
|
* The count is of what the inflater actually produces (`inflateChunks`), and a throw past the
|
|
858
964
|
* budget cancels the stream.
|
|
859
965
|
*/
|
|
860
|
-
async function readEntryText(zip, entry, budget, pace) {
|
|
966
|
+
async function readEntryText(zip, entry, budget, pace, strict = false) {
|
|
861
967
|
if (entry.flags & 0x1)
|
|
862
968
|
throw new MalformedInput('the archive is encrypted');
|
|
863
969
|
const view = new DataView(zip.buffer, zip.byteOffset, zip.byteLength);
|
|
@@ -865,17 +971,24 @@ async function readEntryText(zip, entry, budget, pace) {
|
|
|
865
971
|
if (at + 30 > zip.length || view.getUint32(at, true) !== 0x04034b50) {
|
|
866
972
|
throw new MalformedInput('a zip entry header is damaged');
|
|
867
973
|
}
|
|
868
|
-
const
|
|
974
|
+
const localNameLength = view.getUint16(at + 26, true);
|
|
975
|
+
const start = at + 30 + localNameLength + view.getUint16(at + 28, true);
|
|
869
976
|
const end = start + entry.compressedSize;
|
|
870
977
|
if (end > zip.length)
|
|
871
978
|
throw new MalformedInput('a zip entry is out of range');
|
|
979
|
+
if (localNameLength !== entry.nameBytes.length
|
|
980
|
+
|| view.getUint16(at + 6, true) !== entry.flags
|
|
981
|
+
|| view.getUint16(at + 8, true) !== entry.method
|
|
982
|
+
|| entry.nameBytes.some((byte, i) => byte !== zip[at + 30 + i])) {
|
|
983
|
+
throw new MalformedInput('the local and central zip headers disagree');
|
|
984
|
+
}
|
|
872
985
|
const raw = zip.subarray(start, end);
|
|
873
986
|
// The declared size is a cheap early refusal and nothing more — the counter below is the
|
|
874
987
|
// guard, because a bomb is precisely an entry whose header lies.
|
|
875
988
|
if (entry.uncompressedSize > budget.remaining) {
|
|
876
989
|
throw new ExtractionBoundExceeded('the archive inflates past the extraction bound');
|
|
877
990
|
}
|
|
878
|
-
const decoder =
|
|
991
|
+
const decoder = textDecoder('utf-8', strict);
|
|
879
992
|
const text = [];
|
|
880
993
|
if (entry.method === 0) {
|
|
881
994
|
budget.remaining -= raw.length;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Structured spreadsheet reading for host tools. No formulas, macros or links execute. */
|
|
2
|
+
import { Pace } from './shared.js';
|
|
3
|
+
export interface SpreadsheetSheet {
|
|
4
|
+
name: string;
|
|
5
|
+
/** Physical row numbers, one-based. Missing cells are null; text and decimals stay strings. */
|
|
6
|
+
rows: {
|
|
7
|
+
number: number;
|
|
8
|
+
cells: (string | null)[];
|
|
9
|
+
}[];
|
|
10
|
+
}
|
|
11
|
+
export interface Spreadsheet {
|
|
12
|
+
sheets: SpreadsheetSheet[];
|
|
13
|
+
/** Formula cells contain their cached result, which can be absent or stale. */
|
|
14
|
+
formulaCells: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const SPREADSHEET_LIMITS: {
|
|
17
|
+
readonly sheets: 32;
|
|
18
|
+
readonly rows: 10000;
|
|
19
|
+
readonly columns: 256;
|
|
20
|
+
readonly cells: 100000;
|
|
21
|
+
readonly cellCharacters: 32768;
|
|
22
|
+
readonly totalCharacters: number;
|
|
23
|
+
};
|
|
24
|
+
/** Strict quoted CSV/TSV, with embedded newlines and doubled quotes. Never coerces identifiers. */
|
|
25
|
+
export declare function delimitedSheet(text: string, delimiter: ',' | ';' | '\t', pace: Pace): Promise<Spreadsheet>;
|
|
26
|
+
type Decode = (text: string) => Promise<string>;
|
|
27
|
+
/** Resolves only workbook-local worksheet parts; external references never get fetched. */
|
|
28
|
+
export declare function workbook(part: (name: string) => Promise<string>, pace: Pace, decode: Decode): Promise<Spreadsheet>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=tabular.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabular.d.ts","sourceRoot":"","sources":["../src/tabular.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAA2C,IAAI,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;KAAE,EAAE,CAAC;CACtD;AACD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB;aAC7B,MAAM,EAAE,EAAE;aAAE,IAAI,EAAE,KAAM;aAAE,OAAO,EAAE,GAAG;aAAE,KAAK,EAAE,MAAO;aAAE,cAAc,EAAE,KAAM;aAC9E,eAAe;CACP,CAAC;AAOX,mGAAmG;AACnG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CA+ChH;AAID,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AA+EhD,2FAA2F;AAC3F,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAClE,OAAO,CAAC,WAAW,CAAC,CAqHtB"}
|
package/dist/tabular.js
ADDED
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/** Structured spreadsheet reading for host tools. No formulas, macros or links execute. */
|
|
2
|
+
import { ExtractionBoundExceeded, MalformedInput, Pace } from './shared.js';
|
|
3
|
+
export const SPREADSHEET_LIMITS = {
|
|
4
|
+
sheets: 32, rows: 10_000, columns: 256, cells: 100_000, cellCharacters: 32_768,
|
|
5
|
+
totalCharacters: 2 * 1024 * 1024,
|
|
6
|
+
};
|
|
7
|
+
function cellSize(value) {
|
|
8
|
+
if (value.length > SPREADSHEET_LIMITS.cellCharacters)
|
|
9
|
+
throw new ExtractionBoundExceeded('a spreadsheet cell is too long');
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
/** Strict quoted CSV/TSV, with embedded newlines and doubled quotes. Never coerces identifiers. */
|
|
13
|
+
export async function delimitedSheet(text, delimiter, pace) {
|
|
14
|
+
const rows = [];
|
|
15
|
+
let row = [];
|
|
16
|
+
let value = '';
|
|
17
|
+
let quoted = false;
|
|
18
|
+
let closed = false;
|
|
19
|
+
let cells = 0;
|
|
20
|
+
let characters = 0;
|
|
21
|
+
const field = () => {
|
|
22
|
+
row.push(cellSize(value));
|
|
23
|
+
characters += value.length;
|
|
24
|
+
if (characters > SPREADSHEET_LIMITS.totalCharacters)
|
|
25
|
+
throw new ExtractionBoundExceeded('the spreadsheet contains too much cell text');
|
|
26
|
+
if (++cells > SPREADSHEET_LIMITS.cells || row.length > SPREADSHEET_LIMITS.columns) {
|
|
27
|
+
throw new ExtractionBoundExceeded('the spreadsheet exceeds its cell or column limit');
|
|
28
|
+
}
|
|
29
|
+
value = '';
|
|
30
|
+
closed = false;
|
|
31
|
+
};
|
|
32
|
+
const endRow = () => {
|
|
33
|
+
field();
|
|
34
|
+
if (rows.length >= SPREADSHEET_LIMITS.rows)
|
|
35
|
+
throw new ExtractionBoundExceeded('the spreadsheet has too many rows');
|
|
36
|
+
rows.push({ number: rows.length + 1, cells: row });
|
|
37
|
+
row = [];
|
|
38
|
+
};
|
|
39
|
+
for (let at = 0; at < text.length; at++) {
|
|
40
|
+
await pace.turn();
|
|
41
|
+
pace.charge(1);
|
|
42
|
+
const ch = text[at];
|
|
43
|
+
if (quoted) {
|
|
44
|
+
if (ch === '"') {
|
|
45
|
+
if (text[at + 1] === '"') {
|
|
46
|
+
value += '"';
|
|
47
|
+
at++;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
quoted = false;
|
|
51
|
+
closed = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else
|
|
55
|
+
value += ch;
|
|
56
|
+
}
|
|
57
|
+
else if (ch === delimiter)
|
|
58
|
+
field();
|
|
59
|
+
else if (ch === '\r' || ch === '\n') {
|
|
60
|
+
if (ch === '\r' && text[at + 1] === '\n')
|
|
61
|
+
at++;
|
|
62
|
+
endRow();
|
|
63
|
+
}
|
|
64
|
+
else if (ch === '"' && !value && !closed)
|
|
65
|
+
quoted = true;
|
|
66
|
+
else {
|
|
67
|
+
if (closed || ch === '"')
|
|
68
|
+
throw new MalformedInput('invalid quoting in the delimited file');
|
|
69
|
+
value += ch;
|
|
70
|
+
}
|
|
71
|
+
if (value.length > SPREADSHEET_LIMITS.cellCharacters)
|
|
72
|
+
throw new ExtractionBoundExceeded('a spreadsheet cell is too long');
|
|
73
|
+
}
|
|
74
|
+
if (quoted)
|
|
75
|
+
throw new MalformedInput('an unterminated quoted field in the delimited file');
|
|
76
|
+
if (value.length || row.length || closed)
|
|
77
|
+
endRow();
|
|
78
|
+
return { sheets: [{ name: 'Sheet1', rows }], formulaCells: 0 };
|
|
79
|
+
}
|
|
80
|
+
/** A forward-only XML scan; DTD/entity declarations are refused, depth and attributes bounded. */
|
|
81
|
+
async function xml(xml, pace, decode, visitor, optional = false) {
|
|
82
|
+
const stack = [];
|
|
83
|
+
let rootSeen = false;
|
|
84
|
+
for (let at = 0; at < xml.length;) {
|
|
85
|
+
const lt = await pace.find(xml, '<', at);
|
|
86
|
+
const end = lt < 0 ? xml.length : lt;
|
|
87
|
+
if (end > at) {
|
|
88
|
+
const text = xml.slice(at, end);
|
|
89
|
+
if (!stack.length && await pace.scan(text, 0, (c) => c !== 32 && c !== 9 && c !== 10 && c !== 13) >= 0) {
|
|
90
|
+
throw new MalformedInput('text outside the spreadsheet XML root');
|
|
91
|
+
}
|
|
92
|
+
if (stack.length)
|
|
93
|
+
visitor.text(await decode(text));
|
|
94
|
+
}
|
|
95
|
+
if (lt < 0)
|
|
96
|
+
break;
|
|
97
|
+
at = lt + 1;
|
|
98
|
+
if (xml.startsWith('!--', at) || xml.startsWith('?', at)) {
|
|
99
|
+
const comment = xml.startsWith('!--', at);
|
|
100
|
+
const marker = comment ? '-->' : '?>';
|
|
101
|
+
const close = await pace.find(xml, marker, at + (comment ? 3 : 1));
|
|
102
|
+
if (close < 0)
|
|
103
|
+
throw new MalformedInput('unclosed spreadsheet XML comment or instruction');
|
|
104
|
+
at = close + marker.length;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (xml[at] === '!')
|
|
108
|
+
throw new MalformedInput('spreadsheet DTD and entity declarations are unsupported');
|
|
109
|
+
let quote = 0;
|
|
110
|
+
const gt = await pace.scan(xml, at, (c) => {
|
|
111
|
+
if (quote) {
|
|
112
|
+
if (c === quote)
|
|
113
|
+
quote = 0;
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
if (c === 34 || c === 39) {
|
|
117
|
+
quote = c;
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
return c === 62;
|
|
121
|
+
});
|
|
122
|
+
if (gt < 0)
|
|
123
|
+
throw new MalformedInput('unclosed spreadsheet XML tag');
|
|
124
|
+
const tag = xml.slice(at, gt);
|
|
125
|
+
// Tag headers do not need to carry cell contents. This also bounds the attribute pass.
|
|
126
|
+
if (tag.length > 16_384)
|
|
127
|
+
throw new ExtractionBoundExceeded('a spreadsheet XML tag is too long');
|
|
128
|
+
const match = /^(\/)?([A-Za-z_][\w:.-]*)([\s\S]*)$/.exec(tag);
|
|
129
|
+
if (!match)
|
|
130
|
+
throw new MalformedInput('invalid spreadsheet XML tag');
|
|
131
|
+
const closing = !!match[1];
|
|
132
|
+
const qualified = match[2];
|
|
133
|
+
const name = qualified.slice(qualified.lastIndexOf(':') + 1);
|
|
134
|
+
const selfClosing = !closing && tag.endsWith('/');
|
|
135
|
+
const tail = match[3].slice(0, selfClosing ? -1 : undefined);
|
|
136
|
+
const attrs = Object.create(null);
|
|
137
|
+
let pos = 0;
|
|
138
|
+
let count = 0;
|
|
139
|
+
while (pos < tail.length) {
|
|
140
|
+
const space = /^\s+/.exec(tail.slice(pos));
|
|
141
|
+
if (!space)
|
|
142
|
+
throw new MalformedInput('invalid spreadsheet XML attribute');
|
|
143
|
+
pos += space[0].length;
|
|
144
|
+
if (pos === tail.length)
|
|
145
|
+
break;
|
|
146
|
+
if (closing || ++count > 64)
|
|
147
|
+
throw new MalformedInput('invalid spreadsheet XML attributes');
|
|
148
|
+
const attribute = /^([A-Za-z_][\w:.-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/.exec(tail.slice(pos));
|
|
149
|
+
if (!attribute || Object.hasOwn(attrs, attribute[1]))
|
|
150
|
+
throw new MalformedInput('invalid spreadsheet XML attribute');
|
|
151
|
+
attrs[attribute[1]] = await decode(attribute[2] ?? attribute[3]);
|
|
152
|
+
pos += attribute[0].length;
|
|
153
|
+
}
|
|
154
|
+
if (closing) {
|
|
155
|
+
if (stack.pop() !== qualified)
|
|
156
|
+
throw new MalformedInput('mismatched spreadsheet XML tags');
|
|
157
|
+
visitor.tag(name, attrs, true);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
if (!stack.length) {
|
|
161
|
+
if (rootSeen)
|
|
162
|
+
throw new MalformedInput('spreadsheet XML has more than one root element');
|
|
163
|
+
rootSeen = true;
|
|
164
|
+
}
|
|
165
|
+
visitor.tag(name, attrs, false);
|
|
166
|
+
if (selfClosing)
|
|
167
|
+
visitor.tag(name, attrs, true);
|
|
168
|
+
else {
|
|
169
|
+
stack.push(qualified);
|
|
170
|
+
if (stack.length > 64)
|
|
171
|
+
throw new ExtractionBoundExceeded('spreadsheet XML is too deeply nested');
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
at = gt + 1;
|
|
175
|
+
}
|
|
176
|
+
if (stack.length)
|
|
177
|
+
throw new MalformedInput('unclosed spreadsheet XML elements');
|
|
178
|
+
if (!rootSeen && !(optional && xml.length === 0))
|
|
179
|
+
throw new MalformedInput('spreadsheet XML has no root element');
|
|
180
|
+
}
|
|
181
|
+
/** Resolves only workbook-local worksheet parts; external references never get fetched. */
|
|
182
|
+
export async function workbook(part, pace, decode) {
|
|
183
|
+
const sheets = [];
|
|
184
|
+
const relationships = new Map();
|
|
185
|
+
await xml(await part('xl/workbook.xml'), pace, decode, {
|
|
186
|
+
tag(name, attrs, closing) {
|
|
187
|
+
if (name !== 'sheet' || closing)
|
|
188
|
+
return;
|
|
189
|
+
if (sheets.length >= SPREADSHEET_LIMITS.sheets)
|
|
190
|
+
throw new ExtractionBoundExceeded('the workbook has too many sheets');
|
|
191
|
+
if (!attrs.name || !attrs['r:id'])
|
|
192
|
+
throw new MalformedInput('a worksheet has no name or relationship');
|
|
193
|
+
sheets.push({ name: attrs.name, rel: attrs['r:id'] });
|
|
194
|
+
}, text() { },
|
|
195
|
+
});
|
|
196
|
+
await xml(await part('xl/_rels/workbook.xml.rels'), pace, decode, {
|
|
197
|
+
tag(name, attrs, closing) {
|
|
198
|
+
if (name !== 'Relationship' || closing || !attrs.Type?.endsWith('/worksheet'))
|
|
199
|
+
return;
|
|
200
|
+
if (!attrs.Id || !attrs.Target || attrs.TargetMode === 'External' || relationships.has(attrs.Id)) {
|
|
201
|
+
throw new MalformedInput('invalid or external worksheet relationship');
|
|
202
|
+
}
|
|
203
|
+
const target = attrs.Target.startsWith('/') ? attrs.Target.slice(1) : `xl/${attrs.Target}`;
|
|
204
|
+
if (!/^xl\/worksheets\/[^/\\]+\.xml$/.test(target))
|
|
205
|
+
throw new MalformedInput('unsupported worksheet path');
|
|
206
|
+
relationships.set(attrs.Id, target);
|
|
207
|
+
}, text() { },
|
|
208
|
+
});
|
|
209
|
+
const strings = [];
|
|
210
|
+
let stringCharacters = 0;
|
|
211
|
+
let inText = false;
|
|
212
|
+
let phonetic = 0;
|
|
213
|
+
let shared;
|
|
214
|
+
await xml(await part('xl/sharedStrings.xml'), pace, decode, {
|
|
215
|
+
tag(name, _attrs, closing) {
|
|
216
|
+
if (name === 'rPh')
|
|
217
|
+
phonetic += closing ? -1 : 1;
|
|
218
|
+
if (name === 't')
|
|
219
|
+
inText = !closing;
|
|
220
|
+
if (name === 'si') {
|
|
221
|
+
if (!closing)
|
|
222
|
+
shared = '';
|
|
223
|
+
else {
|
|
224
|
+
if (strings.length >= SPREADSHEET_LIMITS.cells)
|
|
225
|
+
throw new ExtractionBoundExceeded('too many shared strings');
|
|
226
|
+
strings.push(cellSize(shared ?? ''));
|
|
227
|
+
stringCharacters += shared?.length ?? 0;
|
|
228
|
+
if (stringCharacters > SPREADSHEET_LIMITS.totalCharacters)
|
|
229
|
+
throw new ExtractionBoundExceeded('too much shared string text');
|
|
230
|
+
shared = undefined;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
text(text) { if (shared !== undefined && inText && !phonetic)
|
|
235
|
+
shared = cellSize(shared + text); },
|
|
236
|
+
}, true);
|
|
237
|
+
const result = { sheets: [], formulaCells: 0 };
|
|
238
|
+
let totalRows = 0;
|
|
239
|
+
let totalCells = 0;
|
|
240
|
+
let totalCharacters = 0;
|
|
241
|
+
for (const sheet of sheets) {
|
|
242
|
+
const path = relationships.get(sheet.rel);
|
|
243
|
+
if (!path)
|
|
244
|
+
throw new MalformedInput('missing worksheet relationship');
|
|
245
|
+
const output = { name: sheet.name, rows: [] };
|
|
246
|
+
let row;
|
|
247
|
+
let column = 0;
|
|
248
|
+
let type = '';
|
|
249
|
+
let value = '';
|
|
250
|
+
let capture = false;
|
|
251
|
+
let cell = false;
|
|
252
|
+
let formula = false;
|
|
253
|
+
let hasValue = false;
|
|
254
|
+
let previousRow = 0;
|
|
255
|
+
let phonetic = 0;
|
|
256
|
+
await xml(await part(path), pace, decode, {
|
|
257
|
+
tag(name, attrs, closing) {
|
|
258
|
+
if (name === 'row') {
|
|
259
|
+
if (!closing) {
|
|
260
|
+
if (row)
|
|
261
|
+
throw new MalformedInput('nested worksheet rows');
|
|
262
|
+
const number = attrs.r === undefined ? previousRow + 1 : Number(attrs.r);
|
|
263
|
+
if (!Number.isSafeInteger(number) || number <= previousRow)
|
|
264
|
+
throw new MalformedInput('invalid worksheet row number');
|
|
265
|
+
if (++totalRows > SPREADSHEET_LIMITS.rows)
|
|
266
|
+
throw new ExtractionBoundExceeded('the workbook has too many rows');
|
|
267
|
+
previousRow = number;
|
|
268
|
+
row = { number, cells: [] };
|
|
269
|
+
}
|
|
270
|
+
else if (row) {
|
|
271
|
+
output.rows.push(row);
|
|
272
|
+
row = undefined;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (name === 'c') {
|
|
276
|
+
if (!row)
|
|
277
|
+
throw new MalformedInput('a worksheet cell has no row');
|
|
278
|
+
if (!closing) {
|
|
279
|
+
if (cell)
|
|
280
|
+
throw new MalformedInput('nested worksheet cells');
|
|
281
|
+
const ref = attrs.r ? /^([A-Z]{1,3})([1-9][0-9]*)$/.exec(attrs.r) : null;
|
|
282
|
+
if (attrs.r && (!ref || Number(ref[2]) !== row.number))
|
|
283
|
+
throw new MalformedInput('invalid cell reference');
|
|
284
|
+
column = ref ? [...ref[1]].reduce((n, ch) => n * 26 + ch.charCodeAt(0) - 64, 0) - 1 : row.cells.length;
|
|
285
|
+
if (column < row.cells.length)
|
|
286
|
+
throw new MalformedInput('duplicate or unordered worksheet cells');
|
|
287
|
+
totalCells += column - row.cells.length + 1;
|
|
288
|
+
if (column >= SPREADSHEET_LIMITS.columns || totalCells > SPREADSHEET_LIMITS.cells) {
|
|
289
|
+
throw new ExtractionBoundExceeded('the workbook exceeds its cell or column limit');
|
|
290
|
+
}
|
|
291
|
+
type = attrs.t ?? 'n';
|
|
292
|
+
value = '';
|
|
293
|
+
cell = true;
|
|
294
|
+
formula = false;
|
|
295
|
+
hasValue = false;
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
if (formula)
|
|
299
|
+
result.formulaCells++;
|
|
300
|
+
let parsed = hasValue ? value : null;
|
|
301
|
+
if (type === 's' && parsed !== null) {
|
|
302
|
+
if (!/^[0-9]+$/.test(value) || strings[Number(value)] === undefined)
|
|
303
|
+
throw new MalformedInput('invalid shared string index');
|
|
304
|
+
parsed = strings[Number(value)];
|
|
305
|
+
}
|
|
306
|
+
if (type === 'b' && parsed !== null) {
|
|
307
|
+
if (value !== '0' && value !== '1')
|
|
308
|
+
throw new MalformedInput('invalid boolean cell');
|
|
309
|
+
parsed = value === '1' ? 'true' : 'false';
|
|
310
|
+
}
|
|
311
|
+
if (type === 'e')
|
|
312
|
+
throw new MalformedInput('the workbook contains a cell error');
|
|
313
|
+
if (!['n', 's', 'b', 'str', 'inlineStr', 'd'].includes(type))
|
|
314
|
+
throw new MalformedInput('unsupported worksheet cell type');
|
|
315
|
+
totalCharacters += parsed?.length ?? 0;
|
|
316
|
+
if (totalCharacters > SPREADSHEET_LIMITS.totalCharacters)
|
|
317
|
+
throw new ExtractionBoundExceeded('the workbook contains too much cell text');
|
|
318
|
+
while (row.cells.length < column)
|
|
319
|
+
row.cells.push(null);
|
|
320
|
+
row.cells.push(parsed);
|
|
321
|
+
cell = false;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
if (cell && name === 'f' && !closing)
|
|
325
|
+
formula = true;
|
|
326
|
+
if (name === 'rPh')
|
|
327
|
+
phonetic += closing ? -1 : 1;
|
|
328
|
+
if (cell && (name === 'v' || name === 't')) {
|
|
329
|
+
capture = !closing;
|
|
330
|
+
if (!closing)
|
|
331
|
+
hasValue = true;
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
text(text) { if (capture && cell && !phonetic)
|
|
335
|
+
value = cellSize(value + text); },
|
|
336
|
+
});
|
|
337
|
+
result.sheets.push(output);
|
|
338
|
+
}
|
|
339
|
+
if (!result.sheets.length)
|
|
340
|
+
throw new MalformedInput('the workbook contains no worksheets');
|
|
341
|
+
return result;
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=tabular.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabular.js","sourceRoot":"","sources":["../src/tabular.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/attachment-extractors",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.27",
|
|
4
4
|
"description": "The file-format parsers behind the kernel's attachment extractor seam (K-43): text, HTML, DOCX, XLSX, PPTX and PDF to plain text, with the input and decompression bounds that protect the process doing the parsing. A host passes them in; the kernel and the adapters never import this package.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@substrat-run/kernel": "^0.
|
|
24
|
+
"@substrat-run/kernel": "^0.166.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.20.5",
|