fix: handle undefined data.outputs and outputName params in log utility functions (#5928)

🐛 (utils.ts): Fix logic in logHasMessage, logTypeIsUnknown, and logTypeIsError functions to correctly handle cases where outputs may be undefined or empty arrays.
This commit is contained in:
Cristhian Zanforlin Lousa 2025-01-28 09:28:38 -03:00 committed by GitHub
commit f6c8750d15
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -460,39 +460,42 @@ export const logHasMessage = (
data: VertexDataTypeAPI,
outputName: string | undefined,
) => {
if (!outputName) return;
const outputs = data?.outputs[outputName];
if (Array.isArray(outputs) && outputs.length > 1) {
return outputs.some((outputLog) => outputLog.message);
} else {
return outputs?.message;
if (!outputName || !data?.outputs) return false;
const outputs = data.outputs[outputName];
if (!outputs) return false;
if (Array.isArray(outputs) && outputs.length > 0) {
return outputs.some((outputLog) => outputLog?.message);
}
return outputs?.message;
};
export const logTypeIsUnknown = (
data: VertexDataTypeAPI,
outputName: string | undefined,
) => {
if (!outputName) return;
const outputs = data?.outputs[outputName];
if (Array.isArray(outputs) && outputs.length > 1) {
return outputs.some((outputLog) => outputLog.type === "unknown");
} else {
return outputs?.type === "unknown";
if (!outputName || !data?.outputs) return false;
const outputs = data.outputs[outputName];
if (!outputs) return false;
if (Array.isArray(outputs) && outputs.length > 0) {
return outputs.some((outputLog) => outputLog?.type === "unknown");
}
return outputs?.type === "unknown";
};
export const logTypeIsError = (
data: VertexDataTypeAPI,
outputName: string | undefined,
) => {
if (!outputName) return;
const outputs = data?.outputs[outputName];
if (Array.isArray(outputs) && outputs.length > 1) {
if (!outputName || !data?.outputs) return false;
const outputs = data.outputs[outputName];
if (!outputs) return false;
if (Array.isArray(outputs) && outputs.length > 0) {
return outputs.some((log) => isErrorLog(log));
} else {
return isErrorLog(outputs);
}
return isErrorLog(outputs);
};
export function isEndpointNameValid(name: string, maxLength: number): boolean {