Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
) {
let children = node.children;
if (children && children.length > 0) {
children.forEach(function(child) {
findConstructs(child, files, node);
});
}
} else {
if (
(node.kind === ReflectionKind.Class ||
node.kind === ReflectionKind.Interface ||
node.kind === ReflectionKind.TypeAlias ||
node.kind === ReflectionKind.ObjectLiteral ||
node.kind === ReflectionKind.Module ||
node.kind === ReflectionKind.Variable ||
node.kind === ReflectionKind.Enum ||
node.kind === ReflectionKind.Function) &&
node.flags.isExported &&
files.find(
filePath =>
node.sources[0].fileName.split('/').pop() ===
filePath.split('/').pop(),
)
) {
if (parent && parent.kind === ReflectionKind.Module) {
// Set the node name with its parent namespace
node.name = parent ? parent.name + '.' + node.name : node.name;
}
exportedConstructs.push(node);
}
}
}
public read(rootPath: string): Reflections {
const expandedFiles = this.typedocApp.expandInputFiles([rootPath]);
const projectReflection = this.typedocApp.convert(expandedFiles);
// console.log(JSON.stringify(this.typedocApp.serializer.projectToObject(projectReflection)));
const externalModules = this.externalModulesWithoutTestsAndMocks(projectReflection);
const classReflections = this.reflections(externalModules, ReflectionKind.Class);
const interfaceReflections = this.reflections(externalModules, ReflectionKind.Interface);
const enumReflections = this.reflections(externalModules, ReflectionKind.Enum);
return {
classReflections,
interfaceReflections,
enumReflections
};
}
) {
let children = node.children;
if (children && children.length > 0) {
children.forEach(function(child) {
findConstructs(child, files, node);
});
}
} else {
if (
(node.kind === ReflectionKind.Class ||
node.kind === ReflectionKind.Interface ||
node.kind === ReflectionKind.TypeAlias ||
node.kind === ReflectionKind.ObjectLiteral ||
node.kind === ReflectionKind.Module ||
node.kind === ReflectionKind.Variable ||
node.kind === ReflectionKind.Enum ||
node.kind === ReflectionKind.Function) &&
node.flags.isExported &&
files.find(
filePath =>
node.sources != null &&
node.sources[0].fileName.split('/').pop() ===
filePath.split('/').pop()
)
) {
if (parent && parent.kind === ReflectionKind.Module) {
// Set the node name with its parent namespace
node.name = parent ? parent.name + '.' + node.name : node.name;
}
exportedConstructs.push(node);
}
}
this.constructs.push(new TSConstruct(node));
createAnchor(node);
let title = TSHelper.getNodeTitle(node);
this.sections.push({
title: title,
anchor: node.anchorId,
depth: 3,
});
// build sections for children
let children = node.children;
if (
(node.kind === ReflectionKind.Class ||
node.kind === ReflectionKind.Interface ||
node.kind === ReflectionKind.ObjectLiteral ||
node.kind === ReflectionKind.Module ||
node.kind === ReflectionKind.Enum) &&
children &&
children.length > 0
) {
children.forEach((child: Node) => {
if (
child.inheritedFrom ||
child.flags.isPrivate ||
child.flags.isProtected
) {
child.shouldDocument = false;
} else {
// This is needed in UI, good to keep the eligibility logic at one place
child.shouldDocument = true;
processMarkdown(child);
child.parent = node;
createAnchor(child);
this.constructs.push(new TSConstruct(node));
createAnchor(node);
let title = TSHelper.getNodeTitle(node);
this.sections.push({
title: title,
anchor: node.anchorId,
depth: 3,
});
// build sections for children
let children = node.children;
if (
(node.kind === ReflectionKind.Class ||
node.kind === ReflectionKind.Interface ||
node.kind === ReflectionKind.ObjectLiteral ||
node.kind === ReflectionKind.Module ||
node.kind === ReflectionKind.Enum) &&
children &&
children.length > 0
) {
children.forEach((child: Node) => {
if (
child.inheritedFrom ||
child.flags.isPrivate ||
child.flags.isProtected
) {
child.shouldDocument = false;
} else {
// This is needed in UI, good to keep the eligibility logic at one place
child.shouldDocument = true;
processMarkdown(child);
child.parent = node;
createAnchor(child);
function getNavigationGroup(reflection: DeclarationReflection) {
if (reflection.kind === ReflectionKind.ExternalModule) {
return externalModulesNavigation;
}
if (reflection.kind === ReflectionKind.Module) {
return modulesNavigation;
}
if (reflection.kind === ReflectionKind.Class) {
return classesNavigation;
}
if (reflection.kind === ReflectionKind.Enum) {
return enumsNavigation;
}
if (reflection.kind === ReflectionKind.Interface) {
return interfacesNavigation;
}
return null;
}