@nfdi4plants/arctrl 3.0.0-beta.8 → 3.0.0

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 (296) hide show
  1. package/README.md +30 -3
  2. package/dist/ts/index.d.ts +54 -16
  3. package/dist/ts/index.d.ts.map +1 -1
  4. package/dist/ts/index.js +56 -18
  5. package/dist/ts/ts/ARC.d.ts +38 -15
  6. package/dist/ts/ts/ARC.d.ts.map +1 -1
  7. package/dist/ts/ts/ARC.js +285 -140
  8. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts +62 -0
  9. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts.map +1 -0
  10. package/dist/ts/ts/CWL/CWLProcessingUnit.js +250 -0
  11. package/dist/ts/ts/CWL/CWLTypes.d.ts +148 -0
  12. package/dist/ts/ts/CWL/CWLTypes.d.ts.map +1 -0
  13. package/dist/ts/ts/CWL/CWLTypes.js +384 -0
  14. package/dist/ts/ts/CWL/Decode.d.ts +210 -0
  15. package/dist/ts/ts/CWL/Decode.d.ts.map +1 -0
  16. package/dist/ts/ts/CWL/Decode.js +2617 -0
  17. package/dist/ts/ts/CWL/Encode.d.ts +96 -0
  18. package/dist/ts/ts/CWL/Encode.d.ts.map +1 -0
  19. package/dist/ts/ts/CWL/Encode.js +1509 -0
  20. package/dist/ts/ts/CWL/ExpressionToolDescription.d.ts +50 -0
  21. package/dist/ts/ts/CWL/ExpressionToolDescription.d.ts.map +1 -0
  22. package/dist/ts/ts/CWL/ExpressionToolDescription.js +152 -0
  23. package/dist/ts/ts/CWL/HashHelpers.d.ts +9 -0
  24. package/dist/ts/ts/CWL/HashHelpers.d.ts.map +1 -0
  25. package/dist/ts/ts/CWL/HashHelpers.js +35 -0
  26. package/dist/ts/ts/CWL/Inputs.d.ts +31 -0
  27. package/dist/ts/ts/CWL/Inputs.d.ts.map +1 -0
  28. package/dist/ts/ts/CWL/Inputs.js +86 -0
  29. package/dist/ts/ts/CWL/OperationDescription.d.ts +46 -0
  30. package/dist/ts/ts/CWL/OperationDescription.d.ts.map +1 -0
  31. package/dist/ts/ts/CWL/OperationDescription.js +133 -0
  32. package/dist/ts/ts/CWL/Outputs.d.ts +44 -0
  33. package/dist/ts/ts/CWL/Outputs.d.ts.map +1 -0
  34. package/dist/ts/ts/CWL/Outputs.js +143 -0
  35. package/dist/ts/ts/CWL/ParameterReference.d.ts +23 -0
  36. package/dist/ts/ts/CWL/ParameterReference.d.ts.map +1 -0
  37. package/dist/ts/ts/CWL/ParameterReference.js +60 -0
  38. package/dist/ts/ts/CWL/Requirements.d.ts +206 -0
  39. package/dist/ts/ts/CWL/Requirements.d.ts.map +1 -0
  40. package/dist/ts/ts/CWL/Requirements.js +384 -0
  41. package/dist/ts/ts/CWL/ToolDescription.d.ts +50 -0
  42. package/dist/ts/ts/CWL/ToolDescription.d.ts.map +1 -0
  43. package/dist/ts/ts/CWL/ToolDescription.js +152 -0
  44. package/dist/ts/ts/CWL/WorkflowDescription.d.ts +50 -0
  45. package/dist/ts/ts/CWL/WorkflowDescription.d.ts.map +1 -0
  46. package/dist/ts/ts/CWL/WorkflowDescription.js +142 -0
  47. package/dist/ts/ts/CWL/WorkflowSteps.d.ts +160 -0
  48. package/dist/ts/ts/CWL/WorkflowSteps.d.ts.map +1 -0
  49. package/dist/ts/ts/CWL/WorkflowSteps.js +317 -0
  50. package/dist/ts/ts/CWLRunResolver.d.ts +45 -0
  51. package/dist/ts/ts/CWLRunResolver.d.ts.map +1 -0
  52. package/dist/ts/ts/CWLRunResolver.js +181 -0
  53. package/dist/ts/ts/Contract/ARC.d.ts.map +1 -1
  54. package/dist/ts/ts/Contract/ARC.js +27 -9
  55. package/dist/ts/ts/Contract/ArcRun.d.ts +6 -0
  56. package/dist/ts/ts/Contract/ArcRun.d.ts.map +1 -1
  57. package/dist/ts/ts/Contract/ArcRun.js +131 -4
  58. package/dist/ts/ts/Contract/ArcWorkflow.d.ts +3 -0
  59. package/dist/ts/ts/Contract/ArcWorkflow.d.ts.map +1 -1
  60. package/dist/ts/ts/Contract/ArcWorkflow.js +70 -4
  61. package/dist/ts/ts/Contract/Datamap.d.ts +25 -25
  62. package/dist/ts/ts/Contract/Datamap.d.ts.map +1 -1
  63. package/dist/ts/ts/Contract/Datamap.js +61 -42
  64. package/dist/ts/ts/ContractIO/ContractIO.d.ts.map +1 -1
  65. package/dist/ts/ts/ContractIO/ContractIO.js +3 -1
  66. package/dist/ts/ts/Conversion/Assay.d.ts +13 -0
  67. package/dist/ts/ts/Conversion/Assay.d.ts.map +1 -0
  68. package/dist/ts/ts/Conversion/Assay.js +69 -0
  69. package/dist/ts/ts/Conversion/Basic.d.ts +105 -0
  70. package/dist/ts/ts/Conversion/Basic.d.ts.map +1 -0
  71. package/dist/ts/ts/Conversion/Basic.js +452 -0
  72. package/dist/ts/ts/Conversion/ColumnIndex.d.ts +11 -0
  73. package/dist/ts/ts/Conversion/ColumnIndex.d.ts.map +1 -0
  74. package/dist/ts/ts/Conversion/ColumnIndex.js +71 -0
  75. package/dist/ts/ts/Conversion/Datamap.d.ts +11 -0
  76. package/dist/ts/ts/Conversion/Datamap.d.ts.map +1 -0
  77. package/dist/ts/ts/Conversion/Datamap.js +21 -0
  78. package/dist/ts/ts/Conversion/DateTime.d.ts +4 -0
  79. package/dist/ts/ts/Conversion/DateTime.d.ts.map +1 -0
  80. package/dist/ts/ts/Conversion/DateTime.js +23 -0
  81. package/dist/ts/ts/Conversion/Investigation.d.ts +12 -0
  82. package/dist/ts/ts/Conversion/Investigation.d.ts.map +1 -0
  83. package/dist/ts/ts/Conversion/Investigation.js +79 -0
  84. package/dist/ts/ts/Conversion/Person.d.ts +16 -0
  85. package/dist/ts/ts/Conversion/Person.d.ts.map +1 -0
  86. package/dist/ts/ts/Conversion/Person.js +100 -0
  87. package/dist/ts/ts/Conversion/Process.d.ts +84 -0
  88. package/dist/ts/ts/Conversion/Process.d.ts.map +1 -0
  89. package/dist/ts/ts/Conversion/Process.js +455 -0
  90. package/dist/ts/ts/Conversion/Run.d.ts +35 -0
  91. package/dist/ts/ts/Conversion/Run.d.ts.map +1 -0
  92. package/dist/ts/ts/Conversion/Run.js +254 -0
  93. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts +16 -0
  94. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts.map +1 -0
  95. package/dist/ts/ts/Conversion/ScholarlyArticle.js +116 -0
  96. package/dist/ts/ts/Conversion/Study.d.ts +12 -0
  97. package/dist/ts/ts/Conversion/Study.d.ts.map +1 -0
  98. package/dist/ts/ts/Conversion/Study.js +51 -0
  99. package/dist/ts/ts/Conversion/Table.d.ts +45 -0
  100. package/dist/ts/ts/Conversion/Table.d.ts.map +1 -0
  101. package/dist/ts/ts/Conversion/Table.js +203 -0
  102. package/dist/ts/ts/Conversion/Workflow.d.ts +91 -0
  103. package/dist/ts/ts/Conversion/Workflow.d.ts.map +1 -0
  104. package/dist/ts/ts/Conversion/Workflow.js +455 -0
  105. package/dist/ts/ts/Conversion.d.ts +25 -276
  106. package/dist/ts/ts/Conversion.d.ts.map +1 -1
  107. package/dist/ts/ts/Conversion.js +64 -1477
  108. package/dist/ts/ts/Core/ArcTypes.d.ts +69 -59
  109. package/dist/ts/ts/Core/ArcTypes.d.ts.map +1 -1
  110. package/dist/ts/ts/Core/ArcTypes.js +251 -146
  111. package/dist/ts/ts/Core/Datamap.d.ts +53 -0
  112. package/dist/ts/ts/Core/{DataMap.d.ts.map → Datamap.d.ts.map} +1 -1
  113. package/dist/ts/ts/Core/Datamap.js +177 -0
  114. package/dist/ts/ts/Core/Helper/Identifier.d.ts +24 -0
  115. package/dist/ts/ts/Core/Helper/Identifier.d.ts.map +1 -1
  116. package/dist/ts/ts/Core/Helper/Identifier.js +35 -2
  117. package/dist/ts/ts/Core/Table/ArcTable.d.ts +8 -8
  118. package/dist/ts/ts/Core/Table/ArcTable.d.ts.map +1 -1
  119. package/dist/ts/ts/Core/Table/ArcTable.js +20 -20
  120. package/dist/ts/ts/FileSystem/FileSystemTree.d.ts +4 -4
  121. package/dist/ts/ts/FileSystem/FileSystemTree.d.ts.map +1 -1
  122. package/dist/ts/ts/FileSystem/FileSystemTree.js +20 -27
  123. package/dist/ts/ts/FileSystem/Path.d.ts +22 -0
  124. package/dist/ts/ts/FileSystem/Path.d.ts.map +1 -1
  125. package/dist/ts/ts/FileSystem/Path.js +173 -3
  126. package/dist/ts/ts/Json/Assay.js +5 -5
  127. package/dist/ts/ts/Json/{DataMap → Datamap}/DataContext.d.ts.map +1 -1
  128. package/dist/ts/ts/Json/{DataMap/DataMap.d.ts → Datamap/Datamap.d.ts} +6 -6
  129. package/dist/ts/ts/Json/Datamap/Datamap.d.ts.map +1 -0
  130. package/dist/ts/ts/Json/{DataMap/DataMap.js → Datamap/Datamap.js} +3 -3
  131. package/dist/ts/ts/Json/ROCrate/LDContext.d.ts.map +1 -1
  132. package/dist/ts/ts/Json/ROCrate/LDContext.js +21 -11
  133. package/dist/ts/ts/Json/ROCrate/LDNode.d.ts +1 -0
  134. package/dist/ts/ts/Json/ROCrate/LDNode.d.ts.map +1 -1
  135. package/dist/ts/ts/Json/ROCrate/LDNode.js +18 -7
  136. package/dist/ts/ts/Json/Run.js +5 -5
  137. package/dist/ts/ts/Json/Study.js +5 -5
  138. package/dist/ts/ts/Json/Workflow.d.ts.map +1 -1
  139. package/dist/ts/ts/Json/Workflow.js +10 -11
  140. package/dist/ts/ts/Json.d.ts +3 -5
  141. package/dist/ts/ts/Json.d.ts.map +1 -1
  142. package/dist/ts/ts/Json.js +4 -10
  143. package/dist/ts/ts/JsonIO/Datamap.d.ts +4 -4
  144. package/dist/ts/ts/JsonIO/Datamap.js +6 -6
  145. package/dist/ts/ts/JsonIO/Investigation.d.ts +0 -6
  146. package/dist/ts/ts/JsonIO/Investigation.d.ts.map +1 -1
  147. package/dist/ts/ts/JsonIO/Investigation.js +2 -21
  148. package/dist/ts/ts/License.js +1 -1
  149. package/dist/ts/ts/ROCrate/LDContext.d.ts.map +1 -1
  150. package/dist/ts/ts/ROCrate/LDContext.js +35 -31
  151. package/dist/ts/ts/ROCrate/LDObject.d.ts +2 -2
  152. package/dist/ts/ts/ROCrate/LDObject.js +2 -2
  153. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.d.ts.map +1 -1
  154. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts +63 -0
  155. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts.map +1 -0
  156. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.js +361 -0
  157. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.d.ts +39 -0
  158. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.d.ts.map +1 -0
  159. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.js +219 -0
  160. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.d.ts +43 -0
  161. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.d.ts.map +1 -0
  162. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.js +224 -0
  163. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.d.ts.map +1 -1
  164. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.js +1 -1
  165. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Dataset.d.ts +34 -22
  166. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts.map +1 -0
  167. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Dataset.js +59 -2
  168. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.d.ts.map +1 -1
  169. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/File.d.ts +10 -4
  170. package/dist/ts/ts/ROCrate/LDTypes/File.d.ts.map +1 -0
  171. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/File.js +34 -1
  172. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.d.ts +59 -0
  173. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.d.ts.map +1 -0
  174. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.js +344 -0
  175. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProcess.d.ts +2 -0
  176. package/dist/ts/ts/ROCrate/LDTypes/LabProcess.d.ts.map +1 -0
  177. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProcess.js +31 -5
  178. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProtocol.d.ts +6 -2
  179. package/dist/ts/ts/ROCrate/LDTypes/LabProtocol.d.ts.map +1 -0
  180. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProtocol.js +66 -15
  181. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.d.ts.map +1 -1
  182. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.d.ts.map +1 -1
  183. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.d.ts.map +1 -1
  184. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PropertyValue.d.ts +35 -11
  185. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.d.ts.map +1 -0
  186. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PropertyValue.js +191 -1
  187. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.d.ts.map +1 -1
  188. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.d.ts.map +1 -1
  189. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.d.ts +46 -0
  190. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.d.ts.map +1 -0
  191. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.js +247 -0
  192. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.d.ts +12 -0
  193. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.d.ts.map +1 -0
  194. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.js +40 -0
  195. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.d.ts +11 -0
  196. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.d.ts.map +1 -0
  197. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.js +46 -0
  198. package/dist/ts/ts/ROCrate/ROCrateContext.d.ts +2 -2
  199. package/dist/ts/ts/ROCrate/ROCrateContext.d.ts.map +1 -1
  200. package/dist/ts/ts/ROCrate/ROCrateContext.js +6 -6
  201. package/dist/ts/ts/ROCrateIO.d.ts +7 -3
  202. package/dist/ts/ts/ROCrateIO.d.ts.map +1 -1
  203. package/dist/ts/ts/ROCrateIO.js +82 -13
  204. package/dist/ts/ts/Spreadsheet/ArcAssay.js +3 -3
  205. package/dist/ts/ts/Spreadsheet/ArcRun.js +2 -2
  206. package/dist/ts/ts/Spreadsheet/ArcStudy.js +3 -3
  207. package/dist/ts/ts/Spreadsheet/ArcWorkflow.js +2 -2
  208. package/dist/ts/ts/Spreadsheet/Datamap.d.ts +8 -0
  209. package/dist/ts/ts/Spreadsheet/Datamap.d.ts.map +1 -0
  210. package/dist/ts/ts/Spreadsheet/{DataMap.js → Datamap.js} +9 -9
  211. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapColumn.d.ts → DatamapTable/DatamapColumn.d.ts} +1 -1
  212. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapColumn.d.ts.map → DatamapTable/DatamapColumn.d.ts.map} +1 -1
  213. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapColumn.js → DatamapTable/DatamapColumn.js} +1 -1
  214. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapHeader.d.ts → DatamapTable/DatamapHeader.d.ts} +1 -1
  215. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapHeader.d.ts.map → DatamapTable/DatamapHeader.d.ts.map} +1 -1
  216. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapTable.d.ts → DatamapTable/DatamapTable.d.ts} +5 -5
  217. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapTable.d.ts.map +1 -0
  218. package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapTable.js → DatamapTable/DatamapTable.js} +8 -8
  219. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +1 -1
  220. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.d.ts.map +1 -1
  221. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +4 -4
  222. package/dist/ts/ts/WorkflowGraph/Adapters.d.ts +36 -0
  223. package/dist/ts/ts/WorkflowGraph/Adapters.d.ts.map +1 -0
  224. package/dist/ts/ts/WorkflowGraph/Adapters.js +94 -0
  225. package/dist/ts/ts/WorkflowGraph/BuildOptions.d.ts +37 -0
  226. package/dist/ts/ts/WorkflowGraph/BuildOptions.d.ts.map +1 -0
  227. package/dist/ts/ts/WorkflowGraph/BuildOptions.js +35 -0
  228. package/dist/ts/ts/WorkflowGraph/Builder.d.ts +160 -0
  229. package/dist/ts/ts/WorkflowGraph/Builder.d.ts.map +1 -0
  230. package/dist/ts/ts/WorkflowGraph/Builder.js +556 -0
  231. package/dist/ts/ts/WorkflowGraph/GraphTypes.d.ts +182 -0
  232. package/dist/ts/ts/WorkflowGraph/GraphTypes.d.ts.map +1 -0
  233. package/dist/ts/ts/WorkflowGraph/GraphTypes.js +281 -0
  234. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.d.ts +27 -0
  235. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.d.ts.map +1 -0
  236. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.js +49 -0
  237. package/dist/ts/ts/Xlsx.d.ts +5 -5
  238. package/dist/ts/ts/Xlsx.js +1 -1
  239. package/dist/ts/ts/Yaml/ValidationPackage.d.ts +1 -1
  240. package/dist/ts/ts/Yaml/ValidationPackage.d.ts.map +1 -1
  241. package/dist/ts/ts/Yaml/ValidationPackage.js +5 -5
  242. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts +1 -1
  243. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts.map +1 -1
  244. package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +5 -5
  245. package/dist/ts/ts/Yaml.d.ts +24 -0
  246. package/dist/ts/ts/Yaml.d.ts.map +1 -0
  247. package/dist/ts/ts/Yaml.js +56 -0
  248. package/dist/ts/ts/fable_modules/DynamicObj.7.1.0/DynObj.fs.js +109 -0
  249. package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/Encode.fs.js +1 -1
  250. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0-alpha.3/FlowToBlock.fs.js +954 -0
  251. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0-alpha.3/Interop/JsInterop.fs.js +10 -0
  252. package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/Persil.fs.js +1 -1
  253. package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/Reader.fs.js +208 -152
  254. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0-alpha.3/Regex.fs.js +15 -0
  255. package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/RegexActivePatterns.fs.js +14 -10
  256. package/package.json +1 -1
  257. package/dist/ts/ts/Core/DataMap.d.ts +0 -52
  258. package/dist/ts/ts/Core/DataMap.js +0 -159
  259. package/dist/ts/ts/Json/DataMap/DataMap.d.ts.map +0 -1
  260. package/dist/ts/ts/ROCrate/Generic/Dataset.d.ts.map +0 -1
  261. package/dist/ts/ts/ROCrate/Generic/File.d.ts.map +0 -1
  262. package/dist/ts/ts/ROCrate/Generic/LabProcess.d.ts.map +0 -1
  263. package/dist/ts/ts/ROCrate/Generic/LabProtocol.d.ts.map +0 -1
  264. package/dist/ts/ts/ROCrate/Generic/PropertyValue.d.ts.map +0 -1
  265. package/dist/ts/ts/Spreadsheet/DataMap.d.ts +0 -8
  266. package/dist/ts/ts/Spreadsheet/DataMap.d.ts.map +0 -1
  267. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts.map +0 -1
  268. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Interop/JsInterop.fs.js +0 -10
  269. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Regex.fs.js +0 -11
  270. /package/dist/ts/ts/Json/{DataMap → Datamap}/DataContext.d.ts +0 -0
  271. /package/dist/ts/ts/Json/{DataMap → Datamap}/DataContext.js +0 -0
  272. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.d.ts +0 -0
  273. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.js +0 -0
  274. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.d.ts +0 -0
  275. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.d.ts +0 -0
  276. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.js +0 -0
  277. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.d.ts +0 -0
  278. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.js +0 -0
  279. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.d.ts +0 -0
  280. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.js +0 -0
  281. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.d.ts +0 -0
  282. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.js +0 -0
  283. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.d.ts +0 -0
  284. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.js +0 -0
  285. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.d.ts +0 -0
  286. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.js +0 -0
  287. /package/dist/ts/ts/Spreadsheet/{DataMapTable/DataMapHeader.js → DatamapTable/DatamapHeader.js} +0 -0
  288. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/DynamicObj.fs.js +0 -0
  289. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/FableJS.fs.js +0 -0
  290. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/HashCodes.fs.js +0 -0
  291. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/PropertyHelper.fs.js +0 -0
  292. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/ReflectionUtils.fs.js +0 -0
  293. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/Decode.fs.js +0 -0
  294. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/Preprocessing.fs.js +0 -0
  295. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/Writer.fs.js +0 -0
  296. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.3}/YAMLiciousTypes.fs.js +0 -0
