arctrl 3.0.0a3__py3-none-any.whl

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 (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,973 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_modules.dynamic_obj.dynamic_obj import DynamicObj
5
+ from ..fable_modules.dynamic_obj.dyn_obj import (set_property, set_optional_property)
6
+ from ..fable_modules.fable_library.list import (iterate, map, empty, is_empty, head, tail, of_array)
7
+ from ..fable_modules.fable_library.map import (FSharpMap__get_Keys, FSharpMap__get_Values)
8
+ from ..fable_modules.fable_library.map_util import get_item_from_dict
9
+ from ..fable_modules.fable_library.option import some
10
+ from ..fable_modules.fable_library.seq import (to_array, delay, collect, append, empty as empty_1, singleton, item, length)
11
+ from ..fable_modules.fable_library.string_ import (to_text, printf, to_fail, ends_with_exact, replace)
12
+ from ..fable_modules.fable_library.types import Array
13
+ from ..fable_modules.fable_library.util import (get_enumerator, dispose, IEnumerable_1, ignore)
14
+ from ..fable_modules.yamlicious.decode import (object, IGetters, IOptionalGetter, string, IRequiredGetter, bool_1, map as map_1, resizearray, float_1, int_1, read)
15
+ from ..fable_modules.yamlicious.yamlicious_types import YAMLElement
16
+ from .cwltypes import (DirentInstance, CWLType, FileInstance__ctor, DirectoryInstance__ctor, SoftwarePackage, SchemaDefRequirementType__ctor_541DA560, SchemaDefRequirementType)
17
+ from .inputs import (InputBinding, CWLInput)
18
+ from .outputs import (OutputBinding, CWLOutput)
19
+ from .requirements import (DockerRequirement, EnvironmentDef, ResourceRequirementInstance__ctor_D76FC00, ResourceRequirementInstance, Requirement)
20
+ from .tool_description import CWLToolDescription
21
+ from .workflow_description import CWLWorkflowDescription
22
+ from .workflow_steps import (StepInput, StepOutput, WorkflowStep)
23
+
24
+ __B = TypeVar("__B")
25
+
26
+ __A = TypeVar("__A")
27
+
28
+ def ResizeArray_map(f: Callable[[__A], __B], a: Array[Any]) -> Array[Any]:
29
+ b: Array[__B] = []
30
+ enumerator: Any = get_enumerator(a)
31
+ try:
32
+ while enumerator.System_Collections_IEnumerator_MoveNext():
33
+ i: __A = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
34
+ (b.append(f(i)))
35
+
36
+ finally:
37
+ dispose(enumerator)
38
+
39
+ return b
40
+
41
+
42
+ def Decode_overflowDecoder(dyn_obj: DynamicObj, dict_1: Any) -> DynamicObj:
43
+ enumerator: Any = get_enumerator(dict_1)
44
+ try:
45
+ while enumerator.System_Collections_IEnumerator_MoveNext():
46
+ e: Any = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
47
+ match_value: YAMLElement = e[1]
48
+ (pattern_matching_result, v, s) = (None, None, None)
49
+ if match_value.tag == 3:
50
+ if not is_empty(match_value.fields[0]):
51
+ if head(match_value.fields[0]).tag == 1:
52
+ if is_empty(tail(match_value.fields[0])):
53
+ pattern_matching_result = 0
54
+ v = head(match_value.fields[0]).fields[0]
55
+
56
+ else:
57
+ pattern_matching_result = 2
58
+
59
+
60
+ elif head(match_value.fields[0]).tag == 2:
61
+ if is_empty(tail(match_value.fields[0])):
62
+ pattern_matching_result = 1
63
+ s = head(match_value.fields[0]).fields[0]
64
+
65
+ else:
66
+ pattern_matching_result = 2
67
+
68
+
69
+ else:
70
+ pattern_matching_result = 2
71
+
72
+
73
+ else:
74
+ pattern_matching_result = 2
75
+
76
+
77
+ else:
78
+ pattern_matching_result = 2
79
+
80
+ if pattern_matching_result == 0:
81
+ set_property(e[0], v.Value, dyn_obj)
82
+
83
+ elif pattern_matching_result == 1:
84
+ new_dyn_obj: DynamicObj = DynamicObj()
85
+ def action(x: DynamicObj) -> None:
86
+ set_property(e[0], x, dyn_obj)
87
+
88
+ def mapping(arg: YAMLElement) -> DynamicObj:
89
+ def getter(get: IGetters, arg: Any=arg) -> Any:
90
+ return get.Overflow.FieldList(empty())
91
+
92
+ return Decode_overflowDecoder(new_dyn_obj, object(getter, arg))
93
+
94
+ iterate(action, map(mapping, s))
95
+
96
+ elif pattern_matching_result == 2:
97
+ set_property(e[0], e[1], dyn_obj)
98
+
99
+
100
+ finally:
101
+ dispose(enumerator)
102
+
103
+ return dyn_obj
104
+
105
+
106
+ def Decode_decodeStringOrExpression(y_ele: YAMLElement) -> str:
107
+ (pattern_matching_result, v, c, v_1) = (None, None, None, None)
108
+ if y_ele.tag == 1:
109
+ pattern_matching_result = 0
110
+ v = y_ele.fields[0]
111
+
112
+ elif y_ele.tag == 3:
113
+ if not is_empty(y_ele.fields[0]):
114
+ if head(y_ele.fields[0]).tag == 1:
115
+ if is_empty(tail(y_ele.fields[0])):
116
+ pattern_matching_result = 0
117
+ v = head(y_ele.fields[0]).fields[0]
118
+
119
+ else:
120
+ pattern_matching_result = 2
121
+
122
+
123
+ elif head(y_ele.fields[0]).tag == 0:
124
+ if head(y_ele.fields[0]).fields[1].tag == 3:
125
+ if not is_empty(head(y_ele.fields[0]).fields[1].fields[0]):
126
+ if head(head(y_ele.fields[0]).fields[1].fields[0]).tag == 1:
127
+ if is_empty(tail(head(y_ele.fields[0]).fields[1].fields[0])):
128
+ if is_empty(tail(y_ele.fields[0])):
129
+ pattern_matching_result = 1
130
+ c = head(y_ele.fields[0]).fields[0]
131
+ v_1 = head(head(y_ele.fields[0]).fields[1].fields[0]).fields[0]
132
+
133
+ else:
134
+ pattern_matching_result = 2
135
+
136
+
137
+ else:
138
+ pattern_matching_result = 2
139
+
140
+
141
+ else:
142
+ pattern_matching_result = 2
143
+
144
+
145
+ else:
146
+ pattern_matching_result = 2
147
+
148
+
149
+ else:
150
+ pattern_matching_result = 2
151
+
152
+
153
+ else:
154
+ pattern_matching_result = 2
155
+
156
+
157
+ else:
158
+ pattern_matching_result = 2
159
+
160
+
161
+ else:
162
+ pattern_matching_result = 2
163
+
164
+ if pattern_matching_result == 0:
165
+ return v.Value
166
+
167
+ elif pattern_matching_result == 1:
168
+ return to_text(printf("%s: %s"))(c.Value)(v_1.Value)
169
+
170
+ elif pattern_matching_result == 2:
171
+ return to_fail(printf("%A"))(y_ele)
172
+
173
+
174
+
175
+ def _arrow3351(value_1: YAMLElement) -> OutputBinding:
176
+ def getter(get: IGetters) -> OutputBinding:
177
+ def _arrow3350(__unit: None=None, get: Any=get) -> str | None:
178
+ object_arg: IOptionalGetter = get.Optional
179
+ return object_arg.Field("glob", string)
180
+
181
+ return OutputBinding(_arrow3350())
182
+
183
+ return object(getter, value_1)
184
+
185
+
186
+ Decode_outputBindingGlobDecoder: Callable[[YAMLElement], OutputBinding] = _arrow3351
187
+
188
+ def _arrow3352(value: YAMLElement) -> OutputBinding | None:
189
+ def getter(get: IGetters) -> OutputBinding | None:
190
+ object_arg: IOptionalGetter = get.Optional
191
+ return object_arg.Field("outputBinding", Decode_outputBindingGlobDecoder)
192
+
193
+ return object(getter, value)
194
+
195
+
196
+ Decode_outputBindingDecoder: Callable[[YAMLElement], OutputBinding | None] = _arrow3352
197
+
198
+ def _arrow3356(value_1: YAMLElement) -> CWLType:
199
+ def getter(get: IGetters) -> CWLType:
200
+ def _arrow3353(__unit: None=None, get: Any=get) -> str:
201
+ object_arg: IRequiredGetter = get.Required
202
+ return object_arg.Field("entry", Decode_decodeStringOrExpression)
203
+
204
+ def _arrow3354(__unit: None=None, get: Any=get) -> str | None:
205
+ object_arg_1: IOptionalGetter = get.Optional
206
+ return object_arg_1.Field("entryname", Decode_decodeStringOrExpression)
207
+
208
+ def _arrow3355(__unit: None=None, get: Any=get) -> bool | None:
209
+ object_arg_2: IOptionalGetter = get.Optional
210
+ return object_arg_2.Field("writable", bool_1)
211
+
212
+ return CWLType(2, DirentInstance(_arrow3353(), _arrow3354(), _arrow3355()))
213
+
214
+ return object(getter, value_1)
215
+
216
+
217
+ Decode_direntDecoder: Callable[[YAMLElement], CWLType] = _arrow3356
218
+
219
+ def _arrow3358(value_1: YAMLElement) -> CWLType:
220
+ def getter(get: IGetters) -> CWLType:
221
+ items: str
222
+ object_arg: IRequiredGetter = get.Required
223
+ def arg_1(value: YAMLElement, get: Any=get) -> str:
224
+ return string(value)
225
+
226
+ items = object_arg.Field("items", arg_1)
227
+ if items == "File":
228
+ return CWLType(11, CWLType(0, FileInstance__ctor()))
229
+
230
+ elif items == "Directory":
231
+ return CWLType(11, CWLType(1, DirectoryInstance__ctor()))
232
+
233
+ elif items == "Dirent":
234
+ def _arrow3357(__unit: None=None, get: Any=get) -> CWLType:
235
+ object_arg_1: IRequiredGetter = get.Required
236
+ return object_arg_1.Field("listing", Decode_direntDecoder)
237
+
238
+ return CWLType(11, _arrow3357())
239
+
240
+ elif items == "string":
241
+ return CWLType(11, CWLType(3))
242
+
243
+ elif items == "int":
244
+ return CWLType(11, CWLType(4))
245
+
246
+ elif items == "long":
247
+ return CWLType(11, CWLType(5))
248
+
249
+ elif items == "float":
250
+ return CWLType(11, CWLType(6))
251
+
252
+ elif items == "double":
253
+ return CWLType(11, CWLType(7))
254
+
255
+ elif items == "boolean":
256
+ return CWLType(11, CWLType(8))
257
+
258
+ else:
259
+ raise Exception("Invalid CWL type")
260
+
261
+
262
+ return object(getter, value_1)
263
+
264
+
265
+ Decode_cwlArrayTypeDecoder: Callable[[YAMLElement], CWLType] = _arrow3358
266
+
267
+ def Decode_cwlTypeStringMatcher(t: str, get: IGetters) -> tuple[CWLType, bool]:
268
+ pattern_input: tuple[bool, str] = ((True, replace(t, "?", ""))) if ends_with_exact(t, "?") else ((False, t))
269
+ new_t: str = pattern_input[1]
270
+ def _arrow3359(__unit: None=None, t: Any=t, get: Any=get) -> CWLType:
271
+ object_arg: IRequiredGetter = get.Required
272
+ return object_arg.Field("listing", Decode_direntDecoder)
273
+
274
+ def _arrow3360(__unit: None=None, t: Any=t, get: Any=get) -> CWLType:
275
+ object_arg_1: IRequiredGetter = get.Required
276
+ return object_arg_1.Field("listing", Decode_direntDecoder)
277
+
278
+ def _arrow3361(__unit: None=None, t: Any=t, get: Any=get) -> CWLType:
279
+ raise Exception("Invalid CWL type")
280
+
281
+ return (CWLType(0, FileInstance__ctor()) if (new_t == "File") else (CWLType(1, DirectoryInstance__ctor()) if (new_t == "Directory") else (_arrow3359() if (new_t == "Dirent") else (CWLType(3) if (new_t == "string") else (CWLType(4) if (new_t == "int") else (CWLType(5) if (new_t == "long") else (CWLType(6) if (new_t == "float") else (CWLType(7) if (new_t == "double") else (CWLType(8) if (new_t == "boolean") else (CWLType(11, CWLType(0, FileInstance__ctor())) if (new_t == "File[]") else (CWLType(11, CWLType(1, DirectoryInstance__ctor())) if (new_t == "Directory[]") else (CWLType(11, _arrow3360()) if (new_t == "Dirent[]") else (CWLType(11, CWLType(3)) if (new_t == "string[]") else (CWLType(11, CWLType(4)) if (new_t == "int[]") else (CWLType(11, CWLType(5)) if (new_t == "long[]") else (CWLType(11, CWLType(6)) if (new_t == "float[]") else (CWLType(11, CWLType(7)) if (new_t == "double[]") else (CWLType(11, CWLType(8)) if (new_t == "boolean[]") else (CWLType(9) if (new_t == "stdout") else (CWLType(10) if (new_t == "null") else _arrow3361()))))))))))))))))))), pattern_input[0])
282
+
283
+
284
+ def _arrow3363(value_1: YAMLElement) -> tuple[CWLType, bool]:
285
+ def getter(get: IGetters) -> tuple[CWLType, bool]:
286
+ cwl_type: str | None
287
+ object_arg: IRequiredGetter = get.Required
288
+ def arg_1(value: YAMLElement, get: Any=get) -> str | None:
289
+ (pattern_matching_result, v) = (None, None)
290
+ if value.tag == 1:
291
+ pattern_matching_result = 0
292
+ v = value.fields[0]
293
+
294
+ elif value.tag == 3:
295
+ if not is_empty(value.fields[0]):
296
+ if head(value.fields[0]).tag == 1:
297
+ if is_empty(tail(value.fields[0])):
298
+ pattern_matching_result = 0
299
+ v = head(value.fields[0]).fields[0]
300
+
301
+ else:
302
+ pattern_matching_result = 1
303
+
304
+
305
+ else:
306
+ pattern_matching_result = 1
307
+
308
+
309
+ else:
310
+ pattern_matching_result = 1
311
+
312
+
313
+ else:
314
+ pattern_matching_result = 2
315
+
316
+ if pattern_matching_result == 0:
317
+ return v.Value
318
+
319
+ elif pattern_matching_result == 1:
320
+ return None
321
+
322
+ elif pattern_matching_result == 2:
323
+ raise Exception("Unexpected YAMLElement")
324
+
325
+
326
+ cwl_type = object_arg.Field("type", arg_1)
327
+ if cwl_type is None:
328
+ def _arrow3362(__unit: None=None, get: Any=get) -> CWLType:
329
+ object_arg_1: IRequiredGetter = get.Required
330
+ return object_arg_1.Field("type", Decode_cwlArrayTypeDecoder)
331
+
332
+ return (_arrow3362(), False)
333
+
334
+ else:
335
+ return Decode_cwlTypeStringMatcher(cwl_type, get)
336
+
337
+
338
+ return object(getter, value_1)
339
+
340
+
341
+ Decode_cwlTypeDecoder: Callable[[YAMLElement], tuple[CWLType, bool]] = _arrow3363
342
+
343
+ def _arrow3370(value_2: YAMLElement) -> Array[CWLOutput]:
344
+ def getter(get: IGetters) -> Array[CWLOutput]:
345
+ dict_1: Any = get.Overflow.FieldList(empty())
346
+ def _arrow3369(__unit: None=None, get: Any=get) -> IEnumerable_1[CWLOutput]:
347
+ def _arrow3368(key: str) -> IEnumerable_1[CWLOutput]:
348
+ value: YAMLElement = get_item_from_dict(dict_1, key)
349
+ output_binding: OutputBinding | None = Decode_outputBindingDecoder(value)
350
+ output_source: str | None
351
+ object_arg: IOptionalGetter = get.Optional
352
+ output_source = object_arg.Field("outputSource", string)
353
+ output: CWLOutput = CWLOutput(key, (((Decode_cwlTypeStringMatcher(head(value.fields[0]).fields[0].Value, get)[0] if is_empty(tail(value.fields[0])) else Decode_cwlTypeDecoder(value)[0]) if (head(value.fields[0]).tag == 1) else Decode_cwlTypeDecoder(value)[0]) if (not is_empty(value.fields[0])) else Decode_cwlTypeDecoder(value)[0]) if (value.tag == 3) else Decode_cwlTypeDecoder(value)[0])
354
+ def _expr3364():
355
+ set_optional_property("outputBinding", output_binding, output)
356
+ return empty_1()
357
+
358
+ def _arrow3367(__unit: None=None) -> IEnumerable_1[CWLOutput]:
359
+ def _expr3365():
360
+ set_optional_property("outputSource", output_source, output)
361
+ return empty_1()
362
+
363
+ def _arrow3366(__unit: None=None) -> IEnumerable_1[CWLOutput]:
364
+ return singleton(output)
365
+
366
+ return append(_expr3365() if (output_source is not None) else empty_1(), delay(_arrow3366))
367
+
368
+ return append(_expr3364() if (output_binding is not None) else empty_1(), delay(_arrow3367))
369
+
370
+ return collect(_arrow3368, dict_1.keys())
371
+
372
+ return list(to_array(delay(_arrow3369)))
373
+
374
+ return object(getter, value_2)
375
+
376
+
377
+ Decode_outputArrayDecoder: Callable[[YAMLElement], Array[CWLOutput]] = _arrow3370
378
+
379
+ def _arrow3371(value: YAMLElement) -> Array[CWLOutput]:
380
+ def getter(get: IGetters) -> Array[CWLOutput]:
381
+ object_arg: IRequiredGetter = get.Required
382
+ return object_arg.Field("outputs", Decode_outputArrayDecoder)
383
+
384
+ return object(getter, value)
385
+
386
+
387
+ Decode_outputsDecoder: Callable[[YAMLElement], Array[CWLOutput]] = _arrow3371
388
+
389
+ def Decode_dockerRequirementDecoder(get: IGetters) -> DockerRequirement:
390
+ def _arrow3372(__unit: None=None, get: Any=get) -> str | None:
391
+ object_arg: IOptionalGetter = get.Optional
392
+ return object_arg.Field("dockerPull", string)
393
+
394
+ def _arrow3374(__unit: None=None, get: Any=get) -> Any | None:
395
+ object_arg_1: IOptionalGetter = get.Optional
396
+ def arg_3(value_1: YAMLElement) -> Any:
397
+ def key_decoder(x: str, value_1: Any=value_1) -> str:
398
+ return x
399
+
400
+ def _arrow3373(value_2: YAMLElement, value_1: Any=value_1) -> str:
401
+ return string(value_2)
402
+
403
+ return map_1(key_decoder, _arrow3373, value_1)
404
+
405
+ return object_arg_1.Field("dockerFile", arg_3)
406
+
407
+ def _arrow3375(__unit: None=None, get: Any=get) -> str | None:
408
+ object_arg_2: IOptionalGetter = get.Optional
409
+ return object_arg_2.Field("dockerImageId", string)
410
+
411
+ return DockerRequirement(_arrow3372(), _arrow3374(), _arrow3375())
412
+
413
+
414
+ def Decode_envVarRequirementDecoder(get: IGetters) -> Array[EnvironmentDef]:
415
+ object_arg: IRequiredGetter = get.Required
416
+ def arg_1(value_3: YAMLElement, get: Any=get) -> Array[EnvironmentDef]:
417
+ def decoder(value_2: YAMLElement, value_3: Any=value_3) -> EnvironmentDef:
418
+ def getter(get2: IGetters, value_2: Any=value_2) -> EnvironmentDef:
419
+ def _arrow3376(__unit: None=None, get2: Any=get2) -> str:
420
+ object_arg_1: IRequiredGetter = get2.Required
421
+ return object_arg_1.Field("envName", string)
422
+
423
+ def _arrow3377(__unit: None=None, get2: Any=get2) -> str:
424
+ object_arg_2: IRequiredGetter = get2.Required
425
+ return object_arg_2.Field("envValue", string)
426
+
427
+ return EnvironmentDef(_arrow3376(), _arrow3377())
428
+
429
+ return object(getter, value_2)
430
+
431
+ return resizearray(decoder, value_3)
432
+
433
+ return object_arg.Field("envDef", arg_1)
434
+
435
+
436
+ def Decode_softwareRequirementDecoder(get: IGetters) -> Array[SoftwarePackage]:
437
+ object_arg: IRequiredGetter = get.Required
438
+ def arg_1(value_6: YAMLElement, get: Any=get) -> Array[SoftwarePackage]:
439
+ def decoder(value_5: YAMLElement, value_6: Any=value_6) -> SoftwarePackage:
440
+ def getter(get2: IGetters, value_5: Any=value_5) -> SoftwarePackage:
441
+ def _arrow3378(__unit: None=None, get2: Any=get2) -> str:
442
+ object_arg_1: IRequiredGetter = get2.Required
443
+ return object_arg_1.Field("package", string)
444
+
445
+ def _arrow3380(__unit: None=None, get2: Any=get2) -> Array[str] | None:
446
+ object_arg_2: IOptionalGetter = get2.Optional
447
+ def arg_5(value_1: YAMLElement) -> Array[str]:
448
+ def _arrow3379(value_2: YAMLElement, value_1: Any=value_1) -> str:
449
+ return string(value_2)
450
+
451
+ return resizearray(_arrow3379, value_1)
452
+
453
+ return object_arg_2.Field("version", arg_5)
454
+
455
+ def _arrow3382(__unit: None=None, get2: Any=get2) -> Array[str] | None:
456
+ object_arg_3: IOptionalGetter = get2.Optional
457
+ def arg_7(value_3: YAMLElement) -> Array[str]:
458
+ def _arrow3381(value_4: YAMLElement, value_3: Any=value_3) -> str:
459
+ return string(value_4)
460
+
461
+ return resizearray(_arrow3381, value_3)
462
+
463
+ return object_arg_3.Field("specs", arg_7)
464
+
465
+ return SoftwarePackage(_arrow3378(), _arrow3380(), _arrow3382())
466
+
467
+ return object(getter, value_5)
468
+
469
+ return resizearray(decoder, value_6)
470
+
471
+ return object_arg.Field("packages", arg_1)
472
+
473
+
474
+ def Decode_initialWorkDirRequirementDecoder(get: IGetters) -> Array[CWLType]:
475
+ object_arg: IRequiredGetter = get.Required
476
+ def arg_1(value: YAMLElement, get: Any=get) -> Array[CWLType]:
477
+ return resizearray(Decode_direntDecoder, value)
478
+
479
+ return object_arg.Field("listing", arg_1)
480
+
481
+
482
+ def Decode_resourceRequirementDecoder(get: IGetters) -> ResourceRequirementInstance:
483
+ def _arrow3383(__unit: None=None, get: Any=get) -> YAMLElement | None:
484
+ object_arg: IOptionalGetter = get.Optional
485
+ def arg_1(x: YAMLElement) -> YAMLElement:
486
+ return x
487
+
488
+ return object_arg.Field("coresMin", arg_1)
489
+
490
+ def _arrow3384(__unit: None=None, get: Any=get) -> YAMLElement | None:
491
+ object_arg_1: IOptionalGetter = get.Optional
492
+ def arg_3(x_1: YAMLElement) -> YAMLElement:
493
+ return x_1
494
+
495
+ return object_arg_1.Field("coresMax", arg_3)
496
+
497
+ def _arrow3385(__unit: None=None, get: Any=get) -> YAMLElement | None:
498
+ object_arg_2: IOptionalGetter = get.Optional
499
+ def arg_5(x_2: YAMLElement) -> YAMLElement:
500
+ return x_2
501
+
502
+ return object_arg_2.Field("ramMin", arg_5)
503
+
504
+ def _arrow3386(__unit: None=None, get: Any=get) -> YAMLElement | None:
505
+ object_arg_3: IOptionalGetter = get.Optional
506
+ def arg_7(x_3: YAMLElement) -> YAMLElement:
507
+ return x_3
508
+
509
+ return object_arg_3.Field("ramMax", arg_7)
510
+
511
+ def _arrow3387(__unit: None=None, get: Any=get) -> YAMLElement | None:
512
+ object_arg_4: IOptionalGetter = get.Optional
513
+ def arg_9(x_4: YAMLElement) -> YAMLElement:
514
+ return x_4
515
+
516
+ return object_arg_4.Field("tmpdirMin", arg_9)
517
+
518
+ def _arrow3388(__unit: None=None, get: Any=get) -> YAMLElement | None:
519
+ object_arg_5: IOptionalGetter = get.Optional
520
+ def arg_11(x_5: YAMLElement) -> YAMLElement:
521
+ return x_5
522
+
523
+ return object_arg_5.Field("tmpdirMax", arg_11)
524
+
525
+ def _arrow3389(__unit: None=None, get: Any=get) -> YAMLElement | None:
526
+ object_arg_6: IOptionalGetter = get.Optional
527
+ def arg_13(x_6: YAMLElement) -> YAMLElement:
528
+ return x_6
529
+
530
+ return object_arg_6.Field("outdirMin", arg_13)
531
+
532
+ def _arrow3390(__unit: None=None, get: Any=get) -> YAMLElement | None:
533
+ object_arg_7: IOptionalGetter = get.Optional
534
+ def arg_15(x_7: YAMLElement) -> YAMLElement:
535
+ return x_7
536
+
537
+ return object_arg_7.Field("outdirMax", arg_15)
538
+
539
+ return ResourceRequirementInstance__ctor_D76FC00(some(_arrow3383()), some(_arrow3384()), some(_arrow3385()), some(_arrow3386()), some(_arrow3387()), some(_arrow3388()), some(_arrow3389()), some(_arrow3390()))
540
+
541
+
542
+ def Decode_schemaDefRequirementDecoder(get: IGetters) -> Array[SchemaDefRequirementType]:
543
+ def f(m: Any, get: Any=get) -> SchemaDefRequirementType:
544
+ return SchemaDefRequirementType__ctor_541DA560(item(0, FSharpMap__get_Keys(m)), item(0, FSharpMap__get_Values(m)))
545
+
546
+ def _arrow3392(__unit: None=None, get: Any=get) -> Array[Any]:
547
+ object_arg: IRequiredGetter = get.Required
548
+ def arg_1(value_2: YAMLElement) -> Array[Any]:
549
+ def decoder(value: YAMLElement, value_2: Any=value_2) -> Any:
550
+ def key_decoder(x: str, value: Any=value) -> str:
551
+ return x
552
+
553
+ def _arrow3391(value_1: YAMLElement, value: Any=value) -> str:
554
+ return string(value_1)
555
+
556
+ return map_1(key_decoder, _arrow3391, value)
557
+
558
+ return resizearray(decoder, value_2)
559
+
560
+ return object_arg.Field("types", arg_1)
561
+
562
+ return ResizeArray_map(f, _arrow3392())
563
+
564
+
565
+ def Decode_toolTimeLimitRequirementDecoder(get: IGetters) -> float:
566
+ object_arg: IRequiredGetter = get.Required
567
+ def arg_1(value: YAMLElement, get: Any=get) -> float:
568
+ return float_1(value)
569
+
570
+ return object_arg.Field("timelimit", arg_1)
571
+
572
+
573
+ def _arrow3393(value_2: YAMLElement) -> Array[Requirement]:
574
+ def decoder(value_1: YAMLElement) -> Requirement:
575
+ def getter(get: IGetters, value_1: Any=value_1) -> Requirement:
576
+ cls: str
577
+ object_arg: IRequiredGetter = get.Required
578
+ def arg_1(value: YAMLElement, get: Any=get) -> str:
579
+ return string(value)
580
+
581
+ cls = object_arg.Field("class", arg_1)
582
+ if cls == "InlineJavascriptRequirement":
583
+ return Requirement(0)
584
+
585
+ elif cls == "SchemaDefRequirement":
586
+ return Requirement(1, Decode_schemaDefRequirementDecoder(get))
587
+
588
+ elif cls == "DockerRequirement":
589
+ return Requirement(2, Decode_dockerRequirementDecoder(get))
590
+
591
+ elif cls == "SoftwareRequirement":
592
+ return Requirement(3, Decode_softwareRequirementDecoder(get))
593
+
594
+ elif cls == "InitialWorkDirRequirement":
595
+ return Requirement(4, Decode_initialWorkDirRequirementDecoder(get))
596
+
597
+ elif cls == "EnvVarRequirement":
598
+ return Requirement(5, Decode_envVarRequirementDecoder(get))
599
+
600
+ elif cls == "ShellCommandRequirement":
601
+ return Requirement(6)
602
+
603
+ elif cls == "ResourceRequirement":
604
+ return Requirement(7, Decode_resourceRequirementDecoder(get))
605
+
606
+ elif cls == "WorkReuse":
607
+ return Requirement(8)
608
+
609
+ elif cls == "NetworkAccess":
610
+ return Requirement(9)
611
+
612
+ elif cls == "InplaceUpdateRequirement":
613
+ return Requirement(10)
614
+
615
+ elif cls == "ToolTimeLimit":
616
+ return Requirement(11, Decode_toolTimeLimitRequirementDecoder(get))
617
+
618
+ elif cls == "SubworkflowFeatureRequirement":
619
+ return Requirement(12)
620
+
621
+ elif cls == "ScatterFeatureRequirement":
622
+ return Requirement(13)
623
+
624
+ elif cls == "MultipleInputFeatureRequirement":
625
+ return Requirement(14)
626
+
627
+ elif cls == "StepInputExpressionRequirement":
628
+ return Requirement(15)
629
+
630
+ else:
631
+ raise Exception("Invalid requirement")
632
+
633
+
634
+ return object(getter, value_1)
635
+
636
+ return resizearray(decoder, value_2)
637
+
638
+
639
+ Decode_requirementArrayDecoder: Callable[[YAMLElement], Array[Requirement]] = _arrow3393
640
+
641
+ def _arrow3394(value: YAMLElement) -> Array[Requirement] | None:
642
+ def getter(get: IGetters) -> Array[Requirement] | None:
643
+ object_arg: IOptionalGetter = get.Optional
644
+ return object_arg.Field("requirements", Decode_requirementArrayDecoder)
645
+
646
+ return object(getter, value)
647
+
648
+
649
+ Decode_requirementsDecoder: Callable[[YAMLElement], Array[Requirement] | None] = _arrow3394
650
+
651
+ def _arrow3395(value: YAMLElement) -> Array[Requirement] | None:
652
+ def getter(get: IGetters) -> Array[Requirement] | None:
653
+ object_arg: IOptionalGetter = get.Optional
654
+ return object_arg.Field("hints", Decode_requirementArrayDecoder)
655
+
656
+ return object(getter, value)
657
+
658
+
659
+ Decode_hintsDecoder: Callable[[YAMLElement], Array[Requirement] | None] = _arrow3395
660
+
661
+ def _arrow3400(value_5: YAMLElement) -> InputBinding | None:
662
+ def getter_1(get: IGetters) -> InputBinding | None:
663
+ object_arg: IOptionalGetter = get.Optional
664
+ def arg_1(value_4: YAMLElement, get: Any=get) -> InputBinding:
665
+ def getter(get_0027: IGetters, value_4: Any=value_4) -> InputBinding:
666
+ def _arrow3396(__unit: None=None, get_0027: Any=get_0027) -> str | None:
667
+ object_arg_1: IOptionalGetter = get_0027.Optional
668
+ return object_arg_1.Field("prefix", string)
669
+
670
+ def _arrow3397(__unit: None=None, get_0027: Any=get_0027) -> int | None:
671
+ object_arg_2: IOptionalGetter = get_0027.Optional
672
+ return object_arg_2.Field("position", int_1)
673
+
674
+ def _arrow3398(__unit: None=None, get_0027: Any=get_0027) -> str | None:
675
+ object_arg_3: IOptionalGetter = get_0027.Optional
676
+ return object_arg_3.Field("itemSeparator", string)
677
+
678
+ def _arrow3399(__unit: None=None, get_0027: Any=get_0027) -> bool | None:
679
+ object_arg_4: IOptionalGetter = get_0027.Optional
680
+ return object_arg_4.Field("separate", bool_1)
681
+
682
+ return InputBinding(_arrow3396(), _arrow3397(), _arrow3398(), _arrow3399())
683
+
684
+ return object(getter, value_4)
685
+
686
+ return object_arg.Field("inputBinding", arg_1)
687
+
688
+ return object(getter_1, value_5)
689
+
690
+
691
+ Decode_inputBindingDecoder: Callable[[YAMLElement], InputBinding | None] = _arrow3400
692
+
693
+ def _arrow3407(value_1: YAMLElement) -> Array[CWLInput]:
694
+ def getter(get: IGetters) -> Array[CWLInput]:
695
+ dict_1: Any = get.Overflow.FieldList(empty())
696
+ def _arrow3406(__unit: None=None, get: Any=get) -> IEnumerable_1[CWLInput]:
697
+ def _arrow3405(key: str) -> IEnumerable_1[CWLInput]:
698
+ value: YAMLElement = get_item_from_dict(dict_1, key)
699
+ input_binding: InputBinding | None = Decode_inputBindingDecoder(value)
700
+ pattern_input: tuple[CWLType, bool] = (((Decode_cwlTypeStringMatcher(head(value.fields[0]).fields[0].Value, get) if is_empty(tail(value.fields[0])) else Decode_cwlTypeDecoder(value)) if (head(value.fields[0]).tag == 1) else Decode_cwlTypeDecoder(value)) if (not is_empty(value.fields[0])) else Decode_cwlTypeDecoder(value)) if (value.tag == 3) else Decode_cwlTypeDecoder(value)
701
+ input: CWLInput = CWLInput(key, pattern_input[0])
702
+ def _expr3401():
703
+ set_optional_property("inputBinding", input_binding, input)
704
+ return empty_1()
705
+
706
+ def _arrow3404(__unit: None=None) -> IEnumerable_1[CWLInput]:
707
+ def _expr3402():
708
+ set_optional_property("optional", True, input)
709
+ return empty_1()
710
+
711
+ def _arrow3403(__unit: None=None) -> IEnumerable_1[CWLInput]:
712
+ return singleton(input)
713
+
714
+ return append(_expr3402() if pattern_input[1] else empty_1(), delay(_arrow3403))
715
+
716
+ return append(_expr3401() if (input_binding is not None) else empty_1(), delay(_arrow3404))
717
+
718
+ return collect(_arrow3405, dict_1.keys())
719
+
720
+ return list(to_array(delay(_arrow3406)))
721
+
722
+ return object(getter, value_1)
723
+
724
+
725
+ Decode_inputArrayDecoder: Callable[[YAMLElement], Array[CWLInput]] = _arrow3407
726
+
727
+ def _arrow3408(value: YAMLElement) -> Array[CWLInput] | None:
728
+ def getter(get: IGetters) -> Array[CWLInput] | None:
729
+ object_arg: IOptionalGetter = get.Optional
730
+ return object_arg.Field("inputs", Decode_inputArrayDecoder)
731
+
732
+ return object(getter, value)
733
+
734
+
735
+ Decode_inputsDecoder: Callable[[YAMLElement], Array[CWLInput] | None] = _arrow3408
736
+
737
+ def _arrow3410(value_2: YAMLElement) -> Array[str] | None:
738
+ def getter(get: IGetters) -> Array[str] | None:
739
+ object_arg: IOptionalGetter = get.Optional
740
+ def arg_1(value: YAMLElement, get: Any=get) -> Array[str]:
741
+ def _arrow3409(value_1: YAMLElement, value: Any=value) -> str:
742
+ return string(value_1)
743
+
744
+ return resizearray(_arrow3409, value)
745
+
746
+ return object_arg.Field("baseCommand", arg_1)
747
+
748
+ return object(getter, value_2)
749
+
750
+
751
+ Decode_baseCommandDecoder: Callable[[YAMLElement], Array[str] | None] = _arrow3410
752
+
753
+ def _arrow3411(value_1: YAMLElement) -> str:
754
+ def getter(get: IGetters) -> str:
755
+ object_arg: IRequiredGetter = get.Required
756
+ def arg_1(value: YAMLElement, get: Any=get) -> str:
757
+ return string(value)
758
+
759
+ return object_arg.Field("cwlVersion", arg_1)
760
+
761
+ return object(getter, value_1)
762
+
763
+
764
+ Decode_versionDecoder: Callable[[YAMLElement], str] = _arrow3411
765
+
766
+ def _arrow3412(value_1: YAMLElement) -> str:
767
+ def getter(get: IGetters) -> str:
768
+ object_arg: IRequiredGetter = get.Required
769
+ def arg_1(value: YAMLElement, get: Any=get) -> str:
770
+ return string(value)
771
+
772
+ return object_arg.Field("class", arg_1)
773
+
774
+ return object(getter, value_1)
775
+
776
+
777
+ Decode_classDecoder: Callable[[YAMLElement], str] = _arrow3412
778
+
779
+ def Decode_stringOptionFieldDecoder(field: str) -> Callable[[YAMLElement], str | None]:
780
+ def _arrow3413(value_1: YAMLElement, field: Any=field) -> str | None:
781
+ def getter(get: IGetters) -> str | None:
782
+ object_arg: IOptionalGetter = get.Optional
783
+ def arg_1(value: YAMLElement, get: Any=get) -> str:
784
+ return string(value)
785
+
786
+ return object_arg.Field(field, arg_1)
787
+
788
+ return object(getter, value_1)
789
+
790
+ return _arrow3413
791
+
792
+
793
+ def Decode_stringFieldDecoder(field: str) -> Callable[[YAMLElement], str]:
794
+ def _arrow3414(value_1: YAMLElement, field: Any=field) -> str:
795
+ def getter(get: IGetters) -> str:
796
+ object_arg: IRequiredGetter = get.Required
797
+ def arg_1(value: YAMLElement, get: Any=get) -> str:
798
+ return string(value)
799
+
800
+ return object_arg.Field(field, arg_1)
801
+
802
+ return object(getter, value_1)
803
+
804
+ return _arrow3414
805
+
806
+
807
+ def _arrow3418(value_1: YAMLElement) -> Array[StepInput]:
808
+ def getter(get: IGetters) -> Array[StepInput]:
809
+ dict_1: Any = get.Overflow.FieldList(empty())
810
+ def _arrow3417(__unit: None=None, get: Any=get) -> IEnumerable_1[StepInput]:
811
+ def _arrow3416(key: str) -> IEnumerable_1[StepInput]:
812
+ value: YAMLElement = get_item_from_dict(dict_1, key)
813
+ def _arrow3415(__unit: None=None) -> str | None:
814
+ s1: str | None = (((head(value.fields[0]).fields[0].Value if is_empty(tail(value.fields[0])) else None) if (head(value.fields[0]).tag == 1) else None) if (not is_empty(value.fields[0])) else None) if (value.tag == 3) else None
815
+ s2: str | None = Decode_stringOptionFieldDecoder("source")(value)
816
+ return s1 if (s1 is not None) else (s2 if (s2 is not None) else None)
817
+
818
+ return singleton(StepInput(key, _arrow3415(), Decode_stringOptionFieldDecoder("default")(value), Decode_stringOptionFieldDecoder("valueFrom")(value)))
819
+
820
+ return collect(_arrow3416, dict_1.keys())
821
+
822
+ return list(to_array(delay(_arrow3417)))
823
+
824
+ return object(getter, value_1)
825
+
826
+
827
+ Decode_inputStepDecoder: Callable[[YAMLElement], Array[StepInput]] = _arrow3418
828
+
829
+ def _arrow3420(value_2: YAMLElement) -> Array[str]:
830
+ def getter(get: IGetters) -> Array[str]:
831
+ object_arg: IRequiredGetter = get.Required
832
+ def arg_1(value: YAMLElement, get: Any=get) -> Array[str]:
833
+ def _arrow3419(value_1: YAMLElement, value: Any=value) -> str:
834
+ return string(value_1)
835
+
836
+ return resizearray(_arrow3419, value)
837
+
838
+ return object_arg.Field("out", arg_1)
839
+
840
+ return object(getter, value_2)
841
+
842
+
843
+ Decode_outputStepsDecoder: Callable[[YAMLElement], Array[str]] = _arrow3420
844
+
845
+ def _arrow3428(value_1: YAMLElement) -> Array[WorkflowStep]:
846
+ def getter(get: IGetters) -> Array[WorkflowStep]:
847
+ dict_1: Any = get.Overflow.FieldList(empty())
848
+ def _arrow3427(__unit: None=None, get: Any=get) -> IEnumerable_1[WorkflowStep]:
849
+ def _arrow3426(key: str) -> IEnumerable_1[WorkflowStep]:
850
+ value: YAMLElement = get_item_from_dict(dict_1, key)
851
+ run: str = Decode_stringFieldDecoder("run")(value)
852
+ def _arrow3421(get_1: IGetters) -> Array[StepInput]:
853
+ object_arg: IRequiredGetter = get_1.Required
854
+ return object_arg.Field("in", Decode_inputStepDecoder)
855
+
856
+ inputs: Array[StepInput] = object(_arrow3421, value)
857
+ outputs: StepOutput = StepOutput(Decode_outputStepsDecoder(value))
858
+ requirements: Array[Requirement] | None = Decode_requirementsDecoder(value)
859
+ hints: Array[Requirement] | None = Decode_hintsDecoder(value)
860
+ wf_step: WorkflowStep = WorkflowStep(key, inputs, outputs, run)
861
+ def _expr3422():
862
+ wf_step.Requirements = requirements
863
+ return empty_1()
864
+
865
+ def _arrow3425(__unit: None=None) -> IEnumerable_1[WorkflowStep]:
866
+ def _expr3423():
867
+ wf_step.Hints = hints
868
+ return empty_1()
869
+
870
+ def _arrow3424(__unit: None=None) -> IEnumerable_1[WorkflowStep]:
871
+ return singleton(wf_step)
872
+
873
+ return append(_expr3423() if (hints is not None) else empty_1(), delay(_arrow3424))
874
+
875
+ return append(_expr3422() if (requirements is not None) else empty_1(), delay(_arrow3425))
876
+
877
+ return collect(_arrow3426, dict_1.keys())
878
+
879
+ return list(to_array(delay(_arrow3427)))
880
+
881
+ return object(getter, value_1)
882
+
883
+
884
+ Decode_stepArrayDecoder: Callable[[YAMLElement], Array[WorkflowStep]] = _arrow3428
885
+
886
+ def _arrow3429(value: YAMLElement) -> Array[WorkflowStep]:
887
+ def getter(get: IGetters) -> Array[WorkflowStep]:
888
+ object_arg: IRequiredGetter = get.Required
889
+ return object_arg.Field("steps", Decode_stepArrayDecoder)
890
+
891
+ return object(getter, value)
892
+
893
+
894
+ Decode_stepsDecoder: Callable[[YAMLElement], Array[WorkflowStep]] = _arrow3429
895
+
896
+ def Decode_decodeCommandLineTool(cwl: str) -> CWLToolDescription:
897
+ yaml_cwl: YAMLElement = read(cwl)
898
+ cwl_version: str = Decode_versionDecoder(yaml_cwl)
899
+ outputs: Array[CWLOutput] = Decode_outputsDecoder(yaml_cwl)
900
+ inputs: Array[CWLInput] | None = Decode_inputsDecoder(yaml_cwl)
901
+ requirements: Array[Requirement] | None = Decode_requirementsDecoder(yaml_cwl)
902
+ hints: Array[Requirement] | None = Decode_hintsDecoder(yaml_cwl)
903
+ base_command: Array[str] | None = Decode_baseCommandDecoder(yaml_cwl)
904
+ description: CWLToolDescription = CWLToolDescription(outputs, cwl_version)
905
+ metadata: DynamicObj
906
+ md: DynamicObj = DynamicObj()
907
+ def getter(get: IGetters, cwl: Any=cwl) -> DynamicObj:
908
+ return Decode_overflowDecoder(md, get.Overflow.FieldList(of_array(["inputs", "outputs", "class", "id", "label", "doc", "requirements", "hints", "cwlVersion", "baseCommand", "arguments", "stdin", "stderr", "stdout", "successCodes", "temporaryFailCodes", "permanentFailCodes"])))
909
+
910
+ ignore(object(getter, yaml_cwl))
911
+ metadata = md
912
+ def getter_1(get_1: IGetters, cwl: Any=cwl) -> DynamicObj:
913
+ return Decode_overflowDecoder(description, get_1.MultipleOptional.FieldList(of_array(["id", "label", "doc", "arguments", "stdin", "stderr", "stdout", "successCodes", "temporaryFailCodes", "permanentFailCodes"])))
914
+
915
+ ignore(object(getter_1, yaml_cwl))
916
+ if inputs is not None:
917
+ description.Inputs = inputs
918
+
919
+ if requirements is not None:
920
+ description.Requirements = requirements
921
+
922
+ if hints is not None:
923
+ description.Hints = hints
924
+
925
+ if base_command is not None:
926
+ description.BaseCommand = base_command
927
+
928
+ if length(metadata.GetProperties(False)) > 0:
929
+ description.Metadata = metadata
930
+
931
+ return description
932
+
933
+
934
+ def Decode_decodeWorkflow(cwl: str) -> CWLWorkflowDescription:
935
+ yaml_cwl: YAMLElement = read(cwl)
936
+ cwl_version: str = Decode_versionDecoder(yaml_cwl)
937
+ outputs: Array[CWLOutput] = Decode_outputsDecoder(yaml_cwl)
938
+ inputs: Array[CWLInput]
939
+ match_value: Array[CWLInput] | None = Decode_inputsDecoder(yaml_cwl)
940
+ if match_value is None:
941
+ raise Exception("Inputs are required for a workflow")
942
+
943
+ else:
944
+ inputs = match_value
945
+
946
+ requirements: Array[Requirement] | None = Decode_requirementsDecoder(yaml_cwl)
947
+ hints: Array[Requirement] | None = Decode_hintsDecoder(yaml_cwl)
948
+ description: CWLWorkflowDescription = CWLWorkflowDescription(Decode_stepsDecoder(yaml_cwl), inputs, outputs, cwl_version)
949
+ metadata: DynamicObj
950
+ md: DynamicObj = DynamicObj()
951
+ def getter(get: IGetters, cwl: Any=cwl) -> DynamicObj:
952
+ return Decode_overflowDecoder(md, get.Overflow.FieldList(of_array(["inputs", "outputs", "class", "steps", "id", "label", "doc", "requirements", "hints", "cwlVersion"])))
953
+
954
+ ignore(object(getter, yaml_cwl))
955
+ metadata = md
956
+ def getter_1(get_1: IGetters, cwl: Any=cwl) -> DynamicObj:
957
+ return Decode_overflowDecoder(description, get_1.MultipleOptional.FieldList(of_array(["id", "label", "doc"])))
958
+
959
+ ignore(object(getter_1, yaml_cwl))
960
+ if requirements is not None:
961
+ description.Requirements = requirements
962
+
963
+ if hints is not None:
964
+ description.Hints = hints
965
+
966
+ if length(metadata.GetProperties(False)) > 0:
967
+ description.Metadata = metadata
968
+
969
+ return description
970
+
971
+
972
+ __all__ = ["ResizeArray_map", "Decode_overflowDecoder", "Decode_decodeStringOrExpression", "Decode_outputBindingGlobDecoder", "Decode_outputBindingDecoder", "Decode_direntDecoder", "Decode_cwlArrayTypeDecoder", "Decode_cwlTypeStringMatcher", "Decode_cwlTypeDecoder", "Decode_outputArrayDecoder", "Decode_outputsDecoder", "Decode_dockerRequirementDecoder", "Decode_envVarRequirementDecoder", "Decode_softwareRequirementDecoder", "Decode_initialWorkDirRequirementDecoder", "Decode_resourceRequirementDecoder", "Decode_schemaDefRequirementDecoder", "Decode_toolTimeLimitRequirementDecoder", "Decode_requirementArrayDecoder", "Decode_requirementsDecoder", "Decode_hintsDecoder", "Decode_inputBindingDecoder", "Decode_inputArrayDecoder", "Decode_inputsDecoder", "Decode_baseCommandDecoder", "Decode_versionDecoder", "Decode_classDecoder", "Decode_stringOptionFieldDecoder", "Decode_stringFieldDecoder", "Decode_inputStepDecoder", "Decode_outputStepsDecoder", "Decode_stepArrayDecoder", "Decode_stepsDecoder", "Decode_decodeCommandLineTool", "Decode_decodeWorkflow"]
973
+