@nfdi4plants/arctrl 3.2.3 → 3.3.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 (453) hide show
  1. package/dist/ts/index.d.ts +44 -7
  2. package/dist/ts/index.d.ts.map +1 -1
  3. package/dist/ts/index.js +45 -8
  4. package/dist/ts/node_modules/@fable-org/fable-library-ts/Array.js +195 -92
  5. package/dist/ts/node_modules/@fable-org/fable-library-ts/Async.js +251 -30
  6. package/dist/ts/node_modules/@fable-org/fable-library-ts/AsyncBuilder.js +61 -11
  7. package/dist/ts/node_modules/@fable-org/fable-library-ts/BigInt.js +15 -5
  8. package/dist/ts/node_modules/@fable-org/fable-library-ts/BitConverter.js +139 -0
  9. package/dist/ts/node_modules/@fable-org/fable-library-ts/Date.js +1 -1
  10. package/dist/ts/node_modules/@fable-org/fable-library-ts/Decimal.js +68 -12
  11. package/dist/ts/node_modules/@fable-org/fable-library-ts/Double.js +24 -10
  12. package/dist/ts/node_modules/@fable-org/fable-library-ts/FSharp.Core.js +8 -2
  13. package/dist/ts/node_modules/@fable-org/fable-library-ts/Global.js +1 -1
  14. package/dist/ts/node_modules/@fable-org/fable-library-ts/Int32.js +11 -2
  15. package/dist/ts/node_modules/@fable-org/fable-library-ts/List.js +220 -155
  16. package/dist/ts/node_modules/@fable-org/fable-library-ts/Long.js +7 -2
  17. package/dist/ts/node_modules/@fable-org/fable-library-ts/Map.js +46 -39
  18. package/dist/ts/node_modules/@fable-org/fable-library-ts/MutableMap.js +75 -92
  19. package/dist/ts/node_modules/@fable-org/fable-library-ts/MutableSet.js +56 -76
  20. package/dist/ts/node_modules/@fable-org/fable-library-ts/NumberStyles.js +54 -0
  21. package/dist/ts/node_modules/@fable-org/fable-library-ts/Numeric.js +10 -5
  22. package/dist/ts/node_modules/@fable-org/fable-library-ts/Random.js +3 -4
  23. package/dist/ts/node_modules/@fable-org/fable-library-ts/Range.js +4 -3
  24. package/dist/ts/node_modules/@fable-org/fable-library-ts/RegExp.js +2 -2
  25. package/dist/ts/node_modules/@fable-org/fable-library-ts/Seq.js +128 -64
  26. package/dist/ts/node_modules/@fable-org/fable-library-ts/Seq2.js +4 -8
  27. package/dist/ts/node_modules/@fable-org/fable-library-ts/Set.js +64 -57
  28. package/dist/ts/node_modules/@fable-org/fable-library-ts/String.js +68 -21
  29. package/dist/ts/node_modules/@fable-org/fable-library-ts/System.Collections.Generic.js +3 -2
  30. package/dist/ts/node_modules/@fable-org/fable-library-ts/System.Text.js +2 -2
  31. package/dist/ts/node_modules/@fable-org/fable-library-ts/System.js +5 -5
  32. package/dist/ts/node_modules/@fable-org/fable-library-ts/Types.js +23 -12
  33. package/dist/ts/node_modules/@fable-org/fable-library-ts/Util.js +88 -49
  34. package/dist/ts/node_modules/@fable-org/fable-library-ts/lib/big.js +121 -74
  35. package/dist/ts/ts/ARC.d.ts +19 -2
  36. package/dist/ts/ts/ARC.d.ts.map +1 -1
  37. package/dist/ts/ts/ARC.js +128 -89
  38. package/dist/ts/ts/CWL/CWLKnownFieldNames.d.ts +0 -2
  39. package/dist/ts/ts/CWL/CWLKnownFieldNames.d.ts.map +1 -1
  40. package/dist/ts/ts/CWL/CWLKnownFieldNames.js +1 -7
  41. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts +46 -27
  42. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts.map +1 -1
  43. package/dist/ts/ts/CWL/CWLProcessingUnit.js +312 -123
  44. package/dist/ts/ts/CWL/CWLTypes.d.ts +481 -148
  45. package/dist/ts/ts/CWL/CWLTypes.d.ts.map +1 -1
  46. package/dist/ts/ts/CWL/CWLTypes.js +887 -201
  47. package/dist/ts/ts/CWL/Decode.d.ts +480 -211
  48. package/dist/ts/ts/CWL/Decode.d.ts.map +1 -1
  49. package/dist/ts/ts/CWL/Decode.js +3614 -2462
  50. package/dist/ts/ts/CWL/DynamicObjHelpers.d.ts +9 -0
  51. package/dist/ts/ts/CWL/DynamicObjHelpers.d.ts.map +1 -1
  52. package/dist/ts/ts/CWL/DynamicObjHelpers.js +55 -5
  53. package/dist/ts/ts/CWL/Encode.d.ts +225 -85
  54. package/dist/ts/ts/CWL/Encode.d.ts.map +1 -1
  55. package/dist/ts/ts/CWL/Encode.js +1858 -970
  56. package/dist/ts/ts/CWL/ExpressionToolDescription.d.ts +42 -28
  57. package/dist/ts/ts/CWL/ExpressionToolDescription.d.ts.map +1 -1
  58. package/dist/ts/ts/CWL/ExpressionToolDescription.js +34 -13
  59. package/dist/ts/ts/CWL/HashHelpers.d.ts +38 -0
  60. package/dist/ts/ts/CWL/HashHelpers.d.ts.map +1 -1
  61. package/dist/ts/ts/CWL/HashHelpers.js +255 -6
  62. package/dist/ts/ts/CWL/Inputs.d.ts +127 -56
  63. package/dist/ts/ts/CWL/Inputs.d.ts.map +1 -1
  64. package/dist/ts/ts/CWL/Inputs.js +107 -16
  65. package/dist/ts/ts/CWL/OperationDescription.d.ts +41 -21
  66. package/dist/ts/ts/CWL/OperationDescription.d.ts.map +1 -1
  67. package/dist/ts/ts/CWL/OperationDescription.js +35 -9
  68. package/dist/ts/ts/CWL/Outputs.d.ts +93 -42
  69. package/dist/ts/ts/CWL/Outputs.d.ts.map +1 -1
  70. package/dist/ts/ts/CWL/Outputs.js +101 -19
  71. package/dist/ts/ts/CWL/ParameterReference.d.ts +11 -8
  72. package/dist/ts/ts/CWL/ParameterReference.d.ts.map +1 -1
  73. package/dist/ts/ts/CWL/ParameterReference.js +18 -25
  74. package/dist/ts/ts/CWL/ParameterValue.d.ts +15 -1
  75. package/dist/ts/ts/CWL/ParameterValue.d.ts.map +1 -1
  76. package/dist/ts/ts/CWL/ParameterValue.js +59 -35
  77. package/dist/ts/ts/CWL/Requirements.d.ts +240 -98
  78. package/dist/ts/ts/CWL/Requirements.d.ts.map +1 -1
  79. package/dist/ts/ts/CWL/Requirements.js +462 -89
  80. package/dist/ts/ts/CWL/ScalarQuoting.d.ts +51 -0
  81. package/dist/ts/ts/CWL/ScalarQuoting.d.ts.map +1 -0
  82. package/dist/ts/ts/CWL/ScalarQuoting.js +250 -0
  83. package/dist/ts/ts/CWL/ToolDescription.d.ts +63 -50
  84. package/dist/ts/ts/CWL/ToolDescription.d.ts.map +1 -1
  85. package/dist/ts/ts/CWL/ToolDescription.js +34 -13
  86. package/dist/ts/ts/CWL/WorkflowDescription.d.ts +45 -26
  87. package/dist/ts/ts/CWL/WorkflowDescription.d.ts.map +1 -1
  88. package/dist/ts/ts/CWL/WorkflowDescription.js +38 -11
  89. package/dist/ts/ts/CWL/WorkflowSteps.d.ts +248 -65
  90. package/dist/ts/ts/CWL/WorkflowSteps.d.ts.map +1 -1
  91. package/dist/ts/ts/CWL/WorkflowSteps.js +413 -43
  92. package/dist/ts/ts/CWLRunResolver.d.ts +30 -12
  93. package/dist/ts/ts/CWLRunResolver.d.ts.map +1 -1
  94. package/dist/ts/ts/CWLRunResolver.js +221 -86
  95. package/dist/ts/ts/Contract/ARC.d.ts.map +1 -1
  96. package/dist/ts/ts/Contract/ARC.js +13 -14
  97. package/dist/ts/ts/Contract/ArcAssay.d.ts.map +1 -1
  98. package/dist/ts/ts/Contract/ArcAssay.js +4 -4
  99. package/dist/ts/ts/Contract/ArcInvestigation.d.ts.map +1 -1
  100. package/dist/ts/ts/Contract/ArcInvestigation.js +3 -4
  101. package/dist/ts/ts/Contract/ArcRun.d.ts +12 -2
  102. package/dist/ts/ts/Contract/ArcRun.d.ts.map +1 -1
  103. package/dist/ts/ts/Contract/ArcRun.js +47 -20
  104. package/dist/ts/ts/Contract/ArcStudy.d.ts.map +1 -1
  105. package/dist/ts/ts/Contract/ArcStudy.js +4 -4
  106. package/dist/ts/ts/Contract/ArcWorkflow.d.ts +18 -4
  107. package/dist/ts/ts/Contract/ArcWorkflow.d.ts.map +1 -1
  108. package/dist/ts/ts/Contract/ArcWorkflow.js +55 -17
  109. package/dist/ts/ts/Contract/Datamap.d.ts.map +1 -1
  110. package/dist/ts/ts/Contract/Datamap.js +16 -17
  111. package/dist/ts/ts/Contract/Git.js +1 -1
  112. package/dist/ts/ts/Contract/ValidationPackagesConfig.d.ts.map +1 -1
  113. package/dist/ts/ts/Contract/ValidationPackagesConfig.js +4 -5
  114. package/dist/ts/ts/ContractIO/ContractIO.d.ts.map +1 -1
  115. package/dist/ts/ts/ContractIO/ContractIO.js +15 -16
  116. package/dist/ts/ts/Conversion/Assay.d.ts.map +1 -1
  117. package/dist/ts/ts/Conversion/Assay.js +26 -18
  118. package/dist/ts/ts/Conversion/Basic.d.ts +4 -0
  119. package/dist/ts/ts/Conversion/Basic.d.ts.map +1 -1
  120. package/dist/ts/ts/Conversion/Basic.js +55 -31
  121. package/dist/ts/ts/Conversion/ColumnIndex.d.ts.map +1 -1
  122. package/dist/ts/ts/Conversion/ColumnIndex.js +2 -4
  123. package/dist/ts/ts/Conversion/DateTime.d.ts.map +1 -1
  124. package/dist/ts/ts/Conversion/DateTime.js +1 -2
  125. package/dist/ts/ts/Conversion/Investigation.js +11 -11
  126. package/dist/ts/ts/Conversion/Person.js +11 -11
  127. package/dist/ts/ts/Conversion/Process.d.ts.map +1 -1
  128. package/dist/ts/ts/Conversion/Process.js +107 -86
  129. package/dist/ts/ts/Conversion/Run.d.ts +36 -6
  130. package/dist/ts/ts/Conversion/Run.d.ts.map +1 -1
  131. package/dist/ts/ts/Conversion/Run.js +320 -136
  132. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts.map +1 -1
  133. package/dist/ts/ts/Conversion/ScholarlyArticle.js +75 -9
  134. package/dist/ts/ts/Conversion/Study.d.ts.map +1 -1
  135. package/dist/ts/ts/Conversion/Study.js +23 -12
  136. package/dist/ts/ts/Conversion/Table.js +5 -5
  137. package/dist/ts/ts/Conversion/Workflow.d.ts +48 -9
  138. package/dist/ts/ts/Conversion/Workflow.d.ts.map +1 -1
  139. package/dist/ts/ts/Conversion/Workflow.js +655 -163
  140. package/dist/ts/ts/Conversion.js +6 -6
  141. package/dist/ts/ts/Core/ArcTypes.d.ts +73 -28
  142. package/dist/ts/ts/Core/ArcTypes.d.ts.map +1 -1
  143. package/dist/ts/ts/Core/ArcTypes.js +219 -129
  144. package/dist/ts/ts/Core/Comment.d.ts.map +1 -1
  145. package/dist/ts/ts/Core/Comment.js +2 -2
  146. package/dist/ts/ts/Core/CommentList.js +7 -7
  147. package/dist/ts/ts/Core/Conversion.d.ts.map +1 -1
  148. package/dist/ts/ts/Core/Conversion.js +41 -41
  149. package/dist/ts/ts/Core/Data.d.ts.map +1 -1
  150. package/dist/ts/ts/Core/Data.js +14 -11
  151. package/dist/ts/ts/Core/DataContext.d.ts +1 -1
  152. package/dist/ts/ts/Core/DataContext.d.ts.map +1 -1
  153. package/dist/ts/ts/Core/DataContext.js +4 -4
  154. package/dist/ts/ts/Core/DataFile.d.ts +11 -8
  155. package/dist/ts/ts/Core/DataFile.d.ts.map +1 -1
  156. package/dist/ts/ts/Core/DataFile.js +55 -61
  157. package/dist/ts/ts/Core/Datamap.d.ts.map +1 -1
  158. package/dist/ts/ts/Core/Datamap.js +2 -3
  159. package/dist/ts/ts/Core/Helper/Collections.d.ts.map +1 -1
  160. package/dist/ts/ts/Core/Helper/Collections.js +2 -4
  161. package/dist/ts/ts/Core/Helper/Identifier.d.ts.map +1 -1
  162. package/dist/ts/ts/Core/Helper/Identifier.js +12 -15
  163. package/dist/ts/ts/Core/Helper/ORCID.d.ts.map +1 -1
  164. package/dist/ts/ts/Core/Helper/ORCID.js +2 -3
  165. package/dist/ts/ts/Core/Helper/Regex.d.ts.map +1 -1
  166. package/dist/ts/ts/Core/Helper/Regex.js +52 -53
  167. package/dist/ts/ts/Core/Helper/SemVer.d.ts +13 -3
  168. package/dist/ts/ts/Core/Helper/SemVer.d.ts.map +1 -1
  169. package/dist/ts/ts/Core/Helper/SemVer.js +96 -6
  170. package/dist/ts/ts/Core/Helper/Url.d.ts.map +1 -1
  171. package/dist/ts/ts/Core/Helper/Url.js +1 -1
  172. package/dist/ts/ts/Core/OntologyAnnotation.js +22 -22
  173. package/dist/ts/ts/Core/Person.d.ts.map +1 -1
  174. package/dist/ts/ts/Core/Person.js +2 -2
  175. package/dist/ts/ts/Core/Process/ColumnIndex.d.ts.map +1 -1
  176. package/dist/ts/ts/Core/Process/ColumnIndex.js +10 -12
  177. package/dist/ts/ts/Core/Process/Component.d.ts.map +1 -1
  178. package/dist/ts/ts/Core/Process/Component.js +22 -22
  179. package/dist/ts/ts/Core/Process/Factor.d.ts.map +1 -1
  180. package/dist/ts/ts/Core/Process/Factor.js +7 -7
  181. package/dist/ts/ts/Core/Process/FactorValue.d.ts.map +1 -1
  182. package/dist/ts/ts/Core/Process/FactorValue.js +15 -15
  183. package/dist/ts/ts/Core/Process/Material.d.ts.map +1 -1
  184. package/dist/ts/ts/Core/Process/Material.js +2 -2
  185. package/dist/ts/ts/Core/Process/MaterialAttribute.d.ts.map +1 -1
  186. package/dist/ts/ts/Core/Process/MaterialAttribute.js +6 -6
  187. package/dist/ts/ts/Core/Process/MaterialAttributeValue.d.ts.map +1 -1
  188. package/dist/ts/ts/Core/Process/MaterialAttributeValue.js +16 -16
  189. package/dist/ts/ts/Core/Process/Process.js +21 -21
  190. package/dist/ts/ts/Core/Process/ProcessInput.d.ts.map +1 -1
  191. package/dist/ts/ts/Core/Process/ProcessInput.js +2 -2
  192. package/dist/ts/ts/Core/Process/ProcessOutput.d.ts.map +1 -1
  193. package/dist/ts/ts/Core/Process/ProcessOutput.js +2 -2
  194. package/dist/ts/ts/Core/Process/ProcessParameterValue.d.ts.map +1 -1
  195. package/dist/ts/ts/Core/Process/ProcessParameterValue.js +17 -17
  196. package/dist/ts/ts/Core/Process/ProcessSequence.js +4 -4
  197. package/dist/ts/ts/Core/Process/Protocol.d.ts.map +1 -1
  198. package/dist/ts/ts/Core/Process/Protocol.js +9 -9
  199. package/dist/ts/ts/Core/Process/ProtocolParameter.d.ts.map +1 -1
  200. package/dist/ts/ts/Core/Process/ProtocolParameter.js +6 -6
  201. package/dist/ts/ts/Core/Publication.d.ts.map +1 -1
  202. package/dist/ts/ts/Core/Publication.js +3 -3
  203. package/dist/ts/ts/Core/ScalarValue.d.ts.map +1 -1
  204. package/dist/ts/ts/Core/ScalarValue.js +9 -13
  205. package/dist/ts/ts/Core/Table/ArcTable.d.ts.map +1 -1
  206. package/dist/ts/ts/Core/Table/ArcTable.js +18 -18
  207. package/dist/ts/ts/Core/Table/ArcTableAux.d.ts +1 -1
  208. package/dist/ts/ts/Core/Table/ArcTableAux.d.ts.map +1 -1
  209. package/dist/ts/ts/Core/Table/ArcTableAux.js +50 -70
  210. package/dist/ts/ts/Core/Table/ArcTables.js +16 -16
  211. package/dist/ts/ts/Core/Table/CompositeHeader.d.ts.map +1 -1
  212. package/dist/ts/ts/Core/Table/CompositeHeader.js +5 -6
  213. package/dist/ts/ts/Core/Templates.d.ts.map +1 -1
  214. package/dist/ts/ts/Core/Templates.js +2 -2
  215. package/dist/ts/ts/FileSystem/Path.d.ts +13 -2
  216. package/dist/ts/ts/FileSystem/Path.d.ts.map +1 -1
  217. package/dist/ts/ts/FileSystem/Path.js +37 -19
  218. package/dist/ts/ts/Json/Assay.js +22 -22
  219. package/dist/ts/ts/Json/Comment.js +9 -9
  220. package/dist/ts/ts/Json/Data.d.ts.map +1 -1
  221. package/dist/ts/ts/Json/Data.js +11 -11
  222. package/dist/ts/ts/Json/Datamap/DataContext.js +2 -2
  223. package/dist/ts/ts/Json/Decode.d.ts.map +1 -1
  224. package/dist/ts/ts/Json/Decode.js +3 -5
  225. package/dist/ts/ts/Json/Encode.js +2 -2
  226. package/dist/ts/ts/Json/Investigation.d.ts.map +1 -1
  227. package/dist/ts/ts/Json/Investigation.js +20 -20
  228. package/dist/ts/ts/Json/OntologyAnnotation.d.ts.map +1 -1
  229. package/dist/ts/ts/Json/OntologyAnnotation.js +18 -18
  230. package/dist/ts/ts/Json/OntologySourceReference.d.ts.map +1 -1
  231. package/dist/ts/ts/Json/OntologySourceReference.js +9 -9
  232. package/dist/ts/ts/Json/Person.d.ts.map +1 -1
  233. package/dist/ts/ts/Json/Person.js +20 -20
  234. package/dist/ts/ts/Json/Process/AssayMaterials.d.ts.map +1 -1
  235. package/dist/ts/ts/Json/Process/AssayMaterials.js +1 -2
  236. package/dist/ts/ts/Json/Process/Component.d.ts.map +1 -1
  237. package/dist/ts/ts/Json/Process/Component.js +5 -6
  238. package/dist/ts/ts/Json/Process/Factor.d.ts.map +1 -1
  239. package/dist/ts/ts/Json/Process/Factor.js +7 -7
  240. package/dist/ts/ts/Json/Process/FactorValue.d.ts.map +1 -1
  241. package/dist/ts/ts/Json/Process/FactorValue.js +2 -3
  242. package/dist/ts/ts/Json/Process/Material.d.ts.map +1 -1
  243. package/dist/ts/ts/Json/Process/Material.js +9 -10
  244. package/dist/ts/ts/Json/Process/MaterialAttribute.d.ts.map +1 -1
  245. package/dist/ts/ts/Json/Process/MaterialAttribute.js +5 -6
  246. package/dist/ts/ts/Json/Process/MaterialAttributeValue.d.ts.map +1 -1
  247. package/dist/ts/ts/Json/Process/MaterialAttributeValue.js +2 -3
  248. package/dist/ts/ts/Json/Process/Process.d.ts.map +1 -1
  249. package/dist/ts/ts/Json/Process/Process.js +8 -9
  250. package/dist/ts/ts/Json/Process/ProcessParameterValue.d.ts.map +1 -1
  251. package/dist/ts/ts/Json/Process/ProcessParameterValue.js +1 -2
  252. package/dist/ts/ts/Json/Process/Protocol.d.ts.map +1 -1
  253. package/dist/ts/ts/Json/Process/Protocol.js +17 -17
  254. package/dist/ts/ts/Json/Process/ProtocolParameter.d.ts.map +1 -1
  255. package/dist/ts/ts/Json/Process/ProtocolParameter.js +6 -6
  256. package/dist/ts/ts/Json/Process/Sample.d.ts.map +1 -1
  257. package/dist/ts/ts/Json/Process/Sample.js +9 -9
  258. package/dist/ts/ts/Json/Process/Source.d.ts.map +1 -1
  259. package/dist/ts/ts/Json/Process/Source.js +10 -11
  260. package/dist/ts/ts/Json/Process/StudyMaterials.d.ts.map +1 -1
  261. package/dist/ts/ts/Json/Process/StudyMaterials.js +1 -2
  262. package/dist/ts/ts/Json/PropertyValue.d.ts.map +1 -1
  263. package/dist/ts/ts/Json/PropertyValue.js +24 -24
  264. package/dist/ts/ts/Json/Publication.d.ts.map +1 -1
  265. package/dist/ts/ts/Json/Publication.js +10 -10
  266. package/dist/ts/ts/Json/ROCrate/LDContext.js +1 -2
  267. package/dist/ts/ts/Json/ROCrate/LDGraph.js +2 -2
  268. package/dist/ts/ts/Json/ROCrate/LDNode.js +5 -5
  269. package/dist/ts/ts/Json/Run.js +9 -9
  270. package/dist/ts/ts/Json/StringTable.d.ts.map +1 -1
  271. package/dist/ts/ts/Json/StringTable.js +4 -7
  272. package/dist/ts/ts/Json/Study.js +20 -20
  273. package/dist/ts/ts/Json/Table/CellTable.js +1 -2
  274. package/dist/ts/ts/Json/Table/OATable.js +1 -2
  275. package/dist/ts/ts/Json/Workflow.js +9 -9
  276. package/dist/ts/ts/Json.d.ts +121 -1
  277. package/dist/ts/ts/Json.d.ts.map +1 -1
  278. package/dist/ts/ts/Json.js +310 -2
  279. package/dist/ts/ts/JsonIO/Comment.d.ts +15 -0
  280. package/dist/ts/ts/JsonIO/Comment.d.ts.map +1 -0
  281. package/dist/ts/ts/JsonIO/Comment.js +67 -0
  282. package/dist/ts/ts/JsonIO/Data.d.ts +9 -0
  283. package/dist/ts/ts/JsonIO/Data.d.ts.map +1 -0
  284. package/dist/ts/ts/JsonIO/Data.js +49 -0
  285. package/dist/ts/ts/JsonIO/DataFile.d.ts +9 -0
  286. package/dist/ts/ts/JsonIO/DataFile.d.ts.map +1 -0
  287. package/dist/ts/ts/JsonIO/DataFile.js +48 -0
  288. package/dist/ts/ts/JsonIO/LDObject.d.ts +6 -0
  289. package/dist/ts/ts/JsonIO/LDObject.d.ts.map +1 -1
  290. package/dist/ts/ts/JsonIO/LDObject.js +173 -17
  291. package/dist/ts/ts/JsonIO/OntologySourceReference.d.ts +15 -0
  292. package/dist/ts/ts/JsonIO/OntologySourceReference.d.ts.map +1 -0
  293. package/dist/ts/ts/JsonIO/OntologySourceReference.js +67 -0
  294. package/dist/ts/ts/JsonIO/Publication.d.ts +15 -0
  295. package/dist/ts/ts/JsonIO/Publication.d.ts.map +1 -0
  296. package/dist/ts/ts/JsonIO/Publication.js +68 -0
  297. package/dist/ts/ts/JsonIO/Table/ArcTable.d.ts +9 -0
  298. package/dist/ts/ts/JsonIO/Table/ArcTable.d.ts.map +1 -0
  299. package/dist/ts/ts/JsonIO/Table/ArcTable.js +74 -0
  300. package/dist/ts/ts/JsonIO/Table/CompositeCell.d.ts +6 -0
  301. package/dist/ts/ts/JsonIO/Table/CompositeCell.d.ts.map +1 -0
  302. package/dist/ts/ts/JsonIO/Table/CompositeCell.js +29 -0
  303. package/dist/ts/ts/JsonIO/Table/CompositeHeader.d.ts +6 -0
  304. package/dist/ts/ts/JsonIO/Table/CompositeHeader.d.ts.map +1 -0
  305. package/dist/ts/ts/JsonIO/Table/CompositeHeader.js +29 -0
  306. package/dist/ts/ts/JsonIO/Table/IOType.d.ts +6 -0
  307. package/dist/ts/ts/JsonIO/Table/IOType.d.ts.map +1 -0
  308. package/dist/ts/ts/JsonIO/Table/IOType.js +29 -0
  309. package/dist/ts/ts/License.d.ts.map +1 -1
  310. package/dist/ts/ts/License.js +6 -6
  311. package/dist/ts/ts/ROCrate/LDContext.d.ts.map +1 -1
  312. package/dist/ts/ts/ROCrate/LDContext.js +31 -39
  313. package/dist/ts/ts/ROCrate/LDObject.d.ts.map +1 -1
  314. package/dist/ts/ts/ROCrate/LDObject.js +56 -49
  315. package/dist/ts/ts/ROCrate/LDTypes/Comment.js +2 -2
  316. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.js +3 -3
  317. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.js +2 -2
  318. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.js +5 -5
  319. package/dist/ts/ts/ROCrate/LDTypes/CreativeWork.d.ts +1 -0
  320. package/dist/ts/ts/ROCrate/LDTypes/CreativeWork.d.ts.map +1 -1
  321. package/dist/ts/ts/ROCrate/LDTypes/CreativeWork.js +3 -0
  322. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts.map +1 -1
  323. package/dist/ts/ts/ROCrate/LDTypes/Dataset.js +22 -17
  324. package/dist/ts/ts/ROCrate/LDTypes/DefinedTerm.js +2 -2
  325. package/dist/ts/ts/ROCrate/LDTypes/File.js +5 -5
  326. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.js +2 -2
  327. package/dist/ts/ts/ROCrate/LDTypes/LabProcess.js +9 -9
  328. package/dist/ts/ts/ROCrate/LDTypes/LabProtocol.js +4 -4
  329. package/dist/ts/ts/ROCrate/LDTypes/Organization.js +1 -1
  330. package/dist/ts/ts/ROCrate/LDTypes/Person.js +7 -7
  331. package/dist/ts/ts/ROCrate/LDTypes/PostalAddress.js +1 -1
  332. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.d.ts.map +1 -1
  333. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.js +45 -48
  334. package/dist/ts/ts/ROCrate/LDTypes/Sample.js +3 -3
  335. package/dist/ts/ts/ROCrate/LDTypes/ScholarlyArticle.js +4 -4
  336. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.js +3 -3
  337. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.js +3 -3
  338. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.js +2 -2
  339. package/dist/ts/ts/ROCrateIO.d.ts +18 -4
  340. package/dist/ts/ts/ROCrateIO.d.ts.map +1 -1
  341. package/dist/ts/ts/ROCrateIO.js +49 -38
  342. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
  343. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.js +9 -10
  344. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.d.ts.map +1 -1
  345. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.js +7 -7
  346. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
  347. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +6 -8
  348. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeHeader.js +20 -20
  349. package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts.map +1 -1
  350. package/dist/ts/ts/Spreadsheet/ArcAssay.js +7 -7
  351. package/dist/ts/ts/Spreadsheet/ArcInvestigation.js +8 -8
  352. package/dist/ts/ts/Spreadsheet/ArcRun.d.ts.map +1 -1
  353. package/dist/ts/ts/Spreadsheet/ArcRun.js +5 -6
  354. package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts.map +1 -1
  355. package/dist/ts/ts/Spreadsheet/ArcStudy.js +3 -3
  356. package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts.map +1 -1
  357. package/dist/ts/ts/Spreadsheet/ArcWorkflow.js +5 -6
  358. package/dist/ts/ts/Spreadsheet/CollectionAux.d.ts.map +1 -1
  359. package/dist/ts/ts/Spreadsheet/CollectionAux.js +10 -14
  360. package/dist/ts/ts/Spreadsheet/Datamap.js +1 -2
  361. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapColumn.js +3 -3
  362. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapHeader.js +10 -10
  363. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapTable.d.ts.map +1 -1
  364. package/dist/ts/ts/Spreadsheet/DatamapTable/DatamapTable.js +9 -10
  365. package/dist/ts/ts/Spreadsheet/Metadata/Assays.d.ts.map +1 -1
  366. package/dist/ts/ts/Spreadsheet/Metadata/Assays.js +6 -6
  367. package/dist/ts/ts/Spreadsheet/Metadata/Comment.d.ts.map +1 -1
  368. package/dist/ts/ts/Spreadsheet/Metadata/Comment.js +5 -5
  369. package/dist/ts/ts/Spreadsheet/Metadata/Contacts.d.ts.map +1 -1
  370. package/dist/ts/ts/Spreadsheet/Metadata/Contacts.js +2 -2
  371. package/dist/ts/ts/Spreadsheet/Metadata/Factors.d.ts.map +1 -1
  372. package/dist/ts/ts/Spreadsheet/Metadata/Factors.js +4 -4
  373. package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.d.ts.map +1 -1
  374. package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.js +3 -3
  375. package/dist/ts/ts/Spreadsheet/Metadata/Protocols.d.ts.map +1 -1
  376. package/dist/ts/ts/Spreadsheet/Metadata/Protocols.js +5 -5
  377. package/dist/ts/ts/Spreadsheet/Metadata/Publication.d.ts.map +1 -1
  378. package/dist/ts/ts/Spreadsheet/Metadata/Publication.js +4 -4
  379. package/dist/ts/ts/Spreadsheet/Metadata/Run.d.ts +1 -1
  380. package/dist/ts/ts/Spreadsheet/Metadata/Run.d.ts.map +1 -1
  381. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +7 -7
  382. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
  383. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.js +17 -17
  384. package/dist/ts/ts/Spreadsheet/Metadata/Study.d.ts.map +1 -1
  385. package/dist/ts/ts/Spreadsheet/Metadata/Study.js +8 -8
  386. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.d.ts.map +1 -1
  387. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +5 -5
  388. package/dist/ts/ts/WorkflowGraph/Adapters.d.ts +1 -1
  389. package/dist/ts/ts/WorkflowGraph/Adapters.d.ts.map +1 -1
  390. package/dist/ts/ts/WorkflowGraph/Adapters.js +5 -6
  391. package/dist/ts/ts/WorkflowGraph/Builder.d.ts +25 -6
  392. package/dist/ts/ts/WorkflowGraph/Builder.d.ts.map +1 -1
  393. package/dist/ts/ts/WorkflowGraph/Builder.js +264 -138
  394. package/dist/ts/ts/WorkflowGraph/GraphTypes.d.ts +6 -0
  395. package/dist/ts/ts/WorkflowGraph/GraphTypes.d.ts.map +1 -1
  396. package/dist/ts/ts/WorkflowGraph/GraphTypes.js +4 -1
  397. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.d.ts +8 -5
  398. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.d.ts.map +1 -1
  399. package/dist/ts/ts/WorkflowGraph/ReferenceParsing.js +27 -10
  400. package/dist/ts/ts/Xlsx.js +3 -3
  401. package/dist/ts/ts/Yaml/ValidationPackage.d.ts +3 -3
  402. package/dist/ts/ts/Yaml/ValidationPackage.d.ts.map +1 -1
  403. package/dist/ts/ts/Yaml/ValidationPackage.js +11 -23
  404. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts +3 -3
  405. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts.map +1 -1
  406. package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +11 -23
  407. package/dist/ts/ts/fable_modules/DynamicObj.8.0.0/DynamicObj.fs.js +16 -20
  408. package/dist/ts/ts/fable_modules/DynamicObj.8.0.0/FableJS.fs.js +1 -1
  409. package/dist/ts/ts/fable_modules/DynamicObj.8.0.0/ReflectionUtils.fs.js +8 -8
  410. package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +1 -2
  411. package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.6.0/Http.fs.js +4 -4
  412. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Cells/FsCell.fs.js +8 -8
  413. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Cells/FsCellsCollection.fs.js +18 -18
  414. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/FsAddress.fs.js +3 -3
  415. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/FsWorkbook.fs.js +1 -1
  416. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/FsWorksheet.fs.js +7 -7
  417. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Json/Value.fs.js +3 -5
  418. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Json/Worksheet.fs.js +7 -7
  419. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Ranges/FsRangeBase.fs.js +1 -2
  420. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.1/Tables/FsTable.fs.js +7 -7
  421. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.1/Cell.fs.js +2 -2
  422. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.1/Table.fs.js +1 -2
  423. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.9.1/Decode.fs.js +49 -71
  424. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.9.1/Encode.fs.js +1 -1
  425. package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js +1 -2
  426. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Compare.fs.js +857 -0
  427. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/CoreSchema.fs.js +725 -0
  428. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Decode.fs.js +1175 -0
  429. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Encode.fs.js +123 -0
  430. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Layout.fs.js +282 -0
  431. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Lexeme.fs.js +203 -0
  432. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Lexer.fs.js +1502 -0
  433. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Model.fs.js +564 -0
  434. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Node.fs.js +453 -0
  435. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Parser.fs.js +2622 -0
  436. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Reader.fs.js +108 -0
  437. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Source.fs.js +649 -0
  438. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Tag.fs.js +32 -0
  439. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Validate.fs.js +1084 -0
  440. package/dist/ts/ts/fable_modules/YAMLicious.2.0.0/Writer.fs.js +2927 -0
  441. package/package.json +5 -4
  442. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Decode.fs.js +0 -1669
  443. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Encode.fs.js +0 -57
  444. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Escapes.fs.js +0 -320
  445. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Interop/JsInterop.fs.js +0 -10
  446. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Persil.fs.js +0 -414
  447. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Preprocessing.fs.js +0 -319
  448. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Reader.fs.js +0 -1884
  449. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Regex.fs.js +0 -23
  450. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/RegexActivePatterns.fs.js +0 -313
  451. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Syntax.fs.js +0 -840
  452. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/Writer.fs.js +0 -689
  453. package/dist/ts/ts/fable_modules/YAMLicious.1.0.0/YAMLiciousTypes.fs.js +0 -359
