description: string;
definition: string;
}
-export interface WorkflowResoruceDefinition {
+export interface WorkflowResourceDefinition {
cwlVersion: string;
- $graph: Array<Workflow | CommandLineTool>;
+ $graph?: Array<Workflow | CommandLineTool>;
}
export interface Workflow {
class: 'Workflow';
export type WorkflowInputsData = {
[key: string]: boolean | number | string | File | Directory;
};
-export const parseWorkflowDefinition = (workflow: WorkflowResource): WorkflowResoruceDefinition => {
+export const parseWorkflowDefinition = (workflow: WorkflowResource): WorkflowResourceDefinition => {
const definition = safeLoad(workflow.definition);
return definition;
};
-export const getWorkflowInputs = (workflowDefinition: WorkflowResoruceDefinition) => {
+export const getWorkflowInputs = (workflowDefinition: WorkflowResourceDefinition) => {
+ if (!workflowDefinition.$graph) { return undefined; }
const mainWorkflow = workflowDefinition.$graph.find(item => item.class === 'Workflow' && item.id === '#main');
return mainWorkflow
? mainWorkflow.inputs
: undefined;
};
+
export const getInputLabel = (input: CommandInputParameter) => {
return `${input.label || input.id}`;
};