typedoc 0.23.10 → 0.23.13
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/index.d.ts +1 -1
- package/dist/lib/application-events.d.ts +3 -0
- package/dist/lib/application-events.js +6 -0
- package/dist/lib/application.d.ts +9 -1
- package/dist/lib/application.js +18 -5
- package/dist/lib/converter/comments/declarationReferenceResolver.js +9 -1
- package/dist/lib/converter/plugins/LinkResolverPlugin.js +5 -0
- package/dist/lib/converter/types.js +6 -1
- package/dist/lib/converter/utils/nodes.js +1 -3
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +2 -2
- package/dist/lib/output/themes/default/partials/hierarchy.d.ts +1 -1
- package/dist/lib/output/themes/default/partials/hierarchy.js +5 -3
- package/dist/lib/output/themes/default/partials/typeParameters.js +14 -11
- package/dist/lib/output/themes/default/templates/reflection.js +5 -6
- package/dist/lib/utils/entry-point.js +15 -5
- package/dist/lib/utils/fs.js +4 -1
- package/dist/lib/utils/general.d.ts +1 -0
- package/dist/lib/utils/general.js +13 -5
- package/dist/lib/utils/index.d.ts +1 -1
- package/dist/lib/utils/options/declaration.d.ts +51 -31
- package/dist/lib/utils/options/declaration.js +16 -3
- package/dist/lib/utils/options/index.d.ts +1 -1
- package/dist/lib/utils/options/options.js +4 -1
- package/dist/lib/utils/options/sources/typedoc.js +6 -0
- package/dist/lib/utils/package-manifest.d.ts +2 -2
- package/dist/lib/utils/package-manifest.js +8 -12
- package/dist/lib/utils/paths.d.ts +3 -3
- package/package.json +13 -13
- package/static/main.js +1 -1
- package/static/style.css +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { Converter, Context, type CommentParserConfig } from "./lib/converter";
|
|
|
7
7
|
export { Renderer, DefaultTheme, DefaultThemeRenderContext, UrlMapping, Theme, PageEvent, RendererEvent, MarkdownEvent, IndexEvent, } from "./lib/output";
|
|
8
8
|
export type { RenderTemplate, RendererHooks } from "./lib/output";
|
|
9
9
|
export { ArgumentsReader, BindOption, CommentStyle, JSX, LogLevel, Logger, Options, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, EntryPointStrategy, EventHooks, MinimalSourceFile, } from "./lib/utils";
|
|
10
|
-
export type { OptionsReader, TypeDocOptions, TypeDocOptionMap, ValidationOptions, TypeDocOptionValues, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, SortStrategy, ParameterTypeToOptionTypeMap, DocumentationEntryPoint, ManuallyValidatedOption, } from "./lib/utils";
|
|
10
|
+
export type { OptionsReader, TypeDocOptions, TypeDocOptionMap, ValidationOptions, TypeDocOptionValues, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, ObjectDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, SortStrategy, ParameterTypeToOptionTypeMap, DocumentationEntryPoint, ManuallyValidatedOption, } from "./lib/utils";
|
|
11
11
|
export type { EventMap, EventCallback } from "./lib/utils/events";
|
|
12
12
|
export { JSONOutput, Serializer, type SerializerComponent, SerializeEvent, } from "./lib/serialization";
|
|
13
13
|
export type { SerializeEventData } from "./lib/serialization";
|
|
@@ -39,11 +39,19 @@ export declare class Application extends ChildableComponent<Application, Abstrac
|
|
|
39
39
|
logger: Logger;
|
|
40
40
|
options: Options;
|
|
41
41
|
/** @internal */
|
|
42
|
-
loggerType: string | Function;
|
|
42
|
+
readonly loggerType: string | Function;
|
|
43
|
+
/** @internal */
|
|
44
|
+
readonly skipErrorChecking: boolean;
|
|
43
45
|
/**
|
|
44
46
|
* The version number of TypeDoc.
|
|
45
47
|
*/
|
|
46
48
|
static VERSION: string;
|
|
49
|
+
/**
|
|
50
|
+
* Emitted after plugins have been loaded and options have been read, but before they have been frozen.
|
|
51
|
+
* The listener will be given an instance of {@link Application} and the {@link TypeDocOptions | Partial<TypeDocOptions>}
|
|
52
|
+
* passed to `bootstrap`.
|
|
53
|
+
*/
|
|
54
|
+
static readonly EVENT_BOOTSTRAP_END: string;
|
|
47
55
|
/**
|
|
48
56
|
* Create a new TypeDoc application instance.
|
|
49
57
|
*
|
package/dist/lib/application.js
CHANGED
|
@@ -24,6 +24,7 @@ const general_1 = require("./utils/general");
|
|
|
24
24
|
const exports_1 = require("./validation/exports");
|
|
25
25
|
const documentation_1 = require("./validation/documentation");
|
|
26
26
|
const links_1 = require("./validation/links");
|
|
27
|
+
const application_events_1 = require("./application-events");
|
|
27
28
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
28
29
|
const packageInfo = require("../../package.json");
|
|
29
30
|
const supportedVersionMajorMinor = packageInfo.peerDependencies.typescript
|
|
@@ -96,8 +97,9 @@ let Application = Application_1 = class Application extends component_1.Childabl
|
|
|
96
97
|
}
|
|
97
98
|
this.options.read(this.logger);
|
|
98
99
|
if ((0, general_1.hasBeenLoadedMultipleTimes)()) {
|
|
99
|
-
this.logger.warn(`TypeDoc has been loaded multiple times. This is commonly caused by plugins which have their own installation of TypeDoc.
|
|
100
|
+
this.logger.warn(`TypeDoc has been loaded multiple times. This is commonly caused by plugins which have their own installation of TypeDoc. The loaded paths are:\n\t${(0, general_1.getLoadedPaths)().join("\n\t")}`);
|
|
100
101
|
}
|
|
102
|
+
this.trigger(application_events_1.ApplicationEvents.BOOTSTRAP_END, this, options);
|
|
101
103
|
}
|
|
102
104
|
/**
|
|
103
105
|
* Return the path to the TypeScript compiler.
|
|
@@ -136,10 +138,12 @@ let Application = Application_1 = class Application extends component_1.Childabl
|
|
|
136
138
|
}
|
|
137
139
|
const programs = (0, array_1.unique)(entryPoints.map((e) => e.program));
|
|
138
140
|
this.logger.verbose(`Converting with ${programs.length} programs ${entryPoints.length} entry points`);
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
if (this.skipErrorChecking === false) {
|
|
142
|
+
const errors = programs.flatMap((program) => ts.getPreEmitDiagnostics(program));
|
|
143
|
+
if (errors.length) {
|
|
144
|
+
this.logger.diagnostics(errors);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
143
147
|
}
|
|
144
148
|
if (this.options.getValue("emit") === "both") {
|
|
145
149
|
for (const program of programs) {
|
|
@@ -302,9 +306,18 @@ let Application = Application_1 = class Application extends component_1.Childabl
|
|
|
302
306
|
* The version number of TypeDoc.
|
|
303
307
|
*/
|
|
304
308
|
Application.VERSION = packageInfo.version;
|
|
309
|
+
/**
|
|
310
|
+
* Emitted after plugins have been loaded and options have been read, but before they have been frozen.
|
|
311
|
+
* The listener will be given an instance of {@link Application} and the {@link TypeDocOptions | Partial<TypeDocOptions>}
|
|
312
|
+
* passed to `bootstrap`.
|
|
313
|
+
*/
|
|
314
|
+
Application.EVENT_BOOTSTRAP_END = application_events_1.ApplicationEvents.BOOTSTRAP_END;
|
|
305
315
|
__decorate([
|
|
306
316
|
(0, utils_1.BindOption)("logger")
|
|
307
317
|
], Application.prototype, "loggerType", void 0);
|
|
318
|
+
__decorate([
|
|
319
|
+
(0, utils_1.BindOption)("skipErrorChecking")
|
|
320
|
+
], Application.prototype, "skipErrorChecking", void 0);
|
|
308
321
|
Application = Application_1 = __decorate([
|
|
309
322
|
(0, component_1.Component)({ name: "application", internal: true })
|
|
310
323
|
], Application);
|
|
@@ -29,6 +29,9 @@ function resolveDeclarationReference(reflection, ref) {
|
|
|
29
29
|
if (refl.kindOf(models_1.ReflectionKind.ExportContainer)) {
|
|
30
30
|
high.push(refl);
|
|
31
31
|
}
|
|
32
|
+
else {
|
|
33
|
+
low.push(refl);
|
|
34
|
+
}
|
|
32
35
|
}
|
|
33
36
|
if (reflection.kindOf(models_1.ReflectionKind.SomeMember)) {
|
|
34
37
|
high.push(reflection.parent);
|
|
@@ -38,7 +41,12 @@ function resolveDeclarationReference(reflection, ref) {
|
|
|
38
41
|
high.push(reflection.parent.parent);
|
|
39
42
|
}
|
|
40
43
|
else if (high[0] !== reflection) {
|
|
41
|
-
|
|
44
|
+
if (reflection.parent instanceof models_1.ContainerReflection) {
|
|
45
|
+
high.push(...(reflection.parent.children?.filter((c) => c.name === reflection.name) || []));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
high.push(reflection);
|
|
49
|
+
}
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
if (ref.symbolReference) {
|
|
@@ -10,6 +10,7 @@ exports.LinkResolverPlugin = void 0;
|
|
|
10
10
|
const components_1 = require("../components");
|
|
11
11
|
const converter_events_1 = require("../converter-events");
|
|
12
12
|
const utils_1 = require("../../utils");
|
|
13
|
+
const models_1 = require("../../models");
|
|
13
14
|
/**
|
|
14
15
|
* A plugin that resolves `{@link Foo}` tags.
|
|
15
16
|
*/
|
|
@@ -26,6 +27,10 @@ let LinkResolverPlugin = class LinkResolverPlugin extends components_1.Converter
|
|
|
26
27
|
if (reflection.comment) {
|
|
27
28
|
context.converter.resolveLinks(reflection.comment, reflection);
|
|
28
29
|
}
|
|
30
|
+
if (reflection instanceof models_1.DeclarationReflection &&
|
|
31
|
+
reflection.readme) {
|
|
32
|
+
reflection.readme = context.converter.resolveLinks(reflection.readme, reflection);
|
|
33
|
+
}
|
|
29
34
|
}
|
|
30
35
|
if (context.project.readme) {
|
|
31
36
|
context.project.readme = context.converter.resolveLinks(context.project.readme, context.project);
|
|
@@ -91,8 +91,13 @@ function convertType(context, typeOrNode) {
|
|
|
91
91
|
}
|
|
92
92
|
seenTypeSymbols.add(symbol);
|
|
93
93
|
}
|
|
94
|
-
|
|
94
|
+
let converter = converters.get(node.kind);
|
|
95
95
|
if (converter) {
|
|
96
|
+
// Hacky fix for #2011, need to find a better way to choose the converter.
|
|
97
|
+
if (converter === intersectionConverter &&
|
|
98
|
+
!typeOrNode.isIntersection()) {
|
|
99
|
+
converter = typeLiteralConverter;
|
|
100
|
+
}
|
|
96
101
|
const result = converter.convertType(context, typeOrNode, node);
|
|
97
102
|
if (symbol)
|
|
98
103
|
seenTypeSymbols.delete(symbol);
|
|
@@ -4,9 +4,7 @@ exports.getHeritageTypes = exports.isNamedNode = void 0;
|
|
|
4
4
|
const ts = require("typescript");
|
|
5
5
|
function isNamedNode(node) {
|
|
6
6
|
const name = node.name;
|
|
7
|
-
return
|
|
8
|
-
(ts.isIdentifierOrPrivateIdentifier(name) ||
|
|
9
|
-
ts.isComputedPropertyName(name)));
|
|
7
|
+
return !!name && (ts.isMemberName(name) || ts.isComputedPropertyName(name));
|
|
10
8
|
}
|
|
11
9
|
exports.isNamedNode = isNamedNode;
|
|
12
10
|
function getHeritageTypes(declarations, kind) {
|
|
@@ -6,7 +6,7 @@ export declare class DefaultThemeRenderContext {
|
|
|
6
6
|
private theme;
|
|
7
7
|
options: Options;
|
|
8
8
|
constructor(theme: DefaultTheme, options: Options);
|
|
9
|
-
icons: Record<"
|
|
9
|
+
icons: Record<"anchor" | import("../../../models").ReflectionKind | "search" | "checkbox" | "chevronDown" | "menu" | "chevronSmall", () => import("../../../utils/jsx.elements").JsxElement>;
|
|
10
10
|
hook: (name: keyof RendererHooks) => import("../../../utils/jsx.elements").JsxElement[];
|
|
11
11
|
/** Avoid this in favor of urlTo if possible */
|
|
12
12
|
relativeURL: (url: string | undefined) => string | undefined;
|
|
@@ -21,7 +21,7 @@ export declare class DefaultThemeRenderContext {
|
|
|
21
21
|
comment: (props: Reflection) => import("../../../utils/jsx.elements").JsxElement | undefined;
|
|
22
22
|
footer: () => import("../../../utils/jsx.elements").JsxElement | undefined;
|
|
23
23
|
header: (props: import("../..").PageEvent<Reflection>) => import("../../../utils/jsx.elements").JsxElement;
|
|
24
|
-
hierarchy: (props: import("../../../models").DeclarationHierarchy) => import("../../../utils/jsx.elements").JsxElement;
|
|
24
|
+
hierarchy: (props: import("../../../models").DeclarationHierarchy | undefined) => import("../../../utils/jsx.elements").JsxElement;
|
|
25
25
|
index: (props: import("../../../models").ContainerReflection) => import("../../../utils/jsx.elements").JsxElement;
|
|
26
26
|
member: (props: import("../../../models").DeclarationReflection) => import("../../../utils/jsx.elements").JsxElement;
|
|
27
27
|
memberDeclaration: (props: import("../../../models").DeclarationReflection) => import("../../../utils/jsx.elements").JsxElement;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
|
|
2
2
|
import { JSX } from "../../../../utils";
|
|
3
3
|
import type { DeclarationHierarchy } from "../../../../models";
|
|
4
|
-
export declare const hierarchy: (context: DefaultThemeRenderContext, props: DeclarationHierarchy) => JSX.Element;
|
|
4
|
+
export declare const hierarchy: (context: DefaultThemeRenderContext, props: DeclarationHierarchy | undefined) => JSX.Element;
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.hierarchy = void 0;
|
|
4
4
|
const utils_1 = require("../../../../utils");
|
|
5
|
-
const hierarchy = (context, props) => (utils_1.JSX.createElement(
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const hierarchy = (context, props) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null, !!props && (utils_1.JSX.createElement("section", { class: "tsd-panel tsd-hierarchy" },
|
|
6
|
+
utils_1.JSX.createElement("h4", null, "Hierarchy"),
|
|
7
|
+
utils_1.JSX.createElement("ul", { class: "tsd-hierarchy" }, props.types.map((item, i, l) => (utils_1.JSX.createElement("li", null,
|
|
8
|
+
props.isTarget ? utils_1.JSX.createElement("span", { class: "target" }, item.toString()) : context.type(item),
|
|
9
|
+
i === l.length - 1 && !!props.next && context.hierarchy(props.next)))))))));
|
|
8
10
|
exports.hierarchy = hierarchy;
|
|
@@ -3,16 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.typeParameters = void 0;
|
|
4
4
|
const utils_1 = require("../../../../utils");
|
|
5
5
|
function typeParameters(context, typeParameters) {
|
|
6
|
-
return (utils_1.JSX.createElement(
|
|
7
|
-
utils_1.JSX.createElement("
|
|
8
|
-
|
|
9
|
-
item.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
|
|
7
|
+
utils_1.JSX.createElement("section", { class: "tsd-panel tsd-type-parameters" },
|
|
8
|
+
utils_1.JSX.createElement("h4", null, "Type Parameters"),
|
|
9
|
+
utils_1.JSX.createElement("ul", { class: "tsd-type-parameters" }, typeParameters?.map((item) => (utils_1.JSX.createElement("li", null,
|
|
10
|
+
utils_1.JSX.createElement("h4", null,
|
|
11
|
+
item.varianceModifier ? `${item.varianceModifier} ` : "",
|
|
12
|
+
item.name,
|
|
13
|
+
!!item.type && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
|
|
14
|
+
utils_1.JSX.createElement("span", { class: "tsd-signature-symbol" }, " extends "),
|
|
15
|
+
context.type(item.type))),
|
|
16
|
+
!!item.default && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
|
|
17
|
+
" = ",
|
|
18
|
+
context.type(item.default)))),
|
|
19
|
+
context.comment(item))))))));
|
|
17
20
|
}
|
|
18
21
|
exports.typeParameters = typeParameters;
|
|
@@ -10,13 +10,12 @@ function reflectionTemplate(context, props) {
|
|
|
10
10
|
return context.memberDeclaration(props.model);
|
|
11
11
|
return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
|
|
12
12
|
props.model.hasComment() && (utils_1.JSX.createElement("section", { class: "tsd-panel tsd-comment" }, context.comment(props.model))),
|
|
13
|
-
(0, lib_1.hasTypeParameters)(props.model) &&
|
|
14
|
-
|
|
15
|
-
context.typeParameters(props.model.typeParameters)
|
|
13
|
+
(0, lib_1.hasTypeParameters)(props.model) && utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
|
|
14
|
+
" ",
|
|
15
|
+
context.typeParameters(props.model.typeParameters),
|
|
16
|
+
" "),
|
|
16
17
|
props.model instanceof models_1.DeclarationReflection && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
|
|
17
|
-
|
|
18
|
-
utils_1.JSX.createElement("h4", null, "Hierarchy"),
|
|
19
|
-
context.hierarchy(props.model.typeHierarchy))),
|
|
18
|
+
context.hierarchy(props.model.typeHierarchy),
|
|
20
19
|
!!props.model.implementedTypes && (utils_1.JSX.createElement("section", { class: "tsd-panel" },
|
|
21
20
|
utils_1.JSX.createElement("h4", null, "Implements"),
|
|
22
21
|
utils_1.JSX.createElement("ul", { class: "tsd-hierarchy" }, props.model.implementedTypes.map((item) => (utils_1.JSX.createElement("li", null, context.type(item))))))),
|
|
@@ -8,6 +8,8 @@ const Path = require("path");
|
|
|
8
8
|
const package_manifest_1 = require("./package-manifest");
|
|
9
9
|
const paths_1 = require("./paths");
|
|
10
10
|
const fs_1 = require("./fs");
|
|
11
|
+
const validation_1 = require("./validation");
|
|
12
|
+
const array_1 = require("./array");
|
|
11
13
|
/**
|
|
12
14
|
* Defines how entry points are interpreted.
|
|
13
15
|
* @enum
|
|
@@ -190,6 +192,15 @@ function expandInputFiles(logger, entryPoints, options) {
|
|
|
190
192
|
});
|
|
191
193
|
return files;
|
|
192
194
|
}
|
|
195
|
+
function deriveRootDir(packageGlobPaths) {
|
|
196
|
+
const globs = (0, paths_1.createMinimatch)(packageGlobPaths);
|
|
197
|
+
const rootPaths = globs.flatMap((glob) => (0, array_1.filterMap)(glob.set, (set) => {
|
|
198
|
+
const stop = set.findIndex((part) => typeof part !== "string");
|
|
199
|
+
const path = stop === -1 ? set : set.slice(0, stop);
|
|
200
|
+
return `/${path.join("/")}`;
|
|
201
|
+
}));
|
|
202
|
+
return (0, fs_1.getCommonDirectory)(rootPaths);
|
|
203
|
+
}
|
|
193
204
|
/**
|
|
194
205
|
* Expand the provided packages configuration paths, determining the entry points
|
|
195
206
|
* and creating the ts.Programs for any which are found.
|
|
@@ -200,9 +211,10 @@ function expandInputFiles(logger, entryPoints, options) {
|
|
|
200
211
|
function getEntryPointsForPackages(logger, packageGlobPaths, options) {
|
|
201
212
|
const results = [];
|
|
202
213
|
const exclude = (0, paths_1.createMinimatch)(options.getValue("exclude"));
|
|
214
|
+
const rootDir = deriveRootDir(packageGlobPaths);
|
|
203
215
|
// packages arguments are workspace tree roots, or glob patterns
|
|
204
216
|
// This expands them to leave only leaf packages
|
|
205
|
-
const expandedPackages = (0, package_manifest_1.expandPackages)(logger,
|
|
217
|
+
const expandedPackages = (0, package_manifest_1.expandPackages)(logger, rootDir, packageGlobPaths, exclude);
|
|
206
218
|
for (const packagePath of expandedPackages) {
|
|
207
219
|
const packageJsonPath = (0, path_1.resolve)(packagePath, "package.json");
|
|
208
220
|
const packageJson = (0, package_manifest_1.loadPackageManifest)(logger, packageJsonPath);
|
|
@@ -250,12 +262,10 @@ function getEntryPointsForPackages(logger, packageGlobPaths, options) {
|
|
|
250
262
|
});
|
|
251
263
|
const sourceFile = program.getSourceFile(packageEntryPoint);
|
|
252
264
|
if (sourceFile === undefined) {
|
|
253
|
-
logger.error(`Entry point "${packageEntryPoint}" does not appear to be built by the tsconfig found at "${tsconfigFile}"`);
|
|
265
|
+
logger.error(`Entry point "${packageEntryPoint}" does not appear to be built by/included in the tsconfig found at "${tsconfigFile}"`);
|
|
254
266
|
return;
|
|
255
267
|
}
|
|
256
|
-
if (includeVersion &&
|
|
257
|
-
(!packageJson["version"] ||
|
|
258
|
-
typeof packageJson["version"] !== "string")) {
|
|
268
|
+
if (includeVersion && !(0, validation_1.validate)({ version: String }, packageJson)) {
|
|
259
269
|
logger.warn(`--includeVersion was specified, but "${(0, paths_1.nicePath)(packageJsonPath)}" does not properly specify a version.`);
|
|
260
270
|
}
|
|
261
271
|
results.push({
|
package/dist/lib/utils/fs.js
CHANGED
|
@@ -149,7 +149,10 @@ function glob(pattern, root, options) {
|
|
|
149
149
|
}
|
|
150
150
|
if (child.isDirectory() && child.name !== "node_modules") {
|
|
151
151
|
const childPath = dir.concat(child.name);
|
|
152
|
-
if (mini.set.some((row) => mini.matchOne(childPath,
|
|
152
|
+
if (mini.set.some((row) => mini.matchOne(childPath,
|
|
153
|
+
// @ts-expect-error https://github.com/DefinitelyTyped/DefinitelyTyped/pull/62049
|
|
154
|
+
row,
|
|
155
|
+
/* partial */ true))) {
|
|
153
156
|
dirs.push(childPath);
|
|
154
157
|
}
|
|
155
158
|
}
|
|
@@ -39,4 +39,5 @@ export declare type Chars<T extends string> = T extends `${infer C}${infer R}` ?
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function assertNever(x: never): never;
|
|
41
41
|
export declare function hasBeenLoadedMultipleTimes(): boolean;
|
|
42
|
+
export declare function getLoadedPaths(): string[];
|
|
42
43
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasBeenLoadedMultipleTimes = exports.assertNever = void 0;
|
|
3
|
+
exports.getLoadedPaths = exports.hasBeenLoadedMultipleTimes = exports.assertNever = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
4
5
|
const Util = require("util");
|
|
5
6
|
/**
|
|
6
7
|
* Utility to help type checking ensure that there is no uncovered case.
|
|
@@ -15,10 +16,17 @@ exports.assertNever = assertNever;
|
|
|
15
16
|
* multiple times, then parts of it will not work as expected.
|
|
16
17
|
*/
|
|
17
18
|
const loadSymbol = Symbol.for("typedoc_loads");
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const pathSymbol = Symbol.for("typedoc_paths");
|
|
20
|
+
const g = globalThis;
|
|
21
|
+
g[loadSymbol] = (g[loadSymbol] || 0) + 1;
|
|
22
|
+
g[pathSymbol] || (g[pathSymbol] = []);
|
|
23
|
+
// transform /abs/path/to/typedoc/dist/lib/utils/general -> /abs/path/to/typedoc
|
|
24
|
+
g[pathSymbol].push((0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)(__dirname))));
|
|
21
25
|
function hasBeenLoadedMultipleTimes() {
|
|
22
|
-
return
|
|
26
|
+
return g[loadSymbol] !== 1;
|
|
23
27
|
}
|
|
24
28
|
exports.hasBeenLoadedMultipleTimes = hasBeenLoadedMultipleTimes;
|
|
29
|
+
function getLoadedPaths() {
|
|
30
|
+
return g[pathSymbol] || [];
|
|
31
|
+
}
|
|
32
|
+
exports.getLoadedPaths = getLoadedPaths;
|
|
@@ -7,7 +7,7 @@ export { assertNever } from "./general";
|
|
|
7
7
|
export { CallbackLogger, ConsoleLogger, Logger, LogLevel } from "./loggers";
|
|
8
8
|
export { DefaultMap } from "./map";
|
|
9
9
|
export { ArgumentsReader, BindOption, CommentStyle, Options, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, } from "./options";
|
|
10
|
-
export type { ArrayDeclarationOption, BooleanDeclarationOption, DeclarationOption, DeclarationOptionBase, DeclarationOptionToOptionType, KeyToDeclaration, MapDeclarationOption, MixedDeclarationOption, NumberDeclarationOption, FlagsDeclarationOption, OptionsReader, StringDeclarationOption, TypeDocOptionMap, TypeDocOptions, ValidationOptions, TypeDocOptionValues, ParameterTypeToOptionTypeMap, ManuallyValidatedOption, } from "./options";
|
|
10
|
+
export type { ArrayDeclarationOption, BooleanDeclarationOption, DeclarationOption, DeclarationOptionBase, DeclarationOptionToOptionType, KeyToDeclaration, MapDeclarationOption, MixedDeclarationOption, NumberDeclarationOption, FlagsDeclarationOption, ObjectDeclarationOption, OptionsReader, StringDeclarationOption, TypeDocOptionMap, TypeDocOptions, ValidationOptions, TypeDocOptionValues, ParameterTypeToOptionTypeMap, ManuallyValidatedOption, } from "./options";
|
|
11
11
|
export { discoverPlugins, loadPlugins } from "./plugins";
|
|
12
12
|
export { sortReflections } from "./sort";
|
|
13
13
|
export type { SortStrategy } from "./sort";
|
|
@@ -45,67 +45,68 @@ export declare type TypeDocOptionValues = {
|
|
|
45
45
|
export interface TypeDocOptionMap {
|
|
46
46
|
options: string;
|
|
47
47
|
tsconfig: string;
|
|
48
|
+
compilerOptions: unknown;
|
|
48
49
|
entryPoints: string[];
|
|
49
50
|
entryPointStrategy: typeof EntryPointStrategy;
|
|
50
51
|
exclude: string[];
|
|
51
52
|
externalPattern: string[];
|
|
52
53
|
excludeExternals: boolean;
|
|
53
|
-
excludePrivate: boolean;
|
|
54
|
-
excludeProtected: boolean;
|
|
55
54
|
excludeNotDocumented: boolean;
|
|
56
55
|
excludeInternal: boolean;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
includes: string;
|
|
56
|
+
excludePrivate: boolean;
|
|
57
|
+
excludeProtected: boolean;
|
|
60
58
|
media: string;
|
|
61
|
-
|
|
62
|
-
watch: boolean;
|
|
63
|
-
preserveWatchOutput: boolean;
|
|
59
|
+
includes: string;
|
|
64
60
|
out: string;
|
|
65
61
|
json: string;
|
|
66
62
|
pretty: boolean;
|
|
63
|
+
emit: typeof EmitStrategy;
|
|
67
64
|
theme: string;
|
|
68
65
|
lightHighlightTheme: ShikiTheme;
|
|
69
66
|
darkHighlightTheme: ShikiTheme;
|
|
70
67
|
customCss: string;
|
|
71
|
-
|
|
72
|
-
protected?: boolean;
|
|
73
|
-
private?: boolean;
|
|
74
|
-
inherited?: boolean;
|
|
75
|
-
external?: boolean;
|
|
76
|
-
[tag: `@${string}`]: boolean;
|
|
77
|
-
}>;
|
|
68
|
+
markedOptions: unknown;
|
|
78
69
|
name: string;
|
|
79
70
|
includeVersion: boolean;
|
|
71
|
+
disableSources: boolean;
|
|
72
|
+
basePath: string;
|
|
73
|
+
excludeTags: `@${string}`[];
|
|
80
74
|
readme: string;
|
|
81
|
-
defaultCategory: string;
|
|
82
|
-
categoryOrder: string[];
|
|
83
|
-
categorizeByGroup: boolean;
|
|
84
75
|
cname: string;
|
|
85
|
-
sort: SortStrategy[];
|
|
86
76
|
gitRevision: string;
|
|
87
77
|
gitRemote: string;
|
|
88
|
-
gaID: string;
|
|
89
|
-
githubPages: boolean;
|
|
90
78
|
htmlLang: string;
|
|
79
|
+
githubPages: boolean;
|
|
80
|
+
gaID: string;
|
|
91
81
|
hideGenerator: boolean;
|
|
92
82
|
searchInComments: boolean;
|
|
93
83
|
cleanOutputDir: boolean;
|
|
94
84
|
commentStyle: typeof CommentStyle;
|
|
95
|
-
excludeTags: `@${string}`[];
|
|
96
85
|
blockTags: `@${string}`[];
|
|
97
86
|
inlineTags: `@${string}`[];
|
|
98
87
|
modifierTags: `@${string}`[];
|
|
88
|
+
categorizeByGroup: boolean;
|
|
89
|
+
defaultCategory: string;
|
|
90
|
+
categoryOrder: string[];
|
|
91
|
+
sort: SortStrategy[];
|
|
92
|
+
visibilityFilters: ManuallyValidatedOption<{
|
|
93
|
+
protected?: boolean;
|
|
94
|
+
private?: boolean;
|
|
95
|
+
inherited?: boolean;
|
|
96
|
+
external?: boolean;
|
|
97
|
+
[tag: `@${string}`]: boolean;
|
|
98
|
+
}>;
|
|
99
|
+
searchCategoryBoosts: ManuallyValidatedOption<Record<string, number>>;
|
|
100
|
+
searchGroupBoosts: ManuallyValidatedOption<Record<string, number>>;
|
|
101
|
+
watch: boolean;
|
|
102
|
+
preserveWatchOutput: boolean;
|
|
103
|
+
skipErrorChecking: boolean;
|
|
99
104
|
help: boolean;
|
|
100
105
|
version: boolean;
|
|
101
106
|
showConfig: boolean;
|
|
102
107
|
plugin: string[];
|
|
103
|
-
searchCategoryBoosts: ManuallyValidatedOption<Record<string, number>>;
|
|
104
|
-
searchGroupBoosts: ManuallyValidatedOption<Record<string, number>>;
|
|
105
108
|
logger: unknown;
|
|
106
109
|
logLevel: typeof LogLevel;
|
|
107
|
-
markedOptions: unknown;
|
|
108
|
-
compilerOptions: unknown;
|
|
109
110
|
treatWarningsAsErrors: boolean;
|
|
110
111
|
intentionallyNotExported: string[];
|
|
111
112
|
validation: ValidationOptions;
|
|
@@ -136,9 +137,11 @@ export declare type ValidationOptions = {
|
|
|
136
137
|
/**
|
|
137
138
|
* Converts a given TypeDoc option key to the type of the declaration expected.
|
|
138
139
|
*/
|
|
139
|
-
export declare type KeyToDeclaration<K extends keyof TypeDocOptionMap> = TypeDocOptionMap[K] extends boolean ? BooleanDeclarationOption : TypeDocOptionMap[K] extends string ? StringDeclarationOption : TypeDocOptionMap[K] extends number ? NumberDeclarationOption : TypeDocOptionMap[K] extends string[] ? ArrayDeclarationOption : unknown extends TypeDocOptionMap[K] ? MixedDeclarationOption : TypeDocOptionMap[K] extends ManuallyValidatedOption<unknown> ? MixedDeclarationOption & {
|
|
140
|
+
export declare type KeyToDeclaration<K extends keyof TypeDocOptionMap> = TypeDocOptionMap[K] extends boolean ? BooleanDeclarationOption : TypeDocOptionMap[K] extends string ? StringDeclarationOption : TypeDocOptionMap[K] extends number ? NumberDeclarationOption : TypeDocOptionMap[K] extends string[] ? ArrayDeclarationOption : unknown extends TypeDocOptionMap[K] ? MixedDeclarationOption | ObjectDeclarationOption : TypeDocOptionMap[K] extends ManuallyValidatedOption<unknown> ? (MixedDeclarationOption & {
|
|
141
|
+
validate(value: unknown): void;
|
|
142
|
+
}) | (ObjectDeclarationOption & {
|
|
140
143
|
validate(value: unknown): void;
|
|
141
|
-
} : TypeDocOptionMap[K] extends Record<string, boolean> ? FlagsDeclarationOption<TypeDocOptionMap[K]> : TypeDocOptionMap[K] extends Record<string | number, infer U> ? MapDeclarationOption<U> : never;
|
|
144
|
+
}) : TypeDocOptionMap[K] extends Record<string, boolean> ? FlagsDeclarationOption<TypeDocOptionMap[K]> : TypeDocOptionMap[K] extends Record<string | number, infer U> ? MapDeclarationOption<U> : never;
|
|
142
145
|
export declare enum ParameterHint {
|
|
143
146
|
File = 0,
|
|
144
147
|
Directory = 1
|
|
@@ -166,10 +169,14 @@ export declare enum ParameterType {
|
|
|
166
169
|
* Resolved according to the config directory unless it starts with `**`, after skipping any leading `!` and `#` characters.
|
|
167
170
|
*/
|
|
168
171
|
GlobArray = 9,
|
|
172
|
+
/**
|
|
173
|
+
* An unopinionated object that preserves default settings unless explicitly overridden
|
|
174
|
+
*/
|
|
175
|
+
Object = 10,
|
|
169
176
|
/**
|
|
170
177
|
* An object with true/false flags
|
|
171
178
|
*/
|
|
172
|
-
Flags =
|
|
179
|
+
Flags = 11
|
|
173
180
|
}
|
|
174
181
|
export interface DeclarationOptionBase {
|
|
175
182
|
/**
|
|
@@ -257,6 +264,18 @@ export interface MixedDeclarationOption extends DeclarationOptionBase {
|
|
|
257
264
|
*/
|
|
258
265
|
validate?: (value: unknown) => void;
|
|
259
266
|
}
|
|
267
|
+
export interface ObjectDeclarationOption extends DeclarationOptionBase {
|
|
268
|
+
type: ParameterType.Object;
|
|
269
|
+
/**
|
|
270
|
+
* If not specified defaults to undefined.
|
|
271
|
+
*/
|
|
272
|
+
defaultValue?: unknown;
|
|
273
|
+
/**
|
|
274
|
+
* An optional validation function that validates a potential value of this option.
|
|
275
|
+
* The function must throw an Error if the validation fails and should do nothing otherwise.
|
|
276
|
+
*/
|
|
277
|
+
validate?: (value: unknown) => void;
|
|
278
|
+
}
|
|
260
279
|
export interface MapDeclarationOption<T> extends DeclarationOptionBase {
|
|
261
280
|
type: ParameterType.Map;
|
|
262
281
|
/**
|
|
@@ -282,13 +301,14 @@ export interface FlagsDeclarationOption<T extends Record<string, boolean>> exten
|
|
|
282
301
|
*/
|
|
283
302
|
defaults: T;
|
|
284
303
|
}
|
|
285
|
-
export declare type DeclarationOption = StringDeclarationOption | NumberDeclarationOption | BooleanDeclarationOption | MixedDeclarationOption | MapDeclarationOption<unknown> | ArrayDeclarationOption | FlagsDeclarationOption<Record<string, boolean>>;
|
|
304
|
+
export declare type DeclarationOption = StringDeclarationOption | NumberDeclarationOption | BooleanDeclarationOption | MixedDeclarationOption | ObjectDeclarationOption | MapDeclarationOption<unknown> | ArrayDeclarationOption | FlagsDeclarationOption<Record<string, boolean>>;
|
|
286
305
|
export interface ParameterTypeToOptionTypeMap {
|
|
287
306
|
[ParameterType.String]: string;
|
|
288
307
|
[ParameterType.Path]: string;
|
|
289
308
|
[ParameterType.Number]: number;
|
|
290
309
|
[ParameterType.Boolean]: boolean;
|
|
291
310
|
[ParameterType.Mixed]: unknown;
|
|
311
|
+
[ParameterType.Object]: unknown;
|
|
292
312
|
[ParameterType.Array]: string[];
|
|
293
313
|
[ParameterType.PathArray]: string[];
|
|
294
314
|
[ParameterType.ModuleArray]: string[];
|
|
@@ -305,5 +325,5 @@ export declare type DeclarationOptionToOptionType<T extends DeclarationOption> =
|
|
|
305
325
|
* @param option The option for which the value should be converted.
|
|
306
326
|
* @returns The result of the conversion. Might be the value or an error.
|
|
307
327
|
*/
|
|
308
|
-
export declare function convert(value: unknown, option: DeclarationOption, configPath: string): unknown;
|
|
328
|
+
export declare function convert(value: unknown, option: DeclarationOption, configPath: string, oldValue?: unknown): unknown;
|
|
309
329
|
export declare function getDefaultValue(option: DeclarationOption): unknown;
|
|
@@ -47,10 +47,14 @@ var ParameterType;
|
|
|
47
47
|
* Resolved according to the config directory unless it starts with `**`, after skipping any leading `!` and `#` characters.
|
|
48
48
|
*/
|
|
49
49
|
ParameterType[ParameterType["GlobArray"] = 9] = "GlobArray";
|
|
50
|
+
/**
|
|
51
|
+
* An unopinionated object that preserves default settings unless explicitly overridden
|
|
52
|
+
*/
|
|
53
|
+
ParameterType[ParameterType["Object"] = 10] = "Object";
|
|
50
54
|
/**
|
|
51
55
|
* An object with true/false flags
|
|
52
56
|
*/
|
|
53
|
-
ParameterType[ParameterType["Flags"] =
|
|
57
|
+
ParameterType[ParameterType["Flags"] = 11] = "Flags";
|
|
54
58
|
})(ParameterType = exports.ParameterType || (exports.ParameterType = {}));
|
|
55
59
|
const converters = {
|
|
56
60
|
[ParameterType.String](value, option) {
|
|
@@ -146,6 +150,12 @@ const converters = {
|
|
|
146
150
|
option.validate?.(value);
|
|
147
151
|
return value;
|
|
148
152
|
},
|
|
153
|
+
[ParameterType.Object](value, option, _configPath, oldValue) {
|
|
154
|
+
option.validate?.(value);
|
|
155
|
+
if (typeof oldValue !== "undefined")
|
|
156
|
+
value = { ...oldValue, ...value };
|
|
157
|
+
return value;
|
|
158
|
+
},
|
|
149
159
|
[ParameterType.Flags](value, option) {
|
|
150
160
|
if (typeof value === "boolean") {
|
|
151
161
|
value = Object.fromEntries(Object.keys(option.defaults).map((key) => [key, value]));
|
|
@@ -179,9 +189,9 @@ const converters = {
|
|
|
179
189
|
* @param option The option for which the value should be converted.
|
|
180
190
|
* @returns The result of the conversion. Might be the value or an error.
|
|
181
191
|
*/
|
|
182
|
-
function convert(value, option, configPath) {
|
|
192
|
+
function convert(value, option, configPath, oldValue) {
|
|
183
193
|
const _converters = converters;
|
|
184
|
-
return _converters[option.type ?? ParameterType.String](value, option, configPath);
|
|
194
|
+
return _converters[option.type ?? ParameterType.String](value, option, configPath, oldValue);
|
|
185
195
|
}
|
|
186
196
|
exports.convert = convert;
|
|
187
197
|
const defaultGetters = {
|
|
@@ -209,6 +219,9 @@ const defaultGetters = {
|
|
|
209
219
|
[ParameterType.Mixed](option) {
|
|
210
220
|
return option.defaultValue;
|
|
211
221
|
},
|
|
222
|
+
[ParameterType.Object](option) {
|
|
223
|
+
return option.defaultValue;
|
|
224
|
+
},
|
|
212
225
|
[ParameterType.Array](option) {
|
|
213
226
|
return option.defaultValue?.slice() ?? [];
|
|
214
227
|
},
|
|
@@ -2,4 +2,4 @@ export { Options, BindOption } from "./options";
|
|
|
2
2
|
export type { OptionsReader } from "./options";
|
|
3
3
|
export { ArgumentsReader, TypeDocReader, TSConfigReader } from "./readers";
|
|
4
4
|
export { CommentStyle, EmitStrategy, ParameterType, ParameterHint, } from "./declaration";
|
|
5
|
-
export type { TypeDocOptions, TypeDocOptionMap, ValidationOptions, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, TypeDocOptionValues, ParameterTypeToOptionTypeMap, ManuallyValidatedOption, } from "./declaration";
|
|
5
|
+
export type { TypeDocOptions, TypeDocOptionMap, ValidationOptions, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, ObjectDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, TypeDocOptionValues, ParameterTypeToOptionTypeMap, ManuallyValidatedOption, } from "./declaration";
|
|
@@ -164,7 +164,10 @@ class Options {
|
|
|
164
164
|
if (!declaration) {
|
|
165
165
|
throw new Error(`Tried to set an option (${name}) that was not declared.`);
|
|
166
166
|
}
|
|
167
|
-
|
|
167
|
+
let oldValue = this._values[declaration.name];
|
|
168
|
+
if (typeof oldValue === "undefined")
|
|
169
|
+
oldValue = (0, declaration_2.getDefaultValue)(declaration);
|
|
170
|
+
const converted = (0, declaration_2.convert)(value, declaration, configPath ?? process.cwd(), oldValue);
|
|
168
171
|
if (declaration.type === declaration_1.ParameterType.Flags) {
|
|
169
172
|
Object.assign(this._values[declaration.name], converted);
|
|
170
173
|
}
|
|
@@ -397,6 +397,12 @@ function addTypeDocOptions(options) {
|
|
|
397
397
|
help: "If set, TypeDoc will not clear the screen between compilation runs.",
|
|
398
398
|
type: declaration_1.ParameterType.Boolean,
|
|
399
399
|
});
|
|
400
|
+
options.addDeclaration({
|
|
401
|
+
name: "skipErrorChecking",
|
|
402
|
+
help: "Do not run TypeScript's type checking before generating docs.",
|
|
403
|
+
type: declaration_1.ParameterType.Boolean,
|
|
404
|
+
defaultValue: false,
|
|
405
|
+
});
|
|
400
406
|
options.addDeclaration({
|
|
401
407
|
name: "help",
|
|
402
408
|
help: "Print this message.",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Logger } from "./loggers";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Minimatch } from "minimatch";
|
|
3
3
|
import { additionalProperties, Infer } from "./validation";
|
|
4
4
|
/**
|
|
5
5
|
* Loads a package.json and validates that it is a JSON Object
|
|
@@ -20,7 +20,7 @@ export declare function extractTypedocConfigFromPackageManifest(logger: Logger,
|
|
|
20
20
|
* Given a list of (potentially wildcarded) package paths,
|
|
21
21
|
* return all the actual package folders found.
|
|
22
22
|
*/
|
|
23
|
-
export declare function expandPackages(logger: Logger, packageJsonDir: string, workspaces: string[], exclude:
|
|
23
|
+
export declare function expandPackages(logger: Logger, packageJsonDir: string, workspaces: string[], exclude: Minimatch[]): string[];
|
|
24
24
|
export declare const ignorePackage: unique symbol;
|
|
25
25
|
/**
|
|
26
26
|
* Given a package.json, attempt to find the TS file that defines its entry point
|
|
@@ -116,8 +116,8 @@ function getTsSourceFromJsSource(logger, jsPath) {
|
|
|
116
116
|
const sourceMapPrefix = "\n//# sourceMappingURL=";
|
|
117
117
|
const indexOfSourceMapPrefix = contents.indexOf(sourceMapPrefix);
|
|
118
118
|
if (indexOfSourceMapPrefix === -1) {
|
|
119
|
-
logger.
|
|
120
|
-
return;
|
|
119
|
+
logger.verbose(`The file ${jsPath} does not contain a sourceMappingURL`);
|
|
120
|
+
return jsPath;
|
|
121
121
|
}
|
|
122
122
|
const endOfSourceMapPrefix = indexOfSourceMapPrefix + sourceMapPrefix.length;
|
|
123
123
|
const newLineIndex = contents.indexOf("\n", endOfSourceMapPrefix);
|
|
@@ -177,21 +177,17 @@ function getTsEntryPointForPackage(logger, packageJsonPath, packageJson) {
|
|
|
177
177
|
if (typedocPackageConfig?.entryPoint) {
|
|
178
178
|
packageMain = typedocPackageConfig.entryPoint;
|
|
179
179
|
}
|
|
180
|
-
else if (
|
|
181
|
-
typeof packageJson.typedocMain == "string") {
|
|
180
|
+
else if ((0, validation_1.validate)({ typedocMain: String }, packageJson)) {
|
|
182
181
|
logger.warn(`Legacy typedoc entry point config (using "typedocMain" field) found for "${(0, paths_1.nicePath)(packageJsonPath)}". Please update to use "typedoc": { "entryPoint": "..." } instead. In future upgrade, "typedocMain" field will be ignored.`);
|
|
183
182
|
packageMain = packageJson.typedocMain;
|
|
184
183
|
}
|
|
185
|
-
else if (
|
|
186
|
-
typeof packageJson.main == "string") {
|
|
184
|
+
else if ((0, validation_1.validate)({ main: String }, packageJson)) {
|
|
187
185
|
packageMain = packageJson.main;
|
|
188
186
|
}
|
|
189
|
-
else if (
|
|
190
|
-
typeof packageJson.types == "string") {
|
|
187
|
+
else if ((0, validation_1.validate)({ types: String }, packageJson)) {
|
|
191
188
|
packageTypes = packageJson.types;
|
|
192
189
|
}
|
|
193
|
-
else if (
|
|
194
|
-
typeof packageJson.typings == "string") {
|
|
190
|
+
else if ((0, validation_1.validate)({ typings: String }, packageJson)) {
|
|
195
191
|
packageTypes = packageJson.typings;
|
|
196
192
|
}
|
|
197
193
|
let entryPointPath = (0, path_1.resolve)(packageJsonPath, "..", packageMain);
|
|
@@ -201,7 +197,7 @@ function getTsEntryPointForPackage(logger, packageJsonPath, packageJson) {
|
|
|
201
197
|
// Pass an empty `paths` as node_modules locations do not need to be examined
|
|
202
198
|
try {
|
|
203
199
|
entryPointPath = require.resolve(entryPointPath, { paths: [] });
|
|
204
|
-
if (/\.([cm]ts|tsx?)$/.test(entryPointPath) &&
|
|
200
|
+
if (/\.([cm]?ts|tsx?)$/.test(entryPointPath) &&
|
|
205
201
|
(0, fs_1.existsSync)(entryPointPath)) {
|
|
206
202
|
return entryPointPath;
|
|
207
203
|
}
|
|
@@ -212,7 +208,7 @@ function getTsEntryPointForPackage(logger, packageJsonPath, packageJson) {
|
|
|
212
208
|
}
|
|
213
209
|
else {
|
|
214
210
|
entryPointPath = (0, path_1.resolve)(packageJsonPath, "..", packageTypes ?? packageMain);
|
|
215
|
-
if (/\.([cm][tj]s|tsx?)$/.test(entryPointPath) &&
|
|
211
|
+
if (/\.([cm]?[tj]s|tsx?)$/.test(entryPointPath) &&
|
|
216
212
|
(0, fs_1.existsSync)(entryPointPath)) {
|
|
217
213
|
return entryPointPath;
|
|
218
214
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Minimatch } from "minimatch";
|
|
2
2
|
/**
|
|
3
3
|
* Convert array of glob patterns to array of minimatch instances.
|
|
4
4
|
*
|
|
5
5
|
* Handle a few Windows-Unix path gotchas.
|
|
6
6
|
*/
|
|
7
|
-
export declare function createMinimatch(patterns: string[]):
|
|
8
|
-
export declare function matchesAny(patterns: readonly
|
|
7
|
+
export declare function createMinimatch(patterns: string[]): Minimatch[];
|
|
8
|
+
export declare function matchesAny(patterns: readonly Minimatch[], path: string): boolean;
|
|
9
9
|
export declare function nicePath(absPath: string): string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typedoc",
|
|
3
3
|
"description": "Create api documentation for TypeScript projects.",
|
|
4
|
-
"version": "0.23.
|
|
4
|
+
"version": "0.23.13",
|
|
5
5
|
"homepage": "https://typedoc.org",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -25,25 +25,25 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"lunr": "^2.3.9",
|
|
28
|
-
"marked": "^4.0.
|
|
28
|
+
"marked": "^4.0.19",
|
|
29
29
|
"minimatch": "^5.1.0",
|
|
30
|
-
"shiki": "^0.
|
|
30
|
+
"shiki": "^0.11.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"typescript": "4.6.x || 4.7.x"
|
|
33
|
+
"typescript": "4.6.x || 4.7.x || 4.8.x"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/lunr": "^2.3.4",
|
|
37
|
-
"@types/marked": "^4.0.
|
|
38
|
-
"@types/minimatch": "
|
|
37
|
+
"@types/marked": "^4.0.6",
|
|
38
|
+
"@types/minimatch": "5.1.1",
|
|
39
39
|
"@types/mocha": "^9.1.1",
|
|
40
|
-
"@types/node": "
|
|
41
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
42
|
-
"@typescript-eslint/parser": "^5.
|
|
43
|
-
"@typestrong/fs-fixture-builder": "github:TypeStrong/fs-fixture-builder#
|
|
40
|
+
"@types/node": "14",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^5.36.1",
|
|
42
|
+
"@typescript-eslint/parser": "^5.36.1",
|
|
43
|
+
"@typestrong/fs-fixture-builder": "github:TypeStrong/fs-fixture-builder#5a9486bc66f6e36988106685768396281f6cbc10",
|
|
44
44
|
"c8": "^7.12.0",
|
|
45
|
-
"esbuild": "^0.
|
|
46
|
-
"eslint": "^8.
|
|
45
|
+
"esbuild": "^0.15.6",
|
|
46
|
+
"eslint": "^8.23.0",
|
|
47
47
|
"mocha": "^10.0.0",
|
|
48
48
|
"prettier": "2.7.1",
|
|
49
49
|
"puppeteer": "^13.5.2",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"reg-suit-core": "^0.12.1",
|
|
52
52
|
"reg-suit-interface": "^0.12.0",
|
|
53
53
|
"ts-node": "^10.9.1",
|
|
54
|
-
"typescript": "^4.
|
|
54
|
+
"typescript": "^4.8.2"
|
|
55
55
|
},
|
|
56
56
|
"files": [
|
|
57
57
|
"/bin",
|
package/static/main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var u=r.charAt(o),l=o-a;if(u.match(t.tokenizer.separator)||o==i){if(l>0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
|
|
2
|
+
"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var u=r.charAt(o),l=o-a;if(u.match(t.tokenizer.separator)||o==i){if(l>0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
|
|
3
3
|
`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var u=0;u<a.length;u++)s.push(a[u]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,u=0,l=0,h=0;l<s&&h<o;)a=r[l],u=i[h],a<u?l+=2:a>u?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,u="^("+s+")?"+o+s+"("+o+")?$",l="^("+s+")?"+o+s+o+s,h="^("+s+")?"+i,m=new RegExp(a),v=new RegExp(l),b=new RegExp(u),y=new RegExp(h),E=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,p=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,I=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),z=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,q=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,$=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,W=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,U=/ll$/,G=new RegExp("^"+s+i+"[^aeiouwxy]$"),N=function(c){var g,C,T,d,x,O,D;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),d=E,x=f,d.test(c)?c=c.replace(d,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),d=p,x=w,d.test(c)){var L=d.exec(c);d=m,d.test(L[1])&&(d=S,c=c.replace(d,""))}else if(x.test(c)){var L=x.exec(c);g=L[1],x=y,x.test(g)&&(c=g,x=I,O=_,D=z,x.test(c)?c=c+"e":O.test(c)?(d=S,c=c.replace(d,"")):D.test(c)&&(c=c+"e"))}if(d=A,d.test(c)){var L=d.exec(c);g=L[1],c=g+"i"}if(d=q,d.test(c)){var L=d.exec(c);g=L[1],C=L[2],d=m,d.test(g)&&(c=g+e[C])}if(d=$,d.test(c)){var L=d.exec(c);g=L[1],C=L[2],d=m,d.test(g)&&(c=g+n[C])}if(d=V,x=W,d.test(c)){var L=d.exec(c);g=L[1],d=v,d.test(g)&&(c=g)}else if(x.test(c)){var L=x.exec(c);g=L[1]+L[2],x=v,x.test(g)&&(c=g)}if(d=P,d.test(c)){var L=d.exec(c);g=L[1],d=v,x=b,O=G,(d.test(g)||x.test(g)&&!O.test(g))&&(c=g)}return d=U,x=v,d.test(c)&&x.test(c)&&(d=S,c=c.replace(d,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(M){return M.update(N)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var u=new t.TokenSet;u.final=a,n.edges[o]=u,n=u}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),u=a.length,l=0;l<o;l++)for(var h=s[l],m=0;m<u;m++){var v=a[m];if(v==h||h=="*"){var b=r.node.edges[v],y=r.qNode.edges[h],E=b.final&&y.final,f=void 0;v in r.output.edges?(f=r.output.edges[v],f.final=f.final||E):(f=new t.TokenSet,f.final=E,r.output.edges[v]=f),i.push({qNode:y,output:f,node:b})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)i[this.fields[u]]=new t.Vector;e.call(n,n);for(var u=0;u<n.clauses.length;u++){var l=n.clauses[u],h=null,m=t.Set.empty;l.usePipeline?h=this.pipeline.runString(l.term,{fields:l.fields}):h=[l.term];for(var v=0;v<h.length;v++){var b=h[v];l.term=b;var y=t.TokenSet.fromClause(l),E=this.tokenSet.intersect(y).toArray();if(E.length===0&&l.presence===t.Query.presence.REQUIRED){for(var f=0;f<l.fields.length;f++){var p=l.fields[f];o[p]=t.Set.empty}break}for(var w=0;w<E.length;w++)for(var S=E[w],I=this.invertedIndex[S],_=I._index,f=0;f<l.fields.length;f++){var p=l.fields[f],z=I[p],A=Object.keys(z),q=S+"/"+p,$=new t.Set(A);if(l.presence==t.Query.presence.REQUIRED&&(m=m.union($),o[p]===void 0&&(o[p]=t.Set.complete)),l.presence==t.Query.presence.PROHIBITED){a[p]===void 0&&(a[p]=t.Set.empty),a[p]=a[p].union($);continue}if(i[p].upsert(_,l.boost,function(ke,Ie){return ke+Ie}),!s[q]){for(var V=0;V<A.length;V++){var W=A[V],P=new t.FieldRef(W,p),U=z[W],G;(G=r[P])===void 0?r[P]=new t.MatchData(S,p,U):G.add(S,p,U)}s[q]=!0}}}if(l.presence===t.Query.presence.REQUIRED)for(var f=0;f<l.fields.length;f++){var p=l.fields[f];o[p]=o[p].intersect(m)}}for(var N=t.Set.complete,M=t.Set.empty,u=0;u<this.fields.length;u++){var p=this.fields[u];o[p]&&(N=N.intersect(o[p])),a[p]&&(M=M.union(a[p]))}var c=Object.keys(r),g=[],C=Object.create(null);if(n.isNegated()){c=Object.keys(this.fieldVectors);for(var u=0;u<c.length;u++){var P=c[u],T=t.FieldRef.fromString(P);r[P]=new t.MatchData}}for(var u=0;u<c.length;u++){var T=t.FieldRef.fromString(c[u]),d=T.docRef;if(!!N.contains(d)&&!M.contains(d)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),D;if((D=C[d])!==void 0)D.score+=O,D.matchData.combine(r[T]);else{var L={ref:d,score:O,matchData:r[T]};C[d]=L,g.push(L)}}}return g.sort(function(we,Te){return Te.score-we.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,u=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<i.length;l++){var h=i[l],m=h[0],v=h[1];r[m]=new t.Vector(v)}for(var l=0;l<o.length;l++){var h=o[l],b=h[0],y=h[1];a.insert(b),s[b]=y}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=u,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,u=a?a(e):e[o],l=this.tokenizer(u,{fields:[o]}),h=this.pipeline.run(l),m=new t.FieldRef(r,o),v=Object.create(null);this.fieldTermFrequencies[m]=v,this.fieldLengths[m]=0,this.fieldLengths[m]+=h.length;for(var b=0;b<h.length;b++){var y=h[b];if(v[y]==null&&(v[y]=0),v[y]+=1,this.invertedIndex[y]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)E[i[f]]=Object.create(null);this.invertedIndex[y]=E}this.invertedIndex[y][o][r]==null&&(this.invertedIndex[y][o][r]=Object.create(null));for(var p=0;p<this.metadataWhitelist.length;p++){var w=this.metadataWhitelist[p],S=y.metadata[w];this.invertedIndex[y][o][r][w]==null&&(this.invertedIndex[y][o][r][w]=[]),this.invertedIndex[y][o][r][w].push(S)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var u=Object.keys(this._fields),s=0;s<u.length;s++){var l=u[s];r[l]=r[l]/i[l]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,u=this.fieldLengths[o],l=new t.Vector,h=this.fieldTermFrequencies[o],m=Object.keys(h),v=m.length,b=this._fields[a].boost||1,y=this._documents[o.docRef].boost||1,E=0;E<v;E++){var f=m[E],p=h[f],w=this.invertedIndex[f]._index,S,I,_;i[f]===void 0?(S=t.idf(this.invertedIndex[f],this.documentCount),i[f]=S):S=i[f],I=S*((this._k1+1)*p)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+p),I*=b,I*=y,_=Math.round(I*1e3)/1e3,l.insert(w,_)}e[o]=l}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],u=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var l=0;l<u.length;l++){var h=u[l];this.metadata[i][a][h]==null?this.metadata[i][a][h]=e.metadata[i][a][h]:this.metadata[i][a][h]=this.metadata[i][a][h].concat(e.metadata[i][a][h])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function j(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r}),r.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i<s;i++)if(r[i]===n){r.splice(i,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return!0;let n=this.listeners[e.type].slice();for(let r=0,i=n.length;r<i;r++)n[r].call(this,e);return!e.defaultPrevented}};var ne=(t,e=100)=>{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends k{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;i<s;i++){n=this.anchors[i];let o=n.anchor.getBoundingClientRect();n.position=o.top+document.body.scrollTop}this.anchors.sort((i,s)=>i.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o<s&&i[o+1].position<r;)o+=1;this.index!=o&&(this.index>-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>t(r),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{Ae(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?fe(e,-1):s.key==="ArrowDown"?fe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function Ae(t,e,n,r){if(He(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;o<s.length;o++){let a=s[o],u=r.data.rows[Number(a.ref)],l=1;u.name.toLowerCase().startsWith(i.toLowerCase())&&(l*=1+1/(1+Math.abs(u.name.length-i.length))),a.score*=l}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let u=r.data.rows[Number(s[o].ref)],l=pe(u.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(l+=` (score: ${s[o].score.toFixed(2)})`),u.parent&&(l=`<span class="parent">${pe(u.parent,i)}.</span>${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function fe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function pe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`<b>${ie(t.substring(o,o+r.length))}</b>`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",B="mouseup",Z={x:0,y:0},ge=!1,se=!1,je=!1,H=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(je=!0,F="touchstart",ye="touchmove",B="touchend");document.addEventListener(F,t=>{se=!0,H=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!se&&!H){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);H=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends k{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){H||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!H&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends k{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
|
|
4
4
|
`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends k{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();j(X,".menu-highlight");j(K,"a[data-toggle]");j(te,".tsd-index-accordion");j(ee,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("theme");Se&&be(Se);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})();
|
|
5
5
|
/*!
|
package/static/style.css
CHANGED
|
@@ -1109,6 +1109,7 @@ ul.tsd-type-parameter-list h5 {
|
|
|
1109
1109
|
background: var(--color-background-secondary);
|
|
1110
1110
|
border-bottom: 1px var(--color-accent) solid;
|
|
1111
1111
|
transition: transform 0.3s ease-in-out;
|
|
1112
|
+
margin: 0 auto;
|
|
1112
1113
|
}
|
|
1113
1114
|
.tsd-page-toolbar a {
|
|
1114
1115
|
color: var(--color-text);
|