@@ -1,13 +1,119 @@
1
- import { Union } from '../../node_modules/@fable-org/fable-library-ts/Types.js';
2
- import { union_type, string_type, class_type, array_type } from '../../node_modules/@fable-org/fable-library-ts/Reflection.js';
1
+ import { yamlNodeEqual, hashYamlNode, seqEqual, mergeHashes, hashSeq, hashFields, optionSeqEqual, hashOptionSeq } from './HashHelpers.js';
2
+ import { Record, Union } from '../../node_modules/@fable-org/fable-library-ts/Types.js';
3
+ import { YamlNode_$reflection } from '../fable_modules/YAMLicious.2.0.0/Model.fs.js';
4
+ import { record_type, union_type, string_type, bool_type, int64_type, array_type, class_type, option_type } from '../../node_modules/@fable-org/fable-library-ts/Reflection.js';
5
+ import { defaultArg, some, unwrap, orElse } from '../../node_modules/@fable-org/fable-library-ts/Option.js';
6
+ import { tryPick, ofArray } from '../../node_modules/@fable-org/fable-library-ts/List.js';
7
+ import { YamlNodeModule_isMissingValue } from '../fable_modules/YAMLicious.2.0.0/Node.fs.js';
8
+ import { isInfinity } from '../../node_modules/@fable-org/fable-library-ts/Double.js';
9
+ import { toInt64_unchecked, fromFloat64 } from '../../node_modules/@fable-org/fable-library-ts/BigInt.js';
3
10
  import { toText, printf } from '../../node_modules/@fable-org/fable-library-ts/String.js';
