Template base para proyectos SaaS multi-tenant. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React/Vite) - apps/database (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
|
|
// See LICENSE in the project root for license information.
|
|
import { DocNode } from './DocNode';
|
|
/**
|
|
* DocNodeContainer is the base class for DocNode classes that allow arbitrary child nodes to be added by the consumer.
|
|
* The child classes are {@link DocParagraph} and {@link DocSection}.
|
|
*/
|
|
export class DocNodeContainer extends DocNode {
|
|
/**
|
|
* Don't call this directly. Instead use {@link TSDocParser}
|
|
* @internal
|
|
*/
|
|
constructor(parameters, childNodes) {
|
|
super(parameters);
|
|
this._nodes = [];
|
|
if (childNodes !== undefined && childNodes.length > 0) {
|
|
this.appendNodes(childNodes);
|
|
}
|
|
}
|
|
/**
|
|
* The nodes that were added to this container.
|
|
*/
|
|
get nodes() {
|
|
return this._nodes;
|
|
}
|
|
/**
|
|
* Append a node to the container.
|
|
*/
|
|
appendNode(docNode) {
|
|
if (!this.configuration.docNodeManager.isAllowedChild(this.kind, docNode.kind)) {
|
|
throw new Error(`The TSDocConfiguration does not allow a ${this.kind} node to` +
|
|
` contain a node of type ${docNode.kind}`);
|
|
}
|
|
this._nodes.push(docNode);
|
|
}
|
|
/**
|
|
* Append nodes to the container.
|
|
*/
|
|
appendNodes(docNodes) {
|
|
for (const docNode of docNodes) {
|
|
this.appendNode(docNode);
|
|
}
|
|
}
|
|
/**
|
|
* Remove all nodes from the container.
|
|
*/
|
|
clearNodes() {
|
|
this._nodes.length = 0;
|
|
}
|
|
/** @override */
|
|
onGetChildNodes() {
|
|
return this._nodes;
|
|
}
|
|
}
|
|
//# sourceMappingURL=DocNodeContainer.js.map
|