@openuji/speculator 0.3.2 → 0.5.0
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 +111 -50
- package/dist/file-provider/__tests__/compliance.test.d.ts +5 -0
- package/dist/file-provider/__tests__/compliance.test.d.ts.map +1 -0
- package/dist/file-provider/__tests__/compliance.test.js +52 -0
- package/dist/file-provider/__tests__/compliance.test.js.map +1 -0
- package/dist/file-provider/index.d.ts +8 -0
- package/dist/file-provider/index.d.ts.map +1 -0
- package/dist/file-provider/index.js +10 -0
- package/dist/file-provider/index.js.map +1 -0
- package/dist/file-provider/memory.d.ts +46 -0
- package/dist/file-provider/memory.d.ts.map +1 -0
- package/dist/file-provider/memory.js +99 -0
- package/dist/file-provider/memory.js.map +1 -0
- package/dist/file-provider/node.d.ts +32 -0
- package/dist/file-provider/node.d.ts.map +1 -0
- package/dist/file-provider/node.js +65 -0
- package/dist/file-provider/node.js.map +1 -0
- package/dist/file-provider/types.d.ts +69 -0
- package/dist/file-provider/types.d.ts.map +1 -0
- package/dist/file-provider/types.js +47 -0
- package/dist/file-provider/types.js.map +1 -0
- package/dist/file-provider/web.d.ts +32 -0
- package/dist/file-provider/web.d.ts.map +1 -0
- package/dist/file-provider/web.js +77 -0
- package/dist/file-provider/web.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/parse/AsideHtmlParser.d.ts +12 -0
- package/dist/parse/AsideHtmlParser.d.ts.map +1 -0
- package/dist/parse/AsideHtmlParser.js +74 -0
- package/dist/parse/AsideHtmlParser.js.map +1 -0
- package/dist/parse/BlockquoteHtmlParser.d.ts +11 -0
- package/dist/parse/BlockquoteHtmlParser.d.ts.map +1 -0
- package/dist/parse/BlockquoteHtmlParser.js +28 -0
- package/dist/parse/BlockquoteHtmlParser.js.map +1 -0
- package/dist/parse/BlockquoteMarkdownParser.d.ts +11 -0
- package/dist/parse/BlockquoteMarkdownParser.d.ts.map +1 -0
- package/dist/parse/BlockquoteMarkdownParser.js +26 -0
- package/dist/parse/BlockquoteMarkdownParser.js.map +1 -0
- package/dist/parse/CodeHtmlParser.d.ts +11 -0
- package/dist/parse/CodeHtmlParser.d.ts.map +1 -0
- package/dist/parse/CodeHtmlParser.js +38 -0
- package/dist/parse/CodeHtmlParser.js.map +1 -0
- package/dist/parse/CodeMarkdownParser.d.ts +11 -0
- package/dist/parse/CodeMarkdownParser.d.ts.map +1 -0
- package/dist/parse/CodeMarkdownParser.js +29 -0
- package/dist/parse/CodeMarkdownParser.js.map +1 -0
- package/dist/parse/DfnHtmlParser.d.ts +12 -0
- package/dist/parse/DfnHtmlParser.d.ts.map +1 -0
- package/dist/parse/DfnHtmlParser.js +53 -0
- package/dist/parse/DfnHtmlParser.js.map +1 -0
- package/dist/parse/HeadingsHtmlParser.d.ts +11 -0
- package/dist/parse/HeadingsHtmlParser.d.ts.map +1 -0
- package/dist/parse/HeadingsHtmlParser.js +30 -0
- package/dist/parse/HeadingsHtmlParser.js.map +1 -0
- package/dist/parse/HeadingsMarkdownParser.d.ts +11 -0
- package/dist/parse/HeadingsMarkdownParser.d.ts.map +1 -0
- package/dist/parse/HeadingsMarkdownParser.js +26 -0
- package/dist/parse/HeadingsMarkdownParser.js.map +1 -0
- package/dist/parse/InlinesHtmlParser.d.ts +12 -0
- package/dist/parse/InlinesHtmlParser.d.ts.map +1 -0
- package/dist/parse/InlinesHtmlParser.js +150 -0
- package/dist/parse/InlinesHtmlParser.js.map +1 -0
- package/dist/parse/InlinesMarkdownParser.d.ts +11 -0
- package/dist/parse/InlinesMarkdownParser.d.ts.map +1 -0
- package/dist/parse/InlinesMarkdownParser.js +91 -0
- package/dist/parse/InlinesMarkdownParser.js.map +1 -0
- package/dist/parse/ListsHtmlParser.d.ts +11 -0
- package/dist/parse/ListsHtmlParser.d.ts.map +1 -0
- package/dist/parse/ListsHtmlParser.js +71 -0
- package/dist/parse/ListsHtmlParser.js.map +1 -0
- package/dist/parse/ListsMarkdownParser.d.ts +11 -0
- package/dist/parse/ListsMarkdownParser.d.ts.map +1 -0
- package/dist/parse/ListsMarkdownParser.js +46 -0
- package/dist/parse/ListsMarkdownParser.js.map +1 -0
- package/dist/parse/MiscHtmlParser.d.ts +12 -0
- package/dist/parse/MiscHtmlParser.d.ts.map +1 -0
- package/dist/parse/MiscHtmlParser.js +85 -0
- package/dist/parse/MiscHtmlParser.js.map +1 -0
- package/dist/parse/MiscMarkdownParser.d.ts +11 -0
- package/dist/parse/MiscMarkdownParser.d.ts.map +1 -0
- package/dist/parse/MiscMarkdownParser.js +38 -0
- package/dist/parse/MiscMarkdownParser.js.map +1 -0
- package/dist/parse/ParagraphsHtmlParser.d.ts +11 -0
- package/dist/parse/ParagraphsHtmlParser.d.ts.map +1 -0
- package/dist/parse/ParagraphsHtmlParser.js +30 -0
- package/dist/parse/ParagraphsHtmlParser.js.map +1 -0
- package/dist/parse/ParagraphsMarkdownParser.d.ts +11 -0
- package/dist/parse/ParagraphsMarkdownParser.d.ts.map +1 -0
- package/dist/parse/ParagraphsMarkdownParser.js +25 -0
- package/dist/parse/ParagraphsMarkdownParser.js.map +1 -0
- package/dist/parse/SectionsHtmlParser.d.ts +12 -0
- package/dist/parse/SectionsHtmlParser.d.ts.map +1 -0
- package/dist/parse/SectionsHtmlParser.js +58 -0
- package/dist/parse/SectionsHtmlParser.js.map +1 -0
- package/dist/parse/TablesHtmlParser.d.ts +11 -0
- package/dist/parse/TablesHtmlParser.d.ts.map +1 -0
- package/dist/parse/TablesHtmlParser.js +81 -0
- package/dist/parse/TablesHtmlParser.js.map +1 -0
- package/dist/parse/TablesMarkdownParser.d.ts +11 -0
- package/dist/parse/TablesMarkdownParser.d.ts.map +1 -0
- package/dist/parse/TablesMarkdownParser.js +56 -0
- package/dist/parse/TablesMarkdownParser.js.map +1 -0
- package/dist/parse/XrefHtmlParser.d.ts +12 -0
- package/dist/parse/XrefHtmlParser.d.ts.map +1 -0
- package/dist/parse/XrefHtmlParser.js +124 -0
- package/dist/parse/XrefHtmlParser.js.map +1 -0
- package/dist/parse/__tests__/assembler.test.d.ts +5 -0
- package/dist/parse/__tests__/assembler.test.d.ts.map +1 -0
- package/dist/parse/__tests__/assembler.test.js +135 -0
- package/dist/parse/__tests__/assembler.test.js.map +1 -0
- package/dist/parse/__tests__/html.test.d.ts +5 -0
- package/dist/parse/__tests__/html.test.d.ts.map +1 -0
- package/dist/parse/__tests__/html.test.js +149 -0
- package/dist/parse/__tests__/html.test.js.map +1 -0
- package/dist/parse/__tests__/markdown.test.d.ts +5 -0
- package/dist/parse/__tests__/markdown.test.d.ts.map +1 -0
- package/dist/parse/__tests__/markdown.test.js +133 -0
- package/dist/parse/__tests__/markdown.test.js.map +1 -0
- package/dist/parse/__tests__/pipeline.test.d.ts +5 -0
- package/dist/parse/__tests__/pipeline.test.d.ts.map +1 -0
- package/dist/parse/__tests__/pipeline.test.js +215 -0
- package/dist/parse/__tests__/pipeline.test.js.map +1 -0
- package/dist/parse/__tests__/respec.test.d.ts +7 -0
- package/dist/parse/__tests__/respec.test.d.ts.map +1 -0
- package/dist/parse/__tests__/respec.test.js +151 -0
- package/dist/parse/__tests__/respec.test.js.map +1 -0
- package/dist/parse/assembler.d.ts +20 -0
- package/dist/parse/assembler.d.ts.map +1 -0
- package/dist/parse/assembler.js +175 -0
- package/dist/parse/assembler.js.map +1 -0
- package/dist/parse/html/AsideHtmlParser.d.ts +12 -0
- package/dist/parse/html/AsideHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/AsideHtmlParser.js +74 -0
- package/dist/parse/html/AsideHtmlParser.js.map +1 -0
- package/dist/parse/html/BlockquoteHtmlParser.d.ts +11 -0
- package/dist/parse/html/BlockquoteHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/BlockquoteHtmlParser.js +28 -0
- package/dist/parse/html/BlockquoteHtmlParser.js.map +1 -0
- package/dist/parse/html/CodeHtmlParser.d.ts +11 -0
- package/dist/parse/html/CodeHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/CodeHtmlParser.js +38 -0
- package/dist/parse/html/CodeHtmlParser.js.map +1 -0
- package/dist/parse/html/DfnHtmlParser.d.ts +12 -0
- package/dist/parse/html/DfnHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/DfnHtmlParser.js +53 -0
- package/dist/parse/html/DfnHtmlParser.js.map +1 -0
- package/dist/parse/html/HeadingsHtmlParser.d.ts +11 -0
- package/dist/parse/html/HeadingsHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/HeadingsHtmlParser.js +30 -0
- package/dist/parse/html/HeadingsHtmlParser.js.map +1 -0
- package/dist/parse/html/InlinesHtmlParser.d.ts +12 -0
- package/dist/parse/html/InlinesHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/InlinesHtmlParser.js +150 -0
- package/dist/parse/html/InlinesHtmlParser.js.map +1 -0
- package/dist/parse/html/ListsHtmlParser.d.ts +11 -0
- package/dist/parse/html/ListsHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/ListsHtmlParser.js +71 -0
- package/dist/parse/html/ListsHtmlParser.js.map +1 -0
- package/dist/parse/html/MiscHtmlParser.d.ts +12 -0
- package/dist/parse/html/MiscHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/MiscHtmlParser.js +85 -0
- package/dist/parse/html/MiscHtmlParser.js.map +1 -0
- package/dist/parse/html/ParagraphsHtmlParser.d.ts +11 -0
- package/dist/parse/html/ParagraphsHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/ParagraphsHtmlParser.js +30 -0
- package/dist/parse/html/ParagraphsHtmlParser.js.map +1 -0
- package/dist/parse/html/SectionsHtmlParser.d.ts +12 -0
- package/dist/parse/html/SectionsHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/SectionsHtmlParser.js +58 -0
- package/dist/parse/html/SectionsHtmlParser.js.map +1 -0
- package/dist/parse/html/TablesHtmlParser.d.ts +11 -0
- package/dist/parse/html/TablesHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/TablesHtmlParser.js +81 -0
- package/dist/parse/html/TablesHtmlParser.js.map +1 -0
- package/dist/parse/html/XrefHtmlParser.d.ts +12 -0
- package/dist/parse/html/XrefHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/XrefHtmlParser.js +125 -0
- package/dist/parse/html/XrefHtmlParser.js.map +1 -0
- package/dist/parse/html/handlers/blockquote.d.ts +9 -0
- package/dist/parse/html/handlers/blockquote.d.ts.map +1 -0
- package/dist/parse/html/handlers/blockquote.js +21 -0
- package/dist/parse/html/handlers/blockquote.js.map +1 -0
- package/dist/parse/html/handlers/code.d.ts +9 -0
- package/dist/parse/html/handlers/code.d.ts.map +1 -0
- package/dist/parse/html/handlers/code.js +31 -0
- package/dist/parse/html/handlers/code.js.map +1 -0
- package/dist/parse/html/handlers/containers.d.ts +16 -0
- package/dist/parse/html/handlers/containers.d.ts.map +1 -0
- package/dist/parse/html/handlers/containers.js +25 -0
- package/dist/parse/html/handlers/containers.js.map +1 -0
- package/dist/parse/html/handlers/heading.d.ts +9 -0
- package/dist/parse/html/handlers/heading.d.ts.map +1 -0
- package/dist/parse/html/handlers/heading.js +26 -0
- package/dist/parse/html/handlers/heading.js.map +1 -0
- package/dist/parse/html/handlers/index.d.ts +23 -0
- package/dist/parse/html/handlers/index.d.ts.map +1 -0
- package/dist/parse/html/handlers/index.js +47 -0
- package/dist/parse/html/handlers/index.js.map +1 -0
- package/dist/parse/html/handlers/inline.d.ts +35 -0
- package/dist/parse/html/handlers/inline.d.ts.map +1 -0
- package/dist/parse/html/handlers/inline.js +119 -0
- package/dist/parse/html/handlers/inline.js.map +1 -0
- package/dist/parse/html/handlers/list.d.ts +9 -0
- package/dist/parse/html/handlers/list.d.ts.map +1 -0
- package/dist/parse/html/handlers/list.js +63 -0
- package/dist/parse/html/handlers/list.js.map +1 -0
- package/dist/parse/html/handlers/paragraph.d.ts +9 -0
- package/dist/parse/html/handlers/paragraph.d.ts.map +1 -0
- package/dist/parse/html/handlers/paragraph.js +20 -0
- package/dist/parse/html/handlers/paragraph.js.map +1 -0
- package/dist/parse/html/handlers/section.d.ts +9 -0
- package/dist/parse/html/handlers/section.d.ts.map +1 -0
- package/dist/parse/html/handlers/section.js +53 -0
- package/dist/parse/html/handlers/section.js.map +1 -0
- package/dist/parse/html/index.d.ts +5 -0
- package/dist/parse/html/index.d.ts.map +1 -0
- package/dist/parse/html/index.js +12 -0
- package/dist/parse/html/index.js.map +1 -0
- package/dist/parse/html/parser.d.ts +51 -0
- package/dist/parse/html/parser.d.ts.map +1 -0
- package/dist/parse/html/parser.js +228 -0
- package/dist/parse/html/parser.js.map +1 -0
- package/dist/parse/index.d.ts +16 -0
- package/dist/parse/index.d.ts.map +1 -0
- package/dist/parse/index.js +19 -0
- package/dist/parse/index.js.map +1 -0
- package/dist/parse/markdown/BlockquoteMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/BlockquoteMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/BlockquoteMarkdownParser.js +26 -0
- package/dist/parse/markdown/BlockquoteMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/CodeMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.js +29 -0
- package/dist/parse/markdown/CodeMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/HeadingsMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/HeadingsMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/HeadingsMarkdownParser.js +26 -0
- package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/InlinesMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/InlinesMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/InlinesMarkdownParser.js +91 -0
- package/dist/parse/markdown/InlinesMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/ListsMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/ListsMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/ListsMarkdownParser.js +46 -0
- package/dist/parse/markdown/ListsMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/MiscMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/MiscMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/MiscMarkdownParser.js +38 -0
- package/dist/parse/markdown/MiscMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/ParagraphsMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/ParagraphsMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/ParagraphsMarkdownParser.js +25 -0
- package/dist/parse/markdown/ParagraphsMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/TablesMarkdownParser.d.ts +11 -0
- package/dist/parse/markdown/TablesMarkdownParser.d.ts.map +1 -0
- package/dist/parse/markdown/TablesMarkdownParser.js +56 -0
- package/dist/parse/markdown/TablesMarkdownParser.js.map +1 -0
- package/dist/parse/markdown/handlers/blockquote.d.ts +9 -0
- package/dist/parse/markdown/handlers/blockquote.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/blockquote.js +22 -0
- package/dist/parse/markdown/handlers/blockquote.js.map +1 -0
- package/dist/parse/markdown/handlers/code.d.ts +9 -0
- package/dist/parse/markdown/handlers/code.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/code.js +25 -0
- package/dist/parse/markdown/handlers/code.js.map +1 -0
- package/dist/parse/markdown/handlers/heading.d.ts +9 -0
- package/dist/parse/markdown/handlers/heading.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/heading.js +22 -0
- package/dist/parse/markdown/handlers/heading.js.map +1 -0
- package/dist/parse/markdown/handlers/index.d.ts +23 -0
- package/dist/parse/markdown/handlers/index.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/index.js +47 -0
- package/dist/parse/markdown/handlers/index.js.map +1 -0
- package/dist/parse/markdown/handlers/inline.d.ts +35 -0
- package/dist/parse/markdown/handlers/inline.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/inline.js +126 -0
- package/dist/parse/markdown/handlers/inline.js.map +1 -0
- package/dist/parse/markdown/handlers/list.d.ts +9 -0
- package/dist/parse/markdown/handlers/list.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/list.js +42 -0
- package/dist/parse/markdown/handlers/list.js.map +1 -0
- package/dist/parse/markdown/handlers/misc.d.ts +15 -0
- package/dist/parse/markdown/handlers/misc.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/misc.js +38 -0
- package/dist/parse/markdown/handlers/misc.js.map +1 -0
- package/dist/parse/markdown/handlers/paragraph.d.ts +9 -0
- package/dist/parse/markdown/handlers/paragraph.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/paragraph.js +21 -0
- package/dist/parse/markdown/handlers/paragraph.js.map +1 -0
- package/dist/parse/markdown/handlers/table.d.ts +9 -0
- package/dist/parse/markdown/handlers/table.d.ts.map +1 -0
- package/dist/parse/markdown/handlers/table.js +52 -0
- package/dist/parse/markdown/handlers/table.js.map +1 -0
- package/dist/parse/markdown/index.d.ts +5 -0
- package/dist/parse/markdown/index.d.ts.map +1 -0
- package/dist/parse/markdown/index.js +12 -0
- package/dist/parse/markdown/index.js.map +1 -0
- package/dist/parse/markdown/parser.d.ts +51 -0
- package/dist/parse/markdown/parser.d.ts.map +1 -0
- package/dist/parse/markdown/parser.js +134 -0
- package/dist/parse/markdown/parser.js.map +1 -0
- package/dist/parse/normalize.d.ts +51 -0
- package/dist/parse/normalize.d.ts.map +1 -0
- package/dist/parse/normalize.js +78 -0
- package/dist/parse/normalize.js.map +1 -0
- package/dist/parse/parsers.d.ts +37 -0
- package/dist/parse/parsers.d.ts.map +1 -0
- package/dist/parse/parsers.js +86 -0
- package/dist/parse/parsers.js.map +1 -0
- package/dist/parse/pipeline.d.ts +41 -0
- package/dist/parse/pipeline.d.ts.map +1 -0
- package/dist/parse/pipeline.js +120 -0
- package/dist/parse/pipeline.js.map +1 -0
- package/dist/parse/registry.d.ts +156 -0
- package/dist/parse/registry.d.ts.map +1 -0
- package/dist/parse/registry.js +104 -0
- package/dist/parse/registry.js.map +1 -0
- package/dist/parse/types.d.ts +67 -0
- package/dist/parse/types.d.ts.map +1 -0
- package/dist/parse/types.js +19 -0
- package/dist/parse/types.js.map +1 -0
- package/dist/pipeline/__tests__/pipeline.test.d.ts +5 -0
- package/dist/pipeline/__tests__/pipeline.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/pipeline.test.js +69 -0
- package/dist/pipeline/__tests__/pipeline.test.js.map +1 -0
- package/dist/pipeline/__tests__/single-as-workspace.test.d.ts +2 -0
- package/dist/pipeline/__tests__/single-as-workspace.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/single-as-workspace.test.js +19 -0
- package/dist/pipeline/__tests__/single-as-workspace.test.js.map +1 -0
- package/dist/pipeline/__tests__/workspace-rules.test.d.ts +11 -0
- package/dist/pipeline/__tests__/workspace-rules.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/workspace-rules.test.js +54 -0
- package/dist/pipeline/__tests__/workspace-rules.test.js.map +1 -0
- package/dist/pipeline/__tests__/workspace.test.d.ts +2 -0
- package/dist/pipeline/__tests__/workspace.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/workspace.test.js +61 -0
- package/dist/pipeline/__tests__/workspace.test.js.map +1 -0
- package/dist/pipeline/index.d.ts +34 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +45 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/runner.d.ts +38 -0
- package/dist/pipeline/runner.d.ts.map +1 -0
- package/dist/pipeline/runner.js +128 -0
- package/dist/pipeline/runner.js.map +1 -0
- package/dist/pipeline/types.d.ts +106 -0
- package/dist/pipeline/types.d.ts.map +1 -0
- package/dist/pipeline/types.js +9 -0
- package/dist/pipeline/types.js.map +1 -0
- package/dist/pipeline/workspace-index.d.ts +11 -0
- package/dist/pipeline/workspace-index.d.ts.map +1 -0
- package/dist/pipeline/workspace-index.js +57 -0
- package/dist/pipeline/workspace-index.js.map +1 -0
- package/dist/plugins/__tests__/citation-transform.test.d.ts +7 -0
- package/dist/plugins/__tests__/citation-transform.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/citation-transform.test.js +89 -0
- package/dist/plugins/__tests__/citation-transform.test.js.map +1 -0
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts +2 -0
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/dfn-parsing.test.js +65 -0
- package/dist/plugins/__tests__/dfn-parsing.test.js.map +1 -0
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts +5 -0
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/dfn-resolve.test.js +152 -0
- package/dist/plugins/__tests__/dfn-resolve.test.js.map +1 -0
- package/dist/plugins/__tests__/xref-parsing.test.d.ts +2 -0
- package/dist/plugins/__tests__/xref-parsing.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/xref-parsing.test.js +66 -0
- package/dist/plugins/__tests__/xref-parsing.test.js.map +1 -0
- package/dist/plugins/aside.d.ts +12 -0
- package/dist/plugins/aside.d.ts.map +1 -0
- package/dist/plugins/aside.js +78 -0
- package/dist/plugins/aside.js.map +1 -0
- package/dist/plugins/blockquote.d.ts +11 -0
- package/dist/plugins/blockquote.d.ts.map +1 -0
- package/dist/plugins/blockquote.js +47 -0
- package/dist/plugins/blockquote.js.map +1 -0
- package/dist/plugins/citation-transform.d.ts +19 -0
- package/dist/plugins/citation-transform.d.ts.map +1 -0
- package/dist/plugins/citation-transform.js +176 -0
- package/dist/plugins/citation-transform.js.map +1 -0
- package/dist/plugins/citation.d.ts +21 -0
- package/dist/plugins/citation.d.ts.map +1 -0
- package/dist/plugins/citation.js +131 -0
- package/dist/plugins/citation.js.map +1 -0
- package/dist/plugins/code.d.ts +11 -0
- package/dist/plugins/code.d.ts.map +1 -0
- package/dist/plugins/code.js +60 -0
- package/dist/plugins/code.js.map +1 -0
- package/dist/plugins/core-html.d.ts +27 -0
- package/dist/plugins/core-html.d.ts.map +1 -0
- package/dist/plugins/core-html.js +53 -0
- package/dist/plugins/core-html.js.map +1 -0
- package/dist/plugins/core-markdown.d.ts +26 -0
- package/dist/plugins/core-markdown.d.ts.map +1 -0
- package/dist/plugins/core-markdown.js +55 -0
- package/dist/plugins/core-markdown.js.map +1 -0
- package/dist/plugins/data-cite.d.ts +12 -0
- package/dist/plugins/data-cite.d.ts.map +1 -0
- package/dist/plugins/data-cite.js +50 -0
- package/dist/plugins/data-cite.js.map +1 -0
- package/dist/plugins/dfn-resolve.d.ts +15 -0
- package/dist/plugins/dfn-resolve.d.ts.map +1 -0
- package/dist/plugins/dfn-resolve.js +257 -0
- package/dist/plugins/dfn-resolve.js.map +1 -0
- package/dist/plugins/dfn.d.ts +12 -0
- package/dist/plugins/dfn.d.ts.map +1 -0
- package/dist/plugins/dfn.js +57 -0
- package/dist/plugins/dfn.js.map +1 -0
- package/dist/plugins/directives.d.ts +8 -0
- package/dist/plugins/directives.d.ts.map +1 -0
- package/dist/plugins/directives.js +34 -0
- package/dist/plugins/directives.js.map +1 -0
- package/dist/plugins/heading.d.ts +11 -0
- package/dist/plugins/heading.d.ts.map +1 -0
- package/dist/plugins/heading.js +49 -0
- package/dist/plugins/heading.js.map +1 -0
- package/dist/plugins/index.d.ts +12 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +26 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/inline.d.ts +12 -0
- package/dist/plugins/inline.d.ts.map +1 -0
- package/dist/plugins/inline.js +234 -0
- package/dist/plugins/inline.js.map +1 -0
- package/dist/plugins/list.d.ts +11 -0
- package/dist/plugins/list.d.ts.map +1 -0
- package/dist/plugins/list.js +110 -0
- package/dist/plugins/list.js.map +1 -0
- package/dist/plugins/misc.d.ts +12 -0
- package/dist/plugins/misc.d.ts.map +1 -0
- package/dist/plugins/misc.js +116 -0
- package/dist/plugins/misc.js.map +1 -0
- package/dist/plugins/paragraph.d.ts +11 -0
- package/dist/plugins/paragraph.d.ts.map +1 -0
- package/dist/plugins/paragraph.js +48 -0
- package/dist/plugins/paragraph.js.map +1 -0
- package/dist/plugins/section.d.ts +12 -0
- package/dist/plugins/section.d.ts.map +1 -0
- package/dist/plugins/section.js +62 -0
- package/dist/plugins/section.js.map +1 -0
- package/dist/plugins/table.d.ts +11 -0
- package/dist/plugins/table.d.ts.map +1 -0
- package/dist/plugins/table.js +130 -0
- package/dist/plugins/table.js.map +1 -0
- package/dist/plugins/xref.d.ts +12 -0
- package/dist/plugins/xref.d.ts.map +1 -0
- package/dist/plugins/xref.js +92 -0
- package/dist/plugins/xref.js.map +1 -0
- package/dist/postprocess/__tests__/citation-transform.test.d.ts +7 -0
- package/dist/postprocess/__tests__/citation-transform.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/citation-transform.test.js +89 -0
- package/dist/postprocess/__tests__/citation-transform.test.js.map +1 -0
- package/dist/postprocess/__tests__/dfn-resolve.test.d.ts +5 -0
- package/dist/postprocess/__tests__/dfn-resolve.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/dfn-resolve.test.js +160 -0
- package/dist/postprocess/__tests__/dfn-resolve.test.js.map +1 -0
- package/dist/postprocess/__tests__/section-id.test.d.ts +5 -0
- package/dist/postprocess/__tests__/section-id.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/section-id.test.js +222 -0
- package/dist/postprocess/__tests__/section-id.test.js.map +1 -0
- package/dist/postprocess/__tests__/toc.test.d.ts +5 -0
- package/dist/postprocess/__tests__/toc.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/toc.test.js +257 -0
- package/dist/postprocess/__tests__/toc.test.js.map +1 -0
- package/dist/postprocess/citation-transform.d.ts +19 -0
- package/dist/postprocess/citation-transform.d.ts.map +1 -0
- package/dist/postprocess/citation-transform.js +176 -0
- package/dist/postprocess/citation-transform.js.map +1 -0
- package/dist/postprocess/dfn-index.d.ts +16 -0
- package/dist/postprocess/dfn-index.d.ts.map +1 -0
- package/dist/postprocess/dfn-index.js +72 -0
- package/dist/postprocess/dfn-index.js.map +1 -0
- package/dist/postprocess/dfn-resolve.d.ts +15 -0
- package/dist/postprocess/dfn-resolve.d.ts.map +1 -0
- package/dist/postprocess/dfn-resolve.js +257 -0
- package/dist/postprocess/dfn-resolve.js.map +1 -0
- package/dist/postprocess/index.d.ts +16 -0
- package/dist/postprocess/index.d.ts.map +1 -0
- package/dist/postprocess/index.js +41 -0
- package/dist/postprocess/index.js.map +1 -0
- package/dist/postprocess/plugins/citation-transform.d.ts +19 -0
- package/dist/postprocess/plugins/citation-transform.d.ts.map +1 -0
- package/dist/postprocess/plugins/citation-transform.js +179 -0
- package/dist/postprocess/plugins/citation-transform.js.map +1 -0
- package/dist/postprocess/plugins/dfn-index.d.ts +16 -0
- package/dist/postprocess/plugins/dfn-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/dfn-index.js +76 -0
- package/dist/postprocess/plugins/dfn-index.js.map +1 -0
- package/dist/postprocess/plugins/reference-resolve.d.ts +19 -0
- package/dist/postprocess/plugins/reference-resolve.d.ts.map +1 -0
- package/dist/postprocess/plugins/reference-resolve.js +103 -0
- package/dist/postprocess/plugins/reference-resolve.js.map +1 -0
- package/dist/postprocess/plugins/section-id.d.ts +16 -0
- package/dist/postprocess/plugins/section-id.d.ts.map +1 -0
- package/dist/postprocess/plugins/section-id.js +116 -0
- package/dist/postprocess/plugins/section-id.js.map +1 -0
- package/dist/postprocess/plugins/toc.d.ts +19 -0
- package/dist/postprocess/plugins/toc.d.ts.map +1 -0
- package/dist/postprocess/plugins/toc.js +125 -0
- package/dist/postprocess/plugins/toc.js.map +1 -0
- package/dist/postprocess/plugins/walk-ast.d.ts +38 -0
- package/dist/postprocess/plugins/walk-ast.d.ts.map +1 -0
- package/dist/postprocess/plugins/walk-ast.js +92 -0
- package/dist/postprocess/plugins/walk-ast.js.map +1 -0
- package/dist/postprocess/reference-resolve.d.ts +19 -0
- package/dist/postprocess/reference-resolve.d.ts.map +1 -0
- package/dist/postprocess/reference-resolve.js +105 -0
- package/dist/postprocess/reference-resolve.js.map +1 -0
- package/dist/postprocess/walk-ast.d.ts +38 -0
- package/dist/postprocess/walk-ast.d.ts.map +1 -0
- package/dist/postprocess/walk-ast.js +94 -0
- package/dist/postprocess/walk-ast.js.map +1 -0
- package/dist/preprocess/__tests__/pipeline.test.d.ts +5 -0
- package/dist/preprocess/__tests__/pipeline.test.d.ts.map +1 -0
- package/dist/preprocess/__tests__/pipeline.test.js +188 -0
- package/dist/preprocess/__tests__/pipeline.test.js.map +1 -0
- package/dist/preprocess/__tests__/resolver.test.d.ts +5 -0
- package/dist/preprocess/__tests__/resolver.test.d.ts.map +1 -0
- package/dist/preprocess/__tests__/resolver.test.js +165 -0
- package/dist/preprocess/__tests__/resolver.test.js.map +1 -0
- package/dist/preprocess/__tests__/scan-html.test.d.ts +5 -0
- package/dist/preprocess/__tests__/scan-html.test.d.ts.map +1 -0
- package/dist/preprocess/__tests__/scan-html.test.js +99 -0
- package/dist/preprocess/__tests__/scan-html.test.js.map +1 -0
- package/dist/preprocess/__tests__/scan-markdown.test.d.ts +5 -0
- package/dist/preprocess/__tests__/scan-markdown.test.d.ts.map +1 -0
- package/dist/preprocess/__tests__/scan-markdown.test.js +92 -0
- package/dist/preprocess/__tests__/scan-markdown.test.js.map +1 -0
- package/dist/preprocess/config/doc-config.d.ts +30 -0
- package/dist/preprocess/config/doc-config.d.ts.map +1 -0
- package/dist/preprocess/config/doc-config.js +85 -0
- package/dist/preprocess/config/doc-config.js.map +1 -0
- package/dist/preprocess/config/index.d.ts +9 -0
- package/dist/preprocess/config/index.d.ts.map +1 -0
- package/dist/preprocess/config/index.js +7 -0
- package/dist/preprocess/config/index.js.map +1 -0
- package/dist/preprocess/config/loader.d.ts +61 -0
- package/dist/preprocess/config/loader.d.ts.map +1 -0
- package/dist/preprocess/config/loader.js +40 -0
- package/dist/preprocess/config/loader.js.map +1 -0
- package/dist/preprocess/config/normalize.d.ts +19 -0
- package/dist/preprocess/config/normalize.d.ts.map +1 -0
- package/dist/preprocess/config/normalize.js +106 -0
- package/dist/preprocess/config/normalize.js.map +1 -0
- package/dist/preprocess/config/types.d.ts +40 -0
- package/dist/preprocess/config/types.d.ts.map +1 -0
- package/dist/preprocess/config/types.js +8 -0
- package/dist/preprocess/config/types.js.map +1 -0
- package/dist/preprocess/include/index.d.ts +7 -0
- package/dist/preprocess/include/index.d.ts.map +1 -0
- package/dist/preprocess/include/index.js +7 -0
- package/dist/preprocess/include/index.js.map +1 -0
- package/dist/preprocess/include/resolver.d.ts +40 -0
- package/dist/preprocess/include/resolver.d.ts.map +1 -0
- package/dist/preprocess/include/resolver.js +187 -0
- package/dist/preprocess/include/resolver.js.map +1 -0
- package/dist/preprocess/include/scan-html.d.ts +31 -0
- package/dist/preprocess/include/scan-html.d.ts.map +1 -0
- package/dist/preprocess/include/scan-html.js +100 -0
- package/dist/preprocess/include/scan-html.js.map +1 -0
- package/dist/preprocess/include/scan-markdown.d.ts +31 -0
- package/dist/preprocess/include/scan-markdown.d.ts.map +1 -0
- package/dist/preprocess/include/scan-markdown.js +83 -0
- package/dist/preprocess/include/scan-markdown.js.map +1 -0
- package/dist/preprocess/index.d.ts +16 -0
- package/dist/preprocess/index.d.ts.map +1 -0
- package/dist/preprocess/index.js +16 -0
- package/dist/preprocess/index.js.map +1 -0
- package/dist/preprocess/pipeline.d.ts +57 -0
- package/dist/preprocess/pipeline.d.ts.map +1 -0
- package/dist/preprocess/pipeline.js +100 -0
- package/dist/preprocess/pipeline.js.map +1 -0
- package/dist/preprocess/types.d.ts +197 -0
- package/dist/preprocess/types.d.ts.map +1 -0
- package/dist/preprocess/types.js +22 -0
- package/dist/preprocess/types.js.map +1 -0
- package/dist/types/ast.generated.d.ts +517 -0
- package/dist/types/ast.generated.d.ts.map +1 -0
- package/dist/types/ast.generated.js +66 -0
- package/dist/types/ast.generated.js.map +1 -0
- package/dist/validation/validate.d.ts +86 -0
- package/dist/validation/validate.d.ts.map +1 -0
- package/dist/validation/validate.js +162 -0
- package/dist/validation/validate.js.map +1 -0
- package/dist/workspace/__tests__/sort.test.d.ts +2 -0
- package/dist/workspace/__tests__/sort.test.d.ts.map +1 -0
- package/dist/workspace/__tests__/sort.test.js +122 -0
- package/dist/workspace/__tests__/sort.test.js.map +1 -0
- package/dist/workspace/index.d.ts +8 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +7 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/sort.d.ts +49 -0
- package/dist/workspace/sort.d.ts.map +1 -0
- package/dist/workspace/sort.js +114 -0
- package/dist/workspace/sort.js.map +1 -0
- package/package.json +46 -81
- package/schema/spec-ast.schema.json +1440 -0
- package/bin/speculator.mjs +0 -76
- package/dist/browser.cjs +0 -1693
- package/dist/browser.d.cts +0 -416
- package/dist/browser.d.ts +0 -416
- package/dist/browser.js +0 -36
- package/dist/chunk-KC3NVWHK.js +0 -28
- package/dist/chunk-ONLMOJIJ.js +0 -1649
- package/dist/cli/export-assertions.cjs +0 -1713
- package/dist/cli/export-assertions.d.cts +0 -25
- package/dist/cli/export-assertions.d.ts +0 -25
- package/dist/cli/export-assertions.js +0 -107
- package/dist/node.cjs +0 -1715
- package/dist/node.d.cts +0 -17
- package/dist/node.d.ts +0 -17
- package/dist/node.js +0 -40
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section Plugin
|
|
3
|
+
*
|
|
4
|
+
* Handles section HTML elements.
|
|
5
|
+
* (Markdown doesn't have explicit section syntax - sections are built from headings in assembler)
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Plugin for section elements (HTML only).
|
|
9
|
+
*/
|
|
10
|
+
export const sectionPlugin = {
|
|
11
|
+
name: 'section',
|
|
12
|
+
order: { parse: 10 },
|
|
13
|
+
parse: {
|
|
14
|
+
html: {
|
|
15
|
+
tags: ['section'],
|
|
16
|
+
handleBlock(element, ctx) {
|
|
17
|
+
const sourcePos = ctx.createSourcePos(element);
|
|
18
|
+
const id = ctx.getAttr(element, 'id');
|
|
19
|
+
// Find heading and other children
|
|
20
|
+
let heading;
|
|
21
|
+
const children = [];
|
|
22
|
+
for (const child of element.children) {
|
|
23
|
+
if (child.type !== 'element')
|
|
24
|
+
continue;
|
|
25
|
+
const childEl = child;
|
|
26
|
+
const tagName = childEl.tagName.toLowerCase();
|
|
27
|
+
if (!heading && /^h[1-6]$/i.test(tagName)) {
|
|
28
|
+
// First heading becomes section heading
|
|
29
|
+
const depth = parseInt(tagName.match(/^h([1-6])$/i)?.[1] ?? '1', 10);
|
|
30
|
+
heading = {
|
|
31
|
+
type: 'heading',
|
|
32
|
+
depth,
|
|
33
|
+
children: ctx.transformInlineChildren(childEl.children),
|
|
34
|
+
};
|
|
35
|
+
const headingId = ctx.getAttr(childEl, 'id');
|
|
36
|
+
if (headingId)
|
|
37
|
+
heading.id = headingId;
|
|
38
|
+
const headingPos = ctx.createSourcePos(childEl);
|
|
39
|
+
if (headingPos)
|
|
40
|
+
heading.sourcePos = headingPos;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const blocks = ctx.transformBlockChildren([child]);
|
|
44
|
+
children.push(...blocks);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const result = {
|
|
48
|
+
type: 'section',
|
|
49
|
+
children,
|
|
50
|
+
};
|
|
51
|
+
if (id)
|
|
52
|
+
result.id = id;
|
|
53
|
+
if (heading)
|
|
54
|
+
result.heading = heading;
|
|
55
|
+
if (sourcePos)
|
|
56
|
+
result.sourcePos = sourcePos;
|
|
57
|
+
return result;
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/plugins/section.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW;IACjC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAEpB,KAAK,EAAE;QACH,IAAI,EAAE;YACF,IAAI,EAAE,CAAC,SAAS,CAAC;YAEjB,WAAW,CAAC,OAAgB,EAAE,GAAiB;gBAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAEtC,kCAAkC;gBAClC,IAAI,OAAiC,CAAC;gBACtC,MAAM,QAAQ,GAAwB,EAAE,CAAC;gBAEzC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACnC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;wBAAE,SAAS;oBAEvC,MAAM,OAAO,GAAG,KAAgB,CAAC;oBACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAE9C,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACxC,wCAAwC;wBACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAA0B,CAAC;wBAC9F,OAAO,GAAG;4BACN,IAAI,EAAE,SAAS;4BACf,KAAK;4BACL,QAAQ,EAAE,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;yBAC1D,CAAC;wBACF,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBAC7C,IAAI,SAAS;4BAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;wBACtC,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAChD,IAAI,UAAU;4BAAE,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACJ,MAAM,MAAM,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAkB,CAAC,CAAC;wBACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;gBAED,MAAM,MAAM,GAAY;oBACpB,IAAI,EAAE,SAAS;oBACf,QAAQ;iBACX,CAAC;gBAEF,IAAI,EAAE;oBAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;gBACvB,IAAI,OAAO;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtC,IAAI,SAAS;oBAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;gBAE5C,OAAO,MAAM,CAAC;YAClB,CAAC;SACJ;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table Plugin
|
|
3
|
+
*
|
|
4
|
+
* Handles table HTML elements and Markdown table nodes.
|
|
5
|
+
*/
|
|
6
|
+
import type { Plugin } from '#src/pipeline/types';
|
|
7
|
+
/**
|
|
8
|
+
* Plugin for table elements.
|
|
9
|
+
*/
|
|
10
|
+
export declare const tablePlugin: Plugin;
|
|
11
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/plugins/table.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAoC,MAAM,qBAAqB,CAAC;AAgGpF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MA8DzB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table Plugin
|
|
3
|
+
*
|
|
4
|
+
* Handles table HTML elements and Markdown table nodes.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Transform a Markdown table row node
|
|
8
|
+
*/
|
|
9
|
+
function transformMdTableRow(node, ctx, isHeader, align) {
|
|
10
|
+
const sourcePos = ctx.createSourcePos(node);
|
|
11
|
+
const result = {
|
|
12
|
+
type: 'tableRow',
|
|
13
|
+
children: node.children.map((cell, index) => transformMdTableCell(cell, ctx, isHeader, align?.[index])),
|
|
14
|
+
};
|
|
15
|
+
if (sourcePos)
|
|
16
|
+
result.sourcePos = sourcePos;
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Transform a Markdown table cell node
|
|
21
|
+
*/
|
|
22
|
+
function transformMdTableCell(node, ctx, isHeader, align) {
|
|
23
|
+
const sourcePos = ctx.createSourcePos(node);
|
|
24
|
+
const result = {
|
|
25
|
+
type: 'tableCell',
|
|
26
|
+
children: ctx.transformInlineChildren(node.children),
|
|
27
|
+
};
|
|
28
|
+
if (isHeader)
|
|
29
|
+
result.header = true;
|
|
30
|
+
if (align === 'left' || align === 'center' || align === 'right') {
|
|
31
|
+
result.align = align;
|
|
32
|
+
}
|
|
33
|
+
if (sourcePos)
|
|
34
|
+
result.sourcePos = sourcePos;
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Transform an HTML table row element
|
|
39
|
+
*/
|
|
40
|
+
function transformHtmlTableRow(element, ctx) {
|
|
41
|
+
const sourcePos = ctx.createSourcePos(element);
|
|
42
|
+
const cells = element.children
|
|
43
|
+
.filter((c) => c.type === 'element')
|
|
44
|
+
.filter(c => c.tagName === 'td' || c.tagName === 'th')
|
|
45
|
+
.map(cell => transformHtmlTableCell(cell, ctx));
|
|
46
|
+
const result = {
|
|
47
|
+
type: 'tableRow',
|
|
48
|
+
children: cells,
|
|
49
|
+
};
|
|
50
|
+
if (sourcePos)
|
|
51
|
+
result.sourcePos = sourcePos;
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Transform an HTML table cell element
|
|
56
|
+
*/
|
|
57
|
+
function transformHtmlTableCell(element, ctx) {
|
|
58
|
+
const sourcePos = ctx.createSourcePos(element);
|
|
59
|
+
const isHeader = element.tagName === 'th';
|
|
60
|
+
const result = {
|
|
61
|
+
type: 'tableCell',
|
|
62
|
+
children: ctx.transformInlineChildren(element.children),
|
|
63
|
+
};
|
|
64
|
+
if (isHeader)
|
|
65
|
+
result.header = true;
|
|
66
|
+
const align = ctx.getAttr(element, 'align');
|
|
67
|
+
if (align === 'left' || align === 'center' || align === 'right') {
|
|
68
|
+
result.align = align;
|
|
69
|
+
}
|
|
70
|
+
if (sourcePos)
|
|
71
|
+
result.sourcePos = sourcePos;
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Plugin for table elements.
|
|
76
|
+
*/
|
|
77
|
+
export const tablePlugin = {
|
|
78
|
+
name: 'table',
|
|
79
|
+
order: { parse: 10 },
|
|
80
|
+
parse: {
|
|
81
|
+
html: {
|
|
82
|
+
tags: ['table'],
|
|
83
|
+
handleBlock(element, ctx) {
|
|
84
|
+
const sourcePos = ctx.createSourcePos(element);
|
|
85
|
+
// Find tbody, thead, or direct tr children
|
|
86
|
+
const rows = [];
|
|
87
|
+
for (const child of element.children) {
|
|
88
|
+
if (child.type !== 'element')
|
|
89
|
+
continue;
|
|
90
|
+
const el = child;
|
|
91
|
+
if (el.tagName === 'tr') {
|
|
92
|
+
rows.push(transformHtmlTableRow(el, ctx));
|
|
93
|
+
}
|
|
94
|
+
else if (el.tagName === 'thead' || el.tagName === 'tbody') {
|
|
95
|
+
for (const innerChild of el.children) {
|
|
96
|
+
if (innerChild.type === 'element' && innerChild.tagName === 'tr') {
|
|
97
|
+
rows.push(transformHtmlTableRow(innerChild, ctx));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const result = {
|
|
103
|
+
type: 'table',
|
|
104
|
+
children: rows,
|
|
105
|
+
};
|
|
106
|
+
const id = ctx.getAttr(element, 'id');
|
|
107
|
+
if (id)
|
|
108
|
+
result.id = id;
|
|
109
|
+
if (sourcePos)
|
|
110
|
+
result.sourcePos = sourcePos;
|
|
111
|
+
return result;
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
markdown: {
|
|
115
|
+
nodeTypes: ['table'],
|
|
116
|
+
handleBlock(node, ctx) {
|
|
117
|
+
const tableNode = node;
|
|
118
|
+
const sourcePos = ctx.createSourcePos(node);
|
|
119
|
+
const result = {
|
|
120
|
+
type: 'table',
|
|
121
|
+
children: tableNode.children.map((row, rowIndex) => transformMdTableRow(row, ctx, rowIndex === 0, tableNode.align ?? undefined)),
|
|
122
|
+
};
|
|
123
|
+
if (sourcePos)
|
|
124
|
+
result.sourcePos = sourcePos;
|
|
125
|
+
return result;
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/plugins/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Xref Plugin
|
|
3
|
+
*
|
|
4
|
+
* Handles <xref> custom elements and <a> elements that act as cross-references.
|
|
5
|
+
* Extracts term candidates, for-contexts, preferred type, spec restrictions per ReSpec spec.
|
|
6
|
+
*/
|
|
7
|
+
import type { Plugin } from '#src/pipeline/types';
|
|
8
|
+
/**
|
|
9
|
+
* Plugin for <xref> and xref-like <a> elements.
|
|
10
|
+
*/
|
|
11
|
+
export declare const xrefPlugin: Plugin;
|
|
12
|
+
//# sourceMappingURL=xref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xref.d.ts","sourceRoot":"","sources":["../../src/plugins/xref.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAqC,MAAM,qBAAqB,CAAC;AA6BrF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAsExB,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Xref Plugin
|
|
3
|
+
*
|
|
4
|
+
* Handles <xref> custom elements and <a> elements that act as cross-references.
|
|
5
|
+
* Extracts term candidates, for-contexts, preferred type, spec restrictions per ReSpec spec.
|
|
6
|
+
*/
|
|
7
|
+
import { normalizeTerm, splitLinkTexts, splitForContexts } from '#src/parse/normalize';
|
|
8
|
+
/**
|
|
9
|
+
* Check if an <a> element should be treated as an xref (cross-reference).
|
|
10
|
+
*
|
|
11
|
+
* An <a> is a cross-reference if:
|
|
12
|
+
* - It has no href attribute, OR
|
|
13
|
+
* - It has data-xref attribute, OR
|
|
14
|
+
* - Its href starts with # (internal link to definition)
|
|
15
|
+
*/
|
|
16
|
+
function isXrefAnchor(element, ctx) {
|
|
17
|
+
const href = ctx.getAttr(element, 'href');
|
|
18
|
+
// hast converts data-* to camelCase
|
|
19
|
+
const hasDataXref = ctx.getAttr(element, 'dataXref') !== undefined ||
|
|
20
|
+
ctx.getAttr(element, 'dataLt') !== undefined ||
|
|
21
|
+
ctx.getAttr(element, 'dataXrefFor') !== undefined;
|
|
22
|
+
// No href = xref
|
|
23
|
+
if (!href)
|
|
24
|
+
return hasDataXref;
|
|
25
|
+
// Has explicit xref attributes
|
|
26
|
+
if (hasDataXref)
|
|
27
|
+
return true;
|
|
28
|
+
// Internal # reference could be xref if it has data attributes
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Plugin for <xref> and xref-like <a> elements.
|
|
33
|
+
*/
|
|
34
|
+
export const xrefPlugin = {
|
|
35
|
+
name: 'xref',
|
|
36
|
+
order: { parse: 5 }, // Run before inline plugin
|
|
37
|
+
parse: {
|
|
38
|
+
html: {
|
|
39
|
+
// Handle both xref custom element and a elements
|
|
40
|
+
tags: ['xref', 'a'],
|
|
41
|
+
handleInline(element, ctx) {
|
|
42
|
+
const tagName = element.tagName.toLowerCase();
|
|
43
|
+
// For <a> elements, check if it should be treated as xref
|
|
44
|
+
if (tagName === 'a') {
|
|
45
|
+
if (!isXrefAnchor(element, ctx)) {
|
|
46
|
+
// Not an xref - let the inline plugin handle it as a regular link
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const sourcePos = ctx.createSourcePos(element);
|
|
51
|
+
// Get raw text content for primary term
|
|
52
|
+
const rawText = ctx.getTextContent(element);
|
|
53
|
+
const targetTerm = normalizeTerm(rawText);
|
|
54
|
+
if (!targetTerm)
|
|
55
|
+
return null;
|
|
56
|
+
// Extract term candidates from data-lt or data-xref (hast: dataLt, dataXref)
|
|
57
|
+
const dataLt = ctx.getAttr(element, 'dataLt') ?? ctx.getAttr(element, 'dataXref');
|
|
58
|
+
const candidateTerms = dataLt
|
|
59
|
+
? splitLinkTexts(dataLt).map(normalizeTerm)
|
|
60
|
+
: [targetTerm];
|
|
61
|
+
// Extract for-contexts from data-xref-for (hast: dataXrefFor)
|
|
62
|
+
const dataXrefFor = ctx.getAttr(element, 'dataXrefFor');
|
|
63
|
+
const forContexts = dataXrefFor
|
|
64
|
+
? splitForContexts(dataXrefFor).map(normalizeTerm)
|
|
65
|
+
: [null];
|
|
66
|
+
// Extract preferred type from data-link-type (hast: dataLinkType)
|
|
67
|
+
const preferredType = ctx.getAttr(element, 'dataLinkType') ?? null;
|
|
68
|
+
// Extract explicit spec from data-xref-spec (hast: dataXrefSpec)
|
|
69
|
+
const xrefSpec = ctx.getAttr(element, 'dataXrefSpec') ?? null;
|
|
70
|
+
// Check if external lookup is allowed (hast: dataAllowExternal)
|
|
71
|
+
const dataAllowExternal = ctx.getAttr(element, 'dataAllowExternal');
|
|
72
|
+
const allowExternal = dataAllowExternal !== 'no';
|
|
73
|
+
// Transform children to inline nodes
|
|
74
|
+
const children = ctx.transformInlineChildren(element.children);
|
|
75
|
+
const result = {
|
|
76
|
+
type: 'reference',
|
|
77
|
+
targetTerm,
|
|
78
|
+
candidateTerms,
|
|
79
|
+
forContexts,
|
|
80
|
+
preferredType,
|
|
81
|
+
xrefSpec,
|
|
82
|
+
allowExternal,
|
|
83
|
+
children,
|
|
84
|
+
};
|
|
85
|
+
if (sourcePos)
|
|
86
|
+
result.sourcePos = sourcePos;
|
|
87
|
+
return result;
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=xref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xref.js","sourceRoot":"","sources":["../../src/plugins/xref.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation-transform.test.d.ts","sourceRoot":"","sources":["../../../src/postprocess/__tests__/citation-transform.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Citation Transform Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests for bracket citation scanning in transform phase.
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect } from 'vitest';
|
|
7
|
+
import { citationTransformPlugin } from '#src/postprocess/plugins/citation-transform';
|
|
8
|
+
function createDocument(paragraphText) {
|
|
9
|
+
return {
|
|
10
|
+
type: 'document',
|
|
11
|
+
children: [{
|
|
12
|
+
type: 'paragraph',
|
|
13
|
+
children: [{ type: 'text', value: paragraphText }],
|
|
14
|
+
}],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function getSectionDocument(paragraphText) {
|
|
18
|
+
return {
|
|
19
|
+
type: 'document',
|
|
20
|
+
children: [{
|
|
21
|
+
type: 'section',
|
|
22
|
+
children: [{
|
|
23
|
+
type: 'paragraph',
|
|
24
|
+
children: [{ type: 'text', value: paragraphText }],
|
|
25
|
+
}],
|
|
26
|
+
}],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
describe('CitationTransformPlugin', () => {
|
|
30
|
+
it('transforms basic [[FOO]] citations', async () => {
|
|
31
|
+
const doc = createDocument('See [[RFC2119]] for details.');
|
|
32
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
33
|
+
const para = doc.children[0];
|
|
34
|
+
expect(para.children.length).toBe(3);
|
|
35
|
+
expect(para.children[0].value).toBe('See ');
|
|
36
|
+
expect(para.children[1].type).toBe('cite');
|
|
37
|
+
expect(para.children[1].key).toBe('rfc2119');
|
|
38
|
+
expect(para.children[2].value).toBe(' for details.');
|
|
39
|
+
});
|
|
40
|
+
it('transforms [[!FOO]] as forced normative', async () => {
|
|
41
|
+
const doc = createDocument('As required by [[!RFC2119]].');
|
|
42
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
43
|
+
const para = doc.children[0];
|
|
44
|
+
const cite = para.children[1];
|
|
45
|
+
expect(cite.key).toBe('rfc2119');
|
|
46
|
+
expect(cite.forcedNormative).toBe(true);
|
|
47
|
+
expect(cite.kind).toBe('normative');
|
|
48
|
+
});
|
|
49
|
+
it('transforms [[?FOO]] as forced informative', async () => {
|
|
50
|
+
const doc = createDocument('For background, see [[?HTML]].');
|
|
51
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
52
|
+
const para = doc.children[0];
|
|
53
|
+
const cite = para.children[1];
|
|
54
|
+
expect(cite.key).toBe('html');
|
|
55
|
+
expect(cite.forcedInformative).toBe(true);
|
|
56
|
+
expect(cite.kind).toBe('informative');
|
|
57
|
+
});
|
|
58
|
+
it('transforms [[[FOO]]] as expanded', async () => {
|
|
59
|
+
const doc = createDocument('See [[[RFC2119]]] specification.');
|
|
60
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
61
|
+
const para = doc.children[0];
|
|
62
|
+
const cite = para.children[1];
|
|
63
|
+
expect(cite.key).toBe('rfc2119');
|
|
64
|
+
expect(cite.expanded).toBe(true);
|
|
65
|
+
});
|
|
66
|
+
it('transforms multiple citations in one text', async () => {
|
|
67
|
+
const doc = createDocument('See [[RFC2119]] and [[HTML]].');
|
|
68
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
69
|
+
const para = doc.children[0];
|
|
70
|
+
expect(para.children.length).toBe(5);
|
|
71
|
+
expect(para.children[1].key).toBe('rfc2119');
|
|
72
|
+
expect(para.children[3].key).toBe('html');
|
|
73
|
+
});
|
|
74
|
+
it('transforms citations in sections', async () => {
|
|
75
|
+
const doc = getSectionDocument('Reference [[DOM]].');
|
|
76
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
77
|
+
const section = doc.children[0];
|
|
78
|
+
const para = section.children[0];
|
|
79
|
+
expect(para.children[1].key).toBe('dom');
|
|
80
|
+
});
|
|
81
|
+
it('preserves text without citations', async () => {
|
|
82
|
+
const doc = createDocument('No citations here.');
|
|
83
|
+
await citationTransformPlugin.transform({ document: doc, level: 0 });
|
|
84
|
+
const para = doc.children[0];
|
|
85
|
+
expect(para.children.length).toBe(1);
|
|
86
|
+
expect(para.children[0].value).toBe('No citations here.');
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=citation-transform.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation-transform.test.js","sourceRoot":"","sources":["../../../src/postprocess/__tests__/citation-transform.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dfn-resolve.test.d.ts","sourceRoot":"","sources":["../../../src/postprocess/__tests__/dfn-resolve.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DFN Index and Reference Resolve Plugin Tests
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect } from 'vitest';
|
|
5
|
+
import { dfnIndexPlugin } from '#src/postprocess/plugins/dfn-index';
|
|
6
|
+
import { referenceResolvePlugin } from '#src/postprocess/plugins/reference-resolve';
|
|
7
|
+
function createDocWithDfnAndRef(dfnTerm, refTerm) {
|
|
8
|
+
return {
|
|
9
|
+
type: 'document',
|
|
10
|
+
children: [{
|
|
11
|
+
type: 'section',
|
|
12
|
+
children: [
|
|
13
|
+
{
|
|
14
|
+
type: 'paragraph',
|
|
15
|
+
children: [{
|
|
16
|
+
type: 'definition',
|
|
17
|
+
term: dfnTerm,
|
|
18
|
+
children: [{ type: 'text', value: dfnTerm }],
|
|
19
|
+
}],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'paragraph',
|
|
23
|
+
children: [{
|
|
24
|
+
type: 'reference',
|
|
25
|
+
targetTerm: refTerm,
|
|
26
|
+
children: [{ type: 'text', value: refTerm }],
|
|
27
|
+
}],
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
}],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
describe('DfnIndexPlugin', () => {
|
|
34
|
+
it('assigns ID to definition', async () => {
|
|
35
|
+
const doc = createDocWithDfnAndRef('task queue', 'task queue');
|
|
36
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
37
|
+
const section = doc.children[0];
|
|
38
|
+
const dfnPara = section.children[0];
|
|
39
|
+
const dfn = dfnPara.children[0];
|
|
40
|
+
expect(dfn.id).toBe('dfn-task-queue');
|
|
41
|
+
});
|
|
42
|
+
it('preserves explicitId on definition', async () => {
|
|
43
|
+
const doc = {
|
|
44
|
+
type: 'document',
|
|
45
|
+
children: [{
|
|
46
|
+
type: 'section',
|
|
47
|
+
children: [{
|
|
48
|
+
type: 'paragraph',
|
|
49
|
+
children: [{
|
|
50
|
+
type: 'definition',
|
|
51
|
+
term: 'focus',
|
|
52
|
+
explicitId: 'dom-focus',
|
|
53
|
+
children: [{ type: 'text', value: 'focus' }],
|
|
54
|
+
}],
|
|
55
|
+
}],
|
|
56
|
+
}],
|
|
57
|
+
};
|
|
58
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
59
|
+
const section = doc.children[0];
|
|
60
|
+
const dfnPara = section.children[0];
|
|
61
|
+
const dfn = dfnPara.children[0];
|
|
62
|
+
expect(dfn.id).toBe('dom-focus');
|
|
63
|
+
});
|
|
64
|
+
it('builds definition index', async () => {
|
|
65
|
+
const doc = createDocWithDfnAndRef('event loop', 'event loop');
|
|
66
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
67
|
+
expect(doc.indexes?.definitions).toHaveLength(1);
|
|
68
|
+
expect(doc.indexes?.definitions?.[0].term).toBe('event loop');
|
|
69
|
+
expect(doc.indexes?.definitions?.[0].id).toBe('dfn-event-loop');
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('ReferenceResolvePlugin', () => {
|
|
73
|
+
it('resolves reference to definition with same term', async () => {
|
|
74
|
+
const doc = createDocWithDfnAndRef('event loop', 'event loop');
|
|
75
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
76
|
+
await referenceResolvePlugin.resolve({ document: doc, level: 0 });
|
|
77
|
+
const section = doc.children[0];
|
|
78
|
+
const refPara = section.children[1];
|
|
79
|
+
const ref = refPara.children[0];
|
|
80
|
+
expect(ref.targetId).toBe('dfn-event-loop');
|
|
81
|
+
});
|
|
82
|
+
it('resolves reference using candidateTerms', async () => {
|
|
83
|
+
const doc = {
|
|
84
|
+
type: 'document',
|
|
85
|
+
children: [{
|
|
86
|
+
type: 'section',
|
|
87
|
+
children: [
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
children: [{
|
|
91
|
+
type: 'definition',
|
|
92
|
+
term: 'event loop',
|
|
93
|
+
linkTexts: ['event loop', 'loop'],
|
|
94
|
+
children: [{ type: 'text', value: 'event loop' }],
|
|
95
|
+
}],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'paragraph',
|
|
99
|
+
children: [{
|
|
100
|
+
type: 'reference',
|
|
101
|
+
targetTerm: 'loop',
|
|
102
|
+
candidateTerms: ['loop'],
|
|
103
|
+
children: [{ type: 'text', value: 'loop' }],
|
|
104
|
+
}],
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
}],
|
|
108
|
+
};
|
|
109
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
110
|
+
await referenceResolvePlugin.resolve({ document: doc, level: 0 });
|
|
111
|
+
const section = doc.children[0];
|
|
112
|
+
const refPara = section.children[1];
|
|
113
|
+
const ref = refPara.children[0];
|
|
114
|
+
expect(ref.targetId).toBe('dfn-event-loop');
|
|
115
|
+
});
|
|
116
|
+
it('resolves with forContext matching', async () => {
|
|
117
|
+
const doc = {
|
|
118
|
+
type: 'document',
|
|
119
|
+
children: [{
|
|
120
|
+
type: 'section',
|
|
121
|
+
children: [
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
children: [{
|
|
125
|
+
type: 'definition',
|
|
126
|
+
term: 'postMessage',
|
|
127
|
+
forContexts: ['Window'],
|
|
128
|
+
children: [{ type: 'text', value: 'postMessage' }],
|
|
129
|
+
}],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
children: [{
|
|
134
|
+
type: 'reference',
|
|
135
|
+
targetTerm: 'postMessage',
|
|
136
|
+
forContexts: ['Window'],
|
|
137
|
+
children: [{ type: 'text', value: 'postMessage' }],
|
|
138
|
+
}],
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
}],
|
|
142
|
+
};
|
|
143
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
144
|
+
await referenceResolvePlugin.resolve({ document: doc, level: 0 });
|
|
145
|
+
const section = doc.children[0];
|
|
146
|
+
const refPara = section.children[1];
|
|
147
|
+
const ref = refPara.children[0];
|
|
148
|
+
expect(ref.targetId).toBe('dfn-window-postmessage');
|
|
149
|
+
});
|
|
150
|
+
it('leaves targetId undefined for unresolved reference', async () => {
|
|
151
|
+
const doc = createDocWithDfnAndRef('foo', 'bar');
|
|
152
|
+
await dfnIndexPlugin.index({ document: doc, level: 0 });
|
|
153
|
+
await referenceResolvePlugin.resolve({ document: doc, level: 0 });
|
|
154
|
+
const section = doc.children[0];
|
|
155
|
+
const refPara = section.children[1];
|
|
156
|
+
const ref = refPara.children[0];
|
|
157
|
+
expect(ref.targetId).toBeUndefined();
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=dfn-resolve.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dfn-resolve.test.js","sourceRoot":"","sources":["../../../src/postprocess/__tests__/dfn-resolve.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-id.test.d.ts","sourceRoot":"","sources":["../../../src/postprocess/__tests__/section-id.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|