arctrl 3.0.0__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 (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,107 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import (map, default_arg)
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.types import Array
8
+ from ...fable_modules.fable_library.util import IEnumerable_1
9
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, string, resize_array, IGetters)
10
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
11
+ from ...Core.comment import Comment
12
+ from ...Core.ontology_annotation import OntologyAnnotation
13
+ from ...Core.Process.factor import Factor
14
+ from ..comment import (ISAJson_encoder, ISAJson_decoder)
15
+ from ..encode import (try_include, try_include_seq)
16
+ from ..idtable import encode
17
+ from ..ontology_annotation import (OntologyAnnotation_ROCrate_genID, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
18
+
19
+ __A_ = TypeVar("__A_")
20
+
21
+ def gen_id(f: Factor) -> str:
22
+ match_value: str | None = f.Name
23
+ if match_value is None:
24
+ match_value_1: OntologyAnnotation | None = f.FactorType
25
+ if match_value_1 is None:
26
+ return "#EmptyFactor"
27
+
28
+ else:
29
+ return ("#Factor/" + OntologyAnnotation_ROCrate_genID(match_value_1)) + ""
30
+
31
+
32
+ else:
33
+ return ("#Factor/" + match_value) + ""
34
+
35
+
36
+
37
+ def encoder(id_map: Any | None, value: Factor) -> IEncodable:
38
+ def f_1(value_1: Factor, id_map: Any=id_map, value: Any=value) -> IEncodable:
39
+ def chooser(tupled_arg: tuple[str, IEncodable | None], value_1: Any=value_1) -> tuple[str, IEncodable] | None:
40
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
41
+ return (tupled_arg[0], v_1)
42
+
43
+ return map(mapping, tupled_arg[1])
44
+
45
+ def _arrow2960(value_2: str, value_1: Any=value_1) -> IEncodable:
46
+ class ObjectExpr2959(IEncodable):
47
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
48
+ return helpers.encode_string(value_2)
49
+
50
+ return ObjectExpr2959()
51
+
52
+ def _arrow2964(value_4: str, value_1: Any=value_1) -> IEncodable:
53
+ class ObjectExpr2963(IEncodable):
54
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
55
+ return helpers_1.encode_string(value_4)
56
+
57
+ return ObjectExpr2963()
58
+
59
+ def _arrow2965(oa: OntologyAnnotation, value_1: Any=value_1) -> IEncodable:
60
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
61
+
62
+ def _arrow2968(comment: Comment, value_1: Any=value_1) -> IEncodable:
63
+ return ISAJson_encoder(id_map, comment)
64
+
65
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2960, gen_id(value_1)), try_include("factorName", _arrow2964, value_1.Name), try_include("factorType", _arrow2965, value_1.FactorType), try_include_seq("comments", _arrow2968, default_arg(value_1.Comments, []))]))
66
+ class ObjectExpr2971(IEncodable):
67
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], value_1: Any=value_1) -> Any:
68
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
69
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
70
+
71
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
72
+ return helpers_2.encode_object(arg)
73
+
74
+ return ObjectExpr2971()
75
+
76
+ if id_map is not None:
77
+ def _arrow2975(f_2: Factor, id_map: Any=id_map, value: Any=value) -> str:
78
+ return gen_id(f_2)
79
+
80
+ return encode(_arrow2975, f_1, value, id_map)
81
+
82
+ else:
83
+ return f_1(value)
84
+
85
+
86
+
87
+ def _arrow2983(get: IGetters) -> Factor:
88
+ def _arrow2978(__unit: None=None) -> str | None:
89
+ object_arg: IOptionalGetter = get.Optional
90
+ return object_arg.Field("factorName", string)
91
+
92
+ def _arrow2979(__unit: None=None) -> OntologyAnnotation | None:
93
+ object_arg_1: IOptionalGetter = get.Optional
94
+ return object_arg_1.Field("factorType", OntologyAnnotation_ISAJson_decoder)
95
+
96
+ def _arrow2982(__unit: None=None) -> Array[Comment] | None:
97
+ arg_5: Decoder_1[Array[Comment]] = resize_array(ISAJson_decoder)
98
+ object_arg_2: IOptionalGetter = get.Optional
99
+ return object_arg_2.Field("comments", arg_5)
100
+
101
+ return Factor(_arrow2978(), _arrow2979(), _arrow2982())
102
+
103
+
104
+ decoder: Decoder_1[Factor] = object(_arrow2983)
105
+
106
+ __all__ = ["gen_id", "encoder", "decoder"]
107
+
@@ -0,0 +1,101 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, Decoder_1, IEncoderHelpers_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.factor import Factor
12
+ from ...Core.Process.factor_value import (FactorValue, FactorValue_createAsPV)
13
+ from ...Core.value import Value as Value_1
14
+ from ..decode import Decode_uri
15
+ from ..encode import try_include
16
+ from ..idtable import encode
17
+ from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
18
+ from ..property_value import (encoder, decoder, gen_id)
19
+ from .factor import (encoder as encoder_1, decoder as decoder_1)
20
+ from .value import (encoder as encoder_2, decoder as decoder_2)
21
+
22
+ __A_ = TypeVar("__A_")
23
+
24
+ ROCrate_encoder: Callable[[FactorValue], IEncodable] = encoder
25
+
26
+ ROCrate_decoder: Decoder_1[FactorValue] = decoder(FactorValue_createAsPV)
27
+
28
+ def ISAJson_genID(fv: FactorValue) -> str:
29
+ return gen_id(fv)
30
+
31
+
32
+ def ISAJson_encoder(id_map: Any | None, fv: FactorValue) -> IEncodable:
33
+ def f(fv_1: FactorValue, id_map: Any=id_map, fv: Any=fv) -> IEncodable:
34
+ def chooser(tupled_arg: tuple[str, IEncodable | None], fv_1: Any=fv_1) -> tuple[str, IEncodable] | None:
35
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
36
+ return (tupled_arg[0], v_1)
37
+
38
+ return map(mapping, tupled_arg[1])
39
+
40
+ def _arrow3061(value: str, fv_1: Any=fv_1) -> IEncodable:
41
+ class ObjectExpr3059(IEncodable):
42
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
43
+ return helpers.encode_string(value)
44
+
45
+ return ObjectExpr3059()
46
+
47
+ def _arrow3062(value_2: Factor, fv_1: Any=fv_1) -> IEncodable:
48
+ return encoder_1(id_map, value_2)
49
+
50
+ def _arrow3063(value_3: Value_1, fv_1: Any=fv_1) -> IEncodable:
51
+ return encoder_2(id_map, value_3)
52
+
53
+ def _arrow3065(oa: OntologyAnnotation, fv_1: Any=fv_1) -> IEncodable:
54
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
55
+
56
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3061, ISAJson_genID(fv_1)), try_include("category", _arrow3062, fv_1.Category), try_include("value", _arrow3063, fv_1.Value), try_include("unit", _arrow3065, fv_1.Unit)]))
57
+ class ObjectExpr3068(IEncodable):
58
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], fv_1: Any=fv_1) -> Any:
59
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
60
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
61
+
62
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
63
+ return helpers_1.encode_object(arg)
64
+
65
+ return ObjectExpr3068()
66
+
67
+ if id_map is not None:
68
+ def _arrow3070(fv_3: FactorValue, id_map: Any=id_map, fv: Any=fv) -> str:
69
+ return ISAJson_genID(fv_3)
70
+
71
+ return encode(_arrow3070, f, fv, id_map)
72
+
73
+ else:
74
+ return f(fv)
75
+
76
+
77
+
78
+ def _arrow3076(get: IGetters) -> FactorValue:
79
+ def _arrow3071(__unit: None=None) -> str | None:
80
+ object_arg: IOptionalGetter = get.Optional
81
+ return object_arg.Field("@id", Decode_uri)
82
+
83
+ def _arrow3072(__unit: None=None) -> Factor | None:
84
+ object_arg_1: IOptionalGetter = get.Optional
85
+ return object_arg_1.Field("category", decoder_1)
86
+
87
+ def _arrow3074(__unit: None=None) -> Value_1 | None:
88
+ object_arg_2: IOptionalGetter = get.Optional
89
+ return object_arg_2.Field("value", decoder_2)
90
+
91
+ def _arrow3075(__unit: None=None) -> OntologyAnnotation | None:
92
+ object_arg_3: IOptionalGetter = get.Optional
93
+ return object_arg_3.Field("unit", OntologyAnnotation_ISAJson_decoder)
94
+
95
+ return FactorValue(_arrow3071(), _arrow3072(), _arrow3074(), _arrow3075())
96
+
97
+
98
+ ISAJson_decoder: Decoder_1[FactorValue] = object(_arrow3076)
99
+
100
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_genID", "ISAJson_encoder", "ISAJson_decoder"]
101
+
@@ -0,0 +1,226 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, singleton, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.string_ import replace
8
+ from ...fable_modules.fable_library.util import IEnumerable_1
9
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IRequiredGetter, unit, string, list_1 as list_1_2, IGetters)
10
+ from ...fable_modules.thoth_json_core.encode import list_1 as list_1_1
11
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
12
+ from ...Core.Process.material import Material
13
+ from ...Core.Process.material_attribute_value import MaterialAttributeValue
14
+ from ...Core.Process.material_type import MaterialType
15
+ from ..context.rocrate.isa_material_context import context_jsonvalue
16
+ from ..decode import (Decode_uri, Decode_objectNoAdditionalProperties)
17
+ from ..encode import (try_include, try_include_list_opt)
18
+ from ..idtable import encode
19
+ from .material_attribute_value import (ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
20
+ from .material_type import (ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1)
21
+
22
+ __A_ = TypeVar("__A_")
23
+
24
+ def ROCrate_genID(m: Material) -> str:
25
+ match_value: str | None = m.ID
26
+ if match_value is None:
27
+ match_value_1: str | None = m.Name
28
+ if match_value_1 is None:
29
+ return "#EmptyMaterial"
30
+
31
+ else:
32
+ return "#Material_" + replace(match_value_1, " ", "_")
33
+
34
+
35
+ else:
36
+ return match_value
37
+
38
+
39
+
40
+ def ROCrate_encoder(oa: Material) -> IEncodable:
41
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
42
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
43
+ return (tupled_arg[0], v_1)
44
+
45
+ return map(mapping, tupled_arg[1])
46
+
47
+ def _arrow3224(__unit: None=None, oa: Any=oa) -> IEncodable:
48
+ value: str = ROCrate_genID(oa)
49
+ class ObjectExpr3223(IEncodable):
50
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
51
+ return helpers.encode_string(value)
52
+
53
+ return ObjectExpr3223()
54
+
55
+ class ObjectExpr3225(IEncodable):
56
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
57
+ return helpers_1.encode_string("Material")
58
+
59
+ class ObjectExpr3226(IEncodable):
60
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
61
+ return helpers_2.encode_string("Material")
62
+
63
+ def _arrow3228(value_3: str, oa: Any=oa) -> IEncodable:
64
+ class ObjectExpr3227(IEncodable):
65
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
66
+ return helpers_3.encode_string(value_3)
67
+
68
+ return ObjectExpr3227()
69
+
70
+ def _arrow3229(value_5: MaterialType, oa: Any=oa) -> IEncodable:
71
+ return ROCrate_encoder_1(value_5)
72
+
73
+ def _arrow3230(oa_1: Material, oa: Any=oa) -> IEncodable:
74
+ return ROCrate_encoder(oa_1)
75
+
76
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3224()), ("@type", list_1_1(singleton(ObjectExpr3225()))), ("additionalType", ObjectExpr3226()), try_include("name", _arrow3228, oa.Name), try_include("type", _arrow3229, oa.MaterialType), try_include_list_opt("characteristics", ROCrate_encoder_2, oa.Characteristics), try_include_list_opt("derivesFrom", _arrow3230, oa.DerivesFrom), ("@context", context_jsonvalue)]))
77
+ class ObjectExpr3231(IEncodable):
78
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
79
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
80
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
81
+
82
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
83
+ return helpers_4.encode_object(arg)
84
+
85
+ return ObjectExpr3231()
86
+
87
+
88
+ def _arrow3238(__unit: None=None) -> Decoder_1[Material]:
89
+ def decode(__unit: None=None) -> Decoder_1[Material]:
90
+ def _arrow3237(get: IGetters) -> Material:
91
+ match_value: str | None
92
+ object_arg: IOptionalGetter = get.Optional
93
+ match_value = object_arg.Field("additionalType", Decode_uri)
94
+ (pattern_matching_result,) = (None,)
95
+ if match_value is None:
96
+ pattern_matching_result = 0
97
+
98
+ elif match_value == "Material":
99
+ pattern_matching_result = 0
100
+
101
+ else:
102
+ pattern_matching_result = 1
103
+
104
+ if pattern_matching_result == 1:
105
+ object_arg_1: IRequiredGetter = get.Required
106
+ object_arg_1.Field("FailBecauseNotSample", unit)
107
+
108
+ def _arrow3232(__unit: None=None) -> str | None:
109
+ object_arg_2: IOptionalGetter = get.Optional
110
+ return object_arg_2.Field("@id", Decode_uri)
111
+
112
+ def _arrow3233(__unit: None=None) -> str | None:
113
+ object_arg_3: IOptionalGetter = get.Optional
114
+ return object_arg_3.Field("name", string)
115
+
116
+ def _arrow3234(__unit: None=None) -> MaterialType | None:
117
+ object_arg_4: IOptionalGetter = get.Optional
118
+ return object_arg_4.Field("type", ROCrate_decoder_1)
119
+
120
+ def _arrow3235(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
121
+ arg_11: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ROCrate_decoder_2)
122
+ object_arg_5: IOptionalGetter = get.Optional
123
+ return object_arg_5.Field("characteristics", arg_11)
124
+
125
+ def _arrow3236(__unit: None=None) -> FSharpList[Material] | None:
126
+ arg_13: Decoder_1[FSharpList[Material]] = list_1_2(decode(None))
127
+ object_arg_6: IOptionalGetter = get.Optional
128
+ return object_arg_6.Field("derivesFrom", arg_13)
129
+
130
+ return Material(_arrow3232(), _arrow3233(), _arrow3234(), _arrow3235(), _arrow3236())
131
+
132
+ return object(_arrow3237)
133
+
134
+ return decode(None)
135
+
136
+
137
+ ROCrate_decoder: Decoder_1[Material] = _arrow3238()
138
+
139
+ def ISAJson_encoder(id_map: Any | None, c: Material) -> IEncodable:
140
+ def f(oa: Material, id_map: Any=id_map, c: Any=c) -> IEncodable:
141
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
142
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
143
+ return (tupled_arg[0], v_1)
144
+
145
+ return map(mapping, tupled_arg[1])
146
+
147
+ def _arrow3242(value: str, oa: Any=oa) -> IEncodable:
148
+ class ObjectExpr3241(IEncodable):
149
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
150
+ return helpers.encode_string(value)
151
+
152
+ return ObjectExpr3241()
153
+
154
+ def _arrow3244(value_2: str, oa: Any=oa) -> IEncodable:
155
+ class ObjectExpr3243(IEncodable):
156
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
157
+ return helpers_1.encode_string(value_2)
158
+
159
+ return ObjectExpr3243()
160
+
161
+ def _arrow3245(oa_1: MaterialAttributeValue, oa: Any=oa) -> IEncodable:
162
+ return ISAJson_encoder_2(id_map, oa_1)
163
+
164
+ def _arrow3246(c_1: Material, oa: Any=oa) -> IEncodable:
165
+ return ISAJson_encoder(id_map, c_1)
166
+
167
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3242, ROCrate_genID(oa)), try_include("name", _arrow3244, oa.Name), try_include("type", ISAJson_encoder_1, oa.MaterialType), try_include_list_opt("characteristics", _arrow3245, oa.Characteristics), try_include_list_opt("derivesFrom", _arrow3246, oa.DerivesFrom)]))
168
+ class ObjectExpr3247(IEncodable):
169
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
170
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
171
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
172
+
173
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
174
+ return helpers_2.encode_object(arg)
175
+
176
+ return ObjectExpr3247()
177
+
178
+ if id_map is not None:
179
+ def _arrow3248(m_1: Material, id_map: Any=id_map, c: Any=c) -> str:
180
+ return ROCrate_genID(m_1)
181
+
182
+ return encode(_arrow3248, f, c, id_map)
183
+
184
+ else:
185
+ return f(c)
186
+
187
+
188
+
189
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "@type", "name", "type", "characteristics", "derivesFrom", "@context"])
190
+
191
+ def _arrow3255(__unit: None=None) -> Decoder_1[Material]:
192
+ def decode(__unit: None=None) -> Decoder_1[Material]:
193
+ def _arrow3254(get: IGetters) -> Material:
194
+ def _arrow3249(__unit: None=None) -> str | None:
195
+ object_arg: IOptionalGetter = get.Optional
196
+ return object_arg.Field("@id", Decode_uri)
197
+
198
+ def _arrow3250(__unit: None=None) -> str | None:
199
+ object_arg_1: IOptionalGetter = get.Optional
200
+ return object_arg_1.Field("name", string)
201
+
202
+ def _arrow3251(__unit: None=None) -> MaterialType | None:
203
+ object_arg_2: IOptionalGetter = get.Optional
204
+ return object_arg_2.Field("type", ISAJson_decoder_1)
205
+
206
+ def _arrow3252(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
207
+ arg_7: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ISAJson_decoder_2)
208
+ object_arg_3: IOptionalGetter = get.Optional
209
+ return object_arg_3.Field("characteristics", arg_7)
210
+
211
+ def _arrow3253(__unit: None=None) -> FSharpList[Material] | None:
212
+ arg_9: Decoder_1[FSharpList[Material]] = list_1_2(decode(None))
213
+ object_arg_4: IOptionalGetter = get.Optional
214
+ return object_arg_4.Field("derivesFrom", arg_9)
215
+
216
+ return Material(_arrow3249(), _arrow3250(), _arrow3251(), _arrow3252(), _arrow3253())
217
+
218
+ return Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3254)
219
+
220
+ return decode(None)
221
+
222
+
223
+ ISAJson_decoder: Decoder_1[Material] = _arrow3255()
224
+
225
+ __all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
226
+
@@ -0,0 +1,79 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.material_attribute import MaterialAttribute
12
+ from ..encode import try_include
13
+ from ..idtable import encode
14
+ from ..ontology_annotation import (OntologyAnnotation_ROCrate_genID, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
15
+
16
+ __A_ = TypeVar("__A_")
17
+
18
+ def gen_id(m: MaterialAttribute) -> str:
19
+ match_value: OntologyAnnotation | None = m.CharacteristicType
20
+ if match_value is None:
21
+ return "#EmptyFactor"
22
+
23
+ else:
24
+ return ("#MaterialAttribute/" + OntologyAnnotation_ROCrate_genID(match_value)) + ""
25
+
26
+
27
+
28
+ def encoder(id_map: Any | None, value: MaterialAttribute) -> IEncodable:
29
+ def f(value_1: MaterialAttribute, id_map: Any=id_map, value: Any=value) -> IEncodable:
30
+ def chooser(tupled_arg: tuple[str, IEncodable | None], value_1: Any=value_1) -> tuple[str, IEncodable] | None:
31
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
32
+ return (tupled_arg[0], v_1)
33
+
34
+ return map(mapping, tupled_arg[1])
35
+
36
+ def _arrow3129(value_2: str, value_1: Any=value_1) -> IEncodable:
37
+ class ObjectExpr3128(IEncodable):
38
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
39
+ return helpers.encode_string(value_2)
40
+
41
+ return ObjectExpr3128()
42
+
43
+ def _arrow3130(oa: OntologyAnnotation, value_1: Any=value_1) -> IEncodable:
44
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
45
+
46
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3129, gen_id(value_1)), try_include("characteristicType", _arrow3130, value_1.CharacteristicType)]))
47
+ class ObjectExpr3131(IEncodable):
48
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], value_1: Any=value_1) -> Any:
49
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
50
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
51
+
52
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
53
+ return helpers_1.encode_object(arg)
54
+
55
+ return ObjectExpr3131()
56
+
57
+ if id_map is not None:
58
+ def _arrow3132(m_1: MaterialAttribute, id_map: Any=id_map, value: Any=value) -> str:
59
+ return gen_id(m_1)
60
+
61
+ return encode(_arrow3132, f, value, id_map)
62
+
63
+ else:
64
+ return f(value)
65
+
66
+
67
+
68
+ def _arrow3134(get: IGetters) -> MaterialAttribute:
69
+ def _arrow3133(__unit: None=None) -> OntologyAnnotation | None:
70
+ object_arg: IOptionalGetter = get.Optional
71
+ return object_arg.Field("characteristicType", OntologyAnnotation_ISAJson_decoder)
72
+
73
+ return MaterialAttribute(None, _arrow3133())
74
+
75
+
76
+ decoder: Decoder_1[MaterialAttribute] = object(_arrow3134)
77
+
78
+ __all__ = ["gen_id", "encoder", "decoder"]
79
+
@@ -0,0 +1,101 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, Decoder_1, IEncoderHelpers_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.material_attribute import MaterialAttribute
12
+ from ...Core.Process.material_attribute_value import (MaterialAttributeValue, MaterialAttributeValue_createAsPV)
13
+ from ...Core.value import Value as Value_1
14
+ from ..decode import Decode_uri
15
+ from ..encode import try_include
16
+ from ..idtable import encode
17
+ from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
18
+ from ..property_value import (encoder, decoder, gen_id)
19
+ from .material_attribute import (encoder as encoder_1, decoder as decoder_1)
20
+ from .value import (encoder as encoder_2, decoder as decoder_2)
21
+
22
+ __A_ = TypeVar("__A_")
23
+
24
+ ROCrate_encoder: Callable[[MaterialAttributeValue], IEncodable] = encoder
25
+
26
+ ROCrate_decoder: Decoder_1[MaterialAttributeValue] = decoder(MaterialAttributeValue_createAsPV)
27
+
28
+ def ISAJson_genID(oa: MaterialAttributeValue) -> str:
29
+ return gen_id(oa)
30
+
31
+
32
+ def ISAJson_encoder(id_map: Any | None, oa: MaterialAttributeValue) -> IEncodable:
33
+ def f(oa_1: MaterialAttributeValue, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
34
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
35
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
36
+ return (tupled_arg[0], v_1)
37
+
38
+ return map(mapping, tupled_arg[1])
39
+
40
+ def _arrow3154(value: str, oa_1: Any=oa_1) -> IEncodable:
41
+ class ObjectExpr3153(IEncodable):
42
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
43
+ return helpers.encode_string(value)
44
+
45
+ return ObjectExpr3153()
46
+
47
+ def _arrow3155(value_2: MaterialAttribute, oa_1: Any=oa_1) -> IEncodable:
48
+ return encoder_1(id_map, value_2)
49
+
50
+ def _arrow3156(value_3: Value_1, oa_1: Any=oa_1) -> IEncodable:
51
+ return encoder_2(id_map, value_3)
52
+
53
+ def _arrow3157(oa_3: OntologyAnnotation, oa_1: Any=oa_1) -> IEncodable:
54
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa_3)
55
+
56
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3154, ISAJson_genID(oa_1)), try_include("category", _arrow3155, oa_1.Category), try_include("value", _arrow3156, oa_1.Value), try_include("unit", _arrow3157, oa_1.Unit)]))
57
+ class ObjectExpr3158(IEncodable):
58
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
59
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
60
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
61
+
62
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
63
+ return helpers_1.encode_object(arg)
64
+
65
+ return ObjectExpr3158()
66
+
67
+ if id_map is not None:
68
+ def _arrow3159(oa_4: MaterialAttributeValue, id_map: Any=id_map, oa: Any=oa) -> str:
69
+ return ISAJson_genID(oa_4)
70
+
71
+ return encode(_arrow3159, f, oa, id_map)
72
+
73
+ else:
74
+ return f(oa)
75
+
76
+
77
+
78
+ def _arrow3164(get: IGetters) -> MaterialAttributeValue:
79
+ def _arrow3160(__unit: None=None) -> str | None:
80
+ object_arg: IOptionalGetter = get.Optional
81
+ return object_arg.Field("@id", Decode_uri)
82
+
83
+ def _arrow3161(__unit: None=None) -> MaterialAttribute | None:
84
+ object_arg_1: IOptionalGetter = get.Optional
85
+ return object_arg_1.Field("category", decoder_1)
86
+
87
+ def _arrow3162(__unit: None=None) -> Value_1 | None:
88
+ object_arg_2: IOptionalGetter = get.Optional
89
+ return object_arg_2.Field("value", decoder_2)
90
+
91
+ def _arrow3163(__unit: None=None) -> OntologyAnnotation | None:
92
+ object_arg_3: IOptionalGetter = get.Optional
93
+ return object_arg_3.Field("unit", OntologyAnnotation_ISAJson_decoder)
94
+
95
+ return MaterialAttributeValue(_arrow3160(), _arrow3161(), _arrow3162(), _arrow3163())
96
+
97
+
98
+ ISAJson_decoder: Decoder_1[MaterialAttributeValue] = object(_arrow3164)
99
+
100
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_genID", "ISAJson_encoder", "ISAJson_decoder"]
101
+
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.result import FSharpResult_2
5
+ from ...fable_modules.thoth_json_core.decode import string
6
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1, ErrorReason_1, IDecoderHelpers_1)
7
+ from ...Core.Process.material_type import MaterialType
8
+
9
+ __A_ = TypeVar("__A_")
10
+
11
+ def ROCrate_encoder(value: MaterialType) -> IEncodable:
12
+ if value.tag == 1:
13
+ class ObjectExpr3123(IEncodable):
14
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], value: Any=value) -> Any:
15
+ return helpers_1.encode_string("Labeled Extract Name")
16
+
17
+ return ObjectExpr3123()
18
+
19
+ else:
20
+ class ObjectExpr3124(IEncodable):
21
+ def Encode(self, helpers: IEncoderHelpers_1[Any], value: Any=value) -> Any:
22
+ return helpers.encode_string("Extract Name")
23
+
24
+ return ObjectExpr3124()
25
+
26
+
27
+
28
+ class ObjectExpr3125(Decoder_1[MaterialType]):
29
+ def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[MaterialType, tuple[str, ErrorReason_1[__A_]]]:
30
+ match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, json)
31
+ if match_value.tag == 1:
32
+ return FSharpResult_2(1, match_value.fields[0])
33
+
34
+ elif match_value.fields[0] == "Extract Name":
35
+ return FSharpResult_2(0, MaterialType(0))
36
+
37
+ elif match_value.fields[0] == "Labeled Extract Name":
38
+ return FSharpResult_2(0, MaterialType(1))
39
+
40
+ else:
41
+ s_1: str = match_value.fields[0]
42
+ return FSharpResult_2(1, (("Could not parse " + s_1) + "No other value than \"Extract Name\" or \"Labeled Extract Name\" allowed for materialtype", ErrorReason_1(0, s_1, json)))
43
+
44
+
45
+
46
+ ROCrate_decoder: Decoder_1[MaterialType] = ObjectExpr3125()
47
+
48
+ ISAJson_encoder: Callable[[MaterialType], IEncodable] = ROCrate_encoder
49
+
50
+ ISAJson_decoder: Decoder_1[MaterialType] = ROCrate_decoder
51
+
52
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_decoder"]
53
+