@nfdi4plants/arctrl 3.0.0-beta.12 → 3.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +30 -3
  2. package/dist/ts/index.d.ts +15 -15
  3. package/dist/ts/index.d.ts.map +1 -1
  4. package/dist/ts/index.js +16 -16
  5. package/dist/ts/ts/ARC.d.ts +6 -1
  6. package/dist/ts/ts/ARC.d.ts.map +1 -1
  7. package/dist/ts/ts/ARC.js +30 -6
  8. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts +19 -0
  9. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts.map +1 -0
  10. package/dist/ts/ts/CWL/CWLProcessingUnit.js +26 -0
  11. package/dist/ts/ts/CWL/CWLTypes.d.ts +92 -0
  12. package/dist/ts/ts/CWL/CWLTypes.d.ts.map +1 -0
  13. package/dist/ts/ts/CWL/CWLTypes.js +173 -0
  14. package/dist/ts/ts/CWL/Decode.d.ts +94 -0
  15. package/dist/ts/ts/CWL/Decode.d.ts.map +1 -0
  16. package/dist/ts/ts/CWL/Decode.js +649 -0
  17. package/dist/ts/ts/CWL/Encode.d.ts +28 -0
  18. package/dist/ts/ts/CWL/Encode.d.ts.map +1 -0
  19. package/dist/ts/ts/CWL/Encode.js +546 -0
  20. package/dist/ts/ts/CWL/HashHelpers.d.ts +9 -0
  21. package/dist/ts/ts/CWL/HashHelpers.d.ts.map +1 -0
  22. package/dist/ts/ts/CWL/HashHelpers.js +35 -0
  23. package/dist/ts/ts/CWL/Inputs.d.ts +28 -0
  24. package/dist/ts/ts/CWL/Inputs.d.ts.map +1 -0
  25. package/dist/ts/ts/CWL/Inputs.js +62 -0
  26. package/dist/ts/ts/CWL/Outputs.d.ts +25 -0
  27. package/dist/ts/ts/CWL/Outputs.d.ts.map +1 -0
  28. package/dist/ts/ts/CWL/Outputs.js +59 -0
  29. package/dist/ts/ts/CWL/ParameterReference.d.ts +23 -0
  30. package/dist/ts/ts/CWL/ParameterReference.d.ts.map +1 -0
  31. package/dist/ts/ts/CWL/ParameterReference.js +60 -0
  32. package/dist/ts/ts/CWL/Requirements.d.ts +71 -0
  33. package/dist/ts/ts/CWL/Requirements.d.ts.map +1 -0
  34. package/dist/ts/ts/CWL/Requirements.js +116 -0
  35. package/dist/ts/ts/CWL/ToolDescription.d.ts +33 -0
  36. package/dist/ts/ts/CWL/ToolDescription.d.ts.map +1 -0
  37. package/dist/ts/ts/CWL/ToolDescription.js +80 -0
  38. package/dist/ts/ts/CWL/WorkflowDescription.d.ts +34 -0
  39. package/dist/ts/ts/CWL/WorkflowDescription.d.ts.map +1 -0
  40. package/dist/ts/ts/CWL/WorkflowDescription.js +80 -0
  41. package/dist/ts/ts/CWL/WorkflowSteps.d.ts +45 -0
  42. package/dist/ts/ts/CWL/WorkflowSteps.d.ts.map +1 -0
  43. package/dist/ts/ts/CWL/WorkflowSteps.js +99 -0
  44. package/dist/ts/ts/Contract/ARC.d.ts.map +1 -1
  45. package/dist/ts/ts/Contract/ARC.js +27 -9
  46. package/dist/ts/ts/Contract/ArcRun.d.ts +6 -0
  47. package/dist/ts/ts/Contract/ArcRun.d.ts.map +1 -1
  48. package/dist/ts/ts/Contract/ArcRun.js +131 -4
  49. package/dist/ts/ts/Contract/ArcWorkflow.d.ts +3 -0
  50. package/dist/ts/ts/Contract/ArcWorkflow.d.ts.map +1 -1
  51. package/dist/ts/ts/Contract/ArcWorkflow.js +70 -4
  52. package/dist/ts/ts/ContractIO/ContractIO.d.ts.map +1 -1
  53. package/dist/ts/ts/ContractIO/ContractIO.js +3 -1
  54. package/dist/ts/ts/Conversion/Assay.d.ts +13 -0
  55. package/dist/ts/ts/Conversion/Assay.d.ts.map +1 -0
  56. package/dist/ts/ts/Conversion/Assay.js +69 -0
  57. package/dist/ts/ts/Conversion/Basic.d.ts +105 -0
  58. package/dist/ts/ts/Conversion/Basic.d.ts.map +1 -0
  59. package/dist/ts/ts/Conversion/Basic.js +452 -0
  60. package/dist/ts/ts/Conversion/ColumnIndex.d.ts +10 -0
  61. package/dist/ts/ts/Conversion/ColumnIndex.d.ts.map +1 -0
  62. package/dist/ts/ts/Conversion/ColumnIndex.js +52 -0
  63. package/dist/ts/ts/Conversion/Datamap.d.ts +11 -0
  64. package/dist/ts/ts/Conversion/Datamap.d.ts.map +1 -0
  65. package/dist/ts/ts/Conversion/Datamap.js +21 -0
  66. package/dist/ts/ts/Conversion/DateTime.d.ts +4 -0
  67. package/dist/ts/ts/Conversion/DateTime.d.ts.map +1 -0
  68. package/dist/ts/ts/Conversion/DateTime.js +23 -0
  69. package/dist/ts/ts/Conversion/Investigation.d.ts +12 -0
  70. package/dist/ts/ts/Conversion/Investigation.d.ts.map +1 -0
  71. package/dist/ts/ts/Conversion/Investigation.js +59 -0
  72. package/dist/ts/ts/Conversion/Person.d.ts +16 -0
  73. package/dist/ts/ts/Conversion/Person.d.ts.map +1 -0
  74. package/dist/ts/ts/Conversion/Person.js +100 -0
  75. package/dist/ts/ts/Conversion/Process.d.ts +84 -0
  76. package/dist/ts/ts/Conversion/Process.d.ts.map +1 -0
  77. package/dist/ts/ts/Conversion/Process.js +455 -0
  78. package/dist/ts/ts/Conversion/Run.d.ts +26 -0
  79. package/dist/ts/ts/Conversion/Run.d.ts.map +1 -0
  80. package/dist/ts/ts/Conversion/Run.js +190 -0
  81. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts +16 -0
  82. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts.map +1 -0
  83. package/dist/ts/ts/Conversion/ScholarlyArticle.js +116 -0
  84. package/dist/ts/ts/Conversion/Study.d.ts +12 -0
  85. package/dist/ts/ts/Conversion/Study.d.ts.map +1 -0
  86. package/dist/ts/ts/Conversion/Study.js +51 -0
  87. package/dist/ts/ts/Conversion/Table.d.ts +45 -0
  88. package/dist/ts/ts/Conversion/Table.d.ts.map +1 -0
  89. package/dist/ts/ts/Conversion/Table.js +203 -0
  90. package/dist/ts/ts/Conversion/Workflow.d.ts +45 -0
  91. package/dist/ts/ts/Conversion/Workflow.d.ts.map +1 -0
  92. package/dist/ts/ts/Conversion/Workflow.js +305 -0
  93. package/dist/ts/ts/Conversion.d.ts +23 -274
  94. package/dist/ts/ts/Conversion.d.ts.map +1 -1
  95. package/dist/ts/ts/Conversion.js +62 -1475
  96. package/dist/ts/ts/Core/ArcTypes.d.ts +48 -38
  97. package/dist/ts/ts/Core/ArcTypes.d.ts.map +1 -1
  98. package/dist/ts/ts/Core/ArcTypes.js +183 -103
  99. package/dist/ts/ts/Core/Helper/Identifier.d.ts +24 -0
  100. package/dist/ts/ts/Core/Helper/Identifier.d.ts.map +1 -1
  101. package/dist/ts/ts/Core/Helper/Identifier.js +34 -1
  102. package/dist/ts/ts/FileSystem/FileSystemTree.d.ts +2 -2
  103. package/dist/ts/ts/FileSystem/FileSystemTree.d.ts.map +1 -1
  104. package/dist/ts/ts/FileSystem/FileSystemTree.js +8 -15
  105. package/dist/ts/ts/Json/ROCrate/LDContext.d.ts.map +1 -1
  106. package/dist/ts/ts/Json/ROCrate/LDContext.js +21 -11
  107. package/dist/ts/ts/Json/Run.js +2 -2
  108. package/dist/ts/ts/Json/Workflow.d.ts.map +1 -1
  109. package/dist/ts/ts/Json/Workflow.js +8 -9
  110. package/dist/ts/ts/ROCrate/LDContext.d.ts.map +1 -1
  111. package/dist/ts/ts/ROCrate/LDContext.js +35 -31
  112. package/dist/ts/ts/ROCrate/LDObject.d.ts +2 -2
  113. package/dist/ts/ts/ROCrate/LDObject.js +2 -2
  114. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.d.ts.map +1 -1
  115. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts +61 -0
  116. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts.map +1 -0
  117. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.js +338 -0
  118. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.d.ts +39 -0
  119. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.d.ts.map +1 -0
  120. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.js +219 -0
  121. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.d.ts +43 -0
  122. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.d.ts.map +1 -0
  123. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.js +224 -0
  124. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.d.ts.map +1 -1
  125. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Dataset.d.ts +32 -22
  126. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts.map +1 -0
  127. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Dataset.js +45 -0
  128. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.d.ts.map +1 -1
  129. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/File.d.ts +10 -4
  130. package/dist/ts/ts/ROCrate/LDTypes/File.d.ts.map +1 -0
  131. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/File.js +34 -1
  132. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.d.ts +59 -0
  133. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.d.ts.map +1 -0
  134. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.js +344 -0
  135. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProcess.d.ts +2 -0
  136. package/dist/ts/ts/ROCrate/LDTypes/LabProcess.d.ts.map +1 -0
  137. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProcess.js +31 -5
  138. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProtocol.d.ts +6 -2
  139. package/dist/ts/ts/ROCrate/LDTypes/LabProtocol.d.ts.map +1 -0
  140. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProtocol.js +66 -15
  141. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.d.ts.map +1 -1
  142. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.d.ts.map +1 -1
  143. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.d.ts.map +1 -1
  144. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PropertyValue.d.ts +35 -11
  145. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.d.ts.map +1 -0
  146. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PropertyValue.js +191 -1
  147. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.d.ts.map +1 -1
  148. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.d.ts.map +1 -1
  149. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.d.ts +46 -0
  150. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.d.ts.map +1 -0
  151. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.js +247 -0
  152. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.d.ts +12 -0
  153. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.d.ts.map +1 -0
  154. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.js +40 -0
  155. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.d.ts +11 -0
  156. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.d.ts.map +1 -0
  157. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.js +46 -0
  158. package/dist/ts/ts/ROCrate/ROCrateContext.d.ts +2 -2
  159. package/dist/ts/ts/ROCrate/ROCrateContext.d.ts.map +1 -1
  160. package/dist/ts/ts/ROCrate/ROCrateContext.js +6 -6
  161. package/dist/ts/ts/ROCrateIO.js +6 -6
  162. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +1 -1
  163. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.d.ts.map +1 -1
  164. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +4 -4
  165. package/dist/ts/ts/fable_modules/DynamicObj.7.1.0/DynObj.fs.js +109 -0
  166. package/package.json +1 -1
  167. package/dist/ts/ts/ROCrate/Generic/Dataset.d.ts.map +0 -1
  168. package/dist/ts/ts/ROCrate/Generic/File.d.ts.map +0 -1
  169. package/dist/ts/ts/ROCrate/Generic/LabProcess.d.ts.map +0 -1
  170. package/dist/ts/ts/ROCrate/Generic/LabProtocol.d.ts.map +0 -1
  171. package/dist/ts/ts/ROCrate/Generic/PropertyValue.d.ts.map +0 -1
  172. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.d.ts +0 -0
  173. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.js +0 -0
  174. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.d.ts +0 -0
  175. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.js +0 -0
  176. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.d.ts +0 -0
  177. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.js +0 -0
  178. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.d.ts +0 -0
  179. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.js +0 -0
  180. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.d.ts +0 -0
  181. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.js +0 -0
  182. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.d.ts +0 -0
  183. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.js +0 -0
  184. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.d.ts +0 -0
  185. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.js +0 -0
  186. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.d.ts +0 -0
  187. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.js +0 -0
  188. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/DynamicObj.fs.js +0 -0
  189. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/FableJS.fs.js +0 -0
  190. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/HashCodes.fs.js +0 -0
  191. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/PropertyHelper.fs.js +0 -0
  192. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/ReflectionUtils.fs.js +0 -0
