Socket
Socket
Sign inDemoInstall

typedoc

Package Overview
Dependencies
15
Maintainers
0
Versions
305
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.26.0-beta.5 to 0.26.0

11

dist/index.d.ts

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

export { Application } from "./lib/application";
export { EventDispatcher, Event } from "./lib/utils/events";
export { Application, type ApplicationEvents } from "./lib/application";
export { EventDispatcher } from "./lib/utils/events";
export { resetReflectionID } from "./lib/models/reflections/abstract";

@@ -20,11 +20,10 @@ /**

export * from "./lib/models";
export { Converter, Context, type CommentParserConfig, type DeclarationReference, type SymbolReference, type ComponentPath, type Meaning, type MeaningKeyword, type ExternalResolveResult, type ExternalSymbolResolver, } from "./lib/converter";
export { Converter, Context, type CommentParserConfig, type DeclarationReference, type SymbolReference, type ComponentPath, type Meaning, type MeaningKeyword, type ExternalResolveResult, type ExternalSymbolResolver, type ConverterEvents, } from "./lib/converter";
export { Renderer, DefaultTheme, DefaultThemeRenderContext, Slugger, UrlMapping, Theme, PageEvent, RendererEvent, MarkdownEvent, IndexEvent, } from "./lib/output";
export type { RenderTemplate, RendererHooks, NavigationElement, } from "./lib/output";
export type { RenderTemplate, RendererHooks, NavigationElement, RendererEvents, } from "./lib/output";
export { ArgumentsReader, Option, CommentStyle, JSX, LogLevel, Logger, Options, PackageJsonReader, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, EntryPointStrategy, EventHooks, MinimalSourceFile, normalizePath, } from "./lib/utils";
export type { OptionsReader, TypeDocOptions, TypeDocOptionMap, ValidationOptions, TypeDocOptionValues, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, ObjectDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, SortStrategy, ParameterTypeToOptionTypeMap, DocumentationEntryPoint, ManuallyValidatedOption, EnumKeys, JsDocCompatibility, } from "./lib/utils";
export type { EventMap, EventCallback } from "./lib/utils/events";
export { JSONOutput, Serializer, Deserializer, type Deserializable, type DeserializerComponent, type SerializerComponent, SerializeEvent, } from "./lib/serialization";
export { JSONOutput, Serializer, type SerializerEvents, Deserializer, type Deserializable, type DeserializerComponent, type SerializerComponent, SerializeEvent, } from "./lib/serialization";
export * as Internationalization from "./lib/internationalization/index";
import TypeScript from "typescript";
export { TypeScript };

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeScript = exports.Internationalization = exports.SerializeEvent = exports.Deserializer = exports.Serializer = exports.JSONOutput = exports.normalizePath = exports.MinimalSourceFile = exports.EventHooks = exports.EntryPointStrategy = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.PackageJsonReader = exports.Options = exports.Logger = exports.LogLevel = exports.JSX = exports.CommentStyle = exports.Option = exports.ArgumentsReader = exports.IndexEvent = exports.MarkdownEvent = exports.RendererEvent = exports.PageEvent = exports.Theme = exports.UrlMapping = exports.Slugger = exports.DefaultThemeRenderContext = exports.DefaultTheme = exports.Renderer = exports.Context = exports.Converter = exports.Configuration = exports.Models = exports.resetReflectionID = exports.Event = exports.EventDispatcher = exports.Application = void 0;
exports.TypeScript = exports.Internationalization = exports.SerializeEvent = exports.Deserializer = exports.Serializer = exports.JSONOutput = exports.normalizePath = exports.MinimalSourceFile = exports.EventHooks = exports.EntryPointStrategy = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.PackageJsonReader = exports.Options = exports.Logger = exports.LogLevel = exports.JSX = exports.CommentStyle = exports.Option = exports.ArgumentsReader = exports.IndexEvent = exports.MarkdownEvent = exports.RendererEvent = exports.PageEvent = exports.Theme = exports.UrlMapping = exports.Slugger = exports.DefaultThemeRenderContext = exports.DefaultTheme = exports.Renderer = exports.Context = exports.Converter = exports.Configuration = exports.Models = exports.resetReflectionID = exports.EventDispatcher = exports.Application = void 0;
var application_1 = require("./lib/application");

@@ -38,3 +38,2 @@ Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return application_1.Application; } });

Object.defineProperty(exports, "EventDispatcher", { enumerable: true, get: function () { return events_1.EventDispatcher; } });
Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return events_1.Event; } });
var abstract_1 = require("./lib/models/reflections/abstract");

@@ -41,0 +40,0 @@ Object.defineProperty(exports, "resetReflectionID", { enumerable: true, get: function () { return abstract_1.resetReflectionID; } });

export declare const ApplicationEvents: {
BOOTSTRAP_END: string;
REVIVE: string;
VALIDATE_PROJECT: string;
readonly BOOTSTRAP_END: "bootstrapEnd";
readonly REVIVE: "reviveProject";
readonly VALIDATE_PROJECT: "validateProject";
};

@@ -13,2 +13,7 @@ import { Converter } from "./converter/index";

export declare function createAppForTesting(): Application;
export interface ApplicationEvents {
bootstrapEnd: [Application];
reviveProject: [ProjectReflection];
validateProject: [ProjectReflection];
}
/**

@@ -32,3 +37,3 @@ * The default TypeDoc main application class.

*/
export declare class Application extends ChildableComponent<Application, AbstractComponent<Application>> {
export declare class Application extends ChildableComponent<Application, AbstractComponent<Application, {}>, ApplicationEvents> {
/**

@@ -81,3 +86,3 @@ * The converter used to create the declaration reflections.

*/
static readonly EVENT_BOOTSTRAP_END: string;
static readonly EVENT_BOOTSTRAP_END: "bootstrapEnd";
/**

@@ -87,3 +92,3 @@ * Emitted after a project has been deserialized from JSON.

*/
static readonly EVENT_PROJECT_REVIVE: string;
static readonly EVENT_PROJECT_REVIVE: "reviveProject";
/**

@@ -93,3 +98,3 @@ * Emitted when validation is being run.

*/
static readonly EVENT_VALIDATE_PROJECT: string;
static readonly EVENT_VALIDATE_PROJECT: "validateProject";
/**

@@ -96,0 +101,0 @@ * Create a new TypeDoc application instance.

@@ -207,4 +207,4 @@ "use strict";

__runInitializers(this, _entryPoints_extraInitializers);
this.converter = this.addComponent("converter", index_1.Converter);
this.renderer = this.addComponent("renderer", renderer_1.Renderer);
this.converter = new index_1.Converter(this);
this.renderer = new renderer_1.Renderer(this);
this.logger.i18n = this.i18n;

@@ -211,0 +211,0 @@ }

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

lexer.release();
if (content.some((part) => part.kind === "code")) {
if (content.some((part) => part.kind === "code" || part.kind === "inline-tag")) {
return blockContent(comment, lexer, config, i18n, warning, files);

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

import { Component, AbstractComponent } from "../utils/component";
import type { Converter } from "./converter";
export { Component };
export declare abstract class ConverterComponent extends AbstractComponent<Converter> {
export declare abstract class ConverterComponent extends AbstractComponent<Converter, {}> {
}

@@ -74,12 +74,2 @@ import ts from "typescript";

registerReflection(reflection: Reflection, symbol: ts.Symbol | undefined): void;
/**
* Trigger a node reflection event.
*
* All events are dispatched on the current converter instance.
*
* @param name The name of the event that should be triggered.
* @param reflection The triggering reflection.
* @param node The triggering TypeScript node if available.
*/
trigger(name: string, reflection: Reflection, node?: ts.Node): void;
/** @internal */

@@ -86,0 +76,0 @@ setActiveProgram(program: ts.Program | undefined): void;

@@ -172,14 +172,2 @@ "use strict";

}
/**
* Trigger a node reflection event.
*
* All events are dispatched on the current converter instance.
*
* @param name The name of the event that should be triggered.
* @param reflection The triggering reflection.
* @param node The triggering TypeScript node if available.
*/
trigger(name, reflection, node) {
this.converter.trigger(name, this, reflection, node);
}
/** @internal */

@@ -186,0 +174,0 @@ setActiveProgram(program) {

import ts from "typescript";
import type { Application } from "../application";
import { Comment, type CommentDisplayPart, type ContainerReflection, ProjectReflection, type Reflection, type ReflectionSymbolId, type SomeType } from "../models/index";
import { Comment, type CommentDisplayPart, type ContainerReflection, type DeclarationReflection, type ParameterReflection, ProjectReflection, type Reflection, type ReflectionSymbolId, type SignatureReflection, type SomeType, type TypeParameterReflection } from "../models/index";
import { Context } from "./context";

@@ -14,6 +14,26 @@ import { ConverterComponent } from "./components";

import type { FileRegistry } from "../models/FileRegistry";
export interface ConverterEvents {
begin: [Context];
end: [Context];
createDeclaration: [Context, DeclarationReflection];
createSignature: [
Context,
SignatureReflection,
(ts.SignatureDeclaration | ts.IndexSignatureDeclaration | ts.JSDocSignature)?,
ts.Signature?
];
createParameter: [Context, ParameterReflection, ts.Node?];
createTypeParameter: [
Context,
TypeParameterReflection,
ts.TypeParameterDeclaration?
];
resolveBegin: [Context];
resolveReflection: [Context, Reflection];
resolveEnd: [Context];
}
/**
* Compiles source files using TypeScript and converts compiler symbols to reflections.
*/
export declare class Converter extends ChildableComponent<Application, ConverterComponent> {
export declare class Converter extends ChildableComponent<Application, ConverterComponent, ConverterEvents> {
/** @internal */

@@ -20,0 +40,0 @@ accessor externalPattern: string[];

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

this.processDocumentTags(context.project, context.project);
context.trigger(Converter.EVENT_CREATE_DECLARATION, context.project);
moduleContext = context;

@@ -335,0 +334,0 @@ }

@@ -30,4 +30,4 @@ "use strict";

context.scope.indexSignatures.push(index);
context.trigger(converter_events_1.ConverterEvents.CREATE_SIGNATURE, index, indexDeclaration);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_SIGNATURE, context, index, indexDeclaration);
}
}

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

