UNPKG

@manuth/generator-wsc-package

Version:

A Generator for WoltLab Suite Core Packages.

107 lines (106 loc) 3.8 kB
/// <reference types="yeoman-generator" /> import { GeneratorOptions, IFileMapping, Question } from "@manuth/extended-yo-generator"; import { IPathQuestion, SetQuestion } from "@manuth/generator-ts-project"; import { AsyncDynamicQuestionProperty, ListQuestion } from "inquirer"; import { FileUploadComponentBase } from "../../../Components/FileUploadComponentBase.js"; import { IApplicationQuestion } from "../../../Components/Inquiry/Prompts/IApplicationQuestion.js"; import { IWoltLabSettings } from "../../../Settings/IWoltLabSettings.js"; import { WoltLabGenerator } from "../../../WoltLabGenerator.js"; import { IPHPScriptComponentOptions } from "../Settings/IPHPScriptComponentOptions.js"; /** * Provides a component for uploading or executing php-scripts. * * @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 PHPScriptComponent<TSettings extends IWoltLabSettings, TOptions extends GeneratorOptions, TComponentOptions extends IPHPScriptComponentOptions> extends FileUploadComponentBase<TSettings, TOptions, TComponentOptions> { /** * Initializes a new instance of the {@link PHPScriptComponent `PHPScriptComponent<TSettings, TOptions, TComponentOptions>`} class. * * @param generator * The generator of the component. */ constructor(generator: WoltLabGenerator<TSettings, TOptions>); /** * @inheritdoc */ get ID(): string; /** * @inheritdoc */ get DisplayName(): string; /** * @inheritdoc */ protected get DefaultSourceBaseName(): string; /** * Gets a question for asking whether the script-file is self-contained. */ protected get ScriptTypeQuestion(): ListQuestion<TComponentOptions>; /** * @inheritdoc */ protected get AppQuestion(): IApplicationQuestion<TComponentOptions>; /** * Gets a question for asking for the existing script's location. */ protected get LocationQuestion(): SetQuestion<TComponentOptions, TSettings>; /** * @inheritdoc */ protected get SourceQuestion(): IPathQuestion<TComponentOptions>; /** * @inheritdoc */ protected get ComponentOptionQuestionCollection(): Array<Question<TComponentOptions>>; /** * @inheritdoc */ protected get InstructionFileMapping(): IFileMapping<TSettings, TOptions>; /** * @inheritdoc */ get FileMappings(): Array<IFileMapping<TSettings, TOptions>>; /** * @inheritdoc * * @param options * The options which have been provided by the user. * * @returns * The name of the instruction-class. */ protected GetClassName(options: TComponentOptions): string; /** * @inheritdoc * * @param options * The options of the component. * * @returns * The default full name of the path to suggest in the {@link PHPScriptComponent.SourceQuestion `SourceQuestion`}. */ protected GetDefaultSource(options: TComponentOptions): string; /** * Gets a predicate for checking whether the php-script is self-contained. * * @param options * The options provided by the user. * * @param expected * A value indicating whether the php-script must be self-contained for passing the predicate. * * @param base * The base of the predicate. * * @returns * A predicate for checking whether the php-script is self-contained. */ protected GetSelfContainedPredicate(options: TComponentOptions, expected: boolean, base?: AsyncDynamicQuestionProperty<boolean, TComponentOptions>): Promise<boolean>; }