@dogsbay/format-dita 0.2.0-beta.115 → 0.2.0-beta.116
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/anchors.d.ts +20 -0
- package/dist/anchors.d.ts.map +1 -0
- package/dist/anchors.js +35 -0
- package/dist/anchors.js.map +1 -0
- package/dist/blocks.d.ts +10 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +438 -41
- package/dist/blocks.js.map +1 -1
- package/dist/inline.d.ts +40 -2
- package/dist/inline.d.ts.map +1 -1
- package/dist/inline.js +258 -22
- package/dist/inline.js.map +1 -1
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +118 -18
- package/dist/parse.js.map +1 -1
- package/dist/publish-support.d.ts +11 -0
- package/dist/publish-support.d.ts.map +1 -0
- package/dist/publish-support.js +11 -0
- package/dist/publish-support.js.map +1 -0
- package/dist/types.d.ts +64 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +40 -0
- package/dist/types.js.map +1 -1
- package/package.json +7 -3
package/dist/parse.js
CHANGED
|
@@ -1,24 +1,62 @@
|
|
|
1
1
|
import { parseDocument } from "htmlparser2";
|
|
2
|
-
import { convertChildren } from "./blocks.js";
|
|
2
|
+
import { convertChildren, convertItemContent } from "./blocks.js";
|
|
3
3
|
import { textOf, convertInline, trimInline, collapseWhitespace } from "./inline.js";
|
|
4
|
-
import {
|
|
4
|
+
import { renamedElementIds } from "./anchors.js";
|
|
5
|
+
import { DITA_TOPIC_TYPES, relativeIncludePath, publishLanguage, publishString, } from "./types.js";
|
|
5
6
|
const isElement = (node) => node.type === "tag";
|
|
7
|
+
const hasClassToken = (el, token) => ` ${el.attribs?.class ?? ""} `.includes(` ${token} `);
|
|
8
|
+
/**
|
|
9
|
+
* The number labels DITA-OT's HTML5 output gives titled tables and figures in
|
|
10
|
+
* one file: tables and simple tables (with specializations such as choice
|
|
11
|
+
* tables) share one count, figures (including syntax diagrams, which show no
|
|
12
|
+
* label) another, in document order. The words come from DITA-OT's strings for
|
|
13
|
+
* the title's language; Hungarian puts the number first.
|
|
14
|
+
*/
|
|
15
|
+
const numberLabels = (nodes, publish) => {
|
|
16
|
+
const labels = new Map();
|
|
17
|
+
const count = { Table: 0, Figure: 0 };
|
|
18
|
+
const visit = (list) => {
|
|
19
|
+
for (const node of list) {
|
|
20
|
+
if (!isElement(node))
|
|
21
|
+
continue;
|
|
22
|
+
const title = node.children.find((c) => isElement(c) && hasClassToken(c, "topic/title"));
|
|
23
|
+
const kind = hasClassToken(node, "topic/table") || hasClassToken(node, "topic/simpletable")
|
|
24
|
+
? "Table"
|
|
25
|
+
: hasClassToken(node, "topic/fig") ? "Figure" : undefined;
|
|
26
|
+
if (kind && title) {
|
|
27
|
+
const n = ++count[kind];
|
|
28
|
+
const l = publishLanguage(title, publish);
|
|
29
|
+
const word = publishString(publish, l, kind);
|
|
30
|
+
labels.set(node, l === "hu" || l === "hu-hu" ? `${n}. ${word} ` : `${word} ${n}. `);
|
|
31
|
+
}
|
|
32
|
+
visit(node.children);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
visit(nodes);
|
|
36
|
+
return labels;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* A topic element: one of the topic types, or (publishing, where every
|
|
40
|
+
* element has `@class`) any specialization of topic/topic (glossgroup,
|
|
41
|
+
* troubleshooting).
|
|
42
|
+
*/
|
|
43
|
+
const isTopicElement = (el, publish) => DITA_TOPIC_TYPES.includes(el.name.toLowerCase()) ||
|
|
44
|
+
(publish && ` ${el.attribs?.class ?? ""} `.includes(" topic/topic "));
|
|
6
45
|
/**
|
|
7
46
|
* Collect ALL topic elements at the shallowest level they appear —
|
|
8
47
|
* multi-topic composites (<dita> wrappers, chunked files) have sibling
|
|
9
48
|
* topics alongside the primary one.
|
|
10
49
|
*/
|
|
11
|
-
const findTopicRoots = (nodes) => {
|
|
50
|
+
const findTopicRoots = (nodes, publish = false) => {
|
|
12
51
|
const roots = [];
|
|
13
52
|
for (const node of nodes) {
|
|
14
53
|
if (!isElement(node))
|
|
15
54
|
continue;
|
|
16
|
-
|
|
17
|
-
if (DITA_TOPIC_TYPES.includes(name)) {
|
|
55
|
+
if (isTopicElement(node, publish)) {
|
|
18
56
|
roots.push(node);
|
|
19
57
|
continue; // nested topics inside this root are handled during conversion
|
|
20
58
|
}
|
|
21
|
-
roots.push(...findTopicRoots(node.children));
|
|
59
|
+
roots.push(...findTopicRoots(node.children, publish));
|
|
22
60
|
}
|
|
23
61
|
return roots;
|
|
24
62
|
};
|
|
@@ -36,6 +74,7 @@ const convertSecondaryTopic = (el, ctx, level, bindConrefSite) => {
|
|
|
36
74
|
const inner = {
|
|
37
75
|
...ctx,
|
|
38
76
|
headingLevel: bodyLevel,
|
|
77
|
+
...(ctx.publish ? { topicId: el.attribs?.id } : {}),
|
|
39
78
|
...(bindConrefSite ? { conref: bindConrefSite(el.attribs?.id) } : {}),
|
|
40
79
|
};
|
|
41
80
|
let headingEmitted = false;
|
|
@@ -64,7 +103,7 @@ const convertSecondaryTopic = (el, ctx, level, bindConrefSite) => {
|
|
|
64
103
|
}
|
|
65
104
|
if (name === "titlealts")
|
|
66
105
|
continue;
|
|
67
|
-
if (
|
|
106
|
+
if (isTopicElement(child, !!ctx.publish)) {
|
|
68
107
|
out.push(...convertSecondaryTopic(child, ctx, bodyLevel, bindConrefSite));
|
|
69
108
|
continue;
|
|
70
109
|
}
|
|
@@ -181,7 +220,7 @@ export function ditaTopicToTree(xml, options = {}) {
|
|
|
181
220
|
const notes = [];
|
|
182
221
|
const note = (construct, detail) => notes.push({ topicPath, construct, detail });
|
|
183
222
|
const doc = parseDocument(xml, { xmlMode: true });
|
|
184
|
-
const roots = findTopicRoots(doc.children);
|
|
223
|
+
const roots = findTopicRoots(doc.children, !!options.publish);
|
|
185
224
|
const root = roots[0] ?? null;
|
|
186
225
|
if (!root) {
|
|
187
226
|
note("<topic>", "no DITA topic root element found (concept/task/reference/topic/glossentry)");
|
|
@@ -231,6 +270,10 @@ export function ditaTopicToTree(xml, options = {}) {
|
|
|
231
270
|
seenConstructs: new Set(),
|
|
232
271
|
headingLevel: 2,
|
|
233
272
|
...(bindConrefSite ? { conref: bindConrefSite(root.attribs?.id) } : {}),
|
|
273
|
+
...(options.publish
|
|
274
|
+
? { publish: options.publish, trademarks: new Set(), footnotes: [], topicId: root.attribs?.id, anchorIds: renamedElementIds(doc.children) }
|
|
275
|
+
: {}),
|
|
276
|
+
...(options.publish?.numbering ? { numberLabels: numberLabels(doc.children, options.publish) } : {}),
|
|
234
277
|
};
|
|
235
278
|
const meta = { ditaType: root.name.toLowerCase() };
|
|
236
279
|
if (root.attribs?.id)
|
|
@@ -242,7 +285,28 @@ export function ditaTopicToTree(xml, options = {}) {
|
|
|
242
285
|
const name = child.name.toLowerCase();
|
|
243
286
|
if (name === "title" || name === "glossterm") {
|
|
244
287
|
// glossentry topics carry their title in <glossterm>
|
|
245
|
-
|
|
288
|
+
if (options.publish) {
|
|
289
|
+
// Publishing: a footnote in the title is the page's first note; the title text leaves it out
|
|
290
|
+
const visit = (nodes) => nodes.map((n) => {
|
|
291
|
+
if (n.type === "text")
|
|
292
|
+
return n.data;
|
|
293
|
+
if (!isElement(n))
|
|
294
|
+
return "";
|
|
295
|
+
const cls = ` ${n.attribs?.class ?? ""} `;
|
|
296
|
+
if (cls.includes(" topic/fn ")) {
|
|
297
|
+
if (ctx.footnotes)
|
|
298
|
+
ctx.footnotes.push({ label: String(ctx.footnotes.filter((f) => !f.callout).length + 1), el: n, unreferenced: true });
|
|
299
|
+
return "";
|
|
300
|
+
}
|
|
301
|
+
if ([" topic/indexterm ", " topic/draft-comment ", " topic/data ", " topic/required-cleanup "].some((t) => cls.includes(t)))
|
|
302
|
+
return "";
|
|
303
|
+
return visit(n.children);
|
|
304
|
+
}).join("");
|
|
305
|
+
meta.title = collapseWhitespace(visit(child.children)).trim();
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
meta.title = textOf(child.children).trim();
|
|
309
|
+
}
|
|
246
310
|
continue;
|
|
247
311
|
}
|
|
248
312
|
if (name === "shortdesc") {
|
|
@@ -259,7 +323,7 @@ export function ditaTopicToTree(xml, options = {}) {
|
|
|
259
323
|
extractProlog(child, meta, ctx);
|
|
260
324
|
continue;
|
|
261
325
|
}
|
|
262
|
-
if (
|
|
326
|
+
if (isTopicElement(child, !!options.publish)) {
|
|
263
327
|
// Nested topic: convert inline as a section (chunked authoring)
|
|
264
328
|
tree.push(...convertSecondaryTopic(child, ctx, 2, bindConrefSite));
|
|
265
329
|
continue;
|
|
@@ -268,28 +332,64 @@ export function ditaTopicToTree(xml, options = {}) {
|
|
|
268
332
|
}
|
|
269
333
|
// Sibling topics under a composite wrapper convert the same way
|
|
270
334
|
for (const sibling of roots.slice(1)) {
|
|
271
|
-
|
|
335
|
+
// Publishing: DITA-OT titles sibling topics in one file like the first (h1)
|
|
336
|
+
tree.push(...convertSecondaryTopic(sibling, ctx, options.publish ? 1 : 2, bindConrefSite));
|
|
272
337
|
}
|
|
273
338
|
// DITA element ids are unique per TOPIC, not per file — after inlining
|
|
274
339
|
// multiple topics, colliding ids mean fragment links can mis-target.
|
|
275
340
|
// Known loss, never silent loss: report every duplicate anchor.
|
|
276
341
|
const seenAnchorIds = new Set();
|
|
342
|
+
const seeId = (id) => {
|
|
343
|
+
if (seenAnchorIds.has(id)) {
|
|
344
|
+
note("duplicate-id", `anchor id "${id}" appears in more than one inlined topic — fragment links to it may land on the wrong section; rename one of the ids`);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
seenAnchorIds.add(id);
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
// Element anchors (`<a id>` in HTML nodes) count too
|
|
351
|
+
const seeHtmlIds = (html) => {
|
|
352
|
+
if (typeof html !== "string")
|
|
353
|
+
return;
|
|
354
|
+
for (const m of html.matchAll(/<a id="([^"]*)"><\/a>/g))
|
|
355
|
+
seeId(m[1].replace(/"/g, '"').replace(/&/g, "&"));
|
|
356
|
+
};
|
|
277
357
|
const walkIds = (nodes) => {
|
|
278
358
|
for (const node of nodes) {
|
|
279
359
|
const id = node.props?.id;
|
|
280
|
-
if (typeof id === "string")
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
360
|
+
if (typeof id === "string")
|
|
361
|
+
seeId(id);
|
|
362
|
+
if (node.type === "html")
|
|
363
|
+
seeHtmlIds(node.html);
|
|
364
|
+
for (const inline of node.inline ?? []) {
|
|
365
|
+
if (inline.type === "html-inline")
|
|
366
|
+
seeHtmlIds(inline.html);
|
|
287
367
|
}
|
|
288
368
|
if (node.children)
|
|
289
369
|
walkIds(node.children);
|
|
290
370
|
}
|
|
291
371
|
};
|
|
292
372
|
walkIds(tree);
|
|
373
|
+
// Publishing: the footnotes, after everything else
|
|
374
|
+
// A title's footnote has no reference in the text (Markdown lists only referenced notes):
|
|
375
|
+
// it is a paragraph with its number, as DITA-OT renders a note
|
|
376
|
+
for (const { label, el } of ctx.footnotes?.filter((f) => f.unreferenced) ?? []) {
|
|
377
|
+
tree.push({ type: "paragraph", inline: [{ type: "html-inline", html: `<sup id="fn-${label}">${label}</sup>` }, { type: "text", text: " " }, ...trimInline(convertInline(el.children, ctx))] });
|
|
378
|
+
}
|
|
379
|
+
const referenced = ctx.footnotes?.filter((f) => !f.unreferenced) ?? [];
|
|
380
|
+
if (referenced.length) {
|
|
381
|
+
tree.push({
|
|
382
|
+
type: "footnote-list",
|
|
383
|
+
children: referenced.map(({ label, el }) => {
|
|
384
|
+
// A paragraph-only footnote is inline; block content (a list) stays blocks
|
|
385
|
+
const blocks = convertItemContent(el, ctx);
|
|
386
|
+
const props = { label, id: `fn-${label}`, backrefId: `fnref-${label}` };
|
|
387
|
+
return blocks.length === 1 && blocks[0].type === "paragraph"
|
|
388
|
+
? { type: "footnote-def", props, inline: blocks[0].inline }
|
|
389
|
+
: { type: "footnote-def", props, children: blocks };
|
|
390
|
+
}),
|
|
391
|
+
});
|
|
392
|
+
}
|
|
293
393
|
return { tree, meta, notes };
|
|
294
394
|
}
|
|
295
395
|
//# sourceMappingURL=parse.js.map
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAqB,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EAMnB,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,CAAC,IAAa,EAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AAE1E,MAAM,aAAa,GAAG,CAAC,EAAW,EAAE,KAAa,EAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAErH;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAE,OAAuB,EAAwB,EAAE;IACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAe,EAAQ,EAAE;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC/B,MAAM,KAAK,GAAI,IAAI,CAAC,QAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;YACtH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBACzF,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,QAAqB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,EAAW,EAAE,OAAgB,EAAW,EAAE,CAC/D,gBAAsC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,OAAO,GAAG,KAAK,EAAa,EAAE;IACtE,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/B,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS,CAAC,+DAA+D;QAC3E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,QAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAC5B,EAAW,EACX,GAAiB,EACjB,KAAa,EACb,cAA+E,EACnE,EAAE;IACd,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,uEAAuE;IACvE,6CAA6C;IAC7C,MAAM,KAAK,GAAiB;QAC1B,GAAG,GAAG;QACN,YAAY,EAAE,SAAS;QACvB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;IACF,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,qEAAqE;IACrE,yCAAyC;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;QACtD,GAAG,CAAC,IAAI,CACN,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAC5C,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,iCAAiC,GAAG,4FAA4F,CAC1J,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,QAAqB,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,KAAK;oBACL,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD;gBACD,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,QAAqB,EAAE,KAAK,CAAC,CAAC;gBACrE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC,CAAC;YACH,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,WAAW;YAAE,SAAS;QACnC,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACtC,GAAG,CAAC,OAAO,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAGF,mEAAmE;AACnE,MAAM,UAAU,GAAG,CAAC,EAAW,EAAU,EAAE,CACzC,kBAAkB,CACf,EAAE,CAAC,QAAsB;KACvB,MAAM,CAAC,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;KACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAClB,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC,IAAI,EAAE,CAAC;AAEX,oFAAoF;AACpF,MAAM,SAAS,GAAG,CAAC,EAAW,EAAU,EAAE,CACxC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE9D;;;;GAIG;AACH,MAAM,aAAa,GAAG,CACpB,EAAW,EACX,IAA6B,EAC7B,GAAiB,EACX,EAAE;IACR,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAM,GAAG,4DAA4D,EAAE,EAAE;QAC1G,MAAM,SAAS,GAAG,aAAa,IAAI,GAAG,CAAC;QACvC,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAC9C,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,GAAsC,EAAE,KAAa,EAAE,WAAmB,EAAQ,EAAE;QAChG,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,gEAAgE;YAChE,gCAAgC;YAChC,WAAW,CAAC,WAAW,EAAE,+EAA+E,CAAC,CAAC;YAC1G,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,UAAmB,EAAQ,EAAE;QACjD,KAAK,MAAM,KAAK,IAAK,UAAU,CAAC,QAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,KAAK,MAAM,EAAE,IAAK,KAAK,CAAC,QAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjE,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;wBACnD,4DAA4D;wBAC5D,gCAAgC;wBAChC,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;oBAC9E,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,MAAM,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAK,EAAE,CAAC,QAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAK,KAAK,CAAC,QAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,CAAC;qBAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;oBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,2DAA2D;oBAC3D,kDAAkD;oBAClD,WAAW,CAAC,QAAQ,EAAE,cAAc,QAAQ,0DAA0D,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,UAA4B,EAAE;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CACjD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,SAAS,EAAE,4EAA4E,CAAC,CAAC;QAC9F,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,mEAAmE;IACnE,sEAAsE;IACtE,mDAAmD;IACnD,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1D,IAAI,CACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iCAAiC,GAAG,4FAA4F,CAC5J,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,gEAAgE;IAChE,kEAAkE;IAClE,oEAAoE;IACpE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,kEAAkE;IAClE,oEAAoE;IACpE,iEAAiE;IACjE,iEAAiE;IACjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO;QACpC,CAAC,CAAC,CAAC,OAA2B,EAAiC,EAAE;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAQ,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;gBACvD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE;oBAC7B,IAAI,CAAC,OAAO;wBAAE,OAAO,SAAS,CAAC;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBAClE,IAAI,CAAC,OAAO;wBAAE,OAAO,SAAS,CAAC;oBAC/B,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;oBACtC,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO,SAAS,CAAC;oBACpD,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC9B,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;aACtE,CAAC;QACJ,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,GAAG,GAAiB;QACxB,IAAI;QACJ,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,YAAY,EAAE,CAAC;QACf,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,EAAU,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAqB,CAAC,EAAE;YAChK,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,QAAqB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClH,CAAC;IAEF,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IAC5E,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAqB,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7C,qDAAqD;YACrD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,6FAA6F;gBAC7F,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAU,EAAE,CACzC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACd,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;wBAAE,OAAQ,CAAiC,CAAC,IAAI,CAAC;oBACtE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;wBAAE,OAAO,EAAE,CAAC;oBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC;oBAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC/B,IAAI,GAAG,CAAC,SAAS;4BAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;wBACxI,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAAE,OAAO,EAAE,CAAC;oBACvI,OAAO,KAAK,CAAC,CAAC,CAAC,QAAqB,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAqB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,QAAqB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAa,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9E,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,WAAW;YAAE,SAAS;QACnC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,iEAAiE;YACjE,iEAAiE;YACjE,gCAAgC;YAChC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,gEAAgE;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAa,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,4EAA4E;QAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,uEAAuE;IACvE,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAQ,EAAE;QACjC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,IAAI,CACF,cAAc,EACd,cAAc,EAAE,sHAAsH,CACvI,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IACF,qDAAqD;IACrD,MAAM,UAAU,GAAG,CAAC,IAAa,EAAQ,EAAE;QACzC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACtH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa;oBAAE,UAAU,CAAE,MAA4B,CAAC,IAAI,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC;IAEd,mDAAmD;IACnD,0FAA0F;IAC1F,+DAA+D;IAC/D,KAAK,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,KAAK,KAAK,KAAK,QAAQ,EAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,QAAqB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5N,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;gBACzC,2EAA2E;gBAC3E,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,KAAK,EAAE,EAAE,CAAC;gBACxE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW;oBAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC3D,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACxD,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The converter's publishing hooks, for `@dogsbay/dita-publish` (the private
|
|
3
|
+
* package that turns a DITA-OT preprocessed temp folder into a dogsbay site;
|
|
4
|
+
* not published to npm). These are the converter's own building blocks: the
|
|
5
|
+
* temp-folder pipeline itself does not live in this package.
|
|
6
|
+
*/
|
|
7
|
+
export { renamedElementIds } from "./anchors.js";
|
|
8
|
+
export { convertInline, trimInline, type InlineContext } from "./inline.js";
|
|
9
|
+
export { PUBLISH_PREREQUISITES_MARKER, PUBLISH_RELATED_LINKS_MARKER } from "./blocks.js";
|
|
10
|
+
export { publishHref, publishLabel, publishLanguage, publishString, type PublishContext, type PublishKey, type PublishStrings, } from "./types.js";
|
|
11
|
+
//# sourceMappingURL=publish-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-support.d.ts","sourceRoot":"","sources":["../src/publish-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The converter's publishing hooks, for `@dogsbay/dita-publish` (the private
|
|
3
|
+
* package that turns a DITA-OT preprocessed temp folder into a dogsbay site;
|
|
4
|
+
* not published to npm). These are the converter's own building blocks: the
|
|
5
|
+
* temp-folder pipeline itself does not live in this package.
|
|
6
|
+
*/
|
|
7
|
+
export { renamedElementIds } from "./anchors.js";
|
|
8
|
+
export { convertInline, trimInline } from "./inline.js";
|
|
9
|
+
export { PUBLISH_PREREQUISITES_MARKER, PUBLISH_RELATED_LINKS_MARKER } from "./blocks.js";
|
|
10
|
+
export { publishHref, publishLabel, publishLanguage, publishString, } from "./types.js";
|
|
11
|
+
//# sourceMappingURL=publish-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-support.js","sourceRoot":"","sources":["../src/publish-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAsB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,GAId,MAAM,YAAY,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -82,6 +82,63 @@ export interface ConrefSiteContext {
|
|
|
82
82
|
/** Include path for a snippet, relative to the emitting file's directory. */
|
|
83
83
|
includePath(snippet: ConrefSnippetRef): string;
|
|
84
84
|
}
|
|
85
|
+
/** A key from the resolved map, as DITA-OT preprocessing left it (publishing only). */
|
|
86
|
+
export interface PublishKey {
|
|
87
|
+
/** Keyword text (`topicmeta/keywords/keyword`), for text keys. */
|
|
88
|
+
text?: string;
|
|
89
|
+
/** Link text (`topicmeta/linktext`), for keys that point at a topic. */
|
|
90
|
+
linktext?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Publishing mode: the input is DITA-OT's preprocessed temp files, not raw
|
|
94
|
+
* source (the publishing deliverable, not migration). Keys and conrefs are
|
|
95
|
+
* already resolved; conversion renders what DITA-OT's HTML output renders.
|
|
96
|
+
*/
|
|
97
|
+
export interface PublishContext {
|
|
98
|
+
/** The resolved key space from the map; the first definition of a key wins. */
|
|
99
|
+
keys: Map<string, PublishKey>;
|
|
100
|
+
/** DITA-OT's `args.gen.task.lbl=YES`: task sections get generated headings ("Procedure"). */
|
|
101
|
+
taskLabels?: boolean;
|
|
102
|
+
/** Parent, previous and next topic links after each topic, as DITA-OT's html5 output has them (see PublishInput). */
|
|
103
|
+
familyLinks?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Number titled tables and figures ("Table 1. ", "Figure 2. ") per topic file,
|
|
106
|
+
* as DITA-OT's HTML5 output does. Absent or false: no numbers.
|
|
107
|
+
*/
|
|
108
|
+
numbering?: boolean;
|
|
109
|
+
/** DITA-OT's localized strings for generated text (labels, headings, numbers). English without them. */
|
|
110
|
+
strings?: PublishStrings;
|
|
111
|
+
/** An image's own size in pixels, by its href as written in the current topic (for @scale). */
|
|
112
|
+
imageSize?: (href: string) => {
|
|
113
|
+
width: number;
|
|
114
|
+
height: number;
|
|
115
|
+
} | undefined;
|
|
116
|
+
/** A DITA href as written in the current topic → the page link (`renameDitaHref` plus repeated element ids). */
|
|
117
|
+
renameHref?: (href: string) => string;
|
|
118
|
+
}
|
|
119
|
+
export interface PublishStrings {
|
|
120
|
+
/**
|
|
121
|
+
* DITA-OT's strings by lowercase language (`de-de`, `de`, and `""` for the
|
|
122
|
+
* language-independent ones), each a map of variable id to text, from its
|
|
123
|
+
* strings files (`plugins/org.dita.base/xsl/common/strings*.xml`).
|
|
124
|
+
*/
|
|
125
|
+
byLanguage?: Record<string, Record<string, string>>;
|
|
126
|
+
/** DITA-OT's `default.language`, for content without `xml:lang`. Default `en-us`. */
|
|
127
|
+
defaultLanguage?: string;
|
|
128
|
+
}
|
|
129
|
+
/** The language an element's text is in: its nearest `xml:lang`, or the default language (lowercase). */
|
|
130
|
+
export declare const publishLanguage: (el: {
|
|
131
|
+
attribs?: Record<string, string>;
|
|
132
|
+
parent?: unknown;
|
|
133
|
+
} | null, publish: PublishContext) => string;
|
|
134
|
+
/**
|
|
135
|
+
* A generated string in a language, as DITA-OT's getVariable finds it: the
|
|
136
|
+
* language, its primary subtag, the default language, English, then the
|
|
137
|
+
* language-independent strings.
|
|
138
|
+
*/
|
|
139
|
+
export declare const publishString: (publish: PublishContext | undefined, lang: string, id: string) => string;
|
|
140
|
+
/** A label with DITA-OT's colon for the language ("Optional:", "可选:"). */
|
|
141
|
+
export declare const publishLabel: (publish: PublishContext | undefined, lang: string, id: string) => string;
|
|
85
142
|
export interface DitaParseOptions {
|
|
86
143
|
/** Used in conversion notes so multi-file runs stay attributable. */
|
|
87
144
|
topicPath?: string;
|
|
@@ -90,6 +147,11 @@ export interface DitaParseOptions {
|
|
|
90
147
|
* match the corpus-relative posix path used when building the plan.
|
|
91
148
|
*/
|
|
92
149
|
conrefs?: ConrefPlanApi;
|
|
150
|
+
/**
|
|
151
|
+
* Publishing mode (see PublishContext). Absent for migration, which keeps
|
|
152
|
+
* its behavior unchanged.
|
|
153
|
+
*/
|
|
154
|
+
publish?: PublishContext;
|
|
93
155
|
}
|
|
94
156
|
/** DITA topic root elements this importer understands. */
|
|
95
157
|
export declare const DITA_TOPIC_TYPES: readonly ["concept", "task", "reference", "topic", "glossentry"];
|
|
@@ -101,5 +163,7 @@ export declare const DITA_TOPIC_TYPES: readonly ["concept", "task", "reference",
|
|
|
101
163
|
*/
|
|
102
164
|
export declare const relativeIncludePath: (fromDir: string, targetFile: string) => string;
|
|
103
165
|
/** article.dita / article.xml → article.md (same rule as import-ditamap). */
|
|
166
|
+
/** A link to a DITA topic as a page link: `renameDitaHref`, or the publisher's renaming, which also knows repeated element ids. */
|
|
167
|
+
export declare const publishHref: (publish: PublishContext | undefined, href: string) => string;
|
|
104
168
|
export declare const renameDitaHref: (href: string) => string;
|
|
105
169
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACnG,wEAAwE;IACxE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CACpG;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACnD,4EAA4E;IAC5E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACjE,6EAA6E;IAC7E,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
/** DITA-OT's English strings for the text publishing generates, used when a language has none. */
|
|
2
|
+
const ENGLISH_STRINGS = {
|
|
3
|
+
Table: "Table", Figure: "Figure", ColonSymbol: ":",
|
|
4
|
+
Optional: "Optional", Required: "Required", Prerequisites: "Prerequisites",
|
|
5
|
+
"Parent topic": "Parent topic", "Previous topic": "Previous topic", "Next topic": "Next topic",
|
|
6
|
+
"Related concepts": "Related concepts", "Related tasks": "Related tasks",
|
|
7
|
+
"Related reference": "Related reference", "Related information": "Related information",
|
|
8
|
+
Option: "Option", Description: "Description", Type: "Type", Value: "Value",
|
|
9
|
+
task_prereq: "Before you begin", task_context: "About this task", task_procedure: "Procedure",
|
|
10
|
+
task_procedure_unordered: "Procedure", task_results: "Results", task_postreq: "What to do next",
|
|
11
|
+
task_example: "Example",
|
|
12
|
+
};
|
|
13
|
+
/** The language an element's text is in: its nearest `xml:lang`, or the default language (lowercase). */
|
|
14
|
+
export const publishLanguage = (el, publish) => {
|
|
15
|
+
for (let n = el; n && typeof n === "object" && "attribs" in n; n = n.parent) {
|
|
16
|
+
const lang = n.attribs?.["xml:lang"];
|
|
17
|
+
if (lang)
|
|
18
|
+
return lang.toLowerCase();
|
|
19
|
+
}
|
|
20
|
+
return (publish.strings?.defaultLanguage ?? "en-us").toLowerCase();
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* A generated string in a language, as DITA-OT's getVariable finds it: the
|
|
24
|
+
* language, its primary subtag, the default language, English, then the
|
|
25
|
+
* language-independent strings.
|
|
26
|
+
*/
|
|
27
|
+
export const publishString = (publish, lang, id) => {
|
|
28
|
+
const byLanguage = publish?.strings?.byLanguage ?? {};
|
|
29
|
+
const fallback = (publish?.strings?.defaultLanguage ?? "en-us").toLowerCase();
|
|
30
|
+
for (const key of [lang, lang.split("-")[0], fallback, fallback.split("-")[0], "en-us", "en", ""]) {
|
|
31
|
+
const text = byLanguage[key]?.[id];
|
|
32
|
+
if (text !== undefined)
|
|
33
|
+
return text;
|
|
34
|
+
}
|
|
35
|
+
return ENGLISH_STRINGS[id] ?? id;
|
|
36
|
+
};
|
|
37
|
+
/** A label with DITA-OT's colon for the language ("Optional:", "可选:"). */
|
|
38
|
+
export const publishLabel = (publish, lang, id) => `${publishString(publish, lang, id)}${publishString(publish, lang, "ColonSymbol") || ":"}`;
|
|
1
39
|
/** DITA topic root elements this importer understands. */
|
|
2
40
|
export const DITA_TOPIC_TYPES = ["concept", "task", "reference", "topic", "glossentry"];
|
|
3
41
|
/**
|
|
@@ -16,6 +54,8 @@ export const relativeIncludePath = (fromDir, targetFile) => {
|
|
|
16
54
|
return "../".repeat(from.length - common) + to.slice(common).join("/");
|
|
17
55
|
};
|
|
18
56
|
/** article.dita / article.xml → article.md (same rule as import-ditamap). */
|
|
57
|
+
/** A link to a DITA topic as a page link: `renameDitaHref`, or the publisher's renaming, which also knows repeated element ids. */
|
|
58
|
+
export const publishHref = (publish, href) => publish?.renameHref ? publish.renameHref(href) : renameDitaHref(href);
|
|
19
59
|
export const renameDitaHref = (href) => {
|
|
20
60
|
const [path, fragment] = href.split("#");
|
|
21
61
|
const renamed = path.replace(/\.(dita|xml)$/i, ".md");
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dogsbay/format-dita",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.116",
|
|
4
4
|
"description": "DITA topic XML → TreeNode importer with conversion-note ledger; composes with format-dogsbay-md for .dita → .md migration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./publish-support": {
|
|
14
|
+
"types": "./dist/publish-support.d.ts",
|
|
15
|
+
"import": "./dist/publish-support.js"
|
|
12
16
|
}
|
|
13
17
|
},
|
|
14
18
|
"files": [
|
|
@@ -23,8 +27,8 @@
|
|
|
23
27
|
"dependencies": {
|
|
24
28
|
"domhandler": "^5.0.3",
|
|
25
29
|
"htmlparser2": "^10.1.0",
|
|
26
|
-
"@dogsbay/format-dogsbay-md": "0.2.0-beta.
|
|
27
|
-
"@dogsbay/types": "0.2.0-beta.
|
|
30
|
+
"@dogsbay/format-dogsbay-md": "0.2.0-beta.116",
|
|
31
|
+
"@dogsbay/types": "0.2.0-beta.116"
|
|
28
32
|
},
|
|
29
33
|
"license": "MIT",
|
|
30
34
|
"repository": {
|