@@ -0,0 +1,649 @@
1
+ import { getEnumerator, disposeSafe } from '../../node_modules/@fable-org/fable-library-js/Util.js';
2
+ import { YAMLElement_Sequence } from '../fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js';
3
+ import { setProperty, setOptionalProperty } from '../fable_modules/DynamicObj.7.1.0/DynObj.fs.js';
4
+ import { DynamicObj } from '../fable_modules/DynamicObj.7.1.0/DynamicObj.fs.js';
5
+ import { isEmpty, head, tail, iterate, map, empty, ofArray } from '../../node_modules/@fable-org/fable-library-js/List.js';
6
+ import { object, string, bool, map as map$1, resizearray, float, int, read } from '../fable_modules/YAMLicious.0.0.3/Decode.fs.js';
7
+ import { toFail, printf, toText, replace } from '../../node_modules/@fable-org/fable-library-js/String.js';
8
+ import { OutputBinding, CWLOutput } from './Outputs.js';
9
+ import { value, some } from '../../node_modules/@fable-org/fable-library-js/Option.js';
10
+ import { CWLType_Dirent, DirentInstance, CWLType_Array, CWLType_Boolean, CWLType_Double, CWLType_Float, CWLType_Long, CWLType_Int, CWLType_String, CWLType_Directory, DirectoryInstance_$ctor, CWLType_File, FileInstance_$ctor, CWLType_Stdout, CWLType_Null, SoftwarePackage, SchemaDefRequirementType_$ctor_541DA560 } from './CWLTypes.js';
11
+ import { toArray, delay, collect, append, empty as empty$1, singleton, item, length, map as map$2 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
12
+ import { getItemFromDict } from '../../node_modules/@fable-org/fable-library-js/MapUtil.js';
13
+ import { FSharpMap__get_Keys, FSharpMap__get_Values } from '../../node_modules/@fable-org/fable-library-js/Map.js';
14
+ import { DockerRequirement, EnvironmentDef, ResourceRequirementInstance_$ctor_D76FC00, Requirement_StepInputExpressionRequirement, Requirement_MultipleInputFeatureRequirement, Requirement_ScatterFeatureRequirement, Requirement_SubworkflowFeatureRequirement, Requirement_ToolTimeLimitRequirement, Requirement_InplaceUpdateRequirement, Requirement_NetworkAccessRequirement, Requirement_WorkReuseRequirement, Requirement_ResourceRequirement, Requirement_ShellCommandRequirement, Requirement_EnvVarRequirement, Requirement_InitialWorkDirRequirement, Requirement_SoftwareRequirement, Requirement_DockerRequirement, Requirement_SchemaDefRequirement, Requirement_InlineJavascriptRequirement } from './Requirements.js';
15
+ import { InputBinding, CWLInput } from './Inputs.js';
16
+ import { StepInput, StepOutput, WorkflowStep } from './WorkflowSteps.js';
17
+ import { CWLToolDescription } from './ToolDescription.js';
18
+ import { CWLWorkflowDescription } from './WorkflowDescription.js';
19
+ import { CWLProcessingUnit_Workflow, CWLProcessingUnit_CommandLineTool } from './CWLProcessingUnit.js';
20
+ import { CWLParameterReference } from './ParameterReference.js';
21
+
22
+ function ResizeArray_map(f, a) {
23
+ const b = [];
24
+ let enumerator = getEnumerator(a);
25
+ try {
26
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
27
+ const i = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
28
+ void b.push(f(i));
29
+ }
30
+ } finally {
31
+ disposeSafe(enumerator);
32
+ }
33
+ return b;
34
+ }
35
+ function Decode_overflowDecoder(dynObj, dict) {
36
+ let enumerator = getEnumerator(dict);
37
+ try {
38
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
39
+ const e = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
40
+ const matchValue = e[1];
41
+ let matchResult, v, s;
42
+ if (matchValue.tag === /* Object */
43
+ 3) {
44
+ if (!isEmpty(matchValue.fields[0])) {
45
+ switch (head(matchValue.fields[0]).tag) {
46
+ case /* Value */
47
+ 1: {
48
+ if (isEmpty(tail(matchValue.fields[0]))) {
49
+ matchResult = 0;
50
+ v = head(matchValue.fields[0]).fields[0];
51
+ } else {
52
+ matchResult = 2;
53
+ }
54
+ break;
55
+ }
56
+ case /* Sequence */
57
+ 2: {
58
+ if (isEmpty(tail(matchValue.fields[0]))) {
59
+ matchResult = 1;
60
+ s = head(matchValue.fields[0]).fields[0];
61
+ } else {
62
+ matchResult = 2;
63
+ }
64
+ break;
65
+ }
66
+ default:
67
+ matchResult = 2;
68
+ }
69
+ } else {
70
+ matchResult = 2;
71
+ }
72
+ } else {
73
+ matchResult = 2;
74
+ }
75
+ switch (matchResult) {
76
+ case 0: {
77
+ setProperty(e[0], v.Value, dynObj);
78
+ break;
79
+ }
80
+ case 1: {
81
+ const newDynObj = new DynamicObj();
82
+ iterate((x) => {
83
+ setProperty(e[0], x, dynObj);
84
+ }, map((arg) => Decode_overflowDecoder(newDynObj, object((get$) => get$.Overflow.FieldList(empty()), arg)), s));
85
+ break;
86
+ }
87
+ case 2: {
88
+ setProperty(e[0], e[1], dynObj);
89
+ break;
90
+ }
91
+ }
92
+ }
93
+ } finally {
94
+ disposeSafe(enumerator);
95
+ }
96
+ return dynObj;
97
+ }
98
+ function Decode_decodeStringOrExpression(yEle) {
99
+ let matchResult, v, c, v_1;
100
+ switch (yEle.tag) {
101
+ case /* Value */
102
+ 1: {
103
+ matchResult = 0;
104
+ v = yEle.fields[0];
105
+ break;
106
+ }
107
+ case /* Object */
108
+ 3: {
109
+ if (!isEmpty(yEle.fields[0])) {
110
+ switch (head(yEle.fields[0]).tag) {
111
+ case /* Value */
112
+ 1: {
113
+ if (isEmpty(tail(yEle.fields[0]))) {
114
+ matchResult = 0;
115
+ v = head(yEle.fields[0]).fields[0];
116
+ } else {
117
+ matchResult = 2;
118
+ }
119
+ break;
120
+ }
121
+ case /* Mapping */
122
+ 0: {
123
+ if (head(yEle.fields[0]).fields[1].tag === /* Object */
124
+ 3) {
125
+ if (!isEmpty(head(yEle.fields[0]).fields[1].fields[0])) {
126
+ if (head(head(yEle.fields[0]).fields[1].fields[0]).tag === /* Value */
127
+ 1) {
128
+ if (isEmpty(tail(head(yEle.fields[0]).fields[1].fields[0]))) {
129
+ if (isEmpty(tail(yEle.fields[0]))) {
130
+ matchResult = 1;
131
+ c = head(yEle.fields[0]).fields[0];
132
+ v_1 = head(head(yEle.fields[0]).fields[1].fields[0]).fields[0];
133
+ } else {
134
+ matchResult = 2;
135
+ }
136
+ } else {
137
+ matchResult = 2;
138
+ }
139
+ } else {
140
+ matchResult = 2;
141
+ }
142
+ } else {
143
+ matchResult = 2;
144
+ }
145
+ } else {
146
+ matchResult = 2;
147
+ }
148
+ break;
149
+ }
150
+ default:
151
+ matchResult = 2;
152
+ }
153
+ } else {
154
+ matchResult = 2;
155
+ }
156
+ break;
157
+ }
158
+ default:
159
+ matchResult = 2;
160
+ }
161
+ switch (matchResult) {
162
+ case 0:
163
+ return v.Value;
164
+ case 1:
165
+ return toText(printf("%s: %s"))(c.Value)(v_1.Value);
166
+ default:
167
+ return toFail(printf("%A"))(yEle);
168
+ }
169
+ }
170
+ const Decode_outputBindingGlobDecoder = (value_1) => object((get$) => {
171
+ let objectArg;
172
+ return new OutputBinding((objectArg = get$.Optional, objectArg.Field("glob", string)));
173
+ }, value_1);
174
+ const Decode_outputBindingDecoder = (value) => object((get$) => {
175
+ const objectArg = get$.Optional;
176
+ return objectArg.Field("outputBinding", Decode_outputBindingGlobDecoder);
177
+ }, value);
178
+ const Decode_outputSourceDecoder = (value_1) => object((get$) => {
179
+ const objectArg = get$.Optional;
180
+ return objectArg.Field("outputSource", string);
181
+ }, value_1);
182
+ const Decode_direntDecoder = (value_1) => object((get$) => {
183
+ let objectArg, objectArg_1, objectArg_2;
184
+ return CWLType_Dirent(new DirentInstance((objectArg = get$.Required, objectArg.Field("entry", Decode_decodeStringOrExpression)), (objectArg_1 = get$.Optional, objectArg_1.Field("entryname", Decode_decodeStringOrExpression)), (objectArg_2 = get$.Optional, objectArg_2.Field("writable", bool))));
185
+ }, value_1);
186
+ const Decode_cwlArrayTypeDecoder = (value_1) => object((get$) => {
187
+ let objectArg_1;
188
+ let items;
189
+ const objectArg = get$.Required;
190
+ items = objectArg.Field("items", string);
191
+ switch (items) {
192
+ case "File":
193
+ return CWLType_Array(CWLType_File(FileInstance_$ctor()));
194
+ case "Directory":
195
+ return CWLType_Array(CWLType_Directory(DirectoryInstance_$ctor()));
196
+ case "Dirent":
197
+ return CWLType_Array((objectArg_1 = get$.Required, objectArg_1.Field("listing", Decode_direntDecoder)));
198
+ case "string":
199
+ return CWLType_Array(CWLType_String());
200
+ case "int":
201
+ return CWLType_Array(CWLType_Int());
202
+ case "long":
203
+ return CWLType_Array(CWLType_Long());
204
+ case "float":
205
+ return CWLType_Array(CWLType_Float());
206
+ case "double":
207
+ return CWLType_Array(CWLType_Double());
208
+ case "boolean":
209
+ return CWLType_Array(CWLType_Boolean());
210
+ default:
211
+ throw new Error("Invalid CWL type");
212
+ }
213
+ }, value_1);
214
+ function Decode_cwlTypeStringMatcher(t, get$) {
215
+ let objectArg, objectArg_1;
216
+ const patternInput = t.endsWith("?") ? [true, replace(t, "?", "")] : [false, t];
217
+ const newT = patternInput[1];
218
+ return [newT === "File" ? CWLType_File(FileInstance_$ctor()) : newT === "Directory" ? CWLType_Directory(DirectoryInstance_$ctor()) : newT === "Dirent" ? (objectArg = get$.Required, objectArg.Field("listing", Decode_direntDecoder)) : newT === "string" ? CWLType_String() : newT === "int" ? CWLType_Int() : newT === "long" ? CWLType_Long() : newT === "float" ? CWLType_Float() : newT === "double" ? CWLType_Double() : newT === "boolean" ? CWLType_Boolean() : newT === "File[]" ? CWLType_Array(CWLType_File(FileInstance_$ctor())) : newT === "Directory[]" ? CWLType_Array(CWLType_Directory(DirectoryInstance_$ctor())) : newT === "Dirent[]" ? CWLType_Array((objectArg_1 = get$.Required, objectArg_1.Field("listing", Decode_direntDecoder))) : newT === "string[]" ? CWLType_Array(CWLType_String()) : newT === "int[]" ? CWLType_Array(CWLType_Int()) : newT === "long[]" ? CWLType_Array(CWLType_Long()) : newT === "float[]" ? CWLType_Array(CWLType_Float()) : newT === "double[]" ? CWLType_Array(CWLType_Double()) : newT === "boolean[]" ? CWLType_Array(CWLType_Boolean()) : newT === "stdout" ? CWLType_Stdout() : newT === "null" ? CWLType_Null() : (() => {
219
+ throw new Error("Invalid CWL type");
220
+ })(), patternInput[0]];
221
+ }
222
+ const Decode_cwlTypeDecoder = (value_1) => object((get$) => {
223
+ let objectArg_1;
224
+ let cwlType;
225
+ const objectArg = get$.Required;
226
+ cwlType = objectArg.Field("type", (value) => {
227
+ let matchResult, v, o;
228
+ switch (value.tag) {
229
+ case /* Value */
230
+ 1: {
231
+ matchResult = 0;
232
+ v = value.fields[0];
233
+ break;
234
+ }
235
+ case /* Object */
236
+ 3: {
237
+ if (!isEmpty(value.fields[0])) {
238
+ if (head(value.fields[0]).tag === /* Value */
239
+ 1) {
240
+ if (isEmpty(tail(value.fields[0]))) {
241
+ matchResult = 0;
242
+ v = head(value.fields[0]).fields[0];
243
+ } else {
244
+ matchResult = 1;
245
+ o = value.fields[0];
246
+ }
247
+ } else {
248
+ matchResult = 1;
249
+ o = value.fields[0];
250
+ }
251
+ } else {
252
+ matchResult = 1;
253
+ o = value.fields[0];
254
+ }
255
+ break;
256
+ }
257
+ default:
258
+ matchResult = 2;
259
+ }
260
+ switch (matchResult) {
261
+ case 0:
262
+ return v.Value;
263
+ case 1:
264
+ return void 0;
265
+ default:
266
+ throw new Error("Unexpected YAMLElement");
267
+ }
268
+ });
269
+ if (cwlType == null) {
270
+ return [(objectArg_1 = get$.Required, objectArg_1.Field("type", Decode_cwlArrayTypeDecoder)), false];
271
+ } else {
272
+ return Decode_cwlTypeStringMatcher(value(cwlType), get$);
273
+ }
274
+ }, value_1);
275
+ const Decode_outputArrayDecoder = (value_1) => object((get$) => {
276
+ const dict = get$.Overflow.FieldList(empty());
277
+ const collection = toArray(delay(() => collect((key) => {
278
+ let v;
279
+ const value = getItemFromDict(dict, key);
280
+ const outputBinding = Decode_outputBindingDecoder(value);
281
+ const outputSource = Decode_outputSourceDecoder(value);
282
+ const output = new CWLOutput(key, value.tag === /* Object */
283
+ 3 ? !isEmpty(value.fields[0]) ? head(value.fields[0]).tag === /* Value */
284
+ 1 ? isEmpty(tail(value.fields[0])) ? (v = head(value.fields[0]).fields[0], Decode_cwlTypeStringMatcher(v.Value, get$)[0]) : Decode_cwlTypeDecoder(value)[0] : Decode_cwlTypeDecoder(value)[0] : Decode_cwlTypeDecoder(value)[0] : Decode_cwlTypeDecoder(value)[0]);
285
+ return append(outputBinding != null ? (setOptionalProperty("outputBinding", outputBinding, output), empty$1()) : empty$1(), delay(() => append(outputSource != null ? (setOptionalProperty("outputSource", outputSource, output), empty$1()) : empty$1(), delay(() => singleton(output)))));
286
+ }, dict.keys())));
287
+ return Array.from(collection);
288
+ }, value_1);
289
+ const Decode_outputsDecoder = (value) => object((get$) => {
290
+ const objectArg = get$.Required;
291
+ return objectArg.Field("outputs", Decode_outputArrayDecoder);
292
+ }, value);
293
+ function Decode_dockerRequirementDecoder(get$) {
294
+ let objectArg, objectArg_1, objectArg_2;
295
+ return new DockerRequirement((objectArg = get$.Optional, objectArg.Field("dockerPull", string)), (objectArg_1 = get$.Optional, objectArg_1.Field("dockerFile", (value_1) => map$1((x) => x, string, value_1))), (objectArg_2 = get$.Optional, objectArg_2.Field("dockerImageId", string)));
296
+ }
297
+ function Decode_envVarRequirementDecoder(get$) {
298
+ const objectArg = get$.Required;
299
+ return objectArg.Field("envDef", (value_3) => resizearray((value_2) => object((get2) => {
300
+ let objectArg_1, objectArg_2;
301
+ return new EnvironmentDef((objectArg_1 = get2.Required, objectArg_1.Field("envName", string)), (objectArg_2 = get2.Required, objectArg_2.Field("envValue", string)));
302
+ }, value_2), value_3));
303
+ }
304
+ function Decode_softwareRequirementDecoder(get$) {
305
+ const objectArg = get$.Required;
306
+ return objectArg.Field("packages", (value_6) => resizearray((value_5) => object((get2) => {
307
+ let objectArg_1, objectArg_2, objectArg_3;
308
+ return new SoftwarePackage((objectArg_1 = get2.Required, objectArg_1.Field("package", string)), (objectArg_2 = get2.Optional, objectArg_2.Field("version", (value_1) => resizearray(string, value_1))), (objectArg_3 = get2.Optional, objectArg_3.Field("specs", (value_3) => resizearray(string, value_3))));
309
+ }, value_5), value_6));
310
+ }
311
+ function Decode_initialWorkDirRequirementDecoder(get$) {
312
+ const objectArg = get$.Required;
313
+ return objectArg.Field("listing", (value) => resizearray(Decode_direntDecoder, value));
314
+ }
315
+ function Decode_resourceRequirementDecoder(get$) {
316
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, objectArg_5, objectArg_6, objectArg_7;
317
+ return ResourceRequirementInstance_$ctor_D76FC00(some((objectArg = get$.Optional, objectArg.Field("coresMin", (x) => x))), some((objectArg_1 = get$.Optional, objectArg_1.Field("coresMax", (x_1) => x_1))), some((objectArg_2 = get$.Optional, objectArg_2.Field("ramMin", (x_2) => x_2))), some((objectArg_3 = get$.Optional, objectArg_3.Field("ramMax", (x_3) => x_3))), some((objectArg_4 = get$.Optional, objectArg_4.Field("tmpdirMin", (x_4) => x_4))), some((objectArg_5 = get$.Optional, objectArg_5.Field("tmpdirMax", (x_5) => x_5))), some((objectArg_6 = get$.Optional, objectArg_6.Field("outdirMin", (x_6) => x_6))), some((objectArg_7 = get$.Optional, objectArg_7.Field("outdirMax", (x_7) => x_7))));
318
+ }
319
+ function Decode_schemaDefRequirementDecoder(get$) {
320
+ let objectArg;
321
+ return ResizeArray_map((m) => SchemaDefRequirementType_$ctor_541DA560(item(0, FSharpMap__get_Keys(m)), item(0, FSharpMap__get_Values(m))), (objectArg = get$.Required, objectArg.Field("types", (value_2) => resizearray((value) => map$1((x) => x, string, value), value_2))));
322
+ }
323
+ function Decode_toolTimeLimitRequirementDecoder(get$) {
324
+ const objectArg = get$.Required;
325
+ return objectArg.Field("timelimit", float);
326
+ }
327
+ const Decode_requirementArrayDecoder = (value_2) => resizearray((value_1) => object((get$) => {
328
+ let cls;
329
+ const objectArg = get$.Required;
330
+ cls = objectArg.Field("class", string);
331
+ switch (cls) {
332
+ case "InlineJavascriptRequirement":
333
+ return Requirement_InlineJavascriptRequirement();
334
+ case "SchemaDefRequirement":
335
+ return Requirement_SchemaDefRequirement(Decode_schemaDefRequirementDecoder(get$));
336
+ case "DockerRequirement":
337
+ return Requirement_DockerRequirement(Decode_dockerRequirementDecoder(get$));
338
+ case "SoftwareRequirement":
339
+ return Requirement_SoftwareRequirement(Decode_softwareRequirementDecoder(get$));
340
+ case "InitialWorkDirRequirement":
341
+ return Requirement_InitialWorkDirRequirement(Decode_initialWorkDirRequirementDecoder(get$));
342
+ case "EnvVarRequirement":
343
+ return Requirement_EnvVarRequirement(Decode_envVarRequirementDecoder(get$));
344
+ case "ShellCommandRequirement":
345
+ return Requirement_ShellCommandRequirement();
346
+ case "ResourceRequirement":
347
+ return Requirement_ResourceRequirement(Decode_resourceRequirementDecoder(get$));
348
+ case "WorkReuse":
349
+ return Requirement_WorkReuseRequirement();
350
+ case "NetworkAccess":
351
+ return Requirement_NetworkAccessRequirement();
352
+ case "InplaceUpdateRequirement":
353
+ return Requirement_InplaceUpdateRequirement();
354
+ case "ToolTimeLimit":
355
+ return Requirement_ToolTimeLimitRequirement(Decode_toolTimeLimitRequirementDecoder(get$));
356
+ case "SubworkflowFeatureRequirement":
357
+ return Requirement_SubworkflowFeatureRequirement();
358
+ case "ScatterFeatureRequirement":
359
+ return Requirement_ScatterFeatureRequirement();
360
+ case "MultipleInputFeatureRequirement":
361
+ return Requirement_MultipleInputFeatureRequirement();
362
+ case "StepInputExpressionRequirement":
363
+ return Requirement_StepInputExpressionRequirement();
364
+ default:
365
+ throw new Error("Invalid requirement");
366
+ }
367
+ }, value_1), value_2);
368
+ const Decode_requirementsDecoder = (value) => object((get$) => {
369
+ const objectArg = get$.Optional;
370
+ return objectArg.Field("requirements", Decode_requirementArrayDecoder);
371
+ }, value);
372
+ const Decode_hintsDecoder = (value) => object((get$) => {
373
+ const objectArg = get$.Optional;
374
+ return objectArg.Field("hints", Decode_requirementArrayDecoder);
375
+ }, value);
376
+ const Decode_inputBindingDecoder = (value_5) => object((get$) => {
377
+ const objectArg = get$.Optional;
378
+ return objectArg.Field("inputBinding", (value_4) => object((get$0027) => {
379
+ let objectArg_1, objectArg_2, objectArg_3, objectArg_4;
380
+ return new InputBinding((objectArg_1 = get$0027.Optional, objectArg_1.Field("prefix", string)), (objectArg_2 = get$0027.Optional, objectArg_2.Field("position", int)), (objectArg_3 = get$0027.Optional, objectArg_3.Field("itemSeparator", string)), (objectArg_4 = get$0027.Optional, objectArg_4.Field("separate", bool)));
381
+ }, value_4));
382
+ }, value_5);
383
+ const Decode_inputArrayDecoder = (value_1) => object((get$) => {
384
+ const dict = get$.Overflow.FieldList(empty());
385
+ const collection = toArray(delay(() => collect((key) => {
386
+ let v;
387
+ const value = getItemFromDict(dict, key);
388
+ const inputBinding = Decode_inputBindingDecoder(value);
389
+ const patternInput = value.tag === /* Object */
390
+ 3 ? !isEmpty(value.fields[0]) ? head(value.fields[0]).tag === /* Value */
391
+ 1 ? isEmpty(tail(value.fields[0])) ? (v = head(value.fields[0]).fields[0], Decode_cwlTypeStringMatcher(v.Value, get$)) : Decode_cwlTypeDecoder(value) : Decode_cwlTypeDecoder(value) : Decode_cwlTypeDecoder(value) : Decode_cwlTypeDecoder(value);
392
+ const input = new CWLInput(key, patternInput[0]);
393
+ return append(inputBinding != null ? (setOptionalProperty("inputBinding", inputBinding, input), empty$1()) : empty$1(), delay(() => append(patternInput[1] ? (setOptionalProperty("optional", true, input), empty$1()) : empty$1(), delay(() => singleton(input)))));
394
+ }, dict.keys())));
395
+ return Array.from(collection);
396
+ }, value_1);
397
+ const Decode_inputsDecoder = (value) => object((get$) => {
398
+ const objectArg = get$.Optional;
399
+ return objectArg.Field("inputs", Decode_inputArrayDecoder);
400
+ }, value);
401
+ const Decode_baseCommandDecoder = (value_2) => object((get$) => {
402
+ const objectArg = get$.Optional;
403
+ return objectArg.Field("baseCommand", (value) => resizearray(string, value));
404
+ }, value_2);
405
+ const Decode_versionDecoder = (value_1) => object((get$) => {
406
+ const objectArg = get$.Required;
407
+ return objectArg.Field("cwlVersion", string);
408
+ }, value_1);
409
+ const Decode_classDecoder = (value_1) => object((get$) => {
410
+ const objectArg = get$.Required;
411
+ return objectArg.Field("class", string);
412
+ }, value_1);
413
+ function Decode_stringOptionFieldDecoder(field) {
414
+ return (value_1) => object((get$) => {
415
+ const objectArg = get$.Optional;
416
+ return objectArg.Field(field, string);
417
+ }, value_1);
418
+ }
419
+ function Decode_stringFieldDecoder(field) {
420
+ return (value_1) => object((get$) => {
421
+ const objectArg = get$.Required;
422
+ return objectArg.Field(field, string);
423
+ }, value_1);
424
+ }
425
+ const Decode_inputStepDecoder = (value_1) => object((get$) => {
426
+ const dict = get$.Overflow.FieldList(empty());
427
+ const collection = toArray(delay(() => collect((key) => {
428
+ let s1, v, s2;
429
+ const value$1 = getItemFromDict(dict, key);
430
+ return singleton(new StepInput(key, (s1 = value$1.tag === /* Object */
431
+ 3 ? !isEmpty(value$1.fields[0]) ? head(value$1.fields[0]).tag === /* Value */
432
+ 1 ? isEmpty(tail(value$1.fields[0])) ? (v = head(value$1.fields[0]).fields[0], v.Value) : void 0 : void 0 : void 0 : void 0, s2 = Decode_stringOptionFieldDecoder("source")(value$1), s1 != null ? value(s1) : s2 != null ? value(s2) : void 0), Decode_stringOptionFieldDecoder("default")(value$1), Decode_stringOptionFieldDecoder("valueFrom")(value$1)));
433
+ }, dict.keys())));
434
+ return Array.from(collection);
435
+ }, value_1);
436
+ const Decode_outputStepsDecoder = (value_2) => object((get$) => {
437
+ const objectArg = get$.Required;
438
+ return objectArg.Field("out", (value) => resizearray(string, value));
439
+ }, value_2);
440
+ const Decode_stepArrayDecoder = (value_1) => object((get$) => {
441
+ const dict = get$.Overflow.FieldList(empty());
442
+ const collection = toArray(delay(() => collect((key) => {
443
+ const value = getItemFromDict(dict, key);
444
+ const run = Decode_stringFieldDecoder("run")(value);
445
+ const inputs = object((get$_1) => {
446
+ const objectArg = get$_1.Required;
447
+ return objectArg.Field("in", Decode_inputStepDecoder);
448
+ }, value);
449
+ const outputs = new StepOutput(Decode_outputStepsDecoder(value));
450
+ const requirements = Decode_requirementsDecoder(value);
451
+ const hints = Decode_hintsDecoder(value);
452
+ const wfStep = new WorkflowStep(key, inputs, outputs, run);
453
+ return append(requirements != null ? (wfStep.Requirements = requirements, empty$1()) : empty$1(), delay(() => append(hints != null ? (wfStep.Hints = hints, empty$1()) : empty$1(), delay(() => singleton(wfStep)))));
454
+ }, dict.keys())));
455
+ return Array.from(collection);
456
+ }, value_1);
457
+ const Decode_stepsDecoder = (value) => object((get$) => {
458
+ const objectArg = get$.Required;
459
+ return objectArg.Field("steps", Decode_stepArrayDecoder);
460
+ }, value);
461
+ function Decode_commandLineToolDecoder(yamlCWL) {
462
+ const cwlVersion = Decode_versionDecoder(yamlCWL);
463
+ const outputs = Decode_outputsDecoder(yamlCWL);
464
+ const inputs = Decode_inputsDecoder(yamlCWL);
465
+ const requirements = Decode_requirementsDecoder(yamlCWL);
466
+ const hints = Decode_hintsDecoder(yamlCWL);
467
+ const baseCommand = Decode_baseCommandDecoder(yamlCWL);
468
+ const description = new CWLToolDescription(outputs, cwlVersion);
469
+ let metadata;
470
+ const md = new DynamicObj();
471
+ object((get$) => Decode_overflowDecoder(md, get$.Overflow.FieldList(ofArray(["inputs", "outputs", "class", "id", "label", "doc", "requirements", "hints", "cwlVersion", "baseCommand", "arguments", "stdin", "stderr", "stdout", "successCodes", "temporaryFailCodes", "permanentFailCodes"]))), yamlCWL);
472
+ metadata = md;
473
+ object((get$_1) => Decode_overflowDecoder(description, get$_1.MultipleOptional.FieldList(ofArray(["id", "label", "doc", "arguments", "stdin", "stderr", "stdout", "successCodes", "temporaryFailCodes", "permanentFailCodes"]))), yamlCWL);
474
+ if (inputs != null) {
475
+ description.Inputs = inputs;
476
+ }
477
+ if (requirements != null) {
478
+ description.Requirements = requirements;
479
+ }
480
+ if (hints != null) {
481
+ description.Hints = hints;
482
+ }
483
+ if (baseCommand != null) {
484
+ description.BaseCommand = baseCommand;
485
+ }
486
+ if (length(metadata.GetProperties(false)) > 0) {
487
+ description.Metadata = metadata;
488
+ }
489
+ return description;
490
+ }
491
+ function Decode_decodeCommandLineTool(cwl) {
492
+ return Decode_commandLineToolDecoder(read(cwl));
493
+ }
494
+ function Decode_workflowDecoder(yamlCWL) {
495
+ const cwlVersion = Decode_versionDecoder(yamlCWL);
496
+ const outputs = Decode_outputsDecoder(yamlCWL);
497
+ let inputs;
498
+ const matchValue = Decode_inputsDecoder(yamlCWL);
499
+ if (matchValue == null) {
500
+ throw new Error("Inputs are required for a workflow");
501
+ } else {
502
+ inputs = value(matchValue);
503
+ }
504
+ const requirements = Decode_requirementsDecoder(yamlCWL);
505
+ const hints = Decode_hintsDecoder(yamlCWL);
506
+ const description = new CWLWorkflowDescription(Decode_stepsDecoder(yamlCWL), inputs, outputs, cwlVersion);
507
+ let metadata;
508
+ const md = new DynamicObj();
509
+ object((get$) => Decode_overflowDecoder(md, get$.Overflow.FieldList(ofArray(["inputs", "outputs", "class", "steps", "id", "label", "doc", "requirements", "hints", "cwlVersion"]))), yamlCWL);
510
+ metadata = md;
511
+ object((get$_1) => Decode_overflowDecoder(description, get$_1.MultipleOptional.FieldList(ofArray(["id", "label", "doc"]))), yamlCWL);
512
+ if (requirements != null) {
513
+ description.Requirements = requirements;
514
+ }
515
+ if (hints != null) {
516
+ description.Hints = hints;
517
+ }
518
+ if (length(metadata.GetProperties(false)) > 0) {
519
+ description.Metadata = metadata;
520
+ }
521
+ return description;
522
+ }
523
+ function Decode_decodeWorkflow(cwl) {
524
+ return Decode_workflowDecoder(read(cwl));
525
+ }
526
+ function Decode_decodeCWLProcessingUnit(cwl) {
527
+ const yamlCWL = read(cwl);
528
+ const cls = Decode_classDecoder(yamlCWL);
529
+ switch (cls) {
530
+ case "CommandLineTool":
531
+ return CWLProcessingUnit_CommandLineTool(Decode_commandLineToolDecoder(yamlCWL));
532
+ case "Workflow":
533
+ return CWLProcessingUnit_Workflow(Decode_workflowDecoder(yamlCWL));
534
+ default:
535
+ return toFail(printf("Invalid CWL class: %s"))(cls);
536
+ }
537
+ }
538
+ function DecodeParameters_cwlParameterReferenceDecoder(get$, key, yEle) {
539
+ let matchResult, v, v1, v2, s;
540
+ if (yEle.tag === /* Object */
541
+ 3) {
542
+ if (!isEmpty(yEle.fields[0])) {
543
+ switch (head(yEle.fields[0]).tag) {
544
+ case /* Value */
545
+ 1: {
546
+ if (isEmpty(tail(yEle.fields[0]))) {
547
+ matchResult = 0;
548
+ v = head(yEle.fields[0]).fields[0];
549
+ } else {
550
+ matchResult = 3;
551
+ }
552
+ break;
553
+ }
554
+ case /* Mapping */
555
+ 0: {
556
+ if (head(yEle.fields[0]).fields[1].tag === /* Object */
557
+ 3) {
558
+ if (!isEmpty(head(yEle.fields[0]).fields[1].fields[0])) {
559
+ if (head(head(yEle.fields[0]).fields[1].fields[0]).tag === /* Value */
560
+ 1) {
561
+ if (isEmpty(tail(head(yEle.fields[0]).fields[1].fields[0]))) {
562
+ if (!isEmpty(tail(yEle.fields[0]))) {
563
+ if (head(tail(yEle.fields[0])).tag === /* Mapping */
564
+ 0) {
565
+ if (head(tail(yEle.fields[0])).fields[1].tag === /* Object */
566
+ 3) {
567
+ if (!isEmpty(head(tail(yEle.fields[0])).fields[1].fields[0])) {
568
+ if (head(head(tail(yEle.fields[0])).fields[1].fields[0]).tag === /* Value */
569
+ 1) {
570
+ if (isEmpty(tail(head(tail(yEle.fields[0])).fields[1].fields[0]))) {
571
+ if (isEmpty(tail(tail(yEle.fields[0])))) {
572
+ matchResult = 1;
573
+ v1 = head(head(yEle.fields[0]).fields[1].fields[0]).fields[0];
574
+ v2 = head(head(tail(yEle.fields[0])).fields[1].fields[0]).fields[0];
575
+ } else {
576
+ matchResult = 3;
577
+ }
578
+ } else {
579
+ matchResult = 3;
580
+ }
581
+ } else {
582
+ matchResult = 3;
583
+ }
584
+ } else {
585
+ matchResult = 3;
586
+ }
587
+ } else {
588
+ matchResult = 3;
589
+ }
590
+ } else {
591
+ matchResult = 3;
592
+ }
593
+ } else {
594
+ matchResult = 3;
595
+ }
596
+ } else {
597
+ matchResult = 3;
598
+ }
599
+ } else {
600
+ matchResult = 3;
601
+ }
602
+ } else {
603
+ matchResult = 3;
604
+ }
605
+ } else {
606
+ matchResult = 3;
607
+ }
608
+ break;
609
+ }
610
+ case /* Sequence */
611
+ 2: {
612
+ if (isEmpty(tail(yEle.fields[0]))) {
613
+ matchResult = 2;
614
+ s = head(yEle.fields[0]).fields[0];
615
+ } else {
616
+ matchResult = 3;
617
+ }
618
+ break;
619
+ }
620
+ default:
621
+ matchResult = 3;
622
+ }
623
+ } else {
624
+ matchResult = 3;
625
+ }
626
+ } else {
627
+ matchResult = 3;
628
+ }
629
+ switch (matchResult) {
630
+ case 0:
631
+ return new CWLParameterReference(key, [v.Value]);
632
+ case 1:
633
+ return new CWLParameterReference(key, [v2.Value], Decode_cwlTypeStringMatcher(v1.Value, get$)[0]);
634
+ case 2:
635
+ return new CWLParameterReference(key, resizearray(string, YAMLElement_Sequence(s)));
636
+ default:
637
+ throw new Error(`${yEle}`);
638
+ }
639
+ }
640
+ const DecodeParameters_cwlparameterReferenceArrayDecoder = (value) => object((get$) => {
641
+ const dict = get$.Overflow.FieldList(empty());
642
+ const collection = toArray(delay(() => map$2((ele) => DecodeParameters_cwlParameterReferenceDecoder(get$, ele[0], ele[1]), dict)));
643
+ return Array.from(collection);
644
+ }, value);
645
+ function DecodeParameters_decodeYAMLParameterFile(yaml) {
646
+ return DecodeParameters_cwlparameterReferenceArrayDecoder(read(yaml));
647
+ }
648
+
649
+ export { DecodeParameters_cwlParameterReferenceDecoder, DecodeParameters_cwlparameterReferenceArrayDecoder, DecodeParameters_decodeYAMLParameterFile, Decode_baseCommandDecoder, Decode_classDecoder, Decode_commandLineToolDecoder, Decode_cwlArrayTypeDecoder, Decode_cwlTypeDecoder, Decode_cwlTypeStringMatcher, Decode_decodeCWLProcessingUnit, Decode_decodeCommandLineTool, Decode_decodeStringOrExpression, Decode_decodeWorkflow, Decode_direntDecoder, Decode_dockerRequirementDecoder, Decode_envVarRequirementDecoder, Decode_hintsDecoder, Decode_initialWorkDirRequirementDecoder, Decode_inputArrayDecoder, Decode_inputBindingDecoder, Decode_inputStepDecoder, Decode_inputsDecoder, Decode_outputArrayDecoder, Decode_outputBindingDecoder, Decode_outputBindingGlobDecoder, Decode_outputSourceDecoder, Decode_outputStepsDecoder, Decode_outputsDecoder, Decode_overflowDecoder, Decode_requirementArrayDecoder, Decode_requirementsDecoder, Decode_resourceRequirementDecoder, Decode_schemaDefRequirementDecoder, Decode_softwareRequirementDecoder, Decode_stepArrayDecoder, Decode_stepsDecoder, Decode_stringFieldDecoder, Decode_stringOptionFieldDecoder, Decode_toolTimeLimitRequirementDecoder, Decode_versionDecoder, Decode_workflowDecoder, ResizeArray_map };
@@ -0,0 +1,28 @@
1
+ import { YAMLElement_$union } from '../fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js';
2
+ import { FSharpList } from '@fable-org/fable-library-js/List.js';
3
+ import { SchemaDefRequirementType, CWLType_$union } from './CWLTypes.js';
4
+ import { CWLOutput, OutputBinding } from './Outputs.js';
5
+ import { CWLInput, InputBinding } from './Inputs.js';
6
+ import { Requirement_$union } from './Requirements.js';
7
+ import { WorkflowStep, StepOutput, StepInput } from './WorkflowSteps.js';
8
+ import { CWLToolDescription } from './ToolDescription.js';
9
+ import { CWLWorkflowDescription } from './WorkflowDescription.js';
10
+ import { CWLProcessingUnit_$union } from './CWLProcessingUnit.js';
11
+ export declare function yBool(b: boolean): YAMLElement_$union;
12
+ export declare function yMap(pairs: FSharpList<[string, YAMLElement_$union]>): YAMLElement_$union;
13
+ export declare function encodeCWLType(t: CWLType_$union): YAMLElement_$union;
14
+ export declare function encodeOutputBinding(ob: OutputBinding): YAMLElement_$union;
15
+ export declare function encodeCWLOutput(o: CWLOutput): [string, YAMLElement_$union];
16
+ export declare function encodeInputBinding(ib: InputBinding): YAMLElement_$union;
17
+ export declare function encodeCWLInput(i: CWLInput): [string, YAMLElement_$union];
18
+ export declare function encodeSchemaDefRequirementType(s: SchemaDefRequirementType): YAMLElement_$union;
19
+ export declare function encodeRequirement(r: Requirement_$union): YAMLElement_$union;
20
+ export declare function encodeStepInput(si: StepInput): [string, YAMLElement_$union];
21
+ export declare function encodeStepInputs(inputs: StepInput[]): YAMLElement_$union;
22
+ export declare function encodeStepOutput(so: StepOutput): YAMLElement_$union;
23
+ export declare function encodeWorkflowStep(ws: WorkflowStep): [string, YAMLElement_$union];
24
+ export declare function writeYaml(element: YAMLElement_$union): string;
25
+ export declare function encodeToolDescription(td: CWLToolDescription): string;
26
+ export declare function encodeWorkflowDescription(wd: CWLWorkflowDescription): string;
27
+ export declare function encodeProcessingUnit(pu: CWLProcessingUnit_$union): string;
28
+ //# sourceMappingURL=Encode.d.ts.map