@manuth/generator-wsc-package
Version:
A Generator for WoltLab Suite Core Packages.
50 lines (49 loc) • 1.98 kB
TypeScript
/// <reference types="yeoman-generator" />
import { GeneratorOptions } from "@manuth/extended-yo-generator";
import { ObjectLiteralExpression, SourceFile } from "ts-morph";
import { InstructionComponent } from "../../../Components/InstructionComponent.js";
import { InstructionFileMapping } from "../../../FileMappings/InstructionFileMapping.js";
import { IWoltLabSettings } from "../../../Settings/IWoltLabSettings.js";
import { IThemeComponentOptions } from "../Settings/IThemeComponentOptions.js";
/**
* Provides the functionality to generate theme-instructions.
*
* @template TSettings
* The type of the settings of the generator.
*
* @template TOptions
* The type of the options of the generator.
*
* @template TComponentOptions
* The type of the options of the component.
*/
export declare class ThemeInstructionFileMapping<TSettings extends IWoltLabSettings, TOptions extends GeneratorOptions, TComponentOptions extends IThemeComponentOptions> extends InstructionFileMapping<TSettings, TOptions, TComponentOptions> {
/**
* Initializes a new instance of the {@link ThemeInstructionFileMapping `ThemeInstructionFileMapping<TSettings, TOptions, TComponentOptions>`} class.
*
* @param component
* The component to create an instruction-file for.
*/
constructor(component: InstructionComponent<TSettings, TOptions, TComponentOptions>);
/**
* @inheritdoc
*/
protected get InstructionOptions(): ObjectLiteralExpression;
/**
* @inheritdoc
*
* @param file
* The {@link SourceFile `SourceFile`} to transform.
*
* @returns
* The transformed file.
*/
protected Transform(file: SourceFile): Promise<SourceFile>;
/**
* Gets an {@link ObjectLiteralExpression `ObjectLiteralExpression`}-node.
*
* @returns
* The newly created {@link ObjectLiteralExpression `ObjectLiteralExpression`}.
*/
protected GetObjectLiteral(): ObjectLiteralExpression;
}