in src/components/application/launch/utilities/process-workflow-sources.js [66:96]
export default async function ({script, inputs}, generateInputs) {
const promises = [];
if (script) {
promises.push(processWorkflowScript(script));
}
if (inputs) {
promises.push(processWorkflowInputs(inputs));
}
const values = await Promise.all(promises);
const result = values.reduce((obj, current) => {
obj.errors.push(current.error);
Object.keys(current)
.forEach((key) => {
obj[key] = current[key];
});
return obj;
}, {errors: []});
if (!inputs && generateInputs && result.wdlSource) {
const {error, workflow} = await fetchWorkflowDescription(result.wdlSource);
result.errors.push(error);
if (workflow && workflow.inputs && workflow.inputs.length) {
result.wdlInputs = workflow.inputs;
}
result.wdlSourceValid = workflow.valid;
result.wdlSourceErrors = workflow.errors || [];
}
return {
...result,
error: result.errors.filter(Boolean).length > 0 ? result.errors.join('\n') : undefined,
};
}