udf-cli 0.3.1 → 0.4.1

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 (56) hide show
  1. package/README.md +130 -7
  2. package/dist/bin/udf-cli.d.ts +0 -1
  3. package/dist/bin/udf-cli.js +1 -125
  4. package/dist/chunk-6564CQ7U.js +1 -0
  5. package/dist/chunk-UMC6EI4C.js +1 -0
  6. package/dist/mobile-4VK2JOUT.js +1 -0
  7. package/dist/module-resolve-XD725NCC.js +1 -0
  8. package/dist/pin-prompt-FSXBDU36.js +1 -0
  9. package/dist/sign-AELEVJHO.js +1 -0
  10. package/dist/src/index.d.ts +117 -6
  11. package/dist/src/index.js +1 -6
  12. package/package.json +19 -3
  13. package/dist/bin/udf-cli.js.map +0 -1
  14. package/dist/src/converters/html-to-udf.d.ts +0 -1
  15. package/dist/src/converters/html-to-udf.js +0 -7
  16. package/dist/src/converters/html-to-udf.js.map +0 -1
  17. package/dist/src/converters/markdown-to-udf.d.ts +0 -1
  18. package/dist/src/converters/markdown-to-udf.js +0 -7
  19. package/dist/src/converters/markdown-to-udf.js.map +0 -1
  20. package/dist/src/converters/udf-to-html.d.ts +0 -1
  21. package/dist/src/converters/udf-to-html.js +0 -7
  22. package/dist/src/converters/udf-to-html.js.map +0 -1
  23. package/dist/src/converters/udf-to-markdown.d.ts +0 -1
  24. package/dist/src/converters/udf-to-markdown.js +0 -7
  25. package/dist/src/converters/udf-to-markdown.js.map +0 -1
  26. package/dist/src/html/markdown-parser.d.ts +0 -2
  27. package/dist/src/html/markdown-parser.js +0 -172
  28. package/dist/src/html/markdown-parser.js.map +0 -1
  29. package/dist/src/html/markdown-serializer.d.ts +0 -2
  30. package/dist/src/html/markdown-serializer.js +0 -156
  31. package/dist/src/html/markdown-serializer.js.map +0 -1
  32. package/dist/src/html/parser.d.ts +0 -2
  33. package/dist/src/html/parser.js +0 -576
  34. package/dist/src/html/parser.js.map +0 -1
  35. package/dist/src/html/serializer.d.ts +0 -6
  36. package/dist/src/html/serializer.js +0 -285
  37. package/dist/src/html/serializer.js.map +0 -1
  38. package/dist/src/index.js.map +0 -1
  39. package/dist/src/model/document.d.ts +0 -107
  40. package/dist/src/model/document.js +0 -88
  41. package/dist/src/model/document.js.map +0 -1
  42. package/dist/src/udf/cdata-builder.d.ts +0 -14
  43. package/dist/src/udf/cdata-builder.js +0 -71
  44. package/dist/src/udf/cdata-builder.js.map +0 -1
  45. package/dist/src/udf/parser.d.ts +0 -2
  46. package/dist/src/udf/parser.js +0 -325
  47. package/dist/src/udf/parser.js.map +0 -1
  48. package/dist/src/udf/serializer.d.ts +0 -5
  49. package/dist/src/udf/serializer.js +0 -267
  50. package/dist/src/udf/serializer.js.map +0 -1
  51. package/dist/src/utils/color.d.ts +0 -9
  52. package/dist/src/utils/color.js +0 -87
  53. package/dist/src/utils/color.js.map +0 -1
  54. package/dist/src/utils/style.d.ts +0 -23
  55. package/dist/src/utils/style.js +0 -80
  56. package/dist/src/utils/style.js.map +0 -1
