Return a child by its name.
The name hierarchy of the child to look for.
The found child or undefined.
Return a list of all children of a certain kind.
The desired kind of children.
An array containing all children with the desired kind.
Return the full name of this reflection. Intended for use in debugging. For log messages intended to be displayed to the user for them to fix, prefer getFriendlyFullName instead.
The full name contains the name of this reflection and the names of all parent reflections.
Separator used to join the names of the reflections.
The full name of this reflection.
Gets the reflection registered for the given reflection ID, or undefined if it is not present in the project.
Internal
Gets the reflection associated with the given symbol, if it exists.
Internal
Gets the reflection associated with the given symbol id, if it exists. If there are multiple reflections associated with this symbol, gets the first one.
Return a list of all reflections in this project of a certain kind.
The desired kind of reflection.
An array containing all reflections with the desired kind.
Internal
Internal
THIS MAY NOT BE USED AFTER CONVERSION HAS FINISHED.
Internal
Return whether this reflection is the root / project reflection.
Test whether this reflection is of the given kind.
Internal
Registers the given reflection so that it can be quickly looked up by helper methods. Should be called for every reflection added to the project.
Internal
Removes a reflection from the documentation. Can be used by plugins to filter reflections out of the generated documentation. Has no effect if the reflection is not present in the project.
Set a flag on this reflection.
Traverse most potential child reflections of this reflection.
Note: This may not necessarily traverse child reflections contained within the type
property
of the reflection, and should not be relied on for this. Support for checking object types will likely be removed in v0.27.
The given callback will be invoked for all children, signatures and type parameters attached to this reflection.
The callback function that should be applied for each child reflection.
Readonly
filesObject which describes where to find content for relative links.
Unique id of this reflection.
The kind of this reflection.
The symbol name of this reflection.
A list of all reflections within the project. DO NOT MUTATE THIS OBJECT. All mutation should be done via registerReflection and removeReflection to ensure that links to reflections remain valid.
This may be replaced with a Map<number, Reflection>
someday.
Readonly
variantDiscriminator representing the type of reflection represented by this object.
Optional
anchorThe name of the anchor of this child. TODO: Reflections shouldn't know anchors exist. Move this to a serializer.
Optional
categoriesAll children grouped by their category.
Optional
childrenThe children of this reflection. Do not add reflections to this array manually. Instead call addChild.
Optional
childrenOptional
commentThe parsed documentation comment attached to this reflection.
Optional
documentsDocuments associated with this reflection.
These are not children as including them as children requires code handle both types, despite being mostly unrelated and handled separately.
Including them here in a separate array neatly handles that problem, but also introduces another one for rendering. When rendering, documents should really actually be considered part of the "children" of a reflection. For this reason, we also maintain a list of child declarations with child documents which is used when rendering.
Optional
groupsAll children grouped by their kind.
Optional
hasIs the url pointing to an individual document?
When FALSE, the url points to an anchor tag on a page of a different reflection. TODO: Reflections shouldn't know how they are rendered. Move this to the correct serializer.
Optional
packageThe name of the package that this reflection documents according to package.json.
Optional
packageThe version of the package that this reflection documents according to package.json.
Optional
parentThe reflection this reflection is a child of.
Optional
readmeThe contents of the readme.md file of the project when found.
Optional
urlThe url of this reflection in the generated documentation. TODO: Reflections shouldn't know urls exist. Move this to a serializer.
A reflection that represents the root of the project.
The project reflection acts as a global index, one may receive all reflections and source files of the processed project through this reflection.