UNPKG

@manuth/woltlab-compiler

Version:

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

35 lines (34 loc) 1.4 kB
import { ICategory } from "../../../Options/Generic/ICategory.js"; import { Option } from "../../../Options/Option.js"; import { IOptionInstruction } from "../../../PackageSystem/Instructions/Options/IOptionInstruction.js"; import { Compiler } from "../../Compiler.js"; import { LocalizationProviderCompiler } from "./LocalizationProviderCompiler.js"; /** * Provides the functionality to compile instructions which provide options for the control-panel. * * @template TInstruction * The type of the instruction which can be compiled by this compiler. * * @template TCategory * The type of the option-categories. * * @template TOption * The type of the options. */ export declare abstract class OptionInstructionCompiler<TInstruction extends IOptionInstruction<TCategory, TOption>, TCategory extends ICategory<TOption>, TOption extends Option> extends LocalizationProviderCompiler<TInstruction> { /** * Initializes a new instance of the {@link OptionInstructionCompiler `OptionInstructionCompiler<TInstruction, TCategory, TOption>`} class. * * @param instruction * The instruction to compile. */ constructor(instruction: TInstruction); /** * Gets a component for compiling the option-file. */ protected abstract get OptionFileCompiler(): Compiler<TInstruction>; /** * @inheritdoc */ protected Compile(): Promise<void>; }