@openuji/speculator 0.6.1 → 0.6.2
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/parse/__tests__/shorthands.test.js +22 -0
- package/dist/parse/__tests__/shorthands.test.js.map +1 -1
- package/dist/parse/assembler.d.ts.map +1 -1
- package/dist/parse/assembler.js +4 -0
- package/dist/parse/assembler.js.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.js +11 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js +23 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js.map +1 -1
- package/dist/postprocess/__tests__/bibliography.test.d.ts +2 -0
- package/dist/postprocess/__tests__/bibliography.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/bibliography.test.js +104 -0
- package/dist/postprocess/__tests__/bibliography.test.js.map +1 -0
- package/dist/postprocess/__tests__/conformance.test.d.ts +2 -0
- package/dist/postprocess/__tests__/conformance.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/conformance.test.js +61 -0
- package/dist/postprocess/__tests__/conformance.test.js.map +1 -0
- package/dist/postprocess/__tests__/section-resolve.test.d.ts +5 -0
- package/dist/postprocess/__tests__/section-resolve.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/section-resolve.test.js +58 -0
- package/dist/postprocess/__tests__/section-resolve.test.js.map +1 -0
- package/dist/postprocess/index.d.ts +4 -0
- package/dist/postprocess/index.d.ts.map +1 -1
- package/dist/postprocess/index.js +12 -0
- package/dist/postprocess/index.js.map +1 -1
- package/dist/postprocess/plugins/bibliography-generator.d.ts +9 -0
- package/dist/postprocess/plugins/bibliography-generator.d.ts.map +1 -0
- package/dist/postprocess/plugins/bibliography-generator.js +110 -0
- package/dist/postprocess/plugins/bibliography-generator.js.map +1 -0
- package/dist/postprocess/plugins/citation-index.d.ts +8 -0
- package/dist/postprocess/plugins/citation-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/citation-index.js +42 -0
- package/dist/postprocess/plugins/citation-index.js.map +1 -0
- package/dist/postprocess/plugins/conformance-boilerplate.d.ts +9 -0
- package/dist/postprocess/plugins/conformance-boilerplate.d.ts.map +1 -0
- package/dist/postprocess/plugins/conformance-boilerplate.js +82 -0
- package/dist/postprocess/plugins/conformance-boilerplate.js.map +1 -0
- package/dist/postprocess/plugins/section-resolve.d.ts +9 -0
- package/dist/postprocess/plugins/section-resolve.d.ts.map +1 -0
- package/dist/postprocess/plugins/section-resolve.js +35 -0
- package/dist/postprocess/plugins/section-resolve.js.map +1 -0
- package/dist/postprocess/plugins/toc.d.ts.map +1 -1
- package/dist/postprocess/plugins/toc.js +14 -7
- package/dist/postprocess/plugins/toc.js.map +1 -1
- package/dist/postprocess/walk-ast.js +1 -1
- package/dist/postprocess/walk-ast.js.map +1 -1
- package/dist/preprocess/config/normalize.d.ts.map +1 -1
- package/dist/preprocess/config/normalize.js +4 -0
- package/dist/preprocess/config/normalize.js.map +1 -1
- package/dist/preprocess/config/types.d.ts +3 -0
- package/dist/preprocess/config/types.d.ts.map +1 -1
- package/dist/preprocess/types.d.ts +7 -0
- package/dist/preprocess/types.d.ts.map +1 -1
- package/dist/types/ast.generated.d.ts +63 -18
- package/dist/types/ast.generated.d.ts.map +1 -1
- package/dist/types/ast.generated.js +5 -3
- package/dist/types/ast.generated.js.map +1 -1
- package/package.json +5 -5
- package/schema/spec-ast.schema.json +79 -0
- package/dist/parse/AsideHtmlParser.d.ts +0 -12
- package/dist/parse/AsideHtmlParser.d.ts.map +0 -1
- package/dist/parse/AsideHtmlParser.js +0 -74
- package/dist/parse/AsideHtmlParser.js.map +0 -1
- package/dist/parse/BlockquoteHtmlParser.d.ts +0 -11
- package/dist/parse/BlockquoteHtmlParser.d.ts.map +0 -1
- package/dist/parse/BlockquoteHtmlParser.js +0 -28
- package/dist/parse/BlockquoteHtmlParser.js.map +0 -1
- package/dist/parse/BlockquoteMarkdownParser.d.ts +0 -11
- package/dist/parse/BlockquoteMarkdownParser.d.ts.map +0 -1
- package/dist/parse/BlockquoteMarkdownParser.js +0 -26
- package/dist/parse/BlockquoteMarkdownParser.js.map +0 -1
- package/dist/parse/CodeHtmlParser.d.ts +0 -11
- package/dist/parse/CodeHtmlParser.d.ts.map +0 -1
- package/dist/parse/CodeHtmlParser.js +0 -38
- package/dist/parse/CodeHtmlParser.js.map +0 -1
- package/dist/parse/CodeMarkdownParser.d.ts +0 -11
- package/dist/parse/CodeMarkdownParser.d.ts.map +0 -1
- package/dist/parse/CodeMarkdownParser.js +0 -29
- package/dist/parse/CodeMarkdownParser.js.map +0 -1
- package/dist/parse/DfnHtmlParser.d.ts +0 -12
- package/dist/parse/DfnHtmlParser.d.ts.map +0 -1
- package/dist/parse/DfnHtmlParser.js +0 -53
- package/dist/parse/DfnHtmlParser.js.map +0 -1
- package/dist/parse/HeadingsHtmlParser.d.ts +0 -11
- package/dist/parse/HeadingsHtmlParser.d.ts.map +0 -1
- package/dist/parse/HeadingsHtmlParser.js +0 -30
- package/dist/parse/HeadingsHtmlParser.js.map +0 -1
- package/dist/parse/HeadingsMarkdownParser.d.ts +0 -11
- package/dist/parse/HeadingsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/HeadingsMarkdownParser.js +0 -26
- package/dist/parse/HeadingsMarkdownParser.js.map +0 -1
- package/dist/parse/InlinesHtmlParser.d.ts +0 -12
- package/dist/parse/InlinesHtmlParser.d.ts.map +0 -1
- package/dist/parse/InlinesHtmlParser.js +0 -150
- package/dist/parse/InlinesHtmlParser.js.map +0 -1
- package/dist/parse/InlinesMarkdownParser.d.ts +0 -11
- package/dist/parse/InlinesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/InlinesMarkdownParser.js +0 -91
- package/dist/parse/InlinesMarkdownParser.js.map +0 -1
- package/dist/parse/ListsHtmlParser.d.ts +0 -11
- package/dist/parse/ListsHtmlParser.d.ts.map +0 -1
- package/dist/parse/ListsHtmlParser.js +0 -71
- package/dist/parse/ListsHtmlParser.js.map +0 -1
- package/dist/parse/ListsMarkdownParser.d.ts +0 -11
- package/dist/parse/ListsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/ListsMarkdownParser.js +0 -46
- package/dist/parse/ListsMarkdownParser.js.map +0 -1
- package/dist/parse/MiscHtmlParser.d.ts +0 -12
- package/dist/parse/MiscHtmlParser.d.ts.map +0 -1
- package/dist/parse/MiscHtmlParser.js +0 -85
- package/dist/parse/MiscHtmlParser.js.map +0 -1
- package/dist/parse/MiscMarkdownParser.d.ts +0 -11
- package/dist/parse/MiscMarkdownParser.d.ts.map +0 -1
- package/dist/parse/MiscMarkdownParser.js +0 -38
- package/dist/parse/MiscMarkdownParser.js.map +0 -1
- package/dist/parse/ParagraphsHtmlParser.d.ts +0 -11
- package/dist/parse/ParagraphsHtmlParser.d.ts.map +0 -1
- package/dist/parse/ParagraphsHtmlParser.js +0 -30
- package/dist/parse/ParagraphsHtmlParser.js.map +0 -1
- package/dist/parse/ParagraphsMarkdownParser.d.ts +0 -11
- package/dist/parse/ParagraphsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/ParagraphsMarkdownParser.js +0 -25
- package/dist/parse/ParagraphsMarkdownParser.js.map +0 -1
- package/dist/parse/SectionsHtmlParser.d.ts +0 -12
- package/dist/parse/SectionsHtmlParser.d.ts.map +0 -1
- package/dist/parse/SectionsHtmlParser.js +0 -58
- package/dist/parse/SectionsHtmlParser.js.map +0 -1
- package/dist/parse/TablesHtmlParser.d.ts +0 -11
- package/dist/parse/TablesHtmlParser.d.ts.map +0 -1
- package/dist/parse/TablesHtmlParser.js +0 -81
- package/dist/parse/TablesHtmlParser.js.map +0 -1
- package/dist/parse/TablesMarkdownParser.d.ts +0 -11
- package/dist/parse/TablesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/TablesMarkdownParser.js +0 -56
- package/dist/parse/TablesMarkdownParser.js.map +0 -1
- package/dist/parse/XrefHtmlParser.d.ts +0 -12
- package/dist/parse/XrefHtmlParser.d.ts.map +0 -1
- package/dist/parse/XrefHtmlParser.js +0 -124
- package/dist/parse/XrefHtmlParser.js.map +0 -1
- package/dist/parse/html/XrefHtmlParser.d.ts +0 -12
- package/dist/parse/html/XrefHtmlParser.d.ts.map +0 -1
- package/dist/parse/html/XrefHtmlParser.js +0 -125
- package/dist/parse/html/XrefHtmlParser.js.map +0 -1
- package/dist/parse/html/handlers/blockquote.d.ts +0 -9
- package/dist/parse/html/handlers/blockquote.d.ts.map +0 -1
- package/dist/parse/html/handlers/blockquote.js +0 -21
- package/dist/parse/html/handlers/blockquote.js.map +0 -1
- package/dist/parse/html/handlers/code.d.ts +0 -9
- package/dist/parse/html/handlers/code.d.ts.map +0 -1
- package/dist/parse/html/handlers/code.js +0 -31
- package/dist/parse/html/handlers/code.js.map +0 -1
- package/dist/parse/html/handlers/containers.d.ts +0 -16
- package/dist/parse/html/handlers/containers.d.ts.map +0 -1
- package/dist/parse/html/handlers/containers.js +0 -25
- package/dist/parse/html/handlers/containers.js.map +0 -1
- package/dist/parse/html/handlers/heading.d.ts +0 -9
- package/dist/parse/html/handlers/heading.d.ts.map +0 -1
- package/dist/parse/html/handlers/heading.js +0 -26
- package/dist/parse/html/handlers/heading.js.map +0 -1
- package/dist/parse/html/handlers/index.d.ts +0 -23
- package/dist/parse/html/handlers/index.d.ts.map +0 -1
- package/dist/parse/html/handlers/index.js +0 -47
- package/dist/parse/html/handlers/index.js.map +0 -1
- package/dist/parse/html/handlers/inline.d.ts +0 -35
- package/dist/parse/html/handlers/inline.d.ts.map +0 -1
- package/dist/parse/html/handlers/inline.js +0 -119
- package/dist/parse/html/handlers/inline.js.map +0 -1
- package/dist/parse/html/handlers/list.d.ts +0 -9
- package/dist/parse/html/handlers/list.d.ts.map +0 -1
- package/dist/parse/html/handlers/list.js +0 -63
- package/dist/parse/html/handlers/list.js.map +0 -1
- package/dist/parse/html/handlers/paragraph.d.ts +0 -9
- package/dist/parse/html/handlers/paragraph.d.ts.map +0 -1
- package/dist/parse/html/handlers/paragraph.js +0 -20
- package/dist/parse/html/handlers/paragraph.js.map +0 -1
- package/dist/parse/html/handlers/section.d.ts +0 -9
- package/dist/parse/html/handlers/section.d.ts.map +0 -1
- package/dist/parse/html/handlers/section.js +0 -53
- package/dist/parse/html/handlers/section.js.map +0 -1
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts +0 -12
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.js +0 -187
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.js.map +0 -1
- package/dist/parse/markdown/handlers/blockquote.d.ts +0 -9
- package/dist/parse/markdown/handlers/blockquote.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/blockquote.js +0 -22
- package/dist/parse/markdown/handlers/blockquote.js.map +0 -1
- package/dist/parse/markdown/handlers/code.d.ts +0 -9
- package/dist/parse/markdown/handlers/code.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/code.js +0 -25
- package/dist/parse/markdown/handlers/code.js.map +0 -1
- package/dist/parse/markdown/handlers/heading.d.ts +0 -9
- package/dist/parse/markdown/handlers/heading.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/heading.js +0 -22
- package/dist/parse/markdown/handlers/heading.js.map +0 -1
- package/dist/parse/markdown/handlers/index.d.ts +0 -23
- package/dist/parse/markdown/handlers/index.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/index.js +0 -47
- package/dist/parse/markdown/handlers/index.js.map +0 -1
- package/dist/parse/markdown/handlers/inline.d.ts +0 -35
- package/dist/parse/markdown/handlers/inline.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/inline.js +0 -126
- package/dist/parse/markdown/handlers/inline.js.map +0 -1
- package/dist/parse/markdown/handlers/list.d.ts +0 -9
- package/dist/parse/markdown/handlers/list.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/list.js +0 -42
- package/dist/parse/markdown/handlers/list.js.map +0 -1
- package/dist/parse/markdown/handlers/misc.d.ts +0 -15
- package/dist/parse/markdown/handlers/misc.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/misc.js +0 -38
- package/dist/parse/markdown/handlers/misc.js.map +0 -1
- package/dist/parse/markdown/handlers/paragraph.d.ts +0 -9
- package/dist/parse/markdown/handlers/paragraph.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/paragraph.js +0 -21
- package/dist/parse/markdown/handlers/paragraph.js.map +0 -1
- package/dist/parse/markdown/handlers/table.d.ts +0 -9
- package/dist/parse/markdown/handlers/table.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/table.js +0 -52
- package/dist/parse/markdown/handlers/table.js.map +0 -1
- package/dist/plugins/__tests__/citation-transform.test.d.ts +0 -7
- package/dist/plugins/__tests__/citation-transform.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/citation-transform.test.js +0 -89
- package/dist/plugins/__tests__/citation-transform.test.js.map +0 -1
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts +0 -2
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/dfn-parsing.test.js +0 -65
- package/dist/plugins/__tests__/dfn-parsing.test.js.map +0 -1
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts +0 -5
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/dfn-resolve.test.js +0 -152
- package/dist/plugins/__tests__/dfn-resolve.test.js.map +0 -1
- package/dist/plugins/__tests__/xref-parsing.test.d.ts +0 -2
- package/dist/plugins/__tests__/xref-parsing.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/xref-parsing.test.js +0 -66
- package/dist/plugins/__tests__/xref-parsing.test.js.map +0 -1
- package/dist/plugins/aside.d.ts +0 -12
- package/dist/plugins/aside.d.ts.map +0 -1
- package/dist/plugins/aside.js +0 -78
- package/dist/plugins/aside.js.map +0 -1
- package/dist/plugins/blockquote.d.ts +0 -11
- package/dist/plugins/blockquote.d.ts.map +0 -1
- package/dist/plugins/blockquote.js +0 -47
- package/dist/plugins/blockquote.js.map +0 -1
- package/dist/plugins/citation-transform.d.ts +0 -19
- package/dist/plugins/citation-transform.d.ts.map +0 -1
- package/dist/plugins/citation-transform.js +0 -176
- package/dist/plugins/citation-transform.js.map +0 -1
- package/dist/plugins/citation.d.ts +0 -21
- package/dist/plugins/citation.d.ts.map +0 -1
- package/dist/plugins/citation.js +0 -131
- package/dist/plugins/citation.js.map +0 -1
- package/dist/plugins/code.d.ts +0 -11
- package/dist/plugins/code.d.ts.map +0 -1
- package/dist/plugins/code.js +0 -60
- package/dist/plugins/code.js.map +0 -1
- package/dist/plugins/core-html.d.ts +0 -27
- package/dist/plugins/core-html.d.ts.map +0 -1
- package/dist/plugins/core-html.js +0 -53
- package/dist/plugins/core-html.js.map +0 -1
- package/dist/plugins/core-markdown.d.ts +0 -26
- package/dist/plugins/core-markdown.d.ts.map +0 -1
- package/dist/plugins/core-markdown.js +0 -55
- package/dist/plugins/core-markdown.js.map +0 -1
- package/dist/plugins/data-cite.d.ts +0 -12
- package/dist/plugins/data-cite.d.ts.map +0 -1
- package/dist/plugins/data-cite.js +0 -50
- package/dist/plugins/data-cite.js.map +0 -1
- package/dist/plugins/dfn-resolve.d.ts +0 -15
- package/dist/plugins/dfn-resolve.d.ts.map +0 -1
- package/dist/plugins/dfn-resolve.js +0 -257
- package/dist/plugins/dfn-resolve.js.map +0 -1
- package/dist/plugins/dfn.d.ts +0 -12
- package/dist/plugins/dfn.d.ts.map +0 -1
- package/dist/plugins/dfn.js +0 -57
- package/dist/plugins/dfn.js.map +0 -1
- package/dist/plugins/directives.d.ts +0 -8
- package/dist/plugins/directives.d.ts.map +0 -1
- package/dist/plugins/directives.js +0 -34
- package/dist/plugins/directives.js.map +0 -1
- package/dist/plugins/heading.d.ts +0 -11
- package/dist/plugins/heading.d.ts.map +0 -1
- package/dist/plugins/heading.js +0 -49
- package/dist/plugins/heading.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -12
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -26
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/inline.d.ts +0 -12
- package/dist/plugins/inline.d.ts.map +0 -1
- package/dist/plugins/inline.js +0 -234
- package/dist/plugins/inline.js.map +0 -1
- package/dist/plugins/list.d.ts +0 -11
- package/dist/plugins/list.d.ts.map +0 -1
- package/dist/plugins/list.js +0 -110
- package/dist/plugins/list.js.map +0 -1
- package/dist/plugins/misc.d.ts +0 -12
- package/dist/plugins/misc.d.ts.map +0 -1
- package/dist/plugins/misc.js +0 -116
- package/dist/plugins/misc.js.map +0 -1
- package/dist/plugins/paragraph.d.ts +0 -11
- package/dist/plugins/paragraph.d.ts.map +0 -1
- package/dist/plugins/paragraph.js +0 -48
- package/dist/plugins/paragraph.js.map +0 -1
- package/dist/plugins/section.d.ts +0 -12
- package/dist/plugins/section.d.ts.map +0 -1
- package/dist/plugins/section.js +0 -62
- package/dist/plugins/section.js.map +0 -1
- package/dist/plugins/table.d.ts +0 -11
- package/dist/plugins/table.d.ts.map +0 -1
- package/dist/plugins/table.js +0 -130
- package/dist/plugins/table.js.map +0 -1
- package/dist/plugins/xref.d.ts +0 -12
- package/dist/plugins/xref.d.ts.map +0 -1
- package/dist/plugins/xref.js +0 -92
- package/dist/plugins/xref.js.map +0 -1
- package/dist/postprocess/__tests__/citation-transform.test.d.ts +0 -7
- package/dist/postprocess/__tests__/citation-transform.test.d.ts.map +0 -1
- package/dist/postprocess/__tests__/citation-transform.test.js +0 -89
- package/dist/postprocess/__tests__/citation-transform.test.js.map +0 -1
- package/dist/postprocess/citation-transform.d.ts +0 -19
- package/dist/postprocess/citation-transform.d.ts.map +0 -1
- package/dist/postprocess/citation-transform.js +0 -176
- package/dist/postprocess/citation-transform.js.map +0 -1
- package/dist/postprocess/dfn-index.d.ts +0 -16
- package/dist/postprocess/dfn-index.d.ts.map +0 -1
- package/dist/postprocess/dfn-index.js +0 -72
- package/dist/postprocess/dfn-index.js.map +0 -1
- package/dist/postprocess/dfn-resolve.d.ts +0 -15
- package/dist/postprocess/dfn-resolve.d.ts.map +0 -1
- package/dist/postprocess/dfn-resolve.js +0 -257
- package/dist/postprocess/dfn-resolve.js.map +0 -1
- package/dist/postprocess/plugins/citation-transform.d.ts +0 -19
- package/dist/postprocess/plugins/citation-transform.d.ts.map +0 -1
- package/dist/postprocess/plugins/citation-transform.js +0 -179
- package/dist/postprocess/plugins/citation-transform.js.map +0 -1
- package/dist/postprocess/plugins/walk-ast.d.ts +0 -38
- package/dist/postprocess/plugins/walk-ast.d.ts.map +0 -1
- package/dist/postprocess/plugins/walk-ast.js +0 -92
- package/dist/postprocess/plugins/walk-ast.js.map +0 -1
- package/dist/postprocess/reference-resolve.d.ts +0 -19
- package/dist/postprocess/reference-resolve.d.ts.map +0 -1
- package/dist/postprocess/reference-resolve.js +0 -105
- package/dist/postprocess/reference-resolve.js.map +0 -1
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AST Walker Utility
|
|
3
|
-
*
|
|
4
|
-
* Provides a generic visitor pattern for walking the SpecAST.
|
|
5
|
-
* Used by postprocess plugins to traverse document structure.
|
|
6
|
-
*/
|
|
7
|
-
/** Inline type names for detection */
|
|
8
|
-
const INLINE_TYPES = new Set([
|
|
9
|
-
'text', 'emphasis', 'strong', 'inlineCode', 'link', 'image',
|
|
10
|
-
'definition', 'reference', 'requirement', 'issue', 'cite'
|
|
11
|
-
]);
|
|
12
|
-
/**
|
|
13
|
-
* Walk all inline nodes, calling visitor.visitInline for each
|
|
14
|
-
*/
|
|
15
|
-
function walkInlines(inlines, visitor) {
|
|
16
|
-
for (const inline of inlines) {
|
|
17
|
-
visitor.visitInline?.(inline);
|
|
18
|
-
// Recurse into children
|
|
19
|
-
if ('children' in inline && Array.isArray(inline.children)) {
|
|
20
|
-
walkInlines(inline.children, visitor);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Walk a block node and its children
|
|
26
|
-
*/
|
|
27
|
-
function walkBlock(block, visitor) {
|
|
28
|
-
visitor.visitBlock?.(block);
|
|
29
|
-
if ('children' in block) {
|
|
30
|
-
const children = block.children;
|
|
31
|
-
if (Array.isArray(children) && children.length > 0) {
|
|
32
|
-
const firstChild = children[0];
|
|
33
|
-
if (firstChild && typeof firstChild === 'object' && 'type' in firstChild) {
|
|
34
|
-
if (INLINE_TYPES.has(firstChild.type)) {
|
|
35
|
-
walkInlines(children, visitor);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
for (const child of children) {
|
|
39
|
-
walkBlock(child, visitor);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Walk a section node and its children
|
|
48
|
-
*/
|
|
49
|
-
function walkSection(section, visitor) {
|
|
50
|
-
visitor.visitSection?.(section);
|
|
51
|
-
// Walk heading if present
|
|
52
|
-
if (section.heading) {
|
|
53
|
-
walkInlines(section.heading.children, visitor);
|
|
54
|
-
}
|
|
55
|
-
// Walk children
|
|
56
|
-
for (const child of section.children) {
|
|
57
|
-
if (child.type === 'section') {
|
|
58
|
-
walkSection(child, visitor);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
walkBlock(child, visitor);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Walk an entire document, calling visitor methods for each node type.
|
|
67
|
-
*
|
|
68
|
-
* @param document - The document to traverse
|
|
69
|
-
* @param visitor - Visitor with optional callbacks for each node type
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* walkDocument(doc, {
|
|
74
|
-
* visitInline: (inline) => {
|
|
75
|
-
* if (inline.type === 'definition') {
|
|
76
|
-
* // process definition
|
|
77
|
-
* }
|
|
78
|
-
* }
|
|
79
|
-
* });
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
export function walkDocument(document, visitor) {
|
|
83
|
-
for (const child of document.children) {
|
|
84
|
-
if (child.type === 'section') {
|
|
85
|
-
walkSection(child, visitor);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
walkBlock(child, visitor);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=walk-ast.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walk-ast.js","sourceRoot":"","sources":["../../../src/postprocess/plugins/walk-ast.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,sCAAsC;AACtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IACzB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO;IAC3D,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM;CAC5D,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,WAAW,CAAC,OAAiB,EAAE,OAAmB;IACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;QAC9B,wBAAwB;QACxB,IAAI,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAE,MAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,WAAW,CAAE,MAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAY,EAAE,OAAmB;IAChD,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAI,KAAa,CAAC,QAAQ,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;gBACvE,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;wBAC3B,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAAgB,EAAE,OAAmB;IACtD,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;IAEhC,0BAA0B;IAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;IAChB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAkB,EAAE,OAAmB;IAChE,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reference Resolve Plugin
|
|
3
|
-
*
|
|
4
|
-
* Resolves cross-references (xref) to their target definitions (dfn).
|
|
5
|
-
*
|
|
6
|
-
* Process:
|
|
7
|
-
* 1. Build lookup map from document.indexes.definitions
|
|
8
|
-
* 2. Walk AST to find all InlineReference nodes
|
|
9
|
-
* 3. Match references to definitions using term/candidateTerms + forContext
|
|
10
|
-
* 4. Assign targetId to resolved references
|
|
11
|
-
*
|
|
12
|
-
* Note: Requires dfn-index plugin to run first to populate document.indexes.definitions
|
|
13
|
-
*/
|
|
14
|
-
import type { Plugin } from '#src/pipeline/types';
|
|
15
|
-
/**
|
|
16
|
-
* Reference resolve plugin
|
|
17
|
-
*/
|
|
18
|
-
export declare const referenceResolvePlugin: Plugin;
|
|
19
|
-
//# sourceMappingURL=reference-resolve.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reference-resolve.d.ts","sourceRoot":"","sources":["../../src/postprocess/reference-resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAyGlE;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAQpC,CAAC"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reference Resolve Plugin
|
|
3
|
-
*
|
|
4
|
-
* Resolves cross-references (xref) to their target definitions (dfn).
|
|
5
|
-
*
|
|
6
|
-
* Process:
|
|
7
|
-
* 1. Build lookup map from document.indexes.definitions
|
|
8
|
-
* 2. Walk AST to find all InlineReference nodes
|
|
9
|
-
* 3. Match references to definitions using term/candidateTerms + forContext
|
|
10
|
-
* 4. Assign targetId to resolved references
|
|
11
|
-
*
|
|
12
|
-
* Note: Requires dfn-index plugin to run first to populate document.indexes.definitions
|
|
13
|
-
*/
|
|
14
|
-
import { normalizeTerm } from '#src/parse/normalize';
|
|
15
|
-
import { walkDocument } from './walk-ast.js';
|
|
16
|
-
/**
|
|
17
|
-
* Build lookup map from definition index
|
|
18
|
-
*/
|
|
19
|
-
function buildLookupMap(document) {
|
|
20
|
-
const map = new Map();
|
|
21
|
-
const definitions = document.indexes?.definitions || [];
|
|
22
|
-
for (const entry of definitions) {
|
|
23
|
-
const linkTexts = entry.linkTexts || [entry.term];
|
|
24
|
-
// Index by all link texts
|
|
25
|
-
for (const text of linkTexts) {
|
|
26
|
-
const key = normalizeTerm(text);
|
|
27
|
-
const existing = map.get(key) || [];
|
|
28
|
-
existing.push(entry);
|
|
29
|
-
map.set(key, existing);
|
|
30
|
-
}
|
|
31
|
-
// Also index by the primary term if different
|
|
32
|
-
const termKey = normalizeTerm(entry.term);
|
|
33
|
-
if (!linkTexts.some(lt => normalizeTerm(lt) === termKey)) {
|
|
34
|
-
const existing = map.get(termKey) || [];
|
|
35
|
-
existing.push(entry);
|
|
36
|
-
map.set(termKey, existing);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return map;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Resolve a reference to a definition
|
|
43
|
-
*/
|
|
44
|
-
function resolveReference(ref, index) {
|
|
45
|
-
const candidateTerms = ref.candidateTerms || [ref.targetTerm];
|
|
46
|
-
const forContexts = ref.forContexts || [null];
|
|
47
|
-
const preferredType = ref.preferredType;
|
|
48
|
-
// Try each candidate term
|
|
49
|
-
for (const term of candidateTerms) {
|
|
50
|
-
const key = normalizeTerm(term);
|
|
51
|
-
const entries = index.get(key);
|
|
52
|
-
if (!entries || entries.length === 0)
|
|
53
|
-
continue;
|
|
54
|
-
// Filter by forContext if specified
|
|
55
|
-
let matches = entries;
|
|
56
|
-
// If reference has a forContext, prefer definitions with that forContext
|
|
57
|
-
const refForContext = forContexts.find((fc) => fc !== null);
|
|
58
|
-
if (refForContext) {
|
|
59
|
-
const exactMatches = matches.filter(e => (e.forContexts || [null]).some(fc => fc && normalizeTerm(fc) === normalizeTerm(refForContext)));
|
|
60
|
-
if (exactMatches.length > 0) {
|
|
61
|
-
matches = exactMatches;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// Filter by preferred type if specified
|
|
65
|
-
if (preferredType && matches.length > 1) {
|
|
66
|
-
const typeMatches = matches.filter(e => e.dfnType === preferredType);
|
|
67
|
-
if (typeMatches.length > 0) {
|
|
68
|
-
matches = typeMatches;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Return first match
|
|
72
|
-
if (matches.length > 0) {
|
|
73
|
-
return matches[0];
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Walk document and resolve all references
|
|
80
|
-
*/
|
|
81
|
-
function resolveReferences(document, index) {
|
|
82
|
-
walkDocument(document, {
|
|
83
|
-
visitInline: (inline) => {
|
|
84
|
-
if (inline.type === 'reference') {
|
|
85
|
-
const ref = inline;
|
|
86
|
-
const match = resolveReference(ref, index);
|
|
87
|
-
if (match) {
|
|
88
|
-
ref.targetId = match.id;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Reference resolve plugin
|
|
96
|
-
*/
|
|
97
|
-
export const referenceResolvePlugin = {
|
|
98
|
-
name: 'reference-resolve',
|
|
99
|
-
order: { resolve: 10 },
|
|
100
|
-
async resolve(ctx) {
|
|
101
|
-
const index = buildLookupMap(ctx.document);
|
|
102
|
-
resolveReferences(ctx.document, index);
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=reference-resolve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reference-resolve.js","sourceRoot":"","sources":["../../src/postprocess/reference-resolve.ts"],"names":[],"mappings":"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"}
|