Socket
Socket
Sign inDemoInstall

typedoc

Package Overview
Dependencies
11
Maintainers
5
Versions
305
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.24.0-beta.1 to 0.24.0-beta.2

dist/index.d.ts.map

4

dist/index.d.ts

@@ -6,3 +6,3 @@ export { Application } from "./lib/application";

export * from "./lib/models";
export { Converter, Context, type CommentParserConfig, type DeclarationReference, type SymbolReference, type ComponentPath, type Meaning, type MeaningKeyword, } from "./lib/converter";
export { Converter, Context, type CommentParserConfig, type DeclarationReference, type SymbolReference, type ComponentPath, type Meaning, type MeaningKeyword, type ExternalResolveResult, type ExternalSymbolResolver, } from "./lib/converter";
export { Renderer, DefaultTheme, DefaultThemeRenderContext, UrlMapping, Theme, PageEvent, RendererEvent, MarkdownEvent, IndexEvent, } from "./lib/output";

@@ -14,3 +14,3 @@ export type { RenderTemplate, RendererHooks } from "./lib/output";

export { JSONOutput, Serializer, Deserializer, type Deserializable, type DeserializerComponent, type SerializerComponent, SerializeEvent, } from "./lib/serialization";
import * as TypeScript from "typescript";
import TypeScript from "typescript";
export { TypeScript };

@@ -13,16 +13,7 @@ "use strict";

}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -74,3 +65,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

Object.defineProperty(exports, "SerializeEvent", { enumerable: true, get: function () { return serialization_1.SerializeEvent; } });
const TypeScript = __importStar(require("typescript"));
exports.TypeScript = TypeScript;
const typescript_1 = __importDefault(require("typescript"));
exports.TypeScript = typescript_1.default;
export declare const ApplicationEvents: {
BOOTSTRAP_END: string;
REVIVE: string;
VALIDATE_PROJECT: string;
};

@@ -7,2 +7,3 @@ "use strict";

REVIVE: "reviveProject",
VALIDATE_PROJECT: "validateProject",
};

@@ -62,8 +62,12 @@ import { Converter } from "./converter/index";

* Emitted after a project has been deserialized from JSON.
* The listener will be given an instance of {@link ProjectReflection}.
*/
static readonly EVENT_PROJECT_REVIVE: string;
/**
* Emitted when validation is being run.
* The listener will be given an instance of {@link ProjectReflection}.
*/
static readonly EVENT_VALIDATE_PROJECT: string;
/**
* Create a new TypeDoc application instance.
*
* @param options An object containing the options that should be used.
*/

@@ -70,0 +74,0 @@ constructor();

@@ -31,2 +31,5 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var Application_1;

@@ -36,3 +39,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

const Path = __importStar(require("path"));
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const index_1 = require("./converter/index");

@@ -77,4 +80,2 @@ const renderer_1 = require("./output/renderer");

* Create a new TypeDoc application instance.
*
* @param options An object containing the options that should be used.
*/

@@ -141,3 +142,3 @@ constructor() {

getTypeScriptVersion() {
return ts.version;
return typescript_1.default.version;
}

@@ -168,3 +169,3 @@ /**

}
if (!supportedVersionMajorMinor.some((version) => version == ts.versionMajorMinor)) {
if (!supportedVersionMajorMinor.some((version) => version == typescript_1.default.versionMajorMinor)) {
this.logger.warn(`You are running with an unsupported TypeScript version! If TypeDoc crashes, this is why. TypeDoc supports ${supportedVersionMajorMinor.join(", ")}`);

@@ -180,3 +181,3 @@ }

if (this.skipErrorChecking === false) {
const errors = programs.flatMap((program) => ts.getPreEmitDiagnostics(program));
const errors = programs.flatMap((program) => typescript_1.default.getPreEmitDiagnostics(program));
if (errors.length) {

@@ -202,6 +203,6 @@ this.logger.diagnostics(errors);

this.logger instanceof index_2.ConsoleLogger) {
ts.sys.clearScreen?.();
typescript_1.default.sys.clearScreen?.();
}
this.logger.verbose(`Using TypeScript ${this.getTypeScriptVersion()} from ${this.getTypeScriptPath()}`);
if (!supportedVersionMajorMinor.some((version) => version == ts.versionMajorMinor)) {
if (!supportedVersionMajorMinor.some((version) => version == typescript_1.default.versionMajorMinor)) {
this.logger.warn(`You are running with an unsupported TypeScript version! TypeDoc supports ${supportedVersionMajorMinor.join(", ")}`);

@@ -229,3 +230,3 @@ }

let firstStatusReport = true;
const host = ts.createWatchCompilerHost(tsconfigFile, {}, ts.sys, ts.createEmitAndSemanticDiagnosticsBuilderProgram, (diagnostic) => this.logger.diagnostic(diagnostic), (status, newLine, _options, errorCount) => {
const host = typescript_1.default.createWatchCompilerHost(tsconfigFile, {}, typescript_1.default.sys, typescript_1.default.createEmitAndSemanticDiagnosticsBuilderProgram, (diagnostic) => this.logger.diagnostic(diagnostic), (status, newLine, _options, errorCount) => {
if (!firstStatusReport &&

@@ -235,6 +236,6 @@ errorCount === void 0 &&

this.logger instanceof index_2.ConsoleLogger) {
ts.sys.clearScreen?.();
typescript_1.default.sys.clearScreen?.();
}
firstStatusReport = false;
this.logger.info(ts.flattenDiagnosticMessageText(status.messageText, newLine));
this.logger.info(typescript_1.default.flattenDiagnosticMessageText(status.messageText, newLine));
});

@@ -276,3 +277,3 @@ let successFinished = true;

host.afterProgramCreate = (program) => {
if (ts.getPreEmitDiagnostics(program.getProgram()).length === 0) {
if (typescript_1.default.getPreEmitDiagnostics(program.getProgram()).length === 0) {
currentProgram = program.getProgram();

@@ -283,3 +284,3 @@ runSuccess();

};
ts.createWatchProgram(host);
typescript_1.default.createWatchProgram(host);
}

@@ -301,2 +302,3 @@ validate(project) {

}
this.trigger(Application_1.EVENT_VALIDATE_PROJECT, project);
this.logger.verbose(`Validation took ${Date.now() - start}ms`);

@@ -419,4 +421,10 @@ }

* Emitted after a project has been deserialized from JSON.
* The listener will be given an instance of {@link ProjectReflection}.
*/
Application.EVENT_PROJECT_REVIVE = application_events_1.ApplicationEvents.REVIVE;
/**
* Emitted when validation is being run.
* The listener will be given an instance of {@link ProjectReflection}.
*/
Application.EVENT_VALIDATE_PROJECT = application_events_1.ApplicationEvents.VALIDATE_PROJECT;
__decorate([

@@ -423,0 +431,0 @@ (0, utils_1.BindOption)("skipErrorChecking")

@@ -9,3 +9,3 @@ /**

export declare const MeaningKeywords: readonly ["class", "interface", "type", "enum", "namespace", "function", "var", "constructor", "member", "event", "call", "new", "index", "complex", "getter", "setter"];
export type MeaningKeyword = typeof MeaningKeywords[number];
export type MeaningKeyword = (typeof MeaningKeywords)[number];
export interface DeclarationReference {

@@ -12,0 +12,0 @@ resolutionStart: "global" | "local";

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import { ReflectionKind } from "../../models";

@@ -3,0 +3,0 @@ import { Logger } from "../../utils";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.discoverSignatureComment = exports.discoverComment = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../../models");

@@ -37,74 +17,74 @@ const utils_1 = require("../../utils");

const wantedKinds = {
[models_1.ReflectionKind.Project]: [ts.SyntaxKind.SourceFile],
[models_1.ReflectionKind.Module]: [ts.SyntaxKind.SourceFile],
[models_1.ReflectionKind.Project]: [typescript_1.default.SyntaxKind.SourceFile],
[models_1.ReflectionKind.Module]: [typescript_1.default.SyntaxKind.SourceFile],
[models_1.ReflectionKind.Namespace]: [
ts.SyntaxKind.ModuleDeclaration,
ts.SyntaxKind.SourceFile,
ts.SyntaxKind.BindingElement,
ts.SyntaxKind.ExportSpecifier,
ts.SyntaxKind.NamespaceExport,
typescript_1.default.SyntaxKind.ModuleDeclaration,
typescript_1.default.SyntaxKind.SourceFile,
typescript_1.default.SyntaxKind.BindingElement,
typescript_1.default.SyntaxKind.ExportSpecifier,
typescript_1.default.SyntaxKind.NamespaceExport,
],
[models_1.ReflectionKind.Enum]: [
ts.SyntaxKind.EnumDeclaration,
ts.SyntaxKind.VariableDeclaration,
typescript_1.default.SyntaxKind.EnumDeclaration,
typescript_1.default.SyntaxKind.VariableDeclaration,
],
[models_1.ReflectionKind.EnumMember]: [
ts.SyntaxKind.EnumMember,
typescript_1.default.SyntaxKind.EnumMember,
// These here so that @enum gets comments
ts.SyntaxKind.PropertyAssignment,
ts.SyntaxKind.PropertySignature,
typescript_1.default.SyntaxKind.PropertyAssignment,
typescript_1.default.SyntaxKind.PropertySignature,
],
[models_1.ReflectionKind.Variable]: [
ts.SyntaxKind.VariableDeclaration,
ts.SyntaxKind.BindingElement,
ts.SyntaxKind.ExportAssignment,
ts.SyntaxKind.PropertyAccessExpression,
typescript_1.default.SyntaxKind.VariableDeclaration,
typescript_1.default.SyntaxKind.BindingElement,
typescript_1.default.SyntaxKind.ExportAssignment,
typescript_1.default.SyntaxKind.PropertyAccessExpression,
],
[models_1.ReflectionKind.Function]: [
ts.SyntaxKind.FunctionDeclaration,
ts.SyntaxKind.BindingElement,
ts.SyntaxKind.VariableDeclaration,
ts.SyntaxKind.ExportAssignment,
ts.SyntaxKind.PropertyAccessExpression,
typescript_1.default.SyntaxKind.FunctionDeclaration,
typescript_1.default.SyntaxKind.BindingElement,
typescript_1.default.SyntaxKind.VariableDeclaration,
typescript_1.default.SyntaxKind.ExportAssignment,
typescript_1.default.SyntaxKind.PropertyAccessExpression,
],
[models_1.ReflectionKind.Class]: [
ts.SyntaxKind.ClassDeclaration,
ts.SyntaxKind.BindingElement,
typescript_1.default.SyntaxKind.ClassDeclaration,
typescript_1.default.SyntaxKind.BindingElement,
],
[models_1.ReflectionKind.Interface]: [ts.SyntaxKind.InterfaceDeclaration],
[models_1.ReflectionKind.Constructor]: [ts.SyntaxKind.Constructor],
[models_1.ReflectionKind.Interface]: [typescript_1.default.SyntaxKind.InterfaceDeclaration],
[models_1.ReflectionKind.Constructor]: [typescript_1.default.SyntaxKind.Constructor],
[models_1.ReflectionKind.Property]: [
ts.SyntaxKind.PropertyDeclaration,
ts.SyntaxKind.PropertySignature,
ts.SyntaxKind.BinaryExpression,
ts.SyntaxKind.PropertyAssignment,
typescript_1.default.SyntaxKind.PropertyDeclaration,
typescript_1.default.SyntaxKind.PropertySignature,
typescript_1.default.SyntaxKind.BinaryExpression,
typescript_1.default.SyntaxKind.PropertyAssignment,
// class X { constructor(/** Comment */ readonly z: string) }
ts.SyntaxKind.Parameter,
typescript_1.default.SyntaxKind.Parameter,
],
[models_1.ReflectionKind.Method]: [
ts.SyntaxKind.FunctionDeclaration,
ts.SyntaxKind.MethodDeclaration,
typescript_1.default.SyntaxKind.FunctionDeclaration,
typescript_1.default.SyntaxKind.MethodDeclaration,
],
[models_1.ReflectionKind.CallSignature]: [
ts.SyntaxKind.FunctionDeclaration,
ts.SyntaxKind.VariableDeclaration,
ts.SyntaxKind.MethodDeclaration,
ts.SyntaxKind.MethodDeclaration,
ts.SyntaxKind.PropertyDeclaration,
ts.SyntaxKind.PropertySignature,
ts.SyntaxKind.CallSignature,
typescript_1.default.SyntaxKind.FunctionDeclaration,
typescript_1.default.SyntaxKind.VariableDeclaration,
typescript_1.default.SyntaxKind.MethodDeclaration,
typescript_1.default.SyntaxKind.MethodDeclaration,
typescript_1.default.SyntaxKind.PropertyDeclaration,
typescript_1.default.SyntaxKind.PropertySignature,
typescript_1.default.SyntaxKind.CallSignature,
],
[models_1.ReflectionKind.IndexSignature]: [ts.SyntaxKind.IndexSignature],
[models_1.ReflectionKind.ConstructorSignature]: [ts.SyntaxKind.ConstructSignature],
[models_1.ReflectionKind.Parameter]: [ts.SyntaxKind.Parameter],
[models_1.ReflectionKind.TypeLiteral]: [ts.SyntaxKind.TypeLiteral],
[models_1.ReflectionKind.TypeParameter]: [ts.SyntaxKind.TypeParameter],
[models_1.ReflectionKind.Accessor]: [ts.SyntaxKind.PropertyDeclaration],
[models_1.ReflectionKind.GetSignature]: [ts.SyntaxKind.GetAccessor],
[models_1.ReflectionKind.SetSignature]: [ts.SyntaxKind.SetAccessor],
[models_1.ReflectionKind.ObjectLiteral]: [ts.SyntaxKind.ObjectLiteralExpression],
[models_1.ReflectionKind.TypeAlias]: [ts.SyntaxKind.TypeAliasDeclaration],
[models_1.ReflectionKind.IndexSignature]: [typescript_1.default.SyntaxKind.IndexSignature],
[models_1.ReflectionKind.ConstructorSignature]: [typescript_1.default.SyntaxKind.ConstructSignature],
[models_1.ReflectionKind.Parameter]: [typescript_1.default.SyntaxKind.Parameter],
[models_1.ReflectionKind.TypeLiteral]: [typescript_1.default.SyntaxKind.TypeLiteral],
[models_1.ReflectionKind.TypeParameter]: [typescript_1.default.SyntaxKind.TypeParameter],
[models_1.ReflectionKind.Accessor]: [typescript_1.default.SyntaxKind.PropertyDeclaration],
[models_1.ReflectionKind.GetSignature]: [typescript_1.default.SyntaxKind.GetAccessor],
[models_1.ReflectionKind.SetSignature]: [typescript_1.default.SyntaxKind.SetAccessor],
[models_1.ReflectionKind.ObjectLiteral]: [typescript_1.default.SyntaxKind.ObjectLiteralExpression],
[models_1.ReflectionKind.TypeAlias]: [typescript_1.default.SyntaxKind.TypeAliasDeclaration],
[models_1.ReflectionKind.Reference]: [
ts.SyntaxKind.NamespaceExport,
ts.SyntaxKind.ExportSpecifier,
typescript_1.default.SyntaxKind.NamespaceExport,
typescript_1.default.SyntaxKind.ExportSpecifier,
],

@@ -115,3 +95,3 @@ };

// not the last one, since that will apply to the import or declaration.
const reverse = !symbol.declarations?.some(ts.isSourceFile);
const reverse = !symbol.declarations?.some(typescript_1.default.isSourceFile);
const discovered = [];

@@ -132,5 +112,5 @@ for (const decl of symbol.declarations || []) {

[
ts.SyntaxKind.FunctionDeclaration,
ts.SyntaxKind.MethodDeclaration,
ts.SyntaxKind.Constructor,
typescript_1.default.SyntaxKind.FunctionDeclaration,
typescript_1.default.SyntaxKind.MethodDeclaration,
typescript_1.default.SyntaxKind.Constructor,
].includes(node.kind) &&

@@ -140,3 +120,3 @@ !node.body) {

}
const comments = collectCommentRanges(ts.getLeadingCommentRanges(text, node.pos));
const comments = collectCommentRanges(typescript_1.default.getLeadingCommentRanges(text, node.pos));
if (reverse) {

@@ -160,3 +140,3 @@ comments.reverse();

const path = (0, paths_1.nicePath)(sf.fileName);
const line = ts.getLineAndCharacterOfPosition(sf, pos).line + 1;
const line = typescript_1.default.getLineAndCharacterOfPosition(sf, pos).line + 1;
return `${path}:${line}`;

@@ -176,3 +156,3 @@ });

const text = node.getSourceFile().text;
const comments = collectCommentRanges(ts.getLeadingCommentRanges(text, node.pos));
const comments = collectCommentRanges(typescript_1.default.getLeadingCommentRanges(text, node.pos));
comments.reverse();

@@ -199,3 +179,3 @@ const comment = comments.find((ranges) => permittedRange(text, ranges, commentStyle));

function isTopmostModuleDeclaration(node) {
return node.getChildren().some(ts.isModuleBlock);
return node.getChildren().some(typescript_1.default.isModuleBlock);
}

