Files
picoGraph/scripts/nodes/library/system/stop.js
Max Litruv Boonzaayer e64f3e881e Initial commit
moved from private version control
2025-10-19 21:12:41 +11:00

33 lines
1.0 KiB
JavaScript

import { createNodeModule } from "../../nodeTypes.js";
/**
* Stops the cart and optionally prints a message to the console.
*/
export const stopNode = createNodeModule(
{
id: "system_stop",
title: "Stop",
category: "System",
description: "Stop the current cart and optionally print a message.",
searchTags: ["stop", "halt", "exit", "system"],
inputs: [
{ id: "exec_in", name: "Exec", direction: "input", kind: "exec" },
{ id: "message", name: "Message", direction: "input", kind: "string" },
],
outputs: [
{ id: "exec_out", name: "Exec", direction: "output", kind: "exec" },
],
properties: [],
},
{
emitExec: ({ indent, indentLevel, resolveValueInput, emitNextExec }) => {
const OMIT = "__pg_omit__";
const message = resolveValueInput("message", OMIT);
const call = message === OMIT ? "stop()" : `stop(${message})`;
const lines = [`${indent(indentLevel)}${call}`];
lines.push(...emitNextExec("exec_out"));
return lines;
},
}
);