4
- import { unwrap, value, defaultArg, orElse } from '../../node_modules/@fable-org/fable-library-ts/Option.js';
5
- import { fileInstance, directoryInstance, direntInstance, inputEnumSchema, inputRecordField, inputRecordSchema, inputArraySchema, schemaDefRequirementType, softwarePackage } from './CWLKnownFieldNames.js';
6
- import { arrayHash, equals, safeHash, numberHash } from '../../node_modules/@fable-org/fable-library-ts/Util.js';
11
+ import { choose, map, forAll2, toList, tryFind, exists, append } from '../../node_modules/@fable-org/fable-library-ts/Seq.js';
12
+ import { equals, safeHash, arrayHash, comparePrimitives, numberHash } from '../../node_modules/@fable-org/fable-library-ts/Util.js';
13
+ import { fileInstance, directoryInstance, direntInstance, inputEnumSchema, inputRecordField, inputRecordSchema, inputArraySchema, softwarePackage } from './CWLKnownFieldNames.js';
14
+ import { empty } from '../../node_modules/@fable-org/fable-library-ts/Set.js';
7
15
  import { hashDynamicProperties, dynamicPropertiesEqual } from './DynamicObjHelpers.js';
8
16
  import { DynamicObj, DynamicObj_$reflection } from '../fable_modules/DynamicObj.8.0.0/DynamicObj.fs.js';
9
- import { forAll2, toList, map, tryFind, exists } from '../../node_modules/@fable-org/fable-library-ts/Seq.js';
10
17
 
18
+ class RawYaml extends Record {
19
+ constructor(Node$) {
20
+ super();
21
+ this.Node = Node$;
22
+ }
23
+ Equals(o) {
24
+ let other = void 0;
25
+ const this$ = this;
26
+ return o instanceof RawYaml && (other = o, yamlNodeEqual(this$.Node, other.Node));
27
+ }
28
+ GetHashCode() {
29
+ const this$ = this;
30
+ return hashYamlNode(this$.Node) | 0;
31
+ }
32
+ }
33
+ function RawYaml_$reflection() {
34
+ return record_type("ARCtrl.CWL.RawYaml", [], RawYaml, () => [["Node", YamlNode_$reflection()]]);
35
+ }
36
+ function RawYaml__get_MixinPath(this$) {
37
+ const matchValue = this$.Node.Kind;
38
+ if (matchValue.tag === /* Mapping */
39
+ 1) {
40
+ return defaultArg(tryPick((entry) => {
41
+ const matchValue_1 = entry.Key.Kind;
42
+ const matchValue_2 = entry.Value.Kind;
43
+ let matchResult = void 0, key_1 = void 0, path_1 = void 0;
44
+ if (matchValue_1.tag === /* Scalar */
45
+ 0) {
46
+ if (matchValue_2.tag === /* Scalar */
47
+ 0) {
48
+ if (matchValue_2.fields[0], matchValue_1.fields[0].Value === "$mixin") {
49
+ matchResult = 0;
50
+ key_1 = matchValue_1.fields[0];
51
+ path_1 = matchValue_2.fields[0];
52
+ } else {
53
+ matchResult = 1;
54
+ }
55
+ } else {
56
+ matchResult = 1;
57
+ }
58
+ } else {
59
+ matchResult = 1;
60
+ }
61
+ switch (matchResult) {
62
+ case 0:
63
+ return path_1.Value;
64
+ default:
65
+ return void 0;
66
+ }
67
+ }, matchValue.fields[0].Items), "");
68
+ } else {
69
+ return "";
70
+ }
71
+ }
72
+ function RawYaml__TryScalarField_Z721C83C5(this$, field) {
73
+ const matchValue = this$.Node.Kind;
74
+ if (matchValue.tag === /* Mapping */
75
+ 1) {
76
+ return tryPick((entry) => {
77
+ const matchValue_1 = entry.Key.Kind;
78
+ const matchValue_2 = entry.Value.Kind;
79
+ let matchResult = void 0, key_1 = void 0, value_1 = void 0;
80
+ if (matchValue_1.tag === /* Scalar */
81
+ 0) {
82
+ if (matchValue_2.tag === /* Scalar */
83
+ 0) {
84
+ if (matchValue_2.fields[0], matchValue_1.fields[0].Value === field && !YamlNodeModule_isMissingValue(entry.Value)) {
85
+ matchResult = 0;
86
+ key_1 = matchValue_1.fields[0];
87
+ value_1 = matchValue_2.fields[0];
88
+ } else {
89
+ matchResult = 1;
90
+ }
91
+ } else {
92
+ matchResult = 1;
93
+ }
94
+ } else {
95
+ matchResult = 1;
96
+ }
97
+ switch (matchResult) {
98
+ case 0:
99
+ return value_1.Value;
100
+ default:
101
+ return void 0;
102
+ }
103
+ }, matchValue.fields[0].Items);
104
+ } else {
105
+ return void 0;
106
+ }
107
+ }
108
+ function IntegerOf_tryNumber(value) {
109
+ if ((Number.isNaN(value) ? true : isInfinity(value)) ? true : value !== Math.floor(value)) {
110
+ return void 0;
111
+ } else if (value >= -9223372036854776e3 && value < 9223372036854776e3) {
112
+ return toInt64_unchecked(fromFloat64(value));
113
+ } else {
114
+ return void 0;
115
+ }
116
+ }
11
117
  function SchemaSaladString_Literal(Item) {
12
118
  return new SchemaSaladString(0, [Item]);
13
119
  }