@@ -214,3 +194,3 @@ /**

while (node.parent &&
node.parent.kind === ts.SyntaxKind.ModuleDeclaration) {
node.parent.kind === typescript_1.default.SyntaxKind.ModuleDeclaration) {
const parent = node.parent;

@@ -231,3 +211,3 @@ if (node.name.pos === parent.name.end + 1) {

// ^^^
if (node.parent.kind === ts.SyntaxKind.VariableDeclarationList) {
if (node.parent.kind === typescript_1.default.SyntaxKind.VariableDeclarationList) {
return node.parent.parent;

@@ -237,3 +217,3 @@ }

// ^^^^^^^^
if (node.parent.kind === ts.SyntaxKind.VariableDeclaration) {
if (node.parent.kind === typescript_1.default.SyntaxKind.VariableDeclaration) {
return node.parent.parent.parent;

@@ -249,9 +229,9 @@ }

if ([
ts.SyntaxKind.PropertyDeclaration,
ts.SyntaxKind.BinaryExpression,
ts.SyntaxKind.ExportAssignment,
typescript_1.default.SyntaxKind.PropertyDeclaration,
typescript_1.default.SyntaxKind.BinaryExpression,
typescript_1.default.SyntaxKind.ExportAssignment,
].includes(node.parent.kind)) {
return node.parent;
}
if (ts.isModuleDeclaration(node)) {
if (typescript_1.default.isModuleDeclaration(node)) {
if (!isTopmostModuleDeclaration(node)) {

@@ -264,6 +244,6 @@ return;

}
if (node.kind === ts.SyntaxKind.ExportSpecifier) {
if (node.kind === typescript_1.default.SyntaxKind.ExportSpecifier) {
return node.parent.parent;
}
if ([ts.SyntaxKind.NamespaceExport, ts.SyntaxKind.FunctionType].includes(node.kind)) {
if ([typescript_1.default.SyntaxKind.NamespaceExport, typescript_1.default.SyntaxKind.FunctionType].includes(node.kind)) {
return node.parent;

@@ -283,3 +263,3 @@ }

switch (range.kind) {
case ts.SyntaxKind.MultiLineCommentTrivia:
case typescript_1.default.SyntaxKind.MultiLineCommentTrivia:
if (collect.length) {

@@ -291,3 +271,3 @@ result.push(collect);

break;
case ts.SyntaxKind.SingleLineCommentTrivia:
case typescript_1.default.SyntaxKind.SingleLineCommentTrivia:
collect.push(range);

@@ -310,7 +290,7 @@ break;

case declaration_1.CommentStyle.Block:
return ranges[0].kind === ts.SyntaxKind.MultiLineCommentTrivia;
return ranges[0].kind === typescript_1.default.SyntaxKind.MultiLineCommentTrivia;
case declaration_1.CommentStyle.Line:
return ranges[0].kind === ts.SyntaxKind.SingleLineCommentTrivia;
return ranges[0].kind === typescript_1.default.SyntaxKind.SingleLineCommentTrivia;
case declaration_1.CommentStyle.JSDoc:
return (ranges[0].kind === ts.SyntaxKind.MultiLineCommentTrivia &&
return (ranges[0].kind === typescript_1.default.SyntaxKind.MultiLineCommentTrivia &&
text[ranges[0].pos] === "/" &&

@@ -317,0 +297,0 @@ text[ranges[0].pos + 1] === "*" &&

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import { Comment, ReflectionKind } from "../../models";

@@ -3,0 +3,0 @@ import { Logger } from "../../utils";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getJsDocComment = exports.getSignatureComment = exports.getComment = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../../models");

@@ -35,7 +15,7 @@ const utils_1 = require("../../utils");

const jsDocCommentKinds = [
ts.SyntaxKind.JSDocPropertyTag,
ts.SyntaxKind.JSDocCallbackTag,
ts.SyntaxKind.JSDocTypedefTag,
ts.SyntaxKind.JSDocTemplateTag,
ts.SyntaxKind.JSDocEnumTag,
typescript_1.default.SyntaxKind.JSDocPropertyTag,
typescript_1.default.SyntaxKind.JSDocCallbackTag,
typescript_1.default.SyntaxKind.JSDocTypedefTag,
typescript_1.default.SyntaxKind.JSDocTemplateTag,
typescript_1.default.SyntaxKind.JSDocEnumTag,
];

@@ -53,6 +33,6 @@ const commentCache = new WeakMap();

switch (ranges[0].kind) {
case ts.SyntaxKind.MultiLineCommentTrivia:
case typescript_1.default.SyntaxKind.MultiLineCommentTrivia:
comment = (0, parser_1.parseComment)((0, blockLexer_1.lexBlockComment)(file.text, ranges[0].pos, ranges[0].end), config, file, logger);
break;
case ts.SyntaxKind.SingleLineCommentTrivia:
case typescript_1.default.SyntaxKind.SingleLineCommentTrivia:
comment = (0, parser_1.parseComment)((0, lineLexer_1.lexLineComments)(file.text, ranges), config, file, logger);

@@ -87,8 +67,8 @@ break;

function getComment(symbol, kind, config, logger, commentStyle) {
if (symbol
.getDeclarations()
?.every((d) => jsDocCommentKinds.includes(d.kind))) {
return getJsDocComment(symbol.declarations[0], config, logger);
const declarations = symbol.declarations || [];
if (declarations.length &&
declarations.every((d) => jsDocCommentKinds.includes(d.kind))) {
return getJsDocComment(declarations[0], config, logger);
}
const comment = getCommentImpl((0, discovery_1.discoverComment)(symbol, kind, logger, commentStyle), config, logger, symbol.declarations?.some(ts.isSourceFile) || false);
const comment = getCommentImpl((0, discovery_1.discoverComment)(symbol, kind, logger, commentStyle), config, logger, declarations.some(typescript_1.default.isSourceFile));
if (!comment && kind === models_1.ReflectionKind.Property) {

@@ -101,3 +81,3 @@ return getConstructorParamPropertyComment(symbol, config, logger, commentStyle);

function getConstructorParamPropertyComment(symbol, config, logger, commentStyle) {
const decl = symbol.declarations?.find(ts.isParameter);
const decl = symbol.declarations?.find(typescript_1.default.isParameter);
if (!decl)

@@ -120,3 +100,3 @@ return;

let parent = declaration.parent;
while (!ts.isJSDoc(parent)) {
while (!typescript_1.default.isJSDoc(parent)) {
parent = parent.parent;

@@ -129,3 +109,3 @@ }

{
kind: ts.SyntaxKind.MultiLineCommentTrivia,
kind: typescript_1.default.SyntaxKind.MultiLineCommentTrivia,
pos: parent.pos,

@@ -137,6 +117,6 @@ end: parent.end,

// And pull out the tag we actually care about.
if (ts.isJSDocEnumTag(declaration)) {
if (typescript_1.default.isJSDocEnumTag(declaration)) {
return new models_1.Comment(comment.getTag("@enum")?.content);
}
if (ts.isJSDocTemplateTag(declaration) &&
if (typescript_1.default.isJSDocTemplateTag(declaration) &&
declaration.comment &&

@@ -151,3 +131,3 @@ declaration.typeParameters.length > 1) {

let name;
if (ts.isJSDocTemplateTag(declaration)) {
if (typescript_1.default.isJSDocTemplateTag(declaration)) {
// This isn't really ideal.

@@ -154,0 +134,0 @@ name = declaration.typeParameters[0].name.text;

import { Comment, CommentDisplayPart, Reflection } from "../../models";
import { DeclarationReference } from "./declarationReference";
export declare function resolveLinks(comment: Comment, reflection: Reflection, attemptExternalResolve: (ref: DeclarationReference) => string | undefined): void;
export declare function resolvePartLinks(reflection: Reflection, parts: readonly CommentDisplayPart[], attemptExternalResolve: (ref: DeclarationReference) => string | undefined): CommentDisplayPart[];
export type ExternalResolveResult = {
target: string;
caption?: string;
};
export type ExternalSymbolResolver = (ref: DeclarationReference, refl: Reflection, part: Readonly<CommentDisplayPart> | undefined) => ExternalResolveResult | string | undefined;
export declare function resolveLinks(comment: Comment, reflection: Reflection, externalResolver: ExternalSymbolResolver): void;
export declare function resolvePartLinks(reflection: Reflection, parts: readonly CommentDisplayPart[], externalResolver: ExternalSymbolResolver): CommentDisplayPart[];
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolvePartLinks = exports.resolveLinks = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../../models");

@@ -32,17 +12,17 @@ const declarationReference_1 = require("./declarationReference");

const urlPrefix = /^(http|ftp)s?:\/\//;
function resolveLinks(comment, reflection, attemptExternalResolve) {
comment.summary = resolvePartLinks(reflection, comment.summary, attemptExternalResolve);
function resolveLinks(comment, reflection, externalResolver) {
comment.summary = resolvePartLinks(reflection, comment.summary, externalResolver);
for (const tag of comment.blockTags) {
tag.content = resolvePartLinks(reflection, tag.content, attemptExternalResolve);
tag.content = resolvePartLinks(reflection, tag.content, externalResolver);
}
if (reflection instanceof models_1.DeclarationReflection && reflection.readme) {
reflection.readme = resolvePartLinks(reflection, reflection.readme, attemptExternalResolve);
reflection.readme = resolvePartLinks(reflection, reflection.readme, externalResolver);
}
}
exports.resolveLinks = resolveLinks;
function resolvePartLinks(reflection, parts, attemptExternalResolve) {
return parts.flatMap((part) => processPart(reflection, part, attemptExternalResolve));
function resolvePartLinks(reflection, parts, externalResolver) {
return parts.flatMap((part) => processPart(reflection, part, externalResolver));
}
exports.resolvePartLinks = resolvePartLinks;
function processPart(reflection, part, attemptExternalResolve) {
function processPart(reflection, part, externalResolver) {
if (part.kind === "inline-tag") {

@@ -52,3 +32,3 @@ if (part.tag === "@link" ||

part.tag === "@linkplain") {
return resolveLinkTag(reflection, part, attemptExternalResolve);
return resolveLinkTag(reflection, part, externalResolver);
}

@@ -58,6 +38,6 @@ }

}
function resolveLinkTag(reflection, part, attemptExternalResolve) {
function resolveLinkTag(reflection, part, externalResolver) {
let pos = 0;
const end = part.text.length;
while (pos < end && ts.isWhiteSpaceLike(part.text.charCodeAt(pos))) {
while (pos < end && typescript_1.default.isWhiteSpaceLike(part.text.charCodeAt(pos))) {
pos++;

@@ -68,3 +48,3 @@ }

let target;
let defaultDisplayText;
let defaultDisplayText = "";
if (declRef) {

@@ -79,5 +59,12 @@ // Got one, great! Try to resolve the link

// If we didn't find a link, it might be a @link tag to an external symbol, check that next.
target = attemptExternalResolve(declRef[0]);
if (target) {
defaultDisplayText = part.text.substring(0, pos);
const externalResolveResult = externalResolver(declRef[0], reflection, part);
defaultDisplayText = part.text.substring(0, pos);
switch (typeof externalResolveResult) {
case "string":
target = externalResolveResult;
break;
case "object":
target = externalResolveResult.target;
defaultDisplayText =
externalResolveResult.caption || defaultDisplayText;
}

@@ -97,3 +84,3 @@ }

// until that's consumed.
while (pos < end && ts.isWhiteSpaceLike(part.text.charCodeAt(pos))) {
while (pos < end && typescript_1.default.isWhiteSpaceLike(part.text.charCodeAt(pos))) {
pos++;

@@ -108,4 +95,5 @@ }

part.target = target;
part.text = part.text.substring(pos).trim() || defaultDisplayText;
part.text =
part.text.substring(pos).trim() || defaultDisplayText || part.text;
return part;
}

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import { Reflection, ProjectReflection, DeclarationReflection, ReflectionKind } from "../models/index";

@@ -3,0 +3,0 @@ import type { Converter } from "./converter";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -28,3 +8,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

const assert_1 = require("assert");
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const index_1 = require("../models/index");

@@ -124,4 +104,4 @@ const nodes_1 = require("./utils/nodes");

if (!symbol) {
const { line } = ts.getLineAndCharacterOfPosition(node.getSourceFile(), node.pos);
throw new Error(`Expected a symbol for node with kind ${ts.SyntaxKind[node.kind]} at ${node.getSourceFile().fileName}:${line + 1}`);
const { line } = typescript_1.default.getLineAndCharacterOfPosition(node.getSourceFile(), node.pos);
throw new Error(`Expected a symbol for node with kind ${typescript_1.default.SyntaxKind[node.kind]} at ${node.getSourceFile().fileName}:${line + 1}`);
}

@@ -128,0 +108,0 @@ return symbol;

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
/**

@@ -3,0 +3,0 @@ * Return the default value of the given node.

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertExpression = exports.convertDefaultValue = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
/**

@@ -46,16 +26,16 @@ * Return the default value of the given node.

switch (expression.kind) {
case ts.SyntaxKind.StringLiteral:
case ts.SyntaxKind.TrueKeyword:
case ts.SyntaxKind.FalseKeyword:
case ts.SyntaxKind.NullKeyword:
case ts.SyntaxKind.NumericLiteral:
case ts.SyntaxKind.PrefixUnaryExpression:
case ts.SyntaxKind.Identifier:
case typescript_1.default.SyntaxKind.StringLiteral:
case typescript_1.default.SyntaxKind.TrueKeyword:
case typescript_1.default.SyntaxKind.FalseKeyword:
case typescript_1.default.SyntaxKind.NullKeyword:
case typescript_1.default.SyntaxKind.NumericLiteral:
case typescript_1.default.SyntaxKind.PrefixUnaryExpression:
case typescript_1.default.SyntaxKind.Identifier:
return expression.getText();
}
if (ts.isArrayLiteralExpression(expression) &&
if (typescript_1.default.isArrayLiteralExpression(expression) &&
expression.elements.length === 0) {
return "[]";
}
if (ts.isObjectLiteralExpression(expression) &&
if (typescript_1.default.isObjectLiteralExpression(expression) &&
expression.properties.length === 0) {

@@ -65,10 +45,10 @@ return "{}";

// a.b.c.d
if (ts.isPropertyAccessExpression(expression)) {
if (typescript_1.default.isPropertyAccessExpression(expression)) {
const parts = [expression.name.getText()];
let iter = expression.expression;
while (ts.isPropertyAccessExpression(iter)) {
while (typescript_1.default.isPropertyAccessExpression(iter)) {
parts.unshift(iter.name.getText());
iter = iter.expression;
}
if (ts.isIdentifier(iter)) {
if (typescript_1.default.isIdentifier(iter)) {
parts.unshift(iter.text);

@@ -75,0 +55,0 @@ return parts.join(".");

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import type { Application } from "../application";

@@ -11,2 +11,3 @@ import { Comment, CommentDisplayPart, ProjectReflection, Reflection, SomeType } from "../models/index";

import type { CommentStyle, ValidationOptions } from "../utils/options/declaration";
import { ExternalSymbolResolver, ExternalResolveResult } from "./comments/linkResolver";
import type { DeclarationReference } from "./comments/declarationReference";

@@ -132,8 +133,9 @@ /**

* reference passed will have the `moduleSource` set and the `symbolReference` will navigate via `.`)
* and user defined \{\@link\} tags which cannot be resolved.
* and user defined \{\@link\} tags which cannot be resolved. If the link being resolved is inferred
* from a type, then no `part` will be passed to the resolver function.
* @since 0.22.14
*/
addUnknownSymbolResolver(resolver: (ref: DeclarationReference) => string | undefined): void;
addUnknownSymbolResolver(resolver: ExternalSymbolResolver): void;
/** @internal */
resolveExternalLink(ref: DeclarationReference): string | undefined;
resolveExternalLink(ref: DeclarationReference, refl: Reflection, part?: CommentDisplayPart): ExternalResolveResult | string | undefined;
resolveLinks(comment: Comment, owner: Reflection): void;

@@ -140,0 +142,0 @@ resolveLinks(parts: readonly CommentDisplayPart[], owner: Reflection): CommentDisplayPart[];

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

@@ -24,8 +8,4 @@ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;

};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -35,3 +15,3 @@ var Converter_1;

exports.Converter = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const index_1 = require("../models/index");

@@ -131,3 +111,4 @@ const context_1 = require("./context");

* reference passed will have the `moduleSource` set and the `symbolReference` will navigate via `.`)
* and user defined \{\@link\} tags which cannot be resolved.
* and user defined \{\@link\} tags which cannot be resolved. If the link being resolved is inferred
* from a type, then no `part` will be passed to the resolver function.
* @since 0.22.14

@@ -139,5 +120,5 @@ */

