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,90 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_library.reflection import (TypeInfo, class_type)
4
+ from ...fable_library.string_ import (to_fail, printf)
5
+ from ...fable_library.util import (equals, ignore, IEnumerable_1)
6
+ from ..Cells.fs_cell import FsCell
7
+ from ..Cells.fs_cells_collection import (FsCellsCollection__get_MaxRowNumber, FsCellsCollection__get_MaxColumnNumber, FsCellsCollection__TryGetCell_Z37302880, FsCellsCollection__Add_2E78CE33, FsCellsCollection, FsCellsCollection__GetCells_7E77A4A0)
8
+ from ..fs_address import (FsAddress, FsAddress__get_RowNumber, FsAddress__get_ColumnNumber, FsAddress__ctor_Z4C746FC0, FsAddress__get_FixedRow, FsAddress__get_FixedColumn)
9
+ from .fs_range_address import (FsRangeAddress, FsRangeAddress__Extend_6D30B323, FsRangeAddress__get_FirstAddress, FsRangeAddress__get_LastAddress)
10
+
11
+ def _expr160() -> TypeInfo:
12
+ return class_type("FsSpreadsheet.FsRangeBase", None, FsRangeBase)
13
+
14
+
15
+ class FsRangeBase:
16
+ def __init__(self, range_address: FsRangeAddress) -> None:
17
+ self._sortRows: Any = None
18
+ self._sortColumns: Any = None
19
+ self._rangeAddress: FsRangeAddress = range_address
20
+ _id: int
21
+ FsRangeBase.IdCounter = (FsRangeBase.IdCounter + 1) or 0
22
+ _id = FsRangeBase.IdCounter
23
+
24
+
25
+ FsRangeBase_reflection = _expr160
26
+
27
+ def FsRangeBase__ctor_6A2513BC(range_address: FsRangeAddress) -> FsRangeBase:
28
+ return FsRangeBase(range_address)
29
+
30
+
31
+ def FsRangeBase__cctor(__unit: None=None) -> None:
32
+ FsRangeBase.IdCounter = 0
33
+
34
+
35
+ FsRangeBase__cctor()
36
+
37
+ def FsRangeBase__Extend_6D30B323(this: FsRangeBase, address: FsAddress) -> None:
38
+ FsRangeAddress__Extend_6D30B323(this._rangeAddress, address)
39
+
40
+
41
+ def FsRangeBase__get_RangeAddress(this: FsRangeBase) -> FsRangeAddress:
42
+ return this._rangeAddress
43
+
44
+
45
+ def FsRangeBase__set_RangeAddress_6A2513BC(this: FsRangeBase, range_adress: FsRangeAddress) -> None:
46
+ if not equals(range_adress, this._rangeAddress):
47
+ old_address: FsRangeAddress = this._rangeAddress
48
+ this._rangeAddress = range_adress
49
+
50
+
51
+
52
+ def FsRangeBase__Cell_Z3407A44B(this: FsRangeBase, cell_address_in_range: FsAddress, cells: FsCellsCollection) -> FsCell:
53
+ abs_row: int = ((FsAddress__get_RowNumber(cell_address_in_range) + FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this)))) - 1) or 0
54
+ abs_column: int = ((FsAddress__get_ColumnNumber(cell_address_in_range) + FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this)))) - 1) or 0
55
+ if True if (abs_row <= 0) else (abs_row > 1048576):
56
+ arg: int = FsCellsCollection__get_MaxRowNumber(cells) or 0
57
+ to_fail(printf("Row number must be between 1 and %i"))(arg)
58
+
59
+ if True if (abs_column <= 0) else (abs_column > 16384):
60
+ arg_1: int = FsCellsCollection__get_MaxColumnNumber(cells) or 0
61
+ to_fail(printf("Column number must be between 1 and %i"))(arg_1)
62
+
63
+ cell: FsCell | None = FsCellsCollection__TryGetCell_Z37302880(cells, abs_row, abs_column)
64
+ if cell is None:
65
+ absolute_address: FsAddress = FsAddress__ctor_Z4C746FC0(abs_row, abs_column, FsAddress__get_FixedRow(cell_address_in_range), FsAddress__get_FixedColumn(cell_address_in_range))
66
+ new_cell: FsCell = FsCell.create_empty_with_adress(absolute_address)
67
+ FsRangeBase__Extend_6D30B323(this, absolute_address)
68
+ value: None = FsCellsCollection__Add_2E78CE33(cells, abs_row, abs_column, new_cell)
69
+ ignore(None)
70
+ return new_cell
71
+
72
+ else:
73
+ return cell
74
+
75
+
76
+
77
+ def FsRangeBase__Cells_Z2740B3CA(this: FsRangeBase, cells: FsCellsCollection) -> IEnumerable_1[FsCell]:
78
+ return FsCellsCollection__GetCells_7E77A4A0(cells, FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this)), FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this)))
79
+
80
+
81
+ def FsRangeBase__ColumnCount(this: FsRangeBase) -> int:
82
+ return (FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(this._rangeAddress)) - FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(this._rangeAddress))) + 1
83
+
84
+
85
+ def FsRangeBase__RowCount(this: FsRangeBase) -> int:
86
+ return (FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(this._rangeAddress)) - FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(this._rangeAddress))) + 1
87
+
88
+
89
+ __all__ = ["FsRangeBase_reflection", "FsRangeBase__Extend_6D30B323", "FsRangeBase__get_RangeAddress", "FsRangeBase__set_RangeAddress_6A2513BC", "FsRangeBase__Cell_Z3407A44B", "FsRangeBase__Cells_Z2740B3CA", "FsRangeBase__ColumnCount", "FsRangeBase__RowCount"]
90
+
@@ -0,0 +1,78 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_library.list import FSharpList
4
+ from ...fable_library.range import range_big_int
5
+ from ...fable_library.reflection import (TypeInfo, class_type)
6
+ from ...fable_library.seq import (to_list, map)
7
+ from ...fable_library.util import IEnumerable_1
8
+ from ..Cells.fs_cell import FsCell
9
+ from ..Cells.fs_cells_collection import FsCellsCollection
10
+ from ..fs_address import (FsAddress__ctor_Z37302880, FsAddress__get_ColumnNumber, FsAddress__set_ColumnNumber_Z524259A4, FsAddress__get_RowNumber)
11
+ from .fs_range_address import (FsRangeAddress, FsRangeAddress__ctor_7E77A4A0, FsRangeAddress__get_FirstAddress, FsRangeAddress__get_LastAddress, FsRangeAddress__Copy)
12
+ from .fs_range_base import (FsRangeBase, FsRangeBase_reflection, FsRangeBase__get_RangeAddress, FsRangeBase__Cell_Z3407A44B, FsRangeBase__Cells_Z2740B3CA)
13
+
14
+ def _expr174() -> TypeInfo:
15
+ return class_type("FsSpreadsheet.FsRangeColumn", None, FsRangeColumn, FsRangeBase_reflection())
16
+
17
+
18
+ class FsRangeColumn(FsRangeBase):
19
+ def __init__(self, range_address: FsRangeAddress) -> None:
20
+ super().__init__(range_address)
21
+ pass
22
+
23
+
24
+ FsRangeColumn_reflection = _expr174
25
+
26
+ def FsRangeColumn__ctor_6A2513BC(range_address: FsRangeAddress) -> FsRangeColumn:
27
+ return FsRangeColumn(range_address)
28
+
29
+
30
+ def FsRangeColumn__ctor_Z524259A4(index: int) -> FsRangeColumn:
31
+ return FsRangeColumn__ctor_6A2513BC(FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(0, index), FsAddress__ctor_Z37302880(0, index)))
32
+
33
+
34
+ def FsRangeColumn__get_Index(self_1: FsRangeColumn) -> int:
35
+ return FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1)))
36
+
37
+
38
+ def FsRangeColumn__set_Index_Z524259A4(self_1: FsRangeColumn, i: int) -> None:
39
+ FsAddress__set_ColumnNumber_Z524259A4(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1)), i)
40
+ FsAddress__set_ColumnNumber_Z524259A4(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(self_1)), i)
41
+
42
+
43
+ def FsRangeColumn__Cell_Z4232C216(self_1: FsRangeColumn, row_index: int, cells_collection: FsCellsCollection) -> FsCell:
44
+ return FsRangeBase__Cell_Z3407A44B(self_1, FsAddress__ctor_Z37302880((row_index - FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1)))) + 1, 1), cells_collection)
45
+
46
+
47
+ def FsRangeColumn__FirstCell_Z2740B3CA(self_1: FsRangeColumn, cells: FsCellsCollection) -> FsCell:
48
+ return FsRangeBase__Cell_Z3407A44B(self_1, FsAddress__ctor_Z37302880(1, 1), cells)
49
+
50
+
51
+ def FsRangeColumn__Cells_Z2740B3CA(self_1: FsRangeColumn, cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
52
+ return FsRangeBase__Cells_Z2740B3CA(self_1, cells_collection)
53
+
54
+
55
+ def FsRangeColumn_fromRangeAddress_6A2513BC(range_address: FsRangeAddress) -> FsRangeColumn:
56
+ return FsRangeColumn__ctor_6A2513BC(range_address)
57
+
58
+
59
+ def FsRangeColumn__Copy(self_1: FsRangeColumn) -> FsRangeColumn:
60
+ return FsRangeColumn__ctor_6A2513BC(FsRangeAddress__Copy(FsRangeBase__get_RangeAddress(self_1)))
61
+
62
+
63
+ def FsRangeColumn_copy_Z7F7BA1C4(range_column: FsRangeColumn) -> FsRangeColumn:
64
+ return FsRangeColumn__Copy(range_column)
65
+
66
+
67
+ def FsSpreadsheet_FsRangeAddress__FsRangeAddress_toRangeColumns_Static_6A2513BC(range_address: FsRangeAddress) -> IEnumerable_1[FsRangeColumn]:
68
+ columns: FSharpList[int] = to_list(range_big_int(FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(range_address)), 1, FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(range_address))))
69
+ fst_row: int = FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(range_address)) or 0
70
+ lst_row: int = FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(range_address)) or 0
71
+ def mapping(c: int, range_address: Any=range_address) -> FsRangeColumn:
72
+ return FsRangeColumn__ctor_6A2513BC(FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(fst_row, c), FsAddress__ctor_Z37302880(lst_row, c)))
73
+
74
+ return map(mapping, columns)
75
+
76
+
77
+ __all__ = ["FsRangeColumn_reflection", "FsRangeColumn__ctor_Z524259A4", "FsRangeColumn__get_Index", "FsRangeColumn__set_Index_Z524259A4", "FsRangeColumn__Cell_Z4232C216", "FsRangeColumn__FirstCell_Z2740B3CA", "FsRangeColumn__Cells_Z2740B3CA", "FsRangeColumn_fromRangeAddress_6A2513BC", "FsRangeColumn__Copy", "FsRangeColumn_copy_Z7F7BA1C4", "FsSpreadsheet_FsRangeAddress__FsRangeAddress_toRangeColumns_Static_6A2513BC"]
78
+
@@ -0,0 +1,48 @@
1
+ from __future__ import annotations
2
+ from ...fable_library.reflection import (TypeInfo, class_type)
3
+ from ...fable_library.util import IEnumerable_1
4
+ from ..Cells.fs_cell import FsCell
5
+ from ..Cells.fs_cells_collection import FsCellsCollection
6
+ from ..fs_address import (FsAddress__ctor_Z37302880, FsAddress__get_RowNumber, FsAddress__set_RowNumber_Z524259A4, FsAddress__get_ColumnNumber)
7
+ from .fs_range_address import (FsRangeAddress, FsRangeAddress__ctor_7E77A4A0, FsRangeAddress__get_FirstAddress, FsRangeAddress__get_LastAddress)
8
+ from .fs_range_base import (FsRangeBase, FsRangeBase_reflection, FsRangeBase__get_RangeAddress, FsRangeBase__Cell_Z3407A44B, FsRangeBase__Cells_Z2740B3CA)
9
+
10
+ def _expr173() -> TypeInfo:
11
+ return class_type("FsSpreadsheet.FsRangeRow", None, FsRangeRow, FsRangeBase_reflection())
12
+
13
+
14
+ class FsRangeRow(FsRangeBase):
15
+ def __init__(self, range_address: FsRangeAddress) -> None:
16
+ super().__init__(range_address)
17
+ pass
18
+
19
+
20
+ FsRangeRow_reflection = _expr173
21
+
22
+ def FsRangeRow__ctor_6A2513BC(range_address: FsRangeAddress) -> FsRangeRow:
23
+ return FsRangeRow(range_address)
24
+
25
+
26
+ def FsRangeRow__ctor_Z524259A4(index: int) -> FsRangeRow:
27
+ return FsRangeRow__ctor_6A2513BC(FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(index, 0), FsAddress__ctor_Z37302880(index, 0)))
28
+
29
+
30
+ def FsRangeRow__get_Index(self_1: FsRangeRow) -> int:
31
+ return FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1)))
32
+
33
+
34
+ def FsRangeRow__set_Index_Z524259A4(self_1: FsRangeRow, i: int) -> None:
35
+ FsAddress__set_RowNumber_Z524259A4(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1)), i)
36
+ FsAddress__set_RowNumber_Z524259A4(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(self_1)), i)
37
+
38
+
39
+ def FsRangeRow__Cell_Z4232C216(self_1: FsRangeRow, column_index: int, cells: FsCellsCollection) -> FsCell:
40
+ return FsRangeBase__Cell_Z3407A44B(self_1, FsAddress__ctor_Z37302880(1, (column_index - FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1)))) + 1), cells)
41
+
42
+
43
+ def FsRangeRow__Cells_Z2740B3CA(self_1: FsRangeRow, cells: FsCellsCollection) -> IEnumerable_1[FsCell]:
44
+ return FsRangeBase__Cells_Z2740B3CA(self_1, cells)
45
+
46
+
47
+ __all__ = ["FsRangeRow_reflection", "FsRangeRow__ctor_Z524259A4", "FsRangeRow__get_Index", "FsRangeRow__set_Index_Z524259A4", "FsRangeRow__Cell_Z4232C216", "FsRangeRow__Cells_Z2740B3CA"]
48
+
@@ -0,0 +1,393 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ...fable_library.map_util import (add_to_set, add_to_dict, get_item_from_dict, remove_from_dict)
5
+ from ...fable_library.option import (value as value_2, default_arg)
6
+ from ...fable_library.range import range_big_int
7
+ from ...fable_library.reflection import (TypeInfo, class_type)
8
+ from ...fable_library.seq import (initialize, delay, collect, singleton, reduce, map, iterate_indexed, iterate, length, max, find, try_find, try_pick, choose, to_list, exists)
9
+ from ...fable_library.string_ import replace
10
+ from ...fable_library.util import (equals, IEnumerable_1, int32_to_string, ignore, compare_primitives, get_enumerator)
11
+ from ..Cells.fs_cell import (FsCell, DataType)
12
+ from ..Cells.fs_cells_collection import (FsCellsCollection, Dictionary_tryGet, FsCellsCollection__GetCellsInColumn_Z524259A4, FsCellsCollection__TryGetCell_Z37302880)
13
+ from ..fs_address import (FsAddress__get_RowNumber, FsAddress__ctor_Z37302880, FsAddress__get_ColumnNumber)
14
+ from ..fs_column import FsColumn
15
+ from ..fs_row import FsRow
16
+ from ..Ranges.fs_range import (FsRange__FirstRow, FsRange__ctor_6A2513BC)
17
+ from ..Ranges.fs_range_address import (FsRangeAddress__get_FirstAddress, FsRangeAddress__ctor_7E77A4A0, FsRangeAddress__get_LastAddress, FsRangeAddress__Union_6A2513BC, FsRangeAddress, FsRangeAddress__Copy)
18
+ from ..Ranges.fs_range_base import (FsRangeBase__get_RangeAddress, FsRangeBase__ColumnCount, FsRangeBase__set_RangeAddress_6A2513BC, FsRangeBase, FsRangeBase_reflection)
19
+ from ..Ranges.fs_range_column import (FsRangeColumn__ctor_Z524259A4, FsRangeColumn__ctor_6A2513BC, FsRangeColumn__get_Index, FsRangeColumn)
20
+ from ..Ranges.fs_range_row import FsRangeRow
21
+ from .fs_table_field import (FsTableField, FsTableField__get_Column, FsTableField__ctor_6547009B, FsTableField__get_Name, FsTableField__ctor_726EFFB, FsTableField__get_Index, FsTableField__HeaderCell_10EBE01C, FsTableField__ctor_Z18115A39, FsTableField__set_Index_Z524259A4)
22
+
23
+ def _expr202() -> TypeInfo:
24
+ return class_type("FsSpreadsheet.FsTable", None, FsTable, FsRangeBase_reflection())
25
+
26
+
27
+ class FsTable(FsRangeBase):
28
+ def __init__(self, name: str, range_address: FsRangeAddress, show_totals_row: bool | None=None, show_header_row: bool | None=None) -> None:
29
+ super().__init__(range_address)
30
+ self._name: str = replace(name.strip(), " ", "_")
31
+ self._lastRangeAddress: FsRangeAddress = range_address
32
+ self._showTotalsRow: bool = default_arg(show_totals_row, False)
33
+ self._showHeaderRow: bool = default_arg(show_header_row, True)
34
+ self._fieldNames: Any = dict([])
35
+ self._uniqueNames: Any = set([])
36
+
37
+ @property
38
+ def Name(self, __unit: None=None) -> str:
39
+ this: FsTable = self
40
+ return this._name
41
+
42
+ def GetFieldNames(self, cells_collection: FsCellsCollection) -> Any:
43
+ this: FsTable = self
44
+ if equals(this._lastRangeAddress, FsRangeBase__get_RangeAddress(this)) if ((not equals(this._lastRangeAddress, None)) if (not equals(this._fieldNames, None)) else False) else False:
45
+ return this._fieldNames
46
+
47
+ else:
48
+ this._lastRangeAddress = FsRangeBase__get_RangeAddress(this)
49
+ return this._fieldNames
50
+
51
+
52
+ def GetFields(self, cells_collection: FsCellsCollection) -> IEnumerable_1[FsTableField]:
53
+ this: FsTable = self
54
+ def _arrow194(i: int) -> FsTableField:
55
+ return this.GetFieldAt(i, cells_collection)
56
+
57
+ return initialize(FsRangeBase__ColumnCount(this), _arrow194)
58
+
59
+ @property
60
+ def ShowHeaderRow(self, __unit: None=None) -> bool:
61
+ this: FsTable = self
62
+ return this._showHeaderRow
63
+
64
+ @ShowHeaderRow.setter
65
+ def ShowHeaderRow(self, show_header_row: bool) -> None:
66
+ this: FsTable = self
67
+ this._showHeaderRow = show_header_row
68
+
69
+ def HeadersRow(self, __unit: None=None) -> FsRangeRow:
70
+ this: FsTable = self
71
+ return None if (not this.ShowHeaderRow) else FsRange__FirstRow(FsRange__ctor_6A2513BC(FsRangeBase__get_RangeAddress(this)))
72
+
73
+ def TryGetHeaderRow(self, cells_collection: FsCellsCollection) -> FsRow | None:
74
+ this: FsTable = self
75
+ match_value: bool = this.ShowHeaderRow
76
+ if match_value:
77
+ row_index: int = FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))) or 0
78
+ return FsRow(FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(row_index, FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this)))), FsAddress__ctor_Z37302880(row_index, FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this))))), cells_collection)
79
+
80
+ else:
81
+ return None
82
+
83
+
84
+ def GetHeaderRow(self, cells_collection: FsCellsCollection) -> FsRow:
85
+ this: FsTable = self
86
+ match_value: FsRow | None = this.TryGetHeaderRow(cells_collection)
87
+ if match_value is None:
88
+ raise Exception(("Error. Unable to get header row for table \"" + this.Name) + "\" as `ShowHeaderRow` is set to `false`.")
89
+
90
+ else:
91
+ return match_value
92
+
93
+
94
+ def GetColumns(self, cells_collection: FsCellsCollection) -> IEnumerable_1[FsColumn]:
95
+ this: FsTable = self
96
+ def _arrow196(__unit: None=None) -> IEnumerable_1[FsColumn]:
97
+ def _arrow195(i: int) -> IEnumerable_1[FsColumn]:
98
+ return singleton(FsColumn(FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))), i), FsAddress__ctor_Z37302880(FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this))), i)), cells_collection))
99
+
100
+ return collect(_arrow195, range_big_int(FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))), 1, FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this)))))
101
+
102
+ return delay(_arrow196)
103
+
104
+ def GetRows(self, cells_collection: FsCellsCollection) -> IEnumerable_1[FsRow]:
105
+ this: FsTable = self
106
+ def _arrow198(__unit: None=None) -> IEnumerable_1[FsRow]:
107
+ def _arrow197(i: int) -> IEnumerable_1[FsRow]:
108
+ return singleton(FsRow(FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(i, FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this)))), FsAddress__ctor_Z37302880(i, FsAddress__get_ColumnNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this))))), cells_collection))
109
+
110
+ return collect(_arrow197, range_big_int(FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))), 1, FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this)))))
111
+
112
+ return delay(_arrow198)
113
+
114
+ def RescanRange(self, __unit: None=None) -> None:
115
+ this: FsTable = self
116
+ def mapping(v: FsTableField) -> FsRangeAddress:
117
+ return FsRangeBase__get_RangeAddress(FsTableField__get_Column(v))
118
+
119
+ FsRangeBase__set_RangeAddress_6A2513BC(this, reduce(FsRangeAddress__Union_6A2513BC, map(mapping, this._fieldNames.values())))
120
+
121
+ @staticmethod
122
+ def rescan_range(table: FsTable) -> FsTable:
123
+ table.RescanRange()
124
+ return table
125
+
126
+ def GetUniqueName(self, original_name: str, initial_offset: int, enforce_offset: bool) -> str:
127
+ this: FsTable = self
128
+ name: str = original_name + (int32_to_string(initial_offset) if enforce_offset else "")
129
+ if name in this._uniqueNames:
130
+ i: int = initial_offset or 0
131
+ name = original_name + int32_to_string(i)
132
+ while name in this._uniqueNames:
133
+ i = (i + 1) or 0
134
+ name = original_name + int32_to_string(i)
135
+
136
+ ignore(add_to_set(name, this._uniqueNames))
137
+ return name
138
+
139
+ @staticmethod
140
+ def get_unique_names(original_name: str, initial_offset: int, enforce_offset: bool, table: FsTable) -> str:
141
+ return table.GetUniqueName(original_name, initial_offset, enforce_offset)
142
+
143
+ def InitFields(self, field_names: IEnumerable_1[str]) -> None:
144
+ this: FsTable = self
145
+ def action(i: int, fn: str) -> None:
146
+ table_field: FsTableField = FsTableField__ctor_6547009B(fn, i, FsRangeColumn__ctor_Z524259A4(i))
147
+ add_to_dict(this._fieldNames, fn, table_field)
148
+
149
+ iterate_indexed(action, field_names)
150
+
151
+ @staticmethod
152
+ def init_fields(field_names: IEnumerable_1[str], table: FsTable) -> FsTable:
153
+ table.InitFields(field_names)
154
+ return table
155
+
156
+ def AddFields(self, table_fields: IEnumerable_1[FsTableField]) -> None:
157
+ this: FsTable = self
158
+ def action(tf: FsTableField) -> None:
159
+ add_to_dict(this._fieldNames, FsTableField__get_Name(tf), tf)
160
+
161
+ iterate(action, table_fields)
162
+
163
+ @staticmethod
164
+ def add_fields(table_fields: IEnumerable_1[FsTableField], table: FsTable) -> FsTable:
165
+ table.AddFields(table_fields)
166
+ return table
167
+
168
+ def Field(self, name: str, cells_collection: FsCellsCollection) -> FsTableField:
169
+ this: FsTable = self
170
+ match_value: FsTableField | None = Dictionary_tryGet(name, this._fieldNames)
171
+ if match_value is None:
172
+ def _arrow200(__unit: None=None) -> int:
173
+ s: IEnumerable_1[int] = map(FsTableField__get_Index, this._fieldNames.values())
174
+ class ObjectExpr199:
175
+ @property
176
+ def Compare(self) -> Callable[[int, int], int]:
177
+ return compare_primitives
178
+
179
+ return 0 if (length(s) == 0) else max(s, ObjectExpr199())
180
+
181
+ def _arrow201(__unit: None=None) -> FsRangeAddress:
182
+ offset: int = len(this._fieldNames) or 0
183
+ return FsRangeAddress__ctor_7E77A4A0(FsAddress__ctor_Z37302880(FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))), FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))) + offset), FsAddress__ctor_Z37302880(FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this))), FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))) + offset))
184
+
185
+ new_field: FsTableField = FsTableField__ctor_726EFFB(name, _arrow200() + 1, FsRangeColumn__ctor_6A2513BC(_arrow201()), None, None)
186
+ if this.ShowHeaderRow:
187
+ value: None = FsTableField__HeaderCell_10EBE01C(new_field, cells_collection, True).SetValueAs(name)
188
+ ignore(None)
189
+
190
+ add_to_dict(this._fieldNames, name, new_field)
191
+ this.RescanRange()
192
+ return new_field
193
+
194
+ else:
195
+ return match_value
196
+
197
+
198
+ def GetField(self, name: str, cells_collection: FsCellsCollection) -> FsTableField:
199
+ this: FsTable = self
200
+ name_1: str = replace(name, "\r\n", "\n")
201
+ try:
202
+ return get_item_from_dict(this.GetFieldNames(cells_collection), name_1)
203
+
204
+ except Exception as match_value:
205
+ raise Exception(("The header row doesn\'t contain field name \'" + name_1) + "\'.")
206
+
207
+
208
+ @staticmethod
209
+ def get_field(name: str, cells_collection: FsCellsCollection, table: FsTable) -> FsTableField:
210
+ return table.GetField(name, cells_collection)
211
+
212
+ def GetFieldAt(self, index: int, cells_collection: FsCellsCollection) -> FsTableField:
213
+ this: FsTable = self
214
+ try:
215
+ def predicate(ftf: FsTableField) -> bool:
216
+ return FsTableField__get_Index(ftf) == index
217
+
218
+ return find(predicate, this.GetFieldNames(cells_collection).values())
219
+
220
+ except Exception as match_value:
221
+ raise Exception(("FsTableField with index " + str(index)) + " does not exist in the FsTable.")
222
+
223
+
224
+ def GetFieldIndex(self, name: str, cells_collection: FsCellsCollection) -> int:
225
+ this: FsTable = self
226
+ return FsTableField__get_Index(this.GetField(name, cells_collection))
227
+
228
+ def RenameField(self, old_name: str, new_name: str) -> None:
229
+ this: FsTable = self
230
+ match_value: FsTableField | None = Dictionary_tryGet(old_name, this._fieldNames)
231
+ if match_value is None:
232
+ raise Exception("The FsTabelField does not exist in this FsTable", "oldName")
233
+
234
+ else:
235
+ field: FsTableField = match_value
236
+ ignore(remove_from_dict(this._fieldNames, old_name))
237
+ add_to_dict(this._fieldNames, new_name, field)
238
+
239
+
240
+ @staticmethod
241
+ def rename_field(old_name: str, new_name: str, table: FsTable) -> FsTable:
242
+ table.RenameField(old_name, new_name)
243
+ return table
244
+
245
+ def TryGetHeaderCellOfColumnAt(self, cells_collection: FsCellsCollection, col_index: int) -> FsCell | None:
246
+ this: FsTable = self
247
+ fst_row_index: int = FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))) or 0
248
+ def predicate(c: FsCell) -> bool:
249
+ return c.RowNumber == fst_row_index
250
+
251
+ return try_find(predicate, FsCellsCollection__GetCellsInColumn_Z524259A4(cells_collection, col_index))
252
+
253
+ @staticmethod
254
+ def try_get_header_cell_of_column_index_at(cells_collection: FsCellsCollection, col_index: int, table: FsTable) -> FsCell | None:
255
+ return table.TryGetHeaderCellOfColumnAt(cells_collection, col_index)
256
+
257
+ def TryGetHeaderCellOfColumn(self, cells_collection: FsCellsCollection, column: FsRangeColumn) -> FsCell | None:
258
+ this: FsTable = self
259
+ return this.TryGetHeaderCellOfColumnAt(cells_collection, FsRangeColumn__get_Index(column))
260
+
261
+ @staticmethod
262
+ def try_get_header_cell_of_column(cells_collection: FsCellsCollection, column: FsRangeColumn, table: FsTable) -> FsCell | None:
263
+ return table.TryGetHeaderCellOfColumn(cells_collection, column)
264
+
265
+ def GetHeaderCellOfColumnAt(self, cells_collection: FsCellsCollection, col_index: int) -> FsCell:
266
+ this: FsTable = self
267
+ return value_2(this.TryGetHeaderCellOfColumnAt(cells_collection, col_index))
268
+
269
+ @staticmethod
270
+ def get_header_cell_of_column_index_at(cells_collection: FsCellsCollection, col_index: int, table: FsTable) -> FsCell:
271
+ return table.GetHeaderCellOfColumnAt(cells_collection, col_index)
272
+
273
+ def GetHeaderCellOfColumn(self, cells_collection: FsCellsCollection, column: FsRangeColumn) -> FsCell:
274
+ this: FsTable = self
275
+ return value_2(this.TryGetHeaderCellOfColumn(cells_collection, column))
276
+
277
+ @staticmethod
278
+ def get_header_cell_of_column(cells_collection: FsCellsCollection, column: FsRangeColumn, table: FsTable) -> FsCell:
279
+ return table.GetHeaderCellOfColumn(cells_collection, column)
280
+
281
+ def GetHeaderCellOfTableField(self, cells_collection: FsCellsCollection, table_field: FsTableField) -> FsCell:
282
+ this: FsTable = self
283
+ return FsTableField__HeaderCell_10EBE01C(table_field, cells_collection, this.ShowHeaderRow)
284
+
285
+ @staticmethod
286
+ def get_header_cell_of_table_field(cells_collection: FsCellsCollection, table_field: FsTableField, table: FsTable) -> FsCell:
287
+ return table.GetHeaderCellOfTableField(cells_collection, table_field)
288
+
289
+ def TryGetHeaderCellOfTableFieldAt(self, cells_collection: FsCellsCollection, table_field_index: int) -> FsCell | None:
290
+ this: FsTable = self
291
+ def chooser(tf: FsTableField) -> FsCell | None:
292
+ if FsTableField__get_Index(tf) == table_field_index:
293
+ return FsTableField__HeaderCell_10EBE01C(tf, cells_collection, this.ShowHeaderRow)
294
+
295
+ else:
296
+ return None
297
+
298
+
299
+ return try_pick(chooser, this._fieldNames.values())
300
+
301
+ @staticmethod
302
+ def try_get_header_cell_of_table_field_index_at(cells_collection: FsCellsCollection, table_field_index: int, table: FsTable) -> FsCell | None:
303
+ return table.TryGetHeaderCellOfTableFieldAt(cells_collection, table_field_index)
304
+
305
+ def GetHeaderCellOfTableFieldAt(self, cells_collection: FsCellsCollection, table_field_index: int) -> FsCell:
306
+ this: FsTable = self
307
+ return value_2(this.TryGetHeaderCellOfTableFieldAt(cells_collection, table_field_index))
308
+
309
+ @staticmethod
310
+ def get_header_cell_of_table_field_index_at(cells_collection: FsCellsCollection, table_field_index: int, table: FsTable) -> FsCell:
311
+ return table.GetHeaderCellOfTableFieldAt(cells_collection, table_field_index)
312
+
313
+ def TryGetHeaderCellByFieldName(self, cells_collection: FsCellsCollection, field_name: str) -> FsCell | None:
314
+ this: FsTable = self
315
+ match_value: FsTableField | None = Dictionary_tryGet(field_name, this._fieldNames)
316
+ return None if (match_value is None) else FsTableField__HeaderCell_10EBE01C(match_value, cells_collection, this.ShowHeaderRow)
317
+
318
+ @staticmethod
319
+ def try_get_header_cell_by_field_name(cells_collection: FsCellsCollection, field_name: str, table: FsTable) -> FsCell | None:
320
+ return table.TryGetHeaderCellByFieldName(cells_collection, field_name)
321
+
322
+ def GetDataCellsOfColumnAt(self, cells_collection: FsCellsCollection, col_index: int) -> IEnumerable_1[FsCell]:
323
+ this: FsTable = self
324
+ def chooser(ri: int) -> FsCell | None:
325
+ return FsCellsCollection__TryGetCell_Z37302880(cells_collection, ri, col_index)
326
+
327
+ return choose(chooser, to_list(range_big_int(FsAddress__get_RowNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(this))) + 1, 1, FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(this))))))
328
+
329
+ @staticmethod
330
+ def get_data_cells_of_column_index_at(cells_collection: FsCellsCollection, col_index: int, table: FsTable) -> IEnumerable_1[FsCell]:
331
+ return table.GetDataCellsOfColumnAt(cells_collection, col_index)
332
+
333
+ def Copy(self, __unit: None=None) -> FsTable:
334
+ this: FsTable = self
335
+ ra: FsRangeAddress = FsRangeAddress__Copy(FsRangeBase__get_RangeAddress(this))
336
+ return FsTable(this.Name, ra, False, this.ShowHeaderRow)
337
+
338
+ @staticmethod
339
+ def copy(table: FsTable) -> FsTable:
340
+ return table.Copy()
341
+
342
+ def RescanFieldNames(self, cells_collection: FsCellsCollection) -> None:
343
+ this: FsTable = self
344
+ if this.ShowHeaderRow:
345
+ old_field_names: Any = this._fieldNames
346
+ this._fieldNames = dict([])
347
+ cell_pos: int = 0
348
+ with get_enumerator(this.GetHeaderRow(cells_collection)) as enumerator:
349
+ while enumerator.System_Collections_IEnumerator_MoveNext():
350
+ cell: FsCell = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
351
+ name: str = cell.ValueAsString()
352
+ match_value: FsTableField | None = Dictionary_tryGet(name, old_field_names)
353
+ if match_value is None:
354
+ if (name is None) != (name == ""):
355
+ name = this.GetUniqueName("Column", cell_pos + 1, True)
356
+ value: None = cell.SetValueAs(name)
357
+ ignore(None)
358
+ cell.DataType = DataType(0)
359
+
360
+ if name in this._fieldNames:
361
+ raise Exception(("The header row contains more than one field name \'" + name) + "\'.")
362
+
363
+ add_to_dict(this._fieldNames, name, FsTableField__ctor_Z18115A39(name, cell_pos))
364
+ cell_pos = (cell_pos + 1) or 0
365
+
366
+ else:
367
+ table_field: FsTableField = match_value
368
+ FsTableField__set_Index_Z524259A4(table_field, cell_pos)
369
+ add_to_dict(this._fieldNames, name, table_field)
370
+ cell_pos = (cell_pos + 1) or 0
371
+
372
+
373
+ else:
374
+ col_count: int = FsRangeBase__ColumnCount(this) or 0
375
+ for i in range(1, col_count + 1, 1):
376
+ def predicate(v: FsTableField) -> bool:
377
+ return FsTableField__get_Index(v) == (i - 1)
378
+
379
+ if not exists(predicate, this._fieldNames.values()):
380
+ name_1: str = "Column" + int32_to_string(i)
381
+ add_to_dict(this._fieldNames, name_1, FsTableField__ctor_Z18115A39(name_1, i - 1))
382
+
383
+
384
+
385
+
386
+ FsTable_reflection = _expr202
387
+
388
+ def FsTable__ctor_30096B47(name: str, range_address: FsRangeAddress, show_totals_row: bool | None=None, show_header_row: bool | None=None) -> FsTable:
389
+ return FsTable(name, range_address, show_totals_row, show_header_row)
390
+
391
+
392
+ __all__ = ["FsTable_reflection"]
393
+