UNPKG

@manuth/woltlab-compiler

Version:

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

69 lines (68 loc) 1.97 kB
import { IInstruction } from "../../../PackageSystem/Instructions/IInstruction.js"; import { Compiler } from "../../Compiler.js"; /** * Provides the functionality to compile an instruction. * * @template T * The type of the instruction which can be compiled by this compiler. */ export declare class InstructionCompiler<T extends IInstruction> extends Compiler<T> { /** * Initializes a new instance of the {@link InstructionCompiler `InstructionCompiler<T>`} class. * * @param instruction * The instruction to compile. */ constructor(instruction: T); /** * Gets the name of the file to write the compiled item to. */ get DestinationFileName(): string; /** * Returns an xml-{@link Document `Document`} which represents the compiled instruction. * * @returns * The serialized document. */ Serialize(): Document; /** * @inheritdoc */ protected Compile(): Promise<void>; /** * Copies files using `ejs`. * * @param source * The source to copy the files from. * * @param destination * The destination to copy the files to. * * @param context * The context to use. * * @param delimiter * The delimiter of the ejs-tags. */ protected CopyTemplate(source: string, destination: string, context?: Record<string, unknown>, delimiter?: string): Promise<void>; /** * Joins the paths and returns the path contained by the package-folder. * * @param path * The path that is to be joined. * * @returns * The joined path relative to the package-folder. */ protected MakePackagePath(...path: string[]): string; /** * @inheritdoc * * @param path * The path that is to be joined. * * @returns * The joined path relative to the destination-folder. */ protected MakeDestinationPath(...path: string[]): string; }