/** @internal */
resolveExternalLink(ref) {
resolveExternalLink(ref, refl, part) {
for (const resolver of this._externalSymbolResolvers) {
const resolved = resolver(ref);
const resolved = resolver(ref, refl, part);
if (resolved)

@@ -149,6 +130,6 @@ return resolved;

if (comment instanceof index_1.Comment) {
(0, linkResolver_1.resolveLinks)(comment, owner, (ref) => this.resolveExternalLink(ref));
(0, linkResolver_1.resolveLinks)(comment, owner, (ref, part, refl) => this.resolveExternalLink(ref, part, refl));
}
else {
return (0, linkResolver_1.resolvePartLinks)(owner, comment, (ref) => this.resolveExternalLink(ref));
return (0, linkResolver_1.resolvePartLinks)(owner, comment, (ref, part, refl) => this.resolveExternalLink(ref, part, refl));
}

@@ -379,3 +360,3 @@ }

const globalSymbols = context.checker
.getSymbolsInScope(node, ts.SymbolFlags.ModuleMember)
.getSymbolsInScope(node, typescript_1.default.SymbolFlags.ModuleMember)
.filter((s) => s.getDeclarations()?.some((d) => d.getSourceFile() === sourceFile));

@@ -387,4 +368,4 @@ // Detect declaration files with declare module "foo" as their only export

.getDeclarations()
?.every((declaration) => ts.isModuleDeclaration(declaration) &&
ts.isStringLiteral(declaration.name))) {
?.every((declaration) => typescript_1.default.isModuleDeclaration(declaration) &&
typescript_1.default.isStringLiteral(declaration.name))) {
return globalSymbols[0];

@@ -404,3 +385,3 @@ }

.getExportsOfModule(symbol)
.filter((s) => !(0, enum_1.hasAnyFlag)(s.flags, ts.SymbolFlags.Prototype | ts.SymbolFlags.Value)));
.filter((s) => !(0, enum_1.hasAnyFlag)(s.flags, typescript_1.default.SymbolFlags.Prototype | typescript_1.default.SymbolFlags.Value)));
}

