/**
* Exports header metadata for scheduled runs.
* @param {Array<Object>} runs An array of scheduled run objects.
* @returns {string} A string containing the formatted header metadata.
*/
function exportHeaderMetadata(runs) {
if (!Array.isArray(runs)) {
return "Error: Input must be an array."; // Handle invalid input
}
let output = "";
for (let i = 0; i < runs.length; i++) {
const run = runs[i];
if (typeof run !== 'object' || run === null) {
output += "Error: Invalid run object at index " + i + "\n"; // Handle invalid run objects
continue;
}
if (!run.headers) {
output += "Warning: No headers found for run " + i + "\n"; // Handle missing headers
continue;
}
output += `--- Run ${i + 1} Metadata ---\n`; // Indicate start of run metadata
for (const headerName in run.headers) {
if (run.headers.hasOwnProperty(headerName)) {
const headerValue = run.headers[headerName];
output += ` ${headerName}: ${JSON.stringify(headerValue)}\n`; // Format header and value
}
}
output += "\n"; // Add a newline between runs
}
return output;
}
Add your comment