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

34 lines
1.0 KiB
JavaScript

import { createNodeModule } from "../../nodeTypes.js";
/**
* Restarts the current program from the beginning.
*/
export const runNode = createNodeModule(
{
id: "system_run",
title: "Run",
category: "System",
description:
"Restart the program optionally providing a parameter string accessible via stat(6).",
searchTags: ["run", "launch", "cartridge", "system"],
inputs: [
{ id: "exec_in", name: "Exec", direction: "input", kind: "exec" },
{ id: "param", name: "Param String", 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 param = resolveValueInput("param", OMIT);
const call = param === OMIT ? "run()" : `run(${param})`;
const lines = [`${indent(indentLevel)}${call}`];
lines.push(...emitNextExec("exec_out"));
return lines;
},
}
);