starlight-fsharp-oracle 0.1.0 → 0.1.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/Extensions/StringBuilder.js +2 -5
- package/dist/Extensions/TextNode.js +29 -54
- package/dist/FSharp.Oracle.Schema/Schema.js +113 -218
- package/dist/Generate.js +33 -63
- package/dist/Helpers.js +1 -2
- package/dist/Plugin.js +17 -31
- package/dist/Render/Documentation.js +1 -2
- package/dist/Render/Entries.js +29 -34
- package/dist/Render/Pages.js +10 -19
- package/dist/Render/Primitives.js +19 -32
- package/dist/Themes.js +3 -5
- package/dist/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs +57 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js +105 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/Fable.Promise.fableproj +20 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/Promise.fs +766 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +232 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs +31 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +20 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Decode.fs +1592 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Decode.fs.js +1417 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/DecoderCE.fs +106 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/DecoderCE.fs.js +63 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Encode.fs +380 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Encode.fs.js +289 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Thoth.Json.Core.fableproj +37 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Types.fs +76 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Types.fs.js +37 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Casing.fs +113 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Casing.fs.js +173 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs +1153 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs.js +622 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs +91 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs.js +103 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Encode.fs +893 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Encode.fs.js +836 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Prelude.fs +435 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Prelude.fs.js +389 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Thoth.Json.Core.Auto.fableproj +43 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs +88 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js +102 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Encode.fs +40 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Encode.fs.js +59 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Thoth.Json.JavaScript.fableproj +31 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Array.js +1347 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Async.js +134 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/AsyncBuilder.js +183 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/BigInt.js +306 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/BitConverter.js +138 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Boolean.js +22 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/CHANGELOG.md +191 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Char.js +202 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Choice.js +184 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/CollectionUtil.js +182 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/ConditionalWeakTable.js +21 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Date.js +755 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/DateOffset.js +261 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/DateOnly.js +124 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Decimal.js +236 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Double.js +47 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Encoding.js +185 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Event.js +93 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Collections.js +45 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Core.CompilerServices.js +27 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Core.js +156 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Global.js +29 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Guid.js +161 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Int32.js +135 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/List.js +1323 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Long.js +47 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MailboxProcessor.js +94 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Map.js +1396 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MapUtil.js +130 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MutableMap.js +339 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MutableSet.js +233 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Native.js +14 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Numeric.js +75 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Observable.js +113 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Option.js +104 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/README.md +3 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Random.js +172 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Range.js +45 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Reflection.js +460 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/RegExp.js +141 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Result.js +165 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Seq.js +1409 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Seq2.js +111 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Set.js +1788 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/String.js +649 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.Collections.Generic.js +333 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.Text.js +168 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.js +283 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/TimeOnly.js +122 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/TimeSpan.js +180 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Timer.js +67 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Types.js +198 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Unicode.13.0.0.js +4 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Uri.js +165 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Util.js +792 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/big.d.ts +338 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/lib/big.js +825 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/package.json +24 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/quotation.js +618 -0
- package/package.json +4 -5
- package/packages/FSharp.Oracle/XmlDoc.fs +12 -1
- package/packages/FSharp.Oracle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle/obj/Debug/net10.0/FSharp.Oracle.AssemblyInfo.fs +17 -0
- package/packages/FSharp.Oracle/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle/obj/Release/net10.0/FSharp.Oracle.AssemblyInfo.fs +17 -0
- package/packages/FSharp.Oracle.Schema/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle.Schema/obj/Debug/net10.0/FSharp.Oracle.Schema.AssemblyInfo.fs +17 -0
- package/packages/FSharp.Oracle.Schema/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle.Schema/obj/Release/net10.0/FSharp.Oracle.Schema.AssemblyInfo.fs +17 -0
- package/oracle-bin/FSharp.Compiler.Service.dll +0 -0
- package/oracle-bin/FSharp.Core.dll +0 -0
- package/oracle-bin/FSharp.DependencyManager.Nuget.dll +0 -0
- package/oracle-bin/FSharp.Oracle.Schema.dll +0 -0
- package/oracle-bin/FSharp.Oracle.Schema.pdb +0 -0
- package/oracle-bin/FSharp.Oracle.Schema.xml +0 -219
- package/oracle-bin/Fable.Core.dll +0 -0
- package/oracle-bin/Oracle +0 -0
- package/oracle-bin/Oracle.deps.json +0 -280
- package/oracle-bin/Oracle.dll +0 -0
- package/oracle-bin/Oracle.pdb +0 -0
- package/oracle-bin/Oracle.runtimeconfig.json +0 -13
- package/oracle-bin/Oracle.xml +0 -111
- package/oracle-bin/Thoth.Json.Core.Auto.dll +0 -0
- package/oracle-bin/Thoth.Json.Core.dll +0 -0
- package/oracle-bin/Thoth.Json.System.Text.Json.dll +0 -0
- package/oracle-bin/cs/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/cs/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/cs/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/de/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/de/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/de/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/es/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/es/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/es/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/fr/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/fr/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/fr/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/it/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/it/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/it/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/ja/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/ja/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/ja/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/ko/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/ko/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/ko/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/pl/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/pl/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/pl/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/pt-BR/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/pt-BR/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/pt-BR/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/ru/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/ru/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/ru/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/tr/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/tr/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/tr/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/zh-Hans/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/zh-Hans/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/zh-Hans/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/zh-Hant/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/zh-Hant/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/zh-Hant/FSharp.DependencyManager.Nuget.resources.dll +0 -0
package/dist/Generate.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
import { join,
|
|
2
|
+
import { join, split, concat, substring, replace } from "./fable_modules/fable-library-js.5.0.0-rc.7/String.js";
|
|
3
3
|
import { cons, append, toArray, exists, isEmpty, map, filter, ofArray, collect, sort } from "./fable_modules/fable-library-js.5.0.0-rc.7/List.js";
|
|
4
4
|
import { List_distinct } from "./fable_modules/fable-library-js.5.0.0-rc.7/Seq2.js";
|
|
5
5
|
import { scan, tail } from "./fable_modules/fable-library-js.5.0.0-rc.7/Array.js";
|
|
6
|
-
import {
|
|
6
|
+
import { comparePrimitives, stringHash } from "./fable_modules/fable-library-js.5.0.0-rc.7/Util.js";
|
|
7
7
|
import { renderRootIndexPage, renderEntityPage, renderModulePage, renderNamespacePage } from "./Render.js";
|
|
8
8
|
import { singleton, append as append_1, map as map_1, collect as collect_1, delay, toList } from "./fable_modules/fable-library-js.5.0.0-rc.7/Seq.js";
|
|
9
9
|
import { Entity__get_Name, Entity__get_FullName } from "./FSharp.Oracle.Schema/Schema.js";
|
|
@@ -20,17 +20,14 @@ function toSlug(name) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
function expandNamespaces(namespaces) {
|
|
23
|
-
return sort(List_distinct(collect((ns) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
}, "", parts)));
|
|
33
|
-
}, namespaces), {
|
|
23
|
+
return sort(List_distinct(collect((ns) => ofArray(tail(scan((acc, part) => {
|
|
24
|
+
if (acc === "") {
|
|
25
|
+
return part;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return concat(acc, ".", ...part);
|
|
29
|
+
}
|
|
30
|
+
}, "", split(ns, ["."], undefined, 0)))), namespaces), {
|
|
34
31
|
Equals: (x, y) => (x === y),
|
|
35
32
|
GetHashCode: (x) => (stringHash(x) | 0),
|
|
36
33
|
}), {
|
|
@@ -50,16 +47,9 @@ function escapeYaml(s) {
|
|
|
50
47
|
}
|
|
51
48
|
|
|
52
49
|
function toMdxPage(page) {
|
|
53
|
-
|
|
54
|
-
if (isEmpty(page.TocEntries)) {
|
|
55
|
-
headingsSection = "headings: []";
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
const entries = join("\n", map((e) => (` - depth: ${e.Depth}
|
|
50
|
+
const headingsSection = isEmpty(page.TocEntries) ? "headings: []" : ("headings:\n" + join("\n", map((e) => (` - depth: ${e.Depth}
|
|
59
51
|
slug: "${escapeYaml(e.Slug)}"
|
|
60
|
-
text: "${escapeYaml(e.Text)}"`), page.TocEntries));
|
|
61
|
-
headingsSection = ("headings:\n" + entries);
|
|
62
|
-
}
|
|
52
|
+
text: "${escapeYaml(e.Text)}"`), page.TocEntries)));
|
|
63
53
|
return `---
|
|
64
54
|
layout: 'starlight-fsharp-oracle/layouts/FSharpDocLayout.astro'
|
|
65
55
|
title: "${escapeYaml(page.Title)}"
|
|
@@ -75,41 +65,38 @@ ${page.TemplateBody}`;
|
|
|
75
65
|
export function namespacePages(outputBase, modules) {
|
|
76
66
|
const realModules = filter((m) => !m.IsSynthetic, modules);
|
|
77
67
|
const allNamespaces = namespacesOf(modules);
|
|
78
|
-
const htmlLinkGen = (name, fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`);
|
|
79
|
-
const directChildNamespaces = (ns) => filter((other) => {
|
|
80
|
-
if (other.startsWith(ns + ".") && !(other.slice(ns.length + 1, other.length).indexOf(".") >= 0)) {
|
|
81
|
-
return !exists((m_1) => (m_1.FullName === other), realModules);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
}, allNamespaces);
|
|
87
68
|
const syntheticModules = filter((m_2) => m_2.IsSynthetic, modules);
|
|
88
69
|
return map((ns_1) => {
|
|
89
70
|
const slug = toSlug(ns_1);
|
|
90
71
|
const modulesInNs = filter((m_3) => (m_3.Namespace === ns_1), realModules);
|
|
91
|
-
|
|
72
|
+
let subNamespaces;
|
|
73
|
+
const ns = ns_1;
|
|
74
|
+
subNamespaces = filter((other) => {
|
|
75
|
+
if (other.startsWith(ns + ".") && !(other.slice(ns.length + 1, other.length).indexOf(".") >= 0)) {
|
|
76
|
+
return !exists((m_1) => (m_1.FullName === other), realModules);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}, allNamespaces);
|
|
92
82
|
const entitiesInNs = collect((m_5) => m_5.Entities, filter((m_4) => (m_4.Namespace === ns_1), syntheticModules));
|
|
93
|
-
return [slug, toMdxPage(renderNamespacePage(
|
|
83
|
+
return [slug, toMdxPage(renderNamespacePage((name) => ((fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`)))(ns_1)(subNamespaces)(entitiesInNs)(modulesInNs))];
|
|
94
84
|
}, allNamespaces);
|
|
95
85
|
}
|
|
96
86
|
|
|
97
87
|
export function modulePages(outputBase, modules) {
|
|
98
88
|
const realModules = filter((m) => !m.IsSynthetic, modules);
|
|
99
|
-
const htmlLinkGen = (name, fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`);
|
|
100
89
|
return map((m_1) => {
|
|
101
90
|
const subModules = filter((other) => (other.Namespace === m_1.FullName), realModules);
|
|
102
|
-
return [toSlug(m_1.FullName), toMdxPage(renderModulePage(
|
|
91
|
+
return [toSlug(m_1.FullName), toMdxPage(renderModulePage((name) => ((fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`)))(m_1)(subModules))];
|
|
103
92
|
}, realModules);
|
|
104
93
|
}
|
|
105
94
|
|
|
106
95
|
export function entityPages(outputBase, modules) {
|
|
107
|
-
|
|
108
|
-
return toList(delay(() => collect_1((m) => map_1((e) => [toSlug(Entity__get_FullName(e)), toMdxPage(renderEntityPage(curry2(htmlLinkGen))(e)(m))], m.Entities), modules)));
|
|
96
|
+
return toList(delay(() => collect_1((m) => map_1((e) => [toSlug(Entity__get_FullName(e)), toMdxPage(renderEntityPage((name) => ((fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`)))(e)(m))], m.Entities), modules)));
|
|
109
97
|
}
|
|
110
98
|
|
|
111
99
|
export function rootIndexPage(outputBase, assemblies, modules) {
|
|
112
|
-
const htmlLinkGen = (name, fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`);
|
|
113
100
|
const globalModules = filter((m) => {
|
|
114
101
|
if (!m.IsSynthetic) {
|
|
115
102
|
return m.Namespace === "";
|
|
@@ -118,7 +105,7 @@ export function rootIndexPage(outputBase, assemblies, modules) {
|
|
|
118
105
|
return false;
|
|
119
106
|
}
|
|
120
107
|
}, modules);
|
|
121
|
-
return ["index", toMdxPage(renderRootIndexPage(
|
|
108
|
+
return ["index", toMdxPage(renderRootIndexPage((name) => ((fullName) => (`<a href="/${outputBase}/${toSlug(fullName)}">${name}</a>`)))(assemblies)(globalModules))];
|
|
122
109
|
}
|
|
123
110
|
|
|
124
111
|
function sidebarLink(outputBase, label, fullName, letter, kind) {
|
|
@@ -161,8 +148,6 @@ function entityLetterAndKind(entity) {
|
|
|
161
148
|
|
|
162
149
|
function entitySidebarItem(outputBase, entity) {
|
|
163
150
|
const patternInput = entityLetterAndKind(entity);
|
|
164
|
-
const letter = patternInput[0];
|
|
165
|
-
const kind = patternInput[1];
|
|
166
151
|
return {
|
|
167
152
|
label: Entity__get_Name(entity),
|
|
168
153
|
link: concat("/", outputBase, "/", ...toSlug(Entity__get_FullName(entity))),
|
|
@@ -184,16 +169,10 @@ export function sidebarTree(outputBase, label, modules) {
|
|
|
184
169
|
});
|
|
185
170
|
const moduleSidebarItem = (m_3) => {
|
|
186
171
|
const subModules = filter((other) => (other.Namespace === m_3.FullName), realModules);
|
|
187
|
-
|
|
172
|
+
return sidebarGroup(m_3.Name, "M", "module", append(cons({
|
|
188
173
|
label: "Overview",
|
|
189
174
|
link: moduleHref(m_3),
|
|
190
|
-
};
|
|
191
|
-
const entityItems = map((entity) => entitySidebarItem(outputBase, entity), m_3.Entities);
|
|
192
|
-
const functionItems = map((f) => anchorLink(f.Name, concat(moduleHref(m_3), "#", ...f.Name)), m_3.Functions);
|
|
193
|
-
const valueItems = map((v) => anchorLink(v.Name, concat(moduleHref(m_3), "#", ...v.Name)), m_3.Values);
|
|
194
|
-
const subModuleItems = map(moduleSidebarItem, subModules);
|
|
195
|
-
const children = append(cons(overviewLink, entityItems), append(functionItems, append(valueItems, subModuleItems)));
|
|
196
|
-
return sidebarGroup(m_3.Name, "M", "module", children);
|
|
175
|
+
}, map((entity) => entitySidebarItem(outputBase, entity), m_3.Entities)), append(map((f) => anchorLink(f.Name, concat(moduleHref(m_3), "#", ...f.Name)), m_3.Functions), append(map((v) => anchorLink(v.Name, concat(moduleHref(m_3), "#", ...v.Name)), m_3.Values), map(moduleSidebarItem, subModules)))));
|
|
197
176
|
};
|
|
198
177
|
const buildNsGroup = (ns) => {
|
|
199
178
|
let shortName;
|
|
@@ -209,18 +188,10 @@ export function sidebarTree(outputBase, label, modules) {
|
|
|
209
188
|
}, allNamespaces);
|
|
210
189
|
const modulesInNs = filter((m_5) => (m_5.Namespace === ns), realModules);
|
|
211
190
|
const syntheticInNs = filter((m_6) => (m_6.Namespace === ns), syntheticModules);
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
else {
|
|
217
|
-
let smShortName;
|
|
218
|
-
const lastDot_1 = sm.FullName.lastIndexOf(".") | 0;
|
|
219
|
-
smShortName = ((lastDot_1 < 0) ? sm.FullName : sm.FullName.slice(lastDot_1 + 1, sm.FullName.length));
|
|
220
|
-
return singleton(sidebarGroup(smShortName, "N", "namespace", map((entity_2) => entitySidebarItem(outputBase, entity_2), sm.Entities)));
|
|
221
|
-
}
|
|
222
|
-
}, syntheticInNs), delay(() => map(buildNsGroup, directChildNs)))))));
|
|
223
|
-
return sidebarGroup(shortName, "N", "namespace", items);
|
|
191
|
+
return sidebarGroup(shortName, "N", "namespace", toList(delay(() => append_1(map(moduleSidebarItem, modulesInNs), delay(() => append_1(collect_1((sm) => {
|
|
192
|
+
let lastDot_1;
|
|
193
|
+
return (sm.Name === "global") ? map((entity_1) => entitySidebarItem(outputBase, entity_1), sm.Entities) : singleton(sidebarGroup((lastDot_1 = (sm.FullName.lastIndexOf(".") | 0), (lastDot_1 < 0) ? sm.FullName : sm.FullName.slice(lastDot_1 + 1, sm.FullName.length)), "N", "namespace", map((entity_2) => entitySidebarItem(outputBase, entity_2), sm.Entities)));
|
|
194
|
+
}, syntheticInNs), delay(() => map(buildNsGroup, directChildNs))))))));
|
|
224
195
|
};
|
|
225
196
|
const topLevelNs = filter((ns_1) => {
|
|
226
197
|
if (!exists((other_2) => ns_1.startsWith(other_2 + "."), allNamespaces)) {
|
|
@@ -248,7 +219,6 @@ export function sidebarTree(outputBase, label, modules) {
|
|
|
248
219
|
* needing any F#-generated JS logic.
|
|
249
220
|
*/
|
|
250
221
|
export function sidebarLabelInitScript(sidebarLabel) {
|
|
251
|
-
|
|
252
|
-
return concat("window.__fsharpSidebarLabel = \'", escaped, ..."\';");
|
|
222
|
+
return concat("window.__fsharpSidebarLabel = \'", replace(replace(sidebarLabel, "\\", "\\\\"), "\'", "\\\'"), ..."\';");
|
|
253
223
|
}
|
|
254
224
|
|
package/dist/Helpers.js
CHANGED
package/dist/Plugin.js
CHANGED
|
@@ -6,22 +6,22 @@ import * as child_process from "child_process";
|
|
|
6
6
|
import { map, defaultArg, some } from "./fable_modules/fable-library-js.5.0.0-rc.7/Option.js";
|
|
7
7
|
import { stringHash, Exception } from "./fable_modules/fable-library-js.5.0.0-rc.7/Util.js";
|
|
8
8
|
import { join, concat, interpolate } from "./fable_modules/fable-library-js.5.0.0-rc.7/String.js";
|
|
9
|
+
import { unsafeFromString } from "./fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js";
|
|
10
|
+
import { generateDecoder } from "./fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs.js";
|
|
9
11
|
import { Extra_empty } from "./fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs.js";
|
|
10
12
|
import { Root_$reflection } from "./FSharp.Oracle.Schema/Schema.js";
|
|
11
|
-
import { generateDecoder } from "./fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs.js";
|
|
12
|
-
import { unsafeFromString } from "./fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js";
|
|
13
13
|
import { PromiseBuilder__Delay_62FBFDE1, PromiseBuilder__Run_212F1D4B } from "./fable_modules/Fable.Promise.3.2.0/Promise.fs.js";
|
|
14
14
|
import { promise } from "./fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js";
|
|
15
15
|
import { createRenderer } from "astro-expressive-code";
|
|
16
16
|
import { generateCss } from "./Themes.js";
|
|
17
17
|
import { length, isEmpty, contains, filter, map as map_1, collect } from "./fable_modules/fable-library-js.5.0.0-rc.7/List.js";
|
|
18
18
|
import { entityPages, rootIndexPage, namespacePages as namespacePages_1, modulePages as modulePages_1, sidebarTree, sidebarLabelInitScript } from "./Generate.js";
|
|
19
|
-
import {
|
|
19
|
+
import { FileOperationResult$1, collectErrors, writeSync, mkdirSync } from "./Helpers.js";
|
|
20
20
|
|
|
21
21
|
function runExtractor(logger, outputBase, dllPaths) {
|
|
22
22
|
const maxBuffer = ((50 * 1024) * 1024) | 0;
|
|
23
|
-
const
|
|
24
|
-
const args = toList(delay(() => append(singleton(
|
|
23
|
+
const oracleDll = path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "oracle-bin", "Oracle.dll");
|
|
24
|
+
const args = toList(delay(() => append(singleton(oracleDll), delay(() => append(singleton("--output-base"), delay(() => append(singleton(outputBase), delay(() => dllPaths))))))));
|
|
25
25
|
const result = child_process.spawnSync("dotnet", Array.from(args), some({
|
|
26
26
|
encoding: "utf-8",
|
|
27
27
|
maxBuffer: maxBuffer,
|
|
@@ -35,13 +35,7 @@ ${interpolate("%A%P()", [result.stderr])}`);
|
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
const json = result.stdout;
|
|
38
|
-
|
|
39
|
-
const extra_1 = Extra_empty;
|
|
40
|
-
const losslessOption_1 = true;
|
|
41
|
-
const ty = Root_$reflection();
|
|
42
|
-
const decoder = generateDecoder(undefined, extra_1.DecoderOverrides, false, losslessOption_1, ty);
|
|
43
|
-
decoder_1 = decoder;
|
|
44
|
-
return unsafeFromString(decoder_1, json);
|
|
38
|
+
return unsafeFromString(generateDecoder(undefined, Extra_empty.DecoderOverrides, false, true, Root_$reflection()), json);
|
|
45
39
|
}
|
|
46
40
|
}
|
|
47
41
|
|
|
@@ -63,9 +57,8 @@ function starlightFSharpDoc(pluginOptions) {
|
|
|
63
57
|
clo(arg);
|
|
64
58
|
});
|
|
65
59
|
return createRenderer({}).then((_arg) => {
|
|
66
|
-
let matchValue, matchValue_1,
|
|
67
|
-
const
|
|
68
|
-
const themesCss = generateCss(ecRenderer);
|
|
60
|
+
let matchValue, matchValue_1, msg;
|
|
61
|
+
const themesCss = generateCss(_arg);
|
|
69
62
|
const outputBase = defaultArg(pluginOptions.output, "api");
|
|
70
63
|
const root = runExtractor(logger, outputBase, toList(pluginOptions.assemblies));
|
|
71
64
|
const modules = collect((_arg_1) => _arg_1.Modules, root.Assemblies);
|
|
@@ -82,25 +75,19 @@ function starlightFSharpDoc(pluginOptions) {
|
|
|
82
75
|
sidebar: toArray(delay(() => append(existingSidebar, delay(() => singleton(sidebarTree(outputBase, sidebarLabel, modules)))))),
|
|
83
76
|
});
|
|
84
77
|
const outputDir = path.join(astroConfig.root.pathname, "src", "pages", outputBase);
|
|
85
|
-
return ((matchValue = mkdirSync(outputDir), (matchValue.tag === 0) ? ((matchValue_1 = writeSync(path.join(outputDir, ".gitignore"), "# Autogenerated by starlight-fsharp-oracle\n**/*\n"), (matchValue_1.tag === 0) ? (Promise.resolve()) : ((
|
|
78
|
+
return ((matchValue = mkdirSync(outputDir), (matchValue.tag === 0) ? ((matchValue_1 = writeSync(path.join(outputDir, ".gitignore"), "# Autogenerated by starlight-fsharp-oracle\n**/*\n"), (matchValue_1.tag === 0) ? (Promise.resolve()) : ((logger.warn(concat("Failed to write .gitignore: ", ...matchValue_1.fields[0])), Promise.resolve())))) : ((msg = matchValue.fields[0], (logger.error(msg), ((() => {
|
|
86
79
|
throw new Exception(msg);
|
|
87
80
|
})(), Promise.resolve())))))).then(() => PromiseBuilder__Delay_62FBFDE1(promise, () => {
|
|
88
81
|
const modulePages = modulePages_1(outputBase, modules);
|
|
89
82
|
const namespacePages = namespacePages_1(outputBase, modules);
|
|
90
83
|
const moduleSlugs = map_1((tuple) => tuple[0], modulePages);
|
|
91
|
-
const dedupedNamespacePages = filter((tupledArg) => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const pages = toList(delay(() => append(singleton(rootIndexPage(outputBase, root.Assemblies, modules)), delay(() => append(dedupedNamespacePages, delay(() => append(modulePages, delay(() => entityPages(outputBase, modules)))))))));
|
|
99
|
-
const writeResults = map_1((tupledArg_1) => {
|
|
100
|
-
const slug_1 = tupledArg_1[0];
|
|
101
|
-
const content = tupledArg_1[1];
|
|
102
|
-
const filePath = path.join(outputDir, slug_1 + ".mdx");
|
|
103
|
-
const matchValue_2 = writeSync(filePath, content);
|
|
84
|
+
const dedupedNamespacePages = filter((tupledArg) => !contains(tupledArg[0], moduleSlugs, {
|
|
85
|
+
Equals: (x, y) => (x === y),
|
|
86
|
+
GetHashCode: (x) => (stringHash(x) | 0),
|
|
87
|
+
}), namespacePages);
|
|
88
|
+
const errors = collectErrors(map_1((tupledArg_1) => {
|
|
89
|
+
const filePath = path.join(outputDir, tupledArg_1[0] + ".mdx");
|
|
90
|
+
const matchValue_2 = writeSync(filePath, tupledArg_1[1]);
|
|
104
91
|
if (matchValue_2.tag === 0) {
|
|
105
92
|
logger.info(concat(" wrote ", ...filePath));
|
|
106
93
|
return new FileOperationResult$1(0, [undefined]);
|
|
@@ -110,8 +97,7 @@ function starlightFSharpDoc(pluginOptions) {
|
|
|
110
97
|
logger.error(msg_2);
|
|
111
98
|
return new FileOperationResult$1(1, [msg_2]);
|
|
112
99
|
}
|
|
113
|
-
},
|
|
114
|
-
const errors = collectErrors(writeResults);
|
|
100
|
+
}, toList(delay(() => append(singleton(rootIndexPage(outputBase, root.Assemblies, modules)), delay(() => append(dedupedNamespacePages, delay(() => append(modulePages, delay(() => entityPages(outputBase, modules)))))))))));
|
|
115
101
|
if (!isEmpty(errors)) {
|
|
116
102
|
const errorMsg = (`Failed to write ${length(errors)} file(s):
|
|
117
103
|
`) + join("\n", errors);
|
|
@@ -13,8 +13,7 @@ export function renderSummary(sb, xmlDoc) {
|
|
|
13
13
|
if (matchValue == null) {
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
|
-
|
|
17
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(summary));
|
|
16
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(matchValue));
|
|
18
17
|
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
19
18
|
}
|
|
20
19
|
}
|
package/dist/Render/Entries.js
CHANGED
|
@@ -1,50 +1,46 @@
|
|
|
1
1
|
|
|
2
|
+
import { tocH3, h2, escapeMdxText, renderDocEntry } from "./Primitives.js";
|
|
3
|
+
import { FSharp_Oracle_Schema_TextNode__TextNode_ToHtml_Static_Z3A0E64B3, FSharp_Oracle_Schema_TextNode__TextNode_get_Html } from "../Extensions/TextNode.js";
|
|
4
|
+
import { MemberKind, TextNode, ObsoleteInfo } from "../FSharp.Oracle.Schema/Schema.js";
|
|
5
|
+
import { renderXmlDocBody, renderDocumentationBlock } from "./Documentation.js";
|
|
2
6
|
import { collect, map, ofArray, isEmpty, filter } from "../fable_modules/fable-library-js.5.0.0-rc.7/List.js";
|
|
3
7
|
import { System_Text_StringBuilder__StringBuilder_NewLine, System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5 } from "../Extensions/StringBuilder.js";
|
|
4
8
|
import { equals, disposeSafe, getEnumerator } from "../fable_modules/fable-library-js.5.0.0-rc.7/Util.js";
|
|
5
|
-
import { FSharp_Oracle_Schema_TextNode__TextNode_get_Html, FSharp_Oracle_Schema_TextNode__TextNode_ToHtml_Static_Z3A0E64B3 } from "../Extensions/TextNode.js";
|
|
6
|
-
import { MemberKind, ObsoleteInfo, TextNode } from "../FSharp.Oracle.Schema/Schema.js";
|
|
7
|
-
import { tocH3, h2, renderDocEntry, escapeMdxText } from "./Primitives.js";
|
|
8
9
|
import { value as value_1 } from "../fable_modules/fable-library-js.5.0.0-rc.7/Option.js";
|
|
9
|
-
import { renderXmlDocBody, renderDocumentationBlock } from "./Documentation.js";
|
|
10
10
|
import { join } from "../fable_modules/fable-library-js.5.0.0-rc.7/String.js";
|
|
11
11
|
import { map as map_1, singleton, append, delay, toList } from "../fable_modules/fable-library-js.5.0.0-rc.7/Seq.js";
|
|
12
12
|
|
|
13
13
|
export function renderUnionCaseEntry(sb, case$) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
renderDocEntry(sb, case$.Name, FSharp_Oracle_Schema_TextNode__TextNode_get_Html(case$.Declaration), new ObsoleteInfo(0, []), () => {
|
|
15
|
+
renderDocumentationBlock(sb, case$.XmlDoc, () => {
|
|
16
|
+
const documentedFields = filter((f) => (f.XmlDoc.Summary != null), case$.Fields);
|
|
17
|
+
if (!isEmpty(documentedFields)) {
|
|
18
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, "<strong>Fields</strong>");
|
|
19
|
+
const enumerator = getEnumerator(documentedFields);
|
|
20
|
+
try {
|
|
21
|
+
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
22
|
+
const f_1 = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
23
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, FSharp_Oracle_Schema_TextNode__TextNode_ToHtml_Static_Z3A0E64B3(ofArray([new TextNode(23, ["div", "fs-parameter__signature"]), new TextNode(20, []), new TextNode(0, [f_1.Name]), new TextNode(9, []), new TextNode(12, []), new TextNode(9, []), f_1.Type, new TextNode(20, []), new TextNode(22, ["div"]), new TextNode(20, [])])));
|
|
24
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, "<div class=\'fs-parameter__documentation\'>");
|
|
25
|
+
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
26
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(value_1(f_1.XmlDoc.Summary)));
|
|
27
|
+
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
28
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, "</div>");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
disposeSafe(enumerator);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const renderDocumentation = () => {
|
|
37
|
-
renderDocumentationBlock(sb, case$.XmlDoc, renderFields);
|
|
38
|
-
};
|
|
39
|
-
renderDocEntry(sb, case$.Name, FSharp_Oracle_Schema_TextNode__TextNode_get_Html(case$.Declaration), new ObsoleteInfo(0, []), renderDocumentation);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
export function renderRecordField(sb, field) {
|
|
43
|
-
|
|
40
|
+
renderDocEntry(sb, field.Name, FSharp_Oracle_Schema_TextNode__TextNode_get_Html(field.Declaration), new ObsoleteInfo(0, []), () => {
|
|
44
41
|
renderDocumentationBlock(sb, field.XmlDoc, () => {
|
|
45
42
|
});
|
|
46
|
-
};
|
|
47
|
-
renderDocEntry(sb, field.Name, FSharp_Oracle_Schema_TextNode__TextNode_get_Html(field.Declaration), new ObsoleteInfo(0, []), renderDocumentation);
|
|
43
|
+
});
|
|
48
44
|
}
|
|
49
45
|
|
|
50
46
|
export function renderMemberEntry(sb, m) {
|
|
@@ -139,10 +135,9 @@ export function renderFunctionEntry(sb, f) {
|
|
|
139
135
|
}
|
|
140
136
|
|
|
141
137
|
export function renderValueEntry(sb, v) {
|
|
142
|
-
|
|
138
|
+
renderDocEntry(sb, v.Name, FSharp_Oracle_Schema_TextNode__TextNode_get_Html(v.Declaration), v.ObsoleteInfo, () => {
|
|
143
139
|
renderDocumentationBlock(sb, v.XmlDoc, () => {
|
|
144
140
|
});
|
|
145
|
-
};
|
|
146
|
-
renderDocEntry(sb, v.Name, FSharp_Oracle_Schema_TextNode__TextNode_get_Html(v.Declaration), v.ObsoleteInfo, renderDocumentation);
|
|
141
|
+
});
|
|
147
142
|
}
|
|
148
143
|
|
package/dist/Render/Pages.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { isEmpty } from "../fable_modules/fable-library-js.5.0.0-rc.7/List.js";
|
|
3
|
-
import { tocH3, renderObsoleteBanner,
|
|
3
|
+
import { tocH3, renderObsoleteBanner, escapeMdxInline, obsoleteInlineHtml, h2 } from "./Primitives.js";
|
|
4
4
|
import { System_Text_StringBuilder__StringBuilder_Write_Z721C83C5, System_Text_StringBuilder__StringBuilder_NewLine, System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5 } from "../Extensions/StringBuilder.js";
|
|
5
5
|
import { disposeSafe, getEnumerator } from "../fable_modules/fable-library-js.5.0.0-rc.7/Util.js";
|
|
6
6
|
import { concat } from "../fable_modules/fable-library-js.5.0.0-rc.7/String.js";
|
|
@@ -26,8 +26,7 @@ export function renderDeclaredModules(sb, toc, htmlLinkGen, modules) {
|
|
|
26
26
|
if (matchValue == null) {
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
|
-
|
|
30
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxText(doc), ..."</dd>"));
|
|
29
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxInline(matchValue), ..."</dd>"));
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
}
|
|
@@ -55,9 +54,8 @@ export function renderEntityPage(htmlLinkGen, entity, parentModule) {
|
|
|
55
54
|
renderXmlDocSummaryAndRemarks(sb, toc, Entity__get_XmlDoc(entity));
|
|
56
55
|
switch (entity.tag) {
|
|
57
56
|
case 1: {
|
|
58
|
-
const e = entity.fields[0];
|
|
59
57
|
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, "<div class=\"collapsible-group\">");
|
|
60
|
-
const enumerator = getEnumerator(
|
|
58
|
+
const enumerator = getEnumerator(entity.fields[0].Cases);
|
|
61
59
|
try {
|
|
62
60
|
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
63
61
|
const c = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
@@ -95,13 +93,11 @@ export function renderEntityPage(htmlLinkGen, entity, parentModule) {
|
|
|
95
93
|
break;
|
|
96
94
|
}
|
|
97
95
|
case 3: {
|
|
98
|
-
|
|
99
|
-
renderMemberSections(sb, toc, e_1.Members);
|
|
96
|
+
renderMemberSections(sb, toc, entity.fields[0].Members);
|
|
100
97
|
break;
|
|
101
98
|
}
|
|
102
99
|
case 4: {
|
|
103
|
-
|
|
104
|
-
renderMemberSections(sb, toc, e_2.Members);
|
|
100
|
+
renderMemberSections(sb, toc, entity.fields[0].Members);
|
|
105
101
|
break;
|
|
106
102
|
}
|
|
107
103
|
case 7: {
|
|
@@ -140,11 +136,9 @@ export function renderNamespacePage(htmlLinkGen, ns, subNamespaces, entities, mo
|
|
|
140
136
|
const enumerator = getEnumerator(subNamespaces);
|
|
141
137
|
try {
|
|
142
138
|
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
139
|
+
let lastDot;
|
|
143
140
|
const subNs = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
144
|
-
|
|
145
|
-
const lastDot = subNs.lastIndexOf(".") | 0;
|
|
146
|
-
shortName = ((lastDot < 0) ? subNs : subNs.slice(lastDot + 1, subNs.length));
|
|
147
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dt>", htmlLinkGen(shortName, subNs), ..."</dt>"));
|
|
141
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dt>", htmlLinkGen((lastDot = (subNs.lastIndexOf(".") | 0), (lastDot < 0) ? subNs : subNs.slice(lastDot + 1, subNs.length)), subNs), ..."</dt>"));
|
|
148
142
|
}
|
|
149
143
|
}
|
|
150
144
|
finally {
|
|
@@ -165,8 +159,7 @@ export function renderNamespacePage(htmlLinkGen, ns, subNamespaces, entities, mo
|
|
|
165
159
|
if (matchValue == null) {
|
|
166
160
|
}
|
|
167
161
|
else {
|
|
168
|
-
|
|
169
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxText(summary), ..."</dd>"));
|
|
162
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxInline(matchValue), ..."</dd>"));
|
|
170
163
|
}
|
|
171
164
|
}
|
|
172
165
|
}
|
|
@@ -197,8 +190,7 @@ export function renderModulePage(htmlLinkGen, m, subModules) {
|
|
|
197
190
|
if (matchValue == null) {
|
|
198
191
|
}
|
|
199
192
|
else {
|
|
200
|
-
|
|
201
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxText(summary), ..."</dd>"));
|
|
193
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxInline(matchValue), ..."</dd>"));
|
|
202
194
|
}
|
|
203
195
|
}
|
|
204
196
|
}
|
|
@@ -260,8 +252,7 @@ export function renderRootIndexPage(htmlLinkGen, assemblies, globalModules) {
|
|
|
260
252
|
if (matchValue == null) {
|
|
261
253
|
}
|
|
262
254
|
else {
|
|
263
|
-
|
|
264
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxText(doc), ..."</dd>"));
|
|
255
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<dd>", escapeMdxInline(matchValue), ..."</dd>"));
|
|
265
256
|
}
|
|
266
257
|
}
|
|
267
258
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { concat, replace } from "../fable_modules/fable-library-js.5.0.0-rc.7/String.js";
|
|
3
|
+
import { replace as replace_1 } from "../fable_modules/fable-library-js.5.0.0-rc.7/RegExp.js";
|
|
3
4
|
import { TocEntry } from "./Types.js";
|
|
4
5
|
import { System_Text_StringBuilder__StringBuilder_Write_Z721C83C5, System_Text_StringBuilder__StringBuilder_NewLine, System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5 } from "../Extensions/StringBuilder.js";
|
|
5
6
|
import { indexed, head, tail, isEmpty } from "../fable_modules/fable-library-js.5.0.0-rc.7/List.js";
|
|
@@ -13,6 +14,15 @@ export function escapeMdxText(text) {
|
|
|
13
14
|
return replace(replace(replace(replace(replace(text, "&", "&"), "<", "<"), ">", ">"), "{", "{"), "}", "}");
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Escape text destined for an inline element such as `<dd>`. A blank line in
|
|
19
|
+
* the source would be parsed by MDX as a paragraph break and close the
|
|
20
|
+
* element early, so all whitespace runs are collapsed to single spaces first.
|
|
21
|
+
*/
|
|
22
|
+
export function escapeMdxInline(text) {
|
|
23
|
+
return escapeMdxText(replace_1(text, "\\s+", " ").trim());
|
|
24
|
+
}
|
|
25
|
+
|
|
16
26
|
export function h2(sb, toc, slug, text) {
|
|
17
27
|
void (toc.push(new TocEntry(2, slug, text)));
|
|
18
28
|
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, `<h2 id="${slug}">${text}</h2>`);
|
|
@@ -24,24 +34,8 @@ export function tocH3(toc, slug, text) {
|
|
|
24
34
|
}
|
|
25
35
|
|
|
26
36
|
export function renderDocEntry(sb, name, signatureHtml, obsoleteInfo, renderDocumentation) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
case 1: {
|
|
30
|
-
patternInput = [" obsolete", ""];
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
case 2: {
|
|
34
|
-
const msg = obsoleteInfo.fields[0];
|
|
35
|
-
const escaped = replace(msg, "\"", """);
|
|
36
|
-
patternInput = [" obsolete", concat(" obsoleteMessage=\"", escaped, ..."\"")];
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
default:
|
|
40
|
-
patternInput = ["", ""];
|
|
41
|
-
}
|
|
42
|
-
const obsoleteMessageAttr = patternInput[1];
|
|
43
|
-
const obsoleteAttr = patternInput[0];
|
|
44
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, `<DocEntry name="${name}"${obsoleteAttr}${obsoleteMessageAttr}>`);
|
|
37
|
+
const patternInput = (obsoleteInfo.tag === 1) ? [" obsolete", ""] : ((obsoleteInfo.tag === 2) ? [" obsolete", concat(" obsoleteMessage=\"", replace(obsoleteInfo.fields[0], "\"", """), ..."\"")] : ["", ""]);
|
|
38
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, `<DocEntry name="${name}"${patternInput[0]}${patternInput[1]}>`);
|
|
45
39
|
System_Text_StringBuilder__StringBuilder_Write_Z721C83C5(sb, "<div class=\"fsharp-doc-sig\" slot=\"signature\">");
|
|
46
40
|
System_Text_StringBuilder__StringBuilder_Write_Z721C83C5(sb, signatureHtml);
|
|
47
41
|
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, "</div>");
|
|
@@ -59,8 +53,7 @@ export function renderObsoleteBanner(sb, obsoleteInfo) {
|
|
|
59
53
|
break;
|
|
60
54
|
}
|
|
61
55
|
case 2: {
|
|
62
|
-
|
|
63
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<Aside type=\"caution\" title=\"Deprecated\">", escapeMdxText(msg), ..."</Aside>"));
|
|
56
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, concat("<Aside type=\"caution\" title=\"Deprecated\">", escapeMdxText(obsoleteInfo.fields[0]), ..."</Aside>"));
|
|
64
57
|
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
65
58
|
break;
|
|
66
59
|
}
|
|
@@ -73,10 +66,8 @@ export function obsoleteInlineHtml(obsoleteInfo) {
|
|
|
73
66
|
switch (obsoleteInfo.tag) {
|
|
74
67
|
case 1:
|
|
75
68
|
return " <span class=\"fsharp-doc-obsolete-inline\">Deprecated</span>";
|
|
76
|
-
case 2:
|
|
77
|
-
|
|
78
|
-
return concat(" <span class=\"fsharp-doc-obsolete-inline\" title=\"", msg, ..."\">Deprecated</span>");
|
|
79
|
-
}
|
|
69
|
+
case 2:
|
|
70
|
+
return concat(" <span class=\"fsharp-doc-obsolete-inline\" title=\"", obsoleteInfo.fields[0], ..."\">Deprecated</span>");
|
|
80
71
|
default:
|
|
81
72
|
return "";
|
|
82
73
|
}
|
|
@@ -85,23 +76,19 @@ export function obsoleteInlineHtml(obsoleteInfo) {
|
|
|
85
76
|
export function renderExamples(sb, examples) {
|
|
86
77
|
if (!isEmpty(examples)) {
|
|
87
78
|
if (isEmpty(tail(examples))) {
|
|
88
|
-
const single = head(examples);
|
|
89
79
|
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, "<strong>Example</strong>");
|
|
90
80
|
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
91
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(
|
|
81
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(head(examples)));
|
|
92
82
|
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
93
83
|
}
|
|
94
84
|
else {
|
|
95
|
-
const
|
|
96
|
-
const enumerator = getEnumerator(indexed(multiple));
|
|
85
|
+
const enumerator = getEnumerator(indexed(examples));
|
|
97
86
|
try {
|
|
98
87
|
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
99
88
|
const forLoopVar = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
100
|
-
|
|
101
|
-
const example = forLoopVar[1];
|
|
102
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, `<strong>Example ${i + 1}</strong>`);
|
|
89
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, `<strong>Example ${forLoopVar[0] + 1}</strong>`);
|
|
103
90
|
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
104
|
-
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(
|
|
91
|
+
System_Text_StringBuilder__StringBuilder_WriteLine_Z721C83C5(sb, escapeMdxText(forLoopVar[1]));
|
|
105
92
|
System_Text_StringBuilder__StringBuilder_NewLine(sb);
|
|
106
93
|
}
|
|
107
94
|
}
|
package/dist/Themes.js
CHANGED
|
@@ -26,15 +26,14 @@ function colorFor(theme, targetScopes) {
|
|
|
26
26
|
const fg = theme.fg;
|
|
27
27
|
return defaultArg(tryPick((rule) => {
|
|
28
28
|
const ruleScopes = scopesOf(rule);
|
|
29
|
-
|
|
29
|
+
if (!exists((target) => ruleScopes.some((rs) => {
|
|
30
30
|
if (target === rs) {
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
return target.startsWith(rs + ".");
|
|
35
35
|
}
|
|
36
|
-
}), targetScopes)
|
|
37
|
-
if (!matches) {
|
|
36
|
+
}), targetScopes)) {
|
|
38
37
|
return undefined;
|
|
39
38
|
}
|
|
40
39
|
else {
|
|
@@ -60,8 +59,7 @@ export function generateCss(ecRenderer) {
|
|
|
60
59
|
const sb = StringBuilder_$ctor();
|
|
61
60
|
for (let idx = 0; idx <= (themes.length - 1); idx++) {
|
|
62
61
|
const theme = item(idx, themes);
|
|
63
|
-
const
|
|
64
|
-
const selector = (themeType === "dark") ? ":root[data-theme=\'dark\']" : ":root";
|
|
62
|
+
const selector = (theme.type === "dark") ? ":root[data-theme=\'dark\']" : ":root";
|
|
65
63
|
const kw = colorFor(theme, ofArray(["keyword", "storage.type", "keyword.operator"]));
|
|
66
64
|
const fn_ = colorFor(theme, ofArray(["variable", "entity.name.function"]));
|
|
67
65
|
const type_ = colorFor(theme, ofArray(["entity", "entity.name"]));
|