context.registerReflection(paramRefl, param);
context.trigger(converter_events_1.ConverterEvents.CREATE_PARAMETER, paramRefl);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_PARAMETER, context, paramRefl);
let type;

@@ -168,3 +168,3 @@ if (declaration) {

context.registerReflection(paramRefl, context.getSymbolAtLocation(param));
context.trigger(converter_events_1.ConverterEvents.CREATE_PARAMETER, paramRefl);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_PARAMETER, context, paramRefl);
paramRefl.type = context.converter.convertType(context.withScope(paramRefl), typescript_1.default.isParameter(param) ? param.type : param.typeExpression?.type);

@@ -226,3 +226,3 @@ const isOptional = typescript_1.default.isParameter(param)

context.registerReflection(paramRefl, param.getSymbol());
context.trigger(converter_events_1.ConverterEvents.CREATE_TYPE_PARAMETER, paramRefl);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_TYPE_PARAMETER, context, paramRefl);
return paramRefl;

@@ -250,3 +250,3 @@ });

}
context.trigger(converter_events_1.ConverterEvents.CREATE_TYPE_PARAMETER, paramRefl, param);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_TYPE_PARAMETER, context, paramRefl, param);
return paramRefl;

@@ -273,3 +273,3 @@ }

}
context.trigger(converter_events_1.ConverterEvents.CREATE_TYPE_PARAMETER, paramRefl, param);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_TYPE_PARAMETER, context, paramRefl, param);
return paramRefl;

@@ -276,0 +276,0 @@ });

export { Context } from "./context";
export { Converter } from "./converter";
export { Converter, type ConverterEvents } from "./converter";
export type { CommentParserConfig } from "./comments/index";

@@ -4,0 +4,0 @@ export { convertDefaultValue, convertExpression } from "./convert-expression";

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

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
const signature = new models_1.SignatureReflection("__type", models_1.ReflectionKind.CallSignature, reflection);

@@ -67,0 +67,0 @@ context.project.registerSymbolId(signature, new ReflectionSymbolId_1.ReflectionSymbolId(symbol, node));

@@ -103,6 +103,4 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[converter_1.Converter.EVENT_BEGIN]: this.onBegin,
[converter_1.Converter.EVENT_RESOLVE_END]: this.onEndResolve,
}, undefined, -200);
this.owner.on(converter_1.Converter.EVENT_BEGIN, this.onBegin.bind(this), -200);
this.owner.on(converter_1.Converter.EVENT_RESOLVE_END, this.onEndResolve.bind(this), -200);
}

