export default async function()

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,
  };
}