@@ -1,576 +0,0 @@
1
- import { Parser } from 'htmlparser2';
2
- import { Alignment, DEFAULT_TEXT_STYLE, DEFAULT_PAGE_FORMAT, createParagraph, createTextRun, createTable, createTableRow, createTableCell, } from '../model/document.js';
3
- import { cssToArgb } from '../utils/color.js';
4
- import { parseInlineStyle, parseFontSize, parseLengthPt } from '../utils/style.js';
5
- // ---------------------------------------------------------------------------
6
- // Heading font sizes
7
- // ---------------------------------------------------------------------------
8
- const HEADING_SIZES = {
9
- h1: 24,
10
- h2: 20,
11
- h3: 16,
12
- h4: 14,
13
- h5: 12,
14
- h6: 10,
15
- };
16
- // ---------------------------------------------------------------------------
17
- // Alignment helper
18
- // ---------------------------------------------------------------------------
19
- function parseAlignment(value) {
20
- switch (value.toLowerCase()) {
21
- case 'center':
22
- return Alignment.Center;
23
- case 'right':
24
- return Alignment.Right;
25
- case 'justify':
26
- return Alignment.Justify;
27
- default:
28
- return Alignment.Left;
29
- }
30
- }
31
- // ---------------------------------------------------------------------------
32
- // Vertical-align helper
33
- // ---------------------------------------------------------------------------
34
- function parseVerticalAlign(value) {
35
- switch (value.toLowerCase()) {
36
- case 'middle':
37
- return 'middle';
38
- case 'bottom':
39
- return 'bottom';
40
- default:
41
- return 'top';
42
- }
43
- }
44
- // ---------------------------------------------------------------------------
45
- // Parse tab-stops CSS values
46
- // ---------------------------------------------------------------------------
47
- function parseTabStops(value) {
48
- return value
49
- .split(/[\s,]+/)
50
- .filter((s) => s && /^-?[\d.]+\s*(px|pt|em|rem|cm|mm|in)?$/.test(s.trim()))
51
- .map((s) => parseLengthPt(s))
52
- .filter((n) => !isNaN(n) && n >= 0);
53
- }
54
- // ---------------------------------------------------------------------------
55
- // Parse border style from CSS value
56
- // ---------------------------------------------------------------------------
57
- function parseBorderCss(value) {
58
- // e.g. "1px solid #000000"
59
- const parts = value.trim().split(/\s+/);
60
- let width = 0.5;
61
- let style = 'borderStyle-solid';
62
- let color = 0;
63
- for (const part of parts) {
64
- if (/^\d+(\.\d+)?(px|pt)?$/.test(part)) {
65
- width = parseFloat(part);
66
- }
67
- else if (['solid', 'dashed', 'dotted', 'double', 'none'].includes(part)) {
68
- style = part === 'none' ? 'borderStyle-none' : `borderStyle-${part}`;
69
- }
70
- else if (part.startsWith('#') || part.startsWith('rgb')) {
71
- color = cssToArgb(part);
72
- }
73
- }
74
- return { width, style, color };
75
- }
76
- // ---------------------------------------------------------------------------
77
- // Main parser
78
- // ---------------------------------------------------------------------------
79
- export function parseHtml(html) {
80
- const styleStack = [];
81
- const contextStack = [{ kind: 'root', blocks: [] }];
82
- // Track whether we are inside a <th> (bold content)
83
- let insideTh = false;
84
- // ------ helpers ------
85
- function currentStyle() {
86
- if (styleStack.length === 0) {
87
- return {
88
- bold: false,
89
- italic: false,
90
- underline: false,
91
- };
92
- }
93
- return styleStack[styleStack.length - 1];
94
- }
95
- function pushStyle(overrides) {
96
- const parent = currentStyle();
97
- styleStack.push({
98
- bold: overrides.bold ?? parent.bold,
99
- italic: overrides.italic ?? parent.italic,
100
- underline: overrides.underline ?? parent.underline,
101
- fontFamily: overrides.fontFamily ?? parent.fontFamily,
102
- fontSize: overrides.fontSize ?? parent.fontSize,
103
- color: overrides.color ?? parent.color,
104
- backgroundColor: overrides.backgroundColor ?? parent.backgroundColor,
105
- });
106
- }
107
- function popStyle() {
108
- if (styleStack.length > 0)
109
- styleStack.pop();
110
- }
111
- function currentContext() {
112
- return contextStack[contextStack.length - 1];
113
- }
114
- function pushContext(ctx) {
115
- contextStack.push(ctx);
116
- }
117
- function popContext() {
118
- return contextStack.pop();
119
- }
120
- function mergedTextStyle() {
121
- const frame = currentStyle();
122
- return {
123
- fontFamily: frame.fontFamily ?? DEFAULT_TEXT_STYLE.fontFamily,
124
- fontSize: frame.fontSize ?? DEFAULT_TEXT_STYLE.fontSize,
125
- bold: frame.bold || insideTh,
126
- italic: frame.italic,
127
- underline: frame.underline,
128
- color: frame.color ?? DEFAULT_TEXT_STYLE.color,
129
- backgroundColor: frame.backgroundColor ?? DEFAULT_TEXT_STYLE.backgroundColor,
130
- };
131
- }
132
- /** Find the nearest paragraph context to add inline runs to. */
133
- function findParagraphContext() {
134
- for (let i = contextStack.length - 1; i >= 0; i--) {
135
- if (contextStack[i].kind === 'paragraph')
136
- return contextStack[i];
137
- }
138
- return null;
139
- }
140
- /** Ensure there is a paragraph context available for inline content. */
141
- function ensureParagraph() {
142
- const existing = findParagraphContext();
143
- if (existing)
144
- return existing;
145
- const para = createParagraph();
146
- const ctx = { kind: 'paragraph', paragraph: para };
147
- pushContext(ctx);
148
- return ctx;
149
- }
150
- /** Add a completed block element to the nearest block-accepting context. */
151
- function addBlock(block) {
152
- for (let i = contextStack.length - 1; i >= 0; i--) {
153
- const ctx = contextStack[i];
154
- switch (ctx.kind) {
155
- case 'root':
156
- ctx.blocks.push(block);
157
- return;
158
- case 'tableCell':
159
- ctx.blocks.push(block);
160
- return;
161
- case 'list':
162
- ctx.blocks.push(block);
163
- return;
164
- case 'div':
165
- ctx.blocks.push(block);
166
- return;
167
- default:
168
- continue;
169
- }
170
- }
171
- }
172
- /** Find the current list nesting level. */
173
- function currentListLevel() {
174
- let level = -1;
175
- for (const ctx of contextStack) {
176
- if (ctx.kind === 'list')
177
- level++;
178
- }
179
- return Math.max(level, 0);
180
- }
181
- /** Find the nearest list context. */
182
- function findListContext() {
183
- for (let i = contextStack.length - 1; i >= 0; i--) {
184
- if (contextStack[i].kind === 'list')
185
- return contextStack[i];
186
- }
187
- return null;
188
- }
189
- // ------ SAX handlers ------
190
- const parser = new Parser({
191
- onopentag(name, attribs) {
192
- const tag = name.toLowerCase();
193
- // --- Inline formatting tags ---
194
- if (tag === 'strong' || tag === 'b') {
195
- pushStyle({ bold: true });
196
- return;
197
- }
198
- if (tag === 'em' || tag === 'i') {
199
- pushStyle({ italic: true });
200
- return;
201
- }
202
- if (tag === 'u') {
203
- pushStyle({ underline: true });
204
- return;
205
- }
206
- // --- Span with style ---
207
- if (tag === 'span') {
208
- const styleOverrides = {};
209
- if (attribs.style) {
210
- const parsed = parseInlineStyle(attribs.style);
211
- if (parsed.fontFamily)
212
- styleOverrides.fontFamily = parsed.fontFamily;
213
- if (parsed.fontSize)
214
- styleOverrides.fontSize = parseFontSize(parsed.fontSize);
215
- if (parsed.color)
216
- styleOverrides.color = cssToArgb(parsed.color);
217
- if (parsed.backgroundColor)
218
- styleOverrides.backgroundColor = cssToArgb(parsed.backgroundColor);
219
- }
220
- pushStyle(styleOverrides);
221
- return;
222
- }
223
- // --- Headings ---
224
- if (tag in HEADING_SIZES) {
225
- const fontSize = HEADING_SIZES[tag];
226
- pushStyle({ bold: true, fontSize });
227
- const para = createParagraph();
228
- pushContext({ kind: 'paragraph', paragraph: para });
229
- return;
230
- }
231
- // --- Paragraph ---
232
- if (tag === 'p') {
233
- const para = createParagraph();
234
- if (attribs.style) {
235
- const parsed = parseInlineStyle(attribs.style);
236
- if (parsed.textAlign)
237
- para.alignment = parseAlignment(parsed.textAlign);
238
- if (parsed.lineHeight) {
239
- const lh = parseFloat(parsed.lineHeight);
240
- if (!isNaN(lh))
241
- para.lineSpacing = lh - 1.0;
242
- }
243
- if (parsed.marginLeft)
244
- para.leftIndent = parseLengthPt(parsed.marginLeft);
245
- if (parsed.marginRight)
246
- para.rightIndent = parseLengthPt(parsed.marginRight);
247
- if (parsed.paddingLeft)
248
- para.leftIndent += parseLengthPt(parsed.paddingLeft);
249
- if (parsed.paddingRight)
250
- para.rightIndent += parseLengthPt(parsed.paddingRight);
251
- if (parsed.marginTop)
252
- para.spaceBefore = parseLengthPt(parsed.marginTop);
253
- if (parsed.marginBottom)
254
- para.spaceAfter = parseLengthPt(parsed.marginBottom);
255
- if (parsed.paddingTop)
256
- para.spaceBefore += parseLengthPt(parsed.paddingTop);
257
- if (parsed.paddingBottom)
258
- para.spaceAfter += parseLengthPt(parsed.paddingBottom);
259
- if (parsed.textIndent) {
260
- para.firstLineIndent = parseLengthPt(parsed.textIndent);
261
- }
262
- if (parsed.tabStops) {
263
- const stops = parseTabStops(parsed.tabStops);
264
- if (stops.length > 0)
265
- para.tabStops = stops;
266
- }
267
- // Inline color/font on <p> applies to text style
268
- if (parsed.color)
269
- pushStyle({ color: cssToArgb(parsed.color) });
270
- else
271
- pushStyle({});
272
- }
273
- else {
274
- pushStyle({});
275
- }
276
- pushContext({ kind: 'paragraph', paragraph: para });
277
- return;
278
- }
279
- // --- BR ---
280
- if (tag === 'br') {
281
- const paraCtx = findParagraphContext();
282
- if (paraCtx) {
283
- // Close current paragraph, start a new one
284
- const ctx = popContext();
285
- if (ctx.kind === 'paragraph') {
286
- addBlock(ctx.paragraph);
287
- const newPara = createParagraph();
288
- pushContext({ kind: 'paragraph', paragraph: newPara });
289
- }
290
- else {
291
- // Put it back, just add empty run
292
- contextStack.push(ctx);
293
- paraCtx.paragraph.runs.push(createTextRun(''));
294
- }
295
- }
296
- else {
297
- // Create an empty paragraph
298
- addBlock(createParagraph());
299
- }
300
- return;
301
- }
302
- // --- Tab ---
303
- if (tag === 'tab') {
304
- const paraCtx = ensureParagraph();
305
- const style = mergedTextStyle();
306
- paraCtx.paragraph.runs.push({ type: 'tab', style });
307
- return;
308
- }
309
- // --- Page Break ---
310
- if (tag === 'page-break') {
311
- // Silently drop page breaks inside table cells (no UDF semantic)
312
- const inCell = contextStack.some((ctx) => ctx.kind === 'tableCell');
313
- if (inCell)
314
- return;
315
- // Flush any open paragraph
316
- while (currentContext().kind === 'paragraph') {
317
- const ctx = popContext();
318
- addBlock(ctx.paragraph);
319
- }
320
- addBlock({ type: 'pageBreak' });
321
- return;
322
- }
323
- // --- Image ---
324
- if (tag === 'img') {
325
- const src = attribs.src || '';
326
- const match = src.match(/^data:image\/[^;]+;base64,(.+)$/);
327
- if (match) {
328
- const imgRun = {
329
- type: 'image',
330
- data: match[1],
331
- width: parseFloat(attribs.width) || 100,
332
- height: parseFloat(attribs.height) || 100,
333
- };
334
- const paraCtx = ensureParagraph();
335
- paraCtx.paragraph.runs.push(imgRun);
336
- }
337
- return;
338
- }
339
- // --- Table ---
340
- if (tag === 'table') {
341
- pushContext({ kind: 'table', rows: [] });
342
- return;
343
- }
344
- // --- Table row ---
345
- if (tag === 'tr') {
346
- pushContext({ kind: 'tableRow', cells: [] });
347
- return;
348
- }
349
- // --- Table cell (td / th) ---
350
- if (tag === 'td' || tag === 'th') {
351
- if (tag === 'th')
352
- insideTh = true;
353
- const cellOverrides = {};
354
- if (attribs.colspan) {
355
- const cs = parseInt(attribs.colspan, 10);
356
- if (!isNaN(cs) && cs > 0)
357
- cellOverrides.colspan = cs;
358
- }
359
- if (attribs.rowspan) {
360
- const rs = parseInt(attribs.rowspan, 10);
361
- if (!isNaN(rs) && rs > 0)
362
- cellOverrides.rowspan = rs;
363
- }
364
- if (attribs.style) {
365
- const parsed = parseInlineStyle(attribs.style);
366
- if (parsed.backgroundColor)
367
- cellOverrides.fillColor = cssToArgb(parsed.backgroundColor);
368
- if (parsed.verticalAlign)
369
- cellOverrides.verticalAlign = parseVerticalAlign(parsed.verticalAlign);
370
- // Border styles
371
- if (parsed.border) {
372
- const b = parseBorderCss(parsed.border);
373
- cellOverrides.borderWidth = b.width;
374
- cellOverrides.borderColor = b.color;
375
- cellOverrides.border = { name: 'borderCell', style: b.style };
376
- }
377
- if (parsed.borderStyle) {
378
- cellOverrides.border = {
379
- name: 'borderCell',
380
- style: parsed.borderStyle === 'none' ? 'borderStyle-none' : `borderStyle-${parsed.borderStyle}`,
381
- };
382
- }
383
- }
384
- pushContext({ kind: 'tableCell', cell: cellOverrides, blocks: [] });
385
- return;
386
- }
387
- // --- Lists ---
388
- if (tag === 'ul') {
389
- const level = currentListLevel() + (findListContext() ? 1 : 0);
390
- pushContext({ kind: 'list', listType: 'bulleted', level, blocks: [] });
391
- return;
392
- }
393
- if (tag === 'ol') {
394
- const level = currentListLevel() + (findListContext() ? 1 : 0);
395
- pushContext({ kind: 'list', listType: 'numbered', level, blocks: [] });
396
- return;
397
- }
398
- if (tag === 'li') {
399
- const listCtx = findListContext();
400
- if (listCtx) {
401
- const listProps = {
402
- type: listCtx.listType,
403
- level: listCtx.level,
404
- };
405
- if (listCtx.listType === 'bulleted') {
406
- listProps.bulletType = 'BULLET_TYPE_ELLIPSE';
407
- }
408
- else {
409
- listProps.numberType = 'NUMBER_TYPE_NUMBER_DOT';
410
- }
411
- const para = createParagraph({ list: listProps });
412
- pushContext({ kind: 'paragraph', paragraph: para });
413
- pushStyle({});
414
- }
415
- return;
416
- }
417
- // --- Div ---
418
- if (tag === 'div') {
419
- let pendingAfter = false;
420
- if (attribs.style) {
421
- const parsed = parseInlineStyle(attribs.style);
422
- const inCell = contextStack.some((ctx) => ctx.kind === 'tableCell');
423
- const pbb = parsed.pageBreakBefore?.toLowerCase();
424
- if (!inCell && (pbb === 'always' || pbb === 'page')) {
425
- while (currentContext().kind === 'paragraph') {
426
- const ctx = popContext();
427
- addBlock(ctx.paragraph);
428
- }
429
- addBlock({ type: 'pageBreak' });
430
- }
431
- const pba = parsed.pageBreakAfter?.toLowerCase();
432
- if (!inCell && (pba === 'always' || pba === 'page')) {
433
- pendingAfter = true;
434
- }
435
- }
436
- pushContext({ kind: 'div', blocks: [], pendingAfter });
437
- return;
438
- }
439
- },
440
- ontext(text) {
441
- if (!text)
442
- return;
443
- // Skip pure whitespace unless inside a paragraph
444
- const paraCtx = findParagraphContext();
445
- if (!paraCtx && !text.trim())
446
- return;
447
- const target = paraCtx ?? ensureParagraph();
448
- const style = mergedTextStyle();
449
- target.paragraph.runs.push({ type: 'text', text, style });
450
- },
451
- onclosetag(name) {
452
- const tag = name.toLowerCase();
453
- // --- Inline formatting ---
454
- if (tag === 'strong' || tag === 'b' || tag === 'em' || tag === 'i' || tag === 'u' || tag === 'span') {
455
- popStyle();
456
- return;
457
- }
458
- // --- Headings ---
459
- if (tag in HEADING_SIZES) {
460
- popStyle();
461
- const ctx = popContext();
462
- if (ctx.kind === 'paragraph') {
463
- addBlock(ctx.paragraph);
464
- }
465
- return;
466
- }
467
- // --- Paragraph ---
468
- if (tag === 'p') {
469
- popStyle();
470
- const ctx = popContext();
471
- if (ctx.kind === 'paragraph') {
472
- addBlock(ctx.paragraph);
473
- }
474
- return;
475
- }
476
- // --- Table cell ---
477
- if (tag === 'td' || tag === 'th') {
478
- if (tag === 'th')
479
- insideTh = false;
480
- // Collect any open paragraph inside the cell
481
- while (currentContext().kind === 'paragraph') {
482
- const pCtx = popContext();
483
- addBlock(pCtx.paragraph);
484
- }
485
- const ctx = popContext();
486
- if (ctx.kind === 'tableCell') {
487
- const cell = createTableCell(ctx.blocks, ctx.cell);
488
- // Add cell to the row context
489
- const rowCtx = currentContext();
490
- if (rowCtx.kind === 'tableRow') {
491
- rowCtx.cells.push(cell);
492
- }
493
- }
494
- return;
495
- }
496
- // --- Table row ---
497
- if (tag === 'tr') {
498
- const ctx = popContext();
499
- if (ctx.kind === 'tableRow') {
500
- const row = createTableRow(ctx.cells);
501
- const tableCtx = currentContext();
502
- if (tableCtx.kind === 'table') {
503
- tableCtx.rows.push(row);
504
- }
505
- }
506
- return;
507
- }
508
- // --- Table ---
509
- if (tag === 'table') {
510
- const ctx = popContext();
511
- if (ctx.kind === 'table' && ctx.rows.length > 0) {
512
- const maxCols = Math.max(...ctx.rows.map((r) => r.cells.length));
513
- const widths = Array.from({ length: maxCols }, () => 1);
514
- const table = createTable(ctx.rows, widths);
515
- addBlock(table);
516
- }
517
- return;
518
- }
519
- // --- List item ---
520
- if (tag === 'li') {
521
- // Close any open paragraph inside the li
522
- if (currentContext().kind === 'paragraph') {
523
- const pCtx = popContext();
524
- addBlock(pCtx.paragraph);
525
- }
526
- popStyle(); // the pushStyle({}) from li open
527
- return;
528
- }
529
- // --- Lists ---
530
- if (tag === 'ul' || tag === 'ol') {
531
- const ctx = popContext();
532
- if (ctx.kind === 'list') {
533
- for (const block of ctx.blocks) {
534
- addBlock(block);
535
- }
536
- }
537
- return;
538
- }
539
- // --- Div ---
540
- if (tag === 'div') {
541
- // Close any open paragraph inside the div
542
- while (currentContext().kind === 'paragraph') {
543
- const pCtx = popContext();
544
- addBlock(pCtx.paragraph);
545
- }
546
- const ctx = popContext();
547
- if (ctx.kind === 'div') {
548
- for (const block of ctx.blocks) {
549
- addBlock(block);
550
- }
551
- if (ctx.pendingAfter) {
552
- addBlock({ type: 'pageBreak' });
553
- }
554
- }
555
- return;
556
- }
557
- // --- BR is self-closing, no close handler needed ---
558
- // --- IMG is self-closing, no close handler needed ---
559
- },
560
- }, { decodeEntities: true });
561
- parser.write(html);
562
- parser.end();
563
- // Flush any remaining open paragraphs on the root
564
- while (contextStack.length > 1) {
565
- const ctx = popContext();
566
- if (ctx.kind === 'paragraph') {
567
- addBlock(ctx.paragraph);
568
- }
569
- }
570
- const root = contextStack[0];
571
- return {
572
- pages: { ...DEFAULT_PAGE_FORMAT },
573
- body: root.blocks,
574
- };
575
- }
576
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/html/parser.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { Document } from '../model/document.js';
2
- /**
3
- * Serialize a Document model to an HTML string.
4
- * Produces body content only (no <html>, <head>, <body> wrapper).
5
- */
6
- export declare function serializeHtml(doc: Document): string;