@otomate/docx 0.0.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.
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/reader.d.ts +6 -0
- package/dist/reader.d.ts.map +1 -0
- package/dist/reader.js +410 -0
- package/dist/reader.js.map +1 -0
- package/dist/templates.d.ts +5 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +61 -0
- package/dist/templates.js.map +1 -0
- package/dist/writer.d.ts +8 -0
- package/dist/writer.d.ts.map +1 -0
- package/dist/writer.js +589 -0
- package/dist/writer.js.map +1 -0
- package/dist/xml.d.ts +5 -0
- package/dist/xml.d.ts.map +1 -0
- package/dist/xml.js +47 -0
- package/dist/xml.js.map +1 -0
- package/dist/zip.d.ts +14 -0
- package/dist/zip.d.ts.map +1 -0
- package/dist/zip.js +84 -0
- package/dist/zip.js.map +1 -0
- package/package.json +34 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { readDocx } from "./reader.js";
|
|
2
|
+
export type { DocxReadOptions } from "./reader.js";
|
|
3
|
+
export { writeDocx } from "./writer.js";
|
|
4
|
+
export type { DocxWriteOptions } from "./writer.js";
|
|
5
|
+
export { extractDocx, packDocx } from "./zip.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/reader.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Root } from "@otomate/core";
|
|
2
|
+
export interface DocxReadOptions {
|
|
3
|
+
}
|
|
4
|
+
/** Parse a .docx buffer into a UDM tree. */
|
|
5
|
+
export declare function readDocx(buffer: ArrayBuffer | Uint8Array, _options?: DocxReadOptions): Promise<Root>;
|
|
6
|
+
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EAEL,MAAM,eAAe,CAAC;AAIvB,MAAM,WAAW,eAAe;CAAG;AA2BnC,4CAA4C;AAC5C,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,WAAW,GAAG,UAAU,EAChC,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,IAAI,CAAC,CAyDf"}
|
package/dist/reader.js
ADDED
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// docx Reader — .docx buffer → UDM tree
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
import { extractDocx } from "./zip.js";
|
|
5
|
+
import { parseXml, parseXmlOrdered } from "./xml.js";
|
|
6
|
+
const HEADING_STYLES = {
|
|
7
|
+
Heading1: 1, Heading2: 2, Heading3: 3, Heading4: 4, Heading5: 5, Heading6: 6,
|
|
8
|
+
heading1: 1, heading2: 2, heading3: 3, heading4: 4, heading5: 5, heading6: 6,
|
|
9
|
+
"Heading 1": 1, "Heading 2": 2, "Heading 3": 3, "Heading 4": 4, "Heading 5": 5, "Heading 6": 6,
|
|
10
|
+
};
|
|
11
|
+
const CODE_STYLES = new Set(["Code", "code", "SourceCode", "HTMLCode"]);
|
|
12
|
+
const QUOTE_STYLES = new Set(["Quote", "quote", "BlockQuote", "IntenseQuote"]);
|
|
13
|
+
/** Module-level rId→URL map, set per readDocx call */
|
|
14
|
+
let currentRIdMap = new Map();
|
|
15
|
+
/** Parse document.xml.rels to build rId → URL map for hyperlinks */
|
|
16
|
+
function parseRelationships(relsXml) {
|
|
17
|
+
const map = new Map();
|
|
18
|
+
if (!relsXml)
|
|
19
|
+
return map;
|
|
20
|
+
// Simple regex extraction — the rels XML is small and predictable
|
|
21
|
+
const regex = /Id="([^"]+)"[^>]*Type="[^"]*\/hyperlink"[^>]*Target="([^"]+)"/g;
|
|
22
|
+
let match;
|
|
23
|
+
while ((match = regex.exec(relsXml)) !== null) {
|
|
24
|
+
map.set(match[1], match[2]);
|
|
25
|
+
}
|
|
26
|
+
return map;
|
|
27
|
+
}
|
|
28
|
+
/** Parse a .docx buffer into a UDM tree. */
|
|
29
|
+
export async function readDocx(buffer, _options) {
|
|
30
|
+
const parts = await extractDocx(buffer);
|
|
31
|
+
// Check for occam UDM snapshot — lossless round-trip
|
|
32
|
+
const udmJson = parts.rawParts.get("word/occam-udm.json");
|
|
33
|
+
if (udmJson) {
|
|
34
|
+
try {
|
|
35
|
+
const snapshot = JSON.parse(udmJson);
|
|
36
|
+
// Restore CSS rules if present
|
|
37
|
+
const cssJson = parts.rawParts.get("word/occam-css.json");
|
|
38
|
+
if (cssJson) {
|
|
39
|
+
const cssData = JSON.parse(cssJson);
|
|
40
|
+
snapshot.data = { ...snapshot.data, css: cssData };
|
|
41
|
+
}
|
|
42
|
+
// Attach docx raw parts for further round-trips
|
|
43
|
+
snapshot.data = {
|
|
44
|
+
...snapshot.data,
|
|
45
|
+
docx: {
|
|
46
|
+
rawParts: Object.fromEntries(parts.rawParts),
|
|
47
|
+
styles: parts.styles,
|
|
48
|
+
numbering: parts.numbering,
|
|
49
|
+
relationships: parts.relationships,
|
|
50
|
+
contentTypes: parts.contentTypes,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
return snapshot;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Fall through to OOXML parsing if JSON is corrupt
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Parse relationships to resolve hyperlink rIds → URLs
|
|
60
|
+
currentRIdMap = parseRelationships(parts.relationships);
|
|
61
|
+
// Parse document with ordered parser to preserve element order
|
|
62
|
+
const docOrdered = parseXmlOrdered(parts.document);
|
|
63
|
+
const children = convertBodyOrdered(docOrdered);
|
|
64
|
+
const root = { type: "root", children };
|
|
65
|
+
root.data = {
|
|
66
|
+
docx: {
|
|
67
|
+
rawParts: Object.fromEntries(parts.rawParts),
|
|
68
|
+
styles: parts.styles,
|
|
69
|
+
numbering: parts.numbering,
|
|
70
|
+
relationships: parts.relationships,
|
|
71
|
+
contentTypes: parts.contentTypes,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
if (parts.media.size > 0) {
|
|
75
|
+
root.data.docx.media = Object.fromEntries([...parts.media].map(([k, v]) => [k, Array.from(v)]));
|
|
76
|
+
}
|
|
77
|
+
return root;
|
|
78
|
+
}
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Ordered body conversion — preserves document element order
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
/**
|
|
83
|
+
* Walk the preserveOrder parsed tree to find w:body children in order.
|
|
84
|
+
* preserveOrder format: array of objects like { "w:document": [...children], ":@": { attrs } }
|
|
85
|
+
*/
|
|
86
|
+
function convertBodyOrdered(doc) {
|
|
87
|
+
// Find w:document
|
|
88
|
+
const docNode = doc.find((n) => n["w:document"]);
|
|
89
|
+
if (!docNode)
|
|
90
|
+
return [];
|
|
91
|
+
// Find w:body inside w:document
|
|
92
|
+
const docChildren = docNode["w:document"] ?? [];
|
|
93
|
+
const bodyNode = docChildren.find((n) => n["w:body"]);
|
|
94
|
+
if (!bodyNode)
|
|
95
|
+
return [];
|
|
96
|
+
const bodyChildren = bodyNode["w:body"] ?? [];
|
|
97
|
+
return convertOrderedChildren(bodyChildren);
|
|
98
|
+
}
|
|
99
|
+
function convertOrderedChildren(children) {
|
|
100
|
+
const result = [];
|
|
101
|
+
let listStack = [];
|
|
102
|
+
function flushLists() {
|
|
103
|
+
if (listStack.length > 0) {
|
|
104
|
+
result.push(listStack[0].list);
|
|
105
|
+
listStack = [];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
for (const child of children) {
|
|
109
|
+
if (child["w:p"] !== undefined) {
|
|
110
|
+
// Paragraph
|
|
111
|
+
const pChildren = child["w:p"] ?? [];
|
|
112
|
+
const pAttrs = child[":@"] ?? {};
|
|
113
|
+
const converted = convertOrderedParagraph(pChildren, pAttrs, listStack, flushLists, result);
|
|
114
|
+
if (converted) {
|
|
115
|
+
flushLists();
|
|
116
|
+
result.push(converted);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (child["w:tbl"] !== undefined) {
|
|
120
|
+
// Table
|
|
121
|
+
flushLists();
|
|
122
|
+
result.push(convertOrderedTable(child["w:tbl"] ?? []));
|
|
123
|
+
}
|
|
124
|
+
else if (child["w:sectPr"] !== undefined) {
|
|
125
|
+
// Section properties — skip (document metadata)
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
flushLists();
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
// Paragraph conversion (ordered format)
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
function convertOrderedParagraph(pChildren, _pAttrs, listStack, flushLists, result) {
|
|
135
|
+
// Extract pPr
|
|
136
|
+
const pPrNode = pChildren.find((c) => c["w:pPr"] !== undefined);
|
|
137
|
+
const pPrChildren = pPrNode?.["w:pPr"] ?? [];
|
|
138
|
+
// Check for numbering (list)
|
|
139
|
+
const numPrNode = pPrChildren.find((c) => c["w:numPr"] !== undefined);
|
|
140
|
+
if (numPrNode) {
|
|
141
|
+
const numPrChildren = numPrNode["w:numPr"] ?? [];
|
|
142
|
+
const numId = getOrderedAttr(numPrChildren, "w:numId", "w:val") ?? "0";
|
|
143
|
+
const ilvl = Number(getOrderedAttr(numPrChildren, "w:ilvl", "w:val") ?? 0);
|
|
144
|
+
const inlines = convertOrderedRuns(pChildren);
|
|
145
|
+
const para = { type: "paragraph", children: inlines };
|
|
146
|
+
const item = { type: "listItem", children: [para] };
|
|
147
|
+
if (listStack.length === 0 || listStack[0].numId !== numId) {
|
|
148
|
+
flushLists();
|
|
149
|
+
const list = { type: "list", ordered: false, children: [item] };
|
|
150
|
+
listStack.push({ numId, ilvl, list, item });
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
const current = listStack[listStack.length - 1];
|
|
154
|
+
if (ilvl > current.ilvl) {
|
|
155
|
+
const nestedList = { type: "list", ordered: false, children: [item] };
|
|
156
|
+
current.item.children.push(nestedList);
|
|
157
|
+
listStack.push({ numId, ilvl, list: nestedList, item });
|
|
158
|
+
}
|
|
159
|
+
else if (ilvl < current.ilvl) {
|
|
160
|
+
while (listStack.length > 1 && listStack[listStack.length - 1].ilvl > ilvl)
|
|
161
|
+
listStack.pop();
|
|
162
|
+
listStack[listStack.length - 1].list.children.push(item);
|
|
163
|
+
listStack[listStack.length - 1].item = item;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
current.list.children.push(item);
|
|
167
|
+
current.item = item;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return null; // handled by list stack
|
|
171
|
+
}
|
|
172
|
+
// Check style
|
|
173
|
+
const styleId = getOrderedAttr(pPrChildren, "w:pStyle", "w:val");
|
|
174
|
+
// Code block?
|
|
175
|
+
if (styleId && CODE_STYLES.has(styleId)) {
|
|
176
|
+
const text = getOrderedRunsText(pChildren);
|
|
177
|
+
return { type: "codeBlock", value: text };
|
|
178
|
+
}
|
|
179
|
+
// Blockquote?
|
|
180
|
+
if (styleId && QUOTE_STYLES.has(styleId)) {
|
|
181
|
+
const inlines = convertOrderedRuns(pChildren);
|
|
182
|
+
if (inlines.length === 0)
|
|
183
|
+
return null;
|
|
184
|
+
return {
|
|
185
|
+
type: "blockquote",
|
|
186
|
+
children: [{ type: "paragraph", children: inlines }],
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
// Check for indentation-based blockquote (our writer uses w:ind left=720)
|
|
190
|
+
const indNode = pPrChildren.find((c) => c["w:ind"] !== undefined);
|
|
191
|
+
const indLeft = indNode?.[":@"]?.["@_w:left"];
|
|
192
|
+
if (indLeft && Number(indLeft) >= 720 && !styleId) {
|
|
193
|
+
const inlines = convertOrderedRuns(pChildren);
|
|
194
|
+
if (inlines.length === 0)
|
|
195
|
+
return null;
|
|
196
|
+
return {
|
|
197
|
+
type: "blockquote",
|
|
198
|
+
children: [{ type: "paragraph", children: inlines }],
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
// Heading?
|
|
202
|
+
const headingDepth = styleId ? HEADING_STYLES[styleId] : undefined;
|
|
203
|
+
if (headingDepth) {
|
|
204
|
+
const inlines = convertOrderedRuns(pChildren);
|
|
205
|
+
return { type: "heading", depth: headingDepth, children: inlines };
|
|
206
|
+
}
|
|
207
|
+
// Regular paragraph
|
|
208
|
+
const inlines = convertOrderedRuns(pChildren);
|
|
209
|
+
if (inlines.length === 0)
|
|
210
|
+
return null;
|
|
211
|
+
const para = { type: "paragraph", children: inlines };
|
|
212
|
+
// Non-heading, non-special style → class
|
|
213
|
+
if (styleId && !HEADING_STYLES[styleId] && !CODE_STYLES.has(styleId) && !QUOTE_STYLES.has(styleId)) {
|
|
214
|
+
para.classes = [styleId];
|
|
215
|
+
}
|
|
216
|
+
// Store paragraph properties in data.docx
|
|
217
|
+
const docxData = {};
|
|
218
|
+
const jcNode = pPrChildren.find((c) => c["w:jc"] !== undefined);
|
|
219
|
+
if (jcNode)
|
|
220
|
+
docxData.align = jcNode[":@"]?.["@_w:val"];
|
|
221
|
+
if (Object.keys(docxData).length > 0)
|
|
222
|
+
para.data = { docx: docxData };
|
|
223
|
+
return para;
|
|
224
|
+
}
|
|
225
|
+
// ---------------------------------------------------------------------------
|
|
226
|
+
// Run conversion (ordered format)
|
|
227
|
+
// ---------------------------------------------------------------------------
|
|
228
|
+
function convertOrderedRuns(pChildren) {
|
|
229
|
+
const result = [];
|
|
230
|
+
for (const child of pChildren) {
|
|
231
|
+
if (child["w:r"] !== undefined) {
|
|
232
|
+
const rChildren = child["w:r"] ?? [];
|
|
233
|
+
const text = getOrderedText(rChildren);
|
|
234
|
+
if (!text)
|
|
235
|
+
continue;
|
|
236
|
+
const marks = extractOrderedRunMarks(rChildren);
|
|
237
|
+
const textNode = { type: "text", value: text };
|
|
238
|
+
if (marks.length > 0)
|
|
239
|
+
textNode.marks = marks;
|
|
240
|
+
// Run-level data
|
|
241
|
+
const rPrNode = rChildren.find((c) => c["w:rPr"] !== undefined);
|
|
242
|
+
if (rPrNode) {
|
|
243
|
+
const docxData = extractOrderedRunData(rPrNode["w:rPr"] ?? []);
|
|
244
|
+
if (Object.keys(docxData).length > 0)
|
|
245
|
+
textNode.data = { docx: docxData };
|
|
246
|
+
}
|
|
247
|
+
result.push(textNode);
|
|
248
|
+
}
|
|
249
|
+
else if (child["w:hyperlink"] !== undefined) {
|
|
250
|
+
const hlChildren = child["w:hyperlink"] ?? [];
|
|
251
|
+
const hlAttrs = child[":@"] ?? {};
|
|
252
|
+
const rId = hlAttrs["@_r:id"] ?? hlAttrs["@_w:id"] ?? "";
|
|
253
|
+
// Resolve rId to actual URL
|
|
254
|
+
const url = currentRIdMap.get(rId) ?? `#${rId}`;
|
|
255
|
+
for (const hlChild of hlChildren) {
|
|
256
|
+
if (hlChild["w:r"] !== undefined) {
|
|
257
|
+
const rChildren = hlChild["w:r"] ?? [];
|
|
258
|
+
const text = getOrderedText(rChildren);
|
|
259
|
+
if (!text)
|
|
260
|
+
continue;
|
|
261
|
+
const marks = extractOrderedRunMarks(rChildren);
|
|
262
|
+
marks.push({ type: "link", attrs: { url } });
|
|
263
|
+
result.push({ type: "text", value: text, marks });
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return result;
|
|
269
|
+
}
|
|
270
|
+
function getOrderedText(rChildren) {
|
|
271
|
+
let text = "";
|
|
272
|
+
for (const child of rChildren) {
|
|
273
|
+
if (child["w:t"] !== undefined) {
|
|
274
|
+
const tChildren = child["w:t"];
|
|
275
|
+
if (Array.isArray(tChildren)) {
|
|
276
|
+
for (const t of tChildren) {
|
|
277
|
+
if (typeof t === "object" && t["#text"] !== undefined)
|
|
278
|
+
text += t["#text"];
|
|
279
|
+
else if (typeof t === "string")
|
|
280
|
+
text += t;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
else if (typeof tChildren === "string") {
|
|
284
|
+
text += tChildren;
|
|
285
|
+
}
|
|
286
|
+
else if (tChildren?.["#text"] !== undefined) {
|
|
287
|
+
text += tChildren["#text"];
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return text || null;
|
|
292
|
+
}
|
|
293
|
+
function getOrderedRunsText(pChildren) {
|
|
294
|
+
let text = "";
|
|
295
|
+
for (const child of pChildren) {
|
|
296
|
+
if (child["w:r"] !== undefined) {
|
|
297
|
+
const t = getOrderedText(child["w:r"] ?? []);
|
|
298
|
+
if (t)
|
|
299
|
+
text += t;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return text;
|
|
303
|
+
}
|
|
304
|
+
function extractOrderedRunMarks(rChildren) {
|
|
305
|
+
const rPrNode = rChildren.find((c) => c["w:rPr"] !== undefined);
|
|
306
|
+
if (!rPrNode)
|
|
307
|
+
return [];
|
|
308
|
+
const rPrChildren = rPrNode["w:rPr"] ?? [];
|
|
309
|
+
const marks = [];
|
|
310
|
+
for (const prop of rPrChildren) {
|
|
311
|
+
if (prop["w:b"] !== undefined)
|
|
312
|
+
marks.push({ type: "strong" });
|
|
313
|
+
if (prop["w:i"] !== undefined)
|
|
314
|
+
marks.push({ type: "emphasis" });
|
|
315
|
+
if (prop["w:u"] !== undefined) {
|
|
316
|
+
const style = prop[":@"]?.["@_w:val"] ?? "single";
|
|
317
|
+
marks.push({ type: "underline", attrs: { style } });
|
|
318
|
+
}
|
|
319
|
+
if (prop["w:strike"] !== undefined)
|
|
320
|
+
marks.push({ type: "strikethrough" });
|
|
321
|
+
if (prop["w:dstrike"] !== undefined)
|
|
322
|
+
marks.push({ type: "strikethrough", attrs: { double: true } });
|
|
323
|
+
if (prop["w:vertAlign"] !== undefined) {
|
|
324
|
+
const val = prop[":@"]?.["@_w:val"];
|
|
325
|
+
if (val === "superscript")
|
|
326
|
+
marks.push({ type: "superscript" });
|
|
327
|
+
if (val === "subscript")
|
|
328
|
+
marks.push({ type: "subscript" });
|
|
329
|
+
}
|
|
330
|
+
if (prop["w:highlight"] !== undefined) {
|
|
331
|
+
const color = prop[":@"]?.["@_w:val"];
|
|
332
|
+
marks.push({ type: "highlight", attrs: { color } });
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return marks;
|
|
336
|
+
}
|
|
337
|
+
function extractOrderedRunData(rPrChildren) {
|
|
338
|
+
const data = {};
|
|
339
|
+
for (const prop of rPrChildren) {
|
|
340
|
+
if (prop["w:rFonts"] !== undefined) {
|
|
341
|
+
data.font = { ascii: prop[":@"]?.["@_w:ascii"], hAnsi: prop[":@"]?.["@_w:hAnsi"] };
|
|
342
|
+
}
|
|
343
|
+
if (prop["w:sz"] !== undefined)
|
|
344
|
+
data.fontSize = Number(prop[":@"]?.["@_w:val"]);
|
|
345
|
+
if (prop["w:color"] !== undefined)
|
|
346
|
+
data.color = prop[":@"]?.["@_w:val"];
|
|
347
|
+
if (prop["w:rStyle"] !== undefined)
|
|
348
|
+
data.rStyle = prop[":@"]?.["@_w:val"];
|
|
349
|
+
}
|
|
350
|
+
return data;
|
|
351
|
+
}
|
|
352
|
+
// ---------------------------------------------------------------------------
|
|
353
|
+
// Table conversion (ordered format)
|
|
354
|
+
// ---------------------------------------------------------------------------
|
|
355
|
+
function convertOrderedTable(tblChildren) {
|
|
356
|
+
const rows = [];
|
|
357
|
+
for (const child of tblChildren) {
|
|
358
|
+
if (child["w:tr"] !== undefined) {
|
|
359
|
+
const trChildren = child["w:tr"] ?? [];
|
|
360
|
+
const cells = [];
|
|
361
|
+
let isHeader = false;
|
|
362
|
+
for (const trChild of trChildren) {
|
|
363
|
+
if (trChild["w:trPr"] !== undefined) {
|
|
364
|
+
const trPrChildren = trChild["w:trPr"] ?? [];
|
|
365
|
+
if (trPrChildren.some((c) => c["w:tblHeader"] !== undefined))
|
|
366
|
+
isHeader = true;
|
|
367
|
+
}
|
|
368
|
+
if (trChild["w:tc"] !== undefined) {
|
|
369
|
+
const tcChildren = trChild["w:tc"] ?? [];
|
|
370
|
+
const cellBlocks = [];
|
|
371
|
+
let colspan;
|
|
372
|
+
for (const tcChild of tcChildren) {
|
|
373
|
+
if (tcChild["w:tcPr"] !== undefined) {
|
|
374
|
+
const tcPrChildren = tcChild["w:tcPr"] ?? [];
|
|
375
|
+
for (const tcProp of tcPrChildren) {
|
|
376
|
+
if (tcProp["w:gridSpan"] !== undefined) {
|
|
377
|
+
const gs = Number(tcProp[":@"]?.["@_w:val"]);
|
|
378
|
+
if (gs > 1)
|
|
379
|
+
colspan = gs;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
if (tcChild["w:p"] !== undefined) {
|
|
384
|
+
const inlines = convertOrderedRuns(tcChild["w:p"] ?? []);
|
|
385
|
+
if (inlines.length > 0) {
|
|
386
|
+
cellBlocks.push({ type: "paragraph", children: inlines });
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
const cell = { type: "tableCell", children: cellBlocks };
|
|
391
|
+
if (colspan)
|
|
392
|
+
cell.colspan = colspan;
|
|
393
|
+
cells.push(cell);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
rows.push({ type: "tableRow", isHeader: isHeader || undefined, children: cells });
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return { type: "table", children: rows };
|
|
400
|
+
}
|
|
401
|
+
// ---------------------------------------------------------------------------
|
|
402
|
+
// Helpers for ordered format
|
|
403
|
+
// ---------------------------------------------------------------------------
|
|
404
|
+
function getOrderedAttr(children, tagName, attrName) {
|
|
405
|
+
const node = children.find((c) => c[tagName] !== undefined);
|
|
406
|
+
if (!node)
|
|
407
|
+
return undefined;
|
|
408
|
+
return node[":@"]?.[`@_${attrName}`];
|
|
409
|
+
}
|
|
410
|
+
//# sourceMappingURL=reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const RELS = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"word/document.xml\"/>\n</Relationships>";
|
|
2
|
+
export declare const DOC_RELS = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\n <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\n <Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\" Target=\"numbering.xml\"/>\n</Relationships>";
|
|
3
|
+
export declare const DEFAULT_STYLES = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:styles xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\">\n <w:docDefaults>\n <w:rPrDefault><w:rPr>\n <w:rFonts w:ascii=\"Calibri\" w:hAnsi=\"Calibri\"/>\n <w:sz w:val=\"22\"/>\n </w:rPr></w:rPrDefault>\n </w:docDefaults>\n <w:style w:type=\"paragraph\" w:default=\"1\" w:styleId=\"Normal\">\n <w:name w:val=\"Normal\"/>\n </w:style>\n <w:style w:type=\"paragraph\" w:styleId=\"Heading1\">\n <w:name w:val=\"heading 1\"/><w:basedOn w:val=\"Normal\"/>\n <w:pPr><w:outlineLvl w:val=\"0\"/></w:pPr>\n <w:rPr><w:b/><w:sz w:val=\"32\"/></w:rPr>\n </w:style>\n <w:style w:type=\"paragraph\" w:styleId=\"Heading2\">\n <w:name w:val=\"heading 2\"/><w:basedOn w:val=\"Normal\"/>\n <w:pPr><w:outlineLvl w:val=\"1\"/></w:pPr>\n <w:rPr><w:b/><w:sz w:val=\"28\"/></w:rPr>\n </w:style>\n <w:style w:type=\"paragraph\" w:styleId=\"Heading3\">\n <w:name w:val=\"heading 3\"/><w:basedOn w:val=\"Normal\"/>\n <w:pPr><w:outlineLvl w:val=\"2\"/></w:pPr>\n <w:rPr><w:b/><w:sz w:val=\"24\"/></w:rPr>\n </w:style>\n</w:styles>";
|
|
4
|
+
export declare const DEFAULT_NUMBERING = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:numbering xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\">\n <w:abstractNum w:abstractNumId=\"0\">\n <w:lvl w:ilvl=\"0\"><w:start w:val=\"1\"/><w:numFmt w:val=\"bullet\"/>\n <w:lvlText w:val=\"\u2022\"/><w:lvlJc w:val=\"left\"/>\n </w:lvl>\n <w:lvl w:ilvl=\"1\"><w:start w:val=\"1\"/><w:numFmt w:val=\"bullet\"/>\n <w:lvlText w:val=\"\u25E6\"/><w:lvlJc w:val=\"left\"/>\n </w:lvl>\n </w:abstractNum>\n <w:abstractNum w:abstractNumId=\"1\">\n <w:lvl w:ilvl=\"0\"><w:start w:val=\"1\"/><w:numFmt w:val=\"decimal\"/>\n <w:lvlText w:val=\"%1.\"/><w:lvlJc w:val=\"left\"/>\n </w:lvl>\n <w:lvl w:ilvl=\"1\"><w:start w:val=\"1\"/><w:numFmt w:val=\"lowerLetter\"/>\n <w:lvlText w:val=\"%2)\"/><w:lvlJc w:val=\"left\"/>\n </w:lvl>\n </w:abstractNum>\n <w:num w:numId=\"1\"><w:abstractNumId w:val=\"0\"/></w:num>\n <w:num w:numId=\"2\"><w:abstractNumId w:val=\"1\"/></w:num>\n</w:numbering>";
|
|
5
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,oUAGA,CAAC;AAElB,eAAO,MAAM,QAAQ,ocAIJ,CAAC;AAElB,eAAO,MAAM,cAAc,ioCA0Bf,CAAC;AAEb,eAAO,MAAM,iBAAiB,kgCAoBf,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Minimal valid OOXML boilerplate templates
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export const RELS = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
5
|
+
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
6
|
+
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/>
|
|
7
|
+
</Relationships>`;
|
|
8
|
+
export const DOC_RELS = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
9
|
+
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
|
|
10
|
+
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
|
|
11
|
+
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" Target="numbering.xml"/>
|
|
12
|
+
</Relationships>`;
|
|
13
|
+
export const DEFAULT_STYLES = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
14
|
+
<w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
|
|
15
|
+
<w:docDefaults>
|
|
16
|
+
<w:rPrDefault><w:rPr>
|
|
17
|
+
<w:rFonts w:ascii="Calibri" w:hAnsi="Calibri"/>
|
|
18
|
+
<w:sz w:val="22"/>
|
|
19
|
+
</w:rPr></w:rPrDefault>
|
|
20
|
+
</w:docDefaults>
|
|
21
|
+
<w:style w:type="paragraph" w:default="1" w:styleId="Normal">
|
|
22
|
+
<w:name w:val="Normal"/>
|
|
23
|
+
</w:style>
|
|
24
|
+
<w:style w:type="paragraph" w:styleId="Heading1">
|
|
25
|
+
<w:name w:val="heading 1"/><w:basedOn w:val="Normal"/>
|
|
26
|
+
<w:pPr><w:outlineLvl w:val="0"/></w:pPr>
|
|
27
|
+
<w:rPr><w:b/><w:sz w:val="32"/></w:rPr>
|
|
28
|
+
</w:style>
|
|
29
|
+
<w:style w:type="paragraph" w:styleId="Heading2">
|
|
30
|
+
<w:name w:val="heading 2"/><w:basedOn w:val="Normal"/>
|
|
31
|
+
<w:pPr><w:outlineLvl w:val="1"/></w:pPr>
|
|
32
|
+
<w:rPr><w:b/><w:sz w:val="28"/></w:rPr>
|
|
33
|
+
</w:style>
|
|
34
|
+
<w:style w:type="paragraph" w:styleId="Heading3">
|
|
35
|
+
<w:name w:val="heading 3"/><w:basedOn w:val="Normal"/>
|
|
36
|
+
<w:pPr><w:outlineLvl w:val="2"/></w:pPr>
|
|
37
|
+
<w:rPr><w:b/><w:sz w:val="24"/></w:rPr>
|
|
38
|
+
</w:style>
|
|
39
|
+
</w:styles>`;
|
|
40
|
+
export const DEFAULT_NUMBERING = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
41
|
+
<w:numbering xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
|
|
42
|
+
<w:abstractNum w:abstractNumId="0">
|
|
43
|
+
<w:lvl w:ilvl="0"><w:start w:val="1"/><w:numFmt w:val="bullet"/>
|
|
44
|
+
<w:lvlText w:val="\u2022"/><w:lvlJc w:val="left"/>
|
|
45
|
+
</w:lvl>
|
|
46
|
+
<w:lvl w:ilvl="1"><w:start w:val="1"/><w:numFmt w:val="bullet"/>
|
|
47
|
+
<w:lvlText w:val="\u25E6"/><w:lvlJc w:val="left"/>
|
|
48
|
+
</w:lvl>
|
|
49
|
+
</w:abstractNum>
|
|
50
|
+
<w:abstractNum w:abstractNumId="1">
|
|
51
|
+
<w:lvl w:ilvl="0"><w:start w:val="1"/><w:numFmt w:val="decimal"/>
|
|
52
|
+
<w:lvlText w:val="%1."/><w:lvlJc w:val="left"/>
|
|
53
|
+
</w:lvl>
|
|
54
|
+
<w:lvl w:ilvl="1"><w:start w:val="1"/><w:numFmt w:val="lowerLetter"/>
|
|
55
|
+
<w:lvlText w:val="%2)"/><w:lvlJc w:val="left"/>
|
|
56
|
+
</w:lvl>
|
|
57
|
+
</w:abstractNum>
|
|
58
|
+
<w:num w:numId="1"><w:abstractNumId w:val="0"/></w:num>
|
|
59
|
+
<w:num w:numId="2"><w:abstractNumId w:val="1"/></w:num>
|
|
60
|
+
</w:numbering>`;
|
|
61
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,CAAC,MAAM,IAAI,GAAG;;;iBAGH,CAAC;AAElB,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;iBAIP,CAAC;AAElB,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;YA0BlB,CAAC;AAEb,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;eAoBlB,CAAC"}
|
package/dist/writer.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Root } from "@otomate/core";
|
|
2
|
+
export interface DocxWriteOptions {
|
|
3
|
+
/** CSS class rules: { className: { property: value } } */
|
|
4
|
+
cssClasses?: Record<string, Record<string, string>>;
|
|
5
|
+
}
|
|
6
|
+
/** Serialize a UDM tree to a .docx buffer. */
|
|
7
|
+
export declare function writeDocx(tree: Root, options?: DocxWriteOptions): Promise<Uint8Array>;
|
|
8
|
+
//# sourceMappingURL=writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EAEL,MAAM,eAAe,CAAC;AAMvB,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAMD,8CAA8C;AAC9C,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,UAAU,CAAC,CA+ErB"}
|