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,415 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ..fable_library.list import (FSharpList, is_empty, reduce)
5
+ from ..fable_library.map_util import add_to_dict
6
+ from ..fable_library.mutable_map import Dictionary
7
+ from ..fable_library.option import (map, value as value_2, default_arg)
8
+ from ..fable_library.reflection import (TypeInfo, class_type)
9
+ from ..fable_library.seq import (filter, choose, map as map_1, iterate, sort_by, to_list, delay, enumerate_while, singleton)
10
+ from ..fable_library.util import (IEnumerable_1, safe_hash, compare_primitives, is_iterable, get_enumerator, IEnumerator, equals, structural_hash, dispose, is_array_like)
11
+ from .fable_py import (try_get_dynamic_property_helper, get_property_helpers)
12
+ from .hash_codes import (box_hash_key_val_seq_by, hash_1 as hash_1_1, merge_hashes)
13
+ from .property_helper import PropertyHelper
14
+ from .reflection_utils import try_get_static_property_info
15
+
16
+ def _expr27() -> TypeInfo:
17
+ return class_type("DynamicObj.DynamicObj", None, DynamicObj)
18
+
19
+
20
+ class DynamicObj:
21
+ def __init__(self, __unit: None=None) -> None:
22
+ self.properties: Any = dict([])
23
+
24
+ @property
25
+ def Properties(self, __unit: None=None) -> Any:
26
+ this: DynamicObj = self
27
+ return this.properties
28
+
29
+ @Properties.setter
30
+ def Properties(self, value: Any) -> None:
31
+ this: DynamicObj = self
32
+ this.properties = value
33
+
34
+ @staticmethod
35
+ def of_dict(dynamic_properties: Any) -> DynamicObj:
36
+ obj: DynamicObj = DynamicObj()
37
+ obj.Properties = dynamic_properties
38
+ return obj
39
+
40
+ def TryGetStaticPropertyHelper(self, property_name: str) -> PropertyHelper | None:
41
+ this: DynamicObj = self
42
+ return try_get_static_property_info(this, property_name)
43
+
44
+ def TryGetDynamicPropertyHelper(self, property_name: str) -> PropertyHelper | None:
45
+ this: DynamicObj = self
46
+ return try_get_dynamic_property_helper(this, property_name)
47
+
48
+ def TryGetPropertyHelper(self, property_name: str) -> PropertyHelper | None:
49
+ this: DynamicObj = self
50
+ match_value: PropertyHelper | None = this.TryGetStaticPropertyHelper(property_name)
51
+ return this.TryGetDynamicPropertyHelper(property_name) if (match_value is None) else match_value
52
+
53
+ def TryGetPropertyValue(self, property_name: str) -> Any | None:
54
+ this: DynamicObj = self
55
+ def mapping(pi: PropertyHelper) -> Any:
56
+ return pi.GetValue(this)
57
+
58
+ return map(mapping, this.TryGetPropertyHelper(property_name))
59
+
60
+ def GetPropertyValue(self, property_name: str) -> Any:
61
+ this: DynamicObj = self
62
+ match_value: Any | None = this.TryGetPropertyValue(property_name)
63
+ if match_value is None:
64
+ raise Exception(("No dynamic or static property \"" + property_name) + "\" does exist on object.")
65
+
66
+ else:
67
+ return value_2(match_value)
68
+
69
+
70
+ def SetProperty(self, property_name: str, property_value: Any=None) -> None:
71
+ this: DynamicObj = self
72
+ match_value: PropertyHelper | None = this.TryGetStaticPropertyHelper(property_name)
73
+ if match_value is None:
74
+ setattr(this,property_name,property_value)
75
+
76
+ else:
77
+ pi: PropertyHelper = match_value
78
+ if pi.IsMutable:
79
+ pi.SetValue(this, property_value)
80
+
81
+ else:
82
+ raise Exception(("Cannot set value for static, immutable property \"" + property_name) + "\"")
83
+
84
+
85
+
86
+ def RemoveProperty(self, property_name: str) -> bool:
87
+ this: DynamicObj = self
88
+ match_value: PropertyHelper | None = this.TryGetPropertyHelper(property_name)
89
+ if match_value is None:
90
+ return False
91
+
92
+ elif match_value.IsMutable:
93
+ pi_1: PropertyHelper = match_value
94
+ pi_1.RemoveValue(this)
95
+ return True
96
+
97
+ else:
98
+ raise Exception(("Cannot remove value for static, immutable property \"" + property_name) + "\"")
99
+
100
+
101
+ def GetPropertyHelpers(self, include_instance_properties: bool) -> IEnumerable_1[PropertyHelper]:
102
+ this: DynamicObj = self
103
+ def predicate_1(p: PropertyHelper) -> bool:
104
+ return p.Name.lower() != "properties"
105
+
106
+ def predicate(pd: PropertyHelper) -> bool:
107
+ if include_instance_properties:
108
+ return True
109
+
110
+ else:
111
+ return pd.IsDynamic
112
+
113
+
114
+ return filter(predicate_1, filter(predicate, get_property_helpers(this)))
115
+
116
+ def GetProperties(self, include_instance_properties: bool) -> IEnumerable_1[Any]:
117
+ this: DynamicObj = self
118
+ def chooser(kv: PropertyHelper) -> Any | None:
119
+ if kv.Name != "properties":
120
+ return (kv.Name, kv.GetValue(this))
121
+
122
+ else:
123
+ return None
124
+
125
+
126
+ return choose(chooser, this.GetPropertyHelpers(include_instance_properties))
127
+
128
+ def GetPropertyNames(self, include_instance_properties: bool) -> IEnumerable_1[str]:
129
+ this: DynamicObj = self
130
+ def mapping(kv: Any) -> str:
131
+ return kv[0]
132
+
133
+ return map_1(mapping, this.GetProperties(include_instance_properties))
134
+
135
+ def ShallowCopyDynamicPropertiesTo(self, target: Any, over_write: bool | None=None) -> None:
136
+ this: DynamicObj = self
137
+ over_write_1: bool = default_arg(over_write, False)
138
+ def action(kv: Any) -> None:
139
+ match_value: PropertyHelper | None = target.TryGetPropertyHelper(kv[0])
140
+ if match_value is None:
141
+ target.SetProperty(kv[0], kv[1])
142
+
143
+ else:
144
+ def _arrow25(__unit: None=None, kv: Any=kv) -> bool:
145
+ pi: PropertyHelper = match_value
146
+ return over_write_1
147
+
148
+ if _arrow25():
149
+ pi_1: PropertyHelper = match_value
150
+ pi_1.SetValue(target, kv[1])
151
+
152
+
153
+
154
+ iterate(action, this.GetProperties(False))
155
+
156
+ def ShallowCopyDynamicProperties(self, __unit: None=None) -> DynamicObj:
157
+ this: DynamicObj = self
158
+ target: DynamicObj = DynamicObj()
159
+ this.ShallowCopyDynamicPropertiesTo(target, True)
160
+ return target
161
+
162
+ def DeepCopyPropertiesTo(self, target: Any, over_write: bool | None=None, include_instance_properties: bool | None=None) -> None:
163
+ this: DynamicObj = self
164
+ over_write_1: bool = default_arg(over_write, False)
165
+ include_instance_properties_1: bool = default_arg(include_instance_properties, True)
166
+ def action(kv: Any) -> None:
167
+ match_value: PropertyHelper | None = target.TryGetPropertyHelper(kv[0])
168
+ if match_value is None:
169
+ target.SetProperty(kv[0], CopyUtils_tryDeepCopyObj_75B3D832(kv[1]))
170
+
171
+ else:
172
+ def _arrow26(__unit: None=None, kv: Any=kv) -> bool:
173
+ pi: PropertyHelper = match_value
174
+ return over_write_1
175
+
176
+ if _arrow26():
177
+ pi_1: PropertyHelper = match_value
178
+ pi_1.SetValue(target, CopyUtils_tryDeepCopyObj_75B3D832(kv[1]))
179
+
180
+
181
+
182
+ iterate(action, this.GetProperties(include_instance_properties_1))
183
+
184
+ def DeepCopyProperties(self, include_instance_properties: bool | None=None) -> Any:
185
+ this: DynamicObj = self
186
+ return CopyUtils_tryDeepCopyObj_75B3D832(this, default_arg(include_instance_properties, True))
187
+
188
+ @staticmethod
189
+ def op_dynamic(lookup: Any, name: str) -> Any:
190
+ match_value: Any | None = lookup.TryGetPropertyValue(name)
191
+ if match_value is None:
192
+ raise Exception()
193
+
194
+ else:
195
+ return value_2(match_value)
196
+
197
+
198
+ @staticmethod
199
+ def op_dynamic_assignment(lookup: Any, name: str, value: Any) -> None:
200
+ lookup.SetProperty(name, value)
201
+
202
+ def ReferenceEquals(self, other: DynamicObj) -> bool:
203
+ this: DynamicObj = self
204
+ return this is other
205
+
206
+ def StructurallyEquals(self, other: DynamicObj) -> bool:
207
+ this: DynamicObj = self
208
+ return safe_hash(this) == safe_hash(other)
209
+
210
+ def __hash__(self, __unit: None=None) -> int:
211
+ this: DynamicObj = self
212
+ return HashUtils_deepHash_4E60E31B(this)
213
+
214
+ def __eq__(self, o: Any=None) -> bool:
215
+ this: DynamicObj = self
216
+ return this.StructurallyEquals(o) if isinstance(o, DynamicObj) else False
217
+
218
+
219
+ DynamicObj_reflection = _expr27
220
+
221
+ def DynamicObj__ctor(__unit: None=None) -> DynamicObj:
222
+ return DynamicObj(__unit)
223
+
224
+
225
+ def _expr28() -> TypeInfo:
226
+ return class_type("DynamicObj.HashUtils", None, HashUtils)
227
+
228
+
229
+ class HashUtils:
230
+ ...
231
+
232
+ HashUtils_reflection = _expr28
233
+
234
+ def _expr29() -> TypeInfo:
235
+ return class_type("DynamicObj.CopyUtils", None, CopyUtils)
236
+
237
+
238
+ class CopyUtils:
239
+ ...
240
+
241
+ CopyUtils_reflection = _expr29
242
+
243
+ def HashUtils_deepHash_4E60E31B(o: Any=None) -> int:
244
+ if isinstance(o, DynamicObj):
245
+ def f(o_2: Any=None, o: Any=o) -> int:
246
+ return HashUtils_deepHash_4E60E31B(o_2)
247
+
248
+ def projection(pair: Any, o: Any=o) -> str:
249
+ return pair[0]
250
+
251
+ class ObjectExpr30:
252
+ @property
253
+ def Compare(self) -> Callable[[str, str], int]:
254
+ return compare_primitives
255
+
256
+ return box_hash_key_val_seq_by(f, sort_by(projection, o.GetProperties(True), ObjectExpr30()))
257
+
258
+ elif str(type(o)) == "<class \'str\'>":
259
+ return hash_1_1(o)
260
+
261
+ elif is_iterable(o):
262
+ en: IEnumerator[Any] = get_enumerator(o)
263
+ def _arrow33(__unit: None=None, o: Any=o) -> IEnumerable_1[int]:
264
+ def _arrow31(__unit: None=None) -> bool:
265
+ return en.System_Collections_IEnumerator_MoveNext()
266
+
267
+ def _arrow32(__unit: None=None) -> IEnumerable_1[int]:
268
+ return singleton(HashUtils_deepHash_4E60E31B(en.System_Collections_IEnumerator_get_Current()))
269
+
270
+ return enumerate_while(_arrow31, delay(_arrow32))
271
+
272
+ l: FSharpList[int] = to_list(delay(_arrow33))
273
+ if is_empty(l):
274
+ return 0
275
+
276
+ else:
277
+ def _arrow34(hash_1: int, hash_2: int, o: Any=o) -> int:
278
+ return merge_hashes(hash_1, hash_2)
279
+
280
+ return reduce(_arrow34, l)
281
+
282
+
283
+ else:
284
+ return hash_1_1(o)
285
+
286
+
287
+
288
+ def CopyUtils_tryDeepCopyObj_75B3D832(o: Any=None, include_instance_properties: bool | None=None) -> Any:
289
+ include_instance_properties_1: bool = default_arg(include_instance_properties, True)
290
+ def try_deep_copy_obj(o_1: Any=None, o: Any=o, include_instance_properties: Any=include_instance_properties) -> Any:
291
+ (pattern_matching_result, o_7) = (None, None)
292
+ if str(type(o_1)) == "<class \'bool\'>":
293
+ pattern_matching_result = 0
294
+
295
+ elif str(type(o_1)) == "<fable_modules.fable_library.types.uint8\'>>":
296
+ pattern_matching_result = 0
297
+
298
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.int8\'>":
299
+ pattern_matching_result = 0
300
+
301
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.int16\'>":
302
+ pattern_matching_result = 0
303
+
304
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.uint16\'>":
305
+ pattern_matching_result = 0
306
+
307
+ elif str(type(o_1)) == "<class \'int\'>":
308
+ pattern_matching_result = 0
309
+
310
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.uint32>":
311
+ pattern_matching_result = 0
312
+
313
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.int64\'>":
314
+ pattern_matching_result = 0
315
+
316
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.uint32\'>":
317
+ pattern_matching_result = 0
318
+
319
+ elif str(type(o_1)) == "<class \'float\'>":
320
+ pattern_matching_result = 0
321
+
322
+ elif str(type(o_1)) == "<class \'fable_modules.fable_library.types.float32\'>":
323
+ pattern_matching_result = 0
324
+
325
+ elif str(type(o_1)) == "<class \'str\'>":
326
+ pattern_matching_result = 0
327
+
328
+ elif str(type(o_1)) == "<class \'str\'>":
329
+ pattern_matching_result = 0
330
+
331
+ elif o_1 is None:
332
+ pattern_matching_result = 0
333
+
334
+ elif isinstance(o_1, dict):
335
+ pattern_matching_result = 1
336
+
337
+ elif is_array_like(o_1):
338
+ pattern_matching_result = 2
339
+
340
+ elif isinstance(o_1, FSharpList):
341
+ pattern_matching_result = 3
342
+
343
+ elif isinstance(o_1, DynamicObj):
344
+ if hasattr(o_1, 'System_ICloneable_Clone') and callable(o_1.System_ICloneable_Clone):
345
+ pattern_matching_result = 4
346
+ o_7 = o_1
347
+
348
+ else:
349
+ pattern_matching_result = 5
350
+
351
+
352
+ elif hasattr(o_1, 'System_ICloneable_Clone') and callable(o_1.System_ICloneable_Clone):
353
+ pattern_matching_result = 4
354
+ o_7 = o_1
355
+
356
+ else:
357
+ pattern_matching_result = 6
358
+
359
+ if pattern_matching_result == 0:
360
+ return o_1
361
+
362
+ elif pattern_matching_result == 1:
363
+ class ObjectExpr35:
364
+ @property
365
+ def Equals(self) -> Callable[[Any, Any], bool]:
366
+ return equals
367
+
368
+ @property
369
+ def GetHashCode(self) -> Callable[[Any], int]:
370
+ return structural_hash
371
+
372
+ new_dict: Any = Dictionary([], ObjectExpr35())
373
+ enumerator: Any = get_enumerator(o_1)
374
+ try:
375
+ while enumerator.System_Collections_IEnumerator_MoveNext():
376
+ kv: Any = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
377
+ add_to_dict(new_dict, try_deep_copy_obj(kv[0]), try_deep_copy_obj(kv[1]))
378
+
379
+ finally:
380
+ dispose(enumerator)
381
+
382
+ return new_dict
383
+
384
+ elif pattern_matching_result == 2:
385
+ def _arrow36(__unit: None=None, o_1: Any=o_1) -> IEnumerable_1[DynamicObj]:
386
+ return map_1(try_deep_copy_obj, o_1)
387
+
388
+ return list(to_list(delay(_arrow36)))
389
+
390
+ elif pattern_matching_result == 3:
391
+ def _arrow37(__unit: None=None, o_1: Any=o_1) -> IEnumerable_1[DynamicObj]:
392
+ return map_1(try_deep_copy_obj, o_1)
393
+
394
+ return to_list(delay(_arrow37))
395
+
396
+ elif pattern_matching_result == 4:
397
+ return o_7.System_ICloneable_Clone()
398
+
399
+ elif pattern_matching_result == 5:
400
+ new_dyn: DynamicObj = DynamicObj()
401
+ with get_enumerator(o_1.GetProperties(include_instance_properties_1)) as enumerator_1:
402
+ while enumerator_1.System_Collections_IEnumerator_MoveNext():
403
+ kv_1: Any = enumerator_1.System_Collections_Generic_IEnumerator_1_get_Current()
404
+ new_dyn.SetProperty(kv_1[0], try_deep_copy_obj(kv_1[1]))
405
+ return new_dyn
406
+
407
+ elif pattern_matching_result == 6:
408
+ return o_1
409
+
410
+
411
+ return try_deep_copy_obj(o)
412
+
413
+
414
+ __all__ = ["DynamicObj_reflection", "HashUtils_reflection", "CopyUtils_reflection", "HashUtils_deepHash_4E60E31B", "CopyUtils_tryDeepCopyObj_75B3D832"]
415
+
@@ -0,0 +1,288 @@
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.array_ import (append, map as map_1)
6
+ from ..fable_library.map_util import add_to_dict
7
+ from ..fable_library.mutable_map import Dictionary
8
+ from ..fable_library.option import value as value_1
9
+ from ..fable_library.reg_exp import (is_match, create)
10
+ from ..fable_library.seq import (iterate, to_array, choose, map)
11
+ from ..fable_library.types import Array
12
+ from ..fable_library.util import (equals, structural_hash, IEnumerable_1, get_enumerator, dispose)
13
+ from .property_helper import PropertyHelper
14
+
15
+ __A_ = TypeVar("__A_")
16
+
17
+ _U = TypeVar("_U")
18
+
19
+ _T = TypeVar("_T")
20
+
21
+ def Dictionary_ofSeq(s: IEnumerable_1[Any]) -> Any:
22
+ class ObjectExpr3:
23
+ @property
24
+ def Equals(self) -> Callable[[__A_, __A_], bool]:
25
+ return equals
26
+
27
+ @property
28
+ def GetHashCode(self) -> Callable[[__A_], int]:
29
+ return structural_hash
30
+
31
+ d: Any = Dictionary([], ObjectExpr3())
32
+ def action(kv: Any, s: Any=s) -> None:
33
+ add_to_dict(d, kv[0], kv[1])
34
+
35
+ iterate(action, s)
36
+ return d
37
+
38
+
39
+ def Dictionary_choose(f: Callable[[_T], _U | None], d: Any) -> Any:
40
+ class ObjectExpr4:
41
+ @property
42
+ def Equals(self) -> Callable[[__A_, __A_], bool]:
43
+ return equals
44
+
45
+ @property
46
+ def GetHashCode(self) -> Callable[[__A_], int]:
47
+ return structural_hash
48
+
49
+ nd: Any = Dictionary([], ObjectExpr4())
50
+ enumerator: Any = get_enumerator(d)
51
+ try:
52
+ while enumerator.System_Collections_IEnumerator_MoveNext():
53
+ kv: Any = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
54
+ match_value: _U | None = f(kv[1])
55
+ if match_value is None:
56
+ pass
57
+
58
+ else:
59
+ add_to_dict(nd, kv[0], value_1(match_value))
60
+
61
+
62
+ finally:
63
+ dispose(enumerator)
64
+
65
+ return nd
66
+
67
+
68
+ class PropertyObject(Protocol):
69
+ @property
70
+ @abstractmethod
71
+ def fget(self) -> Any:
72
+ ...
73
+
74
+ @property
75
+ @abstractmethod
76
+ def fset(self) -> Any:
77
+ ...
78
+
79
+
80
+ def PropertyObjectModule_getGetter(o: PropertyObject) -> Callable[[Any], Any]:
81
+ match_value: Callable[[Any], Any] | None = o.fget
82
+ if match_value is None:
83
+ def _arrow5(o_1: Any=None, o: Any=o) -> Any:
84
+ raise Exception("Property does not contain getter")
85
+
86
+ return _arrow5
87
+
88
+ else:
89
+ return match_value
90
+
91
+
92
+
93
+ def PropertyObjectModule_getSetter(o: PropertyObject) -> Callable[[Any, Any], None]:
94
+ match_value: Callable[[Any, Any], None] | None = o.fset
95
+ if match_value is None:
96
+ def _arrow7(s: Any=None, o: Any=o) -> Callable[[Any], None]:
97
+ def _arrow6(o_1: Any=None) -> None:
98
+ raise Exception("Property does not contain setter")
99
+
100
+ return _arrow6
101
+
102
+ return _arrow7
103
+
104
+ else:
105
+ return match_value
106
+
107
+
108
+
109
+ def PropertyObjectModule_containsGetter(o: PropertyObject) -> bool:
110
+ match_value: Callable[[Any], Any] | None = o.fget
111
+ if match_value is None:
112
+ return False
113
+
114
+ else:
115
+ return True
116
+
117
+
118
+
119
+ def PropertyObjectModule_containsSetter(o: PropertyObject) -> bool:
120
+ match_value: Callable[[Any, Any], None] | None = o.fset
121
+ if match_value is None:
122
+ return False
123
+
124
+ else:
125
+ return True
126
+
127
+
128
+
129
+ def PropertyObjectModule_isWritable(o: PropertyObject) -> bool:
130
+ return PropertyObjectModule_containsSetter(o)
131
+
132
+
133
+ def PropertyObjectModule_tryProperty(o: Any=None) -> PropertyObject | None:
134
+ if isinstance(o, property):
135
+ return o
136
+
137
+ else:
138
+ return None
139
+
140
+
141
+
142
+ def create_getter(prop_name: str, o: Any=None) -> Any:
143
+ return getattr(o,prop_name)
144
+
145
+
146
+ def create_setter(prop_name: str, o: Any=None, value: Any=None) -> None:
147
+ setattr(o,prop_name,value)
148
+
149
+
150
+ def get_static_property_objects(o: Any=None) -> Any:
151
+ def f(o_2: Any=None, o: Any=o) -> PropertyObject | None:
152
+ return PropertyObjectModule_tryProperty(o_2)
153
+
154
+ def _arrow8(__unit: None=None, o: Any=o) -> Any:
155
+ o_1: Any = o.__class__
156
+ return vars(o_1).items()
157
+
158
+ return Dictionary_choose(f, _arrow8())
159
+
160
+
161
+ def remove_static_property_value(o: Any, prop_name: str) -> None:
162
+ setattr(o,prop_name,None)
163
+
164
+
165
+ def create_remover(prop_name: str, is_static: bool) -> Callable[[Any], None]:
166
+ if is_static:
167
+ def _arrow9(o: Any=None, prop_name: Any=prop_name, is_static: Any=is_static) -> None:
168
+ remove_static_property_value(o, prop_name)
169
+
170
+ return _arrow9
171
+
172
+ else:
173
+ def _arrow10(o_1: Any=None, prop_name: Any=prop_name, is_static: Any=is_static) -> None:
174
+ delattr(o_1,prop_name)
175
+
176
+ return _arrow10
177
+
178
+
179
+
180
+ def try_get_property_object(o: Any, prop_name: str) -> PropertyObject | None:
181
+ match_value: PropertyObject | None = PropertyObjectModule_tryProperty(o.__dict__.get(prop_name))
182
+ if match_value is None:
183
+ return None
184
+
185
+ else:
186
+ return match_value
187
+
188
+
189
+
190
+ def try_get_dynamic_property_helper(o: Any, prop_name: str) -> PropertyHelper | None:
191
+ match_value: Any | None = o.__dict__.get(prop_name)
192
+ if match_value is None:
193
+ return None
194
+
195
+ else:
196
+ def _arrow11(o_1: Any=None, o: Any=o, prop_name: Any=prop_name) -> Any:
197
+ return create_getter(prop_name, o_1)
198
+
199
+ def _arrow12(o_2: Any=None, value: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
200
+ create_setter(prop_name, o_2, value)
201
+
202
+ def _arrow13(o_3: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
203
+ delattr(o_3,prop_name)
204
+
205
+ return PropertyHelper(prop_name, False, True, True, False, _arrow11, _arrow12, _arrow13)
206
+
207
+
208
+
209
+ def try_get_static_property_helper(o: Any, prop_name: str) -> PropertyHelper | None:
210
+ match_value: PropertyObject | None = try_get_property_object(o.__class__, prop_name)
211
+ if match_value is None:
212
+ return None
213
+
214
+ else:
215
+ is_writable: bool = PropertyObjectModule_isWritable(match_value)
216
+ def _arrow14(o_1: Any=None, o: Any=o, prop_name: Any=prop_name) -> Any:
217
+ return create_getter(prop_name, o_1)
218
+
219
+ def _arrow15(o_2: Any=None, value: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
220
+ create_setter(prop_name, o_2, value)
221
+
222
+ def _arrow16(o_3: Any=None, o: Any=o, prop_name: Any=prop_name) -> None:
223
+ remove_static_property_value(o_3, prop_name)
224
+
225
+ return PropertyHelper(prop_name, True, False, is_writable, not is_writable, _arrow14, _arrow15, _arrow16)
226
+
227
+
228
+
229
+ transpiled_property_regex: str = "^([a-zA-Z]+_)+[0-9]+$"
230
+
231
+ def is_transpiled_property_helper(property_name: str) -> bool:
232
+ return is_match(create(transpiled_property_regex), property_name)
233
+
234
+
235
+ def get_dynamic_property_helpers(o: Any=None) -> Array[PropertyHelper]:
236
+ def chooser(kv: Any, o: Any=o) -> PropertyHelper | None:
237
+ n: str = kv[0]
238
+ if is_transpiled_property_helper(n):
239
+ return None
240
+
241
+ else:
242
+ def _arrow17(o_1: Any=None, kv: Any=kv) -> Any:
243
+ return create_getter(n, o_1)
244
+
245
+ def _arrow18(o_2: Any=None, value: Any=None, kv: Any=kv) -> None:
246
+ create_setter(n, o_2, value)
247
+
248
+ def _arrow19(o_3: Any=None, kv: Any=kv) -> None:
249
+ delattr(o_3,n)
250
+
251
+ return PropertyHelper(n, False, True, True, False, _arrow17, _arrow18, _arrow19)
252
+
253
+
254
+ return to_array(choose(chooser, vars(o).items()))
255
+
256
+
257
+ def get_static_property_helpers(o: Any=None) -> Array[PropertyHelper]:
258
+ def mapping(kv: Any, o: Any=o) -> PropertyHelper:
259
+ n: str = kv[0]
260
+ po: PropertyObject = kv[1]
261
+ def _arrow20(o_1: Any=None, kv: Any=kv) -> Any:
262
+ return create_getter(n, o_1)
263
+
264
+ def _arrow21(o_2: Any=None, value: Any=None, kv: Any=kv) -> None:
265
+ create_setter(n, o_2, value)
266
+
267
+ def _arrow22(o_3: Any=None, kv: Any=kv) -> None:
268
+ remove_static_property_value(o_3, n)
269
+
270
+ return PropertyHelper(n, True, False, PropertyObjectModule_isWritable(po), not PropertyObjectModule_isWritable(po), _arrow20, _arrow21, _arrow22)
271
+
272
+ return to_array(map(mapping, get_static_property_objects(o)))
273
+
274
+
275
+ def get_property_helpers(o: Any=None) -> Array[PropertyHelper]:
276
+ array_1: Array[PropertyHelper] = get_dynamic_property_helpers(o)
277
+ return append(get_static_property_helpers(o), array_1, None)
278
+
279
+
280
+ def get_property_names(o: Any=None) -> Array[str]:
281
+ def mapping(h: PropertyHelper, o: Any=o) -> str:
282
+ return h.Name
283
+
284
+ return map_1(mapping, get_property_helpers(o), None)
285
+
286
+
287
+ __all__ = ["Dictionary_ofSeq", "Dictionary_choose", "PropertyObjectModule_getGetter", "PropertyObjectModule_getSetter", "PropertyObjectModule_containsGetter", "PropertyObjectModule_containsSetter", "PropertyObjectModule_isWritable", "PropertyObjectModule_tryProperty", "create_getter", "create_setter", "get_static_property_objects", "remove_static_property_value", "create_remover", "try_get_property_object", "try_get_dynamic_property_helper", "try_get_static_property_helper", "transpiled_property_regex", "is_transpiled_property_helper", "get_dynamic_property_helpers", "get_static_property_helpers", "get_property_helpers", "get_property_names"]
288
+