@stego-labs/engine 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -63
- package/dist/stego-engine/src/collections/index.d.ts +2 -2
- package/dist/stego-engine/src/collections/index.d.ts.map +1 -1
- package/dist/stego-engine/src/collections/index.js +1 -1
- package/dist/stego-engine/src/collections/index.js.map +1 -1
- package/dist/stego-engine/src/collections/internal/grouping.d.ts.map +1 -1
- package/dist/stego-engine/src/collections/internal/grouping.js +1 -17
- package/dist/stego-engine/src/collections/internal/grouping.js.map +1 -1
- package/dist/stego-engine/src/collections/internal/sorting.d.ts +2 -1
- package/dist/stego-engine/src/collections/internal/sorting.d.ts.map +1 -1
- package/dist/stego-engine/src/collections/public/types.d.ts +1 -10
- package/dist/stego-engine/src/collections/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/compile/internal/load-content.d.ts +7 -0
- package/dist/stego-engine/src/compile/internal/load-content.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-content.js +151 -0
- package/dist/stego-engine/src/compile/internal/load-content.js.map +1 -0
- package/dist/stego-engine/src/compile/public/buildTemplateContext.d.ts.map +1 -1
- package/dist/stego-engine/src/compile/public/buildTemplateContext.js +5 -12
- package/dist/stego-engine/src/compile/public/buildTemplateContext.js.map +1 -1
- package/dist/stego-engine/src/compile/public/compileProject.js +2 -2
- package/dist/stego-engine/src/compile/public/compileProject.js.map +1 -1
- package/dist/stego-engine/src/compile/public/types.d.ts +4 -4
- package/dist/stego-engine/src/compile/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/index.d.ts +5 -3
- package/dist/stego-engine/src/index.d.ts.map +1 -1
- package/dist/stego-engine/src/index.js +2 -1
- package/dist/stego-engine/src/index.js.map +1 -1
- package/dist/stego-engine/src/ir/index.d.ts +3 -0
- package/dist/stego-engine/src/ir/index.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/index.js +3 -0
- package/dist/stego-engine/src/ir/index.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/heading.d.ts +2 -2
- package/dist/stego-engine/src/ir/nodes/heading.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/nodes/heading.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/keep-together.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/keep-together.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/keep-together.js +7 -0
- package/dist/stego-engine/src/ir/nodes/keep-together.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/link.d.ts +6 -0
- package/dist/stego-engine/src/ir/nodes/link.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/link.js +10 -0
- package/dist/stego-engine/src/ir/nodes/link.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/markdown.d.ts +7 -1
- package/dist/stego-engine/src/ir/nodes/markdown.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/nodes/markdown.js +3 -2
- package/dist/stego-engine/src/ir/nodes/markdown.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/paragraph.d.ts +2 -2
- package/dist/stego-engine/src/ir/nodes/paragraph.d.ts.map +1 -1
- package/dist/stego-engine/src/ir/nodes/paragraph.js.map +1 -1
- package/dist/stego-engine/src/ir/nodes/plain-text.d.ts +9 -0
- package/dist/stego-engine/src/ir/nodes/plain-text.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/plain-text.js +8 -0
- package/dist/stego-engine/src/ir/nodes/plain-text.js.map +1 -0
- package/dist/stego-engine/src/ir/types.d.ts +28 -4
- package/dist/stego-engine/src/ir/types.d.ts.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.d.ts +2 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.d.ts.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.js +9 -3
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.js.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.d.ts +6 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.d.ts.map +1 -1
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.js +198 -19
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.js.map +1 -1
- package/dist/stego-engine/src/render/public/renderDocument.js +1 -1
- package/dist/stego-engine/src/render/public/renderDocument.js.map +1 -1
- package/dist/stego-engine/src/render/public/types.d.ts +8 -0
- package/dist/stego-engine/src/render/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/template/index.d.ts +4 -2
- package/dist/stego-engine/src/template/index.d.ts.map +1 -1
- package/dist/stego-engine/src/template/index.js +1 -1
- package/dist/stego-engine/src/template/index.js.map +1 -1
- package/dist/stego-engine/src/template/internal/evaluate-template.d.ts +8 -1
- package/dist/stego-engine/src/template/internal/evaluate-template.d.ts.map +1 -1
- package/dist/stego-engine/src/template/internal/evaluate-template.js +158 -2
- package/dist/stego-engine/src/template/internal/evaluate-template.js.map +1 -1
- package/dist/stego-engine/src/template/internal/jsx-runtime.d.ts +2 -2
- package/dist/stego-engine/src/template/internal/jsx-runtime.d.ts.map +1 -1
- package/dist/stego-engine/src/template/internal/jsx-runtime.js.map +1 -1
- package/dist/stego-engine/src/template/internal/normalizeChildren.d.ts +2 -1
- package/dist/stego-engine/src/template/internal/normalizeChildren.d.ts.map +1 -1
- package/dist/stego-engine/src/template/internal/normalizeChildren.js +9 -0
- package/dist/stego-engine/src/template/internal/normalizeChildren.js.map +1 -1
- package/dist/stego-engine/src/template/public/authoring.d.ts +3 -1
- package/dist/stego-engine/src/template/public/authoring.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/components.d.ts +136 -17
- package/dist/stego-engine/src/template/public/components.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/components.js +46 -6
- package/dist/stego-engine/src/template/public/components.js.map +1 -1
- package/dist/stego-engine/src/template/public/context.d.ts +1 -1
- package/dist/stego-engine/src/template/public/context.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/defineTemplate.d.ts +6 -3
- package/dist/stego-engine/src/template/public/defineTemplate.d.ts.map +1 -1
- package/dist/stego-engine/src/template/public/defineTemplate.js +27 -2
- package/dist/stego-engine/src/template/public/defineTemplate.js.map +1 -1
- package/dist/stego-engine/src/template/public/types.d.ts +38 -29
- package/dist/stego-engine/src/template/public/types.d.ts.map +1 -1
- package/dist/stego-engine/src/test/index.d.ts +2 -0
- package/dist/stego-engine/src/test/index.d.ts.map +1 -0
- package/dist/stego-engine/src/test/index.js +2 -0
- package/dist/stego-engine/src/test/index.js.map +1 -0
- package/dist/stego-engine/src/test/template-generic-types.test.d.ts +2 -0
- package/dist/stego-engine/src/test/template-generic-types.test.d.ts.map +1 -0
- package/dist/stego-engine/src/test/template-generic-types.test.js +77 -0
- package/dist/stego-engine/src/test/template-generic-types.test.js.map +1 -0
- package/package.json +6 -2
- package/dist/stego-engine/src/collections/public/createCollection.d.ts +0 -3
- package/dist/stego-engine/src/collections/public/createCollection.d.ts.map +0 -1
- package/dist/stego-engine/src/collections/public/createCollection.js +0 -31
- package/dist/stego-engine/src/collections/public/createCollection.js.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-manuscripts.d.ts +0 -3
- package/dist/stego-engine/src/compile/internal/load-manuscripts.d.ts.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-manuscripts.js +0 -70
- package/dist/stego-engine/src/compile/internal/load-manuscripts.js.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-spine.d.ts +0 -7
- package/dist/stego-engine/src/compile/internal/load-spine.d.ts.map +0 -1
- package/dist/stego-engine/src/compile/internal/load-spine.js +0 -92
- package/dist/stego-engine/src/compile/internal/load-spine.js.map +0 -1
|
@@ -1,29 +1,62 @@
|
|
|
1
|
+
import { buildLeafRootAnchor, findLeafHeadingTarget, injectLeafHeadingAnchors } from "@stego-labs/shared/domain/content";
|
|
2
|
+
import { createDocxLayoutBookmarkName } from "@stego-labs/shared/domain/layout";
|
|
1
3
|
import { formatSizeValue, formatSpacingValue } from "../../normalize/index.js";
|
|
2
|
-
export function writePandocMarkdown(nodes) {
|
|
4
|
+
export function writePandocMarkdown(nodes, leaves) {
|
|
3
5
|
const blocks = [];
|
|
6
|
+
const context = {
|
|
7
|
+
docxBlockLayoutIndex: 0,
|
|
8
|
+
docxBlockLayouts: [],
|
|
9
|
+
leaves: new Map(leaves.map((leaf) => [leaf.id, {
|
|
10
|
+
id: leaf.id,
|
|
11
|
+
titleFromFilename: leaf.titleFromFilename,
|
|
12
|
+
metadata: leaf.metadata,
|
|
13
|
+
headings: leaf.headings
|
|
14
|
+
}]))
|
|
15
|
+
};
|
|
4
16
|
for (const node of nodes) {
|
|
5
17
|
if (node.kind === "pageTemplate") {
|
|
6
18
|
continue;
|
|
7
19
|
}
|
|
8
|
-
const rendered = renderNode(node);
|
|
20
|
+
const rendered = renderNode(node, context);
|
|
9
21
|
if (!rendered) {
|
|
10
22
|
continue;
|
|
11
23
|
}
|
|
12
24
|
blocks.push(rendered);
|
|
13
25
|
}
|
|
14
|
-
return
|
|
26
|
+
return {
|
|
27
|
+
markdown: `${blocks.join("\n\n").replace(/\n{3,}/g, "\n\n")}\n`,
|
|
28
|
+
docxBlockLayouts: context.docxBlockLayouts
|
|
29
|
+
};
|
|
15
30
|
}
|
|
16
|
-
function renderNode(node) {
|
|
31
|
+
function renderNode(node, context) {
|
|
17
32
|
switch (node.kind) {
|
|
18
33
|
case "document":
|
|
19
34
|
case "fragment":
|
|
20
|
-
return node.children.map(renderNode).filter(Boolean).join("\n\n");
|
|
35
|
+
return node.children.map((child) => renderNode(child, context)).filter(Boolean).join("\n\n");
|
|
36
|
+
case "keepTogether": {
|
|
37
|
+
const markerId = createDocxLayoutBookmarkName(++context.docxBlockLayoutIndex);
|
|
38
|
+
context.docxBlockLayouts.push({
|
|
39
|
+
bookmarkName: markerId,
|
|
40
|
+
keepTogether: true
|
|
41
|
+
});
|
|
42
|
+
const body = node.children.map((child) => renderNode(child, context)).filter(Boolean).join("\n\n");
|
|
43
|
+
return `::: {#${markerId} data-keep-together=true}\n${body}\n:::`;
|
|
44
|
+
}
|
|
21
45
|
case "pageTemplate":
|
|
22
46
|
return "";
|
|
23
47
|
case "section": {
|
|
24
|
-
const body = node.children.map(renderNode).filter(Boolean).join("\n\n");
|
|
48
|
+
const body = node.children.map((child) => renderNode(child, context)).filter(Boolean).join("\n\n");
|
|
49
|
+
const markerId = getOrCreateDocxBlockLayoutMarker(context, {
|
|
50
|
+
bookmarkName: node.id,
|
|
51
|
+
spaceBefore: node.spaceBefore,
|
|
52
|
+
spaceAfter: node.spaceAfter,
|
|
53
|
+
insetLeft: node.insetLeft,
|
|
54
|
+
insetRight: node.insetRight,
|
|
55
|
+
firstLineIndent: node.firstLineIndent,
|
|
56
|
+
align: node.align
|
|
57
|
+
});
|
|
25
58
|
const attrs = renderBlockAttrs({
|
|
26
|
-
id: node.id,
|
|
59
|
+
id: markerId || node.id,
|
|
27
60
|
role: node.role,
|
|
28
61
|
spaceBefore: node.spaceBefore,
|
|
29
62
|
spaceAfter: node.spaceAfter,
|
|
@@ -35,17 +68,43 @@ function renderNode(node) {
|
|
|
35
68
|
return attrs ? `::: ${attrs}\n${body}\n:::` : body;
|
|
36
69
|
}
|
|
37
70
|
case "heading": {
|
|
71
|
+
const layout = toDocxBlockLayout({
|
|
72
|
+
spaceBefore: node.spaceBefore,
|
|
73
|
+
spaceAfter: node.spaceAfter,
|
|
74
|
+
insetLeft: node.insetLeft,
|
|
75
|
+
insetRight: node.insetRight,
|
|
76
|
+
align: node.align
|
|
77
|
+
});
|
|
78
|
+
const body = `${"#".repeat(node.level)} ${renderInlineChildren(node.children, context)}`;
|
|
79
|
+
if (!layout) {
|
|
80
|
+
return body;
|
|
81
|
+
}
|
|
82
|
+
const markerId = createDocxLayoutBookmarkName(++context.docxBlockLayoutIndex);
|
|
83
|
+
context.docxBlockLayouts.push({
|
|
84
|
+
bookmarkName: markerId,
|
|
85
|
+
...layout
|
|
86
|
+
});
|
|
38
87
|
const attrs = renderBlockAttrs({
|
|
88
|
+
id: markerId,
|
|
39
89
|
spaceBefore: node.spaceBefore,
|
|
40
90
|
spaceAfter: node.spaceAfter,
|
|
41
91
|
insetLeft: node.insetLeft,
|
|
42
92
|
insetRight: node.insetRight,
|
|
43
93
|
align: node.align
|
|
44
94
|
});
|
|
45
|
-
return
|
|
95
|
+
return `::: ${attrs}\n${body}\n:::`;
|
|
46
96
|
}
|
|
47
97
|
case "paragraph": {
|
|
98
|
+
const markerId = getOrCreateDocxBlockLayoutMarker(context, {
|
|
99
|
+
spaceBefore: node.spaceBefore,
|
|
100
|
+
spaceAfter: node.spaceAfter,
|
|
101
|
+
insetLeft: node.insetLeft,
|
|
102
|
+
insetRight: node.insetRight,
|
|
103
|
+
firstLineIndent: node.firstLineIndent,
|
|
104
|
+
align: node.align
|
|
105
|
+
});
|
|
48
106
|
const attrs = renderBlockAttrs({
|
|
107
|
+
id: markerId,
|
|
49
108
|
spaceBefore: node.spaceBefore,
|
|
50
109
|
spaceAfter: node.spaceAfter,
|
|
51
110
|
insetLeft: node.insetLeft,
|
|
@@ -53,11 +112,13 @@ function renderNode(node) {
|
|
|
53
112
|
firstLineIndent: node.firstLineIndent,
|
|
54
113
|
align: node.align
|
|
55
114
|
});
|
|
56
|
-
const body = renderInlineChildren(node.children);
|
|
115
|
+
const body = renderInlineChildren(node.children, context);
|
|
57
116
|
return attrs ? `::: ${attrs}\n${body}\n:::` : body;
|
|
58
117
|
}
|
|
59
118
|
case "markdown":
|
|
60
|
-
return node
|
|
119
|
+
return renderMarkdownNode(node, context);
|
|
120
|
+
case "plainText":
|
|
121
|
+
return renderPlainTextNode(node, context);
|
|
61
122
|
case "image": {
|
|
62
123
|
const tokens = [];
|
|
63
124
|
const width = formatSizeValue(node.width);
|
|
@@ -76,27 +137,135 @@ function renderNode(node) {
|
|
|
76
137
|
}
|
|
77
138
|
const attrText = tokens.length > 0 ? `{${tokens.join(" ")}}` : "";
|
|
78
139
|
const image = `${attrText}`;
|
|
79
|
-
|
|
80
|
-
|
|
140
|
+
const body = !node.caption ? image : `${image}\n\n_${node.caption}_`;
|
|
141
|
+
if (!node.align) {
|
|
142
|
+
return body;
|
|
81
143
|
}
|
|
82
|
-
|
|
144
|
+
const markerId = createDocxLayoutBookmarkName(++context.docxBlockLayoutIndex);
|
|
145
|
+
context.docxBlockLayouts.push({
|
|
146
|
+
bookmarkName: markerId,
|
|
147
|
+
align: node.align
|
|
148
|
+
});
|
|
149
|
+
return `::: {#${markerId}}\n${body}\n:::`;
|
|
83
150
|
}
|
|
84
151
|
case "pageBreak":
|
|
85
|
-
return "
|
|
152
|
+
return renderDocxLayoutMarker(context, { pageBreak: true }, ["data-page-break=true"]);
|
|
86
153
|
case "pageNumber":
|
|
87
154
|
throw new Error("<Stego.PageNumber /> may only appear inside <Stego.PageTemplate /> in V1.");
|
|
88
155
|
case "text":
|
|
89
|
-
return node.value;
|
|
156
|
+
return escapeInlineText(node.value);
|
|
157
|
+
case "link":
|
|
158
|
+
return renderLink(node, context);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function renderMarkdownNode(node, context) {
|
|
162
|
+
if (node.leaf) {
|
|
163
|
+
const anchor = buildLeafRootAnchor(node.leaf.id);
|
|
164
|
+
const body = injectLeafHeadingAnchors(node.leaf.body.trim(), node.leaf.id);
|
|
165
|
+
return `::: {#${anchor} data-leaf-id=${node.leaf.id}}\n${body}\n:::`;
|
|
90
166
|
}
|
|
167
|
+
return (node.source || "").trim();
|
|
91
168
|
}
|
|
92
|
-
function
|
|
169
|
+
function renderPlainTextNode(node, context) {
|
|
170
|
+
const source = node.leaf ? node.leaf.body : (node.source || "");
|
|
171
|
+
const body = source
|
|
172
|
+
.trim()
|
|
173
|
+
.split(/\n\s*\n/)
|
|
174
|
+
.map((paragraph) => paragraph.trim().split(/\r?\n/).join(" "))
|
|
175
|
+
.filter(Boolean)
|
|
176
|
+
.join("\n\n");
|
|
177
|
+
if (node.leaf) {
|
|
178
|
+
const anchor = buildLeafRootAnchor(node.leaf.id);
|
|
179
|
+
return `::: {#${anchor} data-leaf-id=${node.leaf.id}}\n${body}\n:::`;
|
|
180
|
+
}
|
|
181
|
+
return body;
|
|
182
|
+
}
|
|
183
|
+
function renderInlineChildren(children, context) {
|
|
93
184
|
return children.map((child) => {
|
|
94
|
-
if (child.kind
|
|
95
|
-
|
|
185
|
+
if (child.kind === "text") {
|
|
186
|
+
return escapeInlineText(child.value);
|
|
96
187
|
}
|
|
97
|
-
return child
|
|
188
|
+
return renderLink(child, context);
|
|
98
189
|
}).join("");
|
|
99
190
|
}
|
|
191
|
+
function renderLink(node, context) {
|
|
192
|
+
const target = context.leaves.get(node.leaf);
|
|
193
|
+
if (!target) {
|
|
194
|
+
throw new Error(`Unknown leaf '${node.leaf}' referenced by <Stego.Link />.`);
|
|
195
|
+
}
|
|
196
|
+
let href = `#${buildLeafRootAnchor(target.id)}`;
|
|
197
|
+
if (node.anchor) {
|
|
198
|
+
href = `#${target.id}--${normalizeAnchor(node.anchor)}`;
|
|
199
|
+
}
|
|
200
|
+
else if (node.heading) {
|
|
201
|
+
const resolved = findLeafHeadingTarget(target.headings, node.heading);
|
|
202
|
+
if (resolved.ambiguous) {
|
|
203
|
+
throw new Error(`Heading '${node.heading}' is ambiguous in leaf '${target.id}'. Use anchor= instead.`);
|
|
204
|
+
}
|
|
205
|
+
if (!resolved.target) {
|
|
206
|
+
throw new Error(`Unknown heading '${node.heading}' in leaf '${target.id}'.`);
|
|
207
|
+
}
|
|
208
|
+
href = `#${resolved.target.anchor}`;
|
|
209
|
+
}
|
|
210
|
+
const label = node.children.length > 0
|
|
211
|
+
? renderInlineChildren(node.children, context)
|
|
212
|
+
: escapeInlineText(resolveLeafLabel(target));
|
|
213
|
+
return `[${label}](${href})`;
|
|
214
|
+
}
|
|
215
|
+
function resolveLeafLabel(target) {
|
|
216
|
+
const label = typeof target.metadata.label === "string" && target.metadata.label.trim()
|
|
217
|
+
? target.metadata.label.trim()
|
|
218
|
+
: typeof target.metadata.title === "string" && target.metadata.title.trim()
|
|
219
|
+
? target.metadata.title.trim()
|
|
220
|
+
: target.titleFromFilename.trim() || target.id;
|
|
221
|
+
return label;
|
|
222
|
+
}
|
|
223
|
+
function normalizeAnchor(value) {
|
|
224
|
+
return value.trim().replace(/^#/, "").toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
225
|
+
}
|
|
226
|
+
function escapeInlineText(value) {
|
|
227
|
+
return value.replace(/([\[\]\\])/g, "\\$1");
|
|
228
|
+
}
|
|
229
|
+
function getOrCreateDocxBlockLayoutMarker(context, input) {
|
|
230
|
+
const layout = toDocxBlockLayout(input);
|
|
231
|
+
if (!layout) {
|
|
232
|
+
return undefined;
|
|
233
|
+
}
|
|
234
|
+
const bookmarkName = input.bookmarkName || createDocxLayoutBookmarkName(++context.docxBlockLayoutIndex);
|
|
235
|
+
context.docxBlockLayouts.push({
|
|
236
|
+
bookmarkName,
|
|
237
|
+
...layout
|
|
238
|
+
});
|
|
239
|
+
return bookmarkName;
|
|
240
|
+
}
|
|
241
|
+
function renderDocxLayoutMarker(context, layout, extraTokens = [], body = "") {
|
|
242
|
+
const bookmarkName = createDocxLayoutBookmarkName(++context.docxBlockLayoutIndex);
|
|
243
|
+
context.docxBlockLayouts.push({
|
|
244
|
+
bookmarkName,
|
|
245
|
+
...layout
|
|
246
|
+
});
|
|
247
|
+
const attrs = renderRawAttrs({ id: bookmarkName, tokens: extraTokens });
|
|
248
|
+
return body ? `::: ${attrs}\n${body}\n:::` : `::: ${attrs}\n:::`;
|
|
249
|
+
}
|
|
250
|
+
function toDocxBlockLayout(input) {
|
|
251
|
+
const spaceBefore = formatSpacingValue(input.spaceBefore);
|
|
252
|
+
const spaceAfter = formatSpacingValue(input.spaceAfter);
|
|
253
|
+
const insetLeft = formatSpacingValue(input.insetLeft);
|
|
254
|
+
const insetRight = formatSpacingValue(input.insetRight);
|
|
255
|
+
const firstLineIndent = formatIndentValue(input.firstLineIndent);
|
|
256
|
+
const align = input.align;
|
|
257
|
+
if (!spaceBefore && !spaceAfter && !insetLeft && !insetRight && !firstLineIndent && !align) {
|
|
258
|
+
return undefined;
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
spaceBefore,
|
|
262
|
+
spaceAfter,
|
|
263
|
+
insetLeft,
|
|
264
|
+
insetRight,
|
|
265
|
+
firstLineIndent,
|
|
266
|
+
align
|
|
267
|
+
};
|
|
268
|
+
}
|
|
100
269
|
function renderBlockAttrs(input) {
|
|
101
270
|
const tokens = [];
|
|
102
271
|
if (input.id) {
|
|
@@ -130,6 +299,16 @@ function renderBlockAttrs(input) {
|
|
|
130
299
|
}
|
|
131
300
|
return tokens.length > 0 ? `{${tokens.join(" ")}}` : "";
|
|
132
301
|
}
|
|
302
|
+
function renderRawAttrs(input) {
|
|
303
|
+
const tokens = [];
|
|
304
|
+
if (input.id) {
|
|
305
|
+
tokens.push(`#${input.id}`);
|
|
306
|
+
}
|
|
307
|
+
if (input.tokens && input.tokens.length > 0) {
|
|
308
|
+
tokens.push(...input.tokens);
|
|
309
|
+
}
|
|
310
|
+
return `{${tokens.join(" ")}}`;
|
|
311
|
+
}
|
|
133
312
|
function formatIndentValue(value) {
|
|
134
313
|
if (value == null) {
|
|
135
314
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-writer.js","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/markdown-writer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-writer.js","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/markdown-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { lowerToPandocRenderPlan } from "../internal/backends/pandoc/index.js";
|
|
2
2
|
export function renderDocument(input) {
|
|
3
|
-
return lowerToPandocRenderPlan(input.document, input.projectRoot);
|
|
3
|
+
return lowerToPandocRenderPlan(input.document, input.projectRoot, input.context);
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=renderDocument.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDocument.js","sourceRoot":"","sources":["../../../../../src/render/public/renderDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,OAAO,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"renderDocument.js","sourceRoot":"","sources":["../../../../../src/render/public/renderDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,OAAO,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { DocxBlockLayoutSpec } from "@stego-labs/shared/domain/layout";
|
|
1
2
|
import type { StegoDocumentNode } from "../../ir/index.ts";
|
|
3
|
+
import type { TemplateContext } from "../../template/index.ts";
|
|
2
4
|
export type RenderDocumentInput = {
|
|
3
5
|
document: StegoDocumentNode;
|
|
4
6
|
projectRoot: string;
|
|
7
|
+
context: TemplateContext;
|
|
5
8
|
};
|
|
6
9
|
export type RenderDocumentResult = {
|
|
7
10
|
backend: "pandoc";
|
|
@@ -10,5 +13,10 @@ export type RenderDocumentResult = {
|
|
|
10
13
|
metadata: Record<string, unknown>;
|
|
11
14
|
resourcePaths: string[];
|
|
12
15
|
requiredFilters: string[];
|
|
16
|
+
postprocess: {
|
|
17
|
+
docx: {
|
|
18
|
+
blockLayouts: DocxBlockLayoutSpec[];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
13
21
|
};
|
|
14
22
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/render/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/render/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE;QACX,IAAI,EAAE;YACJ,YAAY,EAAE,mBAAmB,EAAE,CAAC;SACrC,CAAC;KACH,CAAC;CACH,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { defineTemplate } from "./public/defineTemplate.ts";
|
|
2
2
|
export { Stego } from "./public/components.ts";
|
|
3
|
-
export { evaluateTemplate } from "./internal/evaluate-template.ts";
|
|
3
|
+
export { evaluateTemplate, evaluateTypedTemplate, TemplateContractError } from "./internal/evaluate-template.ts";
|
|
4
4
|
export { loadTemplateFromFile } from "./internal/template-loader.ts";
|
|
5
|
-
export type {
|
|
5
|
+
export type { ProjectMetadata, LeafMetadata, BranchMetadata, ProjectRecord, LeafRecord, BranchRecord, TemplateContext, StegoTemplate, TemplateDefinitionOptions } from "./public/types.ts";
|
|
6
|
+
export type { StegoApi } from "./public/components.ts";
|
|
7
|
+
export type { ExportTarget, PresentationTarget } from "@stego-labs/shared/domain/templates";
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,YAAY,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { defineTemplate } from "./public/defineTemplate.js";
|
|
2
2
|
export { Stego } from "./public/components.js";
|
|
3
|
-
export { evaluateTemplate } from "./internal/evaluate-template.js";
|
|
3
|
+
export { evaluateTemplate, evaluateTypedTemplate, TemplateContractError } from "./internal/evaluate-template.js";
|
|
4
4
|
export { loadTemplateFromFile } from "./internal/template-loader.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { StegoDocumentNode } from "../../ir/index.ts";
|
|
2
|
-
import type { StegoTemplate, TemplateContext } from "../public/types.ts";
|
|
2
|
+
import type { BranchMetadata, LeafMetadata, ProjectMetadata, StegoTemplate, TemplateContext } from "../public/types.ts";
|
|
3
|
+
export type TemplateContractErrorReason = "invalid-module" | "invalid-targets" | "invalid-render-result" | "unsupported-target-capability";
|
|
4
|
+
export declare class TemplateContractError extends Error {
|
|
5
|
+
readonly reason: TemplateContractErrorReason;
|
|
6
|
+
readonly details?: Record<string, unknown>;
|
|
7
|
+
constructor(reason: TemplateContractErrorReason, message: string, details?: Record<string, unknown>);
|
|
8
|
+
}
|
|
3
9
|
export declare function assertTemplateModule(value: unknown): StegoTemplate;
|
|
4
10
|
export declare function evaluateTemplate(template: StegoTemplate, context: TemplateContext): StegoDocumentNode;
|
|
11
|
+
export declare function evaluateTypedTemplate<TProjectMetadata extends ProjectMetadata = ProjectMetadata, TLeafMetadata extends LeafMetadata = LeafMetadata, TBranchMetadata extends BranchMetadata = BranchMetadata>(template: StegoTemplate<TProjectMetadata, TLeafMetadata, TBranchMetadata>, context: TemplateContext<TProjectMetadata, TLeafMetadata, TBranchMetadata>): StegoDocumentNode;
|
|
5
12
|
//# sourceMappingURL=evaluate-template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate-template.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/evaluate-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"evaluate-template.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/evaluate-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,iBAAiB,EAAa,MAAM,mBAAmB,CAAC;AAOtF,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,2BAA2B,GACnC,gBAAgB,GAChB,iBAAiB,GACjB,uBAAuB,GACvB,+BAA+B,CAAC;AAEpC,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,MAAM,EAAE,2BAA2B,CAAC;IAEpD,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,MAAM,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAM3G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAqClE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAOrG;AAED,wBAAgB,qBAAqB,CACnC,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,aAAa,SAAS,YAAY,GAAG,YAAY,EACjD,eAAe,SAAS,cAAc,GAAG,cAAc,EAEvD,QAAQ,EAAE,aAAa,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,EACzE,OAAO,EAAE,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,GACzE,iBAAiB,CAOnB"}
|
|
@@ -1,17 +1,173 @@
|
|
|
1
|
+
import { TARGET_CAPABILITIES, isPresentationTarget } from "@stego-labs/shared/domain/templates";
|
|
2
|
+
export class TemplateContractError extends Error {
|
|
3
|
+
reason;
|
|
4
|
+
details;
|
|
5
|
+
constructor(reason, message, details) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "TemplateContractError";
|
|
8
|
+
this.reason = reason;
|
|
9
|
+
this.details = details;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
1
12
|
export function assertTemplateModule(value) {
|
|
2
13
|
if (typeof value === "object"
|
|
3
14
|
&& value !== null
|
|
4
15
|
&& value.kind === "stego-template"
|
|
5
16
|
&& typeof value.render === "function") {
|
|
17
|
+
const targets = value.targets;
|
|
18
|
+
if (targets !== null && targets !== undefined) {
|
|
19
|
+
if (!Array.isArray(targets) || targets.length === 0) {
|
|
20
|
+
throw new TemplateContractError("invalid-targets", "Target-aware templates must declare one or more presentation targets.", { targets });
|
|
21
|
+
}
|
|
22
|
+
const invalid = targets.filter((entry) => typeof entry !== "string" || !isPresentationTarget(entry));
|
|
23
|
+
if (invalid.length > 0) {
|
|
24
|
+
throw new TemplateContractError("invalid-targets", "Target-aware templates may only declare docx, pdf, or epub.", { targets });
|
|
25
|
+
}
|
|
26
|
+
if (new Set(targets).size !== targets.length) {
|
|
27
|
+
throw new TemplateContractError("invalid-targets", "Target-aware templates may not declare duplicate presentation targets.", { targets });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
6
30
|
return value;
|
|
7
31
|
}
|
|
8
|
-
throw new
|
|
32
|
+
throw new TemplateContractError("invalid-module", "Template must default export defineTemplate(...).");
|
|
9
33
|
}
|
|
10
34
|
export function evaluateTemplate(template, context) {
|
|
11
35
|
const document = template.render(context);
|
|
12
36
|
if (!document || document.kind !== "document") {
|
|
13
|
-
throw new
|
|
37
|
+
throw new TemplateContractError("invalid-render-result", "Template render() must return <Stego.Document>.");
|
|
38
|
+
}
|
|
39
|
+
validateDocumentTargets(template.targets, document);
|
|
40
|
+
return document;
|
|
41
|
+
}
|
|
42
|
+
export function evaluateTypedTemplate(template, context) {
|
|
43
|
+
const document = template.render(context);
|
|
44
|
+
if (!document || document.kind !== "document") {
|
|
45
|
+
throw new TemplateContractError("invalid-render-result", "Template render() must return <Stego.Document>.");
|
|
14
46
|
}
|
|
47
|
+
validateDocumentTargets(template.targets, document);
|
|
15
48
|
return document;
|
|
16
49
|
}
|
|
50
|
+
function validateDocumentTargets(declaredTargets, document) {
|
|
51
|
+
if (!declaredTargets) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (declaredTargets.length === 0) {
|
|
55
|
+
throw new TemplateContractError("invalid-targets", "Target-aware templates must declare one or more presentation targets.", { targets: declaredTargets });
|
|
56
|
+
}
|
|
57
|
+
const capabilities = resolveSupportedCapabilities(declaredTargets);
|
|
58
|
+
visitNode(document, declaredTargets, capabilities);
|
|
59
|
+
}
|
|
60
|
+
function resolveSupportedCapabilities(targets) {
|
|
61
|
+
return {
|
|
62
|
+
pageLayout: targets.every((target) => TARGET_CAPABILITIES[target].pageLayout),
|
|
63
|
+
pageTemplate: targets.every((target) => TARGET_CAPABILITIES[target].pageTemplate),
|
|
64
|
+
pageNumber: targets.every((target) => TARGET_CAPABILITIES[target].pageNumber),
|
|
65
|
+
keepTogether: targets.every((target) => TARGET_CAPABILITIES[target].keepTogether),
|
|
66
|
+
pageBreak: targets.every((target) => TARGET_CAPABILITIES[target].pageBreak),
|
|
67
|
+
spacing: targets.every((target) => TARGET_CAPABILITIES[target].spacing),
|
|
68
|
+
inset: targets.every((target) => TARGET_CAPABILITIES[target].inset),
|
|
69
|
+
indent: targets.every((target) => TARGET_CAPABILITIES[target].indent),
|
|
70
|
+
align: targets.every((target) => TARGET_CAPABILITIES[target].align),
|
|
71
|
+
imageAlign: targets.every((target) => TARGET_CAPABILITIES[target].imageAlign),
|
|
72
|
+
imageLayout: targets.every((target) => TARGET_CAPABILITIES[target].imageLayout)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function visitNode(node, targets, capabilities) {
|
|
76
|
+
switch (node.kind) {
|
|
77
|
+
case "document":
|
|
78
|
+
if (node.page) {
|
|
79
|
+
assertCapability("pageLayout", "Document", targets, capabilities);
|
|
80
|
+
}
|
|
81
|
+
for (const child of node.children) {
|
|
82
|
+
visitNode(child, targets, capabilities);
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
case "fragment":
|
|
86
|
+
for (const child of node.children) {
|
|
87
|
+
visitNode(child, targets, capabilities);
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
case "keepTogether":
|
|
91
|
+
assertCapability("keepTogether", "KeepTogether", targets, capabilities);
|
|
92
|
+
for (const child of node.children) {
|
|
93
|
+
visitNode(child, targets, capabilities);
|
|
94
|
+
}
|
|
95
|
+
return;
|
|
96
|
+
case "section":
|
|
97
|
+
validateSharedBlockCapabilities("Section", node, targets, capabilities);
|
|
98
|
+
for (const child of node.children) {
|
|
99
|
+
visitNode(child, targets, capabilities);
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
case "heading":
|
|
103
|
+
validateSharedBlockCapabilities("Heading", node, targets, capabilities);
|
|
104
|
+
return;
|
|
105
|
+
case "paragraph":
|
|
106
|
+
validateSharedBlockCapabilities("Paragraph", node, targets, capabilities);
|
|
107
|
+
return;
|
|
108
|
+
case "image":
|
|
109
|
+
if (node.layout !== undefined) {
|
|
110
|
+
assertCapability("imageLayout", "Image", targets, capabilities);
|
|
111
|
+
}
|
|
112
|
+
if (node.align !== undefined) {
|
|
113
|
+
assertCapability("imageAlign", "Image", targets, capabilities);
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
case "pageBreak":
|
|
117
|
+
assertCapability("pageBreak", "PageBreak", targets, capabilities);
|
|
118
|
+
return;
|
|
119
|
+
case "pageTemplate":
|
|
120
|
+
assertCapability("pageTemplate", "PageTemplate", targets, capabilities);
|
|
121
|
+
visitRegion(node.header, targets, capabilities);
|
|
122
|
+
visitRegion(node.footer, targets, capabilities);
|
|
123
|
+
return;
|
|
124
|
+
case "pageNumber":
|
|
125
|
+
assertCapability("pageNumber", "PageNumber", targets, capabilities);
|
|
126
|
+
return;
|
|
127
|
+
case "markdown":
|
|
128
|
+
case "plainText":
|
|
129
|
+
case "link":
|
|
130
|
+
case "text":
|
|
131
|
+
return;
|
|
132
|
+
default:
|
|
133
|
+
return assertNever(node);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function visitRegion(region, targets, capabilities) {
|
|
137
|
+
if (!region) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
for (const child of [region.left, region.center, region.right]) {
|
|
141
|
+
if (child) {
|
|
142
|
+
visitNode(child, targets, capabilities);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function validateSharedBlockCapabilities(componentName, node, targets, capabilities) {
|
|
147
|
+
if (node.spaceBefore !== undefined || node.spaceAfter !== undefined) {
|
|
148
|
+
assertCapability("spacing", componentName, targets, capabilities);
|
|
149
|
+
}
|
|
150
|
+
if (node.insetLeft !== undefined || node.insetRight !== undefined) {
|
|
151
|
+
assertCapability("inset", componentName, targets, capabilities);
|
|
152
|
+
}
|
|
153
|
+
if (node.firstLineIndent !== undefined) {
|
|
154
|
+
assertCapability("indent", componentName, targets, capabilities);
|
|
155
|
+
}
|
|
156
|
+
if (node.align !== undefined) {
|
|
157
|
+
assertCapability("align", componentName, targets, capabilities);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
function assertCapability(capability, componentName, targets, capabilities) {
|
|
161
|
+
if (capabilities[capability]) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
throw new TemplateContractError("unsupported-target-capability", `<Stego.${componentName}> uses '${capability}' but the declared targets (${targets.join(", ")}) do not all support it.`, {
|
|
165
|
+
capability,
|
|
166
|
+
componentName,
|
|
167
|
+
targets: [...targets]
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function assertNever(value) {
|
|
171
|
+
throw new Error(`Unhandled Stego node kind: ${value.kind ?? "unknown"}`);
|
|
172
|
+
}
|
|
17
173
|
//# sourceMappingURL=evaluate-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate-template.js","sourceRoot":"","sources":["../../../../../src/template/internal/evaluate-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evaluate-template.js","sourceRoot":"","sources":["../../../../../src/template/internal/evaluate-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { StegoDocumentNode, StegoFragmentNode, StegoHeadingNode, StegoImageNode, StegoMarkdownNode, StegoNode, StegoPageBreakNode, StegoPageNumberNode, StegoPageTemplateNode, StegoParagraphNode, StegoSectionNode, StegoTextNode } from "../../ir/index.ts";
|
|
1
|
+
import type { StegoDocumentNode, StegoFragmentNode, StegoHeadingNode, StegoImageNode, StegoLinkNode, StegoMarkdownNode, StegoNode, StegoPageBreakNode, StegoPageNumberNode, StegoPageTemplateNode, StegoPlainTextNode, StegoParagraphNode, StegoSectionNode, StegoTextNode } from "../../ir/index.ts";
|
|
2
2
|
import { Fragment } from "../public/components.ts";
|
|
3
3
|
export { Fragment };
|
|
4
4
|
export declare namespace JSX {
|
|
5
|
-
type Element = StegoNode | StegoDocumentNode | StegoFragmentNode | StegoSectionNode | StegoHeadingNode | StegoParagraphNode | StegoMarkdownNode | StegoImageNode | StegoPageBreakNode | StegoPageTemplateNode | StegoPageNumberNode | StegoTextNode;
|
|
5
|
+
type Element = StegoNode | StegoDocumentNode | StegoFragmentNode | StegoSectionNode | StegoHeadingNode | StegoParagraphNode | StegoMarkdownNode | StegoPlainTextNode | StegoImageNode | StegoPageBreakNode | StegoPageTemplateNode | StegoPageNumberNode | StegoTextNode | StegoLinkNode;
|
|
6
6
|
type ElementType = (props: any) => Element;
|
|
7
7
|
interface ElementChildrenAttribute {
|
|
8
8
|
children: unknown;
|