@@ -17,6 +123,12 @@ function SchemaSaladString_Include(Item) {
17
123
  function SchemaSaladString_Import(Item) {
18
124
  return new SchemaSaladString(2, [Item]);
19
125
  }
126
+ function SchemaSaladString_Mixin(Item) {
127
+ return new SchemaSaladString(3, [Item]);
128
+ }
129
+ function SchemaSaladString_Mixed(Item) {
130
+ return new SchemaSaladString(4, [Item]);
131
+ }
20
132
  class SchemaSaladString extends Union {
21
133
  constructor(tag, fields) {
22
134
  super();
@@ -24,46 +136,101 @@ class SchemaSaladString extends Union {
24
136
  this.fields = fields;
25
137
  }
26
138
  cases() {
27
- return ["Literal", "Include", "Import"];
139
+ return ["Literal", "Include", "Import", "Mixin", "Mixed"];
28
140
  }
29
- }
30
- function SchemaSaladString_$reflection() {
31
- return union_type("ARCtrl.CWL.SchemaSaladString", [], SchemaSaladString, () => [[["Item", string_type]], [["Item", string_type]], [["Item", string_type]]]);
32
- }
33
- function SchemaSaladString__get_Value(this$) {
34
- let value = void 0;
35
- switch (this$.tag) {
36
- case /* Include */
37
- 1: {
38
- value = this$.fields[0];
39
- break;
141
+ static literal(value) {
142
+ return SchemaSaladString_Literal(value);
143
+ }
144
+ static include(value) {
145
+ return SchemaSaladString_Include(value);
146
+ }
147
+ static import(value) {
148
+ return SchemaSaladString_Import(value);
149
+ }
150
+ static mixin(value) {
151
+ return SchemaSaladString_Mixin(value);
152
+ }
153
+ static mixed(value) {
154
+ return SchemaSaladString_Mixed(value);
155
+ }
156
+ /**
157
+ * The text of a literal and the path of a directive.
158
+ */
159
+ get Value() {
160
+ const this$ = this;
161
+ let matchResult = void 0, value = void 0;
162
+ switch (this$.tag) {
163
+ case /* Include */
164
+ 1: {
165
+ matchResult = 0;
166
+ value = this$.fields[0];
167
+ break;
168
+ }
169
+ case /* Import */
170
+ 2: {
171
+ matchResult = 0;
172
+ value = this$.fields[0];
173
+ break;
174
+ }
175
+ case /* Mixin */
176
+ 3: {
177
+ matchResult = 0;
178
+ value = this$.fields[0];
179
+ break;
180
+ }
181
+ case /* Mixed */
182
+ 4: {
183
+ matchResult = 1;
184
+ break;
185
+ }
186
+ default: {
187
+ matchResult = 0;
188
+ value = this$.fields[0];
189
+ }
40
190
  }
41
- case /* Import */
42
- 2: {
43
- value = this$.fields[0];
44
- break;
191
+ switch (matchResult) {
192
+ case 0:
193
+ return value;
194
+ default:
195
+ return RawYaml__get_MixinPath(this$.fields[0]);
45
196
  }
46
- default:
47
- value = this$.fields[0];
48
197
  }
49
- return value;
50
- }
51
- function SchemaSaladString__get_AsDirectiveString(this$) {
52
- switch (this$.tag) {
53
- case /* Include */
54
- 1: {
55
- const value_1 = this$.fields[0];
56
- return toText(printf("$include: %s"))(value_1);
57
- }
58
- case /* Import */
59
- 2: {
60
- const value_2 = this$.fields[0];
61
- return toText(printf("$import: %s"))(value_2);
198
+ /**
199
+ * The text as a document spells it, with the directive in front of the path. The description of an expression tool in
200
+ * an RO-Crate and the properties of a node of the workflow graph show a string through it, so it is a text for display.
201
+ * The decoder and the encoder keep the directive as a case, so a document never holds this text.
202
+ */
203
+ get AsDirectiveString() {
204
+ const this$ = this;
205
+ switch (this$.tag) {
206
+ case /* Include */
207
+ 1: {
208
+ const value_1 = this$.fields[0];
209
+ return toText(printf("$include: %s"))(value_1);
210
+ }
211
+ case /* Import */
212
+ 2: {
213
+ const value_2 = this$.fields[0];
214
+ return toText(printf("$import: %s"))(value_2);
215
+ }
216
+ case /* Mixin */
217
+ 3: {
218
+ const value_3 = this$.fields[0];
219
+ return toText(printf("$mixin: %s"))(value_3);
220
+ }
221
+ case /* Mixed */
222
+ 4: {
223
+ const arg_3 = RawYaml__get_MixinPath(this$.fields[0]);
224
+ return toText(printf("$mixin: %s"))(arg_3);
225
+ }
226
+ default:
227
+ return this$.fields[0];
62
228
  }
63
- default:
64
- return this$.fields[0];
65
229
  }
66
230
  }
231
+ function SchemaSaladString_$reflection() {
232
+ return union_type("ARCtrl.CWL.SchemaSaladString", [], SchemaSaladString, () => [[["Item", string_type]], [["Item", string_type]], [["Item", string_type]], [["Item", string_type]], [["Item", RawYaml_$reflection()]]]);
233
+ }
67
234
  function SchemaSaladStringModule_literal(value) {
68
235
  return SchemaSaladString_Literal(value);
69
236
  }
@@ -73,11 +240,203 @@ function SchemaSaladStringModule_includePath(value) {
73
240
  function SchemaSaladStringModule_importPath(value) {
74
241
  return SchemaSaladString_Import(value);
75
242
  }
243
+ function SchemaSaladStringModule_mixinPath(value) {
244
+ return SchemaSaladString_Mixin(value);
245
+ }
76
246
  function SchemaSaladStringModule_value(saladString) {
77
- return SchemaSaladString__get_Value(saladString);
247
+ return saladString.Value;
248
+ }
249
+ function SchemaSaladStringModule_tryLiteral(saladString) {
250
+ switch (saladString.tag) {
251
+ case /* Include */
252
+ 1:
253
+ case /* Import */
254
+ 2:
255
+ case /* Mixin */
256
+ 3:
257
+ case /* Mixed */
258
+ 4:
259
+ return void 0;
260
+ default:
261
+ return saladString.fields[0];
262
+ }
78
263
  }
79
- function SchemaSaladStringModule_toDirectiveString(saladString) {
80
- return SchemaSaladString__get_AsDirectiveString(saladString);
264
+ function ListEntry$1_Value(Item) {
265
+ return new ListEntry$1(0, [Item]);
266
+ }
267
+ function ListEntry$1_Imported(Item) {
268
+ return new ListEntry$1(1, [Item]);
269
+ }
270
+ function ListEntry$1_Mixed(Item) {
271
+ return new ListEntry$1(2, [Item]);
272
+ }
273
+ class ListEntry$1 extends Union {
274
+ constructor(tag, fields) {
275
+ super();
276
+ this.tag = tag;
277
+ this.fields = fields;
278
+ }
279
+ cases() {
280
+ return ["Value", "Imported", "Mixed"];
281
+ }
282
+ /**
283
+ * The object of a value entry, and none for an import or a mixin.
284
+ */
285
+ static tryValue(entry) {
286
+ switch (entry.tag) {
287
+ case /* Imported */
288
+ 1:
289
+ case /* Mixed */
290
+ 2:
291
+ return void 0;
292
+ default:
293
+ return some(entry.fields[0]);
294
+ }
295
+ }
296
+ /**
297
+ * The objects of the value entries, in order. The imports and the mixins stand for objects that the decoder does not
298
+ * read, so they are left out. The result is a new list.
299
+ */
300
+ static values(entries) {
301
+ const collection = choose((entry) => ListEntry$1.tryValue(entry), entries);
302
+ return Array.from(collection);
303
+ }
304
+ /**
305
+ * The value entries for these objects, in order.
306
+ */
307
+ static ofValues(values) {
308
+ const collection = map(ListEntry$1_Value, values);
309
+ return Array.from(collection);
310
+ }
311
+ /**
312
+ * The entry with another object, and the same import or mixin.
313
+ */
314
+ static map(mapping, entry) {
315
+ return entry.tag === /* Imported */
316
+ 1 ? ListEntry$1_Imported(entry.fields[0]) : entry.tag === /* Mixed */
317
+ 2 ? ListEntry$1_Mixed(entry.fields[0]) : ListEntry$1_Value(mapping(entry.fields[0]));
318
+ }
319
+ }
320
+ function ListEntry$1_$reflection(gen0) {
321
+ return union_type("ARCtrl.CWL.ListEntry`1", [gen0], ListEntry$1, () => [[["Item", gen0]], [["Item", string_type]], [["Item", RawYaml_$reflection()]]]);
322
+ }
323
+ function SchemaSaladBool_Value(Item) {
324
+ return new SchemaSaladBool(0, [Item]);
325
+ }
326
+ function SchemaSaladBool_Imported(Item) {
327
+ return new SchemaSaladBool(1, [Item]);
328
+ }
329
+ function SchemaSaladBool_Mixed(Item) {
330
+ return new SchemaSaladBool(2, [Item]);
331
+ }
332
+ class SchemaSaladBool extends Union {
333
+ constructor(tag, fields) {
334
+ super();
335
+ this.tag = tag;
336
+ this.fields = fields;
337
+ }
338
+ cases() {
339
+ return ["Value", "Imported", "Mixed"];
340
+ }
341
+ /**
342
+ * The boolean of a value, and none for a directive, which names a file whose data the model does not hold.
343
+ */
344
+ static tryValue(value) {
345
+ switch (value.tag) {
346
+ case /* Imported */
347
+ 1:
348
+ case /* Mixed */
349
+ 2:
350
+ return void 0;
351
+ default:
352
+ return value.fields[0];
353
+ }
354
+ }
355
+ }
356
+ function SchemaSaladBool_$reflection() {
357
+ return union_type("ARCtrl.CWL.SchemaSaladBool", [], SchemaSaladBool, () => [[["Item", bool_type]], [["Item", string_type]], [["Item", RawYaml_$reflection()]]]);
358
+ }
359
+ function FileSize_Bytes(Item) {
360
+ return new FileSize(0, [Item]);
361
+ }
362
+ function FileSize_Imported(Item) {
363
+ return new FileSize(1, [Item]);
364
+ }
365
+ function FileSize_Mixed(Item) {
366
+ return new FileSize(2, [Item]);
367
+ }
368
+ class FileSize extends Union {
369
+ constructor(tag, fields) {
370
+ super();
371
+ this.tag = tag;
372
+ this.fields = fields;
373
+ }
374
+ cases() {
375
+ return ["Bytes", "Imported", "Mixed"];
376
+ }
377
+ /**
378
+ * The number of bytes of a size, and none for a directive.
379
+ */
380
+ static tryBytes(size) {
381
+ switch (size.tag) {
382
+ case /* Imported */
383
+ 1:
384
+ case /* Mixed */
385
+ 2:
386
+ return void 0;
387
+ default:
388
+ return size.fields[0];
389
+ }
390
+ }
391
+ }
392
+ function FileSize_$reflection() {
393
+ return union_type("ARCtrl.CWL.FileSize", [], FileSize, () => [[["Item", int64_type]], [["Item", string_type]], [["Item", RawYaml_$reflection()]]]);
394
+ }
395
+ function DocText_Text$(Item) {
396
+ return new DocText(0, [Item]);
397
+ }
398
+ function DocText_Parts(Item) {
399
+ return new DocText(1, [Item]);
400
+ }
401
+ class DocText extends Union {
402
+ constructor(tag, fields) {
403
+ super();
404
+ this.tag = tag;
405
+ this.fields = fields;
406
+ }
407
+ cases() {
408
+ return ["Text", "Parts"];
409
+ }
410
+ Equals(o) {
411
+ let other = void 0, left_1 = void 0, right_1 = void 0, left = void 0, right = void 0;
412
+ const this$ = this;
413
+ return o instanceof DocText && (other = o, this$.tag === /* Parts */
414
+ 1 ? other.tag === /* Parts */
415
+ 1 && (left_1 = this$.fields[0], right_1 = other.fields[0], seqEqual(left_1, right_1)) : other.tag === /* Text */
416
+ 0 && (left = this$.fields[0], right = other.fields[0], equals(left, right)));
417
+ }
418
+ GetHashCode() {
419
+ const this$ = this;
420
+ return (this$.tag === /* Parts */
421
+ 1 ? mergeHashes(2, hashSeq(this$.fields[0])) : mergeHashes(1, safeHash(this$.fields[0]))) | 0;
422
+ }
423
+ /**
424
+ * The doc that is the given text.
425
+ */
426
+ static literal(text) {
427
+ return DocText_Text$(SchemaSaladString_Literal(text));
428
+ }
429
+ /**
430
+ * The text of the doc, and none for a doc with a directive.
431
+ */
432
+ get TryText() {
433
+ const this$ = this;
434
+ return unwrap(this$.tag === /* Parts */
435
+ 1 ? void 0 : SchemaSaladStringModule_tryLiteral(this$.fields[0]));
436
+ }
437
+ }
438
+ function DocText_$reflection() {
439
+ return union_type("ARCtrl.CWL.DocText", [], DocText, () => [[["Item", SchemaSaladString_$reflection()]], [["Item", array_type(SchemaSaladString_$reflection())]]]);
81
440
  }
82
441
  class FileInstance extends DynamicObj {
83
442
  constructor(location, path, basename, dirname, nameroot, nameext, checksum, size, secondaryFiles, format, contents) {
@@ -187,7 +546,7 @@ class FileInstance extends DynamicObj {
187
546
  }
188
547
  GetHashCode() {
189
548
  const this$ = this;
190
- return arrayHash([this$.Location, this$.Path, this$.Basename, this$.Dirname, this$.Nameroot, this$.Nameext, this$.Checksum, this$.Size, this$.SecondaryFiles, this$.Format, this$.Contents, hashDynamicProperties(this$)]) | 0;
549
+ return hashFields(ofArray([this$.Location, this$.Path, this$.Basename, this$.Dirname, this$.Nameroot, this$.Nameext, this$.Checksum, this$.Size, this$.SecondaryFiles, this$.Format, this$.Contents, hashDynamicProperties(this$)])) | 0;
191
550
  }
192
551
  Equals(o) {
193
552
  let o_1 = void 0;
@@ -198,7 +557,7 @@ class FileInstance extends DynamicObj {
198
557
  function FileInstance_$reflection() {
199
558
  return class_type("ARCtrl.CWL.FileInstance", void 0, FileInstance, DynamicObj_$reflection());
200
559
  }
201
- function FileInstance_$ctor_75C1B52E(location, path, basename, dirname, nameroot, nameext, checksum, size, secondaryFiles, format, contents) {
560
+ function FileInstance_$ctor_150431C5(location, path, basename, dirname, nameroot, nameext, checksum, size, secondaryFiles, format, contents) {
202
561
  return new FileInstance(location, path, basename, dirname, nameroot, nameext, checksum, size, secondaryFiles, format, contents);
203
562
  }
204
563
  class DirectoryInstance extends DynamicObj {
@@ -257,7 +616,7 @@ class DirectoryInstance extends DynamicObj {
257
616
  function DirectoryInstance_$reflection() {
258
617
  return class_type("ARCtrl.CWL.DirectoryInstance", void 0, DirectoryInstance, DynamicObj_$reflection());
259
618
  }
260
- function DirectoryInstance_$ctor_Z4C1E59AE(location, path, basename, listing) {
619
+ function DirectoryInstance_$ctor_219ADA02(location, path, basename, listing) {
261
620
  return new DirectoryInstance(location, path, basename, listing);
262
621
  }
263
622
  class DirentInstance extends DynamicObj {
@@ -307,9 +666,31 @@ class DirentInstance extends DynamicObj {
307
666
  function DirentInstance_$reflection() {
308
667
  return class_type("ARCtrl.CWL.DirentInstance", void 0, DirentInstance, DynamicObj_$reflection());
309
668
  }
310
- function DirentInstance_$ctor_Z61DE5D76(entry, entryname, writable) {
669
+ function DirentInstance_$ctor_F8980C3(entry, entryname, writable) {
311
670
  return new DirentInstance(entry, entryname, writable);
312
671
  }
672
+ class SourceNodes extends Record {
673
+ constructor(Doc, Label, WholeFields) {
674
+ super();
675
+ this.Doc = Doc;
676
+ this.Label = Label;
677
+ this.WholeFields = WholeFields;
678
+ }
679
+ Equals(o) {
680
+ return o instanceof SourceNodes;
681
+ }
682
+ GetHashCode() {
683
+ return 0;
684
+ }
685
+ }
686
+ function SourceNodes_$reflection() {
687
+ return record_type("ARCtrl.CWL.SourceNodes", [], SourceNodes, () => [["Doc", option_type(YamlNode_$reflection())], ["Label", option_type(YamlNode_$reflection())], ["WholeFields", class_type("Microsoft.FSharp.Collections.FSharpSet`1", [string_type])]]);
688
+ }
689
+ function SourceNodes_get_Empty() {
690
+ return new SourceNodes(void 0, void 0, empty({
691
+ Compare: (x, y) => comparePrimitives(x, y) | 0
692
+ }));
693
+ }
313
694
  class InputEnumSchema extends DynamicObj {
314
695
  constructor(symbols, label, doc, name) {
315
696
  super();
@@ -317,6 +698,7 @@ class InputEnumSchema extends DynamicObj {
317
698
  this._label = label;
318
699
  this._doc = doc;
319
700
  this._name = name;
701
+ this._sourceNodes = SourceNodes_get_Empty();
320
702
  }
321
703
  get Symbols() {
322
704
  const this$ = this;
@@ -350,6 +732,22 @@ class InputEnumSchema extends DynamicObj {
350
732
  const this$ = this;
351
733
  this$._name = value;
352
734
  }
735
+ /**
736
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
737
+ * They stay out of the equality and the hash of the object.
738
+ */
739
+ get SourceNodes() {
740
+ const this$ = this;
741
+ return this$._sourceNodes;
742
+ }
743
+ /**
744
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
745
+ * They stay out of the equality and the hash of the object.
746
+ */
747
+ set SourceNodes(value) {
748
+ const this$ = this;
749
+ this$._sourceNodes = value;
750
+ }
353
751
  /**
354
752
  * Equality comparison that treats symbol order as significant.
355
753
  * Two enums are equal only if their symbols appear in the same order.
@@ -358,7 +756,7 @@ class InputEnumSchema extends DynamicObj {
358
756
  Equals(o) {
359
757
  let other = void 0;
360
758
  const this$ = this;
361
- return o instanceof InputEnumSchema && (other = o, equals(this$.Label, other.Label) && equals(this$.Doc, other.Doc) && equals(this$.Name, other.Name) && this$.Symbols.length === other.Symbols.length && forAll2((x, y) => x === y, this$.Symbols, other.Symbols) && dynamicPropertiesEqual(this$, other));
759
+ return o instanceof InputEnumSchema && (other = o, equals(this$.Label, other.Label) && equals(this$.Doc, other.Doc) && equals(this$.Name, other.Name) && this$.Symbols.length === other.Symbols.length && forAll2(equals, this$.Symbols, other.Symbols) && dynamicPropertiesEqual(this$, other));
362
760
  }
363
761
  GetHashCode() {
364
762
  const this$ = this;
@@ -367,11 +765,19 @@ class InputEnumSchema extends DynamicObj {
367
765
  static get KnownFieldNames() {
368
766
  return inputEnumSchema;
369
767
  }
768
+ /**
769
+ * Returns a new list of the symbols that the document writes out as strings. The directives are left out, so a change
770
+ * of the list changes nothing in the enum. The entries of the enum are in Symbols.
771
+ */
772
+ static getSymbolValues(schema) {
773
+ const collection = choose(SchemaSaladStringModule_tryLiteral, schema.Symbols);
774
+ return Array.from(collection);
775
+ }
370
776
  }
371
777
  function InputEnumSchema_$reflection() {
372
778
  return class_type("ARCtrl.CWL.InputEnumSchema", void 0, InputEnumSchema, DynamicObj_$reflection());
373
779
  }
374
- function InputEnumSchema_$ctor_Z998ED46(symbols, label, doc, name) {
780
+ function InputEnumSchema_$ctor_162689D3(symbols, label, doc, name) {
375
781
  return new InputEnumSchema(symbols, label, doc, name);
376
782
  }
377
783
  class InputRecordField extends DynamicObj {
@@ -381,6 +787,7 @@ class InputRecordField extends DynamicObj {
381
787
  this._type = type_;
382
788
  this._doc = doc;
383
789
  this._label = label;
790
+ this._sourceNodes = SourceNodes_get_Empty();
384
791
  }
385
792
  get Name() {
386
793
  const this$ = this;
@@ -414,6 +821,22 @@ class InputRecordField extends DynamicObj {
414
821
  const this$ = this;
415
822
  this$._label = value;
416
823
  }
824
+ /**
825
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
826
+ * They stay out of the equality and the hash of the object.
827
+ */
828
+ get SourceNodes() {
829
+ const this$ = this;
830
+ return this$._sourceNodes;
831
+ }
832
+ /**
833
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
834
+ * They stay out of the equality and the hash of the object.
835
+ */
836
+ set SourceNodes(value) {
837
+ const this$ = this;
838
+ this$._sourceNodes = value;
839
+ }
417
840
  Equals(o) {
418
841
  let other = void 0;
419
842
  const this$ = this;
@@ -430,7 +853,7 @@ class InputRecordField extends DynamicObj {
430
853
  function InputRecordField_$reflection() {
431
854
  return class_type("ARCtrl.CWL.InputRecordField", void 0, InputRecordField, DynamicObj_$reflection());
432
855
  }
433
- function InputRecordField_$ctor_Z155BDB64(name, type_, doc, label) {
856
+ function InputRecordField_$ctor_ZBF0B4CA(name, type_, doc, label) {
434
857
  return new InputRecordField(name, type_, doc, label);
435
858
  }
436
859
  class InputRecordSchema extends DynamicObj {
@@ -440,6 +863,7 @@ class InputRecordSchema extends DynamicObj {
440
863
  this._label = label;
441
864
  this._doc = doc;
442
865
  this._name = name;
866
+ this._sourceNodes = SourceNodes_get_Empty();
443
867
  }
444
868
  get Fields() {
445
869
  const this$ = this;
@@ -473,24 +897,49 @@ class InputRecordSchema extends DynamicObj {
473
897
  const this$ = this;
474
898
  this$._name = value;
475
899
  }
900
+ /**
901
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
902
+ * They stay out of the equality and the hash of the object.
903
+ */
904
+ get SourceNodes() {
905
+ const this$ = this;
906
+ return this$._sourceNodes;
907
+ }
908
+ /**
909
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
910
+ * They stay out of the equality and the hash of the object.
911
+ */
912
+ set SourceNodes(value) {
913
+ const this$ = this;
914
+ this$._sourceNodes = value;
915
+ }
476
916
  Equals(o) {
477
917
  let other = void 0, matchValue = void 0, matchValue_1 = void 0, f1 = void 0, f2 = void 0;
478
918
  const this$ = this;
479
- return o instanceof InputRecordSchema && (other = o, equals(this$.Label, other.Label) && equals(this$.Doc, other.Doc) && equals(this$.Name, other.Name) && (matchValue = this$.Fields, matchValue_1 = other.Fields, matchValue != null ? matchValue_1 != null && (f1 = value(matchValue), f2 = value(matchValue_1), f1.length === f2.length && forAll2(equals, f1, f2)) : matchValue_1 == null) && dynamicPropertiesEqual(this$, other));
919
+ return o instanceof InputRecordSchema && (other = o, equals(this$.Label, other.Label) && equals(this$.Doc, other.Doc) && equals(this$.Name, other.Name) && (matchValue = this$.Fields, matchValue_1 = other.Fields, matchValue != null ? matchValue_1 != null && (f1 = matchValue, f2 = matchValue_1, seqEqual(f1, f2)) : matchValue_1 == null) && dynamicPropertiesEqual(this$, other));
480
920
  }
481
921
  GetHashCode() {
482
922
  let option_1 = void 0;
483
923
  const this$ = this;
484
- return arrayHash([(option_1 = this$.Fields, option_1 != null ? toList(map((field) => safeHash(field) | 0, value(option_1))) : void 0), this$.Label, this$.Doc, this$.Name, hashDynamicProperties(this$)]) | 0;
924
+ return arrayHash([(option_1 = this$.Fields, option_1 != null ? toList(map((field) => safeHash(field) | 0, option_1)) : void 0), this$.Label, this$.Doc, this$.Name, hashDynamicProperties(this$)]) | 0;
485
925
  }
486
926
  static get KnownFieldNames() {
487
927
  return inputRecordSchema;
488
928
  }
929
+ /**
930
+ * Returns a new list of the fields of the record that are objects, or an empty list for a record without fields. The
931
+ * imports and the mixins are left out, so a change of the list changes nothing in the record. The entries of the
932
+ * record are in Fields.
933
+ */
934
+ static getFieldValuesOrEmpty(schema) {
935
+ let option_1 = void 0, entries = void 0;
936
+ return defaultArg((option_1 = schema.Fields, option_1 != null ? (entries = option_1, ListEntry$1.values(entries)) : void 0), []);
937
+ }
489
938
  }
490
939
  function InputRecordSchema_$reflection() {
491
940
  return class_type("ARCtrl.CWL.InputRecordSchema", void 0, InputRecordSchema, DynamicObj_$reflection());
492
941
  }
493
- function InputRecordSchema_$ctor_Z52C4D9E4(fields, label, doc, name) {
942
+ function InputRecordSchema_$ctor_6F045035(fields, label, doc, name) {
494
943
  return new InputRecordSchema(fields, label, doc, name);
495
944
  }
496
945
  class InputArraySchema extends DynamicObj {
@@ -500,6 +949,7 @@ class InputArraySchema extends DynamicObj {
500
949
  this._label = label;
501
950
  this._doc = doc;
502
951
  this._name = name;
952
+ this._sourceNodes = SourceNodes_get_Empty();
503
953
  }
504
954
  get Items() {
505
955
  const this$ = this;
@@ -533,6 +983,22 @@ class InputArraySchema extends DynamicObj {
533
983
  const this$ = this;
534
984
  this$._name = value;
535
985
  }
986
+ /**
987
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
988
+ * They stay out of the equality and the hash of the object.
989
+ */
990
+ get SourceNodes() {
991
+ const this$ = this;
992
+ return this$._sourceNodes;
993
+ }
994
+ /**
995
+ * The nodes that the doc and the label were read from. The encoder writes the layout of the author from them.
996
+ * They stay out of the equality and the hash of the object.
997
+ */
998
+ set SourceNodes(value) {
999
+ const this$ = this;
1000
+ this$._sourceNodes = value;
1001
+ }
536
1002
  Equals(o) {
537
1003
  let other = void 0;
538
1004
  const this$ = this;
@@ -549,17 +1015,14 @@ class InputArraySchema extends DynamicObj {
549
1015
  function InputArraySchema_$reflection() {
550
1016
  return class_type("ARCtrl.CWL.InputArraySchema", void 0, InputArraySchema, DynamicObj_$reflection());
551
1017
  }
552
- function InputArraySchema_$ctor_4E4FFD9F(items, label, doc, name) {
1018
+ function InputArraySchema_$ctor_24D6AC35(items, label, doc, name) {
553
1019
  return new InputArraySchema(items, label, doc, name);
554
1020
  }
555
- function CWLType_File(Item) {
556
- return new CWLType(0, [Item]);
557
- }
558
- function CWLType_Directory(Item) {
559
- return new CWLType(1, [Item]);
1021
+ function CWLType_File() {
1022
+ return CWLType.File;
560
1023
  }
561
- function CWLType_Dirent(Item) {
562
- return new CWLType(2, [Item]);
1024
+ function CWLType_Directory() {
1025
+ return CWLType.Directory;
563
1026
  }
564
1027
  function CWLType_String$() {
565
1028
  return CWLType.String$;
@@ -579,23 +1042,47 @@ function CWLType_Double() {
579
1042
  function CWLType_Boolean$() {
580
1043
  return CWLType.Boolean$;
581
1044
  }
1045
+ function CWLType_Any() {
1046
+ return CWLType.Any;
1047
+ }
582
1048
  function CWLType_Stdout() {
583
1049
  return CWLType.Stdout;
584
1050
  }
1051
+ function CWLType_Stderr() {
1052
+ return CWLType.Stderr;
1053
+ }
1054
+ function CWLType_Stdin() {
1055
+ return CWLType.Stdin;
1056
+ }
1057
+ function CWLType_Reference(Item) {
1058
+ return new CWLType(12, [Item]);
1059
+ }
1060
+ function CWLType_ImportedType(Item) {
1061
+ return new CWLType(13, [Item]);
1062
+ }
1063
+ function CWLType_IncludedType(Item) {
1064
+ return new CWLType(14, [Item]);
1065
+ }
1066
+ function CWLType_MixedType(Item) {
1067
+ return new CWLType(15, [Item]);
1068
+ }
1069
+ function CWLType_RawType(Item) {
1070
+ return new CWLType(16, [Item]);
1071
+ }
585
1072
  function CWLType_Null() {
586
1073
  return CWLType.Null;
587
1074
  }
588
1075
  function CWLType_Array$(Item) {
589
- return new CWLType(11, [Item]);
1076
+ return new CWLType(18, [Item]);
590
1077
  }
591
1078
  function CWLType_Record(Item) {
592
- return new CWLType(12, [Item]);
1079
+ return new CWLType(19, [Item]);
593
1080
  }
594
1081
  function CWLType_Enum(Item) {
595
- return new CWLType(13, [Item]);
1082
+ return new CWLType(20, [Item]);
596
1083
  }
597
1084
  function CWLType_Union(Item) {
598
- return new CWLType(14, [Item]);
1085
+ return new CWLType(21, [Item]);
599
1086
  }
600
1087
  class CWLType extends Union {
601
1088
  constructor(tag, fields) {
@@ -604,134 +1091,227 @@ class CWLType extends Union {
604
1091
  this.fields = fields;
605
1092
  }
606
1093
  cases() {
607
- return ["File", "Directory", "Dirent", "String", "Int", "Long", "Float", "Double", "Boolean", "Stdout", "Null", "Array", "Record", "Enum", "Union"];
1094
+ return ["File", "Directory", "String", "Int", "Long", "Float", "Double", "Boolean", "Any", "Stdout", "Stderr", "Stdin", "Reference", "ImportedType", "IncludedType", "MixedType", "RawType", "Null", "Array", "Record", "Enum", "Union"];
1095
+ }
1096
+ static {
1097
+ this.File = new CWLType(0, []);
1098
+ }
1099
+ static {
1100
+ this.Directory = new CWLType(1, []);
1101
+ }
1102
+ static {
1103
+ this.String$ = new CWLType(2, []);
608
1104
  }
609
1105
  static {
610
- this.String$ = new CWLType(3, []);
1106
+ this.Int = new CWLType(3, []);
611
1107
  }
612
1108
  static {
613
- this.Int = new CWLType(4, []);
1109
+ this.Long = new CWLType(4, []);
614
1110
  }
615
1111
  static {
616
- this.Long = new CWLType(5, []);
1112
+ this.Float = new CWLType(5, []);
617
1113
  }
618
1114
  static {
619
- this.Float = new CWLType(6, []);
1115
+ this.Double = new CWLType(6, []);
620
1116
  }
621
1117
  static {
622
- this.Double = new CWLType(7, []);
1118
+ this.Boolean$ = new CWLType(7, []);
623
1119
  }
624
1120
  static {
625
- this.Boolean$ = new CWLType(8, []);
1121
+ this.Any = new CWLType(8, []);
626
1122
  }
627
1123
  static {
628
1124
  this.Stdout = new CWLType(9, []);
629
1125
  }
630
1126
  static {
631
- this.Null = new CWLType(10, []);
1127
+ this.Stderr = new CWLType(10, []);
1128
+ }
1129
+ static {
1130
+ this.Stdin = new CWLType(11, []);
1131
+ }
1132
+ static {
1133
+ this.Null = new CWLType(17, []);
632
1134
  }
633
1135
  Equals(o) {
634
- let other = void 0, d1 = void 0, d2 = void 0, di1 = void 0, di2 = void 0, a1 = void 0, a2 = void 0, r1 = void 0, r2 = void 0, e1 = void 0, e2 = void 0, u1 = void 0, u2 = void 0, f1 = void 0, f2 = void 0;
1136
+ let other = void 0, left = void 0, right = void 0, left_1 = void 0, right_1 = void 0, left_2 = void 0, right_2 = void 0, left_3 = void 0, right_3 = void 0, left_4 = void 0, right_4 = void 0, a1 = void 0, a2 = void 0, r1 = void 0, r2 = void 0, e1 = void 0, e2 = void 0, u1 = void 0, u2 = void 0;
635
1137
  const this$ = this;
636
1138
  return o instanceof CWLType && (other = o, this$.tag === /* Directory */
637
1139
  1 ? other.tag === /* Directory */
638
- 1 && (d1 = this$.fields[0], d2 = other.fields[0], equals(d1, d2)) : this$.tag === /* Dirent */
639
- 2 ? other.tag === /* Dirent */
640
- 2 && (di1 = this$.fields[0], di2 = other.fields[0], equals(di1, di2)) : this$.tag === /* String */
641
- 3 ? other.tag === /* String */
642
- 3 : this$.tag === /* Int */
643
- 4 ? other.tag === /* Int */
644
- 4 : this$.tag === /* Long */
645
- 5 ? other.tag === /* Long */
646
- 5 : this$.tag === /* Float */
647
- 6 ? other.tag === /* Float */
648
- 6 : this$.tag === /* Double */
649
- 7 ? other.tag === /* Double */
650
- 7 : this$.tag === /* Boolean */
651
- 8 ? other.tag === /* Boolean */
1140
+ 1 : this$.tag === /* String */
1141
+ 2 ? other.tag === /* String */
1142
+ 2 : this$.tag === /* Int */
1143
+ 3 ? other.tag === /* Int */
1144
+ 3 : this$.tag === /* Long */
1145
+ 4 ? other.tag === /* Long */
1146
+ 4 : this$.tag === /* Float */
1147
+ 5 ? other.tag === /* Float */
1148
+ 5 : this$.tag === /* Double */
1149
+ 6 ? other.tag === /* Double */
1150
+ 6 : this$.tag === /* Boolean */
1151
+ 7 ? other.tag === /* Boolean */
1152
+ 7 : this$.tag === /* Any */
1153
+ 8 ? other.tag === /* Any */
652
1154
  8 : this$.tag === /* Stdout */
653
1155
  9 ? other.tag === /* Stdout */
654
- 9 : this$.tag === /* Null */
655
- 10 ? other.tag === /* Null */
656
- 10 : this$.tag === /* Array */
657
- 11 ? other.tag === /* Array */
658
- 11 && (a1 = this$.fields[0], a2 = other.fields[0], equals(a1, a2)) : this$.tag === /* Record */
659
- 12 ? other.tag === /* Record */
660
- 12 && (r1 = this$.fields[0], r2 = other.fields[0], equals(r1, r2)) : this$.tag === /* Enum */
661
- 13 ? other.tag === /* Enum */
662
- 13 && (e1 = this$.fields[0], e2 = other.fields[0], equals(e1, e2)) : this$.tag === /* Union */
663
- 14 ? other.tag === /* Union */
664
- 14 && (u1 = this$.fields[0], u2 = other.fields[0], u1.length === u2.length && forAll2(equals, u1, u2)) : other.tag === /* File */
665
- 0 && (f1 = this$.fields[0], f2 = other.fields[0], equals(f1, f2)));
1156
+ 9 : this$.tag === /* Stderr */
1157
+ 10 ? other.tag === /* Stderr */
1158
+ 10 : this$.tag === /* Stdin */
1159
+ 11 ? other.tag === /* Stdin */
1160
+ 11 : this$.tag === /* Reference */
1161
+ 12 ? other.tag === /* Reference */
1162
+ 12 && (left = this$.fields[0], right = other.fields[0], left === right) : this$.tag === /* ImportedType */
1163
+ 13 ? other.tag === /* ImportedType */
1164
+ 13 && (left_1 = this$.fields[0], right_1 = other.fields[0], left_1 === right_1) : this$.tag === /* IncludedType */
1165
+ 14 ? other.tag === /* IncludedType */
1166
+ 14 && (left_2 = this$.fields[0], right_2 = other.fields[0], left_2 === right_2) : this$.tag === /* MixedType */
1167
+ 15 ? other.tag === /* MixedType */
1168
+ 15 && (left_3 = this$.fields[0], right_3 = other.fields[0], equals(left_3, right_3)) : this$.tag === /* RawType */
1169
+ 16 ? other.tag === /* RawType */
1170
+ 16 && (left_4 = this$.fields[0], right_4 = other.fields[0], equals(left_4, right_4)) : this$.tag === /* Null */
1171
+ 17 ? other.tag === /* Null */
1172
+ 17 : this$.tag === /* Array */
1173
+ 18 ? other.tag === /* Array */
1174
+ 18 && (a1 = this$.fields[0], a2 = other.fields[0], equals(a1, a2)) : this$.tag === /* Record */
1175
+ 19 ? other.tag === /* Record */
1176
+ 19 && (r1 = this$.fields[0], r2 = other.fields[0], equals(r1, r2)) : this$.tag === /* Enum */
1177
+ 20 ? other.tag === /* Enum */
1178
+ 20 && (e1 = this$.fields[0], e2 = other.fields[0], equals(e1, e2)) : this$.tag === /* Union */
1179
+ 21 ? other.tag === /* Union */
1180
+ 21 && (u1 = this$.fields[0], u2 = other.fields[0], u1.length === u2.length && forAll2(equals, u1, u2)) : other.tag === /* File */
1181
+ 0);
666
1182
  }
667
1183
  GetHashCode() {
668
1184
  const this$ = this;
669
1185
  return (this$.tag === /* Directory */
670
- 1 ? arrayHash([1, safeHash(this$.fields[0])]) : this$.tag === /* Dirent */
671
- 2 ? arrayHash([2, this$.fields[0]]) : this$.tag === /* String */
672
- 3 ? numberHash(3) : this$.tag === /* Int */
673
- 4 ? numberHash(4) : this$.tag === /* Long */
674
- 5 ? numberHash(5) : this$.tag === /* Float */
675
- 6 ? numberHash(6) : this$.tag === /* Double */
676
- 7 ? numberHash(7) : this$.tag === /* Boolean */
677
- 8 ? numberHash(8) : this$.tag === /* Stdout */
1186
+ 1 ? numberHash(1) : this$.tag === /* String */
1187
+ 2 ? numberHash(3) : this$.tag === /* Int */
1188
+ 3 ? numberHash(4) : this$.tag === /* Long */
1189
+ 4 ? numberHash(5) : this$.tag === /* Float */
1190
+ 5 ? numberHash(6) : this$.tag === /* Double */
1191
+ 6 ? numberHash(7) : this$.tag === /* Boolean */
1192
+ 7 ? numberHash(8) : this$.tag === /* Stdout */
678
1193
  9 ? numberHash(9) : this$.tag === /* Null */
679
- 10 ? numberHash(10) : this$.tag === /* Array */
680
- 11 ? arrayHash([11, this$.fields[0]]) : this$.tag === /* Record */
681
- 12 ? arrayHash([12, this$.fields[0]]) : this$.tag === /* Enum */
682
- 13 ? arrayHash([13, this$.fields[0]]) : this$.tag === /* Union */
683
- 14 ? arrayHash([14, toList(map((t) => safeHash(t) | 0, this$.fields[0]))]) : arrayHash([0, safeHash(this$.fields[0])])) | 0;
1194
+ 17 ? numberHash(10) : this$.tag === /* Array */
1195
+ 18 ? arrayHash([11, this$.fields[0]]) : this$.tag === /* Record */
1196
+ 19 ? arrayHash([12, this$.fields[0]]) : this$.tag === /* Enum */
1197
+ 20 ? arrayHash([13, this$.fields[0]]) : this$.tag === /* Union */
1198
+ 21 ? arrayHash([14, toList(map((t) => safeHash(t) | 0, this$.fields[0]))]) : this$.tag === /* Any */
1199
+ 8 ? numberHash(15) : this$.tag === /* Stderr */
1200
+ 10 ? numberHash(16) : this$.tag === /* Stdin */
1201
+ 11 ? numberHash(17) : this$.tag === /* Reference */
1202
+ 12 ? arrayHash([18, this$.fields[0]]) : this$.tag === /* ImportedType */
1203
+ 13 ? arrayHash([19, this$.fields[0]]) : this$.tag === /* MixedType */
1204
+ 15 ? arrayHash([20, this$.fields[0]]) : this$.tag === /* RawType */
1205
+ 16 ? arrayHash([22, this$.fields[0]]) : this$.tag === /* IncludedType */
1206
+ 14 ? arrayHash([21, this$.fields[0]]) : numberHash(0)) | 0;
1207
+ }
1208
+ static file() {
1209
+ return CWLType.File;
1210
+ }
1211
+ static directory() {
1212
+ return CWLType.Directory;
1213
+ }
1214
+ static string() {
1215
+ return CWLType.String$;
1216
+ }
1217
+ static int() {
1218
+ return CWLType.Int;
1219
+ }
1220
+ static long() {
1221
+ return CWLType.Long;
1222
+ }
1223
+ static float() {
1224
+ return CWLType.Float;
1225
+ }
1226
+ static double() {
1227
+ return CWLType.Double;
1228
+ }
1229
+ static boolean() {
1230
+ return CWLType.Boolean$;
1231
+ }
1232
+ static any() {
1233
+ return CWLType.Any;
1234
+ }
1235
+ static stdout() {
1236
+ return CWLType.Stdout;
1237
+ }
1238
+ static stderr() {
1239
+ return CWLType.Stderr;
1240
+ }
1241
+ static stdin() {
1242
+ return CWLType.Stdin;
1243
+ }
1244
+ static reference(value) {
1245
+ return CWLType_Reference(value);
1246
+ }
1247
+ static importedType(value) {
1248
+ return CWLType_ImportedType(value);
1249
+ }
1250
+ static includedType(value) {
1251
+ return CWLType_IncludedType(value);
1252
+ }
1253
+ static mixedType(value) {
1254
+ return CWLType_MixedType(value);
1255
+ }
1256
+ static rawType(value) {
1257
+ return CWLType_RawType(value);
1258
+ }
1259
+ static null() {
1260
+ return CWLType.Null;
1261
+ }
1262
+ static array(value) {
1263
+ return CWLType_Array$(value);
1264
+ }
1265
+ static enum(value) {
1266
+ return CWLType_Enum(value);
1267
+ }
1268
+ static record(value) {
1269
+ return CWLType_Record(value);
1270
+ }
1271
+ static union(value) {
1272
+ return CWLType_Union(value);
684
1273
  }
685
1274
  }
686
1275
  function CWLType_$reflection() {
687
- return union_type("ARCtrl.CWL.CWLType", [], CWLType, () => [[["Item", FileInstance_$reflection()]], [["Item", DirectoryInstance_$reflection()]], [["Item", DirentInstance_$reflection()]], [], [], [], [], [], [], [], [], [["Item", InputArraySchema_$reflection()]], [["Item", InputRecordSchema_$reflection()]], [["Item", InputEnumSchema_$reflection()]], [["Item", array_type(CWLType_$reflection())]]]);
1276
+ return union_type("ARCtrl.CWL.CWLType", [], CWLType, () => [[], [], [], [], [], [], [], [], [], [], [], [], [["Item", string_type]], [["Item", string_type]], [["Item", string_type]], [["Item", RawYaml_$reflection()]], [["Item", RawYaml_$reflection()]], [], [["Item", InputArraySchema_$reflection()]], [["Item", InputRecordSchema_$reflection()]], [["Item", InputEnumSchema_$reflection()]], [["Item", array_type(CWLType_$reflection())]]]);
688
1277
  }
689
- function CWLType_file() {
690
- return CWLType_File(new FileInstance());
1278
+ function SchemaDefinition_Record(Item) {
1279
+ return new SchemaDefinition(0, [Item]);
691
1280
  }
692
- function CWLType_directory() {
693
- return CWLType_Directory(new DirectoryInstance());
1281
+ function SchemaDefinition_Enum(Item) {
1282
+ return new SchemaDefinition(1, [Item]);
694
1283
  }
695
- class SchemaDefRequirementType extends DynamicObj {
696
- constructor(name, type_) {
1284
+ function SchemaDefinition_Array$(Item) {
1285
+ return new SchemaDefinition(2, [Item]);
1286
+ }
1287
+ class SchemaDefinition extends Union {
1288
+ constructor(tag, fields) {
697
1289
  super();
698
- this._name = name;
699
- this._type = type_;
700
- }
701
- get Name() {
702
- const this$ = this;
703
- return this$._name;
704
- }
705
- set Name(value) {
706
- const this$ = this;
707
- this$._name = value;
708
- }
709
- get Type_() {
710
- const this$ = this;
711
- return this$._type;
1290
+ this.tag = tag;
1291
+ this.fields = fields;
712
1292
  }
713
- set Type_(value) {
714
- const this$ = this;
715
- this$._type = value;
1293
+ cases() {
1294
+ return ["Record", "Enum", "Array"];
716
1295
  }
717
1296
  Equals(o) {
718
- let other = void 0;
1297
+ let other = void 0, left_1 = void 0, right_1 = void 0, left_2 = void 0, right_2 = void 0, left = void 0, right = void 0;
719
1298
  const this$ = this;
720
- return o instanceof SchemaDefRequirementType && (other = o, this$.Name === other.Name && equals(this$.Type_, other.Type_) && dynamicPropertiesEqual(this$, other));
1299
+ return o instanceof SchemaDefinition && (other = o, this$.tag === /* Enum */
1300
+ 1 ? other.tag === /* Enum */
1301
+ 1 && (left_1 = this$.fields[0], right_1 = other.fields[0], equals(left_1, right_1)) : this$.tag === /* Array */
1302
+ 2 ? other.tag === /* Array */
1303
+ 2 && (left_2 = this$.fields[0], right_2 = other.fields[0], equals(left_2, right_2)) : other.tag === /* Record */
1304
+ 0 && (left = this$.fields[0], right = other.fields[0], equals(left, right)));
721
1305
  }
722
1306
  GetHashCode() {
723
1307
  const this$ = this;
724
- return arrayHash([this$.Name, this$.Type_, hashDynamicProperties(this$)]) | 0;
1308
+ return (this$.tag === /* Enum */
1309
+ 1 ? arrayHash([1, this$.fields[0]]) : this$.tag === /* Array */
1310
+ 2 ? arrayHash([2, this$.fields[0]]) : arrayHash([0, this$.fields[0]])) | 0;
725
1311
  }
726
- static get KnownFieldNames() {
727
- return schemaDefRequirementType;
728
- }
729
- }
730
- function SchemaDefRequirementType_$reflection() {
731
- return class_type("ARCtrl.CWL.SchemaDefRequirementType", void 0, SchemaDefRequirementType, DynamicObj_$reflection());
732
1312
  }
733
- function SchemaDefRequirementType_$ctor_Z1662A364(name, type_) {
734
- return new SchemaDefRequirementType(name, type_);
1313
+ function SchemaDefinition_$reflection() {
1314
+ return union_type("ARCtrl.CWL.SchemaDefinition", [], SchemaDefinition, () => [[["Item", InputRecordSchema_$reflection()]], [["Item", InputEnumSchema_$reflection()]], [["Item", InputArraySchema_$reflection()]]]);
735
1315
  }
736
1316
  class SoftwarePackage extends DynamicObj {
737
1317
  constructor(package$, version, specs) {
@@ -767,11 +1347,11 @@ class SoftwarePackage extends DynamicObj {
767
1347
  Equals(o) {
768
1348
  let other = void 0;
769
1349
  const this$ = this;
770
- return o instanceof SoftwarePackage && (other = o, this$.Package === other.Package && equals(this$.Version, other.Version) && equals(this$.Specs, other.Specs) && dynamicPropertiesEqual(this$, other));
1350
+ return o instanceof SoftwarePackage && (other = o, equals(this$.Package, other.Package) && optionSeqEqual(this$.Version, other.Version) && optionSeqEqual(this$.Specs, other.Specs) && dynamicPropertiesEqual(this$, other));
771
1351
  }
772
1352
  GetHashCode() {
773
1353
  const this$ = this;
774
- return arrayHash([this$.Package, this$.Version, this$.Specs, hashDynamicProperties(this$)]) | 0;
1354
+ return arrayHash([this$.Package, hashOptionSeq(this$.Version), hashOptionSeq(this$.Specs), hashDynamicProperties(this$)]) | 0;
775
1355
  }
776
1356
  static get KnownFieldNames() {
777
1357
  return softwarePackage;
@@ -780,22 +1360,24 @@ class SoftwarePackage extends DynamicObj {
780
1360
  function SoftwarePackage_$reflection() {
781
1361
  return class_type("ARCtrl.CWL.SoftwarePackage", void 0, SoftwarePackage, DynamicObj_$reflection());
782
1362
  }
783
- function SoftwarePackage_$ctor_7A38CADB(package$, version, specs) {
1363
+ function SoftwarePackage_$ctor_Z14DD0A28(package$, version, specs) {
784
1364
  return new SoftwarePackage(package$, version, specs);
785
1365
  }
786
1366
  function FileInstanceModule_pathOrLocation(value) {
787
- return defaultArg(orElse(value.Path, value.Location), "");
1367
+ let option_1 = void 0, option_3 = void 0;
1368
+ return defaultArg(orElse((option_1 = value.Path, option_1 != null ? SchemaSaladStringModule_tryLiteral(option_1) : void 0), (option_3 = value.Location, option_3 != null ? SchemaSaladStringModule_tryLiteral(option_3) : void 0)), "");
788
1369
  }
789
1370
  function DirectoryInstanceModule_pathOrLocation(value) {
790
- return defaultArg(orElse(value.Path, value.Location), "");
1371
+ let option_1 = void 0, option_3 = void 0;
1372
+ return defaultArg(orElse((option_1 = value.Path, option_1 != null ? SchemaSaladStringModule_tryLiteral(option_1) : void 0), (option_3 = value.Location, option_3 != null ? SchemaSaladStringModule_tryLiteral(option_3) : void 0)), "");
791
1373
  }
792
1374
  function InputRecordSchemaModule_tryGetFieldType(name, schema) {
793
1375
  let field_1 = void 0;
794
1376
  const option_3 = schema.Fields;
795
1377
  if (option_3 != null) {
796
- const option_1 = tryFind((field) => field.Name === name, value(option_3));
1378
+ const option_1 = tryFind((field) => field.Name === name, choose((entry) => ListEntry$1.tryValue(entry), option_3));
797
1379
  if (option_1 != null) {
798
- return field_1 = value(option_1), field_1.Type;
1380
+ return field_1 = option_1, field_1.Type;
799
1381
  } else {
800
1382
  return void 0;
801
1383
  }
@@ -809,88 +1391,66 @@ function CWLTypeModule_typesEqual(left_mut, right_mut) {
809
1391
  const left = left_mut, right = right_mut;
810
1392
  let matchResult = void 0, left_1 = void 0, right_1 = void 0, left_2 = void 0, right_2 = void 0, left_4 = void 0, right_4 = void 0;
811
1393
  switch (left.tag) {
812
- case /* File */
813
- 0: {
814
- if (right.tag === /* File */
815
- 0) {
816
- matchResult = 0;
817
- } else {
818
- matchResult = 4;
819
- }
820
- break;
821
- }
822
- case /* Directory */
823
- 1: {
824
- if (right.tag === /* Directory */
825
- 1) {
826
- matchResult = 0;
827
- } else {
828
- matchResult = 4;
829
- }
830
- break;
831
- }
832
1394
  case /* Array */
833
- 11: {
1395
+ 18: {
834
1396
  if (right.tag === /* Array */
835
- 11) {
836
- matchResult = 1;
1397
+ 18) {
1398
+ matchResult = 0;
837
1399
  left_1 = left.fields[0];
838
1400
  right_1 = right.fields[0];
839
1401
  } else {
840
- matchResult = 4;
1402
+ matchResult = 3;
841
1403
  }
842
1404
  break;
843
1405
  }
844
1406
  case /* Union */
845
- 14: {
1407
+ 21: {
846
1408
  if (right.tag === /* Union */
847
- 14) {
848
- matchResult = 2;
1409
+ 21) {
1410
+ matchResult = 1;
849
1411
  left_2 = left.fields[0];
850
1412
  right_2 = right.fields[0];
851
1413
  } else {
852
- matchResult = 4;
1414
+ matchResult = 3;
853
1415
  }
854
1416
  break;
855
1417
  }
856
1418
  case /* Record */
857
- 12: {
1419
+ 19: {
858
1420
  if (right.tag === /* Record */
859
- 12) {
860
- matchResult = 3;
1421
+ 19) {
1422
+ matchResult = 2;
861
1423
  left_4 = left.fields[0];
862
1424
  right_4 = right.fields[0];
863
1425
  } else {
864
- matchResult = 4;
1426
+ matchResult = 3;
865
1427
  }
866
1428
  break;
867
1429
  }
868
1430
  default:
869
- matchResult = 4;
1431
+ matchResult = 3;
870
1432
  }
871
1433
  switch (matchResult) {
872
- case 0:
873
- return true;
874
- case 1: {
1434
+ case 0: {
875
1435
  left_mut = left_1.Items;
876
1436
  right_mut = right_1.Items;
877
1437
  continue CWLTypeModule_typesEqual;
878
1438
  }
879
- case 2:
1439
+ case 1:
880
1440
  if (left_2.length === right_2.length) {
881
1441
  return forAll2(CWLTypeModule_typesEqual, left_2, right_2);
882
1442
  } else {
883
1443
  return false;
884
1444
  }
885
- case 3: {
1445
+ case 2: {
886
1446
  const matchValue_1 = left_4.Fields;
887
1447
  const matchValue_2 = right_4.Fields;
888
1448
  let matchResult_1 = void 0, leftFields = void 0, rightFields = void 0;
889
1449
  if (matchValue_1 != null) {
890
1450
  if (matchValue_2 != null) {
891
1451
  matchResult_1 = 1;
892
- leftFields = value(matchValue_1);
893
- rightFields = value(matchValue_2);
1452
+ leftFields = matchValue_1;
1453
+ rightFields = matchValue_2;
894
1454
  } else {
895
1455
  matchResult_1 = 2;
896
1456
  }
@@ -904,7 +1464,54 @@ function CWLTypeModule_typesEqual(left_mut, right_mut) {
904
1464
  return true;
905
1465
  case 1:
906
1466
  if (leftFields.length === rightFields.length) {
907
- return forAll2((leftField, rightField) => leftField.Name === rightField.Name && CWLTypeModule_typesEqual(leftField.Type, rightField.Type), leftFields, rightFields);
1467
+ return forAll2((leftEntry, rightEntry) => {
1468
+ let matchResult_2 = void 0, leftField = void 0, rightField = void 0, leftPath = void 0, rightPath = void 0, leftRaw = void 0, rightRaw = void 0;
1469
+ switch (leftEntry.tag) {
1470
+ case /* Imported */
1471
+ 1: {
1472
+ if (rightEntry.tag === /* Imported */
1473
+ 1) {
1474
+ matchResult_2 = 1;
1475
+ leftPath = leftEntry.fields[0];
1476
+ rightPath = rightEntry.fields[0];
1477
+ } else {
1478
+ matchResult_2 = 3;
1479
+ }
1480
+ break;
1481
+ }
1482
+ case /* Mixed */
1483
+ 2: {
1484
+ if (rightEntry.tag === /* Mixed */
1485
+ 2) {
1486
+ matchResult_2 = 2;
1487
+ leftRaw = leftEntry.fields[0];
1488
+ rightRaw = rightEntry.fields[0];
1489
+ } else {
1490
+ matchResult_2 = 3;
1491
+ }
1492
+ break;
1493
+ }
1494
+ default:
1495
+ if (rightEntry.tag === /* Value */
1496
+ 0) {
1497
+ matchResult_2 = 0;
1498
+ leftField = leftEntry.fields[0];
1499
+ rightField = rightEntry.fields[0];
1500
+ } else {
1501
+ matchResult_2 = 3;
1502
+ }
1503
+ }
1504
+ switch (matchResult_2) {
1505
+ case 0:
1506
+ return leftField.Name === rightField.Name && CWLTypeModule_typesEqual(leftField.Type, rightField.Type);
1507
+ case 1:
1508
+ return leftPath === rightPath;
1509
+ case 2:
1510
+ return equals(leftRaw, rightRaw);
1511
+ default:
1512
+ return false;
1513
+ }
1514
+ }, leftFields, rightFields);
908
1515
  } else {
909
1516
  return false;
910
1517
  }
@@ -918,16 +1525,95 @@ function CWLTypeModule_typesEqual(left_mut, right_mut) {
918
1525
  break;
919
1526
  }
920
1527
  }
1528
+ function CWLTypeModule_admits(parameterType_mut, valueType_mut) {
1529
+ CWLTypeModule_admits:
1530
+ while (true) {
1531
+ const parameterType = parameterType_mut, valueType = valueType_mut;
1532
+ switch (parameterType.tag) {
1533
+ case /* Any */
1534
+ 8:
1535
+ case /* Reference */
1536
+ 12:
1537
+ case /* ImportedType */
1538
+ 13:
1539
+ case /* IncludedType */
1540
+ 14:
1541
+ case /* MixedType */
1542
+ 15:
1543
+ case /* RawType */
1544
+ 16:
1545
+ return true;
1546
+ case /* Union */
1547
+ 21:
1548
+ return exists((item) => CWLTypeModule_admits(item, valueType), parameterType.fields[0]);
1549
+ case /* Array */
1550
+ 18: {
1551
+ const parameterArray = parameterType.fields[0];
1552
+ if (valueType.tag === /* Array */
1553
+ 18) {
1554
+ const valueArray = valueType.fields[0];
1555
+ parameterType_mut = parameterArray.Items;
1556
+ valueType_mut = valueArray.Items;
1557
+ continue CWLTypeModule_admits;
1558
+ } else {
1559
+ return false;
1560
+ }
1561
+ }
1562
+ case /* Stdin */
1563
+ 11: {
1564
+ parameterType_mut = CWLType.File;
1565
+ valueType_mut = valueType;
1566
+ continue CWLTypeModule_admits;
1567
+ }
1568
+ default:
1569
+ return CWLTypeModule_typesEqual(parameterType, valueType);
1570
+ }
1571
+ break;
1572
+ }
1573
+ }
1574
+ function CWLTypeModule_isOptional(type_) {
1575
+ if (type_.tag === /* Union */
1576
+ 21) {
1577
+ return exists((_arg) => {
1578
+ if (_arg.tag === /* Null */
1579
+ 17) {
1580
+ return true;
1581
+ } else {
1582
+ return false;
1583
+ }
1584
+ }, type_.fields[0]);
1585
+ } else {
1586
+ return false;
1587
+ }
1588
+ }
1589
+ function CWLTypeModule_makeOptional(type_) {
1590
+ switch (type_.tag) {
1591
+ case /* Null */
1592
+ 17:
1593
+ return type_;
1594
+ case /* Union */
1595
+ 21:
1596
+ if (type_.fields[0], CWLTypeModule_isOptional(type_)) {
1597
+ const types_1 = type_.fields[0];
1598
+ return type_;
1599
+ } else {
1600
+ const types_2 = type_.fields[0];
1601
+ return CWLType_Union(Array.from(append([CWLType.Null], types_2)));
1602
+ }
1603
+ default:
1604
+ return CWLType_Union([CWLType.Null, type_]);
1605
+ }
1606
+ }
921
1607
  function CWLTypeModule_isArrayType(type_) {
922
1608
  switch (type_.tag) {
923
1609
  case /* Array */
924
- 11:
1610
+ 18:
925
1611
  return true;
926
1612
  case /* Union */
927
- 14:
1613
+ 21:
928
1614
  return exists((_arg) => {
929
1615
  if (_arg.tag === /* Array */
930
- 11) {
1616
+ 18) {
931
1617
  return true;
932
1618
  } else {
933
1619
  return false;
@@ -939,10 +1625,10 @@ function CWLTypeModule_isArrayType(type_) {
939
1625
  }
940
1626
  function CWLTypeModule_tryGetNonNullUnionType(type_) {
941
1627
  if (type_.tag === /* Union */
942
- 14) {
1628
+ 21) {
943
1629
  return tryFind((_arg) => {
944
1630
  if (_arg.tag === /* Null */
945
- 10) {
1631
+ 17) {
946
1632
  return false;
947
1633
  } else {
948
1634
  return true;
@@ -953,4 +1639,4 @@ function CWLTypeModule_tryGetNonNullUnionType(type_) {
953
1639
  }
954
1640
  }
955
1641
 
956
- export { CWLType, CWLTypeModule_isArrayType, CWLTypeModule_tryGetNonNullUnionType, CWLTypeModule_typesEqual, CWLType_$reflection, CWLType_Array$, CWLType_Boolean$, CWLType_Directory, CWLType_Dirent, CWLType_Double, CWLType_Enum, CWLType_File, CWLType_Float, CWLType_Int, CWLType_Long, CWLType_Null, CWLType_Record, CWLType_Stdout, CWLType_String$, CWLType_Union, CWLType_directory, CWLType_file, DirectoryInstance, DirectoryInstanceModule_pathOrLocation, DirectoryInstance_$ctor_Z4C1E59AE, DirectoryInstance_$reflection, DirentInstance, DirentInstance_$ctor_Z61DE5D76, DirentInstance_$reflection, FileInstance, FileInstanceModule_pathOrLocation, FileInstance_$ctor_75C1B52E, FileInstance_$reflection, InputArraySchema, InputArraySchema_$ctor_4E4FFD9F, InputArraySchema_$reflection, InputEnumSchema, InputEnumSchema_$ctor_Z998ED46, InputEnumSchema_$reflection, InputRecordField, InputRecordField_$ctor_Z155BDB64, InputRecordField_$reflection, InputRecordSchema, InputRecordSchemaModule_tryGetFieldType, InputRecordSchema_$ctor_Z52C4D9E4, InputRecordSchema_$reflection, SchemaDefRequirementType, SchemaDefRequirementType_$ctor_Z1662A364, SchemaDefRequirementType_$reflection, SchemaSaladString, SchemaSaladStringModule_importPath, SchemaSaladStringModule_includePath, SchemaSaladStringModule_literal, SchemaSaladStringModule_toDirectiveString, SchemaSaladStringModule_value, SchemaSaladString_$reflection, SchemaSaladString_Import, SchemaSaladString_Include, SchemaSaladString_Literal, SchemaSaladString__get_AsDirectiveString, SchemaSaladString__get_Value, SoftwarePackage, SoftwarePackage_$ctor_7A38CADB, SoftwarePackage_$reflection };
1642
+ export { CWLType, CWLTypeModule_admits, CWLTypeModule_isArrayType, CWLTypeModule_isOptional, CWLTypeModule_makeOptional, CWLTypeModule_tryGetNonNullUnionType, CWLTypeModule_typesEqual, CWLType_$reflection, CWLType_Any, CWLType_Array$, CWLType_Boolean$, CWLType_Directory, CWLType_Double, CWLType_Enum, CWLType_File, CWLType_Float, CWLType_ImportedType, CWLType_IncludedType, CWLType_Int, CWLType_Long, CWLType_MixedType, CWLType_Null, CWLType_RawType, CWLType_Record, CWLType_Reference, CWLType_Stderr, CWLType_Stdin, CWLType_Stdout, CWLType_String$, CWLType_Union, DirectoryInstance, DirectoryInstanceModule_pathOrLocation, DirectoryInstance_$ctor_219ADA02, DirectoryInstance_$reflection, DirentInstance, DirentInstance_$ctor_F8980C3, DirentInstance_$reflection, DocText, DocText_$reflection, DocText_Parts, DocText_Text$, FileInstance, FileInstanceModule_pathOrLocation, FileInstance_$ctor_150431C5, FileInstance_$reflection, FileSize, FileSize_$reflection, FileSize_Bytes, FileSize_Imported, FileSize_Mixed, InputArraySchema, InputArraySchema_$ctor_24D6AC35, InputArraySchema_$reflection, InputEnumSchema, InputEnumSchema_$ctor_162689D3, InputEnumSchema_$reflection, InputRecordField, InputRecordField_$ctor_ZBF0B4CA, InputRecordField_$reflection, InputRecordSchema, InputRecordSchemaModule_tryGetFieldType, InputRecordSchema_$ctor_6F045035, InputRecordSchema_$reflection, IntegerOf_tryNumber, ListEntry$1, ListEntry$1_$reflection, ListEntry$1_Imported, ListEntry$1_Mixed, ListEntry$1_Value, RawYaml, RawYaml_$reflection, RawYaml__TryScalarField_Z721C83C5, RawYaml__get_MixinPath, SchemaDefinition, SchemaDefinition_$reflection, SchemaDefinition_Array$, SchemaDefinition_Enum, SchemaDefinition_Record, SchemaSaladBool, SchemaSaladBool_$reflection, SchemaSaladBool_Imported, SchemaSaladBool_Mixed, SchemaSaladBool_Value, SchemaSaladString, SchemaSaladStringModule_importPath, SchemaSaladStringModule_includePath, SchemaSaladStringModule_literal, SchemaSaladStringModule_mixinPath, SchemaSaladStringModule_tryLiteral, SchemaSaladStringModule_value, SchemaSaladString_$reflection, SchemaSaladString_Import, SchemaSaladString_Include, SchemaSaladString_Literal, SchemaSaladString_Mixed, SchemaSaladString_Mixin, SoftwarePackage, SoftwarePackage_$ctor_Z14DD0A28, SoftwarePackage_$reflection, SourceNodes, SourceNodes_$reflection, SourceNodes_get_Empty };