UNPKG

@manuth/woltlab-compiler

Version:

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

83 lines (82 loc) 2.64 kB
import { INamedObject } from "../../../INamedObject.js"; import { Node } from "../../../NodeSystem/Node.js"; import { Category } from "../../../Options/Category.js"; import { Option } from "../../../Options/Option.js"; import { ILocalizationInstruction } from "../Globalization/ILocalizationInstruction.js"; import { NodeSystemInstruction } from "../NodeSystem/NodeSystemInstruction.js"; import { IOptionInstruction } from "./IOptionInstruction.js"; import { IOptionInstructionOptions } from "./IOptionInstructionOptions.js"; /** * Represents an instruction which provides options. * * @template TCategory * The type of the categories. * * @template TCategoryOptions * The type of the options for generating categories. * * @template TOption * The type of the options. * * @template TOptionOptions * The type of the data for generating options. */ export declare abstract class OptionInstruction<TCategory extends Category<TOption, TOptionOptions>, TCategoryOptions, TOption extends Option, TOptionOptions> extends NodeSystemInstruction<TCategory, TCategoryOptions> implements IOptionInstruction<TCategory, TOption>, ILocalizationInstruction { /** * The categories to delete. */ private categoriesToDelete; /** * The options to delete. */ private optionsToDelete; /** * The path to save the translations to. Gets the path to save the translations to. */ private translationDirectory; /** * Initializes a new instance of the {@link OptionInstruction `OptionInstruction<TCategory, TCategoryOptions, TOption, TOptionOptions>`} class. * * @param options * The options of the option-instruction. * * @param generator * A component for creating categories. */ constructor(options: IOptionInstructionOptions<TCategoryOptions>, generator: (node: Node<TCategory, TCategoryOptions>, options: TCategoryOptions) => TCategory); /** * @inheritdoc */ get TranslationDirectory(): string; /** * @inheritdoc */ set TranslationDirectory(value: string); /** * @inheritdoc */ abstract get RootCategory(): string; /** * @inheritdoc */ get OptionCategory(): string; /** * @inheritdoc */ get CategoryCategory(): string; /** * @inheritdoc */ get CategoriesToDelete(): INamedObject[]; /** * @inheritdoc */ get OptionsToDelete(): INamedObject[]; /** * @inheritdoc * * @returns * The messages of the options-instruction. */ GetMessages(): Record<string, Record<string, Record<string, string>>>; }