@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
JavaScript
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;
}
}