UNPKG

@manuth/woltlab-compiler

Version:

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

39 lines (38 loc) 1.33 kB
import { Node } from "../../../NodeSystem/Node.js"; import { NodeItem } from "../../../NodeSystem/NodeItem.js"; import { Instruction } from "../Instruction.js"; import { INodeSystemInstruction } from "./INodeSystemInstruction.js"; import { INodeSystemInstructionOptions } from "./INodeSystemInstructionOptions.js"; /** * Represents an instruction which provides nodes. * * @template TItem * The type of the nodes. * * @template TOptions * The type of the options for generating nodes. */ export declare abstract class NodeSystemInstruction<TItem extends NodeItem, TOptions> extends Instruction implements INodeSystemInstruction<TItem> { /** * The nodes provides by the instruction. */ private nodes; /** * Initializes a new instance of the {@link NodeSystemInstruction `NodeSystemInstruction<TItem, TOptions>`} class. * * @param options * The options for generating the object. * * @param generator * The generator-function for generating sub-nodes. */ constructor(options: INodeSystemInstructionOptions<TOptions>, generator: (node: Node<TItem, TOptions>, options: TOptions) => TItem); /** * @inheritdoc */ get Nodes(): Array<Node<TItem, TOptions>>; /** * @inheritdoc */ get ObjectsByID(): Record<string, unknown>; }