UNPKG

@reliverse/rse-sdk

Version:

@reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).

33 lines (32 loc) 929 B
import { relinka } from "@reliverse/relinka"; import { confirmPrompt } from "@reliverse/rempts"; export async function decide(config, behaviorKey, title, content, defaultValue, skipPrompts) { try { let behavior = config?.[behaviorKey] ?? "prompt"; if (skipPrompts && behavior === "prompt") { behavior = "autoYes"; } switch (behavior) { case "autoYes": relinka("verbose", `Auto-answering YES to: "${title}"`); return true; case "autoNo": relinka("verbose", `Auto-answering NO to: "${title}"`); return false; // default is "prompt": default: return await confirmPrompt({ title, content: content ?? "", defaultValue }); } } catch (error) { relinka( "error", "Failed to get decision:", error instanceof Error ? error.message : String(error) ); return defaultValue; } }