@@ -0,0 +1,1509 @@
1
+ import { FSharpChoice$2_Choice1Of2, FSharpChoice$2_Choice2Of2 } from '../../node_modules/@fable-org/fable-library-js/Choice.js';
2
+ import { map, value, bind, filter } from '../../node_modules/@fable-org/fable-library-js/Option.js';
3
+ import { toList, map as map$2, choose as choose$1, fold, delay, append as append$1, singleton as singleton$1, empty as empty$1 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
4
+ import { isEmpty, head, tail, map as map$1, singleton, ofArray, empty, append, ofSeq, choose, exists, cons, filter as filter$1, contains, tryFind, reverse, length } from '../../node_modules/@fable-org/fable-library-js/List.js';
5
+ import { YAMLElement_Value, YAMLContent, YAMLElement_Object, YAMLElement_Mapping, YAMLElement_Sequence, YAMLElement, Config } from '../fable_modules/YAMLicious.1.0.0-alpha.3/YAMLiciousTypes.fs.js';
6
+ import { trimEnd, replace, toText, interpolate, trimStart, join, split } from '../../node_modules/@fable-org/fable-library-js/String.js';
7
+ import { string, int, float } from '../fable_modules/YAMLicious.1.0.0-alpha.3/Encode.fs.js';
8
+ import { LoadListingEnum_get_toCwlString } from './Requirements.js';
9
+ import { int64ToString, stringHash, comparePrimitives } from '../../node_modules/@fable-org/fable-library-js/Util.js';
10
+ import { WorkflowStepRunOps_tryGetOperation, WorkflowStepRunOps_tryGetExpressionTool, WorkflowStepRunOps_tryGetWorkflow, WorkflowStepRunOps_tryGetTool } from './CWLProcessingUnit.js';
11
+ import { toString } from '../../node_modules/@fable-org/fable-library-js/Types.js';
12
+ import { write } from '../fable_modules/YAMLicious.1.0.0-alpha.3/Writer.fs.js';
13
+ import { ofList, FSharpSet__Contains } from '../../node_modules/@fable-org/fable-library-js/Set.js';
14
+
15
+ function $007CPrimitiveType$007CComplexType$007C(t) {
16
+ switch (t.tag) {
17
+ case /* Directory */
18
+ 1:
19
+ return FSharpChoice$2_Choice1Of2("Directory");
20
+ case /* Dirent */
21
+ 2:
22
+ return FSharpChoice$2_Choice1Of2("Dirent");
23
+ case /* String */
24
+ 3:
25
+ return FSharpChoice$2_Choice1Of2("string");
26
+ case /* Int */
27
+ 4:
28
+ return FSharpChoice$2_Choice1Of2("int");
29
+ case /* Long */
30
+ 5:
31
+ return FSharpChoice$2_Choice1Of2("long");
32
+ case /* Float */
33
+ 6:
34
+ return FSharpChoice$2_Choice1Of2("float");
35
+ case /* Double */
36
+ 7:
37
+ return FSharpChoice$2_Choice1Of2("double");
38
+ case /* Boolean */
39
+ 8:
40
+ return FSharpChoice$2_Choice1Of2("boolean");
41
+ case /* Null */
42
+ 10:
43
+ return FSharpChoice$2_Choice1Of2("null");
44
+ case /* Stdout */
45
+ 9:
46
+ return FSharpChoice$2_Choice1Of2("stdout");
47
+ case /* Record */
48
+ 12:
49
+ case /* Enum */
50
+ 13:
51
+ case /* Union */
52
+ 14:
53
+ return FSharpChoice$2_Choice2Of2(void 0);
54
+ case /* Array */
55
+ 11: {
56
+ const arraySchema = t.fields[0];
57
+ if ($007CPrimitiveType$007CComplexType$007C(arraySchema.Items).tag === /* Choice2Of2 */
58
+ 1) {
59
+ return FSharpChoice$2_Choice2Of2(void 0);
60
+ } else {
61
+ return FSharpChoice$2_Choice1Of2("array");
62
+ }
63
+ }
64
+ default:
65
+ return FSharpChoice$2_Choice1Of2("File");
66
+ }
67
+ }
68
+ function tryGetArrayShorthand(cwlType) {
69
+ let matchResult, name_1, arraySchema;
70
+ const activePatternResult = $007CPrimitiveType$007CComplexType$007C(cwlType);
71
+ if (activePatternResult.tag === /* Choice1Of2 */
72
+ 0) {
73
+ if (activePatternResult.fields[0] !== "array") {
74
+ matchResult = 0;
75
+ name_1 = activePatternResult.fields[0];
76
+ } else if (cwlType.tag === /* Array */
77
+ 11) {
78
+ matchResult = 1;
79
+ arraySchema = cwlType.fields[0];
80
+ } else {
81
+ matchResult = 2;
82
+ }
83
+ } else if (cwlType.tag === /* Array */
84
+ 11) {
85
+ matchResult = 1;
86
+ arraySchema = cwlType.fields[0];
87
+ } else {
88
+ matchResult = 2;
89
+ }
90
+ switch (matchResult) {
91
+ case 0:
92
+ return name_1;
93
+ case 1:
94
+ return map((s) => s + "[]", tryGetArrayShorthand(arraySchema.Items));
95
+ default:
96
+ return void 0;
97
+ }
98
+ }
99
+ function isComplexType(t_mut) {
100
+ isComplexType:
101
+ while (true) {
102
+ const t = t_mut;
103
+ switch (t.tag) {
104
+ case /* Record */
105
+ 12:
106
+ case /* Enum */
107
+ 13:
108
+ return true;
109
+ case /* Array */
110
+ 11:
111
+ return tryGetArrayShorthand(t.fields[0].Items) == null;
112
+ case /* Union */
113
+ 14: {
114
+ const typesList = toList(t.fields[0]);
115
+ let matchResult, otherType;
116
+ if (!isEmpty(typesList)) {
117
+ if (head(typesList).tag === /* Null */
118
+ 10) {
119
+ if (!isEmpty(tail(typesList))) {
120
+ if (isEmpty(tail(tail(typesList)))) {
121
+ matchResult = 0;
122
+ otherType = head(tail(typesList));
123
+ } else {
124
+ matchResult = 1;
125
+ }
126
+ } else {
127
+ matchResult = 1;
128
+ }
129
+ } else if (!isEmpty(tail(typesList))) {
130
+ if (head(tail(typesList)).tag === /* Null */
131
+ 10) {
132
+ if (isEmpty(tail(tail(typesList)))) {
133
+ matchResult = 0;
134
+ otherType = head(typesList);
135
+ } else {
136
+ matchResult = 1;
137
+ }
138
+ } else {
139
+ matchResult = 1;
140
+ }
141
+ } else {
142
+ matchResult = 1;
143
+ }
144
+ } else {
145
+ matchResult = 1;
146
+ }
147
+ switch (matchResult) {
148
+ case 0: {
149
+ t_mut = otherType;
150
+ continue isComplexType;
151
+ }
152
+ default:
153
+ return true;
154
+ }
155
+ }
156
+ default:
157
+ return false;
158
+ }
159
+ break;
160
+ }
161
+ }
162
+ function yBool(b) {
163
+ return YAMLElement_Value(new YAMLContent(b ? "true" : "false", void 0));
164
+ }
165
+ function yMap(pairs) {
166
+ return YAMLElement_Object(map$1((tupledArg) => {
167
+ let _arg, single;
168
+ return YAMLElement_Mapping(new YAMLContent(tupledArg[0], void 0), (_arg = tupledArg[1], _arg.tag === /* Object */
169
+ 3 ? !isEmpty(_arg.fields[0]) ? isEmpty(tail(_arg.fields[0])) ? (single = head(_arg.fields[0]), single) : _arg : YAMLElement_Value(new YAMLContent("{}", void 0)) : _arg));
170
+ }, pairs));
171
+ }
172
+ function normalizeDocString(doc) {
173
+ return trimEnd(trimEnd(replace(doc, "\r\n", "\n"), "\n"), "\r");
174
+ }
175
+ function encodeSchemaSaladString(value) {
176
+ switch (value.tag) {
177
+ case /* Include */
178
+ 1:
179
+ return yMap(singleton(["$include", string(value.fields[0])]));
180
+ case /* Import */
181
+ 2:
182
+ return yMap(singleton(["$import", string(value.fields[0])]));
183
+ default:
184
+ return string(value.fields[0]);
185
+ }
186
+ }
187
+ function normalizeEnvValueForEncode(envValue) {
188
+ if (envValue === "true" ? true : envValue === "false") {
189
+ return '"' + envValue + '"';
190
+ } else {
191
+ return envValue;
192
+ }
193
+ }
194
+ function encodeEnvVarRequirementCompactMap(envs) {
195
+ const envDefMap = yMap(toList(map$2((env) => [env.EnvName, string(normalizeEnvValueForEncode(env.EnvValue))], envs)));
196
+ return yMap(ofArray([["class", string("EnvVarRequirement")], ["envDef", envDefMap]]));
197
+ }
198
+ function encodeSoftwareRequirementCompactMap(packages) {
199
+ const packagesMap = yMap(toList(map$2((package$_1) => {
200
+ let package$, matchValue_1, value_6, acc_3, value_3, acc_1;
201
+ return [package$_1.Package, (package$ = package$_1, matchValue_1 = package$.Specs, package$.Version == null ? matchValue_1 != null ? YAMLElement_Sequence(toList(map$2(string, value(matchValue_1)))) : yMap(empty()) : yMap((value_6 = package$.Specs, acc_3 = (value_3 = package$.Version, acc_1 = empty(), value_3 == null ? acc_1 : append(acc_1, singleton(["version", YAMLElement_Sequence(toList(map$2(string, value(value_3))))]))), value_6 == null ? acc_3 : append(acc_3, singleton(["specs", YAMLElement_Sequence(toList(map$2(string, value(value_6))))])))))];
202
+ }, packages)));
203
+ return yMap(ofArray([["class", string("SoftwareRequirement")], ["packages", packagesMap]]));
204
+ }
205
+ function encodeLabel(label) {
206
+ return ["label", string(label)];
207
+ }
208
+ function encodeDoc(doc) {
209
+ return ["doc", string(normalizeDocString(doc))];
210
+ }
211
+ function encodeIntent(intent) {
212
+ return ["intent", YAMLElement_Sequence(ofSeq(map$2(string, intent)))];
213
+ }
214
+ function encodeCWLType(t) {
215
+ let value_4, acc_3, value_2, acc_1;
216
+ switch (t.tag) {
217
+ case /* Directory */
218
+ 1:
219
+ return string("Directory");
220
+ case /* Dirent */
221
+ 2: {
222
+ const d = t.fields[0];
223
+ return yMap((value_4 = d.Writable, acc_3 = (value_2 = d.Entryname, acc_1 = singleton(["entry", encodeSchemaSaladString(d.Entry)]), value_2 == null ? acc_1 : append(acc_1, singleton(["entryname", encodeSchemaSaladString(value(value_2))]))), value_4 == null ? acc_3 : append(acc_3, singleton(["writable", yBool(value(value_4))]))));
224
+ }
225
+ case /* String */
226
+ 3:
227
+ return string("string");
228
+ case /* Int */
229
+ 4:
230
+ return string("int");
231
+ case /* Long */
232
+ 5:
233
+ return string("long");
234
+ case /* Float */
235
+ 6:
236
+ return string("float");
237
+ case /* Double */
238
+ 7:
239
+ return string("double");
240
+ case /* Boolean */
241
+ 8:
242
+ return string("boolean");
243
+ case /* Stdout */
244
+ 9:
245
+ return string("stdout");
246
+ case /* Null */
247
+ 10:
248
+ return string("null");
249
+ case /* Union */
250
+ 14: {
251
+ const typesList = toList(t.fields[0]);
252
+ let matchResult, otherType;
253
+ if (!isEmpty(typesList)) {
254
+ if (head(typesList).tag === /* Null */
255
+ 10) {
256
+ if (!isEmpty(tail(typesList))) {
257
+ if (isEmpty(tail(tail(typesList)))) {
258
+ matchResult = 0;
259
+ otherType = head(tail(typesList));
260
+ } else {
261
+ matchResult = 1;
262
+ }
263
+ } else {
264
+ matchResult = 1;
265
+ }
266
+ } else if (!isEmpty(tail(typesList))) {
267
+ if (head(tail(typesList)).tag === /* Null */
268
+ 10) {
269
+ if (isEmpty(tail(tail(typesList)))) {
270
+ matchResult = 0;
271
+ otherType = head(typesList);
272
+ } else {
273
+ matchResult = 1;
274
+ }
275
+ } else {
276
+ matchResult = 1;
277
+ }
278
+ } else {
279
+ matchResult = 1;
280
+ }
281
+ } else {
282
+ matchResult = 1;
283
+ }
284
+ switch (matchResult) {
285
+ case 0:
286
+ switch (otherType.tag) {
287
+ case /* File */
288
+ 0:
289
+ return string("File?");
290
+ case /* Directory */
291
+ 1:
292
+ return string("Directory?");
293
+ case /* String */
294
+ 3:
295
+ return string("string?");
296
+ case /* Int */
297
+ 4:
298
+ return string("int?");
299
+ case /* Long */
300
+ 5:
301
+ return string("long?");
302
+ case /* Float */
303
+ 6:
304
+ return string("float?");
305
+ case /* Double */
306
+ 7:
307
+ return string("double?");
308
+ case /* Boolean */
309
+ 8:
310
+ return string("boolean?");
311
+ case /* Array */
312
+ 11: {
313
+ const arraySchema = otherType.fields[0];
314
+ const matchValue = tryGetArrayShorthand(arraySchema.Items);
315
+ if (matchValue == null) {
316
+ return YAMLElement_Sequence(ofArray([string("null"), encodeInputArraySchema(arraySchema)]));
317
+ } else {
318
+ return string(value(matchValue) + "[]?");
319
+ }
320
+ }
321
+ default:
322
+ return YAMLElement_Sequence(map$1(encodeCWLType, typesList));
323
+ }
324
+ default:
325
+ return YAMLElement_Sequence(map$1(encodeCWLType, typesList));
326
+ }
327
+ }
328
+ case /* Array */
329
+ 11: {
330
+ const arraySchema_1 = t.fields[0];
331
+ const matchValue_1 = tryGetArrayShorthand(arraySchema_1.Items);
332
+ if (matchValue_1 == null) {
333
+ return encodeInputArraySchema(arraySchema_1);
334
+ } else {
335
+ return string(value(matchValue_1) + "[]");
336
+ }
337
+ }
338
+ case /* Record */
339
+ 12:
340
+ return encodeInputRecordSchema(t.fields[0]);
341
+ case /* Enum */
342
+ 13:
343
+ return encodeInputEnumSchema(t.fields[0]);
344
+ default:
345
+ return string("File");
346
+ }
347
+ }
348
+ function encodeInputRecordField(field) {
349
+ return [field.Name, yMap(singleton(["type", encodeCWLType(field.Type)]))];
350
+ }
351
+ function encodeInputRecordSchema(schema) {
352
+ let fieldsElement;
353
+ const matchValue = schema.Fields;
354
+ fieldsElement = matchValue == null ? yMap(empty()) : yMap(toList(map$2(encodeInputRecordField, value(matchValue))));
355
+ return yMap(ofArray([["type", string("record")], ["fields", fieldsElement]]));
356
+ }
357
+ function encodeInputEnumSchema(schema) {
358
+ return yMap(append(singleton(["type", string("enum")]), singleton(["symbols", YAMLElement_Sequence(ofSeq(map$2(string, schema.Symbols)))])));
359
+ }
360
+ function encodeInputArraySchema(schema) {
361
+ return yMap(ofArray([["type", string("array")], ["items", encodeCWLType(schema.Items)]]));
362
+ }
363
+ function encodeOutputBinding(ob) {
364
+ return yMap(choose((x) => x, singleton(map((g) => ["glob", string(g)], ob.Glob))));
365
+ }
366
+ function encodeStringArrayOrScalar(values) {
367
+ if (values.length === 1) {
368
+ return string(values[0]);
369
+ } else {
370
+ return YAMLElement_Sequence(ofSeq(map$2(string, values)));
371
+ }
372
+ }
373
+ function encodeCWLOutput(o) {
374
+ let values;
375
+ const typeElement = map((t) => {
376
+ switch (t.tag) {
377
+ case /* Union */
378
+ 14: {
379
+ const typesList = toList(t.fields[0]);
380
+ let matchResult, otherType;
381
+ if (!isEmpty(typesList)) {
382
+ if (head(typesList).tag === /* Null */
383
+ 10) {
384
+ if (!isEmpty(tail(typesList))) {
385
+ if (isEmpty(tail(tail(typesList)))) {
386
+ matchResult = 0;
387
+ otherType = head(tail(typesList));
388
+ } else {
389
+ matchResult = 1;
390
+ }
391
+ } else {
392
+ matchResult = 1;
393
+ }
394
+ } else if (!isEmpty(tail(typesList))) {
395
+ if (head(tail(typesList)).tag === /* Null */
396
+ 10) {
397
+ if (isEmpty(tail(tail(typesList)))) {
398
+ matchResult = 0;
399
+ otherType = head(typesList);
400
+ } else {
401
+ matchResult = 1;
402
+ }
403
+ } else {
404
+ matchResult = 1;
405
+ }
406
+ } else {
407
+ matchResult = 1;
408
+ }
409
+ } else {
410
+ matchResult = 1;
411
+ }
412
+ switch (matchResult) {
413
+ case 0:
414
+ switch (otherType.tag) {
415
+ case /* File */
416
+ 0:
417
+ case /* Directory */
418
+ 1:
419
+ case /* String */
420
+ 3:
421
+ case /* Int */
422
+ 4:
423
+ case /* Long */
424
+ 5:
425
+ case /* Float */
426
+ 6:
427
+ case /* Double */
428
+ 7:
429
+ case /* Boolean */
430
+ 8:
431
+ return encodeCWLType(t);
432
+ case /* Array */
433
+ 11: {
434
+ const matchValue = otherType.fields[0].Items;
435
+ switch (matchValue.tag) {
436
+ case /* File */
437
+ 0:
438
+ case /* Directory */
439
+ 1:
440
+ case /* String */
441
+ 3:
442
+ case /* Int */
443
+ 4:
444
+ case /* Long */
445
+ 5:
446
+ case /* Float */
447
+ 6:
448
+ case /* Double */
449
+ 7:
450
+ case /* Boolean */
451
+ 8:
452
+ return encodeCWLType(t);
453
+ default:
454
+ return encodeCWLType(t);
455
+ }
456
+ }
457
+ default:
458
+ return encodeCWLType(t);
459
+ }
460
+ default:
461
+ return encodeCWLType(t);
462
+ }
463
+ }
464
+ case /* Array */
465
+ 11: {
466
+ const arraySchema_1 = t.fields[0];
467
+ const matchValue_1 = arraySchema_1.Items;
468
+ switch (matchValue_1.tag) {
469
+ case /* File */
470
+ 0:
471
+ case /* Directory */
472
+ 1:
473
+ case /* Dirent */
474
+ 2:
475
+ case /* String */
476
+ 3:
477
+ case /* Int */
478
+ 4:
479
+ case /* Long */
480
+ 5:
481
+ case /* Float */
482
+ 6:
483
+ case /* Double */
484
+ 7:
485
+ case /* Boolean */
486
+ 8:
487
+ return encodeCWLType(t);
488
+ default:
489
+ return yMap(singleton(["type", encodeInputArraySchema(arraySchema_1)]));
490
+ }
491
+ }
492
+ case /* Record */
493
+ 12:
494
+ return yMap(singleton(["type", encodeInputRecordSchema(t.fields[0])]));
495
+ case /* Enum */
496
+ 13:
497
+ return yMap(singleton(["type", encodeInputEnumSchema(t.fields[0])]));
498
+ default:
499
+ return encodeCWLType(t);
500
+ }
501
+ }, o.Type_);
502
+ let pairs;
503
+ let value_4;
504
+ const matchValue_2 = o.OutputSource;
505
+ let matchResult_1, value$1, values_1;
506
+ if (matchValue_2 != null) {
507
+ if (value(matchValue_2).tag === /* Multiple */
508
+ 1) {
509
+ if (values = value(matchValue_2).fields[0], values.length > 0) {
510
+ matchResult_1 = 1;
511
+ values_1 = value(matchValue_2).fields[0];
512
+ } else {
513
+ matchResult_1 = 2;
514
+ }
515
+ } else {
516
+ matchResult_1 = 0;
517
+ value$1 = value(matchValue_2).fields[0];
518
+ }
519
+ } else {
520
+ matchResult_1 = 2;
521
+ }
522
+ switch (matchResult_1) {
523
+ case 0: {
524
+ value_4 = string(value$1);
525
+ break;
526
+ }
527
+ case 1: {
528
+ value_4 = encodeStringArrayOrScalar(values_1);
529
+ break;
530
+ }
531
+ default:
532
+ value_4 = void 0;
533
+ }
534
+ let acc_5;
535
+ let acc_2;
536
+ const value_1 = typeElement;
537
+ const acc_1 = empty();
538
+ acc_2 = value_1 == null ? acc_1 : append(acc_1, singleton(["type", value(value_1)]));
539
+ const value_3 = o.OutputBinding;
540
+ const acc_3 = acc_2;
541
+ acc_5 = value_3 == null ? acc_3 : append(acc_3, singleton(["outputBinding", encodeOutputBinding(value(value_3))]));
542
+ pairs = value_4 == null ? acc_5 : append(acc_5, singleton(["outputSource", value(value_4)]));
543
+ let matchResult_2, t_1;
544
+ if (!isEmpty(pairs)) {
545
+ if (head(pairs)[0] === "type") {
546
+ if (isEmpty(tail(pairs))) {
547
+ matchResult_2 = 0;
548
+ t_1 = head(pairs)[1];
549
+ } else {
550
+ matchResult_2 = 1;
551
+ }
552
+ } else {
553
+ matchResult_2 = 1;
554
+ }
555
+ } else {
556
+ matchResult_2 = 1;
557
+ }
558
+ switch (matchResult_2) {
559
+ case 0:
560
+ return [o.Name, t_1];
561
+ default:
562
+ return [o.Name, yMap(pairs)];
563
+ }
564
+ }
565
+ function encodeInputBinding(ib) {
566
+ let value_9, acc_7, value_7, acc_5, value_4, acc_3, value_2, acc_1;
567
+ return yMap((value_9 = ib.Separate, acc_7 = (value_7 = ib.ItemSeparator, acc_5 = (value_4 = ib.Position, acc_3 = (value_2 = ib.Prefix, acc_1 = empty(), value_2 == null ? acc_1 : append(acc_1, singleton(["prefix", string(value(value_2))]))), value_4 == null ? acc_3 : append(acc_3, singleton(["position", int(value(value_4))]))), value_7 == null ? acc_5 : append(acc_5, singleton(["itemSeparator", string(value(value_7))]))), value_9 == null ? acc_7 : append(acc_7, singleton(["separate", yBool(value(value_9))]))));
568
+ }
569
+ function encodeCWLInput(i) {
570
+ let pairs;
571
+ let acc_4;
572
+ let acc_2;
573
+ const value$1 = map((t) => {
574
+ switch (t.tag) {
575
+ case /* Union */
576
+ 14: {
577
+ const typesList = toList(t.fields[0]);
578
+ let matchResult, otherType;
579
+ if (!isEmpty(typesList)) {
580
+ if (head(typesList).tag === /* Null */
581
+ 10) {
582
+ if (!isEmpty(tail(typesList))) {
583
+ if (isEmpty(tail(tail(typesList)))) {
584
+ matchResult = 0;
585
+ otherType = head(tail(typesList));
586
+ } else {
587
+ matchResult = 1;
588
+ }
589
+ } else {
590
+ matchResult = 1;
591
+ }
592
+ } else if (!isEmpty(tail(typesList))) {
593
+ if (head(tail(typesList)).tag === /* Null */
594
+ 10) {
595
+ if (isEmpty(tail(tail(typesList)))) {
596
+ matchResult = 0;
597
+ otherType = head(typesList);
598
+ } else {
599
+ matchResult = 1;
600
+ }
601
+ } else {
602
+ matchResult = 1;
603
+ }
604
+ } else {
605
+ matchResult = 1;
606
+ }
607
+ } else {
608
+ matchResult = 1;
609
+ }
610
+ switch (matchResult) {
611
+ case 0:
612
+ switch (otherType.tag) {
613
+ case /* File */
614
+ 0:
615
+ case /* Directory */
616
+ 1:
617
+ case /* String */
618
+ 3:
619
+ case /* Int */
620
+ 4:
621
+ case /* Long */
622
+ 5:
623
+ case /* Float */
624
+ 6:
625
+ case /* Double */
626
+ 7:
627
+ case /* Boolean */
628
+ 8:
629
+ return encodeCWLType(t);
630
+ case /* Array */
631
+ 11: {
632
+ const matchValue = otherType.fields[0].Items;
633
+ switch (matchValue.tag) {
634
+ case /* File */
635
+ 0:
636
+ case /* Directory */
637
+ 1:
638
+ case /* String */
639
+ 3:
640
+ case /* Int */
641
+ 4:
642
+ case /* Long */
643
+ 5:
644
+ case /* Float */
645
+ 6:
646
+ case /* Double */
647
+ 7:
648
+ case /* Boolean */
649
+ 8:
650
+ return encodeCWLType(t);
651
+ default:
652
+ return encodeCWLType(t);
653
+ }
654
+ }
655
+ default:
656
+ return encodeCWLType(t);
657
+ }
658
+ default:
659
+ return encodeCWLType(t);
660
+ }
661
+ }
662
+ case /* Array */
663
+ 11: {
664
+ const arraySchema_1 = t.fields[0];
665
+ const matchValue_1 = arraySchema_1.Items;
666
+ switch (matchValue_1.tag) {
667
+ case /* File */
668
+ 0:
669
+ case /* Directory */
670
+ 1:
671
+ case /* Dirent */
672
+ 2:
673
+ case /* String */
674
+ 3:
675
+ case /* Int */
676
+ 4:
677
+ case /* Long */
678
+ 5:
679
+ case /* Float */
680
+ 6:
681
+ case /* Double */
682
+ 7:
683
+ case /* Boolean */
684
+ 8:
685
+ return encodeCWLType(t);
686
+ default:
687
+ return yMap(singleton(["type", encodeInputArraySchema(arraySchema_1)]));
688
+ }
689
+ }
690
+ case /* Record */
691
+ 12:
692
+ return yMap(singleton(["type", encodeInputRecordSchema(t.fields[0])]));
693
+ case /* Enum */
694
+ 13:
695
+ return yMap(singleton(["type", encodeInputEnumSchema(t.fields[0])]));
696
+ default:
697
+ return encodeCWLType(t);
698
+ }
699
+ }, i.Type_);
700
+ const acc_1 = empty();
701
+ acc_2 = value$1 == null ? acc_1 : append(acc_1, singleton(["type", value(value$1)]));
702
+ const value_2 = i.InputBinding;
703
+ const acc_3 = acc_2;
704
+ acc_4 = value_2 == null ? acc_3 : append(acc_3, singleton(["inputBinding", encodeInputBinding(value(value_2))]));
705
+ const value_4 = i.Optional;
706
+ const acc_5 = acc_4;
707
+ pairs = value_4 == null ? acc_5 : append(acc_5, singleton(["optional", yBool(value(value_4))]));
708
+ let matchResult_1, t_1;
709
+ if (!isEmpty(pairs)) {
710
+ if (head(pairs)[0] === "type") {
711
+ if (isEmpty(tail(pairs))) {
712
+ matchResult_1 = 0;
713
+ t_1 = head(pairs)[1];
714
+ } else {
715
+ matchResult_1 = 1;
716
+ }
717
+ } else {
718
+ matchResult_1 = 1;
719
+ }
720
+ } else {
721
+ matchResult_1 = 1;
722
+ }
723
+ switch (matchResult_1) {
724
+ case 0:
725
+ return [i.Name, t_1];
726
+ default:
727
+ return [i.Name, yMap(pairs)];
728
+ }
729
+ }
730
+ function encodeSchemaDefRequirementType(s) {
731
+ return yMap(ofArray([["name", string(s.Name)], ["type", encodeCWLType(s.Type_)]]));
732
+ }
733
+ function encodeRequirement(r) {
734
+ let value_20, acc_13, value_17, acc_11, value_14, acc_9, value_11, acc_7, value_8, acc_5, value_5, acc_3, value_2, acc_1;
735
+ switch (r.tag) {
736
+ case /* SchemaDefRequirement */
737
+ 1: {
738
+ const types = r.fields[0];
739
+ return yMap(ofArray([["class", string("SchemaDefRequirement")], ["types", YAMLElement_Sequence(ofSeq(map$2(encodeSchemaDefRequirementType, types)))]]));
740
+ }
741
+ case /* DockerRequirement */
742
+ 2: {
743
+ const dr = r.fields[0];
744
+ return yMap((value_20 = dr.DockerOutputDirectory, acc_13 = (value_17 = dr.DockerImport, acc_11 = (value_14 = dr.DockerLoad, acc_9 = (value_11 = dr.DockerImageId, acc_7 = (value_8 = dr.DockerFile, acc_5 = (value_5 = dr.DockerPull, acc_3 = singleton(["class", string("DockerRequirement")]), value_5 == null ? acc_3 : append(acc_3, singleton(["dockerPull", string(value(value_5))]))), value_8 == null ? acc_5 : append(acc_5, singleton(["dockerFile", encodeSchemaSaladString(value(value_8))]))), value_11 == null ? acc_7 : append(acc_7, singleton(["dockerImageId", string(value(value_11))]))), value_14 == null ? acc_9 : append(acc_9, singleton(["dockerLoad", string(value(value_14))]))), value_17 == null ? acc_11 : append(acc_11, singleton(["dockerImport", string(value(value_17))]))), value_20 == null ? acc_13 : append(acc_13, singleton(["dockerOutputDirectory", string(value(value_20))]))));
745
+ }
746
+ case /* SoftwareRequirement */
747
+ 3: {
748
+ const pkgs = r.fields[0];
749
+ return yMap(ofArray([["class", string("SoftwareRequirement")], ["packages", YAMLElement_Sequence(ofSeq(map$2((p) => {
750
+ let value_26, acc_18, value_23, acc_16;
751
+ return yMap((value_26 = p.Specs, acc_18 = (value_23 = p.Version, acc_16 = append(empty(), singleton(["package", string(p.Package)])), value_23 == null ? acc_16 : append(acc_16, singleton(["version", YAMLElement_Sequence(ofSeq(map$2(string, value(value_23))))]))), value_26 == null ? acc_18 : append(acc_18, singleton(["specs", YAMLElement_Sequence(ofSeq(map$2(string, value(value_26))))]))));
752
+ }, pkgs)))]]));
753
+ }
754
+ case /* LoadListingRequirement */
755
+ 4: {
756
+ const loadListing = r.fields[0];
757
+ return yMap(ofArray([["class", string("LoadListingRequirement")], ["loadListing", string(LoadListingEnum_get_toCwlString()(loadListing.LoadListing))]]));
758
+ }
759
+ case /* InitialWorkDirRequirement */
760
+ 5: {
761
+ const listing = r.fields[0];
762
+ const encodeDynamicObjWithClass = (className, dynObj) => {
763
+ const dynamicPairs = toList(choose$1((kvp) => {
764
+ const matchValue = kvp[1];
765
+ if (typeof matchValue === "string") {
766
+ return [kvp[0], string(matchValue)];
767
+ } else if (typeof matchValue === "boolean") {
768
+ return [kvp[0], yBool(matchValue)];
769
+ } else if (typeof matchValue === "number") {
770
+ return [kvp[0], int(matchValue)];
771
+ } else if (typeof matchValue === "bigint") {
772
+ return [kvp[0], string(int64ToString(matchValue))];
773
+ } else if (typeof matchValue === "number") {
774
+ return [kvp[0], float(matchValue)];
775
+ } else if (matchValue instanceof YAMLElement) {
776
+ return [kvp[0], matchValue];
777
+ } else {
778
+ return void 0;
779
+ }
780
+ }, dynObj.GetProperties(false)));
781
+ if (exists((tupledArg) => tupledArg[0] === "class", dynamicPairs)) {
782
+ return yMap(dynamicPairs);
783
+ } else {
784
+ return yMap(cons(["class", string(className)], dynamicPairs));
785
+ }
786
+ };
787
+ return yMap(ofArray([["class", string("InitialWorkDirRequirement")], ["listing", YAMLElement_Sequence(ofSeq(map$2((_arg_1) => {
788
+ let value_31, acc_23, value_29, acc_20;
789
+ switch (_arg_1.tag) {
790
+ case /* StringEntry */
791
+ 1:
792
+ return encodeSchemaSaladString(_arg_1.fields[0]);
793
+ case /* FileEntry */
794
+ 2: {
795
+ const arg_1 = _arg_1.fields[0];
796
+ return encodeDynamicObjWithClass("File", arg_1);
797
+ }
798
+ case /* DirectoryEntry */
799
+ 3: {
800
+ const arg_3 = _arg_1.fields[0];
801
+ return encodeDynamicObjWithClass("Directory", arg_3);
802
+ }
803
+ default: {
804
+ const d = _arg_1.fields[0];
805
+ return yMap((value_31 = d.Writable, acc_23 = append((value_29 = d.Entryname, acc_20 = empty(), value_29 == null ? acc_20 : append(acc_20, singleton(["entryname", encodeSchemaSaladString(value(value_29))]))), singleton(["entry", encodeSchemaSaladString(d.Entry)])), value_31 == null ? acc_23 : append(acc_23, singleton(["writable", yBool(value(value_31))]))));
806
+ }
807
+ }
808
+ }, listing)))]]));
809
+ }
810
+ case /* EnvVarRequirement */
811
+ 6: {
812
+ const envs = r.fields[0];
813
+ return yMap(ofArray([["class", string("EnvVarRequirement")], ["envDef", YAMLElement_Sequence(ofSeq(map$2((e) => {
814
+ const v_11 = normalizeEnvValueForEncode(e.EnvValue);
815
+ return yMap(ofArray([["envName", string(e.EnvName)], ["envValue", string(v_11)]]));
816
+ }, envs)))]]));
817
+ }
818
+ case /* ShellCommandRequirement */
819
+ 7:
820
+ return yMap(singleton(["class", string("ShellCommandRequirement")]));
821
+ case /* ResourceRequirement */
822
+ 8: {
823
+ const rr = r.fields[0];
824
+ const tryEncodeScalar = (key, value_32) => {
825
+ if (typeof value_32 === "number") {
826
+ return [key, int(value_32)];
827
+ } else if (typeof value_32 === "bigint") {
828
+ return [key, YAMLElement_Value(new YAMLContent(int64ToString(value_32), void 0))];
829
+ } else if (typeof value_32 === "number") {
830
+ return [key, float(value_32)];
831
+ } else if (typeof value_32 === "string") {
832
+ return [key, string(value_32)];
833
+ } else if (typeof value_32 === "boolean") {
834
+ return [key, yBool(value_32)];
835
+ } else {
836
+ return void 0;
837
+ }
838
+ };
839
+ const dynamicPairs_1 = toList(choose$1((kvp_1) => {
840
+ const matchValue_1 = kvp_1[1];
841
+ return tryEncodeScalar(kvp_1[0], matchValue_1);
842
+ }, rr.GetProperties(false)));
843
+ return yMap(append(singleton(["class", string("ResourceRequirement")]), dynamicPairs_1));
844
+ }
845
+ case /* WorkReuseRequirement */
846
+ 9: {
847
+ const workReuse = r.fields[0];
848
+ return yMap(ofArray([["class", string("WorkReuse")], ["enableReuse", yBool(workReuse.EnableReuse)]]));
849
+ }
850
+ case /* WorkReuseExpressionRequirement */
851
+ 10: {
852
+ const expression = r.fields[0];
853
+ return yMap(ofArray([["class", string("WorkReuse")], ["enableReuse", string(expression)]]));
854
+ }
855
+ case /* NetworkAccessRequirement */
856
+ 11: {
857
+ const networkAccess = r.fields[0];
858
+ return yMap(ofArray([["class", string("NetworkAccess")], ["networkAccess", yBool(networkAccess.NetworkAccess)]]));
859
+ }
860
+ case /* NetworkAccessExpressionRequirement */
861
+ 12: {
862
+ const expression_1 = r.fields[0];
863
+ return yMap(ofArray([["class", string("NetworkAccess")], ["networkAccess", string(expression_1)]]));
864
+ }
865
+ case /* InplaceUpdateRequirement */
866
+ 13: {
867
+ const inplaceUpdate = r.fields[0];
868
+ return yMap(ofArray([["class", string("InplaceUpdateRequirement")], ["inplaceUpdate", yBool(inplaceUpdate.InplaceUpdate)]]));
869
+ }
870
+ case /* ToolTimeLimitRequirement */
871
+ 14: {
872
+ const tl = r.fields[0];
873
+ const timelimit = tl.tag === /* ToolTimeLimitExpression */
874
+ 1 ? string(tl.fields[0]) : YAMLElement_Value(new YAMLContent(int64ToString(tl.fields[0]), void 0));
875
+ return yMap(ofArray([["class", string("ToolTimeLimit")], ["timelimit", timelimit]]));
876
+ }
877
+ case /* SubworkflowFeatureRequirement */
878
+ 15:
879
+ return yMap(singleton(["class", string("SubworkflowFeatureRequirement")]));
880
+ case /* ScatterFeatureRequirement */
881
+ 16:
882
+ return yMap(singleton(["class", string("ScatterFeatureRequirement")]));
883
+ case /* MultipleInputFeatureRequirement */
884
+ 17:
885
+ return yMap(singleton(["class", string("MultipleInputFeatureRequirement")]));
886
+ case /* StepInputExpressionRequirement */
887
+ 18:
888
+ return yMap(singleton(["class", string("StepInputExpressionRequirement")]));
889
+ default:
890
+ return yMap((value_2 = bind((entries) => {
891
+ if (entries.length > 0) {
892
+ return entries;
893
+ } else {
894
+ return void 0;
895
+ }
896
+ }, r.fields[0].ExpressionLib), acc_1 = singleton(["class", string("InlineJavascriptRequirement")]), value_2 == null ? acc_1 : append(acc_1, singleton(["expressionLib", YAMLElement_Sequence(ofSeq(map$2(string, value(value_2))))]))));
897
+ }
898
+ }
899
+ function encodeHintEntry(hint) {
900
+ if (hint.tag === /* UnknownHint */
901
+ 1) {
902
+ return hint.fields[0].Raw;
903
+ } else {
904
+ return encodeRequirement(hint.fields[0]);
905
+ }
906
+ }
907
+ function encodeSourceArray(sources) {
908
+ if (sources.length === 1) {
909
+ return string(sources[0]);
910
+ } else {
911
+ return YAMLElement_Sequence(ofSeq(map$2((s) => YAMLElement_Object(singleton(YAMLElement_Value(new YAMLContent(s, void 0)))), sources)));
912
+ }
913
+ }
914
+ function encodeLinkMergeMethod(linkMerge) {
915
+ return string(linkMerge.AsCwlString);
916
+ }
917
+ function encodePickValueMethod(pickValue) {
918
+ return string(pickValue.AsCwlString);
919
+ }
920
+ function encodeScatterMethod(scatterMethod) {
921
+ return string(scatterMethod.AsCwlString);
922
+ }
923
+ function encodeStepInput(si) {
924
+ let pairs;
925
+ const value_21 = si.Label;
926
+ let acc_17;
927
+ const value_18 = si.LoadListing;
928
+ let acc_15;
929
+ const value_15 = si.LoadContents;
930
+ let acc_13;
931
+ const value_13 = si.Doc;
932
+ let acc_11;
933
+ const value_10 = si.PickValue;
934
+ let acc_9;
935
+ const value_8 = si.LinkMerge;
936
+ let acc_7;
937
+ const value_6 = si.ValueFrom;
938
+ let acc_5;
939
+ const value_3 = si.DefaultValue;
940
+ let acc_3;
941
+ const value_1 = si.Source;
942
+ const acc_1 = empty();
943
+ acc_3 = value_1 == null ? acc_1 : append(acc_1, singleton(["source", encodeSourceArray(value(value_1))]));
944
+ acc_5 = value_3 == null ? acc_3 : append(acc_3, singleton(["default", value(value_3)]));
945
+ acc_7 = value_6 == null ? acc_5 : append(acc_5, singleton(["valueFrom", string(value(value_6))]));
946
+ acc_9 = value_8 == null ? acc_7 : append(acc_7, singleton(["linkMerge", encodeLinkMergeMethod(value(value_8))]));
947
+ acc_11 = value_10 == null ? acc_9 : append(acc_9, singleton(["pickValue", encodePickValueMethod(value(value_10))]));
948
+ acc_13 = value_13 == null ? acc_11 : append(acc_11, singleton(["doc", string(value(value_13))]));
949
+ acc_15 = value_15 == null ? acc_13 : append(acc_13, singleton(["loadContents", yBool(value(value_15))]));
950
+ acc_17 = value_18 == null ? acc_15 : append(acc_15, singleton(["loadListing", string(value(value_18))]));
951
+ pairs = value_21 == null ? acc_17 : append(acc_17, singleton(["label", string(value(value_21))]));
952
+ let matchResult, s_1;
953
+ if (!isEmpty(pairs)) {
954
+ if (head(pairs)[0] === "source") {
955
+ if (isEmpty(tail(pairs))) {
956
+ if (si.DefaultValue == null && si.ValueFrom == null && si.LinkMerge == null && si.PickValue == null && si.Doc == null && si.LoadContents == null && si.LoadListing == null && si.Label == null) {
957
+ matchResult = 0;
958
+ s_1 = head(pairs)[1];
959
+ } else {
960
+ matchResult = 1;
961
+ }
962
+ } else {
963
+ matchResult = 1;
964
+ }
965
+ } else {
966
+ matchResult = 1;
967
+ }
968
+ } else {
969
+ matchResult = 1;
970
+ }
971
+ switch (matchResult) {
972
+ case 0:
973
+ return [si.Id, s_1];
974
+ default:
975
+ return [si.Id, yMap(pairs)];
976
+ }
977
+ }
978
+ function encodeStepInputs(inputs) {
979
+ return yMap(toList(map$2(encodeStepInput, inputs)));
980
+ }
981
+ function encodeStepOutputParameter(so) {
982
+ return yMap(singleton(["id", string(so.Id)]));
983
+ }
984
+ function encodeStepOutputs(outputs) {
985
+ return YAMLElement_Sequence(ofSeq(map$2((output) => {
986
+ if (output.tag === /* StepOutputRecord */
987
+ 1) {
988
+ return encodeStepOutputParameter(output.fields[0]);
989
+ } else {
990
+ return string(output.fields[0]);
991
+ }
992
+ }, outputs)));
993
+ }
994
+ function encodeScatter(scatter) {
995
+ if (scatter.length === 1) {
996
+ return string(scatter[0]);
997
+ } else {
998
+ return YAMLElement_Sequence(ofSeq(map$2(string, scatter)));
999
+ }
1000
+ }
1001
+ function encodeWorkflowStepRun(run) {
1002
+ switch (run.tag) {
1003
+ case /* RunCommandLineTool */
1004
+ 1: {
1005
+ const toolObj = run.fields[0];
1006
+ const matchValue = WorkflowStepRunOps_tryGetTool(run);
1007
+ if (matchValue == null) {
1008
+ throw new Error(toText(interpolate("RunCommandLineTool must contain CWLToolDescription but got %A%P()", [toolObj])));
1009
+ } else {
1010
+ return encodeToolDescriptionElement(value(matchValue));
1011
+ }
1012
+ }
1013
+ case /* RunWorkflow */
1014
+ 2: {
1015
+ const workflowObj = run.fields[0];
1016
+ const matchValue_1 = WorkflowStepRunOps_tryGetWorkflow(run);
1017
+ if (matchValue_1 == null) {
1018
+ throw new Error(toText(interpolate("RunWorkflow must contain CWLWorkflowDescription but got %A%P()", [workflowObj])));
1019
+ } else {
1020
+ return encodeWorkflowDescriptionElement(value(matchValue_1));
1021
+ }
1022
+ }
1023
+ case /* RunExpressionTool */
1024
+ 3: {
1025
+ const expressionToolObj = run.fields[0];
1026
+ const matchValue_2 = WorkflowStepRunOps_tryGetExpressionTool(run);
1027
+ if (matchValue_2 == null) {
1028
+ throw new Error(toText(interpolate("RunExpressionTool must contain CWLExpressionToolDescription but got %A%P()", [expressionToolObj])));
1029
+ } else {
1030
+ return encodeExpressionToolDescriptionElement(value(matchValue_2));
1031
+ }
1032
+ }
1033
+ case /* RunOperation */
1034
+ 4: {
1035
+ const operationObj = run.fields[0];
1036
+ const matchValue_3 = WorkflowStepRunOps_tryGetOperation(run);
1037
+ if (matchValue_3 == null) {
1038
+ throw new Error(toText(interpolate("RunOperation must contain CWLOperationDescription but got %A%P()", [operationObj])));
1039
+ } else {
1040
+ return encodeOperationDescriptionElement(value(matchValue_3));
1041
+ }
1042
+ }
1043
+ default:
1044
+ return string(run.fields[0]);
1045
+ }
1046
+ }
1047
+ function encodeToolDescriptionElement(td) {
1048
+ let h, r, bc, matchValue_3, i, i_1, matchValue_4, md;
1049
+ let basePairs;
1050
+ let acc_4;
1051
+ let acc_2;
1052
+ const acc = ofArray([["cwlVersion", string(td.CWLVersion)], ["class", string("CommandLineTool")]]);
1053
+ const pairOpt_1 = map(encodeLabel, td.Label);
1054
+ const acc_1 = acc;
1055
+ acc_2 = pairOpt_1 == null ? acc_1 : append(acc_1, singleton(value(pairOpt_1)));
1056
+ const pairOpt_3 = map(encodeDoc, td.Doc);
1057
+ const acc_3 = acc_2;
1058
+ acc_4 = pairOpt_3 == null ? acc_3 : append(acc_3, singleton(value(pairOpt_3)));
1059
+ const pairOpt_5 = map(encodeIntent, filter((intent) => intent.length > 0, td.Intent));
1060
+ const acc_5 = acc_4;
1061
+ basePairs = pairOpt_5 == null ? acc_5 : append(acc_5, singleton(value(pairOpt_5)));
1062
+ let withHints;
1063
+ const matchValue = td.Hints;
1064
+ let matchResult, h_1;
1065
+ if (matchValue != null) {
1066
+ if (h = value(matchValue), h.length > 0) {
1067
+ matchResult = 0;
1068
+ h_1 = value(matchValue);
1069
+ } else {
1070
+ matchResult = 1;
1071
+ }
1072
+ } else {
1073
+ matchResult = 1;
1074
+ }
1075
+ switch (matchResult) {
1076
+ case 0: {
1077
+ withHints = append(basePairs, singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeHintEntry, h_1)))]));
1078
+ break;
1079
+ }
1080
+ default:
1081
+ withHints = basePairs;
1082
+ }
1083
+ let withRequirements;
1084
+ const matchValue_1 = td.Requirements;
1085
+ let matchResult_1, r_1;
1086
+ if (matchValue_1 != null) {
1087
+ if (r = value(matchValue_1), r.length > 0) {
1088
+ matchResult_1 = 0;
1089
+ r_1 = value(matchValue_1);
1090
+ } else {
1091
+ matchResult_1 = 1;
1092
+ }
1093
+ } else {
1094
+ matchResult_1 = 1;
1095
+ }
1096
+ switch (matchResult_1) {
1097
+ case 0: {
1098
+ withRequirements = append(withHints, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))]));
1099
+ break;
1100
+ }
1101
+ default:
1102
+ withRequirements = withHints;
1103
+ }
1104
+ let withBaseCommand;
1105
+ const matchValue_2 = td.BaseCommand;
1106
+ let matchResult_2, bc_1;
1107
+ if (matchValue_2 != null) {
1108
+ if (bc = value(matchValue_2), bc.length > 0) {
1109
+ matchResult_2 = 0;
1110
+ bc_1 = value(matchValue_2);
1111
+ } else {
1112
+ matchResult_2 = 1;
1113
+ }
1114
+ } else {
1115
+ matchResult_2 = 1;
1116
+ }
1117
+ switch (matchResult_2) {
1118
+ case 0: {
1119
+ withBaseCommand = append(withRequirements, singleton(["baseCommand", YAMLElement_Sequence(ofSeq(map$2(string, bc_1)))]));
1120
+ break;
1121
+ }
1122
+ default:
1123
+ withBaseCommand = withRequirements;
1124
+ }
1125
+ const withOutputs = append((matchValue_3 = td.Inputs, matchValue_3 != null ? (i = value(matchValue_3), i.length > 0) ? (i_1 = value(matchValue_3), append(withBaseCommand, singleton(["inputs", yMap(toList(map$2(encodeCWLInput, i_1)))]))) : withBaseCommand : withBaseCommand), singleton(["outputs", yMap(toList(map$2(encodeCWLOutput, td.Outputs)))]));
1126
+ return yMap((matchValue_4 = td.Metadata, matchValue_4 == null ? withOutputs : (md = value(matchValue_4), fold((acc_6, kvp) => {
1127
+ let matchValue_5;
1128
+ return append(acc_6, singleton([kvp[0], (matchValue_5 = kvp[1], typeof matchValue_5 === "string" ? string(matchValue_5) : typeof matchValue_5 === "boolean" ? yBool(matchValue_5) : typeof matchValue_5 === "number" ? int(matchValue_5) : typeof matchValue_5 === "number" ? float(matchValue_5) : matchValue_5 instanceof YAMLElement ? matchValue_5 : string(toString(kvp[1])))]));
1129
+ }, withOutputs, md.GetProperties(false)))));
1130
+ }
1131
+ function encodeExpressionToolDescriptionElement(et) {
1132
+ let h, r, matchValue_2, i, i_1, matchValue_3, md;
1133
+ let basePairs;
1134
+ let acc_4;
1135
+ let acc_2;
1136
+ const acc = ofArray([["cwlVersion", string(et.CWLVersion)], ["class", string("ExpressionTool")]]);
1137
+ const pairOpt_1 = map(encodeLabel, et.Label);
1138
+ const acc_1 = acc;
1139
+ acc_2 = pairOpt_1 == null ? acc_1 : append(acc_1, singleton(value(pairOpt_1)));
1140
+ const pairOpt_3 = map(encodeDoc, et.Doc);
1141
+ const acc_3 = acc_2;
1142
+ acc_4 = pairOpt_3 == null ? acc_3 : append(acc_3, singleton(value(pairOpt_3)));
1143
+ const pairOpt_5 = map(encodeIntent, filter((intent) => intent.length > 0, et.Intent));
1144
+ const acc_5 = acc_4;
1145
+ basePairs = pairOpt_5 == null ? acc_5 : append(acc_5, singleton(value(pairOpt_5)));
1146
+ let withHints;
1147
+ const matchValue = et.Hints;
1148
+ let matchResult, h_1;
1149
+ if (matchValue != null) {
1150
+ if (h = value(matchValue), h.length > 0) {
1151
+ matchResult = 0;
1152
+ h_1 = value(matchValue);
1153
+ } else {
1154
+ matchResult = 1;
1155
+ }
1156
+ } else {
1157
+ matchResult = 1;
1158
+ }
1159
+ switch (matchResult) {
1160
+ case 0: {
1161
+ withHints = append(basePairs, singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeHintEntry, h_1)))]));
1162
+ break;
1163
+ }
1164
+ default:
1165
+ withHints = basePairs;
1166
+ }
1167
+ let withRequirements;
1168
+ const matchValue_1 = et.Requirements;
1169
+ let matchResult_1, r_1;
1170
+ if (matchValue_1 != null) {
1171
+ if (r = value(matchValue_1), r.length > 0) {
1172
+ matchResult_1 = 0;
1173
+ r_1 = value(matchValue_1);
1174
+ } else {
1175
+ matchResult_1 = 1;
1176
+ }
1177
+ } else {
1178
+ matchResult_1 = 1;
1179
+ }
1180
+ switch (matchResult_1) {
1181
+ case 0: {
1182
+ withRequirements = append(withHints, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))]));
1183
+ break;
1184
+ }
1185
+ default:
1186
+ withRequirements = withHints;
1187
+ }
1188
+ const withExpression = append(append((matchValue_2 = et.Inputs, matchValue_2 != null ? (i = value(matchValue_2), i.length > 0) ? (i_1 = value(matchValue_2), append(withRequirements, singleton(["inputs", yMap(toList(map$2(encodeCWLInput, i_1)))]))) : withRequirements : withRequirements), singleton(["outputs", yMap(toList(map$2(encodeCWLOutput, et.Outputs)))])), singleton(["expression", string(et.Expression)]));
1189
+ return yMap((matchValue_3 = et.Metadata, matchValue_3 == null ? withExpression : (md = value(matchValue_3), fold((acc_6, kvp) => {
1190
+ let matchValue_4;
1191
+ return append(acc_6, singleton([kvp[0], (matchValue_4 = kvp[1], typeof matchValue_4 === "string" ? string(matchValue_4) : typeof matchValue_4 === "boolean" ? yBool(matchValue_4) : typeof matchValue_4 === "number" ? int(matchValue_4) : typeof matchValue_4 === "number" ? float(matchValue_4) : matchValue_4 instanceof YAMLElement ? matchValue_4 : string(toString(kvp[1])))]));
1192
+ }, withExpression, md.GetProperties(false)))));
1193
+ }
1194
+ function encodeOperationDescriptionElement(op) {
1195
+ let h, matchValue_1, r, r_1, matchValue_2, md;
1196
+ let basePairs;
1197
+ let acc_4;
1198
+ let acc_2;
1199
+ const acc = ofArray([["cwlVersion", string(op.CWLVersion)], ["class", string("Operation")]]);
1200
+ const pairOpt_1 = map(encodeLabel, op.Label);
1201
+ const acc_1 = acc;
1202
+ acc_2 = pairOpt_1 == null ? acc_1 : append(acc_1, singleton(value(pairOpt_1)));
1203
+ const pairOpt_3 = map(encodeDoc, op.Doc);
1204
+ const acc_3 = acc_2;
1205
+ acc_4 = pairOpt_3 == null ? acc_3 : append(acc_3, singleton(value(pairOpt_3)));
1206
+ const pairOpt_5 = map(encodeIntent, filter((intent) => intent.length > 0, op.Intent));
1207
+ const acc_5 = acc_4;
1208
+ basePairs = pairOpt_5 == null ? acc_5 : append(acc_5, singleton(value(pairOpt_5)));
1209
+ let withHints;
1210
+ const matchValue = op.Hints;
1211
+ let matchResult, h_1;
1212
+ if (matchValue != null) {
1213
+ if (h = value(matchValue), h.length > 0) {
1214
+ matchResult = 0;
1215
+ h_1 = value(matchValue);
1216
+ } else {
1217
+ matchResult = 1;
1218
+ }
1219
+ } else {
1220
+ matchResult = 1;
1221
+ }
1222
+ switch (matchResult) {
1223
+ case 0: {
1224
+ withHints = append(basePairs, singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeHintEntry, h_1)))]));
1225
+ break;
1226
+ }
1227
+ default:
1228
+ withHints = basePairs;
1229
+ }
1230
+ const withOutputs = append(append((matchValue_1 = op.Requirements, matchValue_1 != null ? (r = value(matchValue_1), r.length > 0) ? (r_1 = value(matchValue_1), append(withHints, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))]))) : withHints : withHints), singleton(["inputs", yMap(toList(map$2(encodeCWLInput, op.Inputs)))])), singleton(["outputs", yMap(toList(map$2(encodeCWLOutput, op.Outputs)))]));
1231
+ return yMap((matchValue_2 = op.Metadata, matchValue_2 == null ? withOutputs : (md = value(matchValue_2), fold((acc_6, kvp) => {
1232
+ let matchValue_3;
1233
+ return append(acc_6, singleton([kvp[0], (matchValue_3 = kvp[1], typeof matchValue_3 === "string" ? string(matchValue_3) : typeof matchValue_3 === "boolean" ? yBool(matchValue_3) : typeof matchValue_3 === "number" ? int(matchValue_3) : typeof matchValue_3 === "number" ? float(matchValue_3) : matchValue_3 instanceof YAMLElement ? matchValue_3 : string(toString(kvp[1])))]));
1234
+ }, withOutputs, md.GetProperties(false)))));
1235
+ }
1236
+ function encodeWorkflowDescriptionElement(wd) {
1237
+ let h, matchValue_1, r, r_1, matchValue_2, md;
1238
+ let basePairs;
1239
+ let acc_4;
1240
+ let acc_2;
1241
+ const acc = ofArray([["cwlVersion", string(wd.CWLVersion)], ["class", string("Workflow")]]);
1242
+ const pairOpt_1 = map(encodeLabel, wd.Label);
1243
+ const acc_1 = acc;
1244
+ acc_2 = pairOpt_1 == null ? acc_1 : append(acc_1, singleton(value(pairOpt_1)));
1245
+ const pairOpt_3 = map(encodeDoc, wd.Doc);
1246
+ const acc_3 = acc_2;
1247
+ acc_4 = pairOpt_3 == null ? acc_3 : append(acc_3, singleton(value(pairOpt_3)));
1248
+ const pairOpt_5 = map(encodeIntent, filter((intent) => intent.length > 0, wd.Intent));
1249
+ const acc_5 = acc_4;
1250
+ basePairs = pairOpt_5 == null ? acc_5 : append(acc_5, singleton(value(pairOpt_5)));
1251
+ let withHints;
1252
+ const matchValue = wd.Hints;
1253
+ let matchResult, h_1;
1254
+ if (matchValue != null) {
1255
+ if (h = value(matchValue), h.length > 0) {
1256
+ matchResult = 0;
1257
+ h_1 = value(matchValue);
1258
+ } else {
1259
+ matchResult = 1;
1260
+ }
1261
+ } else {
1262
+ matchResult = 1;
1263
+ }
1264
+ switch (matchResult) {
1265
+ case 0: {
1266
+ withHints = append(basePairs, singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeHintEntry, h_1)))]));
1267
+ break;
1268
+ }
1269
+ default:
1270
+ withHints = basePairs;
1271
+ }
1272
+ const withOutputs = append(append(append((matchValue_1 = wd.Requirements, matchValue_1 != null ? (r = value(matchValue_1), r.length > 0) ? (r_1 = value(matchValue_1), append(withHints, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))]))) : withHints : withHints), singleton(["inputs", yMap(toList(map$2(encodeCWLInput, wd.Inputs)))])), singleton(["steps", yMap(toList(map$2(encodeWorkflowStep, wd.Steps)))])), singleton(["outputs", yMap(toList(map$2(encodeCWLOutput, wd.Outputs)))]));
1273
+ return yMap((matchValue_2 = wd.Metadata, matchValue_2 == null ? withOutputs : (md = value(matchValue_2), fold((acc_6, kvp) => {
1274
+ let matchValue_3;
1275
+ return append(acc_6, singleton([kvp[0], (matchValue_3 = kvp[1], typeof matchValue_3 === "string" ? string(matchValue_3) : typeof matchValue_3 === "boolean" ? yBool(matchValue_3) : typeof matchValue_3 === "number" ? int(matchValue_3) : typeof matchValue_3 === "number" ? float(matchValue_3) : matchValue_3 instanceof YAMLElement ? matchValue_3 : string(toString(kvp[1])))]));
1276
+ }, withOutputs, md.GetProperties(false)))));
1277
+ }
1278
+ function encodeWorkflowStep(ws) {
1279
+ let h, r;
1280
+ let basePairs;
1281
+ let acc_8;
1282
+ let acc_6;
1283
+ let acc_4;
1284
+ let acc_2;
1285
+ const acc = ofArray([["run", encodeWorkflowStepRun(ws.Run)], ["in", encodeStepInputs(ws.In)], ["out", encodeStepOutputs(ws.Out)]]);
1286
+ const value_2 = ws.Label;
1287
+ const acc_1 = acc;
1288
+ acc_2 = value_2 == null ? acc_1 : append(acc_1, singleton(["label", string(value(value_2))]));
1289
+ const value_5 = ws.Doc;
1290
+ const acc_3 = acc_2;
1291
+ acc_4 = value_5 == null ? acc_3 : append(acc_3, singleton(["doc", string(value(value_5))]));
1292
+ const value_7 = ws.Scatter;
1293
+ const acc_5 = acc_4;
1294
+ acc_6 = value_7 == null ? acc_5 : append(acc_5, singleton(["scatter", encodeScatter(value(value_7))]));
1295
+ const value_9 = ws.ScatterMethod;
1296
+ const acc_7 = acc_6;
1297
+ acc_8 = value_9 == null ? acc_7 : append(acc_7, singleton(["scatterMethod", encodeScatterMethod(value(value_9))]));
1298
+ const value_12 = ws.When_;
1299
+ const acc_9 = acc_8;
1300
+ basePairs = value_12 == null ? acc_9 : append(acc_9, singleton(["when", string(value(value_12))]));
1301
+ let withHints;
1302
+ const matchValue = ws.Hints;
1303
+ let matchResult, h_1;
1304
+ if (matchValue != null) {
1305
+ if (h = value(matchValue), h.length > 0) {
1306
+ matchResult = 0;
1307
+ h_1 = value(matchValue);
1308
+ } else {
1309
+ matchResult = 1;
1310
+ }
1311
+ } else {
1312
+ matchResult = 1;
1313
+ }
1314
+ switch (matchResult) {
1315
+ case 0: {
1316
+ withHints = append(basePairs, singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeHintEntry, h_1)))]));
1317
+ break;
1318
+ }
1319
+ default:
1320
+ withHints = basePairs;
1321
+ }
1322
+ let withReq;
1323
+ const matchValue_1 = ws.Requirements;
1324
+ let matchResult_1, r_1;
1325
+ if (matchValue_1 != null) {
1326
+ if (r = value(matchValue_1), r.length > 0) {
1327
+ matchResult_1 = 0;
1328
+ r_1 = value(matchValue_1);
1329
+ } else {
1330
+ matchResult_1 = 1;
1331
+ }
1332
+ } else {
1333
+ matchResult_1 = 1;
1334
+ }
1335
+ switch (matchResult_1) {
1336
+ case 0: {
1337
+ withReq = append(withHints, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))]));
1338
+ break;
1339
+ }
1340
+ default:
1341
+ withReq = withHints;
1342
+ }
1343
+ return [ws.Id, yMap(withReq)];
1344
+ }
1345
+ function writeYaml(element) {
1346
+ return write(element, (c) => new Config(2, c.Level));
1347
+ }
1348
+ function getObjectPairs(element) {
1349
+ if (element.tag === /* Object */
1350
+ 3) {
1351
+ return choose((_arg) => {
1352
+ if (_arg.tag === /* Mapping */
1353
+ 0) {
1354
+ return [_arg.fields[0].Value, _arg.fields[1]];
1355
+ } else {
1356
+ return void 0;
1357
+ }
1358
+ }, element.fields[0]);
1359
+ } else {
1360
+ return empty();
1361
+ }
1362
+ }
1363
+ function renderTopLevelElement(baseKeys, orderedSectionKeys, element) {
1364
+ const section = (pairs) => trimEnd(replace(writeYaml(yMap(pairs)), "\r\n", "\n"), "\n");
1365
+ const pairs_2 = getObjectPairs(element);
1366
+ const basePairs = filter$1((tupledArg) => contains(tupledArg[0], baseKeys, {
1367
+ Equals: (x, y) => x === y,
1368
+ GetHashCode: stringHash
1369
+ }), pairs_2);
1370
+ const knownSections = choose((sectionKey) => map(singleton, tryFind((tupledArg_1) => tupledArg_1[0] === sectionKey, pairs_2)), orderedSectionKeys);
1371
+ const reservedKeys = ofList(append(baseKeys, orderedSectionKeys), {
1372
+ Compare: comparePrimitives
1373
+ });
1374
+ const metadataPairs = filter$1((tupledArg_2) => !FSharpSet__Contains(reservedKeys, tupledArg_2[0]), pairs_2);
1375
+ const merge = (acc_mut, remaining_mut) => {
1376
+ merge:
1377
+ while (true) {
1378
+ const acc = acc_mut, remaining = remaining_mut;
1379
+ let matchResult, a_1, b_1, rest_1, l, rest_2;
1380
+ if (isEmpty(remaining)) {
1381
+ matchResult = 2;
1382
+ } else if (!isEmpty(tail(remaining))) {
1383
+ if (head(remaining).trim() === "-" && trimStart(head(tail(remaining))).indexOf(":") >= 0) {
1384
+ matchResult = 0;
1385
+ a_1 = head(remaining);
1386
+ b_1 = head(tail(remaining));
1387
+ rest_1 = tail(tail(remaining));
1388
+ } else {
1389
+ matchResult = 1;
1390
+ l = head(remaining);
1391
+ rest_2 = tail(remaining);
1392
+ }
1393
+ } else {
1394
+ matchResult = 1;
1395
+ l = head(remaining);
1396
+ rest_2 = tail(remaining);
1397
+ }
1398
+ switch (matchResult) {
1399
+ case 0: {
1400
+ acc_mut = cons(a_1 + " " + b_1.trim(), acc);
1401
+ remaining_mut = rest_1;
1402
+ continue merge;
1403
+ }
1404
+ case 1: {
1405
+ acc_mut = cons(l, acc);
1406
+ remaining_mut = rest_2;
1407
+ continue merge;
1408
+ }
1409
+ default:
1410
+ return reverse(acc);
1411
+ }
1412
+ break;
1413
+ }
1414
+ };
1415
+ return join("\r\n", merge(empty(), ofArray(split(join("\r\n\r\n", toList(delay(() => append$1(length(basePairs) > 0 ? singleton$1(section(basePairs)) : empty$1(), delay(() => append$1(map$1(section, knownSections), delay(() => length(metadataPairs) > 0 ? singleton$1(section(metadataPairs)) : empty$1()))))))), ["\r\n"], void 0, 0))));
1416
+ }
1417
+ function encodeToolDescription(td) {
1418
+ return renderTopLevelElement(ofArray(["cwlVersion", "class", "label", "doc", "intent"]), ofArray(["hints", "requirements", "baseCommand", "inputs", "outputs"]), encodeToolDescriptionElement(td));
1419
+ }
1420
+ function encodeWorkflowDescription(wd) {
1421
+ return renderTopLevelElement(ofArray(["cwlVersion", "class", "label", "doc", "intent"]), ofArray(["hints", "requirements", "inputs", "steps", "outputs"]), encodeWorkflowDescriptionElement(wd));
1422
+ }
1423
+ function encodeExpressionToolDescription(et) {
1424
+ return renderTopLevelElement(ofArray(["cwlVersion", "class", "label", "doc", "intent"]), ofArray(["hints", "requirements", "inputs", "outputs", "expression"]), encodeExpressionToolDescriptionElement(et));
1425
+ }
1426
+ function encodeOperationDescription(op) {
1427
+ return renderTopLevelElement(ofArray(["cwlVersion", "class", "label", "doc", "intent"]), ofArray(["hints", "requirements", "inputs", "outputs"]), encodeOperationDescriptionElement(op));
1428
+ }
1429
+ function encodeProcessingUnit(pu) {
1430
+ switch (pu.tag) {
1431
+ case /* Workflow */
1432
+ 1:
1433
+ return encodeWorkflowDescription(pu.fields[0]);
1434
+ case /* ExpressionTool */
1435
+ 2:
1436
+ return encodeExpressionToolDescription(pu.fields[0]);
1437
+ case /* Operation */
1438
+ 3:
1439
+ return encodeOperationDescription(pu.fields[0]);
1440
+ default:
1441
+ return encodeToolDescription(pu.fields[0]);
1442
+ }
1443
+ }
1444
+ function encodeCWLTypeYaml(t) {
1445
+ switch (t.tag) {
1446
+ case /* Union */
1447
+ 14:
1448
+ return "[" + join(", ", map$2(encodeCWLTypeYaml, t.fields[0])) + "]";
1449
+ case /* Array */
1450
+ 11:
1451
+ return encodeInputArraySchemaYaml(t.fields[0]);
1452
+ case /* Record */
1453
+ 12:
1454
+ return encodeInputRecordSchemaYaml(t.fields[0]);
1455
+ case /* Enum */
1456
+ 13:
1457
+ return encodeInputEnumSchemaYaml(t.fields[0]);
1458
+ case /* Null */
1459
+ 10:
1460
+ return '"null"';
1461
+ default: {
1462
+ const yamlForm = writeYaml(encodeCWLType(t));
1463
+ return yamlForm.trim();
1464
+ }
1465
+ }
1466
+ }
1467
+ function encodeInputRecordFieldYaml(field) {
1468
+ return `{name: ${field.Name}, type: ${encodeCWLTypeYaml(field.Type)}}`;
1469
+ }
1470
+ function encodeInputRecordSchemaYaml(schema) {
1471
+ let fs;
1472
+ let fieldsYaml;
1473
+ const matchValue = schema.Fields;
1474
+ let matchResult, fs_1;
1475
+ if (matchValue != null) {
1476
+ if (fs = value(matchValue), fs.length > 0) {
1477
+ matchResult = 0;
1478
+ fs_1 = value(matchValue);
1479
+ } else {
1480
+ matchResult = 1;
1481
+ }
1482
+ } else {
1483
+ matchResult = 1;
1484
+ }
1485
+ switch (matchResult) {
1486
+ case 0: {
1487
+ fieldsYaml = join(", ", map$2(encodeInputRecordFieldYaml, fs_1));
1488
+ break;
1489
+ }
1490
+ default:
1491
+ fieldsYaml = "";
1492
+ }
1493
+ if (fieldsYaml === "") {
1494
+ return "{type: record, fields: []}";
1495
+ } else {
1496
+ return `{type: record, fields: [${fieldsYaml}]}`;
1497
+ }
1498
+ }
1499
+ function encodeInputEnumSchemaYaml(schema) {
1500
+ return `{type: enum, symbols: [${join(", ", schema.Symbols)}]}`;
1501
+ }
1502
+ function encodeInputArraySchemaYaml(schema) {
1503
+ return `{type: array, items: ${encodeCWLTypeYaml(schema.Items)}}`;
1504
+ }
1505
+ function cwlTypeToYamlString(t) {
1506
+ return encodeCWLTypeYaml(t);
1507
+ }
1508
+
1509
+ export { $007CPrimitiveType$007CComplexType$007C, cwlTypeToYamlString, encodeCWLInput, encodeCWLOutput, encodeCWLType, encodeCWLTypeYaml, encodeDoc, encodeEnvVarRequirementCompactMap, encodeExpressionToolDescription, encodeExpressionToolDescriptionElement, encodeHintEntry, encodeInputArraySchema, encodeInputArraySchemaYaml, encodeInputBinding, encodeInputEnumSchema, encodeInputEnumSchemaYaml, encodeInputRecordField, encodeInputRecordFieldYaml, encodeInputRecordSchema, encodeInputRecordSchemaYaml, encodeIntent, encodeLabel, encodeLinkMergeMethod, encodeOperationDescription, encodeOperationDescriptionElement, encodeOutputBinding, encodePickValueMethod, encodeProcessingUnit, encodeRequirement, encodeScatter, encodeScatterMethod, encodeSchemaDefRequirementType, encodeSchemaSaladString, encodeSoftwareRequirementCompactMap, encodeSourceArray, encodeStepInput, encodeStepInputs, encodeStepOutputParameter, encodeStepOutputs, encodeStringArrayOrScalar, encodeToolDescription, encodeToolDescriptionElement, encodeWorkflowDescription, encodeWorkflowDescriptionElement, encodeWorkflowStep, encodeWorkflowStepRun, getObjectPairs, isComplexType, normalizeDocString, normalizeEnvValueForEncode, renderTopLevelElement, tryGetArrayShorthand, writeYaml, yBool, yMap };