UNPKG

@manuth/woltlab-compiler

Version:

A compiler for generating WoltLab-Package `.tar` Archives and other WoltLab-Package Components

106 lines (105 loc) 2.31 kB
import { INode } from "./Generic/INode.js"; import { INodeOptions } from "./INodeOptions.js"; import { NodeItem } from "./NodeItem.js"; /** * Represents a node. * * @template TItem * The type of the node-item. * * @template TOptions * The type of the options for generating nodes. */ export declare class Node<TItem extends NodeItem, TOptions> implements INode<TItem> { /** * The id of the node. */ private id; /** * The name of the node. */ private name; /** * The item of the node. */ private item; /** * The parent of the node. */ private parent; /** * The children of the node. */ private nodes; /** * Initializes a new instance of the {@link Node `Node<TItem, TOptions>`} class. * * @param options * The options for generating the object. * * @param generator * The generator-function for generating sub-nodes. */ constructor(options: INodeOptions<TOptions>, generator: (node: Node<TItem, TOptions>, options: TOptions) => TItem); /** * Gets the parents of the node. */ protected get Parents(): Array<Node<TItem, TOptions>>; /** * Gets or sets the id of the node. */ get ID(): string; /** * @inheritdoc */ set ID(value: string); /** * Gets or sets the name of the node. */ get Name(): string; /** * @inheritdoc */ set Name(value: string); /** * Gets the full name of the node. */ get FullName(): string; /** * @inheritdoc */ get Item(): TItem; /** * @inheritdoc */ get Parent(): Node<TItem, TOptions>; /** * @inheritdoc */ set Parent(value: Node<TItem, TOptions>); /** * @inheritdoc */ get Nodes(): Array<Node<TItem, TOptions>>; /** * @inheritdoc * * @returns * All nodes inside this node. */ GetAllNodes(): Array<Node<TItem, TOptions>>; /** * @inheritdoc * * @returns * The objects of the node. */ GetObjects(): Record<string, unknown>; /** * Returns a string which represents the current object. * * @returns * A string which represents the object. */ toString(): string; }