16073: Refactor process io loading into actions and reducers to eliminate infinite...
[arvados-workbench2.git] / src / store / processes / processes-actions.ts
index 1f672759a085bd339e76b5c659159fec83e46e72..458efa205f44104d59b9a20862215fa7ff131b06 100644 (file)
@@ -135,16 +135,19 @@ export const reRunProcess = (processUuid: string, workflowUuid: string) =>
 
 /*
  * Fetches raw inputs from containerRequest mounts with fallback to properties
+ * Returns undefined if containerRequest not loaded
+ * Returns [] if inputs not found in mounts or props
  */
 export const getRawInputs = (data: any): CommandInputParameter[] | undefined => {
     if (!data) { return undefined; }
     const mountInput = data.mounts?.[MOUNT_PATH_CWL_INPUT]?.content;
     const propsInput = data.properties?.cwl_input;
-    if (!mountInput && !propsInput) { return undefined; }
+    if (!mountInput && !propsInput) { return []; }
     return (mountInput || propsInput);
 }
 
 export const getInputs = (data: any): CommandInputParameter[] => {
+    // Definitions from mounts are needed so we return early if missing
     if (!data || !data.mounts || !data.mounts[MOUNT_PATH_CWL_WORKFLOW]) { return []; }
     const content  = getRawInputs(data) as any;
     if (!content) { return []; }
@@ -166,6 +169,7 @@ export const getInputs = (data: any): CommandInputParameter[] => {
 
 /*
  * Fetches raw outputs from containerRequest properties
+ * Assumes containerRequest is loaded
  */
 export const getRawOutputs = (data: any): CommandInputParameter[] | undefined => {
     if (!data || !data.properties || !data.properties.cwl_output) { return undefined; }