Added debug node for the debugging and logging

This commit is contained in:
Ankitkumar Satapara
2026-04-19 00:52:41 +05:30
parent e2c43af907
commit a42e71af5e
4 changed files with 62 additions and 1 deletions

View File

@@ -428,6 +428,33 @@ namespace Nodify.Calculator
OnLogMe?.Invoke($"Auth node resolved. Base URL: {_authBaseUrl}, Auth Type: {_authType}");
return;
}
if (op is SystemOperationViewModel debugSysOp && debugSysOp.SystemOperationType == SystemOperations.DEBUG)
{
// Find the data input connection (non-triangle)
var debugInputCons = connections.Where(c => c.Input.Operation == op && c.Input.Shape != ConnectorShape.Triangle).ToList();
if (debugInputCons.Any())
{
var sourceConn = debugInputCons.First();
var sourceNodeId = sourceConn.Output.Operation.NodeId;
if (outputs.TryGetValue(sourceNodeId, out var debugVal))
{
OnLogMe?.Invoke($"[DEBUG] {debugVal}");
}
else if (sourceConn.Output.Value != null)
{
OnLogMe?.Invoke($"[DEBUG] {sourceConn.Output.Value}");
}
else
{
OnLogMe?.Invoke($"[DEBUG] (no value)", logType.Warning);
}
}
else
{
OnLogMe?.Invoke($"[DEBUG] No input connected", logType.Warning);
}
return;
}
// Handle Function nodes — execute the inner flow
if (op is FunctionOperationViewModel funcOp)

View File

@@ -234,6 +234,10 @@ namespace Nodify.Calculator
case SystemOperations.END:
info.Input.Add(""); // flow input only
break;
case SystemOperations.DEBUG:
info.Input.Add("Value");
info.IsFlowNode = true;
break;
case SystemOperations.TAKE:
info.Input.Add("List");
break;

View File

@@ -99,8 +99,18 @@ namespace Nodify.Calculator
authNode.Input.Add("Username");
authNode.Input.Add("Password");
var debugNode = new OperationInfoViewModel()
{
Title = "Debug",
Type = OperationType.System,
sysOp = SystemOperations.DEBUG,
IsFlowNode = true
};
debugNode.Input.Add("Value");
systemNodes.Add(authNode);
systemNodes.Add(copynode);
systemNodes.Add(debugNode);
systemNodes.Add(begin);
systemNodes.Add(ending);
systemNodes.Add(debugAndCreateModels);
@@ -321,6 +331,25 @@ namespace Nodify.Calculator
return funcOp;
}
if (info.sysOp == SystemOperations.DEBUG)
{
var debugOp = new SystemOperationViewModel
{
Title = info.Title,
SystemOperationType = SystemOperations.DEBUG
};
// Flow connectors
debugOp.Input.Add(new ConnectorViewModel { Title = "", Shape = ConnectorShape.Triangle });
debugOp.Output.Add(new ConnectorViewModel { Title = "", Shape = ConnectorShape.Triangle, IsInput = false });
// Data input
foreach (var inp in input)
{
inp.ConnectorColor = Color.LimeGreen;
debugOp.Input.Add(inp);
}
return debugOp;
}
if (info.sysOp == SystemOperations.AUTH)
{
var authOp = new AuthOperationViewModel

View File

@@ -18,7 +18,8 @@ namespace Nodify.Calculator
PARSEJSON,
SPLIT,
AUTH,
FUNCTION
FUNCTION,
DEBUG
}
public class SystemOperationViewModel : OperationViewModel