@@ -109,0 +107,0 @@ /**

@@ -218,11 +218,9 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[converter_1.Converter.EVENT_CREATE_DECLARATION]: this.onDeclaration,
[converter_1.Converter.EVENT_CREATE_SIGNATURE]: this.onDeclaration,
[converter_1.Converter.EVENT_CREATE_TYPE_PARAMETER]: this.onCreateTypeParameter,
[converter_1.Converter.EVENT_RESOLVE_BEGIN]: this.onBeginResolve,
[converter_1.Converter.EVENT_RESOLVE]: this.onResolve,
[converter_1.Converter.EVENT_END]: () => {
this._excludeKinds = undefined;
},
this.owner.on(converter_1.Converter.EVENT_CREATE_DECLARATION, this.onDeclaration.bind(this));
this.owner.on(converter_1.Converter.EVENT_CREATE_SIGNATURE, this.onDeclaration.bind(this));
this.owner.on(converter_1.Converter.EVENT_CREATE_TYPE_PARAMETER, this.onCreateTypeParameter.bind(this));
this.owner.on(converter_1.Converter.EVENT_RESOLVE_BEGIN, this.onBeginResolve.bind(this));
this.owner.on(converter_1.Converter.EVENT_RESOLVE, this.onResolve.bind(this));
this.owner.on(converter_1.Converter.EVENT_END, () => {
this._excludeKinds = undefined;
});

@@ -229,0 +227,0 @@ }

@@ -119,12 +119,10 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[converter_1.Converter.EVENT_RESOLVE_BEGIN]: () => {
this.sortFunction = (0, sort_1.getSortFunction)(this.application.options);
GroupPlugin.WEIGHTS = this.groupOrder;
if (GroupPlugin.WEIGHTS.length === 0) {
GroupPlugin.WEIGHTS = defaultGroupOrder.map((kind) => this.application.internationalization.kindPluralString(kind));
}
},
[converter_1.Converter.EVENT_RESOLVE_END]: this.onEndResolve,
}, undefined, -100);
this.owner.on(converter_1.Converter.EVENT_RESOLVE_BEGIN, () => {
this.sortFunction = (0, sort_1.getSortFunction)(this.application.options);
GroupPlugin.WEIGHTS = this.groupOrder;
if (GroupPlugin.WEIGHTS.length === 0) {
GroupPlugin.WEIGHTS = defaultGroupOrder.map((kind) => this.application.internationalization.kindPluralString(kind));
}
}, -100);
this.owner.on(converter_1.Converter.EVENT_RESOLVE_END, this.onEndResolve.bind(this), -100);
}

@@ -131,0 +129,0 @@ /**

@@ -73,6 +73,6 @@ "use strict";

initialize() {
this.listenTo(this.owner, converter_1.Converter.EVENT_RESOLVE_END, this.onResolveEnd);
this.listenTo(this.owner, converter_1.Converter.EVENT_CREATE_DECLARATION, this.onDeclaration, -1000);
this.listenTo(this.owner, converter_1.Converter.EVENT_CREATE_SIGNATURE, this.onSignature, 1000);
this.listenTo(this.application, application_events_1.ApplicationEvents.REVIVE, this.resolve);
this.owner.on(converter_1.Converter.EVENT_RESOLVE_END, this.onResolveEnd.bind(this));
this.owner.on(converter_1.Converter.EVENT_CREATE_DECLARATION, this.onDeclaration.bind(this), -1000);
this.owner.on(converter_1.Converter.EVENT_CREATE_SIGNATURE, this.onSignature.bind(this), 1000);
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.resolve.bind(this));
}

@@ -79,0 +79,0 @@ /**

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

this.owner.on(converter_1.Converter.EVENT_RESOLVE_END, (context) => this.processInheritDoc(context.project));
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.processInheritDoc, this);
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.processInheritDoc.bind(this));
}

@@ -101,0 +101,0 @@ /**

@@ -77,4 +77,4 @@ "use strict";

super.initialize();
this.owner.on(converter_events_1.ConverterEvents.RESOLVE_END, this.onResolve, this, -300);
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.resolveLinks, this, -300);
this.owner.on(converter_events_1.ConverterEvents.RESOLVE_END, this.onResolve.bind(this), -300);
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.resolveLinks.bind(this), -300);
}

@@ -81,0 +81,0 @@ onResolve(context) {

@@ -129,14 +129,10 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[converter_1.Converter.EVENT_BEGIN]: this.onBegin,
[converter_1.Converter.EVENT_RESOLVE_BEGIN]: this.onBeginResolve,
[converter_1.Converter.EVENT_END]: () => {
delete this.readmeFile;
delete this.readmeContents;
delete this.packageJson;
},
this.owner.on(converter_1.Converter.EVENT_BEGIN, this.onBegin.bind(this));
this.owner.on(converter_1.Converter.EVENT_RESOLVE_BEGIN, this.onBeginResolve.bind(this));
this.owner.on(converter_1.Converter.EVENT_END, () => {
delete this.readmeFile;
delete this.readmeContents;
delete this.packageJson;
});
this.listenTo(this.application, {
[application_events_1.ApplicationEvents.REVIVE]: this.onRevive,
});
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.onRevive.bind(this));
}

@@ -143,0 +139,0 @@ onRevive(project) {

@@ -123,8 +123,6 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[converter_1.Converter.EVENT_END]: this.onEnd,
[converter_1.Converter.EVENT_CREATE_DECLARATION]: this.onDeclaration,
[converter_1.Converter.EVENT_CREATE_SIGNATURE]: this.onSignature,
[converter_1.Converter.EVENT_RESOLVE_BEGIN]: this.onBeginResolve,
});
this.owner.on(converter_1.Converter.EVENT_END, this.onEnd.bind(this));
this.owner.on(converter_1.Converter.EVENT_CREATE_DECLARATION, this.onDeclaration.bind(this));
this.owner.on(converter_1.Converter.EVENT_CREATE_SIGNATURE, this.onSignature.bind(this));
this.owner.on(converter_1.Converter.EVENT_RESOLVE_BEGIN, this.onBeginResolve.bind(this));
}

@@ -131,0 +129,0 @@ onEnd() {

@@ -65,10 +65,6 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[converter_1.Converter.EVENT_RESOLVE]: this.onResolve,
[converter_1.Converter.EVENT_RESOLVE_END]: this.onResolveEnd,
[converter_1.Converter.EVENT_END]: () => this.reflections.clear(),
});
this.listenTo(this.application, {
[application_events_1.ApplicationEvents.REVIVE]: this.onRevive,
});
this.owner.on(converter_1.Converter.EVENT_RESOLVE, this.onResolve.bind(this));
this.owner.on(converter_1.Converter.EVENT_RESOLVE_END, this.onResolveEnd.bind(this));
this.owner.on(converter_1.Converter.EVENT_END, () => this.reflections.clear());
this.application.on(application_events_1.ApplicationEvents.REVIVE, this.onRevive.bind(this));
}

@@ -75,0 +71,0 @@ onRevive(project) {

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

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
const signature = new models_1.SignatureReflection("__type", models_1.ReflectionKind.ConstructorSignature, reflection);

@@ -184,3 +184,3 @@ // This is unfortunate... but seems the obvious place to put this with the current

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
(0, signature_1.createSignature)(context.withScope(reflection), models_1.ReflectionKind.ConstructorSignature, type.getConstructSignatures()[0], symbol);

@@ -216,3 +216,3 @@ return new models_1.ReflectionType(reflection);

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
const signature = new models_1.SignatureReflection("__type", models_1.ReflectionKind.CallSignature, reflection);

@@ -235,3 +235,3 @@ context.project.registerSymbolId(signature, new ReflectionSymbolId_1.ReflectionSymbolId(symbol, node));

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
(0, signature_1.createSignature)(context.withScope(reflection), models_1.ReflectionKind.CallSignature, type.getCallSignatures()[0], type.getSymbol());

@@ -377,3 +377,3 @@ return new models_1.ReflectionType(reflection);

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
for (const prop of context.checker.getPropertiesOfType(type)) {

@@ -395,3 +395,3 @@ (0, symbols_1.convertSymbol)(rc, prop);

context.registerReflection(reflection, symbol);
context.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, reflection);
context.converter.trigger(converter_events_1.ConverterEvents.CREATE_DECLARATION, context, reflection);
for (const prop of context.checker.getPropertiesOfType(type)) {

@@ -398,0 +398,0 @@ (0, symbols_1.convertSymbol)(context.withScope(reflection), prop);

@@ -163,3 +163,2 @@ import type { blockTags, inlineTags, modifierTags } from "../utils/options/tsdoc-defaults";

readonly help_useHostedBaseUrlForAbsoluteLinks: "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option";
readonly help_gaID: "Set the Google Analytics tracking ID and activate tracking code";
readonly help_hideGenerator: "Do not print the TypeDoc link at the end of the page";

@@ -305,4 +304,6 @@ readonly help_customFooterHtml: "Custom footer after the TypeDoc link";

readonly theme_generated_using_typedoc: "Generated using TypeDoc";
readonly theme_class_hierarchy_title: "Class Hierarchy";
readonly theme_preparing_search_index: "Preparing search index...";
readonly theme_search_index_not_available: "The search index is not available";
readonly theme_loading: "Loading...";
readonly theme_settings: "Settings";

@@ -309,0 +310,0 @@ readonly theme_member_visibility: "Member Visibility";

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

help_useHostedBaseUrlForAbsoluteLinks: "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option",
help_gaID: "Set the Google Analytics tracking ID and activate tracking code",
help_hideGenerator: "Do not print the TypeDoc link at the end of the page",

@@ -333,5 +332,8 @@ help_customFooterHtml: "Custom footer after the TypeDoc link",

theme_generated_using_typedoc: "Generated using TypeDoc", // If this includes "TypeDoc", theme will insert a link at that location.
theme_class_hierarchy_title: "Class Hierarchy",
// Search
theme_preparing_search_index: "Preparing search index...",
theme_search_index_not_available: "The search index is not available",
// Left nav bar
theme_loading: "Loading...",
// Right nav bar

@@ -338,0 +340,0 @@ theme_settings: "Settings",

@@ -6,3 +6,3 @@ import { Component, AbstractComponent } from "../utils/component";

export { Component };
export declare abstract class RendererComponent extends AbstractComponent<Renderer> {
export declare abstract class RendererComponent extends AbstractComponent<Renderer, {}> {
}

@@ -9,0 +9,0 @@ /**

@@ -118,7 +118,5 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[events_1.RendererEvent.BEGIN]: this.onBeginRenderer,
[events_1.PageEvent.BEGIN]: this.onBeginPage,
[events_1.RendererEvent.END]: () => this.absoluteToRelativePathMap.clear(),
});
this.owner.on(events_1.RendererEvent.BEGIN, this.onBeginRenderer.bind(this));
this.owner.on(events_1.PageEvent.BEGIN, this.onBeginPage.bind(this));
this.owner.on(events_1.RendererEvent.END, () => this.absoluteToRelativePathMap.clear());
}

@@ -125,0 +123,0 @@ /**

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

import { Event } from "../utils/events";
import type { ProjectReflection } from "../models/reflections/project";

@@ -12,3 +11,3 @@ import type { RenderTemplate, UrlMapping } from "./models/UrlMapping";

*/
export declare class RendererEvent extends Event {
export declare class RendererEvent {
/**

@@ -38,3 +37,3 @@ * The project the renderer is currently processing.

static readonly END = "endRender";
constructor(name: string, outputDirectory: string, project: ProjectReflection);
constructor(outputDirectory: string, project: ProjectReflection);
/**

@@ -106,5 +105,4 @@ * Create an {@link PageEvent} event based on this event and the given url mapping.

* @see {@link MarkdownEvent.PARSE}
* @see {@link MarkdownEvent.INCLUDE}
*/
export declare class MarkdownEvent extends Event {
export declare class MarkdownEvent {
/**

@@ -127,8 +125,3 @@ * The unparsed original text.

static readonly PARSE = "parseMarkdown";
/**
* Triggered on the renderer when this plugin includes a markdown file through a markdown include tag.
* @event
*/
static readonly INCLUDE = "includeMarkdown";
constructor(name: string, page: PageEvent, originalText: string, parsedText: string);
constructor(page: PageEvent, originalText: string, parsedText: string);
}

@@ -138,3 +131,3 @@ /**

*/
export declare class IndexEvent extends Event {
export declare class IndexEvent {
/**

@@ -176,3 +169,3 @@ * Triggered on the renderer when the search index is being prepared.

removeResult(index: number): void;
constructor(name: string, searchResults: Array<DeclarationReflection | DocumentReflection>);
constructor(searchResults: Array<DeclarationReflection | DocumentReflection>);
}

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

const Path = __importStar(require("path"));
const events_1 = require("../utils/events");
/**

@@ -37,5 +36,4 @@ * An event emitted by the {@link Renderer} class at the very beginning and

*/
class RendererEvent extends events_1.Event {
constructor(name, outputDirectory, project) {
super(name);
class RendererEvent {
constructor(outputDirectory, project) {
this.outputDirectory = outputDirectory;

@@ -77,3 +75,3 @@ this.project = project;

*/
class PageEvent extends events_1.Event {
class PageEvent extends Event {
constructor(name, model) {

@@ -104,7 +102,5 @@ super(name);

* @see {@link MarkdownEvent.PARSE}
* @see {@link MarkdownEvent.INCLUDE}
*/
class MarkdownEvent extends events_1.Event {
constructor(name, page, originalText, parsedText) {
super(name);
class MarkdownEvent {
constructor(page, originalText, parsedText) {
this.page = page;

@@ -122,10 +118,5 @@ this.originalText = originalText;

/**
* Triggered on the renderer when this plugin includes a markdown file through a markdown include tag.
* @event
*/
MarkdownEvent.INCLUDE = "includeMarkdown";
/**
* An event emitted when the search index is being prepared.
*/
class IndexEvent extends events_1.Event {
class IndexEvent {
/**

@@ -138,4 +129,3 @@ * Remove a search result by index.

}
constructor(name, searchResults) {
super(name);
constructor(searchResults) {
/**

@@ -142,0 +132,0 @@ * Weights for the fields defined in `searchFields`. The default will weight

export { PageEvent, RendererEvent, MarkdownEvent, IndexEvent } from "./events";
export { UrlMapping } from "./models/UrlMapping";
export type { RenderTemplate } from "./models/UrlMapping";
export { Renderer } from "./renderer";
export { Renderer, type RendererEvents } from "./renderer";
export type { RendererHooks } from "./renderer";

@@ -6,0 +6,0 @@ export { Theme } from "./theme";

@@ -18,2 +18,3 @@ import { RendererComponent } from "../components";

initialize(): void;
private onRenderBegin;
/**

@@ -20,0 +21,0 @@ * Triggered before the renderer starts rendering a project.

@@ -90,18 +90,16 @@ "use strict";

initialize() {
this.listenTo(this.owner, {
[events_1.RendererEvent.END]: this.onRenderEnd,
[events_1.RendererEvent.BEGIN]: (event) => {
const dest = (0, path_1.join)(event.outputDirectory, "assets");
if (this.customCss) {
if ((0, fs_2.existsSync)(this.customCss)) {
(0, fs_1.copySync)(this.customCss, (0, path_1.join)(dest, "custom.css"));
}
else {
this.application.logger.error(this.application.i18n.custom_css_file_0_does_not_exist(this.customCss));
event.preventDefault();
}
}
},
});
this.owner.on(events_1.RendererEvent.BEGIN, this.onRenderBegin.bind(this));
this.owner.on(events_1.RendererEvent.END, this.onRenderEnd.bind(this));
}
onRenderBegin(event) {
const dest = (0, path_1.join)(event.outputDirectory, "assets");
if (this.customCss) {
if ((0, fs_2.existsSync)(this.customCss)) {
(0, fs_1.copySync)(this.customCss, (0, path_1.join)(dest, "custom.css"));
}
else {
this.application.logger.error(this.application.i18n.custom_css_file_0_does_not_exist(this.customCss));
}
}
}
/**

@@ -108,0 +106,0 @@ * Triggered before the renderer starts rendering a project.

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

initialize() {
this.listenTo(this.owner, {
[events_1.RendererEvent.BEGIN]: this.onBeginRender,
});
this.owner.on(events_1.RendererEvent.BEGIN, this.onBeginRender.bind(this));
}

@@ -85,0 +83,0 @@ onBeginRender(_event) {

@@ -10,11 +10,3 @@ import { RendererComponent } from "../components";

private accessor searchDocuments;
/**
* Create a new JavascriptIndexPlugin instance.
*/
initialize(): void;
/**
* Triggered after a document has been rendered, just before it is written to disc.
*
* @param event An event object describing the current render operation.
*/
private onRendererBegin;

@@ -21,0 +13,0 @@ private buildSearchIndex;

@@ -109,20 +109,9 @@ "use strict";

set searchDocuments(value) { __classPrivateFieldSet(this, _JavascriptIndexPlugin_searchDocuments_accessor_storage, value, "f"); }
/**
* Create a new JavascriptIndexPlugin instance.
*/
initialize() {
this.listenTo(this.owner, events_1.RendererEvent.BEGIN, this.onRendererBegin);
this.owner.on(events_1.RendererEvent.BEGIN, this.onRendererBegin.bind(this));
}
/**
* Triggered after a document has been rendered, just before it is written to disc.
*
* @param event An event object describing the current render operation.
*/
onRendererBegin(event) {
onRendererBegin(_event) {
if (!(this.owner.theme instanceof DefaultTheme_1.DefaultTheme)) {
return;
}
if (event.isDefaultPrevented()) {
return;
}
this.owner.preRenderAsyncJobs.push((event) => this.buildSearchIndex(event));

@@ -140,7 +129,4 @@ }

});
const indexEvent = new events_1.IndexEvent(events_1.IndexEvent.PREPARE_INDEX, initialSearchResults);
this.owner.trigger(indexEvent);
if (indexEvent.isDefaultPrevented()) {
return;
}
const indexEvent = new events_1.IndexEvent(initialSearchResults);
this.owner.trigger(events_1.IndexEvent.PREPARE_INDEX, indexEvent);
const builder = new lunr_1.Builder();

@@ -147,0 +133,0 @@ builder.pipeline.add(lunr_1.trimmer);

@@ -81,11 +81,8 @@ "use strict";

initialize() {
this.listenTo(this.owner, events_1.RendererEvent.BEGIN, this.onRendererBegin);
this.owner.on(events_1.RendererEvent.BEGIN, this.onRendererBegin.bind(this));
}
onRendererBegin(event) {
onRendererBegin(_event) {
if (!(this.owner.theme instanceof DefaultTheme_1.DefaultTheme)) {
return;
}
if (event.isDefaultPrevented()) {
return;
}
this.owner.preRenderAsyncJobs.push((event) => this.buildNavigationIndex(event));

@@ -92,0 +89,0 @@ }

@@ -64,9 +64,9 @@ "use strict";

initialize() {
this.listenTo(this.owner, events_1.RendererEvent.BEGIN, this.onRendererBegin);
this.owner.on(events_1.RendererEvent.BEGIN, this.onRendererBegin.bind(this));
}
onRendererBegin(event) {
onRendererBegin(_event) {
if (!(this.owner.theme instanceof DefaultTheme_1.DefaultTheme)) {
return;
}
if (event.isDefaultPrevented() || !this.hostedBaseUrl) {
if (!this.hostedBaseUrl) {
return;

@@ -73,0 +73,0 @@ }

import type { Application } from "../application";
import type { Theme } from "./theme";
import { RendererEvent } from "./events";
import { RendererEvent, PageEvent, IndexEvent, type MarkdownEvent } from "./events";
import type { ProjectReflection } from "../models/reflections/project";

@@ -80,2 +80,10 @@ import { RendererComponent } from "./components";

}
export interface RendererEvents {
beginRender: [RendererEvent];
beginPage: [PageEvent<Reflection>];
endPage: [PageEvent<Reflection>];
endRender: [RendererEvent];
parseMarkdown: [MarkdownEvent];
prepareIndex: [IndexEvent];
}
/**

@@ -92,4 +100,3 @@ * The renderer processes a {@link ProjectReflection} using a {@link Theme} instance and writes

* Triggered before the renderer starts rendering a project. The listener receives
* an instance of {@link RendererEvent}. By calling {@link RendererEvent.preventDefault} the entire
* render process can be canceled.
* an instance of {@link RendererEvent}.
*

@@ -116,3 +123,3 @@ * * {@link Renderer.EVENT_BEGIN_PAGE}<br>

*/
export declare class Renderer extends ChildableComponent<Application, RendererComponent> {
export declare class Renderer extends ChildableComponent<Application, RendererComponent, RendererEvents> {
private themes;

@@ -119,0 +126,0 @@ /** @event */

@@ -107,4 +107,3 @@ "use strict";

* Triggered before the renderer starts rendering a project. The listener receives
* an instance of {@link RendererEvent}. By calling {@link RendererEvent.preventDefault} the entire
* render process can be canceled.
* an instance of {@link RendererEvent}.
*

@@ -258,16 +257,14 @@ * * {@link Renderer.EVENT_BEGIN_PAGE}<br>

}
const output = new events_1.RendererEvent(events_1.RendererEvent.BEGIN, outputDirectory, project);
const output = new events_1.RendererEvent(outputDirectory, project);
output.urls = this.theme.getUrls(project);
this.trigger(output);
this.trigger(events_1.RendererEvent.BEGIN, output);
await this.runPreRenderJobs(output);
if (!output.isDefaultPrevented()) {
this.application.logger.verbose(`There are ${output.urls.length} pages to write.`);
output.urls.forEach((mapping) => {
this.renderDocument(...output.createPageEvent(mapping));
(0, type_1.validateStateIsClean)(mapping.url);
});
await Promise.all(this.postRenderAsyncJobs.map((job) => job(output)));
this.postRenderAsyncJobs = [];
this.trigger(events_1.RendererEvent.END, output);
}
this.application.logger.verbose(`There are ${output.urls.length} pages to write.`);
output.urls.forEach((mapping) => {
this.renderDocument(...output.createPageEvent(mapping));
(0, type_1.validateStateIsClean)(mapping.url);
});
await Promise.all(this.postRenderAsyncJobs.map((job) => job(output)));
this.postRenderAsyncJobs = [];
this.trigger(events_1.RendererEvent.END, output);
this.theme = void 0;

@@ -297,6 +294,2 @@ this.hooks.restoreMomento(momento);

this.trigger(events_1.PageEvent.BEGIN, page);
if (page.isDefaultPrevented()) {
this.hooks.restoreMomento(momento);
return false;
}
if (page.model instanceof models_1.Reflection) {

@@ -310,5 +303,2 @@ page.contents = this.theme.render(page, template);

this.hooks.restoreMomento(momento);
if (page.isDefaultPrevented()) {
return false;
}
try {

@@ -315,0 +305,0 @@ (0, fs_1.writeFileSync)(page.filename, page.contents);

@@ -43,3 +43,2 @@ import type { PageEvent, Renderer } from "../..";

reflectionPreview: (props: Reflection) => import("../../../utils/jsx.elements").JsxElement | undefined;
analytics: () => import("../../../utils/jsx.elements").JsxElement | undefined;
breadcrumb: (props: Reflection) => import("../../../utils/jsx.elements").JsxElement | undefined;

@@ -46,0 +45,0 @@ commentSummary: (props: Reflection) => import("../../../utils/jsx.elements").JsxElement | undefined;

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

const partials_1 = require("./partials");
const analytics_1 = require("./partials/analytics");
const breadcrumb_1 = require("./partials/breadcrumb");

@@ -75,3 +74,2 @@ const comment_1 = require("./partials/comment");

this.reflectionPreview = bind(reflectionPreview_1.reflectionPreview, this);
this.analytics = bind(analytics_1.analytics, this);
this.breadcrumb = bind(breadcrumb_1.breadcrumb, this);

@@ -78,0 +76,0 @@ this.commentSummary = bind(comment_1.commentSummary, this);

@@ -48,4 +48,3 @@ "use strict";

utils_1.JSX.createElement("div", { class: "overlay" }),
context.analytics(),
context.hook("body.end", context))));
exports.defaultLayout = defaultLayout;

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

const anchor_icon_1 = require("./anchor-icon");
const lib_1 = require("../../lib");
// Note: Comment modifiers are handled in `renderFlags`

@@ -51,5 +52,3 @@ function commentSummary({ markdown }, props) {

}
return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null, allFlags.map((item) => (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
utils_1.JSX.createElement("code", { class: "tsd-tag ts-flag" + item }, item),
" ")))));
return (0, lib_1.join)(" ", allFlags, (item) => utils_1.JSX.createElement("code", { class: "tsd-tag" }, item));
}

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

utils_1.JSX.createElement("ul", { class: "tsd-small-nested-navigation", id: "tsd-nav-container", "data-base": context.relativeURL("./") },
utils_1.JSX.createElement("li", null, "Loading..."))));
utils_1.JSX.createElement("li", null, context.i18n.theme_loading()))));
};

@@ -84,0 +84,0 @@ exports.navigation = navigation;

@@ -28,4 +28,4 @@ "use strict";

return (utils_1.JSX.createElement(utils_1.JSX.Fragment, null,
utils_1.JSX.createElement("h2", null, "Class Hierarchy"),
utils_1.JSX.createElement("h2", null, context.i18n.theme_class_hierarchy_title()),
(0, lib_1.getHierarchyRoots)(props.project).map((root) => (utils_1.JSX.createElement("ul", { class: "tsd-full-hierarchy" }, fullHierarchy(context, root))))));
}

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

super.initialize();
this.listenTo(this.owner, events_1.MarkdownEvent.PARSE, this.onParseMarkdown);
this.owner.on(events_1.MarkdownEvent.PARSE, this.onParseMarkdown.bind(this));
}

@@ -153,4 +153,4 @@ /**

this.renderContext = context;
const event = new events_1.MarkdownEvent(events_1.MarkdownEvent.PARSE, page, markdown, markdown);
this.owner.trigger(event);
const event = new events_1.MarkdownEvent(page, markdown, markdown);
this.owner.trigger(events_1.MarkdownEvent.PARSE, event);
this.renderContext = null;

@@ -157,0 +157,0 @@ return event.parsedText;

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

import { Event } from "../utils/events";
import type { ProjectReflection } from "../models";

@@ -11,3 +10,3 @@ import type { ProjectReflection as JSONProjectReflection } from "./schema";

*/
export declare class SerializeEvent extends Event {
export declare class SerializeEvent {
/**

@@ -18,3 +17,3 @@ * The project the renderer is currently processing.

output: JSONProjectReflection | undefined;
constructor(name: string, project: ProjectReflection, output?: JSONProjectReflection);
constructor(project: ProjectReflection, output?: JSONProjectReflection);
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SerializeEvent = void 0;
const events_1 = require("../utils/events");
/**

@@ -12,5 +11,4 @@ * An event emitted by the {@link Serializer} class at the very beginning and

*/
class SerializeEvent extends events_1.Event {
constructor(name, project, output) {
super(name);
class SerializeEvent {
constructor(project, output) {
this.project = project;

@@ -17,0 +15,0 @@ this.output = output;

@@ -5,2 +5,2 @@ export type { SerializerComponent } from "./components";

export * as JSONOutput from "./schema";
export { Serializer } from "./serializer";
export { Serializer, type SerializerEvents } from "./serializer";
import { EventDispatcher } from "../utils";
import type { ProjectReflection } from "../models";
import { SerializeEvent } from "./events";
import type { ModelToObject } from "./schema";
import type { SerializerComponent } from "./components";
export declare class Serializer extends EventDispatcher {
export interface SerializerEvents {
begin: [SerializeEvent];
end: [SerializeEvent];
}
export declare class Serializer extends EventDispatcher<SerializerEvents> {
/**
* Triggered when the {@link Serializer} begins transforming a project.
* @event EVENT_BEGIN
* @event
*/
static EVENT_BEGIN: string;
static readonly EVENT_BEGIN = "begin";
/**
* Triggered when the {@link Serializer} has finished transforming a project.
* @event EVENT_END
* @event
*/
static EVENT_END: string;
static readonly EVENT_END = "end";
private serializers;

@@ -17,0 +22,0 @@ /**

@@ -35,7 +35,7 @@ "use strict";

this.projectRoot = projectRoot;
const eventBegin = new events_1.SerializeEvent(Serializer.EVENT_BEGIN, value);
this.trigger(eventBegin);
const eventBegin = new events_1.SerializeEvent(value);
this.trigger(Serializer.EVENT_BEGIN, eventBegin);
const project = this.toObject(value);
const eventEnd = new events_1.SerializeEvent(Serializer.EVENT_END, value, project);
this.trigger(eventEnd);
const eventEnd = new events_1.SerializeEvent(value, project);
this.trigger(Serializer.EVENT_END, eventEnd);
return project;

@@ -47,3 +47,3 @@ }

* Triggered when the {@link Serializer} begins transforming a project.
* @event EVENT_BEGIN
* @event
*/

@@ -53,4 +53,4 @@ Serializer.EVENT_BEGIN = "begin";

* Triggered when the {@link Serializer} has finished transforming a project.
* @event EVENT_END
* @event
*/
Serializer.EVENT_END = "end";
import type { Application } from "../application";
import { EventDispatcher, Event, type EventMap } from "./events";
import { EventDispatcher } from "./events";
/**

@@ -9,3 +9,3 @@ * Exposes a reference to the root Application component.

}
export interface Component extends AbstractComponent<ComponentHost> {
export interface Component<E extends Record<keyof E, unknown[]> = {}> extends AbstractComponent<ComponentHost, E> {
}

@@ -28,9 +28,2 @@ export interface ComponentClass<T extends Component, O extends ComponentHost = ComponentHost> extends Function {

export declare function Component(options: ComponentOptions): (target: Function, _context: unknown) => void;
export declare class ComponentEvent extends Event {
owner: ComponentHost;
component: AbstractComponent<ComponentHost>;
static ADDED: string;
static REMOVED: string;
constructor(name: string, owner: ComponentHost, component: AbstractComponent<ComponentHost>);
}
/**

@@ -42,3 +35,3 @@ * Component base class. Has an owner (unless it's the application root component),

*/
export declare abstract class AbstractComponent<O extends ComponentHost> extends EventDispatcher implements ComponentHost {
export declare abstract class AbstractComponent<O extends ComponentHost, E extends Record<keyof E, unknown[]>> extends EventDispatcher<E> implements ComponentHost {
/**

@@ -60,3 +53,2 @@ * The owner of this component instance.

protected initialize(): void;
protected bubble(name: Event | EventMap | string, ...args: any[]): this;
/**

@@ -77,6 +69,3 @@ * Return the application / root component instance.

*/
export declare abstract class ChildableComponent<O extends ComponentHost, C extends Component> extends AbstractComponent<O> {
/**
*
*/
export declare abstract class ChildableComponent<O extends ComponentHost, C extends Component, E extends Record<keyof E, unknown[]>> extends AbstractComponent<O, E> {
private _componentChildren?;

@@ -95,6 +84,3 @@ private _defaultComponents?;

getComponents(): C[];
hasComponent(name: string): boolean;
addComponent<T extends C>(name: string, componentClass: T | ComponentClass<T, O>): T;
removeComponent(name: string): C | undefined;
removeAllComponents(): void;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChildableComponent = exports.AbstractComponent = exports.ComponentEvent = void 0;
exports.ChildableComponent = exports.AbstractComponent = void 0;
exports.Component = Component;

@@ -47,12 +47,2 @@ const events_1 = require("./events");

}
class ComponentEvent extends events_1.Event {
constructor(name, owner, component) {
super(name);
this.owner = owner;
this.component = component;
}
}
exports.ComponentEvent = ComponentEvent;
ComponentEvent.ADDED = "componentAdded";
ComponentEvent.REMOVED = "componentRemoved";
/**

@@ -79,10 +69,2 @@ * Component base class. Has an owner (unless it's the application root component),

}
bubble(name, ...args) {
super.trigger(name, ...args);
if (this.owner instanceof AbstractComponent &&
this._componentOwner !== null) {
this.owner.bubble(name, ...args);
}
return this;
}
/**

@@ -134,5 +116,2 @@ * Return the application / root component instance.

}
hasComponent(name) {
return !!(this._componentChildren || {})[name];
}
addComponent(name, componentClass) {

@@ -152,4 +131,2 @@ if (!this._componentChildren) {

: componentClass;
const event = new ComponentEvent(ComponentEvent.ADDED, this, component);
this.bubble(event);
this._componentChildren[name] = component;

@@ -159,18 +136,3 @@ return component;

}
removeComponent(name) {
const component = (this._componentChildren || {})[name];
if (component) {
delete this._componentChildren[name];
component.stopListening();
this.bubble(new ComponentEvent(ComponentEvent.REMOVED, this, component));
return component;
}
}
removeAllComponents() {
for (const component of Object.values(this._componentChildren || {})) {
component.stopListening();
}
this._componentChildren = {};
}
}
exports.ChildableComponent = ChildableComponent;

@@ -1,123 +0,28 @@

export interface EventCallback extends Function {
_callback?: Function;
}
export interface EventMap {
[name: string]: EventCallback;
}
/**
* An event object.
*/
export declare class Event {
/**
* The name of the event.
*/
private _name;
/**
* Has {@link Event.stopPropagation} been called?
*/
private _isPropagationStopped;
/**
* Has {@link Event.preventDefault} been called?
*/
private _isDefaultPrevented;
/**
* Create a new Event instance.
*/
constructor(name: string);
/**
* Stop the propagation of this event. Remaining event handlers will not be executed.
*/
stopPropagation(): void;
/**
* Prevent the default action associated with this event from being executed.
*/
preventDefault(): void;
/**
* Return the event name.
*/
get name(): string;
/**
* Has {@link Event.stopPropagation} been called?
*/
get isPropagationStopped(): boolean;
/**
* Has {@link Event.preventDefault} been called?
*/
isDefaultPrevented(): boolean;
}
/**
* A class that provides a custom event channel.
* Intentionally very simple event emitter.
*
* You may bind a callback to an event with `on` or remove with `off`;
* `trigger`-ing an event fires all callbacks in succession.
* @privateRemarks
* This is essentially a stripped down copy of EventHooks in hooks.ts.
*/
export declare class EventDispatcher {
export declare class EventDispatcher<T extends Record<keyof T, unknown[]>> {
private _listeners;
/**
* Map of all handlers registered with the "on" function.
* Starts listening to an event.
* @param event the event to listen to.
* @param listener function to be called when an this event is emitted.
* @param priority optional priority to insert this hook with.
*/
private _events?;
on<K extends keyof T>(event: K, listener: (this: undefined, ...args: T[K]) => void, priority?: number): void;
/**
* Map of all objects this instance is listening to.
* Stops listening to an event.
* @param event the event to stop listening to.
* @param listener the function to remove from the listener array.
*/
private _listeningTo?;
off<K extends keyof T>(event: K, listener: (this: undefined, ...args: T[K]) => void): void;
/**
* Map of all objects that are listening to this instance.
* Emits an event to all currently subscribed listeners.
* @param event the event to emit.
* @param args any arguments required for the event.
*/
private _listeners?;
/**
* A unique id that identifies this instance.
*/
private get _listenId();
private _savedListenId?;
/**
* Bind an event to a `callback` function. Passing `"all"` will bind
* the callback to all events fired.
*/
on(eventMap: EventMap, context?: any): this;
on(eventMap: EventMap, callback?: EventCallback, context?: any, priority?: number): this;
on(name: string, callback: EventCallback, context?: any, priority?: number): this;
/**
* Guard the `listening` argument from the public API.
*/
private internalOn;
/**
* Bind an event to only be triggered a single time. After the first time
* the callback is invoked, its listener will be removed. If multiple events
* are passed in using the space-separated syntax, the handler will fire
* once for each event, not once for a combination of all events.
*/
once(eventMap: EventMap, context?: any): this;
once(name: string, callback: EventCallback, context?: any, priority?: any): this;
/**
* Remove one or many callbacks. If `context` is null, removes all
* callbacks with that function. If `callback` is null, removes all
* callbacks for the event. If `name` is null, removes all bound
* callbacks for all events.
*/
off(): this;
off(eventMap: EventMap | undefined, context?: any): this;
off(name: string | undefined, callback?: EventCallback, context?: any): this;
/**
* Inversion-of-control versions of `on`. Tell *this* object to listen to
* an event in another object... keeping track of what it's listening to
* for easier unbinding later.
*/
listenTo(obj: EventDispatcher, name: EventMap | string, callback?: EventCallback, priority?: number): this;
/**
* Inversion-of-control versions of `once`.
*/
listenToOnce(obj: EventDispatcher, eventMap: EventMap): this;
listenToOnce(obj: EventDispatcher, name: string, callback: EventCallback, priority?: number): this;
/**
* Tell this object to stop listening to either specific events ... or
* to every object it's currently listening to.
*/
stopListening(obj?: EventDispatcher, name?: EventMap | string, callback?: EventCallback): this;
/**
* Trigger one or many events, firing all bound callbacks. Callbacks are
* passed the same arguments as `trigger` is, apart from the event name
* (unless you're listening on `"all"`, which will cause your callback to
* receive the true name of the event as the first argument).
*/
trigger(name: Event | EventMap | string, ...args: any[]): this;
trigger<K extends keyof T>(event: K, ...args: T[K]): void;
}
"use strict";
// Backbone.js 1.2.3
// (c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
// Backbone may be freely distributed under the MIT license.
// For all details and documentation:
// https://backbonejs.org
//
// The Events object is a typesafe conversion of Backbones Events object:
// https://github.com/jashkenas/backbone/blob/05fde9e201f7e2137796663081105cd6dad12a98/backbone.js#L119-L374
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventDispatcher = exports.Event = void 0;
// Priority: Higher number makes the listener be called earlier.
const uniqueId = (function () {
const prefixes = Object.create(null);
return function (prefix) {
const unique = prefixes[prefix] || 1;
prefixes[prefix] = unique + 1;
return `${prefix}${unique}`;
};
})();
function once(cb) {
let hasRun = false;
let result;
return function (...args) {
if (hasRun === false) {
hasRun = true;
result = cb.apply(this, args);
}
return result;
};
}
// Regular expression used to split event strings.
const eventSplitter = /\s+/;
exports.EventDispatcher = void 0;
const array_1 = require("./array");
/**
* Iterates over the standard `event, callback` (as well as the fancy multiple
* space-separated events `"change blur", callback` and jQuery-style event
* maps `{event: callback}`).
*/
function eventsApi(iteratee, events, name, callback, options) {
let i = 0, names;
const anyOptions = options;
if (name && typeof name === "object") {
// Handle event maps.
if (callback !== void 0 &&
"context" in options &&
anyOptions["context"] === void 0) {
anyOptions["context"] = callback;
}
for (names = Object.keys(name); i < names.length; i++) {
events = eventsApi(iteratee, events, names[i], name[names[i]], options);
}
}
else if (name && typeof name === "string" && eventSplitter.test(name)) {
// Handle space separated event names by delegating them individually.
for (names = name.split(eventSplitter); i < names.length; i++) {
events = iteratee(events, names[i], callback, options);
}
}
else {
// Finally, standard events.
events = iteratee(events, name, callback, options);
}
return events;
}
/**
* The reducing API that adds a callback to the `events` object.
*/
function onApi(events, name, callback, options) {
if (callback) {
const handlers = (events[name] ||= []);
const context = options.context, ctx = options.ctx, listening = options.listening, priority = options.priority;
if (listening) {
listening.count++;
}
handlers.push({
callback: callback,
context: context,
ctx: context || ctx,
listening: listening,
priority: priority,
});
handlers.sort((a, b) => b.priority - a.priority);
}
return events;
}
/**
* The reducing API that removes a callback from the `events` object.
*/
function offApi(events, name, callback, options) {
if (!events) {
return;
}
let i = 0, listening;
const context = options.context, listeners = options.listeners;
// Delete all events listeners and "drop" events.
if (!name && !callback && !context) {
const ids = Object.keys(listeners || {});
for (; i < ids.length; i++) {
listening = listeners[ids[i]];
delete listeners[listening.id];
delete listening.listeningTo[listening.objId];
}
return;
}
const names = name ? [name] : Object.keys(events || {});
for (; i < names.length; i++) {
name = names[i];
const handlers = events[name];
// Bail out if there are no events stored.
if (!handlers) {
break;
}
// Replace events if there are any remaining. Otherwise, clean up.
const remaining = [];
for (let j = 0; j < handlers.length; j++) {
const handler = handlers[j];
if ((callback &&
callback !== handler.callback &&
callback !== handler.callback._callback) ||
(context && context !== handler.context)) {
remaining.push(handler);
}
else {
listening = handler.listening;
if (listening && --listening.count === 0) {
delete listeners[listening.id];
delete listening.listeningTo[listening.objId];
}
}
}
// Update tail event if the list has any events. Otherwise, clean up.
if (remaining.length) {
events[name] = remaining;
}
else {
delete events[name];
}
}
if (Object.keys(events || {}).length !== 0) {
return events;
}
}
/**
* Reduces the event callbacks into a map of `{event: onceWrapper`.}
* `offer` unbinds the `onceWrapper` after it has been called.
*/
function onceMap(map, name, callback, offer) {
if (callback) {
const listener = (map[name] = once(function (...args) {
offer(name, listener);
callback.apply(this, args);
}));
listener._callback = callback;
}
return map;
}
/**
* Handles triggering the appropriate event callbacks.
*/
function triggerApi(objEvents, name, _callback, args, triggerer = triggerEvents) {
if (objEvents) {
const events = objEvents[name];
let allEvents = objEvents["all"];
if (events && allEvents) {
allEvents = allEvents.slice();
}
if (events) {
triggerer(events, args);
}
if (allEvents) {
triggerer(allEvents, [name].concat(args));
}
}
return objEvents;
}
/**
* A difficult-to-believe, but optimized internal dispatch function for
* triggering events. Tries to keep the usual cases speedy (most internal
* Backbone events have 3 arguments).
*/
function triggerEvents(events, args) {
let ev, i = -1;
const l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];
switch (args.length) {
case 0:
while (++i < l) {
(ev = events[i]).callback.call(ev.ctx);
}
return;
case 1:
while (++i < l) {
(ev = events[i]).callback.call(ev.ctx, a1);
}
return;
case 2:
while (++i < l) {
(ev = events[i]).callback.call(ev.ctx, a1, a2);
}
return;
case 3:
while (++i < l) {
(ev = events[i]).callback.call(ev.ctx, a1, a2, a3);
}
return;
default:
while (++i < l) {
(ev = events[i]).callback.apply(ev.ctx, args);
}
return;
}
}
/**
* An event object.
*/
class Event {
/**
* Create a new Event instance.
*/
constructor(name) {
/**
* Has {@link Event.stopPropagation} been called?
*/
this._isPropagationStopped = false;
/**
* Has {@link Event.preventDefault} been called?
*/
this._isDefaultPrevented = false;
this._name = name;
}
/**
* Stop the propagation of this event. Remaining event handlers will not be executed.
*/
stopPropagation() {
this._isPropagationStopped = true;
}
/**
* Prevent the default action associated with this event from being executed.
*/
preventDefault() {
this._isDefaultPrevented = true;
}
/**
* Return the event name.
*/
get name() {
return this._name;
}
/**
* Has {@link Event.stopPropagation} been called?
*/
get isPropagationStopped() {
return this._isPropagationStopped;
}
/**
* Has {@link Event.preventDefault} been called?
*/
isDefaultPrevented() {
return this._isDefaultPrevented;
}
}
exports.Event = Event;
/**
* A class that provides a custom event channel.
* Intentionally very simple event emitter.
*
* You may bind a callback to an event with `on` or remove with `off`;
* `trigger`-ing an event fires all callbacks in succession.
* @privateRemarks
* This is essentially a stripped down copy of EventHooks in hooks.ts.
*/
class EventDispatcher {
/**
* A unique id that identifies this instance.
*/
get _listenId() {
return this._savedListenId || (this._savedListenId = uniqueId("l"));
constructor() {
// Function is *usually* not a good type to use, but here it lets us specify stricter
// contracts in the methods while not casting everywhere this is used.
this._listeners = new Map();
}
on(nameOrMap, callback, context, priority) {
this.internalOn(nameOrMap, callback, context, priority);
return this;
}
/**
* Guard the `listening` argument from the public API.
* Starts listening to an event.
* @param event the event to listen to.
* @param listener function to be called when an this event is emitted.
* @param priority optional priority to insert this hook with.
*/
internalOn(name, callback, context, priority = 0, listening) {
this._events = eventsApi(onApi, this._events || {}, name, callback, {
context: context,
ctx: this,
listening: listening,
priority: priority,
});
if (listening) {
const listeners = this._listeners || (this._listeners = {});
listeners[listening.id] = listening;
}
on(event, listener, priority = 0) {
const list = (this._listeners.get(event) || []).slice();
(0, array_1.insertPrioritySorted)(list, { listener, priority });
this._listeners.set(event, list);
}
once(name, callback, context, priority) {
// Map the event into a `{event: once}` object.
const events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));
return this.on(events, void 0, context, priority);
}
off(name, callback, context) {
if (!this._events) {
return this;
}
this._events = eventsApi(offApi, this._events, name, callback, {
context: context,
listeners: this._listeners,
});
return this;
}
/**
* Inversion-of-control versions of `on`. Tell *this* object to listen to
* an event in another object... keeping track of what it's listening to
* for easier unbinding later.
* Stops listening to an event.
* @param event the event to stop listening to.
* @param listener the function to remove from the listener array.
*/
listenTo(obj, name, callback, priority) {
if (!obj) {
return this;
}
const id = obj._listenId;
const listeningTo = this._listeningTo || (this._listeningTo = {});
let listening = listeningTo[id];
// This object is not listening to any other events on `obj` yet.
// Setup the necessary references to track the listening callbacks.
if (!listening) {
const thisId = this._listenId;
listening = listeningTo[id] = {
obj: obj,
objId: id,
id: thisId,
listeningTo: listeningTo,
count: 0,
};
}
// Bind callbacks on obj, and keep track of them on listening.
obj.internalOn(name, callback, this, priority, listening);
return this;
}
listenToOnce(obj, name, callback, priority) {
// Map the event into a `{event: once}` object.
const events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));
return this.listenTo(obj, events, void 0, priority);
}
/**
* Tell this object to stop listening to either specific events ... or
* to every object it's currently listening to.
*/
stopListening(obj, name, callback) {
const listeningTo = this._listeningTo;
if (!listeningTo) {
return this;
}
const ids = obj ? [obj._listenId] : Object.keys(listeningTo);
for (let i = 0; i < ids.length; i++) {
const listening = listeningTo[ids[i]];
// If listening doesn't exist, this object is not currently
// listening to obj. Break out early.
if (!listening) {
break;
off(event, listener) {
const listeners = this._listeners.get(event);
if (listeners) {
const index = listeners.findIndex((lo) => lo.listener === listener);
if (index > -1) {
listeners.splice(index, 1);
}
listening.obj.off(name, callback, this);
}
if (Object.keys(listeningTo).length === 0) {
this._listeningTo = void 0;
}
return this;
}
/**
* Trigger one or many events, firing all bound callbacks. Callbacks are
* passed the same arguments as `trigger` is, apart from the event name
* (unless you're listening on `"all"`, which will cause your callback to
* receive the true name of the event as the first argument).
* Emits an event to all currently subscribed listeners.
* @param event the event to emit.
* @param args any arguments required for the event.
*/
trigger(name, ...args) {
if (!this._events) {
return this;
trigger(event, ...args) {
const listeners = this._listeners.get(event)?.slice() || [];
for (const { listener } of listeners) {
listener(...args);
}
if (name instanceof Event) {
triggerApi(this._events, name.name, void 0, [name], (events, args) => {
let ev, i = -1;
const l = events.length;
while (++i < l) {
if (name.isPropagationStopped) {
return;
}
ev = events[i];
ev.callback.apply(ev.ctx, args);
}
});
}
else {
eventsApi(triggerApi, this._events, name, void 0, args);
}
return this;
}
}
exports.EventDispatcher = EventDispatcher;
export { filterMap, insertPrioritySorted, partition, removeIf, removeIfPresent, unique, } from "./array";
export { AbstractComponent, ChildableComponent, Component } from "./component";
export * from "./enum";
export { Event, EventDispatcher } from "./events";
export { EventDispatcher } from "./events";
export { isFile, copy, copySync, getCommonDirectory, readFile, writeFile, writeFileSync, discoverInParentDir, discoverPackageJson, } from "./fs";

@@ -6,0 +6,0 @@ export { normalizePath } from "./paths";

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.MinimalSourceFile = exports.Validation = exports.renderElement = exports.Raw = exports.Fragment = exports.JSX = exports.EventHooks = exports.getSortFunction = exports.loadPlugins = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.PackageJsonReader = exports.Options = exports.CommentStyle = exports.Option = exports.ArgumentsReader = exports.DefaultMap = exports.LogLevel = exports.Logger = exports.ConsoleLogger = exports.assertNever = exports.normalizePath = exports.discoverPackageJson = exports.discoverInParentDir = exports.writeFileSync = exports.writeFile = exports.readFile = exports.getCommonDirectory = exports.copySync = exports.copy = exports.isFile = exports.EventDispatcher = exports.Event = exports.Component = exports.ChildableComponent = exports.AbstractComponent = exports.unique = exports.removeIfPresent = exports.removeIf = exports.partition = exports.insertPrioritySorted = exports.filterMap = void 0;
exports.MinimalSourceFile = exports.Validation = exports.renderElement = exports.Raw = exports.Fragment = exports.JSX = exports.EventHooks = exports.getSortFunction = exports.loadPlugins = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.PackageJsonReader = exports.Options = exports.CommentStyle = exports.Option = exports.ArgumentsReader = exports.DefaultMap = exports.LogLevel = exports.Logger = exports.ConsoleLogger = exports.assertNever = exports.normalizePath = exports.discoverPackageJson = exports.discoverInParentDir = exports.writeFileSync = exports.writeFile = exports.readFile = exports.getCommonDirectory = exports.copySync = exports.copy = exports.isFile = exports.EventDispatcher = exports.Component = exports.ChildableComponent = exports.AbstractComponent = exports.unique = exports.removeIfPresent = exports.removeIf = exports.partition = exports.insertPrioritySorted = exports.filterMap = void 0;
var array_1 = require("./array");

@@ -44,3 +44,2 @@ Object.defineProperty(exports, "filterMap", { enumerable: true, get: function () { return array_1.filterMap; } });

var events_1 = require("./events");
Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return events_1.Event; } });
Object.defineProperty(exports, "EventDispatcher", { enumerable: true, get: function () { return events_1.EventDispatcher; } });

@@ -47,0 +46,0 @@ var fs_1 = require("./fs");

@@ -129,3 +129,2 @@ import type { BundledTheme as ShikiTheme } from "shiki" with { "resolution-mode": "import" };

cacheBust: boolean;
gaID: string;
hideGenerator: boolean;

@@ -132,0 +131,0 @@ customFooterHtml: string;

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

defaultValue: {
html: true,
linkify: true,

@@ -454,6 +455,2 @@ },

options.addDeclaration({
name: "gaID",
help: (i18n) => i18n.help_gaID(),
});
options.addDeclaration({
name: "hideGenerator",

@@ -460,0 +457,0 @@ help: (i18n) => i18n.help_hideGenerator(),

{
"name": "typedoc",
"description": "Create api documentation for TypeScript projects.",
"version": "0.26.0-beta.5",
"version": "0.26.0",
"homepage": "https://typedoc.org",

@@ -80,3 +80,4 @@ "exports": {

"prettier": "prettier --config .config/.prettierrc.json --ignore-path .config/.prettierignore",
"prepublishOnly": "node scripts/set_strict.js false && npm run build:prod && npm test",
"prepack": "node scripts/set_strict.js false && npm run build:prod",
"prepare": "node scripts/prepare.mjs",
"postpublish": "node scripts/set_strict.js true"

@@ -83,0 +84,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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