import { CliOptions } from "~/core/configuration/types"; import { CommitBuilder } from "~/modules/commit/builder/CommitBuilder"; import { CommitType } from "~/modules/commit/types"; import { BaseConventionalHandler } from "../BaseConventionalHandler"; export class ConventionalTypeHandler extends BaseConventionalHandler { protected async processInput(commitBuilder: CommitBuilder): Promise { const types = this.configurationManager.getConventionalCliOptionsTypes(); if (types.length === 0) { throw new Error("No conventional commit types defined in configuration!"); } const commitType = await this.selectCommitType(types); commitBuilder.withType(commitType); } private async selectCommitType(types: CliOptions[]): Promise { const commitType = await this.promptManager.select({ message: "Select commit type:", options: types, abortMessage: "Commit type selection aborted!", }); return { message: commitType, }; } }