@manuth/woltlab-compiler
Version:
A compiler for generating WoltLab-Package `.tar` Archives and other WoltLab-Package Components
83 lines (82 loc) • 2.64 kB
TypeScript
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>>>;
}