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,1784 @@
1
+ from __future__ import annotations
2
+ from abc import abstractmethod
3
+ from collections.abc import Callable
4
+ from typing import (Any, Protocol, TypeVar)
5
+ from ..fable_library.boolean import try_parse as try_parse_2
6
+ from ..fable_library.date import (min_value, try_parse as try_parse_3)
7
+ from ..fable_library.date_offset import (min_value as min_value_1, try_parse as try_parse_4)
8
+ from ..fable_library.double import try_parse as try_parse_1
9
+ from ..fable_library.int32 import try_parse
10
+ from ..fable_library.list import (is_empty, head, tail, map as map_1, FSharpList, to_array, try_find, filter, exists, iterate)
11
+ from ..fable_library.map import (of_list, of_seq)
12
+ from ..fable_library.map_util import add_to_dict
13
+ from ..fable_library.mutable_map import Dictionary
14
+ from ..fable_library.option import (some, map as map_3, value as value_1)
15
+ from ..fable_library.reflection import (TypeInfo, class_type)
16
+ from ..fable_library.seq import map as map_2
17
+ from ..fable_library.string_ import (to_text, printf)
18
+ from ..fable_library.types import (FSharpRef, Array)
19
+ from ..fable_library.util import (compare, equals as equals_1, structural_hash, IEnumerable_1)
20
+ from .Interop.py_interop import is_string
21
+ from .reader import read as read_1
22
+ from .yamlicious_types import YAMLElement
23
+
24
+ _A = TypeVar("_A")
25
+
26
+ _B = TypeVar("_B")
27
+
28
+ _A_ = TypeVar("_A_")
29
+
30
+ _C = TypeVar("_C")
31
+
32
+ _D = TypeVar("_D")
33
+
34
+ _E = TypeVar("_E")
35
+
36
+ _F = TypeVar("_F")
37
+
38
+ _G = TypeVar("_G")
39
+
40
+ _H = TypeVar("_H")
41
+
42
+ __A_ = TypeVar("__A_")
43
+
44
+ def Helper_isString(value: str) -> bool:
45
+ return is_string(value)
46
+
47
+
48
+ def int_1(value: YAMLElement) -> int:
49
+ (pattern_matching_result, v) = (None, None)
50
+ if value.tag == 1:
51
+ pattern_matching_result = 0
52
+ v = value.fields[0]
53
+
54
+ elif value.tag == 3:
55
+ if not is_empty(value.fields[0]):
56
+ if head(value.fields[0]).tag == 1:
57
+ if is_empty(tail(value.fields[0])):
58
+ pattern_matching_result = 0
59
+ v = head(value.fields[0]).fields[0]
60
+
61
+ else:
62
+ pattern_matching_result = 1
63
+
64
+
65
+ else:
66
+ pattern_matching_result = 1
67
+
68
+
69
+ else:
70
+ pattern_matching_result = 1
71
+
72
+
73
+ else:
74
+ pattern_matching_result = 1
75
+
76
+ if pattern_matching_result == 0:
77
+ match_value: tuple[bool, int]
78
+ out_arg: int = 0
79
+ def _arrow670(__unit: None=None, value: Any=value) -> int:
80
+ return out_arg
81
+
82
+ def _arrow671(v_1: int, value: Any=value) -> None:
83
+ nonlocal out_arg
84
+ out_arg = v_1 or 0
85
+
86
+ match_value = (try_parse(v.Value, 511, False, 32, FSharpRef(_arrow670, _arrow671)), out_arg)
87
+ if match_value[0]:
88
+ return match_value[1]
89
+
90
+ else:
91
+ raise Exception((to_text(printf("%s: %A"))("Expected an int")(v.Value) + "\\nParameter name: ") + "value")
92
+
93
+
94
+ elif pattern_matching_result == 1:
95
+ raise Exception((to_text(printf("%s: %A"))("Expected an YAMLElement.Value")(value) + "\\nParameter name: ") + "value")
96
+
97
+
98
+
99
+ def float_1(value: YAMLElement) -> float:
100
+ Culture: Any = {}
101
+ (pattern_matching_result, v) = (None, None)
102
+ if value.tag == 1:
103
+ pattern_matching_result = 0
104
+ v = value.fields[0]
105
+
106
+ elif value.tag == 3:
107
+ if not is_empty(value.fields[0]):
108
+ if head(value.fields[0]).tag == 1:
109
+ if is_empty(tail(value.fields[0])):
110
+ pattern_matching_result = 0
111
+ v = head(value.fields[0]).fields[0]
112
+
113
+ else:
114
+ pattern_matching_result = 1
115
+
116
+
117
+ else:
118
+ pattern_matching_result = 1
119
+
120
+
121
+ else:
122
+ pattern_matching_result = 1
123
+
124
+
125
+ else:
126
+ pattern_matching_result = 1
127
+
128
+ if pattern_matching_result == 0:
129
+ match_value: tuple[bool, float]
130
+ out_arg: float = 0.0
131
+ def _arrow672(__unit: None=None, value: Any=value) -> float:
132
+ return out_arg
133
+
134
+ def _arrow673(v_1: float, value: Any=value) -> None:
135
+ nonlocal out_arg
136
+ out_arg = v_1
137
+
138
+ match_value = (try_parse_1(v.Value, FSharpRef(_arrow672, _arrow673)), out_arg)
139
+ if match_value[0]:
140
+ return match_value[1]
141
+
142
+ else:
143
+ raise Exception((to_text(printf("%s: %A"))("Expected an int")(v.Value) + "\\nParameter name: ") + "value")
144
+
145
+
146
+ elif pattern_matching_result == 1:
147
+ raise Exception((to_text(printf("%s: %A"))("Expected an YAMLElement.Value")(value) + "\\nParameter name: ") + "value")
148
+
149
+
150
+
151
+ def char(value: YAMLElement) -> str:
152
+ (pattern_matching_result, v, any_else) = (None, None, None)
153
+ if value.tag == 1:
154
+ pattern_matching_result = 0
155
+ v = value.fields[0]
156
+
157
+ elif value.tag == 3:
158
+ if not is_empty(value.fields[0]):
159
+ if head(value.fields[0]).tag == 1:
160
+ if is_empty(tail(value.fields[0])):
161
+ pattern_matching_result = 0
162
+ v = head(value.fields[0]).fields[0]
163
+
164
+ else:
165
+ pattern_matching_result = 1
166
+ any_else = value
167
+
168
+
169
+ else:
170
+ pattern_matching_result = 1
171
+ any_else = value
172
+
173
+
174
+ else:
175
+ pattern_matching_result = 1
176
+ any_else = value
177
+
178
+
179
+ else:
180
+ pattern_matching_result = 1
181
+ any_else = value
182
+
183
+ if pattern_matching_result == 0:
184
+ if Helper_isString(v.Value):
185
+ return v.Value[0]
186
+
187
+ else:
188
+ raise Exception((to_text(printf("%s: %A"))("Expected a char")(v.Value) + "\\nParameter name: ") + "value")
189
+
190
+
191
+ elif pattern_matching_result == 1:
192
+ raise Exception((to_text(printf("%s: %A"))("Expected a char")(any_else) + "\\nParameter name: ") + "value")
193
+
194
+
195
+
196
+ def bool_1(value: YAMLElement) -> bool:
197
+ (pattern_matching_result, v, any_else) = (None, None, None)
198
+ if value.tag == 1:
199
+ pattern_matching_result = 0
200
+ v = value.fields[0]
201
+
202
+ elif value.tag == 3:
203
+ if not is_empty(value.fields[0]):
204
+ if head(value.fields[0]).tag == 1:
205
+ if is_empty(tail(value.fields[0])):
206
+ pattern_matching_result = 0
207
+ v = head(value.fields[0]).fields[0]
208
+
209
+ else:
210
+ pattern_matching_result = 1
211
+ any_else = value
212
+
213
+
214
+ else:
215
+ pattern_matching_result = 1
216
+ any_else = value
217
+
218
+
219
+ else:
220
+ pattern_matching_result = 1
221
+ any_else = value
222
+
223
+
224
+ else:
225
+ pattern_matching_result = 1
226
+ any_else = value
227
+
228
+ if pattern_matching_result == 0:
229
+ match_value: tuple[bool, bool]
230
+ out_arg: bool = False
231
+ def _arrow674(__unit: None=None, value: Any=value) -> bool:
232
+ return out_arg
233
+
234
+ def _arrow675(v_1: bool, value: Any=value) -> None:
235
+ nonlocal out_arg
236
+ out_arg = v_1
237
+
238
+ match_value = (try_parse_2(v.Value, FSharpRef(_arrow674, _arrow675)), out_arg)
239
+ if match_value[0]:
240
+ return match_value[1]
241
+
242
+ else:
243
+ raise Exception((to_text(printf("%s: %A"))("Expected a bool")(v.Value) + "\\nParameter name: ") + "value")
244
+
245
+
246
+ elif pattern_matching_result == 1:
247
+ raise Exception((to_text(printf("%s: %A"))("Expected a bool")(any_else) + "\\nParameter name: ") + "value")
248
+
249
+
250
+
251
+ def map(key_decoder: Callable[[str], _A], value_decoder: Callable[[YAMLElement], _B], value: YAMLElement) -> Any:
252
+ if value.tag == 3:
253
+ def mapping(x: YAMLElement, key_decoder: Any=key_decoder, value_decoder: Any=value_decoder, value: Any=value) -> tuple[_A, _B]:
254
+ if x.tag == 0:
255
+ return (key_decoder(x.fields[0].Value), value_decoder(x.fields[1]))
256
+
257
+ else:
258
+ raise Exception((to_text(printf("%s: %A"))("Expected a mapping")(x) + "\\nParameter name: ") + "value")
259
+
260
+
261
+ class ObjectExpr676:
262
+ @property
263
+ def Compare(self) -> Callable[[_A_, _A_], int]:
264
+ return compare
265
+
266
+ return of_list(map_1(mapping, value.fields[0]), ObjectExpr676())
267
+
268
+ else:
269
+ raise Exception((to_text(printf("%s: %A"))("Expected a map")(value) + "\\nParameter name: ") + "value")
270
+
271
+
272
+
273
+ def dict_1(key_decoder: Callable[[str], _A], value_decoder: Callable[[YAMLElement], _B], value: YAMLElement) -> Any:
274
+ if value.tag == 3:
275
+ def mapping(x: YAMLElement, key_decoder: Any=key_decoder, value_decoder: Any=value_decoder, value: Any=value) -> tuple[_A, _B]:
276
+ if x.tag == 0:
277
+ return (key_decoder(x.fields[0].Value), value_decoder(x.fields[1]))
278
+
279
+ else:
280
+ raise Exception((to_text(printf("%s: %A"))("Expected a mapping")(x) + "\\nParameter name: ") + "value")
281
+
282
+
283
+ class ObjectExpr677:
284
+ @property
285
+ def Compare(self) -> Callable[[_A_, _A_], int]:
286
+ return compare
287
+
288
+ class ObjectExpr678:
289
+ @property
290
+ def Equals(self) -> Callable[[_A_, _A_], bool]:
291
+ return equals_1
292
+
293
+ @property
294
+ def GetHashCode(self) -> Callable[[_A_], int]:
295
+ return structural_hash
296
+
297
+ return Dictionary(of_seq(map_1(mapping, value.fields[0]), ObjectExpr677()), ObjectExpr678())
298
+
299
+ else:
300
+ raise Exception((to_text(printf("%s: %A"))("Expected a dictionary")(value) + "\\nParameter name: ") + "value")
301
+
302
+
303
+
304
+ def datetime(value: YAMLElement) -> Any:
305
+ (pattern_matching_result, v, any_else) = (None, None, None)
306
+ if value.tag == 1:
307
+ pattern_matching_result = 0
308
+ v = value.fields[0]
309
+
310
+ elif value.tag == 3:
311
+ if not is_empty(value.fields[0]):
312
+ if head(value.fields[0]).tag == 1:
313
+ if is_empty(tail(value.fields[0])):
314
+ pattern_matching_result = 0
315
+ v = head(value.fields[0]).fields[0]
316
+
317
+ else:
318
+ pattern_matching_result = 1
319
+ any_else = value
320
+
321
+
322
+ else:
323
+ pattern_matching_result = 1
324
+ any_else = value
325
+
326
+
327
+ else:
328
+ pattern_matching_result = 1
329
+ any_else = value
330
+
331
+
332
+ else:
333
+ pattern_matching_result = 1
334
+ any_else = value
335
+
336
+ if pattern_matching_result == 0:
337
+ match_value: tuple[bool, Any]
338
+ out_arg: Any = min_value()
339
+ def _arrow679(__unit: None=None, value: Any=value) -> Any:
340
+ return out_arg
341
+
342
+ def _arrow680(v_1: Any, value: Any=value) -> None:
343
+ nonlocal out_arg
344
+ out_arg = v_1
345
+
346
+ match_value = (try_parse_3(v.Value, FSharpRef(_arrow679, _arrow680)), out_arg)
347
+ if match_value[0]:
348
+ return match_value[1]
349
+
350
+ else:
351
+ raise Exception((to_text(printf("%s: %A"))("Expected a DateTime")(v.Value) + "\\nParameter name: ") + "value")
352
+
353
+
354
+ elif pattern_matching_result == 1:
355
+ raise Exception((to_text(printf("%s: %A"))("Expected a DateTime")(any_else) + "\\nParameter name: ") + "value")
356
+
357
+
358
+
359
+ def datetime_offset(value: YAMLElement) -> Any:
360
+ (pattern_matching_result, v, any_else) = (None, None, None)
361
+ if value.tag == 1:
362
+ pattern_matching_result = 0
363
+ v = value.fields[0]
364
+
365
+ elif value.tag == 3:
366
+ if not is_empty(value.fields[0]):
367
+ if head(value.fields[0]).tag == 1:
368
+ if is_empty(tail(value.fields[0])):
369
+ pattern_matching_result = 0
370
+ v = head(value.fields[0]).fields[0]
371
+
372
+ else:
373
+ pattern_matching_result = 1
374
+ any_else = value
375
+
376
+
377
+ else:
378
+ pattern_matching_result = 1
379
+ any_else = value
380
+
381
+
382
+ else:
383
+ pattern_matching_result = 1
384
+ any_else = value
385
+
386
+
387
+ else:
388
+ pattern_matching_result = 1
389
+ any_else = value
390
+
391
+ if pattern_matching_result == 0:
392
+ match_value: tuple[bool, Any]
393
+ out_arg: Any = min_value_1()
394
+ def _arrow681(__unit: None=None, value: Any=value) -> Any:
395
+ return out_arg
396
+
397
+ def _arrow682(v_1: Any, value: Any=value) -> None:
398
+ nonlocal out_arg
399
+ out_arg = v_1
400
+
401
+ match_value = (try_parse_4(v.Value, FSharpRef(_arrow681, _arrow682)), out_arg)
402
+ if match_value[0]:
403
+ return match_value[1]
404
+
405
+ else:
406
+ raise Exception((to_text(printf("%s: %A"))("Expected a DateTimeOffset")(v.Value) + "\\nParameter name: ") + "value")
407
+
408
+
409
+ elif pattern_matching_result == 1:
410
+ raise Exception((to_text(printf("%s: %A"))("Expected a DateTimeOffset")(any_else) + "\\nParameter name: ") + "value")
411
+
412
+
413
+
414
+ def option(decoder: Callable[[YAMLElement], _A], value: YAMLElement) -> Any | None:
415
+ (pattern_matching_result, v, any_else) = (None, None, None)
416
+ if value.tag == 1:
417
+ pattern_matching_result = 0
418
+ v = value.fields[0]
419
+
420
+ elif value.tag == 3:
421
+ if not is_empty(value.fields[0]):
422
+ if head(value.fields[0]).tag == 1:
423
+ if is_empty(tail(value.fields[0])):
424
+ pattern_matching_result = 0
425
+ v = head(value.fields[0]).fields[0]
426
+
427
+ else:
428
+ pattern_matching_result = 1
429
+ any_else = value
430
+
431
+
432
+ else:
433
+ pattern_matching_result = 1
434
+ any_else = value
435
+
436
+
437
+ else:
438
+ pattern_matching_result = 1
439
+ any_else = value
440
+
441
+
442
+ else:
443
+ pattern_matching_result = 1
444
+ any_else = value
445
+
446
+ if pattern_matching_result == 0:
447
+ if v.Value == "null":
448
+ return None
449
+
450
+ else:
451
+ return some(decoder(value))
452
+
453
+
454
+ elif pattern_matching_result == 1:
455
+ raise Exception((to_text(printf("%s: %A"))("Expected an option")(any_else) + "\\nParameter name: ") + "value")
456
+
457
+
458
+
459
+ def string(value: YAMLElement) -> str:
460
+ (pattern_matching_result, v, any_else) = (None, None, None)
461
+ if value.tag == 1:
462
+ pattern_matching_result = 0
463
+ v = value.fields[0]
464
+
465
+ elif value.tag == 3:
466
+ if not is_empty(value.fields[0]):
467
+ if head(value.fields[0]).tag == 1:
468
+ if is_empty(tail(value.fields[0])):
469
+ pattern_matching_result = 0
470
+ v = head(value.fields[0]).fields[0]
471
+
472
+ else:
473
+ pattern_matching_result = 1
474
+ any_else = value
475
+
476
+
477
+ else:
478
+ pattern_matching_result = 1
479
+ any_else = value
480
+
481
+
482
+ else:
483
+ pattern_matching_result = 1
484
+ any_else = value
485
+
486
+
487
+ else:
488
+ pattern_matching_result = 1
489
+ any_else = value
490
+
491
+ if pattern_matching_result == 0:
492
+ return v.Value
493
+
494
+ elif pattern_matching_result == 1:
495
+ raise Exception((to_text(printf("%s: %A"))("Expected a string")(any_else) + "\\nParameter name: ") + "value")
496
+
497
+
498
+
499
+ def tuple2(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], value: YAMLElement) -> tuple[_A, _B]:
500
+ (pattern_matching_result, a, b, any_else) = (None, None, None, None)
501
+ if value.tag == 3:
502
+ if not is_empty(value.fields[0]):
503
+ if head(value.fields[0]).tag == 2:
504
+ if not is_empty(head(value.fields[0]).fields[0]):
505
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
506
+ if is_empty(tail(tail(head(value.fields[0]).fields[0]))):
507
+ if is_empty(tail(value.fields[0])):
508
+ pattern_matching_result = 0
509
+ a = head(head(value.fields[0]).fields[0])
510
+ b = head(tail(head(value.fields[0]).fields[0]))
511
+
512
+ else:
513
+ pattern_matching_result = 1
514
+ any_else = value
515
+
516
+
517
+ else:
518
+ pattern_matching_result = 1
519
+ any_else = value
520
+
521
+
522
+ else:
523
+ pattern_matching_result = 1
524
+ any_else = value
525
+
526
+
527
+ else:
528
+ pattern_matching_result = 1
529
+ any_else = value
530
+
531
+
532
+ else:
533
+ pattern_matching_result = 1
534
+ any_else = value
535
+
536
+
537
+ else:
538
+ pattern_matching_result = 1
539
+ any_else = value
540
+
541
+
542
+ elif value.tag == 2:
543
+ if not is_empty(value.fields[0]):
544
+ if not is_empty(tail(value.fields[0])):
545
+ if is_empty(tail(tail(value.fields[0]))):
546
+ pattern_matching_result = 0
547
+ a = head(value.fields[0])
548
+ b = head(tail(value.fields[0]))
549
+
550
+ else:
551
+ pattern_matching_result = 1
552
+ any_else = value
553
+
554
+
555
+ else:
556
+ pattern_matching_result = 1
557
+ any_else = value
558
+
559
+
560
+ else:
561
+ pattern_matching_result = 1
562
+ any_else = value
563
+
564
+
565
+ else:
566
+ pattern_matching_result = 1
567
+ any_else = value
568
+
569
+ if pattern_matching_result == 0:
570
+ return (decoder_a(a), decoder_b(b))
571
+
572
+ elif pattern_matching_result == 1:
573
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple2")(any_else) + "\\nParameter name: ") + "value")
574
+
575
+
576
+
577
+ def tuple3(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], decoder_c: Callable[[YAMLElement], _C], value: YAMLElement) -> tuple[_A, _B, _C]:
578
+ (pattern_matching_result, a, b, c, any_else) = (None, None, None, None, None)
579
+ if value.tag == 3:
580
+ if not is_empty(value.fields[0]):
581
+ if head(value.fields[0]).tag == 2:
582
+ if not is_empty(head(value.fields[0]).fields[0]):
583
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
584
+ if not is_empty(tail(tail(head(value.fields[0]).fields[0]))):
585
+ if is_empty(tail(tail(tail(head(value.fields[0]).fields[0])))):
586
+ if is_empty(tail(value.fields[0])):
587
+ pattern_matching_result = 0
588
+ a = head(head(value.fields[0]).fields[0])
589
+ b = head(tail(head(value.fields[0]).fields[0]))
590
+ c = head(tail(tail(head(value.fields[0]).fields[0])))
591
+
592
+ else:
593
+ pattern_matching_result = 1
594
+ any_else = value
595
+
596
+
597
+ else:
598
+ pattern_matching_result = 1
599
+ any_else = value
600
+
601
+
602
+ else:
603
+ pattern_matching_result = 1
604
+ any_else = value
605
+
606
+
607
+ else:
608
+ pattern_matching_result = 1
609
+ any_else = value
610
+
611
+
612
+ else:
613
+ pattern_matching_result = 1
614
+ any_else = value
615
+
616
+
617
+ else:
618
+ pattern_matching_result = 1
619
+ any_else = value
620
+
621
+
622
+ else:
623
+ pattern_matching_result = 1
624
+ any_else = value
625
+
626
+
627
+ elif value.tag == 2:
628
+ if not is_empty(value.fields[0]):
629
+ if not is_empty(tail(value.fields[0])):
630
+ if not is_empty(tail(tail(value.fields[0]))):
631
+ if is_empty(tail(tail(tail(value.fields[0])))):
632
+ pattern_matching_result = 0
633
+ a = head(value.fields[0])
634
+ b = head(tail(value.fields[0]))
635
+ c = head(tail(tail(value.fields[0])))
636
+
637
+ else:
638
+ pattern_matching_result = 1
639
+ any_else = value
640
+
641
+
642
+ else:
643
+ pattern_matching_result = 1
644
+ any_else = value
645
+
646
+
647
+ else:
648
+ pattern_matching_result = 1
649
+ any_else = value
650
+
651
+
652
+ else:
653
+ pattern_matching_result = 1
654
+ any_else = value
655
+
656
+
657
+ else:
658
+ pattern_matching_result = 1
659
+ any_else = value
660
+
661
+ if pattern_matching_result == 0:
662
+ return (decoder_a(a), decoder_b(b), decoder_c(c))
663
+
664
+ elif pattern_matching_result == 1:
665
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple3")(any_else) + "\\nParameter name: ") + "value")
666
+
667
+
668
+
669
+ def tuple4(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], decoder_c: Callable[[YAMLElement], _C], decoder_d: Callable[[YAMLElement], _D], value: YAMLElement) -> tuple[_A, _B, _C, _D]:
670
+ (pattern_matching_result, a, b, c, d, any_else) = (None, None, None, None, None, None)
671
+ if value.tag == 3:
672
+ if not is_empty(value.fields[0]):
673
+ if head(value.fields[0]).tag == 2:
674
+ if not is_empty(head(value.fields[0]).fields[0]):
675
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
676
+ if not is_empty(tail(tail(head(value.fields[0]).fields[0]))):
677
+ if not is_empty(tail(tail(tail(head(value.fields[0]).fields[0])))):
678
+ if is_empty(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))):
679
+ if is_empty(tail(value.fields[0])):
680
+ pattern_matching_result = 0
681
+ a = head(head(value.fields[0]).fields[0])
682
+ b = head(tail(head(value.fields[0]).fields[0]))
683
+ c = head(tail(tail(head(value.fields[0]).fields[0])))
684
+ d = head(tail(tail(tail(head(value.fields[0]).fields[0]))))
685
+
686
+ else:
687
+ pattern_matching_result = 1
688
+ any_else = value
689
+
690
+
691
+ else:
692
+ pattern_matching_result = 1
693
+ any_else = value
694
+
695
+
696
+ else:
697
+ pattern_matching_result = 1
698
+ any_else = value
699
+
700
+
701
+ else:
702
+ pattern_matching_result = 1
703
+ any_else = value
704
+
705
+
706
+ else:
707
+ pattern_matching_result = 1
708
+ any_else = value
709
+
710
+
711
+ else:
712
+ pattern_matching_result = 1
713
+ any_else = value
714
+
715
+
716
+ else:
717
+ pattern_matching_result = 1
718
+ any_else = value
719
+
720
+
721
+ else:
722
+ pattern_matching_result = 1
723
+ any_else = value
724
+
725
+
726
+ elif value.tag == 2:
727
+ if not is_empty(value.fields[0]):
728
+ if not is_empty(tail(value.fields[0])):
729
+ if not is_empty(tail(tail(value.fields[0]))):
730
+ if not is_empty(tail(tail(tail(value.fields[0])))):
731
+ if is_empty(tail(tail(tail(tail(value.fields[0]))))):
732
+ pattern_matching_result = 0
733
+ a = head(value.fields[0])
734
+ b = head(tail(value.fields[0]))
735
+ c = head(tail(tail(value.fields[0])))
736
+ d = head(tail(tail(tail(value.fields[0]))))
737
+
738
+ else:
739
+ pattern_matching_result = 1
740
+ any_else = value
741
+
742
+
743
+ else:
744
+ pattern_matching_result = 1
745
+ any_else = value
746
+
747
+
748
+ else:
749
+ pattern_matching_result = 1
750
+ any_else = value
751
+
752
+
753
+ else:
754
+ pattern_matching_result = 1
755
+ any_else = value
756
+
757
+
758
+ else:
759
+ pattern_matching_result = 1
760
+ any_else = value
761
+
762
+
763
+ else:
764
+ pattern_matching_result = 1
765
+ any_else = value
766
+
767
+ if pattern_matching_result == 0:
768
+ return (decoder_a(a), decoder_b(b), decoder_c(c), decoder_d(d))
769
+
770
+ elif pattern_matching_result == 1:
771
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple4")(any_else) + "\\nParameter name: ") + "value")
772
+
773
+
774
+
775
+ def tuple5(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], decoder_c: Callable[[YAMLElement], _C], decoder_d: Callable[[YAMLElement], _D], decoder_e: Callable[[YAMLElement], _E], value: YAMLElement) -> tuple[_A, _B, _C, _D, _E]:
776
+ (pattern_matching_result, a, b, c, d, e, any_else) = (None, None, None, None, None, None, None)
777
+ if value.tag == 3:
778
+ if not is_empty(value.fields[0]):
779
+ if head(value.fields[0]).tag == 2:
780
+ if not is_empty(head(value.fields[0]).fields[0]):
781
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
782
+ if not is_empty(tail(tail(head(value.fields[0]).fields[0]))):
783
+ if not is_empty(tail(tail(tail(head(value.fields[0]).fields[0])))):
784
+ if not is_empty(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))):
785
+ if is_empty(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))):
786
+ if is_empty(tail(value.fields[0])):
787
+ pattern_matching_result = 0
788
+ a = head(head(value.fields[0]).fields[0])
789
+ b = head(tail(head(value.fields[0]).fields[0]))
790
+ c = head(tail(tail(head(value.fields[0]).fields[0])))
791
+ d = head(tail(tail(tail(head(value.fields[0]).fields[0]))))
792
+ e = head(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))
793
+
794
+ else:
795
+ pattern_matching_result = 1
796
+ any_else = value
797
+
798
+
799
+ else:
800
+ pattern_matching_result = 1
801
+ any_else = value
802
+
803
+
804
+ else:
805
+ pattern_matching_result = 1
806
+ any_else = value
807
+
808
+
809
+ else:
810
+ pattern_matching_result = 1
811
+ any_else = value
812
+
813
+
814
+ else:
815
+ pattern_matching_result = 1
816
+ any_else = value
817
+
818
+
819
+ else:
820
+ pattern_matching_result = 1
821
+ any_else = value
822
+
823
+
824
+ else:
825
+ pattern_matching_result = 1
826
+ any_else = value
827
+
828
+
829
+ else:
830
+ pattern_matching_result = 1
831
+ any_else = value
832
+
833
+
834
+ else:
835
+ pattern_matching_result = 1
836
+ any_else = value
837
+
838
+
839
+ elif value.tag == 2:
840
+ if not is_empty(value.fields[0]):
841
+ if not is_empty(tail(value.fields[0])):
842
+ if not is_empty(tail(tail(value.fields[0]))):
843
+ if not is_empty(tail(tail(tail(value.fields[0])))):
844
+ if not is_empty(tail(tail(tail(tail(value.fields[0]))))):
845
+ if is_empty(tail(tail(tail(tail(tail(value.fields[0])))))):
846
+ pattern_matching_result = 0
847
+ a = head(value.fields[0])
848
+ b = head(tail(value.fields[0]))
849
+ c = head(tail(tail(value.fields[0])))
850
+ d = head(tail(tail(tail(value.fields[0]))))
851
+ e = head(tail(tail(tail(tail(value.fields[0])))))
852
+
853
+ else:
854
+ pattern_matching_result = 1
855
+ any_else = value
856
+
857
+
858
+ else:
859
+ pattern_matching_result = 1
860
+ any_else = value
861
+
862
+
863
+ else:
864
+ pattern_matching_result = 1
865
+ any_else = value
866
+
867
+
868
+ else:
869
+ pattern_matching_result = 1
870
+ any_else = value
871
+
872
+
873
+ else:
874
+ pattern_matching_result = 1
875
+ any_else = value
876
+
877
+
878
+ else:
879
+ pattern_matching_result = 1
880
+ any_else = value
881
+
882
+
883
+ else:
884
+ pattern_matching_result = 1
885
+ any_else = value
886
+
887
+ if pattern_matching_result == 0:
888
+ return (decoder_a(a), decoder_b(b), decoder_c(c), decoder_d(d), decoder_e(e))
889
+
890
+ elif pattern_matching_result == 1:
891
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple5")(any_else) + "\\nParameter name: ") + "value")
892
+
893
+
894
+
895
+ def tuple6(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], decoder_c: Callable[[YAMLElement], _C], decoder_d: Callable[[YAMLElement], _D], decoder_e: Callable[[YAMLElement], _E], decoder_f: Callable[[YAMLElement], _F], value: YAMLElement) -> tuple[_A, _B, _C, _D, _E, _F]:
896
+ (pattern_matching_result, a, b, c, d, e, f, any_else) = (None, None, None, None, None, None, None, None)
897
+ if value.tag == 3:
898
+ if not is_empty(value.fields[0]):
899
+ if head(value.fields[0]).tag == 2:
900
+ if not is_empty(head(value.fields[0]).fields[0]):
901
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
902
+ if not is_empty(tail(tail(head(value.fields[0]).fields[0]))):
903
+ if not is_empty(tail(tail(tail(head(value.fields[0]).fields[0])))):
904
+ if not is_empty(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))):
905
+ if not is_empty(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))):
906
+ if is_empty(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))):
907
+ if is_empty(tail(value.fields[0])):
908
+ pattern_matching_result = 0
909
+ a = head(head(value.fields[0]).fields[0])
910
+ b = head(tail(head(value.fields[0]).fields[0]))
911
+ c = head(tail(tail(head(value.fields[0]).fields[0])))
912
+ d = head(tail(tail(tail(head(value.fields[0]).fields[0]))))
913
+ e = head(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))
914
+ f = head(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))
915
+
916
+ else:
917
+ pattern_matching_result = 1
918
+ any_else = value
919
+
920
+
921
+ else:
922
+ pattern_matching_result = 1
923
+ any_else = value
924
+
925
+
926
+ else:
927
+ pattern_matching_result = 1
928
+ any_else = value
929
+
930
+
931
+ else:
932
+ pattern_matching_result = 1
933
+ any_else = value
934
+
935
+
936
+ else:
937
+ pattern_matching_result = 1
938
+ any_else = value
939
+
940
+
941
+ else:
942
+ pattern_matching_result = 1
943
+ any_else = value
944
+
945
+
946
+ else:
947
+ pattern_matching_result = 1
948
+ any_else = value
949
+
950
+
951
+ else:
952
+ pattern_matching_result = 1
953
+ any_else = value
954
+
955
+
956
+ else:
957
+ pattern_matching_result = 1
958
+ any_else = value
959
+
960
+
961
+ else:
962
+ pattern_matching_result = 1
963
+ any_else = value
964
+
965
+
966
+ elif value.tag == 2:
967
+ if not is_empty(value.fields[0]):
968
+ if not is_empty(tail(value.fields[0])):
969
+ if not is_empty(tail(tail(value.fields[0]))):
970
+ if not is_empty(tail(tail(tail(value.fields[0])))):
971
+ if not is_empty(tail(tail(tail(tail(value.fields[0]))))):
972
+ if not is_empty(tail(tail(tail(tail(tail(value.fields[0])))))):
973
+ if is_empty(tail(tail(tail(tail(tail(tail(value.fields[0]))))))):
974
+ pattern_matching_result = 0
975
+ a = head(value.fields[0])
976
+ b = head(tail(value.fields[0]))
977
+ c = head(tail(tail(value.fields[0])))
978
+ d = head(tail(tail(tail(value.fields[0]))))
979
+ e = head(tail(tail(tail(tail(value.fields[0])))))
980
+ f = head(tail(tail(tail(tail(tail(value.fields[0]))))))
981
+
982
+ else:
983
+ pattern_matching_result = 1
984
+ any_else = value
985
+
986
+
987
+ else:
988
+ pattern_matching_result = 1
989
+ any_else = value
990
+
991
+
992
+ else:
993
+ pattern_matching_result = 1
994
+ any_else = value
995
+
996
+
997
+ else:
998
+ pattern_matching_result = 1
999
+ any_else = value
1000
+
1001
+
1002
+ else:
1003
+ pattern_matching_result = 1
1004
+ any_else = value
1005
+
1006
+
1007
+ else:
1008
+ pattern_matching_result = 1
1009
+ any_else = value
1010
+
1011
+
1012
+ else:
1013
+ pattern_matching_result = 1
1014
+ any_else = value
1015
+
1016
+
1017
+ else:
1018
+ pattern_matching_result = 1
1019
+ any_else = value
1020
+
1021
+ if pattern_matching_result == 0:
1022
+ return (decoder_a(a), decoder_b(b), decoder_c(c), decoder_d(d), decoder_e(e), decoder_f(f))
1023
+
1024
+ elif pattern_matching_result == 1:
1025
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple6")(any_else) + "\\nParameter name: ") + "value")
1026
+
1027
+
1028
+
1029
+ def tuple7(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], decoder_c: Callable[[YAMLElement], _C], decoder_d: Callable[[YAMLElement], _D], decoder_e: Callable[[YAMLElement], _E], decoder_f: Callable[[YAMLElement], _F], decoder_g: Callable[[YAMLElement], _G], value: YAMLElement) -> tuple[_A, _B, _C, _D, _E, _F, _G]:
1030
+ (pattern_matching_result, a, b, c, d, e, f, g, any_else) = (None, None, None, None, None, None, None, None, None)
1031
+ if value.tag == 3:
1032
+ if not is_empty(value.fields[0]):
1033
+ if head(value.fields[0]).tag == 2:
1034
+ if not is_empty(head(value.fields[0]).fields[0]):
1035
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
1036
+ if not is_empty(tail(tail(head(value.fields[0]).fields[0]))):
1037
+ if not is_empty(tail(tail(tail(head(value.fields[0]).fields[0])))):
1038
+ if not is_empty(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))):
1039
+ if not is_empty(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))):
1040
+ if not is_empty(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))):
1041
+ if is_empty(tail(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))))):
1042
+ if is_empty(tail(value.fields[0])):
1043
+ pattern_matching_result = 0
1044
+ a = head(head(value.fields[0]).fields[0])
1045
+ b = head(tail(head(value.fields[0]).fields[0]))
1046
+ c = head(tail(tail(head(value.fields[0]).fields[0])))
1047
+ d = head(tail(tail(tail(head(value.fields[0]).fields[0]))))
1048
+ e = head(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))
1049
+ f = head(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))
1050
+ g = head(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))))
1051
+
1052
+ else:
1053
+ pattern_matching_result = 1
1054
+ any_else = value
1055
+
1056
+
1057
+ else:
1058
+ pattern_matching_result = 1
1059
+ any_else = value
1060
+
1061
+
1062
+ else:
1063
+ pattern_matching_result = 1
1064
+ any_else = value
1065
+
1066
+
1067
+ else:
1068
+ pattern_matching_result = 1
1069
+ any_else = value
1070
+
1071
+
1072
+ else:
1073
+ pattern_matching_result = 1
1074
+ any_else = value
1075
+
1076
+
1077
+ else:
1078
+ pattern_matching_result = 1
1079
+ any_else = value
1080
+
1081
+
1082
+ else:
1083
+ pattern_matching_result = 1
1084
+ any_else = value
1085
+
1086
+
1087
+ else:
1088
+ pattern_matching_result = 1
1089
+ any_else = value
1090
+
1091
+
1092
+ else:
1093
+ pattern_matching_result = 1
1094
+ any_else = value
1095
+
1096
+
1097
+ else:
1098
+ pattern_matching_result = 1
1099
+ any_else = value
1100
+
1101
+
1102
+ else:
1103
+ pattern_matching_result = 1
1104
+ any_else = value
1105
+
1106
+
1107
+ elif value.tag == 2:
1108
+ if not is_empty(value.fields[0]):
1109
+ if not is_empty(tail(value.fields[0])):
1110
+ if not is_empty(tail(tail(value.fields[0]))):
1111
+ if not is_empty(tail(tail(tail(value.fields[0])))):
1112
+ if not is_empty(tail(tail(tail(tail(value.fields[0]))))):
1113
+ if not is_empty(tail(tail(tail(tail(tail(value.fields[0])))))):
1114
+ if not is_empty(tail(tail(tail(tail(tail(tail(value.fields[0]))))))):
1115
+ if is_empty(tail(tail(tail(tail(tail(tail(tail(value.fields[0])))))))):
1116
+ pattern_matching_result = 0
1117
+ a = head(value.fields[0])
1118
+ b = head(tail(value.fields[0]))
1119
+ c = head(tail(tail(value.fields[0])))
1120
+ d = head(tail(tail(tail(value.fields[0]))))
1121
+ e = head(tail(tail(tail(tail(value.fields[0])))))
1122
+ f = head(tail(tail(tail(tail(tail(value.fields[0]))))))
1123
+ g = head(tail(tail(tail(tail(tail(tail(value.fields[0])))))))
1124
+
1125
+ else:
1126
+ pattern_matching_result = 1
1127
+ any_else = value
1128
+
1129
+
1130
+ else:
1131
+ pattern_matching_result = 1
1132
+ any_else = value
1133
+
1134
+
1135
+ else:
1136
+ pattern_matching_result = 1
1137
+ any_else = value
1138
+
1139
+
1140
+ else:
1141
+ pattern_matching_result = 1
1142
+ any_else = value
1143
+
1144
+
1145
+ else:
1146
+ pattern_matching_result = 1
1147
+ any_else = value
1148
+
1149
+
1150
+ else:
1151
+ pattern_matching_result = 1
1152
+ any_else = value
1153
+
1154
+
1155
+ else:
1156
+ pattern_matching_result = 1
1157
+ any_else = value
1158
+
1159
+
1160
+ else:
1161
+ pattern_matching_result = 1
1162
+ any_else = value
1163
+
1164
+
1165
+ else:
1166
+ pattern_matching_result = 1
1167
+ any_else = value
1168
+
1169
+ if pattern_matching_result == 0:
1170
+ return (decoder_a(a), decoder_b(b), decoder_c(c), decoder_d(d), decoder_e(e), decoder_f(f), decoder_g(g))
1171
+
1172
+ elif pattern_matching_result == 1:
1173
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple7")(any_else) + "\\nParameter name: ") + "value")
1174
+
1175
+
1176
+
1177
+ def tuple8(decoder_a: Callable[[YAMLElement], _A], decoder_b: Callable[[YAMLElement], _B], decoder_c: Callable[[YAMLElement], _C], decoder_d: Callable[[YAMLElement], _D], decoder_e: Callable[[YAMLElement], _E], decoder_f: Callable[[YAMLElement], _F], decoder_g: Callable[[YAMLElement], _G], decoder_h: Callable[[YAMLElement], _H], value: YAMLElement) -> tuple[_A, _B, _C, _D, _E, _F, _G, _H]:
1178
+ (pattern_matching_result, a, b, c, d, e, f, g, h, any_else) = (None, None, None, None, None, None, None, None, None, None)
1179
+ if value.tag == 3:
1180
+ if not is_empty(value.fields[0]):
1181
+ if head(value.fields[0]).tag == 2:
1182
+ if not is_empty(head(value.fields[0]).fields[0]):
1183
+ if not is_empty(tail(head(value.fields[0]).fields[0])):
1184
+ if not is_empty(tail(tail(head(value.fields[0]).fields[0]))):
1185
+ if not is_empty(tail(tail(tail(head(value.fields[0]).fields[0])))):
1186
+ if not is_empty(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))):
1187
+ if not is_empty(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))):
1188
+ if not is_empty(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))):
1189
+ if not is_empty(tail(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))))):
1190
+ if is_empty(tail(tail(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))))):
1191
+ if is_empty(tail(value.fields[0])):
1192
+ pattern_matching_result = 0
1193
+ a = head(head(value.fields[0]).fields[0])
1194
+ b = head(tail(head(value.fields[0]).fields[0]))
1195
+ c = head(tail(tail(head(value.fields[0]).fields[0])))
1196
+ d = head(tail(tail(tail(head(value.fields[0]).fields[0]))))
1197
+ e = head(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))
1198
+ f = head(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))
1199
+ g = head(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0])))))))
1200
+ h = head(tail(tail(tail(tail(tail(tail(tail(head(value.fields[0]).fields[0]))))))))
1201
+
1202
+ else:
1203
+ pattern_matching_result = 1
1204
+ any_else = value
1205
+
1206
+
1207
+ else:
1208
+ pattern_matching_result = 1
1209
+ any_else = value
1210
+
1211
+
1212
+ else:
1213
+ pattern_matching_result = 1
1214
+ any_else = value
1215
+
1216
+
1217
+ else:
1218
+ pattern_matching_result = 1
1219
+ any_else = value
1220
+
1221
+
1222
+ else:
1223
+ pattern_matching_result = 1
1224
+ any_else = value
1225
+
1226
+
1227
+ else:
1228
+ pattern_matching_result = 1
1229
+ any_else = value
1230
+
1231
+
1232
+ else:
1233
+ pattern_matching_result = 1
1234
+ any_else = value
1235
+
1236
+
1237
+ else:
1238
+ pattern_matching_result = 1
1239
+ any_else = value
1240
+
1241
+
1242
+ else:
1243
+ pattern_matching_result = 1
1244
+ any_else = value
1245
+
1246
+
1247
+ else:
1248
+ pattern_matching_result = 1
1249
+ any_else = value
1250
+
1251
+
1252
+ else:
1253
+ pattern_matching_result = 1
1254
+ any_else = value
1255
+
1256
+
1257
+ else:
1258
+ pattern_matching_result = 1
1259
+ any_else = value
1260
+
1261
+
1262
+ elif value.tag == 2:
1263
+ if not is_empty(value.fields[0]):
1264
+ if not is_empty(tail(value.fields[0])):
1265
+ if not is_empty(tail(tail(value.fields[0]))):
1266
+ if not is_empty(tail(tail(tail(value.fields[0])))):
1267
+ if not is_empty(tail(tail(tail(tail(value.fields[0]))))):
1268
+ if not is_empty(tail(tail(tail(tail(tail(value.fields[0])))))):
1269
+ if not is_empty(tail(tail(tail(tail(tail(tail(value.fields[0]))))))):
1270
+ if not is_empty(tail(tail(tail(tail(tail(tail(tail(value.fields[0])))))))):
1271
+ if is_empty(tail(tail(tail(tail(tail(tail(tail(tail(value.fields[0]))))))))):
1272
+ pattern_matching_result = 0
1273
+ a = head(value.fields[0])
1274
+ b = head(tail(value.fields[0]))
1275
+ c = head(tail(tail(value.fields[0])))
1276
+ d = head(tail(tail(tail(value.fields[0]))))
1277
+ e = head(tail(tail(tail(tail(value.fields[0])))))
1278
+ f = head(tail(tail(tail(tail(tail(value.fields[0]))))))
1279
+ g = head(tail(tail(tail(tail(tail(tail(value.fields[0])))))))
1280
+ h = head(tail(tail(tail(tail(tail(tail(tail(value.fields[0]))))))))
1281
+
1282
+ else:
1283
+ pattern_matching_result = 1
1284
+ any_else = value
1285
+
1286
+
1287
+ else:
1288
+ pattern_matching_result = 1
1289
+ any_else = value
1290
+
1291
+
1292
+ else:
1293
+ pattern_matching_result = 1
1294
+ any_else = value
1295
+
1296
+
1297
+ else:
1298
+ pattern_matching_result = 1
1299
+ any_else = value
1300
+
1301
+
1302
+ else:
1303
+ pattern_matching_result = 1
1304
+ any_else = value
1305
+
1306
+
1307
+ else:
1308
+ pattern_matching_result = 1
1309
+ any_else = value
1310
+
1311
+
1312
+ else:
1313
+ pattern_matching_result = 1
1314
+ any_else = value
1315
+
1316
+
1317
+ else:
1318
+ pattern_matching_result = 1
1319
+ any_else = value
1320
+
1321
+
1322
+ else:
1323
+ pattern_matching_result = 1
1324
+ any_else = value
1325
+
1326
+
1327
+ else:
1328
+ pattern_matching_result = 1
1329
+ any_else = value
1330
+
1331
+ if pattern_matching_result == 0:
1332
+ return (decoder_a(a), decoder_b(b), decoder_c(c), decoder_d(d), decoder_e(e), decoder_f(f), decoder_g(g), decoder_h(h))
1333
+
1334
+ elif pattern_matching_result == 1:
1335
+ raise Exception((to_text(printf("%s: %A"))("Expected a tuple8")(any_else) + "\\nParameter name: ") + "value")
1336
+
1337
+
1338
+
1339
+ def list_1(decoder: Callable[[YAMLElement], _A], value: YAMLElement) -> FSharpList[Any]:
1340
+ (pattern_matching_result, v, any_else) = (None, None, None)
1341
+ if value.tag == 2:
1342
+ pattern_matching_result = 0
1343
+ v = value.fields[0]
1344
+
1345
+ elif value.tag == 3:
1346
+ if not is_empty(value.fields[0]):
1347
+ if head(value.fields[0]).tag == 2:
1348
+ if is_empty(tail(value.fields[0])):
1349
+ pattern_matching_result = 0
1350
+ v = head(value.fields[0]).fields[0]
1351
+
1352
+ else:
1353
+ pattern_matching_result = 1
1354
+ any_else = value
1355
+
1356
+
1357
+ else:
1358
+ pattern_matching_result = 1
1359
+ any_else = value
1360
+
1361
+
1362
+ else:
1363
+ pattern_matching_result = 1
1364
+ any_else = value
1365
+
1366
+
1367
+ else:
1368
+ pattern_matching_result = 1
1369
+ any_else = value
1370
+
1371
+ if pattern_matching_result == 0:
1372
+ return map_1(decoder, v)
1373
+
1374
+ elif pattern_matching_result == 1:
1375
+ raise Exception((to_text(printf("%s: %A"))("Expected a list")(any_else) + "\\nParameter name: ") + "value")
1376
+
1377
+
1378
+
1379
+ def array(decoder: Callable[[YAMLElement], _A], value: YAMLElement) -> Array[Any]:
1380
+ (pattern_matching_result, v, any_else) = (None, None, None)
1381
+ if value.tag == 2:
1382
+ pattern_matching_result = 0
1383
+ v = value.fields[0]
1384
+
1385
+ elif value.tag == 3:
1386
+ if not is_empty(value.fields[0]):
1387
+ if head(value.fields[0]).tag == 2:
1388
+ if is_empty(tail(value.fields[0])):
1389
+ pattern_matching_result = 0
1390
+ v = head(value.fields[0]).fields[0]
1391
+
1392
+ else:
1393
+ pattern_matching_result = 1
1394
+ any_else = value
1395
+
1396
+
1397
+ else:
1398
+ pattern_matching_result = 1
1399
+ any_else = value
1400
+
1401
+
1402
+ else:
1403
+ pattern_matching_result = 1
1404
+ any_else = value
1405
+
1406
+
1407
+ else:
1408
+ pattern_matching_result = 1
1409
+ any_else = value
1410
+
1411
+ if pattern_matching_result == 0:
1412
+ return to_array(map_1(decoder, v))
1413
+
1414
+ elif pattern_matching_result == 1:
1415
+ raise Exception((to_text(printf("%s: %A"))("Expected an array")(any_else) + "\\nParameter name: ") + "value")
1416
+
1417
+
1418
+
1419
+ def seq(decoder: Callable[[YAMLElement], _A], value: YAMLElement) -> IEnumerable_1[Any]:
1420
+ (pattern_matching_result, v, any_else) = (None, None, None)
1421
+ if value.tag == 2:
1422
+ pattern_matching_result = 0
1423
+ v = value.fields[0]
1424
+
1425
+ elif value.tag == 3:
1426
+ if not is_empty(value.fields[0]):
1427
+ if head(value.fields[0]).tag == 2:
1428
+ if is_empty(tail(value.fields[0])):
1429
+ pattern_matching_result = 0
1430
+ v = head(value.fields[0]).fields[0]
1431
+
1432
+ else:
1433
+ pattern_matching_result = 1
1434
+ any_else = value
1435
+
1436
+
1437
+ else:
1438
+ pattern_matching_result = 1
1439
+ any_else = value
1440
+
1441
+
1442
+ else:
1443
+ pattern_matching_result = 1
1444
+ any_else = value
1445
+
1446
+
1447
+ else:
1448
+ pattern_matching_result = 1
1449
+ any_else = value
1450
+
1451
+ if pattern_matching_result == 0:
1452
+ return map_2(decoder, v)
1453
+
1454
+ elif pattern_matching_result == 1:
1455
+ raise Exception((to_text(printf("%s: %A"))("Expected a seq")(any_else) + "\\nParameter name: ") + "value")
1456
+
1457
+
1458
+
1459
+ def resizearray(decoder: Callable[[YAMLElement], _A], value: YAMLElement) -> Array[Any]:
1460
+ (pattern_matching_result, v, any_else) = (None, None, None)
1461
+ if value.tag == 2:
1462
+ pattern_matching_result = 0
1463
+ v = value.fields[0]
1464
+
1465
+ elif value.tag == 3:
1466
+ if not is_empty(value.fields[0]):
1467
+ if head(value.fields[0]).tag == 2:
1468
+ if is_empty(tail(value.fields[0])):
1469
+ pattern_matching_result = 0
1470
+ v = head(value.fields[0]).fields[0]
1471
+
1472
+ else:
1473
+ pattern_matching_result = 1
1474
+ any_else = value
1475
+
1476
+
1477
+ else:
1478
+ pattern_matching_result = 1
1479
+ any_else = value
1480
+
1481
+
1482
+ else:
1483
+ pattern_matching_result = 1
1484
+ any_else = value
1485
+
1486
+
1487
+ else:
1488
+ pattern_matching_result = 1
1489
+ any_else = value
1490
+
1491
+ if pattern_matching_result == 0:
1492
+ return list(map_1(decoder, v))
1493
+
1494
+ elif pattern_matching_result == 1:
1495
+ raise Exception((to_text(printf("%s: %A"))("Expected a resizearray")(any_else) + "\\nParameter name: ") + "value")
1496
+
1497
+
1498
+
1499
+ def values(decoder: Callable[[YAMLElement], _A], value: YAMLElement) -> FSharpList[Any]:
1500
+ (pattern_matching_result, v, any_else_1) = (None, None, None)
1501
+ if value.tag == 2:
1502
+ pattern_matching_result = 0
1503
+ v = value.fields[0]
1504
+
1505
+ elif value.tag == 3:
1506
+ if not is_empty(value.fields[0]):
1507
+ if head(value.fields[0]).tag == 2:
1508
+ if is_empty(tail(value.fields[0])):
1509
+ pattern_matching_result = 0
1510
+ v = head(value.fields[0]).fields[0]
1511
+
1512
+ else:
1513
+ pattern_matching_result = 0
1514
+ v = value.fields[0]
1515
+
1516
+
1517
+ else:
1518
+ pattern_matching_result = 0
1519
+ v = value.fields[0]
1520
+
1521
+
1522
+ else:
1523
+ pattern_matching_result = 0
1524
+ v = value.fields[0]
1525
+
1526
+
1527
+ else:
1528
+ pattern_matching_result = 1
1529
+ any_else_1 = value
1530
+
1531
+ if pattern_matching_result == 0:
1532
+ def mapping(_arg: YAMLElement, decoder: Any=decoder, value: Any=value) -> _A:
1533
+ if _arg.tag == 1:
1534
+ return decoder(_arg)
1535
+
1536
+ else:
1537
+ raise Exception((to_text(printf("%s: %A"))("Expected a values")(_arg) + "\\nParameter name: ") + "value")
1538
+
1539
+
1540
+ return map_1(mapping, v)
1541
+
1542
+ elif pattern_matching_result == 1:
1543
+ raise Exception((to_text(printf("%s: %A"))("Expected a values")(any_else_1) + "\\nParameter name: ") + "value")
1544
+
1545
+
1546
+
1547
+ class IRequiredGetter(Protocol):
1548
+ @abstractmethod
1549
+ def Field(self, __arg0: str, __arg1: Callable[[YAMLElement], _A]) -> _A:
1550
+ ...
1551
+
1552
+
1553
+ class IOptionalGetter(Protocol):
1554
+ @abstractmethod
1555
+ def Field(self, __arg0: str, __arg1: Callable[[YAMLElement], _A]) -> _A | None:
1556
+ ...
1557
+
1558
+
1559
+ class IMultipleOptionalGetter(Protocol):
1560
+ @abstractmethod
1561
+ def FieldList(self, __arg0: FSharpList[str]) -> Any:
1562
+ ...
1563
+
1564
+
1565
+ class IOverflowGetter(Protocol):
1566
+ @abstractmethod
1567
+ def FieldList(self, __arg0: FSharpList[str]) -> Any:
1568
+ ...
1569
+
1570
+
1571
+ class IGetters(Protocol):
1572
+ @property
1573
+ @abstractmethod
1574
+ def MultipleOptional(self) -> IMultipleOptionalGetter:
1575
+ ...
1576
+
1577
+ @property
1578
+ @abstractmethod
1579
+ def Optional(self) -> IOptionalGetter:
1580
+ ...
1581
+
1582
+ @property
1583
+ @abstractmethod
1584
+ def Overflow(self) -> IOverflowGetter:
1585
+ ...
1586
+
1587
+ @property
1588
+ @abstractmethod
1589
+ def Required(self) -> IRequiredGetter:
1590
+ ...
1591
+
1592
+
1593
+ def _expr692() -> TypeInfo:
1594
+ return class_type("YAMLicious.Decode.Getter", None, Getter)
1595
+
1596
+
1597
+ class Getter:
1598
+ def __init__(self, ele: YAMLElement) -> None:
1599
+ def _arrow685(__unit: None=None) -> IRequiredGetter:
1600
+ _this: Any = self
1601
+ class ObjectExpr684(IRequiredGetter):
1602
+ def Field(self, field_name: str, dec: Callable[[YAMLElement], __A_]) -> Any:
1603
+ if ele.tag == 3:
1604
+ def mapping(_arg_1: YAMLElement) -> __A_:
1605
+ if _arg_1.tag == 0:
1606
+ return dec(_arg_1.fields[1])
1607
+
1608
+ else:
1609
+ raise Exception((to_text(printf("%s: %A"))("Expected a mapping")(ele) + "\\nParameter name: ") + "value")
1610
+
1611
+
1612
+ def predicate(_arg: YAMLElement) -> bool:
1613
+ if _arg.tag == 0:
1614
+ return _arg.fields[0].Value == field_name
1615
+
1616
+ else:
1617
+ return False
1618
+
1619
+
1620
+ x: __A_ | None = map_3(mapping, try_find(predicate, ele.fields[0]))
1621
+ if x is None:
1622
+ def _arrow683(__unit: None=None) -> str:
1623
+ arg_3: str = to_text(printf("Field not found: %s"))(field_name)
1624
+ return to_text(printf("%s: %A"))(arg_3)(ele)
1625
+
1626
+ raise Exception((_arrow683() + "\\nParameter name: ") + "value")
1627
+
1628
+ else:
1629
+ return value_1(x)
1630
+
1631
+
1632
+ else:
1633
+ raise Exception((to_text(printf("%s: %A"))("Expected an object")(ele) + "\\nParameter name: ") + "value")
1634
+
1635
+
1636
+ return ObjectExpr684()
1637
+
1638
+ self.required: IRequiredGetter = _arrow685()
1639
+ def _arrow687(__unit: None=None) -> IOptionalGetter:
1640
+ _this_1: Any = self
1641
+ class ObjectExpr686(IOptionalGetter):
1642
+ def Field(self, field_name_1: str, dec_1: Callable[[YAMLElement], __A_]) -> Any | None:
1643
+ if ele.tag == 3:
1644
+ def mapping_1(_arg_3: YAMLElement) -> __A_:
1645
+ if _arg_3.tag == 0:
1646
+ return dec_1(_arg_3.fields[1])
1647
+
1648
+ else:
1649
+ raise Exception((to_text(printf("%s: %A"))("Expected a mapping")(ele) + "\\nParameter name: ") + "value")
1650
+
1651
+
1652
+ def predicate_1(_arg_2: YAMLElement) -> bool:
1653
+ if _arg_2.tag == 0:
1654
+ return _arg_2.fields[0].Value == field_name_1
1655
+
1656
+ else:
1657
+ return False
1658
+
1659
+
1660
+ return map_3(mapping_1, try_find(predicate_1, ele.fields[0]))
1661
+
1662
+ else:
1663
+ raise Exception((to_text(printf("%s: %A"))("Expected an object")(ele) + "\\nParameter name: ") + "value")
1664
+
1665
+
1666
+ return ObjectExpr686()
1667
+
1668
+ self.optional: IOptionalGetter = _arrow687()
1669
+ def _arrow689(__unit: None=None) -> IMultipleOptionalGetter:
1670
+ _this_2: Any = self
1671
+ class ObjectExpr688(IMultipleOptionalGetter):
1672
+ def FieldList(self, field_names: FSharpList[str]) -> Any:
1673
+ if ele.tag == 3:
1674
+ def mapping_2(_arg_5: YAMLElement) -> tuple[str, YAMLElement]:
1675
+ if _arg_5.tag == 0:
1676
+ return (_arg_5.fields[0].Value, _arg_5.fields[1])
1677
+
1678
+ else:
1679
+ raise Exception((to_text(printf("%s: %A"))("Expected a mapping")(ele) + "\\nParameter name: ") + "value")
1680
+
1681
+
1682
+ def predicate_3(_arg_4: YAMLElement) -> bool:
1683
+ if _arg_4.tag == 0:
1684
+ def predicate_2(x_1: str, _arg_4: Any=_arg_4) -> bool:
1685
+ return x_1 == _arg_4.fields[0].Value
1686
+
1687
+ return exists(predicate_2, field_names)
1688
+
1689
+ else:
1690
+ return False
1691
+
1692
+
1693
+ overflow: FSharpList[tuple[str, YAMLElement]] = map_1(mapping_2, filter(predicate_3, ele.fields[0]))
1694
+ dict_2: Any = dict([])
1695
+ def action(tupled_arg: tuple[str, YAMLElement]) -> None:
1696
+ add_to_dict(dict_2, tupled_arg[0], tupled_arg[1])
1697
+
1698
+ iterate(action, overflow)
1699
+ return dict_2
1700
+
1701
+ else:
1702
+ raise Exception((to_text(printf("%s: %A"))("Expected an object")(ele) + "\\nParameter name: ") + "value")
1703
+
1704
+
1705
+ return ObjectExpr688()
1706
+
1707
+ self.multiple_optional: IMultipleOptionalGetter = _arrow689()
1708
+ def _arrow691(__unit: None=None) -> IOverflowGetter:
1709
+ _this_3: Any = self
1710
+ class ObjectExpr690(IOverflowGetter):
1711
+ def FieldList(self, field_names_1: FSharpList[str]) -> Any:
1712
+ if ele.tag == 3:
1713
+ def mapping_3(_arg_7: YAMLElement) -> tuple[str, YAMLElement]:
1714
+ if _arg_7.tag == 0:
1715
+ return (_arg_7.fields[0].Value, _arg_7.fields[1])
1716
+
1717
+ else:
1718
+ raise Exception((to_text(printf("%s: %A"))("Expected a mapping")(ele) + "\\nParameter name: ") + "value")
1719
+
1720
+
1721
+ def predicate_5(_arg_6: YAMLElement) -> bool:
1722
+ if _arg_6.tag == 0:
1723
+ def predicate_4(x_2: str, _arg_6: Any=_arg_6) -> bool:
1724
+ return x_2 == _arg_6.fields[0].Value
1725
+
1726
+ return not exists(predicate_4, field_names_1)
1727
+
1728
+ else:
1729
+ return False
1730
+
1731
+
1732
+ overflow_1: FSharpList[tuple[str, YAMLElement]] = map_1(mapping_3, filter(predicate_5, ele.fields[0]))
1733
+ dict_3: Any = dict([])
1734
+ def action_1(tupled_arg_1: tuple[str, YAMLElement]) -> None:
1735
+ add_to_dict(dict_3, tupled_arg_1[0], tupled_arg_1[1])
1736
+
1737
+ iterate(action_1, overflow_1)
1738
+ return dict_3
1739
+
1740
+ else:
1741
+ raise Exception((to_text(printf("%s: %A"))("Expected an object")(ele) + "\\nParameter name: ") + "value")
1742
+
1743
+
1744
+ return ObjectExpr690()
1745
+
1746
+ self.overflow: IOverflowGetter = _arrow691()
1747
+
1748
+ @property
1749
+ def Required(self, __unit: None=None) -> IRequiredGetter:
1750
+ __: Getter = self
1751
+ return __.required
1752
+
1753
+ @property
1754
+ def Optional(self, __unit: None=None) -> IOptionalGetter:
1755
+ __: Getter = self
1756
+ return __.optional
1757
+
1758
+ @property
1759
+ def MultipleOptional(self, __unit: None=None) -> IMultipleOptionalGetter:
1760
+ __: Getter = self
1761
+ return __.multiple_optional
1762
+
1763
+ @property
1764
+ def Overflow(self, __unit: None=None) -> IOverflowGetter:
1765
+ __: Getter = self
1766
+ return __.overflow
1767
+
1768
+
1769
+ Getter_reflection = _expr692
1770
+
1771
+ def Getter__ctor_D9C929(ele: YAMLElement) -> Getter:
1772
+ return Getter(ele)
1773
+
1774
+
1775
+ def object(getter: Callable[[IGetters], _A], value: YAMLElement) -> Any:
1776
+ return getter(Getter__ctor_D9C929(value))
1777
+
1778
+
1779
+ def read(yaml: str) -> YAMLElement:
1780
+ return read_1(yaml)
1781
+
1782
+
1783
+ __all__ = ["Helper_isString", "int_1", "float_1", "char", "bool_1", "map", "dict_1", "datetime", "datetime_offset", "option", "string", "tuple2", "tuple3", "tuple4", "tuple5", "tuple6", "tuple7", "tuple8", "list_1", "array", "seq", "resizearray", "values", "Getter_reflection", "object", "read"]
1784
+