arctrl 3.0.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,76 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from .fable_modules.fable_library.array_ import append
5
+ from .fable_modules.fable_library.async_ import (sequential, catch_async)
6
+ from .fable_modules.fable_library.async_builder import (singleton, Async)
7
+ from .fable_modules.fable_library.result import FSharpResult_2
8
+ from .fable_modules.fable_library.types import (Array, to_string)
9
+ from .fable_modules.fable_library.util import (IEnumerator, get_enumerator, IEnumerable_1)
10
+
11
+ _U = TypeVar("_U")
12
+
13
+ _T = TypeVar("_T")
14
+
15
+ __A = TypeVar("__A")
16
+
17
+ __B = TypeVar("__B")
18
+
19
+ def start_sequential(starter_f: Callable[[_T], Async[_U]], tasks: IEnumerable_1[Any]) -> Async[Array[Any]]:
20
+ def loop(en: IEnumerator[_T], starter_f: Any=starter_f, tasks: Any=tasks) -> Async[Array[_U]]:
21
+ def _arrow3476(__unit: None=None, en: Any=en) -> Async[Array[_U]]:
22
+ def _arrow3475(_arg: _U | None=None) -> Async[Array[_U]]:
23
+ def _arrow3474(_arg_1: Array[_U]) -> Async[Array[_U]]:
24
+ return singleton.Return(append([_arg], _arg_1, None))
25
+
26
+ return singleton.Bind(loop(en), _arrow3474)
27
+
28
+ return singleton.Bind(starter_f(en.System_Collections_Generic_IEnumerator_1_get_Current()), _arrow3475) if en.System_Collections_IEnumerator_MoveNext() else singleton.Return([])
29
+
30
+ return singleton.Delay(_arrow3476)
31
+
32
+ return loop(get_enumerator(tasks))
33
+
34
+
35
+ def all(tasks: IEnumerable_1[Async[Any]]) -> Async[Array[Any]]:
36
+ return sequential(tasks)
37
+
38
+
39
+ def map(f: Callable[[__A], __B], v: Async[Any]) -> Async[Any]:
40
+ def _arrow3478(__unit: None=None, f: Any=f, v: Any=v) -> Async[__B]:
41
+ def _arrow3477(_arg: __A | None=None) -> Async[__B]:
42
+ return singleton.Return(f(_arg))
43
+
44
+ return singleton.Bind(v, _arrow3477)
45
+
46
+ return singleton.Delay(_arrow3478)
47
+
48
+
49
+ def as_async(v: Async[Any]) -> Async[Any]:
50
+ return v
51
+
52
+
53
+ def catch_with(f: Callable[[Exception], _T], p: Async[Any]) -> Async[Any]:
54
+ def _arrow3480(__unit: None=None, f: Any=f, p: Any=p) -> Async[_T]:
55
+ def _arrow3479(_arg: Any) -> Async[_T]:
56
+ r: Any = _arg
57
+ return singleton.Return(f(r.fields[0])) if (r.tag == 1) else singleton.Return(r.fields[0])
58
+
59
+ return singleton.Bind(catch_async(p), _arrow3479)
60
+
61
+ return singleton.Delay(_arrow3480)
62
+
63
+
64
+ def catch_as_result(p: Async[Any]) -> Async[FSharpResult_2[Any, str]]:
65
+ def _arrow3482(__unit: None=None, p: Any=p) -> Async[FSharpResult_2[_T, str]]:
66
+ def _arrow3481(_arg: Any) -> Async[FSharpResult_2[_T, str]]:
67
+ r: Any = _arg
68
+ return singleton.Return(FSharpResult_2(1, to_string(r.fields[0]))) if (r.tag == 1) else singleton.Return(FSharpResult_2(0, r.fields[0]))
69
+
70
+ return singleton.Bind(catch_async(p), _arrow3481)
71
+
72
+ return singleton.Delay(_arrow3482)
73
+
74
+
75
+ __all__ = ["start_sequential", "all", "map", "as_async", "catch_with", "catch_as_result"]
76
+
File without changes
@@ -0,0 +1,136 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_library.list import (FSharpList, is_empty, tail, head, of_seq as of_seq_1, empty, cons, reverse)
5
+ from ..fable_library.option import value as value_1
6
+ from ..fable_library.range import range_big_int
7
+ from ..fable_library.seq import (to_list, delay, map)
8
+ from ..fable_library.string_ import (join, to_console, printf)
9
+ from ..fable_library.types import Array
10
+ from ..fable_library.util import (IEnumerable_1, get_enumerator, ignore)
11
+ from .dynamic_obj import (DynamicObj, CopyUtils_tryDeepCopyObj_75B3D832)
12
+ from .property_helper import PropertyHelper
13
+
14
+ _TPROPERTYVALUE = TypeVar("_TPROPERTYVALUE")
15
+
16
+ _UPROPERTYVALUE = TypeVar("_UPROPERTYVALUE")
17
+
18
+ def of_dict(dynamic_properties: Any) -> DynamicObj:
19
+ return DynamicObj.of_dict(dynamic_properties)
20
+
21
+
22
+ def of_seq(dynamic_properties: IEnumerable_1[tuple[str, Any]]) -> DynamicObj:
23
+ dynamic_properties_1: Any = dict(dict(dynamic_properties))
24
+ return DynamicObj.of_dict(dynamic_properties_1)
25
+
26
+
27
+ def of_list(dynamic_properties: FSharpList[tuple[str, Any]]) -> DynamicObj:
28
+ return of_seq(dynamic_properties)
29
+
30
+
31
+ def of_array(dynamic_properties: Array[tuple[str, Any]]) -> DynamicObj:
32
+ return of_seq(dynamic_properties)
33
+
34
+
35
+ def combine(first: DynamicObj, second: DynamicObj) -> DynamicObj:
36
+ with get_enumerator(second.GetProperties(True)) as enumerator:
37
+ while enumerator.System_Collections_IEnumerator_MoveNext():
38
+ kv: Any = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
39
+ match_value: Any = kv[1]
40
+ if isinstance(match_value, DynamicObj):
41
+ match_value_1: Any | None = first.TryGetPropertyValue(kv[0])
42
+ if match_value_1 is None:
43
+ first.SetProperty(kv[0], match_value)
44
+
45
+ else:
46
+ tmp: DynamicObj = combine(value_1(match_value_1), match_value)
47
+ first.SetProperty(kv[0], tmp)
48
+
49
+
50
+ else:
51
+ first.SetProperty(kv[0], kv[1])
52
+
53
+ return first
54
+
55
+
56
+ def set_property(property_name: str, property_value: Any, dyn_obj: DynamicObj) -> None:
57
+ dyn_obj.SetProperty(property_name, property_value)
58
+
59
+
60
+ def set_optional_property(property_name: str, property_value: Any | None, dyn_obj: DynamicObj) -> None:
61
+ if property_value is None:
62
+ pass
63
+
64
+ else:
65
+ set_property(property_name, value_1(property_value), dyn_obj)
66
+
67
+
68
+
69
+ def set_optional_property_by(property_name: str, property_value: Any | None, mapping: Callable[[_TPROPERTYVALUE], _UPROPERTYVALUE], dyn_obj: DynamicObj) -> None:
70
+ if property_value is None:
71
+ pass
72
+
73
+ else:
74
+ set_property(property_name, mapping(value_1(property_value)), dyn_obj)
75
+
76
+
77
+
78
+ def try_get_property_value(property_name: str, dyn_obj: DynamicObj) -> Any | None:
79
+ return dyn_obj.TryGetPropertyValue(property_name)
80
+
81
+
82
+ def remove_property(property_name: str, dyn_obj: DynamicObj) -> None:
83
+ ignore(dyn_obj.RemoveProperty(property_name))
84
+
85
+
86
+ def format(dyn_obj: DynamicObj) -> str:
87
+ def loop(object_mut: DynamicObj, indentation_level_mut: int, members_left_mut: FSharpList[PropertyHelper], acc_mut: FSharpList[str], dyn_obj: Any=dyn_obj) -> str:
88
+ while True:
89
+ (object, indentation_level, members_left, acc) = (object_mut, indentation_level_mut, members_left_mut, acc_mut)
90
+ def _arrow24(__unit: None=None, object: Any=object, indentation_level: Any=indentation_level, members_left: Any=members_left, acc: Any=acc) -> IEnumerable_1[str]:
91
+ def _arrow23(i: int) -> str:
92
+ return " "
93
+
94
+ return map(_arrow23, range_big_int(0, 1, indentation_level - 1))
95
+
96
+ indent: str = join("", to_list(delay(_arrow24)))
97
+ if not is_empty(members_left):
98
+ rest: FSharpList[PropertyHelper] = tail(members_left)
99
+ m: PropertyHelper = head(members_left)
100
+ item: Any = m.GetValue(object)
101
+ dynamic_indicator: str = "?" if m.IsDynamic else ""
102
+ name: str = m.Name
103
+ if isinstance(item, DynamicObj):
104
+ object_mut = object
105
+ indentation_level_mut = indentation_level
106
+ members_left_mut = rest
107
+ acc_mut = cons(((((((((("" + indent) + "") + dynamic_indicator) + "") + name) + ":") + "\n") + "") + loop(item, indentation_level + 1, of_seq_1(item.GetPropertyHelpers(True)), empty())) + "", acc)
108
+ continue
109
+
110
+ else:
111
+ object_mut = object
112
+ indentation_level_mut = indentation_level
113
+ members_left_mut = rest
114
+ acc_mut = cons(((((((("" + indent) + "") + dynamic_indicator) + "") + name) + ": ") + str(item)) + "", acc)
115
+ continue
116
+
117
+
118
+ else:
119
+ return join("\n", reverse(acc))
120
+
121
+ break
122
+
123
+ return loop(dyn_obj, 0, of_seq_1(dyn_obj.GetPropertyHelpers(True)), empty())
124
+
125
+
126
+ def print(dyn_obj: DynamicObj) -> None:
127
+ arg: str = format(dyn_obj)
128
+ to_console(printf("%s"))(arg)
129
+
130
+
131
+ def try_deep_copy_obj(include_instance_properties: bool, o: DynamicObj) -> Any:
132
+ return CopyUtils_tryDeepCopyObj_75B3D832(o, include_instance_properties)
133
+
134
+
135
+ __all__ = ["of_dict", "of_seq", "of_list", "of_array", "combine", "set_property", "set_optional_property", "set_optional_property_by", "try_get_property_value", "remove_property", "format", "print", "try_deep_copy_obj"]
136
+
@@ -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
+