summaryrefslogtreecommitdiff
path: root/node_modules/typedoc/dist/lib/output/themes/lib.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/typedoc/dist/lib/output/themes/lib.js')
-rw-r--r--node_modules/typedoc/dist/lib/output/themes/lib.js134
1 files changed, 134 insertions, 0 deletions
diff --git a/node_modules/typedoc/dist/lib/output/themes/lib.js b/node_modules/typedoc/dist/lib/output/themes/lib.js
new file mode 100644
index 0000000..3b88e52
--- /dev/null
+++ b/node_modules/typedoc/dist/lib/output/themes/lib.js
@@ -0,0 +1,134 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.renderName = exports.camelToTitleCase = exports.renderTypeParametersSignature = exports.hasTypeParameters = exports.classNames = exports.renderFlags = exports.join = exports.wbr = exports.getKindClass = exports.toStyleClass = exports.getDisplayName = exports.stringify = void 0;
+const models_1 = require("../../models");
+const utils_1 = require("../../utils");
+function stringify(data) {
+ if (typeof data === "bigint") {
+ return data.toString() + "n";
+ }
+ return JSON.stringify(data);
+}
+exports.stringify = stringify;
+function getDisplayName(refl) {
+ let version = "";
+ if ((refl instanceof models_1.DeclarationReflection || refl instanceof models_1.ProjectReflection) && refl.packageVersion) {
+ version = ` - v${refl.packageVersion}`;
+ }
+ return `${refl.name}${version}`;
+}
+exports.getDisplayName = getDisplayName;
+function toStyleClass(str) {
+ return str.replace(/(\w)([A-Z])/g, (_m, m1, m2) => m1 + "-" + m2).toLowerCase();
+}
+exports.toStyleClass = toStyleClass;
+function getKindClass(refl) {
+ if (refl instanceof models_1.ReferenceReflection) {
+ return getKindClass(refl.getTargetReflectionDeep());
+ }
+ return models_1.ReflectionKind.classString(refl.kind);
+}
+exports.getKindClass = getKindClass;
+/**
+ * Insert word break tags ``<wbr>`` into the given string.
+ *
+ * Breaks the given string at ``_``, ``-`` and capital letters.
+ *
+ * @param str The string that should be split.
+ * @return The original string containing ``<wbr>`` tags where possible.
+ */
+function wbr(str) {
+ // TODO surely there is a better way to do this, but I'm tired.
+ const ret = [];
+ const re = /[\s\S]*?(?:[^_-][_-](?=[^_-])|[^A-Z](?=[A-Z][^A-Z]))/g;
+ let match;
+ let i = 0;
+ while ((match = re.exec(str))) {
+ ret.push(match[0], utils_1.JSX.createElement("wbr", null));
+ i += match[0].length;
+ }
+ ret.push(str.slice(i));
+ return ret;
+}
+exports.wbr = wbr;
+function join(joiner, list, cb) {
+ const result = [];
+ for (const item of list) {
+ if (result.length > 0) {
+ result.push(joiner);
+ }
+ result.push(cb(item));
+ }
+ return utils_1.JSX.createElement(utils_1.JSX.Fragment, null, result);
+}
+exports.join = join;
+function renderFlags(flags, comment) {
+ const allFlags = [...flags];
+ if (comment) {
+ allFlags.push(...Array.from(comment.modifierTags, (tag) => tag.replace(/@([a-z])/, (x) => x[1].toUpperCase())));
+ }
+ return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null, allFlags.map((item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ utils_1.JSX.createElement("code", { class: "tsd-tag ts-flag" + item }, item),
+ " ")))));
+}
+exports.renderFlags = renderFlags;
+function classNames(names, extraCss) {
+ const css = Object.keys(names)
+ .filter((key) => names[key])
+ .concat(extraCss || "")
+ .join(" ")
+ .trim()
+ .replace(/\s+/g, " ");
+ return css.length ? css : undefined;
+}
+exports.classNames = classNames;
+function hasTypeParameters(reflection) {
+ return ((reflection instanceof models_1.DeclarationReflection || reflection instanceof models_1.SignatureReflection) &&
+ reflection.typeParameters != null &&
+ reflection.typeParameters.length > 0);
+}
+exports.hasTypeParameters = hasTypeParameters;
+function renderTypeParametersSignature(context, typeParameters) {
+ if (!typeParameters || typeParameters.length === 0)
+ return utils_1.JSX.createElement(utils_1.JSX.Fragment, null);
+ const hideParamTypes = context.options.getValue("hideParameterTypesInTitle");
+ if (hideParamTypes) {
+ return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "<"),
+ join(utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ", "), typeParameters, (item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ item.flags.isConst && "const ",
+ item.varianceModifier ? `${item.varianceModifier} ` : "",
+ utils_1.JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, item.name)))),
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")));
+ }
+ return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, "<"),
+ join(utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ", "), typeParameters, (item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ item.flags.isConst && "const ",
+ item.varianceModifier ? `${item.varianceModifier} ` : "",
+ utils_1.JSX.createElement("span", { class: "tsd-signature-type tsd-kind-type-parameter" }, item.name),
+ !!item.type && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, " extends "),
+ context.type(item.type)))))),
+ utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, ">")));
+}
+exports.renderTypeParametersSignature = renderTypeParametersSignature;
+function camelToTitleCase(text) {
+ return text.substring(0, 1).toUpperCase() + text.substring(1).replace(/[a-z][A-Z]/g, (x) => `${x[0]} ${x[1]}`);
+}
+exports.camelToTitleCase = camelToTitleCase;
+/**
+ * Renders the reflection name with an additional `?` if optional.
+ */
+function renderName(refl) {
+ if (!refl.name) {
+ return utils_1.JSX.createElement("em", null, wbr(models_1.ReflectionKind.singularString(refl.kind)));
+ }
+ if (refl.flags.isOptional) {
+ return utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
+ wbr(refl.name),
+ "?");
+ }
+ return wbr(refl.name);
+}
+exports.renderName = renderName;