angular/adev/shared-docs/pipeline/api-gen/rendering/processing.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

82 lines
2.5 KiB
TypeScript
Raw Normal View History

/*!
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import {DocEntry} from './entities';
import {
isClassEntry,
isCliEntry,
isConstantEntry,
isDecoratorEntry,
isEnumEntry,
isFunctionEntry,
isInitializerApiFunctionEntry,
isInterfaceEntry,
isTypeAliasEntry,
} from './entities/categorization';
import {CliCommandRenderable, DocEntryRenderable} from './entities/renderables';
import {getClassRenderable} from './transforms/class-transforms';
import {getDecoratorRenderable} from './transforms/decorator-transforms';
import {getCliRenderable} from './transforms/cli-transforms';
import {getConstantRenderable} from './transforms/constant-transforms';
import {getEnumRenderable} from './transforms/enum-transforms';
import {getFunctionRenderable} from './transforms/function-transforms';
import {getInitializerApiFunctionRenderable} from './transforms/initializer-api-functions-transform';
import {getInterfaceRenderable} from './transforms/interface-transforms';
import {
addHtmlAdditionalLinks,
addHtmlDescription,
addHtmlJsDocTagComments,
addHtmlUsageNotes,
setEntryFlags,
} from './transforms/jsdoc-transforms';
import {addModuleName} from './transforms/module-name';
import {getTypeAliasRenderable} from './transforms/type-alias-transforms';
export function getRenderable(
entry: DocEntry,
moduleName: string,
): DocEntryRenderable | CliCommandRenderable {
if (isClassEntry(entry)) {
return getClassRenderable(entry, moduleName);
}
if (isDecoratorEntry(entry)) {
return getDecoratorRenderable(entry, moduleName);
}
if (isConstantEntry(entry)) {
return getConstantRenderable(entry, moduleName);
}
if (isEnumEntry(entry)) {
return getEnumRenderable(entry, moduleName);
}
if (isInterfaceEntry(entry)) {
return getInterfaceRenderable(entry, moduleName);
}
if (isFunctionEntry(entry)) {
return getFunctionRenderable(entry, moduleName);
}
if (isTypeAliasEntry(entry)) {
return getTypeAliasRenderable(entry, moduleName);
}
if (isInitializerApiFunctionEntry(entry)) {
return getInitializerApiFunctionRenderable(entry, moduleName);
}
if (isCliEntry(entry)) {
return getCliRenderable(entry);
}
// Fallback to an uncategorized renderable.
return setEntryFlags(
addHtmlAdditionalLinks(
addHtmlDescription(
addHtmlUsageNotes(addHtmlJsDocTagComments(addModuleName(entry, moduleName))),
),
),
);
}