@@ -410,6 +391,6 @@ else if (symbol) {

.getExportsOfModule(symbol)
.filter((s) => !(0, enum_1.hasAllFlags)(s.flags, ts.SymbolFlags.Prototype));
.filter((s) => !(0, enum_1.hasAllFlags)(s.flags, typescript_1.default.SymbolFlags.Prototype));
if (result.length === 0) {
const globalDecl = node.statements.find((s) => ts.isModuleDeclaration(s) &&
s.flags & ts.NodeFlags.GlobalAugmentation);
const globalDecl = node.statements.find((s) => typescript_1.default.isModuleDeclaration(s) &&
s.flags & typescript_1.default.NodeFlags.GlobalAugmentation);
if (globalDecl) {

@@ -429,3 +410,3 @@ const globalSymbol = context.getSymbolAtLocation(globalDecl);

result = context.checker
.getSymbolsInScope(node, ts.SymbolFlags.ModuleMember)
.getSymbolsInScope(node, typescript_1.default.SymbolFlags.ModuleMember)
.filter((s) => s

@@ -432,0 +413,0 @@ .getDeclarations()

@@ -1,3 +0,3 @@

import * as ts from "typescript";
import ts from "typescript";
import type { Context } from "../context";
export declare function convertIndexSignature(context: Context, symbol: ts.Symbol): void;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -31,3 +8,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

const assert_1 = __importDefault(require("assert"));
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../../models");

@@ -43,5 +20,5 @@ const converter_events_1 = require("../converter-events");

const indexDeclaration = indexSymbol.getDeclarations()?.[0];
(0, assert_1.default)(indexDeclaration && ts.isIndexSignatureDeclaration(indexDeclaration));
(0, assert_1.default)(indexDeclaration && typescript_1.default.isIndexSignatureDeclaration(indexDeclaration));
const param = indexDeclaration.parameters[0];
(0, assert_1.default)(param && ts.isParameter(param));
(0, assert_1.default)(param && typescript_1.default.isParameter(param));
const index = new models_1.SignatureReflection("__index", models_1.ReflectionKind.IndexSignature, context.scope);

@@ -48,0 +25,0 @@ index.parameters = [

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import { ParameterReflection, ReflectionKind, SignatureReflection, TypeParameterReflection } from "../../models";

@@ -3,0 +3,0 @@ import type { Context } from "../context";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -30,3 +7,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

exports.createTypeParamReflection = exports.convertTypeParameterNodes = exports.convertParameterNodes = exports.createSignature = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const assert_1 = __importDefault(require("assert"));

@@ -50,8 +27,14 @@ const models_1 = require("../../models");

}
// If we are creating signatures for a variable and the variable has a comment associated with it
// then we should prefer that variable's comment over any comment on the signature. The comment plugin
// If we are creating signatures for a variable or property and it has a comment associated with it
// then we should prefer that comment over any comment on the signature. The comment plugin
// will copy the comment down if this signature doesn't have one, so don't set one.
let parentReflection = context.scope;
if (parentReflection.kindOf(models_1.ReflectionKind.TypeLiteral) &&
parentReflection.parent instanceof models_1.DeclarationReflection) {
parentReflection = parentReflection.parent;
}
if (declaration &&
(!context.scope.comment ||
!(context.scope.conversionFlags & models_1.ConversionFlags.VariableSource))) {
(!parentReflection.comment ||
!(parentReflection.conversionFlags &
models_1.ConversionFlags.VariableOrPropertySource))) {
sigRef.comment = (0, comments_1.getSignatureComment)(declaration, context.converter.config, context.logger, context.converter.commentStyle);

@@ -72,3 +55,3 @@ }

else {
sigRef.type = context.converter.convertType(sigRefCtx, (declaration?.kind === ts.SyntaxKind.FunctionDeclaration &&
sigRef.type = context.converter.convertType(sigRefCtx, (declaration?.kind === typescript_1.default.SyntaxKind.FunctionDeclaration &&
declaration.type) ||

@@ -98,6 +81,6 @@ signature.getReturnType());

(0, assert_1.default)(!declaration ||
ts.isParameter(declaration) ||
ts.isJSDocParameterTag(declaration));
typescript_1.default.isParameter(declaration) ||
typescript_1.default.isJSDocParameterTag(declaration));
const paramRefl = new models_1.ParameterReflection(/__\d+/.test(param.name) ? "__namedParameters" : param.name, models_1.ReflectionKind.Parameter, sigRef);
if (declaration && ts.isJSDocParameterTag(declaration)) {
if (declaration && typescript_1.default.isJSDocParameterTag(declaration)) {
paramRefl.comment = (0, comments_1.getJsDocComment)(declaration, context.converter.config, context.logger);

@@ -118,5 +101,5 @@ }

if (declaration) {
isOptional = ts.isParameter(declaration)
isOptional = typescript_1.default.isParameter(declaration)
? !!declaration.questionToken ||
ts
typescript_1.default
.getJSDocParameterTags(declaration)

@@ -135,6 +118,6 @@ .some((tag) => tag.isBracketed)

if (declaration) {
isRest = ts.isParameter(declaration)
isRest = typescript_1.default.isParameter(declaration)
? !!declaration.dotDotDotToken
: !!declaration.typeExpression &&
ts.isJSDocVariadicType(declaration.typeExpression.type);
typescript_1.default.isJSDocVariadicType(declaration.typeExpression.type);
}

@@ -150,3 +133,3 @@ paramRefl.setFlag(models_1.ReflectionFlag.Rest, isRest);

: param.name.getText(), models_1.ReflectionKind.Parameter, sigRef);
if (ts.isJSDocParameterTag(param)) {
if (typescript_1.default.isJSDocParameterTag(param)) {
paramRefl.comment = (0, comments_1.getJsDocComment)(param, context.converter.config, context.logger);

@@ -156,4 +139,4 @@ }

context.trigger(converter_events_1.ConverterEvents.CREATE_PARAMETER, paramRefl);
paramRefl.type = context.converter.convertType(context.withScope(paramRefl), ts.isParameter(param) ? param.type : param.typeExpression?.type);
const isOptional = ts.isParameter(param)
paramRefl.type = context.converter.convertType(context.withScope(paramRefl), typescript_1.default.isParameter(param) ? param.type : param.typeExpression?.type);
const isOptional = typescript_1.default.isParameter(param)
? !!param.questionToken

@@ -166,6 +149,6 @@ : param.isBracketed;

paramRefl.setFlag(models_1.ReflectionFlag.Optional, isOptional);
paramRefl.setFlag(models_1.ReflectionFlag.Rest, ts.isParameter(param)
paramRefl.setFlag(models_1.ReflectionFlag.Rest, typescript_1.default.isParameter(param)
? !!param.dotDotDotToken
: !!param.typeExpression &&
ts.isJSDocVariadicType(param.typeExpression.type));
typescript_1.default.isJSDocVariadicType(param.typeExpression.type));
return paramRefl;

@@ -181,3 +164,3 @@ });

// so unfortunately we have to go back to the node for this...
const variance = getVariance(param.getSymbol()?.declarations?.find(ts.isTypeParameterDeclaration)
const variance = getVariance(param.getSymbol()?.declarations?.find(typescript_1.default.isTypeParameterDeclaration)
?.modifiers);

@@ -211,3 +194,3 @@ const paramRefl = new models_1.TypeParameterReflection(param.symbol.name, parent, variance);

context.registerReflection(paramRefl, param.symbol);
if (ts.isJSDocTemplateTag(param.parent)) {
if (typescript_1.default.isJSDocTemplateTag(param.parent)) {
paramRefl.comment = (0, comments_1.getJsDocComment)(param.parent, context.converter.config, context.logger);

@@ -220,4 +203,4 @@ }

function getVariance(modifiers) {
const hasIn = modifiers?.some((mod) => mod.kind === ts.SyntaxKind.InKeyword);
const hasOut = modifiers?.some((mod) => mod.kind === ts.SyntaxKind.OutKeyword);
const hasIn = modifiers?.some((mod) => mod.kind === typescript_1.default.SyntaxKind.InKeyword);
const hasOut = modifiers?.some((mod) => mod.kind === typescript_1.default.SyntaxKind.OutKeyword);
if (hasIn && hasOut) {

@@ -236,8 +219,8 @@ return models_1.VarianceModifier.inOut;

switch (predicate.kind) {
case ts.TypePredicateKind.This:
case ts.TypePredicateKind.AssertsThis:
case typescript_1.default.TypePredicateKind.This:
case typescript_1.default.TypePredicateKind.AssertsThis:
name = "this";
break;
case ts.TypePredicateKind.Identifier:
case ts.TypePredicateKind.AssertsIdentifier:
case typescript_1.default.TypePredicateKind.Identifier:
case typescript_1.default.TypePredicateKind.AssertsIdentifier:
name = predicate.parameterName;

@@ -248,8 +231,8 @@ break;

switch (predicate.kind) {
case ts.TypePredicateKind.This:
case ts.TypePredicateKind.Identifier:
case typescript_1.default.TypePredicateKind.This:
case typescript_1.default.TypePredicateKind.Identifier:
asserts = false;
break;
case ts.TypePredicateKind.AssertsThis:
case ts.TypePredicateKind.AssertsIdentifier:
case typescript_1.default.TypePredicateKind.AssertsThis:
case typescript_1.default.TypePredicateKind.AssertsIdentifier:
asserts = true;

@@ -256,0 +239,0 @@ break;

@@ -6,2 +6,3 @@ export { Context } from "./context";

export type { DeclarationReference, SymbolReference, ComponentPath, Meaning, MeaningKeyword, } from "./comments/declarationReference";
export type { ExternalSymbolResolver, ExternalResolveResult, } from "./comments/linkResolver";
import "./plugins/index";

@@ -1,4 +0,4 @@

import * as ts from "typescript";
import ts from "typescript";
import type { Context } from "./context";
export declare function convertJsDocAlias(context: Context, symbol: ts.Symbol, declaration: ts.JSDocTypedefTag | ts.JSDocEnumTag, exportSymbol?: ts.Symbol): void;
export declare function convertJsDocCallback(context: Context, symbol: ts.Symbol, declaration: ts.JSDocCallbackTag, exportSymbol?: ts.Symbol): void;

@@ -5,24 +5,4 @@ "use strict";

// @callback
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -32,3 +12,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

const assert_1 = require("assert");
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../models");

@@ -41,3 +21,3 @@ const ReflectionSymbolId_1 = require("../models/reflections/ReflectionSymbolId");

if (declaration.typeExpression &&
ts.isJSDocTypeLiteral(declaration.typeExpression)) {
typescript_1.default.isJSDocTypeLiteral(declaration.typeExpression)) {
convertJsDocInterface(context, declaration, symbol, exportSymbol);

@@ -102,3 +82,3 @@ return;

(0, assert_1.ok)(context.scope instanceof models_1.DeclarationReflection);
context.scope.typeParameters = convertTemplateParameterNodes(context, node.tags?.filter(ts.isJSDocTemplateTag));
context.scope.typeParameters = convertTemplateParameterNodes(context, node.tags?.filter(typescript_1.default.isJSDocTemplateTag));
}

@@ -111,8 +91,8 @@ function convertTemplateParameterNodes(context, nodes) {

const typeExpression = declaration.typeExpression;
if (!ts.isJSDocTypedefTag(declaration) ||
if (!typescript_1.default.isJSDocTypedefTag(declaration) ||
!typeExpression ||
ts.isJSDocTypeLiteral(typeExpression) ||
!ts.isImportTypeNode(typeExpression.type) ||
typescript_1.default.isJSDocTypeLiteral(typeExpression) ||
!typescript_1.default.isImportTypeNode(typeExpression.type) ||
!typeExpression.type.qualifier ||
!ts.isIdentifier(typeExpression.type.qualifier)) {
!typescript_1.default.isIdentifier(typeExpression.type.qualifier)) {
return;

@@ -123,10 +103,10 @@ }

if (!decl ||
!(ts.isTypeAliasDeclaration(decl) ||
ts.isInterfaceDeclaration(decl) ||
ts.isJSDocTypedefTag(decl) ||
ts.isJSDocCallbackTag(decl))) {
!(typescript_1.default.isTypeAliasDeclaration(decl) ||
typescript_1.default.isInterfaceDeclaration(decl) ||
typescript_1.default.isJSDocTypedefTag(decl) ||
typescript_1.default.isJSDocCallbackTag(decl))) {
return;
}
const targetParams = ts.getEffectiveTypeParameterDeclarations(decl);
const localParams = ts.getEffectiveTypeParameterDeclarations(declaration);
const targetParams = typescript_1.default.getEffectiveTypeParameterDeclarations(decl);
const localParams = typescript_1.default.getEffectiveTypeParameterDeclarations(declaration);
const localArgs = typeExpression.type.typeArguments || [];

@@ -136,4 +116,4 @@ // If we have type parameters, ensure they are forwarding parameters with no transformations.

if (targetParams.length !== localParams.length ||
localArgs.some((arg, i) => !ts.isTypeReferenceNode(arg) ||
!ts.isIdentifier(arg.typeName) ||
localArgs.some((arg, i) => !typescript_1.default.isTypeReferenceNode(arg) ||
!typescript_1.default.isIdentifier(arg.typeName) ||
arg.typeArguments ||

@@ -140,0 +120,0 @@ localParams[i]?.name.text !== arg.typeName.text)) {

@@ -64,2 +64,4 @@ import { ConverterComponent } from "../components";

excludeNotDocumented: boolean;
private _excludeKinds;
private get excludeNotDocumentedKinds();
/**

@@ -66,0 +68,0 @@ * Create a new CommentPlugin instance.

@@ -92,2 +92,8 @@ "use strict";

let CommentPlugin = class CommentPlugin extends components_1.ConverterComponent {
get excludeNotDocumentedKinds() {
this._excludeKinds ?? (this._excludeKinds = this.application.options
.getValue("excludeNotDocumentedKinds")
.reduce((a, b) => a | models_1.ReflectionKind[b], 0));
return this._excludeKinds;
}
/**

@@ -103,2 +109,5 @@ * Create a new CommentPlugin instance.

[converter_1.Converter.EVENT_RESOLVE]: this.onResolve,
[converter_1.Converter.EVENT_END]: () => {
this._excludeKinds = undefined;
},
});

@@ -340,2 +349,9 @@ }

if (!comment) {
// We haven't moved comments from the parent for signatures without a direct
// comment, so don't exclude those due to not being documented.
if (reflection.kindOf(models_1.ReflectionKind.CallSignature |
models_1.ReflectionKind.ConstructorSignature) &&
reflection.parent?.comment) {
return false;
}
if (this.excludeNotDocumented) {

@@ -347,2 +363,5 @@ // Don't let excludeNotDocumented remove parameters.

}
if (!reflection.kindOf(this.excludeNotDocumentedKinds)) {
return false;
}
// excludeNotDocumented should hide a module only if it has no visible children

@@ -355,6 +374,2 @@ if (reflection.kindOf(models_1.ReflectionKind.SomeModule)) {

}
// enum members should all be included if the parent enum is documented
if (reflection.kind === models_1.ReflectionKind.EnumMember) {
return false;
}
// signature containers should only be hidden if all their signatures are hidden

@@ -361,0 +376,0 @@ if (reflection.kindOf(models_1.ReflectionKind.SignatureContainer)) {

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

@@ -24,12 +8,8 @@ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;

};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImplementsPlugin = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const application_events_1 = require("../../application-events");

@@ -178,3 +158,3 @@ const index_1 = require("../../models/reflections/index");

.getDeclarations()
?.find((n) => ts.isClassDeclaration(n) || ts.isInterfaceDeclaration(n));
?.find((n) => typescript_1.default.isClassDeclaration(n) || typescript_1.default.isInterfaceDeclaration(n));
if (!declaration) {

@@ -200,3 +180,3 @@ return;

if (reflection.kind === index_1.ReflectionKind.Constructor) {
const ctor = info.declaration.members.find(ts.isConstructorDeclaration);
const ctor = info.declaration.members.find(typescript_1.default.isConstructorDeclaration);
constructorInheritance(context, reflection, info.declaration, ctor);

@@ -218,3 +198,3 @@ return;

if (reflection.flags.isStatic &&
clause.token === ts.SyntaxKind.ImplementsKeyword) {
clause.token === typescript_1.default.SyntaxKind.ImplementsKeyword) {
continue;

@@ -233,3 +213,3 @@ }

// inherit from a base class and also implement an interface.
if (clause.token === ts.SyntaxKind.ImplementsKeyword) {
if (clause.token === typescript_1.default.SyntaxKind.ImplementsKeyword) {
break out;

@@ -247,3 +227,3 @@ }

function constructorInheritance(context, reflection, childDecl, constructorDecl) {
const extendsClause = childDecl.heritageClauses?.find((cl) => cl.token === ts.SyntaxKind.ExtendsKeyword);
const extendsClause = childDecl.heritageClauses?.find((cl) => cl.token === typescript_1.default.SyntaxKind.ExtendsKeyword);
if (!extendsClause)

@@ -280,3 +260,3 @@ return;

return;
if (clause.token === ts.SyntaxKind.ImplementsKeyword) {
if (clause.token === typescript_1.default.SyntaxKind.ImplementsKeyword) {
target.implementationOf ?? (target.implementationOf = types_1.ReferenceType.createBrokenReference(name, project));

@@ -283,0 +263,0 @@ return;

@@ -41,5 +41,13 @@ "use strict";

}
for (const { type } of (0, reflections_1.discoverAllReferenceTypes)(project, false)) {
for (const { type, owner } of (0, reflections_1.discoverAllReferenceTypes)(project, false)) {
if (!type.reflection) {
type.externalUrl = this.owner.resolveExternalLink(type.toDeclarationReference());
const resolveResult = this.owner.resolveExternalLink(type.toDeclarationReference(), owner);
switch (typeof resolveResult) {
case "string":
type.externalUrl = resolveResult;
break;
case "object":
type.externalUrl = resolveResult.target;
break;
}
}

@@ -46,0 +54,0 @@ }

@@ -11,2 +11,3 @@ import { ConverterComponent } from "../components";

entryPoints: string[];
includeVersion: boolean;
/**

@@ -13,0 +14,0 @@ * The file name of the found readme.md file.

@@ -129,3 +129,5 @@ "use strict";

}
project.packageVersion = this.packageJson.version;
if (this.includeVersion) {
project.packageVersion = this.packageJson.version;
}
}

@@ -147,2 +149,5 @@ else if (!project.name) {

], PackagePlugin.prototype, "entryPoints", void 0);
__decorate([
(0, utils_1.BindOption)("includeVersion")
], PackagePlugin.prototype, "includeVersion", void 0);
PackagePlugin = __decorate([

@@ -149,0 +154,0 @@ (0, components_1.Component)({ name: "package" })

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

@@ -24,12 +8,8 @@ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;

};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SourcePlugin = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const index_1 = require("../../models/reflections/index");

@@ -97,6 +77,6 @@ const components_1 = require("../components");

if ((0, nodes_1.isNamedNode)(node)) {
position = ts.getLineAndCharacterOfPosition(sourceFile, node.name.getStart());
position = typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.name.getStart());
}
else {
position = ts.getLineAndCharacterOfPosition(sourceFile, node.getStart());
position = typescript_1.default.getLineAndCharacterOfPosition(sourceFile, node.getStart());
}

@@ -113,3 +93,3 @@ reflection.sources || (reflection.sources = []);

this.fileNames.add(fileName);
const position = ts.getLineAndCharacterOfPosition(sourceFile, sig.getStart());
const position = typescript_1.default.getLineAndCharacterOfPosition(sourceFile, sig.getStart());
reflection.sources || (reflection.sources = []);

@@ -116,0 +96,0 @@ reflection.sources.push(new models_1.SourceReference(fileName, position.line + 1, position.character));

@@ -1,3 +0,3 @@

import * as ts from "typescript";
import ts from "typescript";
import type { Context } from "./context";
export declare function convertSymbol(context: Context, symbol: ts.Symbol, exportSymbol?: ts.Symbol): void;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -31,3 +8,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

const assert_1 = __importDefault(require("assert"));
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../models");

@@ -42,20 +19,20 @@ const enum_1 = require("../utils/enum");

const symbolConverters = {
[ts.SymbolFlags.RegularEnum]: convertEnum,
[ts.SymbolFlags.ConstEnum]: convertEnum,
[ts.SymbolFlags.EnumMember]: convertEnumMember,
[ts.SymbolFlags.ValueModule]: convertNamespace,
[ts.SymbolFlags.NamespaceModule]: convertNamespace,
[ts.SymbolFlags.TypeAlias]: convertTypeAlias,
[ts.SymbolFlags.Function]: convertFunctionOrMethod,
[ts.SymbolFlags.Method]: convertFunctionOrMethod,
[ts.SymbolFlags.Interface]: convertClassOrInterface,
[ts.SymbolFlags.Property]: convertProperty,
[ts.SymbolFlags.Class]: convertClassOrInterface,
[ts.SymbolFlags.Constructor]: convertConstructor,
[ts.SymbolFlags.Alias]: convertAlias,
[ts.SymbolFlags.BlockScopedVariable]: convertVariable,
[ts.SymbolFlags.FunctionScopedVariable]: convertVariable,
[ts.SymbolFlags.ExportValue]: convertVariable,
[ts.SymbolFlags.GetAccessor]: convertAccessor,
[ts.SymbolFlags.SetAccessor]: convertAccessor,
[typescript_1.default.SymbolFlags.RegularEnum]: convertEnum,
[typescript_1.default.SymbolFlags.ConstEnum]: convertEnum,
[typescript_1.default.SymbolFlags.EnumMember]: convertEnumMember,
[typescript_1.default.SymbolFlags.ValueModule]: convertNamespace,
[typescript_1.default.SymbolFlags.NamespaceModule]: convertNamespace,
[typescript_1.default.SymbolFlags.TypeAlias]: convertTypeAlias,
[typescript_1.default.SymbolFlags.Function]: convertFunctionOrMethod,
[typescript_1.default.SymbolFlags.Method]: convertFunctionOrMethod,
[typescript_1.default.SymbolFlags.Interface]: convertClassOrInterface,
[typescript_1.default.SymbolFlags.Property]: convertProperty,
[typescript_1.default.SymbolFlags.Class]: convertClassOrInterface,
[typescript_1.default.SymbolFlags.Constructor]: convertConstructor,
[typescript_1.default.SymbolFlags.Alias]: convertAlias,
[typescript_1.default.SymbolFlags.BlockScopedVariable]: convertVariable,
[typescript_1.default.SymbolFlags.FunctionScopedVariable]: convertVariable,
[typescript_1.default.SymbolFlags.ExportValue]: convertVariable,
[typescript_1.default.SymbolFlags.GetAccessor]: convertAccessor,
[typescript_1.default.SymbolFlags.SetAccessor]: convertAccessor,
};

@@ -68,21 +45,21 @@ const allConverterFlags = Object.keys(symbolConverters).reduce((v, k) => v | +k, 0);

// merged with an enum works properly.
ts.SymbolFlags.RegularEnum,
ts.SymbolFlags.ConstEnum,
ts.SymbolFlags.EnumMember,
typescript_1.default.SymbolFlags.RegularEnum,
typescript_1.default.SymbolFlags.ConstEnum,
typescript_1.default.SymbolFlags.EnumMember,
// Before type alias
ts.SymbolFlags.BlockScopedVariable,
ts.SymbolFlags.FunctionScopedVariable,
ts.SymbolFlags.ExportValue,
ts.SymbolFlags.TypeAlias,
ts.SymbolFlags.Function,
ts.SymbolFlags.Method,
ts.SymbolFlags.Interface,
ts.SymbolFlags.Property,
ts.SymbolFlags.Class,
ts.SymbolFlags.Constructor,
ts.SymbolFlags.Alias,
ts.SymbolFlags.GetAccessor,
ts.SymbolFlags.SetAccessor,
ts.SymbolFlags.ValueModule,
ts.SymbolFlags.NamespaceModule,
typescript_1.default.SymbolFlags.BlockScopedVariable,
typescript_1.default.SymbolFlags.FunctionScopedVariable,
typescript_1.default.SymbolFlags.ExportValue,
typescript_1.default.SymbolFlags.TypeAlias,
typescript_1.default.SymbolFlags.Function,
typescript_1.default.SymbolFlags.Method,
typescript_1.default.SymbolFlags.Interface,
typescript_1.default.SymbolFlags.Property,
typescript_1.default.SymbolFlags.Class,
typescript_1.default.SymbolFlags.Constructor,
typescript_1.default.SymbolFlags.Alias,
typescript_1.default.SymbolFlags.GetAccessor,
typescript_1.default.SymbolFlags.SetAccessor,
typescript_1.default.SymbolFlags.ValueModule,
typescript_1.default.SymbolFlags.NamespaceModule,
];

@@ -92,6 +69,6 @@ // Sanity check, if this fails a dev messed up.

if (!Number.isInteger(Math.log2(+key))) {
throw new Error(`Symbol converter for key ${ts.SymbolFlags[+key]} does not specify a valid flag value.`);
throw new Error(`Symbol converter for key ${typescript_1.default.SymbolFlags[+key]} does not specify a valid flag value.`);
}
if (!conversionOrder.includes(+key)) {
throw new Error(`Symbol converter for key ${ts.SymbolFlags[+key]} is not specified in conversionOrder`);
throw new Error(`Symbol converter for key ${typescript_1.default.SymbolFlags[+key]} is not specified in conversionOrder`);
}

@@ -114,27 +91,27 @@ }

}
let flags = (0, enum_1.removeFlag)(symbol.flags, ts.SymbolFlags.Transient |
ts.SymbolFlags.Assignment |
ts.SymbolFlags.Optional |
ts.SymbolFlags.Prototype);
let flags = (0, enum_1.removeFlag)(symbol.flags, typescript_1.default.SymbolFlags.Transient |
typescript_1.default.SymbolFlags.Assignment |
typescript_1.default.SymbolFlags.Optional |
typescript_1.default.SymbolFlags.Prototype);
// Declaration merging - the only type (excluding enum/enum, ns/ns, etc)
// that TD supports is merging a class and interface. All others are
// represented as multiple reflections
if ((0, enum_1.hasAllFlags)(symbol.flags, ts.SymbolFlags.Class)) {
flags = (0, enum_1.removeFlag)(flags, ts.SymbolFlags.Interface | ts.SymbolFlags.Function);
if ((0, enum_1.hasAllFlags)(symbol.flags, typescript_1.default.SymbolFlags.Class)) {
flags = (0, enum_1.removeFlag)(flags, typescript_1.default.SymbolFlags.Interface | typescript_1.default.SymbolFlags.Function);
}
// Kind of declaration merging... we treat this as a property with get/set signatures.
if ((0, enum_1.hasAllFlags)(symbol.flags, ts.SymbolFlags.GetAccessor)) {
flags = (0, enum_1.removeFlag)(flags, ts.SymbolFlags.SetAccessor);
if ((0, enum_1.hasAllFlags)(symbol.flags, typescript_1.default.SymbolFlags.GetAccessor)) {
flags = (0, enum_1.removeFlag)(flags, typescript_1.default.SymbolFlags.SetAccessor);
}
if ((0, enum_1.hasAllFlags)(symbol.flags, ts.SymbolFlags.NamespaceModule)) {
if ((0, enum_1.hasAllFlags)(symbol.flags, typescript_1.default.SymbolFlags.NamespaceModule)) {
// This might be here if a namespace is declared several times.
flags = (0, enum_1.removeFlag)(flags, ts.SymbolFlags.ValueModule);
flags = (0, enum_1.removeFlag)(flags, typescript_1.default.SymbolFlags.ValueModule);
}
if ((0, enum_1.hasAnyFlag)(symbol.flags, ts.SymbolFlags.Method |
ts.SymbolFlags.Interface |
ts.SymbolFlags.Class |
ts.SymbolFlags.Variable)) {
if ((0, enum_1.hasAnyFlag)(symbol.flags, typescript_1.default.SymbolFlags.Method |
typescript_1.default.SymbolFlags.Interface |
typescript_1.default.SymbolFlags.Class |
typescript_1.default.SymbolFlags.Variable)) {
// This happens when someone declares an object with methods:
// { methodProperty() {} }
flags = (0, enum_1.removeFlag)(flags, ts.SymbolFlags.Property);
flags = (0, enum_1.removeFlag)(flags, typescript_1.default.SymbolFlags.Property);
}

@@ -145,10 +122,10 @@ // A default exported function with no associated variable is a property, but

// export default 123
if (flags === ts.SymbolFlags.Property &&
if (flags === typescript_1.default.SymbolFlags.Property &&
symbol.name === "default" &&
context.scope.kindOf(models_1.ReflectionKind.Module | models_1.ReflectionKind.Project)) {
flags = ts.SymbolFlags.BlockScopedVariable;
flags = typescript_1.default.SymbolFlags.BlockScopedVariable;
}
for (const flag of (0, enum_1.getEnumFlags)(flags ^ allConverterFlags)) {
if (!(flag & allConverterFlags)) {
context.logger.verbose(`Missing converter for symbol: ${symbol.name} with flag ${ts.SymbolFlags[flag]}`);
context.logger.verbose(`Missing converter for symbol: ${symbol.name} with flag ${typescript_1.default.SymbolFlags[flag]}`);
}

@@ -175,3 +152,3 @@ }

const reflection = context.createDeclarationReflection(models_1.ReflectionKind.Enum, symbol, exportSymbol);
if (symbol.flags & ts.SymbolFlags.ConstEnum) {
if (symbol.flags & typescript_1.default.SymbolFlags.ConstEnum) {
reflection.setFlag(models_1.ReflectionFlag.Const);

@@ -182,3 +159,3 @@ }

.getExportsOfModule(symbol)
.filter((s) => s.flags & ts.SymbolFlags.EnumMember));
.filter((s) => s.flags & typescript_1.default.SymbolFlags.EnumMember));
}

@@ -199,10 +176,10 @@ function convertEnumMember(context, symbol, exportSymbol) {

function convertNamespace(context, symbol, exportSymbol) {
let exportFlags = ts.SymbolFlags.ModuleMember;
let exportFlags = typescript_1.default.SymbolFlags.ModuleMember;
// This can happen in JS land where "class" functions get tagged as a namespace too
if (symbol
.getDeclarations()
?.some((d) => ts.isModuleDeclaration(d) || ts.isSourceFile(d)) !==
?.some((d) => typescript_1.default.isModuleDeclaration(d) || typescript_1.default.isSourceFile(d)) !==
true) {
exportFlags = ts.SymbolFlags.ClassMember;
if ((0, enum_1.hasAnyFlag)(symbol.flags, ts.SymbolFlags.Class)) {
exportFlags = typescript_1.default.SymbolFlags.ClassMember;
if ((0, enum_1.hasAnyFlag)(symbol.flags, typescript_1.default.SymbolFlags.Class)) {
return;

@@ -220,8 +197,8 @@ }

?.getDeclarations()
?.find((d) => ts.isTypeAliasDeclaration(d) ||
ts.isJSDocTypedefTag(d) ||
ts.isJSDocCallbackTag(d) ||
ts.isJSDocEnumTag(d));
?.find((d) => typescript_1.default.isTypeAliasDeclaration(d) ||
typescript_1.default.isJSDocTypedefTag(d) ||
typescript_1.default.isJSDocCallbackTag(d) ||
typescript_1.default.isJSDocEnumTag(d));
(0, assert_1.default)(declaration);
if (ts.isTypeAliasDeclaration(declaration)) {
if (typescript_1.default.isTypeAliasDeclaration(declaration)) {
const reflection = context.createDeclarationReflection(models_1.ReflectionKind.TypeAlias, symbol, exportSymbol);

@@ -234,4 +211,4 @@ reflection.type = context.converter.convertType(context.withScope(reflection), declaration.type);

}
else if (ts.isJSDocTypedefTag(declaration) ||
ts.isJSDocEnumTag(declaration)) {
else if (typescript_1.default.isJSDocTypedefTag(declaration) ||
typescript_1.default.isJSDocEnumTag(declaration)) {
(0, jsdoc_1.convertJsDocAlias)(context, symbol, declaration, exportSymbol);

@@ -247,4 +224,4 @@ }

const isMethod = !!(symbol.flags &
(ts.SymbolFlags.Property | ts.SymbolFlags.Method));
const declarations = symbol.getDeclarations()?.filter(ts.isFunctionLike) ?? [];
(typescript_1.default.SymbolFlags.Property | typescript_1.default.SymbolFlags.Method));
const declarations = symbol.getDeclarations()?.filter(typescript_1.default.isFunctionLike) ?? [];
// Don't do anything if we inherited this method and it is private.

@@ -254,3 +231,3 @@ if (isMethod &&

declarations.length > 0 &&
(0, enum_1.hasAllFlags)(ts.getCombinedModifierFlags(declarations[0]), ts.ModifierFlags.Private)) {
(0, enum_1.hasAllFlags)(typescript_1.default.getCombinedModifierFlags(declarations[0]), typescript_1.default.ModifierFlags.Private)) {
return;

@@ -260,3 +237,3 @@ }

?.getDeclarations()
?.find((d) => ts.isClassDeclaration(d) || ts.isInterfaceDeclaration(d)) ??
?.find((d) => typescript_1.default.isClassDeclaration(d) || typescript_1.default.isInterfaceDeclaration(d)) ??
symbol.parent?.getDeclarations()?.[0]?.getSourceFile() ??

@@ -289,3 +266,3 @@ symbol.getDeclarations()?.[0]?.getSourceFile();

function convertClassOrInterface(context, symbol, exportSymbol) {
const reflection = context.createDeclarationReflection(ts.SymbolFlags.Class & symbol.flags
const reflection = context.createDeclarationReflection(typescript_1.default.SymbolFlags.Class & symbol.flags
? models_1.ReflectionKind.Class

@@ -295,3 +272,3 @@ : models_1.ReflectionKind.Interface, symbol, exportSymbol, void 0);

.getDeclarations()
?.find((d) => ts.isClassDeclaration(d) || ts.isFunctionDeclaration(d));
?.find((d) => typescript_1.default.isClassDeclaration(d) || typescript_1.default.isFunctionDeclaration(d));
if (classDeclaration)

@@ -305,8 +282,8 @@ setModifiers(symbol, classDeclaration, reflection);

.getDeclarations()
?.filter((d) => ts.isInterfaceDeclaration(d) || ts.isClassDeclaration(d)) ?? [];
const extendedTypes = (0, nodes_1.getHeritageTypes)(declarations, ts.SyntaxKind.ExtendsKeyword).map((t) => context.converter.convertType(reflectionContext, t));
?.filter((d) => typescript_1.default.isInterfaceDeclaration(d) || typescript_1.default.isClassDeclaration(d)) ?? [];
const extendedTypes = (0, nodes_1.getHeritageTypes)(declarations, typescript_1.default.SyntaxKind.ExtendsKeyword).map((t) => context.converter.convertType(reflectionContext, t));
if (extendedTypes.length) {
reflection.extendedTypes = extendedTypes;
}
const implementedTypes = (0, nodes_1.getHeritageTypes)(declarations, ts.SyntaxKind.ImplementsKeyword).map((t) => context.converter.convertType(reflectionContext, t));
const implementedTypes = (0, nodes_1.getHeritageTypes)(declarations, typescript_1.default.SyntaxKind.ImplementsKeyword).map((t) => context.converter.convertType(reflectionContext, t));
if (implementedTypes.length) {

@@ -323,3 +300,3 @@ reflection.implementedTypes = implementedTypes;

if (prop.flags &
(ts.SymbolFlags.ModuleMember | ts.SymbolFlags.Prototype))
(typescript_1.default.SymbolFlags.ModuleMember | typescript_1.default.SymbolFlags.Prototype))
continue;

@@ -347,3 +324,3 @@ convertSymbol(reflectionContext, prop);

const declaration = param.symbol?.declarations?.[0];
(0, assert_1.default)(declaration && ts.isTypeParameterDeclaration(declaration));
(0, assert_1.default)(declaration && typescript_1.default.isTypeParameterDeclaration(declaration));
return (0, signature_1.createTypeParamReflection)(declaration, reflectionContext);

@@ -355,3 +332,3 @@ });

context.checker
.getSignaturesOfType(instanceType, ts.SignatureKind.Call)
.getSignaturesOfType(instanceType, typescript_1.default.SignatureKind.Call)
.forEach((sig) => (0, signature_1.createSignature)(reflectionContext, models_1.ReflectionKind.CallSignature, sig, symbol));

@@ -370,3 +347,3 @@ // We also might have constructor signatures

declarations.length > 0 &&
(0, enum_1.hasAllFlags)(ts.getCombinedModifierFlags(declarations[0]), ts.ModifierFlags.Private)) {
(0, enum_1.hasAllFlags)(typescript_1.default.getCombinedModifierFlags(declarations[0]), typescript_1.default.ModifierFlags.Private)) {
return;

@@ -377,3 +354,3 @@ }

if (declarations.length &&
declarations.every((decl) => ts.isMethodSignature(decl) || ts.isMethodDeclaration(decl))) {
declarations.every((decl) => typescript_1.default.isMethodSignature(decl) || typescript_1.default.isMethodDeclaration(decl))) {
return convertFunctionOrMethod(context, symbol, exportSymbol);

@@ -384,6 +361,6 @@ }

// Special case: "arrow methods" should be treated as methods.
if (ts.isPropertyDeclaration(declaration) &&
if (typescript_1.default.isPropertyDeclaration(declaration) &&
!declaration.type &&
declaration.initializer &&
ts.isArrowFunction(declaration.initializer)) {
typescript_1.default.isArrowFunction(declaration.initializer)) {
return convertArrowAsMethod(context, symbol, declaration.initializer, exportSymbol);

@@ -395,10 +372,11 @@ }

: models_1.ReflectionKind.Property, symbol, exportSymbol);
reflection.conversionFlags |= models_1.ConversionFlags.VariableOrPropertySource;
const declaration = symbol.getDeclarations()?.[0];
let parameterType;
if (declaration &&
(ts.isPropertyDeclaration(declaration) ||
ts.isPropertySignature(declaration) ||
ts.isParameter(declaration) ||
ts.isPropertyAccessExpression(declaration))) {
if (!ts.isPropertyAccessExpression(declaration)) {
(typescript_1.default.isPropertyDeclaration(declaration) ||
typescript_1.default.isPropertySignature(declaration) ||
typescript_1.default.isParameter(declaration) ||
typescript_1.default.isPropertyAccessExpression(declaration))) {
if (!typescript_1.default.isPropertyAccessExpression(declaration)) {
parameterType = declaration.type;

@@ -429,3 +407,3 @@ }

const reflectionContext = context.withScope(reflection);
const declarations = symbol.getDeclarations()?.filter(ts.isConstructorDeclaration) ?? [];
const declarations = symbol.getDeclarations()?.filter(typescript_1.default.isConstructorDeclaration) ?? [];
const signatures = declarations.map((decl) => {

@@ -444,3 +422,3 @@ const sig = context.checker.getSignatureFromDeclaration(decl);

// has complained yet. We really ought to have a constructSignatures property on the reflection instead.
const constructSignatures = context.checker.getSignaturesOfType(type, ts.SignatureKind.Construct);
const constructSignatures = context.checker.getSignaturesOfType(type, typescript_1.default.SignatureKind.Construct);
if (constructSignatures.length) {

@@ -483,3 +461,3 @@ const constructMember = new models_1.DeclarationReflection("constructor", models_1.ReflectionKind.Constructor, context.scope);

let typeNode;
if (ts.isVariableDeclaration(declaration)) {
if (typescript_1.default.isVariableDeclaration(declaration)) {
// Otherwise we might have destructuring

@@ -492,6 +470,6 @@ typeNode = declaration.type;

context.finalizeDeclarationReflection(reflection);
return ts.SymbolFlags.Property;
return typescript_1.default.SymbolFlags.Property;
}
function isEnumLike(checker, type, location) {
if (!(0, enum_1.hasAllFlags)(type.flags, ts.TypeFlags.Object)) {
if (!(0, enum_1.hasAllFlags)(type.flags, typescript_1.default.TypeFlags.Object)) {
return false;

@@ -505,3 +483,3 @@ }

function isValidEnumProperty(type) {
return (0, enum_1.hasAnyFlag)(type.flags, ts.TypeFlags.NumberLike | ts.TypeFlags.StringLike);
return (0, enum_1.hasAnyFlag)(type.flags, typescript_1.default.TypeFlags.NumberLike | typescript_1.default.TypeFlags.StringLike);
}

@@ -521,3 +499,3 @@ function convertVariableAsEnum(context, symbol, exportSymbol) {

// Skip converting the type alias, if there is one
return ts.SymbolFlags.TypeAlias;
return typescript_1.default.SymbolFlags.TypeAlias;
}

@@ -527,3 +505,3 @@ function convertVariableAsFunction(context, symbol, exportSymbol) {

.getDeclarations()
?.find(ts.isVariableDeclaration);
?.find(typescript_1.default.isVariableDeclaration);
const accessDeclaration = declaration ?? symbol.valueDeclaration;

@@ -535,3 +513,3 @@ const type = accessDeclaration

setModifiers(symbol, accessDeclaration, reflection);
reflection.conversionFlags |= models_1.ConversionFlags.VariableSource;
reflection.conversionFlags |= models_1.ConversionFlags.VariableOrPropertySource;
context.finalizeDeclarationReflection(reflection);

@@ -543,3 +521,3 @@ const reflectionContext = context.withScope(reflection);

}
return ts.SymbolFlags.Property;
return typescript_1.default.SymbolFlags.Property;
}

@@ -554,3 +532,3 @@ function convertAccessor(context, symbol, exportSymbol) {

context.finalizeDeclarationReflection(reflection);
const getDeclaration = symbol.getDeclarations()?.find(ts.isGetAccessor);
const getDeclaration = symbol.getDeclarations()?.find(typescript_1.default.isGetAccessor);
if (getDeclaration) {

@@ -562,3 +540,3 @@ const signature = context.checker.getSignatureFromDeclaration(getDeclaration);

}
const setDeclaration = symbol.getDeclarations()?.find(ts.isSetAccessor);
const setDeclaration = symbol.getDeclarations()?.find(typescript_1.default.isSetAccessor);
if (setDeclaration) {

@@ -575,4 +553,4 @@ const signature = context.checker.getSignatureFromDeclaration(setDeclaration);

const parents = parentSymbol.declarations?.slice() || [];
const constructorDecls = parents.flatMap((parent) => ts.isClassDeclaration(parent)
? parent.members.filter(ts.isConstructorDeclaration)
const constructorDecls = parents.flatMap((parent) => typescript_1.default.isClassDeclaration(parent)
? parent.members.filter(typescript_1.default.isConstructorDeclaration)
: []);

@@ -586,26 +564,26 @@ parents.push(...constructorDecls);

}
const modifiers = ts.getCombinedModifierFlags(declaration);
if (ts.isMethodDeclaration(declaration) ||
ts.isPropertyDeclaration(declaration) ||
ts.isAccessor(declaration)) {
if (ts.isPrivateIdentifier(declaration.name)) {
const modifiers = typescript_1.default.getCombinedModifierFlags(declaration);
if (typescript_1.default.isMethodDeclaration(declaration) ||
typescript_1.default.isPropertyDeclaration(declaration) ||
typescript_1.default.isAccessor(declaration)) {
if (typescript_1.default.isPrivateIdentifier(declaration.name)) {
reflection.setFlag(models_1.ReflectionFlag.Private);
}
}
if ((0, enum_1.hasAllFlags)(modifiers, ts.ModifierFlags.Private)) {
if ((0, enum_1.hasAllFlags)(modifiers, typescript_1.default.ModifierFlags.Private)) {
reflection.setFlag(models_1.ReflectionFlag.Private);
}
if ((0, enum_1.hasAllFlags)(modifiers, ts.ModifierFlags.Protected)) {
if ((0, enum_1.hasAllFlags)(modifiers, typescript_1.default.ModifierFlags.Protected)) {
reflection.setFlag(models_1.ReflectionFlag.Protected);
}
if ((0, enum_1.hasAllFlags)(modifiers, ts.ModifierFlags.Public)) {
if ((0, enum_1.hasAllFlags)(modifiers, typescript_1.default.ModifierFlags.Public)) {
reflection.setFlag(models_1.ReflectionFlag.Public);
}
reflection.setFlag(models_1.ReflectionFlag.Optional, (0, enum_1.hasAllFlags)(symbol.flags, ts.SymbolFlags.Optional));
reflection.setFlag(models_1.ReflectionFlag.Readonly, (0, enum_1.hasAllFlags)(symbol.checkFlags ?? 0, ts.CheckFlags.Readonly) ||
(0, enum_1.hasAllFlags)(modifiers, ts.ModifierFlags.Readonly));
reflection.setFlag(models_1.ReflectionFlag.Abstract, (0, enum_1.hasAllFlags)(modifiers, ts.ModifierFlags.Abstract));
reflection.setFlag(models_1.ReflectionFlag.Optional, (0, enum_1.hasAllFlags)(symbol.flags, typescript_1.default.SymbolFlags.Optional));
reflection.setFlag(models_1.ReflectionFlag.Readonly, (0, enum_1.hasAllFlags)(symbol.checkFlags ?? 0, typescript_1.default.CheckFlags.Readonly) ||
(0, enum_1.hasAllFlags)(modifiers, typescript_1.default.ModifierFlags.Readonly));
reflection.setFlag(models_1.ReflectionFlag.Abstract, (0, enum_1.hasAllFlags)(modifiers, typescript_1.default.ModifierFlags.Abstract));
if (reflection.kindOf(models_1.ReflectionKind.Variable) &&
(0, enum_1.hasAllFlags)(symbol.flags, ts.SymbolFlags.BlockScopedVariable)) {
reflection.setFlag(models_1.ReflectionFlag.Const, (0, enum_1.hasAllFlags)(declaration.parent.flags, ts.NodeFlags.Const));
(0, enum_1.hasAllFlags)(symbol.flags, typescript_1.default.SymbolFlags.BlockScopedVariable)) {
reflection.setFlag(models_1.ReflectionFlag.Const, (0, enum_1.hasAllFlags)(declaration.parent.flags, typescript_1.default.NodeFlags.Const));
}

@@ -612,0 +590,0 @@ // ReflectionFlag.Static happens when constructing the reflection.

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import { SomeType } from "../models";

@@ -3,0 +3,0 @@ import type { Context } from "./context";

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -31,3 +8,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

const assert_1 = __importDefault(require("assert"));
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const models_1 = require("../models");

@@ -110,8 +87,8 @@ const ReflectionSymbolId_1 = require("../models/reflections/ReflectionSymbolId");

// IgnoreErrors is important, without it, we can't assert that we will get a node.
const node = context.checker.typeToTypeNode(typeOrNode, void 0, ts.NodeBuilderFlags.IgnoreErrors);
const node = context.checker.typeToTypeNode(typeOrNode, void 0, typescript_1.default.NodeBuilderFlags.IgnoreErrors);
(0, assert_1.default)(node); // According to the TS source of typeToString, this is a bug if it does not hold.
const symbol = typeOrNode.getSymbol();
if (symbol) {
if (node.kind !== ts.SyntaxKind.TypeReference &&
node.kind !== ts.SyntaxKind.ArrayType &&
if (node.kind !== typescript_1.default.SyntaxKind.TypeReference &&
node.kind !== typescript_1.default.SyntaxKind.ArrayType &&
seenTypeSymbols.has(symbol)) {

@@ -140,3 +117,3 @@ const typeString = context.checker.typeToString(typeOrNode);

const arrayConverter = {
kind: [ts.SyntaxKind.ArrayType],
kind: [typescript_1.default.SyntaxKind.ArrayType],
convert(context, node) {

@@ -154,3 +131,3 @@ return new models_1.ArrayType(convertType(context, node.elementType));

const conditionalConverter = {
kind: [ts.SyntaxKind.ConditionalType],
kind: [typescript_1.default.SyntaxKind.ConditionalType],
convert(context, node) {

@@ -164,3 +141,3 @@ return new models_1.ConditionalType(convertType(context, node.checkType), convertType(context, node.extendsType), convertType(context, node.trueType), convertType(context, node.falseType));

const constructorConverter = {
kind: [ts.SyntaxKind.ConstructorType],
kind: [typescript_1.default.SyntaxKind.ConstructorType],
convert(context, node) {

@@ -181,3 +158,3 @@ const symbol = context.getSymbolAtLocation(node) ?? node.symbol;

// needs to wait until TypeDoc 0.22 when making other breaking changes.
if (node.modifiers?.some((m) => m.kind === ts.SyntaxKind.AbstractKeyword)) {
if (node.modifiers?.some((m) => m.kind === typescript_1.default.SyntaxKind.AbstractKeyword)) {
signature.setFlag(models_1.ReflectionFlag.Abstract);

@@ -206,3 +183,3 @@ }

const exprWithTypeArgsConverter = {
kind: [ts.SyntaxKind.ExpressionWithTypeArguments],
kind: [typescript_1.default.SyntaxKind.ExpressionWithTypeArguments],
convert(context, node) {

@@ -222,3 +199,3 @@ const targetSymbol = context.getSymbolAtLocation(node.expression);

const functionTypeConverter = {
kind: [ts.SyntaxKind.FunctionType],
kind: [typescript_1.default.SyntaxKind.FunctionType],
convert(context, node) {

@@ -256,3 +233,3 @@ const symbol = context.getSymbolAtLocation(node) ?? node.symbol;

const importType = {
kind: [ts.SyntaxKind.ImportType],
kind: [typescript_1.default.SyntaxKind.ImportType],
convert(context, node) {

@@ -271,3 +248,3 @@ const name = node.qualifier?.getText() ?? "__module";

const indexedAccessConverter = {
kind: [ts.SyntaxKind.IndexedAccessType],
kind: [typescript_1.default.SyntaxKind.IndexedAccessType],
convert(context, node) {

@@ -281,3 +258,3 @@ return new models_1.IndexedAccessType(convertType(context, node.objectType), convertType(context, node.indexType));

const inferredConverter = {
kind: [ts.SyntaxKind.InferType],
kind: [typescript_1.default.SyntaxKind.InferType],
convert(context, node) {

@@ -291,3 +268,3 @@ return new models_1.InferredType(node.typeParameter.name.text, maybeConvertType(context, node.typeParameter.constraint));

const intersectionConverter = {
kind: [ts.SyntaxKind.IntersectionType],
kind: [typescript_1.default.SyntaxKind.IntersectionType],
convert(context, node) {

@@ -301,3 +278,3 @@ return new models_1.IntersectionType(node.types.map((type) => convertType(context, type)));

const jsDocVariadicTypeConverter = {
kind: [ts.SyntaxKind.JSDocVariadicType],
kind: [typescript_1.default.SyntaxKind.JSDocVariadicType],
convert(context, node) {

@@ -310,28 +287,28 @@ return new models_1.ArrayType(convertType(context, node.type));

const keywordNames = {
[ts.SyntaxKind.AnyKeyword]: "any",
[ts.SyntaxKind.BigIntKeyword]: "bigint",
[ts.SyntaxKind.BooleanKeyword]: "boolean",
[ts.SyntaxKind.NeverKeyword]: "never",
[ts.SyntaxKind.NumberKeyword]: "number",
[ts.SyntaxKind.ObjectKeyword]: "object",
[ts.SyntaxKind.StringKeyword]: "string",
[ts.SyntaxKind.SymbolKeyword]: "symbol",
[ts.SyntaxKind.UndefinedKeyword]: "undefined",
[ts.SyntaxKind.UnknownKeyword]: "unknown",
[ts.SyntaxKind.VoidKeyword]: "void",
[ts.SyntaxKind.IntrinsicKeyword]: "intrinsic",
[typescript_1.default.SyntaxKind.AnyKeyword]: "any",
[typescript_1.default.SyntaxKind.BigIntKeyword]: "bigint",
[typescript_1.default.SyntaxKind.BooleanKeyword]: "boolean",
[typescript_1.default.SyntaxKind.NeverKeyword]: "never",
[typescript_1.default.SyntaxKind.NumberKeyword]: "number",
[typescript_1.default.SyntaxKind.ObjectKeyword]: "object",
[typescript_1.default.SyntaxKind.StringKeyword]: "string",
[typescript_1.default.SyntaxKind.SymbolKeyword]: "symbol",
[typescript_1.default.SyntaxKind.UndefinedKeyword]: "undefined",
[typescript_1.default.SyntaxKind.UnknownKeyword]: "unknown",
[typescript_1.default.SyntaxKind.VoidKeyword]: "void",
[typescript_1.default.SyntaxKind.IntrinsicKeyword]: "intrinsic",
};
const keywordConverter = {
kind: [
ts.SyntaxKind.AnyKeyword,
ts.SyntaxKind.BigIntKeyword,
ts.SyntaxKind.BooleanKeyword,
ts.SyntaxKind.NeverKeyword,
ts.SyntaxKind.NumberKeyword,
ts.SyntaxKind.ObjectKeyword,
ts.SyntaxKind.StringKeyword,
ts.SyntaxKind.SymbolKeyword,
ts.SyntaxKind.UndefinedKeyword,
ts.SyntaxKind.UnknownKeyword,
ts.SyntaxKind.VoidKeyword,
typescript_1.default.SyntaxKind.AnyKeyword,
typescript_1.default.SyntaxKind.BigIntKeyword,
typescript_1.default.SyntaxKind.BooleanKeyword,
typescript_1.default.SyntaxKind.NeverKeyword,
typescript_1.default.SyntaxKind.NumberKeyword,
typescript_1.default.SyntaxKind.ObjectKeyword,
typescript_1.default.SyntaxKind.StringKeyword,
typescript_1.default.SyntaxKind.SymbolKeyword,
typescript_1.default.SyntaxKind.UndefinedKeyword,
typescript_1.default.SyntaxKind.UnknownKeyword,
typescript_1.default.SyntaxKind.VoidKeyword,
],

@@ -346,3 +323,3 @@ convert(_context, node) {

const optionalConverter = {
kind: [ts.SyntaxKind.OptionalType],
kind: [typescript_1.default.SyntaxKind.OptionalType],
convert(context, node) {

@@ -355,3 +332,3 @@ return new models_1.OptionalType((0, reflections_1.removeUndefined)(convertType(context, node.type)));

const parensConverter = {
kind: [ts.SyntaxKind.ParenthesizedType],
kind: [typescript_1.default.SyntaxKind.ParenthesizedType],
convert(context, node) {

@@ -364,5 +341,5 @@ return convertType(context, node.type);

const predicateConverter = {
kind: [ts.SyntaxKind.TypePredicate],
kind: [typescript_1.default.SyntaxKind.TypePredicate],
convert(context, node) {
const name = ts.isThisTypeNode(node.parameterName)
const name = typescript_1.default.isThisTypeNode(node.parameterName)
? "this"

@@ -380,3 +357,3 @@ : node.parameterName.getText();

const typeLiteralConverter = {
kind: [ts.SyntaxKind.TypeLiteral],
kind: [typescript_1.default.SyntaxKind.TypeLiteral],
convert(context, node) {

@@ -426,3 +403,3 @@ const symbol = context.getSymbolAtLocation(node) ?? node.symbol;

const queryConverter = {
kind: [ts.SyntaxKind.TypeQuery],
kind: [typescript_1.default.SyntaxKind.TypeQuery],
convert(context, node) {

@@ -444,5 +421,5 @@ const querySymbol = context.getSymbolAtLocation(node.exprName);

const referenceConverter = {
kind: [ts.SyntaxKind.TypeReference],
kind: [typescript_1.default.SyntaxKind.TypeReference],
convert(context, node) {
const isArray = context.checker.typeToTypeNode(context.checker.getTypeAtLocation(node.typeName), void 0, ts.NodeBuilderFlags.IgnoreErrors)?.kind === ts.SyntaxKind.ArrayType;
const isArray = context.checker.typeToTypeNode(context.checker.getTypeAtLocation(node.typeName), void 0, typescript_1.default.NodeBuilderFlags.IgnoreErrors)?.kind === typescript_1.default.SyntaxKind.ArrayType;
if (isArray) {

@@ -465,3 +442,3 @@ return new models_1.ArrayType(convertType(context, node.typeArguments?.[0]));

const ref = models_1.ReferenceType.createSymbolReference(context.resolveAliasedSymbol(symbol), context);
if (type.flags & ts.TypeFlags.StringMapping) {
if (type.flags & typescript_1.default.TypeFlags.StringMapping) {
ref.typeArguments = [

@@ -480,3 +457,3 @@ convertType(context, type.type),

const restConverter = {
kind: [ts.SyntaxKind.RestType],
kind: [typescript_1.default.SyntaxKind.RestType],
convert(context, node) {

@@ -489,3 +466,3 @@ return new models_1.RestType(convertType(context, node.type));

const namedTupleMemberConverter = {
kind: [ts.SyntaxKind.NamedTupleMember],
kind: [typescript_1.default.SyntaxKind.NamedTupleMember],
convert(context, node) {

@@ -505,3 +482,3 @@ const innerType = convertType(context, node.type);

const mappedConverter = {
kind: [ts.SyntaxKind.MappedType],
kind: [typescript_1.default.SyntaxKind.MappedType],
convert(context, node) {

@@ -524,21 +501,21 @@ const optionalModifier = kindToModifier(node.questionToken?.kind);

const literalTypeConverter = {
kind: [ts.SyntaxKind.LiteralType],
kind: [typescript_1.default.SyntaxKind.LiteralType],
convert(context, node) {
switch (node.literal.kind) {
case ts.SyntaxKind.TrueKeyword:
case ts.SyntaxKind.FalseKeyword:
return new models_1.LiteralType(node.literal.kind === ts.SyntaxKind.TrueKeyword);
case ts.SyntaxKind.StringLiteral:
case typescript_1.default.SyntaxKind.TrueKeyword:
case typescript_1.default.SyntaxKind.FalseKeyword:
return new models_1.LiteralType(node.literal.kind === typescript_1.default.SyntaxKind.TrueKeyword);
case typescript_1.default.SyntaxKind.StringLiteral:
return new models_1.LiteralType(node.literal.text);
case ts.SyntaxKind.NumericLiteral:
case typescript_1.default.SyntaxKind.NumericLiteral:
return new models_1.LiteralType(Number(node.literal.text));
case ts.SyntaxKind.NullKeyword:
case typescript_1.default.SyntaxKind.NullKeyword:
return new models_1.LiteralType(null);
case ts.SyntaxKind.PrefixUnaryExpression: {
case typescript_1.default.SyntaxKind.PrefixUnaryExpression: {
const operand = node.literal
.operand;
switch (operand.kind) {
case ts.SyntaxKind.NumericLiteral:
case typescript_1.default.SyntaxKind.NumericLiteral:
return new models_1.LiteralType(Number(node.literal.getText()));
case ts.SyntaxKind.BigIntLiteral:
case typescript_1.default.SyntaxKind.BigIntLiteral:
return new models_1.LiteralType(BigInt(node.literal.getText().replace("n", "")));

@@ -549,5 +526,5 @@ default:

}
case ts.SyntaxKind.BigIntLiteral:
case typescript_1.default.SyntaxKind.BigIntLiteral:
return new models_1.LiteralType(BigInt(node.literal.getText().replace("n", "")));
case ts.SyntaxKind.NoSubstitutionTemplateLiteral:
case typescript_1.default.SyntaxKind.NoSubstitutionTemplateLiteral:
return new models_1.LiteralType(node.literal.text);

@@ -559,10 +536,10 @@ }

switch (node.literal.kind) {
case ts.SyntaxKind.StringLiteral:
case typescript_1.default.SyntaxKind.StringLiteral:
return new models_1.LiteralType(node.literal.text);
case ts.SyntaxKind.NumericLiteral:
case typescript_1.default.SyntaxKind.NumericLiteral:
return new models_1.LiteralType(+node.literal.text);
case ts.SyntaxKind.TrueKeyword:
case ts.SyntaxKind.FalseKeyword:
return new models_1.LiteralType(node.literal.kind === ts.SyntaxKind.TrueKeyword);
case ts.SyntaxKind.NullKeyword:
case typescript_1.default.SyntaxKind.TrueKeyword:
case typescript_1.default.SyntaxKind.FalseKeyword:
return new models_1.LiteralType(node.literal.kind === typescript_1.default.SyntaxKind.TrueKeyword);
case typescript_1.default.SyntaxKind.NullKeyword:
return new models_1.LiteralType(null);

@@ -577,3 +554,3 @@ }

const templateLiteralConverter = {
kind: [ts.SyntaxKind.TemplateLiteralType],
kind: [typescript_1.default.SyntaxKind.TemplateLiteralType],
convert(context, node) {

@@ -594,3 +571,3 @@ return new models_1.TemplateLiteralType(node.head.text, node.templateSpans.map((span) => {

const thisConverter = {
kind: [ts.SyntaxKind.ThisType],
kind: [typescript_1.default.SyntaxKind.ThisType],
convert() {

@@ -604,3 +581,3 @@ return new models_1.IntrinsicType("this");

const tupleConverter = {
kind: [ts.SyntaxKind.TupleType],
kind: [typescript_1.default.SyntaxKind.TupleType],
convert(context, node) {

@@ -618,3 +595,3 @@ const elements = node.elements.map((node) => convertType(context, node));

elements = elements?.map((el, i) => {
if (type.target.elementFlags[i] & ts.ElementFlags.Variable) {
if (type.target.elementFlags[i] & typescript_1.default.ElementFlags.Variable) {
// In the node case, we don't need to add the wrapping Array type... but we do here.

@@ -626,3 +603,3 @@ if (el instanceof models_1.NamedTupleMember) {

}
if (type.target.elementFlags[i] & ts.ElementFlags.Optional &&
if (type.target.elementFlags[i] & typescript_1.default.ElementFlags.Optional &&
!(el instanceof models_1.NamedTupleMember)) {

@@ -637,8 +614,8 @@ return new models_1.OptionalType((0, reflections_1.removeUndefined)(el));

const supportedOperatorNames = {
[ts.SyntaxKind.KeyOfKeyword]: "keyof",
[ts.SyntaxKind.UniqueKeyword]: "unique",
[ts.SyntaxKind.ReadonlyKeyword]: "readonly",
[typescript_1.default.SyntaxKind.KeyOfKeyword]: "keyof",
[typescript_1.default.SyntaxKind.UniqueKeyword]: "unique",
[typescript_1.default.SyntaxKind.ReadonlyKeyword]: "readonly",
};
const typeOperatorConverter = {
kind: [ts.SyntaxKind.TypeOperator],
kind: [typescript_1.default.SyntaxKind.TypeOperator],
convert(context, node) {

@@ -649,3 +626,3 @@ return new models_1.TypeOperatorType(convertType(context, node.type), supportedOperatorNames[node.operator]);

// readonly is only valid on array and tuple literal types.
if (node.operator === ts.SyntaxKind.ReadonlyKeyword) {
if (node.operator === typescript_1.default.SyntaxKind.ReadonlyKeyword) {
const resolved = resolveReference(type);

@@ -656,3 +633,3 @@ (0, assert_1.default)((0, nodes_1.isObjectType)(resolved));

.map((type) => convertType(context, type));
const inner = resolved.objectFlags & ts.ObjectFlags.Tuple
const inner = resolved.objectFlags & typescript_1.default.ObjectFlags.Tuple
? new models_1.TupleType(args)

@@ -664,3 +641,3 @@ : new models_1.ArrayType(args[0]);

// resolved to a union of strings.
if (node.operator === ts.SyntaxKind.KeyOfKeyword) {
if (node.operator === typescript_1.default.SyntaxKind.KeyOfKeyword) {
// TS 4.2 added this to enable better tracking of type aliases.

@@ -680,3 +657,3 @@ if (type.isUnion() && type.origin) {

const unionConverter = {
kind: [ts.SyntaxKind.UnionType],
kind: [typescript_1.default.SyntaxKind.UnionType],
convert(context, node) {

@@ -694,3 +671,3 @@ return new models_1.UnionType(node.types.map((type) => convertType(context, type)));

const jsDocNullableTypeConverter = {
kind: [ts.SyntaxKind.JSDocNullableType],
kind: [typescript_1.default.SyntaxKind.JSDocNullableType],
convert(context, node) {

@@ -706,3 +683,3 @@ return new models_1.UnionType([

const jsDocNonNullableTypeConverter = {
kind: [ts.SyntaxKind.JSDocNonNullableType],
kind: [typescript_1.default.SyntaxKind.JSDocNonNullableType],
convert(context, node) {

@@ -716,3 +693,3 @@ return convertType(context, node.type);

if ("kind" in nodeOrType) {
const kindName = ts.SyntaxKind[nodeOrType.kind];
const kindName = typescript_1.default.SyntaxKind[nodeOrType.kind];
context.logger.warn(`Failed to convert type node with kind: ${kindName} and text ${nodeOrType.getText()}. Please report a bug.`, nodeOrType);

@@ -728,3 +705,3 @@ return new models_1.UnknownType(nodeOrType.getText());

function resolveReference(type) {
if ((0, nodes_1.isObjectType)(type) && type.objectFlags & ts.ObjectFlags.Reference) {
if ((0, nodes_1.isObjectType)(type) && type.objectFlags & typescript_1.default.ObjectFlags.Reference) {
return type.target;

@@ -736,7 +713,7 @@ }

switch (kind) {
case ts.SyntaxKind.ReadonlyKeyword:
case ts.SyntaxKind.QuestionToken:
case ts.SyntaxKind.PlusToken:
case typescript_1.default.SyntaxKind.ReadonlyKeyword:
case typescript_1.default.SyntaxKind.QuestionToken:
case typescript_1.default.SyntaxKind.PlusToken:
return "+";
case ts.SyntaxKind.MinusToken:
case typescript_1.default.SyntaxKind.MinusToken:
return "-";

@@ -743,0 +720,0 @@ default:

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
export declare function isNamedNode(node: ts.Node): node is ts.Node & {

@@ -3,0 +3,0 @@ name: ts.Identifier | ts.PrivateIdentifier | ts.ComputedPropertyName;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isObjectType = exports.getHeritageTypes = exports.isNamedNode = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
function isNamedNode(node) {
const name = node.name;
return !!name && (ts.isMemberName(name) || ts.isComputedPropertyName(name));
return !!name && (typescript_1.default.isMemberName(name) || typescript_1.default.isComputedPropertyName(name));
}

@@ -32,0 +12,0 @@ exports.isNamedNode = isNamedNode;

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
export declare function resolveAliasedSymbol(symbol: ts.Symbol, checker: ts.TypeChecker): ts.Symbol;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveAliasedSymbol = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
function resolveAliasedSymbol(symbol, checker) {
while (ts.SymbolFlags.Alias & symbol.flags) {
while (typescript_1.default.SymbolFlags.Alias & symbol.flags) {
symbol = checker.getAliasedSymbol(symbol);

@@ -31,0 +11,0 @@ }

@@ -60,2 +60,8 @@ import type { Reflection } from "../reflections";

/**
* Helper function to convert an array of comment display parts into markdown suitable for
* passing into Marked. `urlTo` will be used to resolve urls to any reflections linked to with
* `@link` tags.
*/
static displayPartsToMarkdown(parts: readonly CommentDisplayPart[], urlTo: (ref: Reflection) => string): string;
/**
* Helper utility to clone {@link Comment.summary} or {@link CommentTag.content}

@@ -62,0 +68,0 @@ */

@@ -68,2 +68,52 @@ "use strict";

/**
* Helper function to convert an array of comment display parts into markdown suitable for
* passing into Marked. `urlTo` will be used to resolve urls to any reflections linked to with
* `@link` tags.
*/
static displayPartsToMarkdown(parts, urlTo) {
const result = [];
for (const part of parts) {
switch (part.kind) {
case "text":
case "code":
result.push(part.text);
break;
case "inline-tag":
switch (part.tag) {
case "@label":
case "@inheritdoc": // Shouldn't happen
break; // Not rendered.
case "@link":
case "@linkcode":
case "@linkplain": {
if (part.target) {
const url = typeof part.target === "string"
? part.target
: urlTo(part.target);
const text = part.tag === "@linkcode"
? `<code>${part.text}</code>`
: part.text;
result.push(url
? `<a href="${url}">${text}</a>`
: part.text);
}
else {
result.push(part.text);
}
break;
}
default:
// Hmm... probably want to be able to render these somehow, so custom inline tags can be given
// special rendering rules. Future capability. For now, just render their text.
result.push(`{${part.tag} ${part.text}}`);
break;
}
break;
default:
(0, utils_1.assertNever)(part);
}
}
return result.join("");
}
/**
* Helper utility to clone {@link Comment.summary} or {@link CommentTag.content}

@@ -70,0 +120,0 @@ */

@@ -34,3 +34,3 @@ import type * as ts from "typescript";

None = 0,
VariableSource = 1
VariableOrPropertySource = 1
}

@@ -44,3 +44,3 @@ /**

export declare class DeclarationReflection extends ContainerReflection {
readonly variant: "declaration" | "reference";
readonly variant: "reference" | "declaration";
/**

@@ -47,0 +47,0 @@ * A list of all source files that contributed to this reflection.

@@ -17,3 +17,3 @@ "use strict";

ConversionFlags[ConversionFlags["None"] = 0] = "None";
ConversionFlags[ConversionFlags["VariableSource"] = 1] = "VariableSource";
ConversionFlags[ConversionFlags["VariableOrPropertySource"] = 1] = "VariableOrPropertySource";
})(ConversionFlags = exports.ConversionFlags || (exports.ConversionFlags = {}));

@@ -20,0 +20,0 @@ /**

@@ -15,3 +15,3 @@ import type { SomeType } from "../types";

};
export type VarianceModifier = typeof VarianceModifier[keyof typeof VarianceModifier];
export type VarianceModifier = (typeof VarianceModifier)[keyof typeof VarianceModifier];
export declare class TypeParameterReflection extends Reflection {

@@ -18,0 +18,0 @@ readonly variant = "typeParam";

@@ -94,3 +94,3 @@ import * as ts from "typescript";

};
export type TypeContext = typeof TypeContext[keyof typeof TypeContext];
export type TypeContext = (typeof TypeContext)[keyof typeof TypeContext];
/**

@@ -97,0 +97,0 @@ * Represents an array type.

@@ -13,3 +13,3 @@ import type { RendererHooks } from "../..";

relativeURL: (url: string | undefined) => string | undefined;
urlTo: (reflection: Reflection) => string | undefined;
urlTo: (reflection: Reflection) => string;
markdown: (md: readonly CommentDisplayPart[] | NeverIfInternal<string | undefined>) => string;

@@ -16,0 +16,0 @@ /**

@@ -5,3 +5,2 @@ "use strict";

const models_1 = require("../../../models");
const lib_1 = require("../lib");
const default_1 = require("./layouts/default");

@@ -49,3 +48,3 @@ const partials_1 = require("./partials");

if (md instanceof Array) {
return this.theme.markedPlugin.parseMarkdown((0, lib_1.displayPartsToMarkdown)(md, this.urlTo));
return this.theme.markedPlugin.parseMarkdown(models_1.Comment.displayPartsToMarkdown(md, this.urlTo));
}

@@ -52,0 +51,0 @@ return md ? this.theme.markedPlugin.parseMarkdown(md) : "";

@@ -13,3 +13,3 @@ "use strict";

props.model.kind !== models_1.ReflectionKind.Project && `${models_1.ReflectionKind.singularString(props.model.kind)} `,
(0, lib_1.getDisplayName)(context, props.model),
(0, lib_1.getDisplayName)(props.model),
(0, lib_1.hasTypeParameters)(props.model) && (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,

@@ -16,0 +16,0 @@ "<",

@@ -94,3 +94,3 @@ "use strict";

return (utils_1.JSX.createElement("li", { class: (0, lib_1.classNames)({ current, selected, deprecated: mod.isDeprecated() }, context.getReflectionClasses(mod)) },
utils_1.JSX.createElement("a", { href: context.urlTo(mod) }, (0, lib_1.wbr)((0, lib_1.getDisplayName)(context, mod))),
utils_1.JSX.createElement("a", { href: context.urlTo(mod) }, (0, lib_1.wbr)((0, lib_1.getDisplayName)(mod))),
childNav));

@@ -97,0 +97,0 @@ }

@@ -1,6 +0,5 @@

import { Comment, CommentDisplayPart, Reflection, ReflectionFlags, TypeParameterReflection } from "../../models";
import { Comment, Reflection, ReflectionFlags, TypeParameterReflection } from "../../models";
import { JSX } from "../../utils";
import type { DefaultThemeRenderContext } from "./default/DefaultThemeRenderContext";
export declare function stringify(data: unknown): string;
export declare function getDisplayName(context: DefaultThemeRenderContext, refl: Reflection): string;
export declare function getDisplayName(refl: Reflection): string;
/**

@@ -23,3 +22,2 @@ * Insert word break tags ``<wbr>`` into the given string.

export declare function camelToTitleCase(text: string): string;
export declare function displayPartsToMarkdown(parts: readonly CommentDisplayPart[], urlTo: DefaultThemeRenderContext["urlTo"]): string;
/**

@@ -26,0 +24,0 @@ * Renders the reflection name with an additional `?` if optional.

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.renderName = exports.displayPartsToMarkdown = exports.camelToTitleCase = exports.renderTypeParametersSignature = exports.hasTypeParameters = exports.classNames = exports.renderFlags = exports.join = exports.wbr = exports.getDisplayName = exports.stringify = void 0;
exports.renderName = exports.camelToTitleCase = exports.renderTypeParametersSignature = exports.hasTypeParameters = exports.classNames = exports.renderFlags = exports.join = exports.wbr = exports.getDisplayName = exports.stringify = void 0;
const models_1 = require("../../models");

@@ -13,7 +13,5 @@ const utils_1 = require("../../utils");

exports.stringify = stringify;
function getDisplayName(context, refl) {
function getDisplayName(refl) {
let version = "";
if ((refl instanceof models_1.DeclarationReflection || refl instanceof models_1.ProjectReflection) &&
refl.packageVersion &&
context.options.getValue("includeVersion")) {
if ((refl instanceof models_1.DeclarationReflection || refl instanceof models_1.ProjectReflection) && refl.packageVersion) {
version = ` - v${refl.packageVersion}`;

@@ -96,42 +94,2 @@ }

exports.camelToTitleCase = camelToTitleCase;
function displayPartsToMarkdown(parts, urlTo) {
const result = [];
for (const part of parts) {
switch (part.kind) {
case "text":
case "code":
result.push(part.text);
break;
case "inline-tag":
switch (part.tag) {
case "@label":
case "@inheritdoc": // Shouldn't happen
break; // Not rendered.
case "@link":
case "@linkcode":
case "@linkplain": {
if (part.target) {
const url = typeof part.target === "string" ? part.target : urlTo(part.target);
const text = part.tag === "@linkcode" ? `<code>${part.text}</code>` : part.text;
result.push(url ? `<a href="${url}">${text}</a>` : part.text);
}
else {
result.push(part.text);
}
break;
}
default:
// Hmm... probably want to be able to render these somehow, so custom inline tags can be given
// special rendering rules. Future capability. For now, just render their text.
result.push(`{${part.tag} ${part.text}}`);
break;
}
break;
default:
(0, utils_1.assertNever)(part);
}
}
return result.join("");
}
exports.displayPartsToMarkdown = displayPartsToMarkdown;
/**

@@ -138,0 +96,0 @@ * Renders the reflection name with an additional `?` if optional.

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import type { Logger } from "./loggers";

@@ -35,3 +35,3 @@ import type { Options } from "./options";

};
export type EntryPointStrategy = typeof EntryPointStrategy[keyof typeof EntryPointStrategy];
export type EntryPointStrategy = (typeof EntryPointStrategy)[keyof typeof EntryPointStrategy];
export interface DocumentationEntryPoint {

@@ -38,0 +38,0 @@ displayName: string;

@@ -25,6 +25,9 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExpandedEntryPointsForPaths = exports.getPackageDirectories = exports.getWatchEntryPoints = exports.getEntryPoints = exports.EntryPointStrategy = void 0;
const path_1 = require("path");
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const FS = __importStar(require("fs"));

@@ -165,7 +168,7 @@ const Path = __importStar(require("path"));

const base = (0, fs_1.getCommonDirectory)(inputFiles);
const result = inputFiles.flatMap((entry) => (0, fs_1.glob)(entry, base, { includeDirectories: true }));
const result = inputFiles.flatMap((entry) => (0, fs_1.glob)(entry, base, { includeDirectories: true, followSymlinks: true }));
return result;
}
function getEntryPrograms(logger, options) {
const rootProgram = ts.createProgram({
const rootProgram = typescript_1.default.createProgram({
rootNames: options.getFileNames(),

@@ -184,3 +187,3 @@ options: options.getCompilerOptions(),

continue; // This indicates bad configuration... will be reported later.
programs.push(ts.createProgram({
programs.push(typescript_1.default.createProgram({
options: options.fixCompilerOptions(ref.commandLine.options),

@@ -283,3 +286,3 @@ rootNames: ref.commandLine.fileNames,

}
const tsconfigFile = ts.findConfigFile(packageEntryPoint, ts.sys.fileExists, typedocPackageConfig?.tsconfig);
const tsconfigFile = typescript_1.default.findConfigFile(packageEntryPoint, typescript_1.default.sys.fileExists, typedocPackageConfig?.tsconfig);
if (tsconfigFile === undefined) {

@@ -291,4 +294,4 @@ logger.error(`Could not determine tsconfig.json for source file ${packageEntryPoint} (it must be on an ancestor path)`);

let fatalError = false;
const parsedCommandLine = ts.getParsedCommandLineOfConfigFile(tsconfigFile, {}, {
...ts.sys,
const parsedCommandLine = typescript_1.default.getParsedCommandLineOfConfigFile(tsconfigFile, {}, {
...typescript_1.default.sys,
onUnRecoverableConfigFileDiagnostic: (error) => {

@@ -306,3 +309,3 @@ logger.diagnostic(error);

}
const program = ts.createProgram({
const program = typescript_1.default.createProgram({
rootNames: parsedCommandLine.fileNames,

@@ -309,0 +312,0 @@ options: options.fixCompilerOptions(parsedCommandLine.options),

@@ -49,3 +49,4 @@ export declare function isFile(file: string): boolean;

includeDirectories?: boolean;
followSymlinks?: boolean;
}): string[];
export declare function hasTsExtension(path: string): boolean;

@@ -175,9 +175,68 @@ "use strict";

*/
function glob(pattern, root, options) {
function glob(pattern, root, options = {}) {
const result = [];
const mini = new minimatch_1.Minimatch(normalizePath(pattern));
const dirs = [normalizePath(root).split("/")];
do {
const dir = dirs.shift();
if (options?.includeDirectories && mini.match(dir.join("/"))) {
// cache of real paths to avoid infinite recursion
const symlinkTargetsSeen = new Set();
// cache of fs.realpathSync results to avoid extra I/O
const realpathCache = new Map();
const { includeDirectories = false, followSymlinks = false } = options;
// if we _specifically asked_ for something in node_modules, fine, otherwise ignore it
// to avoid globs like '**/*.ts' finding all the .d.ts files in node_modules.
// however, if the pattern is something like `!**/node_modules/**`, this will also
// cause node_modules to be considered, though it will be discarded by minimatch.
const shouldIncludeNodeModules = pattern.includes("node_modules");
let dir = dirs.shift();
const handleFile = (path) => {
const childPath = [...dir, path].join("/");
if (mini.match(childPath)) {
result.push(childPath);
}
};
const handleDirectory = (path) => {
const childPath = [...dir, path];
if (mini.set.some((row) => mini.matchOne(childPath, row, /* partial */ true))) {
dirs.push(childPath);
}
};
const handleSymlink = (path) => {
const childPath = [...dir, path].join("/");
let realpath;
try {
realpath =
realpathCache.get(childPath) ?? fs.realpathSync(childPath);
realpathCache.set(childPath, realpath);
}
catch {
return;
}
if (symlinkTargetsSeen.has(realpath)) {
return;
}
symlinkTargetsSeen.add(realpath);
try {
const stats = fs.statSync(realpath);
if (stats.isDirectory()) {
handleDirectory(path);
}
else if (stats.isFile()) {
handleFile(path);
}
else if (stats.isSymbolicLink()) {
const dirpath = dir.join("/");
if (dirpath === realpath) {
// special case: real path of symlink is the directory we're currently traversing
return;
}
const targetPath = (0, path_1.relative)(dirpath, realpath);
handleSymlink(targetPath);
} // everything else should be ignored
}
catch (e) {
// invalid symbolic link; ignore
}
};
while (dir) {
if (includeDirectories && mini.match(dir.join("/"))) {
result.push(dir.join("/"));

@@ -189,15 +248,15 @@ }

if (child.isFile()) {
const childPath = [...dir, child.name].join("/");
if (mini.match(childPath)) {
result.push(childPath);
}
handleFile(child.name);
}
if (child.isDirectory() && child.name !== "node_modules") {
const childPath = dir.concat(child.name);
if (mini.set.some((row) => mini.matchOne(childPath, row, /* partial */ true))) {
dirs.push(childPath);
else if (child.isDirectory()) {
if (shouldIncludeNodeModules || child.name !== "node_modules") {
handleDirectory(child.name);
}
}
else if (followSymlinks && child.isSymbolicLink()) {
handleSymlink(child.name);
}
}
} while (dirs.length);
dir = dirs.shift();
}
return result;

@@ -204,0 +263,0 @@ }

@@ -1,2 +0,2 @@

import * as ts from "typescript";
import ts from "typescript";
import type { MinimalSourceFile } from "./minimalSourceFile";

@@ -3,0 +3,0 @@ /**

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConsoleLogger = exports.Logger = exports.LogLevel = void 0;
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const inspector_1 = require("inspector");

@@ -178,15 +158,15 @@ const path_1 = require("path");

diagnostic(diagnostic) {
const output = ts.formatDiagnosticsWithColorAndContext([diagnostic], {
const output = typescript_1.default.formatDiagnosticsWithColorAndContext([diagnostic], {
getCanonicalFileName: path_1.resolve,
getCurrentDirectory: () => process.cwd(),
getNewLine: () => ts.sys.newLine,
getNewLine: () => typescript_1.default.sys.newLine,
});
switch (diagnostic.category) {
case ts.DiagnosticCategory.Error:
case typescript_1.default.DiagnosticCategory.Error:
this.log(output, LogLevel.Error);
break;
case ts.DiagnosticCategory.Warning:
case typescript_1.default.DiagnosticCategory.Warning:
this.log(output, LogLevel.Warn);
break;
case ts.DiagnosticCategory.Message:
case typescript_1.default.DiagnosticCategory.Message:
this.log(output, LogLevel.Info);

@@ -193,0 +173,0 @@ }

@@ -13,3 +13,3 @@ import type { Theme as ShikiTheme } from "shiki";

/** @hidden */
export type EmitStrategy = typeof EmitStrategy[keyof typeof EmitStrategy];
export type EmitStrategy = (typeof EmitStrategy)[keyof typeof EmitStrategy];
/**

@@ -25,3 +25,3 @@ * Determines how TypeDoc searches for comments.

};
export type CommentStyle = typeof CommentStyle[keyof typeof CommentStyle];
export type CommentStyle = (typeof CommentStyle)[keyof typeof CommentStyle];
/**

@@ -68,2 +68,3 @@ * An interface describing all TypeDoc specific options. Generated from a

excludeNotDocumented: boolean;
excludeNotDocumentedKinds: Array<keyof typeof ReflectionKind>;
excludeInternal: boolean;

@@ -70,0 +71,0 @@ excludePrivate: boolean;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -28,3 +8,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

const path_1 = require("path");
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const fs_1 = require("../../fs");

@@ -166,3 +146,3 @@ const assert_1 = require("assert");

this.seenTsdocPaths.add(path);
const { config, error } = ts.readConfigFile((0, fs_1.normalizePath)(path), ts.sys.readFile);
const { config, error } = typescript_1.default.readConfigFile((0, fs_1.normalizePath)(path), typescript_1.default.sys.readFile);
if (error) {

@@ -169,0 +149,0 @@ logger.error(`Failed to read tsdoc.json file at ${(0, paths_1.nicePath)(path)}.`);

@@ -27,3 +27,3 @@ import type { OptionsReader } from "..";

/**
* Search for the typedoc.js or typedoc.json file from the given path
* Search for the configuration file given path
*

@@ -30,0 +30,0 @@ * @param path Path to the typedoc.(js|json) file. If path is a directory

@@ -25,2 +25,5 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -30,3 +33,3 @@ exports.TypeDocReader = void 0;

const FS = __importStar(require("fs"));
const ts = __importStar(require("typescript"));
const typescript_1 = __importDefault(require("typescript"));
const assert_1 = require("assert");

@@ -78,3 +81,3 @@ const paths_1 = require("../../paths");

if (file.endsWith(".json")) {
const readResult = ts.readConfigFile((0, fs_1.normalizePath)(file), (path) => FS.readFileSync(path, "utf-8"));
const readResult = typescript_1.default.readConfigFile((0, fs_1.normalizePath)(file), (path) => FS.readFileSync(path, "utf-8"));
if (readResult.error) {

@@ -126,3 +129,3 @@ logger.error(`Failed to parse ${(0, paths_1.nicePath)(file)}, ensure it exists and contains an object.`);

/**
* Search for the typedoc.js or typedoc.json file from the given path
* Search for the configuration file given path
*

@@ -139,5 +142,13 @@ * @param path Path to the typedoc.(js|json) file. If path is a directory

(0, path_1.join)(path, "typedoc.json"),
(0, path_1.join)(path, "typedoc.jsonc"),
(0, path_1.join)(path, "typedoc.config.js"),
(0, path_1.join)(path, "typedoc.config.cjs"),
(0, path_1.join)(path, "typedoc.js"),
(0, path_1.join)(path, "typedoc.cjs"),
(0, path_1.join)(path, ".config/typedoc.json"),
(0, path_1.join)(path, ".config/typedoc.jsonc"),
(0, path_1.join)(path, ".config/typedoc.config.js"),
(0, path_1.join)(path, ".config/typedoc.config.cjs"),
(0, path_1.join)(path, ".config/typedoc.js"),
(0, path_1.join)(path, ".config/typedoc.json"),
(0, path_1.join)(path, ".config/typedoc.cjs"),
].find(fs_1.isFile);

@@ -144,0 +155,0 @@ }

@@ -103,2 +103,47 @@ "use strict";

options.addDeclaration({
name: "excludeNotDocumentedKinds",
help: "Specify the type of reflections that can be removed by excludeNotDocumented.",
type: declaration_1.ParameterType.Array,
validate(value) {
const invalid = new Set(value);
const valid = new Set((0, enum_1.getEnumKeys)(kind_1.ReflectionKind));
for (const notPermitted of [
kind_1.ReflectionKind.Project,
kind_1.ReflectionKind.TypeLiteral,
kind_1.ReflectionKind.TypeParameter,
kind_1.ReflectionKind.Parameter,
kind_1.ReflectionKind.ObjectLiteral,
]) {
valid.delete(kind_1.ReflectionKind[notPermitted]);
}
for (const v of valid) {
invalid.delete(v);
}
if (invalid.size !== 0) {
throw new Error(`excludeNotDocumentedKinds may only specify known values, and invalid values were provided (${Array.from(invalid).join(", ")}). The valid kinds are:\n${Array.from(valid).join(", ")}`);
}
},
defaultValue: [
kind_1.ReflectionKind[kind_1.ReflectionKind.Module],
kind_1.ReflectionKind[kind_1.ReflectionKind.Namespace],
kind_1.ReflectionKind[kind_1.ReflectionKind.Enum],
// Not including enum member here by default
kind_1.ReflectionKind[kind_1.ReflectionKind.Variable],
kind_1.ReflectionKind[kind_1.ReflectionKind.Function],
kind_1.ReflectionKind[kind_1.ReflectionKind.Class],
kind_1.ReflectionKind[kind_1.ReflectionKind.Interface],
kind_1.ReflectionKind[kind_1.ReflectionKind.Constructor],
kind_1.ReflectionKind[kind_1.ReflectionKind.Property],
kind_1.ReflectionKind[kind_1.ReflectionKind.Method],
kind_1.ReflectionKind[kind_1.ReflectionKind.CallSignature],
kind_1.ReflectionKind[kind_1.ReflectionKind.IndexSignature],
kind_1.ReflectionKind[kind_1.ReflectionKind.ConstructorSignature],
kind_1.ReflectionKind[kind_1.ReflectionKind.Accessor],
kind_1.ReflectionKind[kind_1.ReflectionKind.GetSignature],
kind_1.ReflectionKind[kind_1.ReflectionKind.SetSignature],
kind_1.ReflectionKind[kind_1.ReflectionKind.TypeAlias],
kind_1.ReflectionKind[kind_1.ReflectionKind.Reference],
],
});
options.addDeclaration({
name: "excludeInternal",

@@ -562,12 +607,12 @@ help: "Prevent symbols that are marked with @internal from being documented.",

defaultValue: [
"Enum",
"EnumMember",
"Variable",
"Function",
"Class",
"Interface",
"Property",
"Method",
"Accessor",
"TypeAlias",
kind_1.ReflectionKind[kind_1.ReflectionKind.Enum],
kind_1.ReflectionKind[kind_1.ReflectionKind.EnumMember],
kind_1.ReflectionKind[kind_1.ReflectionKind.Variable],
kind_1.ReflectionKind[kind_1.ReflectionKind.Function],
kind_1.ReflectionKind[kind_1.ReflectionKind.Class],
kind_1.ReflectionKind[kind_1.ReflectionKind.Interface],
kind_1.ReflectionKind[kind_1.ReflectionKind.Property],
kind_1.ReflectionKind[kind_1.ReflectionKind.Method],
kind_1.ReflectionKind[kind_1.ReflectionKind.Accessor],
kind_1.ReflectionKind[kind_1.ReflectionKind.TypeAlias],
],

@@ -574,0 +619,0 @@ });

@@ -8,3 +8,3 @@ /**

export declare const SORT_STRATEGIES: readonly ["source-order", "alphabetical", "enum-value-ascending", "enum-value-descending", "static-first", "instance-first", "visibility", "required-first", "kind"];
export type SortStrategy = typeof SORT_STRATEGIES[number];
export type SortStrategy = (typeof SORT_STRATEGIES)[number];
export declare function getSortFunction(opts: Options): (reflections: DeclarationReflection[]) => void;

@@ -26,3 +26,3 @@ "use strict";

const seen = new Set();
while (toProcess.length) {
outer: while (toProcess.length) {
const ref = toProcess.shift();

@@ -32,2 +32,14 @@ if (seen.has(ref))

seen.add(ref);
// If there is a parameter inside another parameter, this is probably a callback function.
// TypeDoc doesn't support adding comments with @param to nested parameters, so it seems
// silly to warn about these.
if (ref.kindOf(models_1.ReflectionKind.Parameter)) {
let r = ref.parent;
while (r) {
if (r.kindOf(models_1.ReflectionKind.Parameter)) {
continue outer;
}
r = r.parent;
}
}
if (ref instanceof models_1.DeclarationReflection) {

@@ -34,0 +46,0 @@ const signatures = ref.type instanceof models_1.ReflectionType

{
"name": "typedoc",
"description": "Create api documentation for TypeScript projects.",
"version": "0.24.0-beta.1",
"version": "0.24.0-beta.2",
"homepage": "https://typedoc.org",
"exports": {
".": "./dist/index.js",
"./tsdoc.json": "./tsdoc.json"
"./tsdoc.json": "./tsdoc.json",
"./package.json": "./package.json"
},

@@ -27,5 +28,5 @@ "types": "./dist/index.d.ts",

"lunr": "^2.3.9",
"marked": "^4.2.4",
"minimatch": "^5.1.1",
"shiki": "^0.11.1"
"marked": "^4.2.12",
"minimatch": "^7.1.3",
"shiki": "^0.14.1"
},

@@ -38,16 +39,15 @@ "peerDependencies": {

"@types/marked": "^4.0.8",
"@types/minimatch": "5.1.2",
"@types/mocha": "^9.1.1",
"@types/mocha": "^10.0.1",
"@types/node": "14",
"@typescript-eslint/eslint-plugin": "^5.46.1",
"@typescript-eslint/parser": "^5.46.1",
"@typescript-eslint/eslint-plugin": "^5.51.0",
"@typescript-eslint/parser": "^5.51.0",
"@typestrong/fs-fixture-builder": "github:TypeStrong/fs-fixture-builder#8abd1494280116ff5318dde2c50ad01e1663790c",
"c8": "^7.12.0",
"esbuild": "^0.16.8",
"eslint": "^8.30.0",
"esbuild": "^0.17.7",
"eslint": "^8.34.0",
"mocha": "^10.2.0",
"prettier": "2.8.1",
"prettier": "2.8.4",
"puppeteer": "^13.5.2",
"ts-node": "^10.9.1",
"typescript": "4.9.4"
"typescript": "4.9.5"
},

@@ -66,7 +66,7 @@ "files": [

"scripts": {
"test": "mocha -r ts-node/register --config .config/mocha.fast.json",
"test:cov": "c8 mocha -r ts-node/register --config .config/mocha.fast.json",
"test": "mocha --config .config/mocha.fast.json",
"test:cov": "c8 mocha --config .config/mocha.fast.json",
"doc:c": "node bin/typedoc --tsconfig src/test/converter/tsconfig.json",
"doc:c2": "node bin/typedoc --tsconfig src/test/converter2/tsconfig.json",
"test:full": "c8 mocha -r ts-node/register --config .config/mocha.full.json",
"test:full": "c8 mocha --config .config/mocha.full.json",
"test:visual": "ts-node ./src/test/capture-screenshots.ts && ./scripts/compare_screenshots.sh",

@@ -73,0 +73,0 @@ "test:visual:accept": "node scripts/accept_visual_regression.js",

"use strict";
"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.
`,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$/,p=/^(.+?)([^s])s$/,f=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),z=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=/^(.+?[^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=p,d.test(c)?c=c.replace(d,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),d=f,x=S,d.test(c)){var L=d.exec(c);d=m,d.test(L[1])&&(d=w,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=k,O=_,D=z,x.test(c)?c=c+"e":O.test(c)?(d=w,c=c.replace(d,"")):D.test(c)&&(c=c+"e"))}if(d=H,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=w,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,p=void 0;v in r.output.edges?(p=r.output.edges[v],p.final=p.final||E):(p=new t.TokenSet,p.final=E,r.output.edges[v]=p),i.push({qNode:y,output:p,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 p=0;p<l.fields.length;p++){var f=l.fields[p];o[f]=t.Set.empty}break}for(var S=0;S<E.length;S++)for(var w=E[S],k=this.invertedIndex[w],_=k._index,p=0;p<l.fields.length;p++){var f=l.fields[p],z=k[f],H=Object.keys(z),q=w+"/"+f,$=new t.Set(H);if(l.presence==t.Query.presence.REQUIRED&&(m=m.union($),o[f]===void 0&&(o[f]=t.Set.complete)),l.presence==t.Query.presence.PROHIBITED){a[f]===void 0&&(a[f]=t.Set.empty),a[f]=a[f].union($);continue}if(i[f].upsert(_,l.boost,function(Ie,ke){return Ie+ke}),!s[q]){for(var V=0;V<H.length;V++){var W=H[V],P=new t.FieldRef(W,f),U=z[W],G;(G=r[P])===void 0?r[P]=new t.MatchData(w,f,U):G.add(w,f,U)}s[q]=!0}}}if(l.presence===t.Query.presence.REQUIRED)for(var p=0;p<l.fields.length;p++){var f=l.fields[p];o[f]=o[f].intersect(m)}}for(var N=t.Set.complete,M=t.Set.empty,u=0;u<this.fields.length;u++){var f=this.fields[u];o[f]&&(N=N.intersect(o[f])),a[f]&&(M=M.union(a[f]))}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(Se,Te){return Te.score-Se.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 p=0;p<i.length;p++)E[i[p]]=Object.create(null);this.invertedIndex[y]=E}this.invertedIndex[y][o][r]==null&&(this.invertedIndex[y][o][r]=Object.create(null));for(var f=0;f<this.metadataWhitelist.length;f++){var S=this.metadataWhitelist[f],w=y.metadata[S];this.invertedIndex[y][o][r][S]==null&&(this.invertedIndex[y][o][r][S]=[]),this.invertedIndex[y][o][r][S].push(w)}}}},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 p=m[E],f=h[p],S=this.invertedIndex[p]._index,w,k,_;i[p]===void 0?(w=t.idf(this.invertedIndex[p],this.documentCount),i[p]=w):w=i[p],k=w*((this._k1+1)*f)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+f),k*=b,k*=y,_=Math.round(k*1e3)/1e3,l.insert(S,_)}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 B(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureFocusedElementVisible(){this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null);let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n.tagName!=="SECTION";)n=n.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}};var I=class{constructor(e){this.el=e.el,this.app=e.app}};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 I{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()=>{clearTimeout(n),n=setTimeout(()=>t(),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(()=>{He(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"?pe(e,-1):s.key==="ArrowDown"?pe(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 Ae(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 He(t,e,n,r){if(Ae(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=fe(u.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(l+=` (score: ${s[o].score.toFixed(2)})`),u.parent&&(l=`<span class="parent">${fe(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 pe(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 fe(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={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",j="mouseup",Z={x:0,y:0},ge=!1,se=!1,Be=!1,A=!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&&(Be=!0,F="touchstart",ye="touchmove",j="touchend");document.addEventListener(F,t=>{se=!0,A=!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&&!A){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);A=Math.sqrt(n*n+r*r)>10}});document.addEventListener(j,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends I{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(j,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(j,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){A||(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(!A&&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 I{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; }
`,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$/,p=/^(.+?)([^s])s$/,f=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),z=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=/^(.+?[^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=p,d.test(c)?c=c.replace(d,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),d=f,x=S,d.test(c)){var L=d.exec(c);d=m,d.test(L[1])&&(d=w,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=k,O=_,D=z,x.test(c)?c=c+"e":O.test(c)?(d=w,c=c.replace(d,"")):D.test(c)&&(c=c+"e"))}if(d=H,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=w,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,p=void 0;v in r.output.edges?(p=r.output.edges[v],p.final=p.final||E):(p=new t.TokenSet,p.final=E,r.output.edges[v]=p),i.push({qNode:y,output:p,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 p=0;p<l.fields.length;p++){var f=l.fields[p];o[f]=t.Set.empty}break}for(var S=0;S<E.length;S++)for(var w=E[S],k=this.invertedIndex[w],_=k._index,p=0;p<l.fields.length;p++){var f=l.fields[p],z=k[f],H=Object.keys(z),q=w+"/"+f,$=new t.Set(H);if(l.presence==t.Query.presence.REQUIRED&&(m=m.union($),o[f]===void 0&&(o[f]=t.Set.complete)),l.presence==t.Query.presence.PROHIBITED){a[f]===void 0&&(a[f]=t.Set.empty),a[f]=a[f].union($);continue}if(i[f].upsert(_,l.boost,function(Ie,ke){return Ie+ke}),!s[q]){for(var V=0;V<H.length;V++){var W=H[V],P=new t.FieldRef(W,f),U=z[W],G;(G=r[P])===void 0?r[P]=new t.MatchData(w,f,U):G.add(w,f,U)}s[q]=!0}}}if(l.presence===t.Query.presence.REQUIRED)for(var p=0;p<l.fields.length;p++){var f=l.fields[p];o[f]=o[f].intersect(m)}}for(var N=t.Set.complete,M=t.Set.empty,u=0;u<this.fields.length;u++){var f=this.fields[u];o[f]&&(N=N.intersect(o[f])),a[f]&&(M=M.union(a[f]))}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(Se,Te){return Te.score-Se.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 p=0;p<i.length;p++)E[i[p]]=Object.create(null);this.invertedIndex[y]=E}this.invertedIndex[y][o][r]==null&&(this.invertedIndex[y][o][r]=Object.create(null));for(var f=0;f<this.metadataWhitelist.length;f++){var S=this.metadataWhitelist[f],w=y.metadata[S];this.invertedIndex[y][o][r][S]==null&&(this.invertedIndex[y][o][r][S]=[]),this.invertedIndex[y][o][r][S].push(w)}}}},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 p=m[E],f=h[p],S=this.invertedIndex[p]._index,w,k,_;i[p]===void 0?(w=t.idf(this.invertedIndex[p],this.documentCount),i[p]=w):w=i[p],k=w*((this._k1+1)*f)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+f),k*=b,k*=y,_=Math.round(k*1e3)/1e3,l.insert(S,_)}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 B(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureFocusedElementVisible(){this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null);let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}};var I=class{constructor(e){this.el=e.el,this.app=e.app}};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 I{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()=>{clearTimeout(n),n=setTimeout(()=>t(),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(()=>{He(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"?pe(e,-1):s.key==="ArrowDown"?pe(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 Ae(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 He(t,e,n,r){if(Ae(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=fe(u.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(l+=` (score: ${s[o].score.toFixed(2)})`),u.parent&&(l=`<span class="parent">${fe(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 pe(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 fe(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={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",j="mouseup",Z={x:0,y:0},ge=!1,se=!1,Be=!1,A=!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&&(Be=!0,F="touchstart",ye="touchmove",j="touchend");document.addEventListener(F,t=>{se=!0,A=!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&&!A){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);A=Math.sqrt(n*n+r*r)>10}});document.addEventListener(j,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends I{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(j,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(j,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){A||(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(!A&&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 I{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; }
`}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),this.app.filterChanged(),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 I{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();B(X,".menu-highlight");B(K,"a[data-toggle]");B(te,".tsd-index-accordion");B(ee,".tsd-filter-item input[type=checkbox]");var we=document.getElementById("theme");we&&be(we);var je=new Y;Object.defineProperty(window,"app",{value:je});})();
/*! Bundled license information:
lunr/lunr.js:
(**
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
* Copyright (C) 2020 Oliver Nightingale
* @license MIT
*)
(*!
* lunr.utils
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Set
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.tokenizer
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Pipeline
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Vector
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.stemmer
* Copyright (C) 2020 Oliver Nightingale
* Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
*)
(*!
* lunr.stopWordFilter
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.trimmer
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.TokenSet
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Index
* Copyright (C) 2020 Oliver Nightingale
*)
(*!
* lunr.Builder
* Copyright (C) 2020 Oliver Nightingale
*)
*/
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc