@unisim/doc 0.1.0

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 (90) hide show
  1. package/README.md +91 -0
  2. package/dist/convert.d.ts +54 -0
  3. package/dist/convert.d.ts.map +1 -0
  4. package/dist/convert.js +216 -0
  5. package/dist/convert.js.map +1 -0
  6. package/dist/image.d.ts +17 -0
  7. package/dist/image.d.ts.map +1 -0
  8. package/dist/image.js +66 -0
  9. package/dist/image.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +51 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/merge.d.ts +14 -0
  15. package/dist/merge.d.ts.map +1 -0
  16. package/dist/merge.js +51 -0
  17. package/dist/merge.js.map +1 -0
  18. package/dist/metrics.d.ts +19 -0
  19. package/dist/metrics.d.ts.map +1 -0
  20. package/dist/metrics.js +151 -0
  21. package/dist/metrics.js.map +1 -0
  22. package/dist/model.d.ts +114 -0
  23. package/dist/model.d.ts.map +1 -0
  24. package/dist/model.js +121 -0
  25. package/dist/model.js.map +1 -0
  26. package/dist/pdfcore.d.ts +118 -0
  27. package/dist/pdfcore.d.ts.map +1 -0
  28. package/dist/pdfcore.js +398 -0
  29. package/dist/pdfcore.js.map +1 -0
  30. package/dist/read/csv.d.ts +17 -0
  31. package/dist/read/csv.d.ts.map +1 -0
  32. package/dist/read/csv.js +167 -0
  33. package/dist/read/csv.js.map +1 -0
  34. package/dist/read/doc.d.ts +3 -0
  35. package/dist/read/doc.d.ts.map +1 -0
  36. package/dist/read/doc.js +360 -0
  37. package/dist/read/doc.js.map +1 -0
  38. package/dist/read/docx.d.ts +3 -0
  39. package/dist/read/docx.d.ts.map +1 -0
  40. package/dist/read/docx.js +455 -0
  41. package/dist/read/docx.js.map +1 -0
  42. package/dist/read/html.d.ts +4 -0
  43. package/dist/read/html.d.ts.map +1 -0
  44. package/dist/read/html.js +236 -0
  45. package/dist/read/html.js.map +1 -0
  46. package/dist/read/json.d.ts +9 -0
  47. package/dist/read/json.d.ts.map +1 -0
  48. package/dist/read/json.js +105 -0
  49. package/dist/read/json.js.map +1 -0
  50. package/dist/read/markdown.d.ts +4 -0
  51. package/dist/read/markdown.d.ts.map +1 -0
  52. package/dist/read/markdown.js +247 -0
  53. package/dist/read/markdown.js.map +1 -0
  54. package/dist/read/odt.d.ts +3 -0
  55. package/dist/read/odt.d.ts.map +1 -0
  56. package/dist/read/odt.js +359 -0
  57. package/dist/read/odt.js.map +1 -0
  58. package/dist/read/rtf.d.ts +3 -0
  59. package/dist/read/rtf.d.ts.map +1 -0
  60. package/dist/read/rtf.js +341 -0
  61. package/dist/read/rtf.js.map +1 -0
  62. package/dist/read/text.d.ts +4 -0
  63. package/dist/read/text.d.ts.map +1 -0
  64. package/dist/read/text.js +62 -0
  65. package/dist/read/text.js.map +1 -0
  66. package/dist/unzip.d.ts +23 -0
  67. package/dist/unzip.d.ts.map +1 -0
  68. package/dist/unzip.js +152 -0
  69. package/dist/unzip.js.map +1 -0
  70. package/dist/write/data.d.ts +16 -0
  71. package/dist/write/data.d.ts.map +1 -0
  72. package/dist/write/data.js +89 -0
  73. package/dist/write/data.js.map +1 -0
  74. package/dist/write/pdf.d.ts +10 -0
  75. package/dist/write/pdf.d.ts.map +1 -0
  76. package/dist/write/pdf.js +696 -0
  77. package/dist/write/pdf.js.map +1 -0
  78. package/dist/write/pdfSettings.d.ts +13 -0
  79. package/dist/write/pdfSettings.d.ts.map +1 -0
  80. package/dist/write/pdfSettings.js +26 -0
  81. package/dist/write/pdfSettings.js.map +1 -0
  82. package/dist/write/text.d.ts +5 -0
  83. package/dist/write/text.d.ts.map +1 -0
  84. package/dist/write/text.js +341 -0
  85. package/dist/write/text.js.map +1 -0
  86. package/dist/xml.d.ts +22 -0
  87. package/dist/xml.d.ts.map +1 -0
  88. package/dist/xml.js +83 -0
  89. package/dist/xml.js.map +1 -0
  90. package/package.json +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type PaperSize = 'A4' | 'Letter' | 'A5' | 'A3';
2
+ export type PageMargin = 'narrow' | 'normal' | 'wide';
3
+ export type FontChoice = 'sans' | 'serif';
4
+ export interface PdfSettings {
5
+ paper: PaperSize;
6
+ font: FontChoice;
7
+ /** Body size in points. Headings, code and tables all scale from it. */
8
+ fontSize: number;
9
+ margin: PageMargin;
10
+ pageNumbers: boolean;
11
+ }
12
+ export declare const DEFAULT_PDF_SETTINGS: PdfSettings;
13
+ //# sourceMappingURL=pdfSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfSettings.d.ts","sourceRoot":"","sources":["../../src/write/pdfSettings.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,CAAA;AAEzC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAA"}
@@ -0,0 +1,26 @@
1
+ // ---------------------------------------------------------------------------
2
+ // The PDF settings, on their own — types and defaults, no engine.
3
+ //
4
+ // ⚠️ THIS FILE EXISTS SO THE LAYOUT ENGINE STAYS OUT OF THE MAIN BUNDLE, and it
5
+ // is worth knowing why before anyone tidies it back into `pdf.ts`.
6
+ //
7
+ // The settings panel needs `DEFAULT_PDF_SETTINGS` at startup, so the store
8
+ // imports it STATICALLY. `write/pdf.ts` is imported DYNAMICALLY, to keep the
9
+ // renderer and its font tables out of the way of somebody converting a JPEG.
10
+ // When both imports point at the same module, a bundler resolves the conflict
11
+ // the only way it can — by giving up on the split and putting the whole module
12
+ // in the main chunk. Vite says so out loud:
13
+ //
14
+ // (!) write/pdf.ts is dynamically imported but also statically imported,
15
+ // dynamic import will not move module into another chunk.
16
+ //
17
+ // Splitting the constants out is what makes the lazy import actually lazy.
18
+ // ---------------------------------------------------------------------------
19
+ export const DEFAULT_PDF_SETTINGS = {
20
+ paper: 'A4',
21
+ font: 'sans',
22
+ fontSize: 11,
23
+ margin: 'normal',
24
+ pageNumbers: true,
25
+ };
26
+ //# sourceMappingURL=pdfSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfSettings.js","sourceRoot":"","sources":["../../src/write/pdfSettings.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kEAAkE;AAClE,EAAE;AACF,gFAAgF;AAChF,mEAAmE;AACnE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,4CAA4C;AAC5C,EAAE;AACF,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAe9E,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,IAAI;CAClB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { type RichDoc } from '../model.js';
2
+ export declare function docToText(doc: RichDoc): string;
3
+ export declare function docToHtml(doc: RichDoc): string;
4
+ export declare function docToMarkdown(doc: RichDoc): string;
5
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/write/text.ts"],"names":[],"mappings":"AAaA,OAAO,EAAc,KAAK,OAAO,EAAY,MAAM,aAAa,CAAA;AAIhE,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAyD9C;AA+BD,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAqF9C;AAuDD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAwElD"}
@@ -0,0 +1,341 @@
1
+ // ---------------------------------------------------------------------------
2
+ // RichDoc → plain text, HTML and Markdown.
3
+ //
4
+ // The three "keep the words, change the wrapper" targets, together because they
5
+ // are the same walk over the model with a different rendering of each block —
6
+ // and splitting them across three files would mean three copies of that walk.
7
+ //
8
+ // None of them can carry an image, so all three name it in the same way: the
9
+ // alt text where there is one, and a marker where there is not. A picture
10
+ // silently vanishing is the thing that makes somebody re-do the conversion by
11
+ // hand to find out what was there.
12
+ // ---------------------------------------------------------------------------
13
+ import { runsToText } from '../model.js';
14
+ // ── Plain text ───────────────────────────────────────────────────────────────
15
+ export function docToText(doc) {
16
+ const out = [];
17
+ for (const block of doc.blocks) {
18
+ switch (block.kind) {
19
+ case 'heading': {
20
+ const line = runsToText(block.runs);
21
+ out.push(line);
22
+ // A heading with nothing marking it as one is invisible in plain text,
23
+ // so it is underlined the way a README does it.
24
+ out.push((block.level === 1 ? '=' : '-').repeat(Math.min(line.length, 72)));
25
+ out.push('');
26
+ break;
27
+ }
28
+ case 'paragraph':
29
+ out.push(runsToText(block.runs), '');
30
+ break;
31
+ case 'quote':
32
+ for (const line of runsToText(block.runs).split('\n'))
33
+ out.push(`> ${line}`);
34
+ out.push('');
35
+ break;
36
+ case 'list': {
37
+ let counter = 0;
38
+ for (const item of block.items) {
39
+ counter += 1;
40
+ const indent = ' '.repeat(item.level);
41
+ const marker = block.ordered ? `${counter}.` : '-';
42
+ out.push(`${indent}${marker} ${runsToText(item.runs).replace(/\n/g, ' ')}`);
43
+ }
44
+ out.push('');
45
+ break;
46
+ }
47
+ case 'code':
48
+ out.push(block.text, '');
49
+ break;
50
+ case 'rule':
51
+ out.push('-'.repeat(72), '');
52
+ break;
53
+ case 'table':
54
+ out.push(...textTable(block.header, block.rows), '');
55
+ break;
56
+ case 'image':
57
+ out.push(`[image${block.alt ? `: ${block.alt}` : ''}]`, '');
58
+ break;
59
+ case 'pagebreak':
60
+ out.push('', '- - -', '');
61
+ break;
62
+ case 'pagesetup':
63
+ // Deliberately nothing. Plain text, HTML and Markdown have no paper, so
64
+ // an orientation change has nothing to say in them — but the case is
65
+ // named so a reader can see it was considered rather than missed, and
66
+ // so `noUnusedLocals`-style exhaustiveness never silently regrows a gap.
67
+ break;
68
+ }
69
+ }
70
+ return out.join('\n').replace(/\n{3,}/g, '\n\n').trim() + '\n';
71
+ }
72
+ /**
73
+ * A table as aligned columns.
74
+ *
75
+ * Padded to the widest cell per column rather than left as tab-separated: a tab
76
+ * lines up only if every cell is shorter than one tab stop, which is almost
77
+ * never, and a table that nearly lines up is harder to read than one that does
78
+ * not try.
79
+ */
80
+ function textTable(header, rows) {
81
+ const all = header ? [header, ...rows] : [...rows];
82
+ if (!all.length)
83
+ return [];
84
+ const columns = Math.max(...all.map((r) => r.length));
85
+ const cells = all.map((row) => Array.from({ length: columns }, (_, c) => runsToText(row[c] ?? []).replace(/\n/g, ' ')));
86
+ const widths = Array.from({ length: columns }, (_, c) => Math.min(40, Math.max(...cells.map((row) => row[c].length))));
87
+ const line = (row) => row.map((cell, c) => cell.padEnd(widths[c]).slice(0, Math.max(widths[c], cell.length))).join(' ').trimEnd();
88
+ const out = cells.map(line);
89
+ if (header)
90
+ out.splice(1, 0, widths.map((w) => '-'.repeat(w)).join(' '));
91
+ return out;
92
+ }
93
+ // ── HTML ─────────────────────────────────────────────────────────────────────
94
+ export function docToHtml(doc) {
95
+ const body = [];
96
+ for (const block of doc.blocks) {
97
+ switch (block.kind) {
98
+ case 'heading':
99
+ body.push(`<h${block.level}>${inlineHtml(block.runs)}</h${block.level}>`);
100
+ break;
101
+ case 'paragraph':
102
+ body.push(`<p>${inlineHtml(block.runs)}</p>`);
103
+ break;
104
+ case 'quote':
105
+ body.push(`<blockquote><p>${inlineHtml(block.runs)}</p></blockquote>`);
106
+ break;
107
+ case 'list':
108
+ body.push(nestedListHtml(block.items, block.ordered));
109
+ break;
110
+ case 'code':
111
+ body.push(`<pre><code>${escapeHtml(block.text)}</code></pre>`);
112
+ break;
113
+ case 'rule':
114
+ body.push('<hr>');
115
+ break;
116
+ case 'table': {
117
+ const rows = [];
118
+ if (block.header) {
119
+ rows.push(`<thead><tr>${block.header.map((c) => `<th>${inlineHtml(c)}</th>`).join('')}</tr></thead>`);
120
+ }
121
+ rows.push(`<tbody>${block.rows
122
+ .map((row) => `<tr>${row.map((c) => `<td>${inlineHtml(c)}</td>`).join('')}</tr>`)
123
+ .join('')}</tbody>`);
124
+ body.push(`<table>${rows.join('')}</table>`);
125
+ break;
126
+ }
127
+ case 'image':
128
+ body.push(`<p><em>[image${block.alt ? `: ${escapeHtml(block.alt)}` : ''}]</em></p>`);
129
+ break;
130
+ case 'pagebreak':
131
+ // Meaningful when the page is printed and invisible when it is read,
132
+ // which is exactly right for a page break in a web page.
133
+ body.push('<hr style="page-break-after:always;border:0">');
134
+ case 'pagesetup':
135
+ // Nothing: a web page has no paper. Named so it reads as considered.
136
+ break;
137
+ break;
138
+ }
139
+ }
140
+ const title = escapeHtml(doc.title ?? 'Document');
141
+ // A complete, standalone document — not a fragment. Somebody converting to
142
+ // HTML wants a file they can open, and a bare <p> soup opens as unstyled
143
+ // black Times on white in a browser that has guessed the encoding.
144
+ return `<!doctype html>
145
+ <html lang="en">
146
+ <head>
147
+ <meta charset="utf-8">
148
+ <meta name="viewport" content="width=device-width, initial-scale=1">
149
+ <title>${title}</title>
150
+ <style>
151
+ :root { color-scheme: light dark; }
152
+ body { max-width: 46rem; margin: 3rem auto; padding: 0 1.25rem;
153
+ font: 16px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif;
154
+ color: #1f2937; background: #fff; }
155
+ @media (prefers-color-scheme: dark) { body { color: #e5e7eb; background: #111827; } }
156
+ h1, h2, h3, h4 { line-height: 1.25; margin: 2rem 0 .6rem; }
157
+ h1 { font-size: 2rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.2rem; }
158
+ p, ul, ol, blockquote, table, pre { margin: 0 0 1rem; }
159
+ blockquote { border-left: 3px solid #ea580c; margin-left: 0; padding-left: 1rem; color: #4b5563; }
160
+ code { background: rgba(127,127,127,.14); padding: .1em .35em; border-radius: .25rem; font-size: .9em; }
161
+ pre { background: rgba(127,127,127,.1); padding: 1rem; border-radius: .5rem; overflow-x: auto; }
162
+ pre code { background: none; padding: 0; }
163
+ table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
164
+ th, td { border: 1px solid rgba(127,127,127,.35); padding: .45rem .6rem; text-align: left; }
165
+ th { background: rgba(127,127,127,.1); }
166
+ a { color: #2563eb; }
167
+ hr { border: 0; border-top: 1px solid rgba(127,127,127,.35); margin: 2rem 0; }
168
+ </style>
169
+ </head>
170
+ <body>
171
+ ${body.join('\n')}
172
+ </body>
173
+ </html>
174
+ `;
175
+ }
176
+ function nestedListHtml(items, ordered) {
177
+ const tag = ordered ? 'ol' : 'ul';
178
+ const out = [`<${tag}>`];
179
+ let depth = 0;
180
+ for (const item of items) {
181
+ const level = Math.max(0, item.level);
182
+ while (depth < level) {
183
+ out.push(`<${tag}>`);
184
+ depth += 1;
185
+ }
186
+ while (depth > level) {
187
+ out.push(`</${tag}>`);
188
+ depth -= 1;
189
+ }
190
+ out.push(`<li>${inlineHtml(item.runs)}</li>`);
191
+ }
192
+ while (depth > 0) {
193
+ out.push(`</${tag}>`);
194
+ depth -= 1;
195
+ }
196
+ out.push(`</${tag}>`);
197
+ return out.join('');
198
+ }
199
+ function inlineHtml(runs) {
200
+ return runs
201
+ .map((run) => {
202
+ let html = escapeHtml(run.text).replace(/\n/g, '<br>');
203
+ if (run.code)
204
+ html = `<code>${html}</code>`;
205
+ if (run.bold)
206
+ html = `<strong>${html}</strong>`;
207
+ if (run.italic)
208
+ html = `<em>${html}</em>`;
209
+ if (run.underline)
210
+ html = `<u>${html}</u>`;
211
+ if (run.strike)
212
+ html = `<s>${html}</s>`;
213
+ if (run.link)
214
+ html = `<a href="${escapeAttribute(run.link)}">${html}</a>`;
215
+ return html;
216
+ })
217
+ .join('');
218
+ }
219
+ /**
220
+ * ⚠️ Every string from a converted document goes through here.
221
+ *
222
+ * The input is somebody else's file, and a `.docx` containing the literal text
223
+ * `<script>…` must come out as text on the page rather than as a script tag in
224
+ * the file we hand back. `&` first, or the escapes escape each other.
225
+ */
226
+ function escapeHtml(text) {
227
+ return text
228
+ .replace(/&/g, '&amp;')
229
+ .replace(/</g, '&lt;')
230
+ .replace(/>/g, '&gt;');
231
+ }
232
+ /** As above, plus the quotes that would otherwise close the attribute. */
233
+ function escapeAttribute(value) {
234
+ return escapeHtml(value).replace(/"/g, '&quot;').replace(/'/g, '&#39;');
235
+ }
236
+ // ── Markdown ─────────────────────────────────────────────────────────────────
237
+ export function docToMarkdown(doc) {
238
+ const out = [];
239
+ for (const block of doc.blocks) {
240
+ switch (block.kind) {
241
+ case 'heading':
242
+ out.push(`${'#'.repeat(block.level)} ${inlineMarkdown(block.runs)}`, '');
243
+ break;
244
+ case 'paragraph':
245
+ // Two trailing spaces is markdown's own line break, so a `<w:br/>`
246
+ // inside a Word paragraph stays a break rather than becoming a space.
247
+ out.push(inlineMarkdown(block.runs).replace(/\n/g, ' \n'), '');
248
+ break;
249
+ case 'quote':
250
+ for (const line of inlineMarkdown(block.runs).split('\n'))
251
+ out.push(`> ${line}`);
252
+ out.push('');
253
+ break;
254
+ case 'list': {
255
+ let counter = 0;
256
+ for (const item of block.items) {
257
+ counter += 1;
258
+ out.push(`${' '.repeat(item.level)}${block.ordered ? `${counter}.` : '-'} ` +
259
+ inlineMarkdown(item.runs).replace(/\n/g, ' '));
260
+ }
261
+ out.push('');
262
+ break;
263
+ }
264
+ case 'code':
265
+ // A fence long enough to contain any backticks in the code itself —
266
+ // otherwise a snippet about markdown closes its own block.
267
+ out.push(fenceFor(block.text), block.text, fenceFor(block.text), '');
268
+ break;
269
+ case 'rule':
270
+ out.push('---', '');
271
+ break;
272
+ case 'table': {
273
+ const columns = Math.max(block.header?.length ?? 0, ...block.rows.map((r) => r.length), 1);
274
+ const row = (cells) => `| ${Array.from({ length: columns }, (_, c) => inlineMarkdown(cells[c] ?? []).replace(/\n/g, ' ').replace(/\|/g, '\\|')).join(' | ')} |`;
275
+ // Markdown tables REQUIRE a header row — a table with none renders as
276
+ // literal pipes — so an empty one is written when the source had none.
277
+ out.push(row(block.header ?? Array.from({ length: columns }, () => [])));
278
+ out.push(`|${' --- |'.repeat(columns)}`);
279
+ for (const r of block.rows)
280
+ out.push(row(r));
281
+ out.push('');
282
+ break;
283
+ }
284
+ case 'image':
285
+ out.push(`![${block.alt}]()`, '');
286
+ break;
287
+ case 'pagebreak':
288
+ out.push('', '---', '');
289
+ break;
290
+ case 'pagesetup':
291
+ // Deliberately nothing. Plain text, HTML and Markdown have no paper, so
292
+ // an orientation change has nothing to say in them — but the case is
293
+ // named so a reader can see it was considered rather than missed, and
294
+ // so `noUnusedLocals`-style exhaustiveness never silently regrows a gap.
295
+ break;
296
+ }
297
+ }
298
+ const front = doc.title ? '' : '';
299
+ return front + out.join('\n').replace(/\n{3,}/g, '\n\n').trim() + '\n';
300
+ }
301
+ function fenceFor(code) {
302
+ const longest = Math.max(0, ...[...code.matchAll(/`+/g)].map((m) => m[0].length));
303
+ return '`'.repeat(Math.max(3, longest + 1));
304
+ }
305
+ function inlineMarkdown(runs) {
306
+ return runs
307
+ .map((run) => {
308
+ // Code first and alone: markdown does not apply emphasis inside a code
309
+ // span, so wrapping one in asterisks writes the asterisks out literally.
310
+ if (run.code)
311
+ return `\`${run.text}\``;
312
+ let text = escapeMarkdown(run.text);
313
+ if (run.bold && run.italic)
314
+ text = `***${text}***`;
315
+ else if (run.bold)
316
+ text = `**${text}**`;
317
+ else if (run.italic)
318
+ text = `*${text}*`;
319
+ if (run.strike)
320
+ text = `~~${text}~~`;
321
+ if (run.link)
322
+ text = `[${text}](${run.link})`;
323
+ return text;
324
+ })
325
+ .join('');
326
+ }
327
+ /**
328
+ * Escape the characters that would otherwise become markup.
329
+ *
330
+ * Only where they could actually be read as markup: escaping every `*` and `_`
331
+ * everywhere produces backslashes all through ordinary prose, and a converted
332
+ * document full of `\_` is worse than one where a stray underscore italicises
333
+ * two words.
334
+ */
335
+ function escapeMarkdown(text) {
336
+ return text
337
+ .replace(/([\\`])/g, '\\$1')
338
+ .replace(/^(\s*)([-*+>#])/gm, '$1\\$2')
339
+ .replace(/^(\s*\d+)\./gm, '$1\\.');
340
+ }
341
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/write/text.ts"],"names":[],"mappings":"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"}
package/dist/xml.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ export declare function parseXml(source: string, what: string): Document;
2
+ /** Direct children in a namespace, by local name. */
3
+ export declare function children(parent: Element | Document, ns: string, local: string): Element[];
4
+ /** The first direct child in a namespace, by local name. */
5
+ export declare function child(parent: Element | Document, ns: string, local: string): Element | null;
6
+ /** Every descendant in a namespace, by local name, in document order. */
7
+ export declare function descendants(root: Element | Document, ns: string, local: string): Element[];
8
+ /** The first descendant in a namespace, by local name. */
9
+ export declare function descendant(root: Element | Document, ns: string, local: string): Element | null;
10
+ export declare function attr(el: Element | null, ns: string, name: string): string | null;
11
+ /**
12
+ * Whether an on/off element means on.
13
+ *
14
+ * OOXML's booleans are three-valued and the trap is that ABSENT ATTRIBUTE MEANS
15
+ * TRUE: `<w:b/>` is bold, and `<w:b w:val="0"/>` is not. Reading the attribute
16
+ * and testing it for truthiness — the obvious thing — makes every bold run in
17
+ * every Word document come out plain.
18
+ */
19
+ export declare function onOff(el: Element | null, ns: string): boolean;
20
+ /** All text under a node, with no formatting — used for cells and headings. */
21
+ export declare function textContentOf(el: Element | null): string;
22
+ //# sourceMappingURL=xml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"AAcA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAQ/D;AAED,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAQzF;AAED,4DAA4D;AAC5D,wBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAE3F;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAE1F;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAE9F;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWhF;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAExD"}
package/dist/xml.js ADDED
@@ -0,0 +1,83 @@
1
+ // ---------------------------------------------------------------------------
2
+ // The XML helpers the DOCX and ODT readers share.
3
+ //
4
+ // Both formats are namespaced XML with a prefix on every single tag — `w:p`,
5
+ // `text:h` — and both are read with the browser's own `DOMParser`, which is
6
+ // namespace-aware and already in the page.
7
+ //
8
+ // ⚠️ MATCH ON localName, NEVER ON THE PREFIX. `getElementsByTagName('w:p')`
9
+ // works on every file Word itself writes and then fails on one from Pages,
10
+ // Google Docs or a server-side generator that bound the same namespace to a
11
+ // different prefix. The prefix is a local nickname; the namespace URI is the
12
+ // name. These helpers take the URI, so the readers cannot make that mistake.
13
+ // ---------------------------------------------------------------------------
14
+ export function parseXml(source, what) {
15
+ const doc = new DOMParser().parseFromString(source, 'application/xml');
16
+ // DOMParser does not throw. It returns a document whose root is
17
+ // <parsererror>, which every caller would otherwise treat as an empty file
18
+ // and hand back a blank page for.
19
+ const failed = doc.getElementsByTagName('parsererror')[0];
20
+ if (failed)
21
+ throw new Error(`The ${what} inside this file is damaged and can’t be read.`);
22
+ return doc;
23
+ }
24
+ /** Direct children in a namespace, by local name. */
25
+ export function children(parent, ns, local) {
26
+ const out = [];
27
+ for (const node of Array.from(parent.childNodes)) {
28
+ if (node.nodeType !== 1)
29
+ continue;
30
+ const el = node;
31
+ if (el.localName === local && el.namespaceURI === ns)
32
+ out.push(el);
33
+ }
34
+ return out;
35
+ }
36
+ /** The first direct child in a namespace, by local name. */
37
+ export function child(parent, ns, local) {
38
+ return children(parent, ns, local)[0] ?? null;
39
+ }
40
+ /** Every descendant in a namespace, by local name, in document order. */
41
+ export function descendants(root, ns, local) {
42
+ return Array.from(root.getElementsByTagNameNS(ns, local));
43
+ }
44
+ /** The first descendant in a namespace, by local name. */
45
+ export function descendant(root, ns, local) {
46
+ return root.getElementsByTagNameNS(ns, local)[0] ?? null;
47
+ }
48
+ export function attr(el, ns, name) {
49
+ if (!el)
50
+ return null;
51
+ const value = el.getAttributeNS(ns, name);
52
+ if (value !== null)
53
+ return value;
54
+ // Some producers write namespaced attributes without declaring the prefix
55
+ // properly, which leaves them un-namespaced in the parsed tree. Falling back
56
+ // to a local-name scan costs nothing and rescues those files.
57
+ for (const candidate of Array.from(el.attributes)) {
58
+ if (candidate.localName === name)
59
+ return candidate.value;
60
+ }
61
+ return null;
62
+ }
63
+ /**
64
+ * Whether an on/off element means on.
65
+ *
66
+ * OOXML's booleans are three-valued and the trap is that ABSENT ATTRIBUTE MEANS
67
+ * TRUE: `<w:b/>` is bold, and `<w:b w:val="0"/>` is not. Reading the attribute
68
+ * and testing it for truthiness — the obvious thing — makes every bold run in
69
+ * every Word document come out plain.
70
+ */
71
+ export function onOff(el, ns) {
72
+ if (!el)
73
+ return false;
74
+ const value = attr(el, ns, 'val');
75
+ if (value === null)
76
+ return true;
77
+ return value !== '0' && value !== 'false' && value !== 'off';
78
+ }
79
+ /** All text under a node, with no formatting — used for cells and headings. */
80
+ export function textContentOf(el) {
81
+ return el?.textContent ?? '';
82
+ }
83
+ //# sourceMappingURL=xml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@unisim/doc",
3
+ "version": "0.1.0",
4
+ "description": "The suite's document stack: read Word, OpenDocument, RTF, HTML, Markdown, CSV, JSON and text into one model, and write it back out as PDF, text, HTML, Markdown, CSV or JSON. No runtime dependencies.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "sideEffects": false,
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsc -p tsconfig.build.json",
22
+ "dev": "tsc -p tsconfig.build.json --watch",
23
+ "typecheck": "tsc --noEmit",
24
+ "test": "npm run build && node scripts/selftest.mjs",
25
+ "prepublishOnly": "npm run typecheck && npm run build"
26
+ },
27
+ "license": "MIT",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }