arctrl 3.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arctrl/__init__.py +23 -0
- arctrl/cwl.py +12 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwlprocessing_unit.py +221 -0
- arctrl/py/CWL/cwltypes.py +364 -0
- arctrl/py/CWL/decode.py +3532 -0
- arctrl/py/CWL/encode.py +1905 -0
- arctrl/py/CWL/expression_tool_description.py +192 -0
- arctrl/py/CWL/hash_helpers.py +60 -0
- arctrl/py/CWL/inputs.py +122 -0
- arctrl/py/CWL/operation_description.py +169 -0
- arctrl/py/CWL/outputs.py +171 -0
- arctrl/py/CWL/parameter_reference.py +74 -0
- arctrl/py/CWL/requirements.py +350 -0
- arctrl/py/CWL/tool_description.py +192 -0
- arctrl/py/CWL/workflow_description.py +181 -0
- arctrl/py/CWL/workflow_steps.py +354 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +89 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +291 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +213 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +396 -0
- arctrl/py/Contract/git.py +116 -0
- arctrl/py/Contract/license.py +58 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +350 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Conversion/__init__.py +0 -0
- arctrl/py/Conversion/assay.py +151 -0
- arctrl/py/Conversion/basic.py +559 -0
- arctrl/py/Conversion/column_index.py +91 -0
- arctrl/py/Conversion/datamap.py +36 -0
- arctrl/py/Conversion/date_time.py +32 -0
- arctrl/py/Conversion/investigation.py +171 -0
- arctrl/py/Conversion/person.py +148 -0
- arctrl/py/Conversion/process.py +828 -0
- arctrl/py/Conversion/run.py +367 -0
- arctrl/py/Conversion/scholarly_article.py +163 -0
- arctrl/py/Conversion/study.py +99 -0
- arctrl/py/Conversion/table.py +229 -0
- arctrl/py/Conversion/workflow.py +680 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +512 -0
- arctrl/py/Core/Helper/date_time.py +26 -0
- arctrl/py/Core/Helper/hash_codes.py +60 -0
- arctrl/py/Core/Helper/identifier.py +290 -0
- arctrl/py/Core/Helper/orcid.py +42 -0
- arctrl/py/Core/Helper/printer.py +13 -0
- arctrl/py/Core/Helper/regex.py +554 -0
- arctrl/py/Core/Helper/sem_ver.py +71 -0
- arctrl/py/Core/Helper/url.py +148 -0
- arctrl/py/Core/Process/__init__.py +0 -0
- arctrl/py/Core/Process/column_index.py +280 -0
- arctrl/py/Core/Process/component.py +200 -0
- arctrl/py/Core/Process/factor.py +151 -0
- arctrl/py/Core/Process/factor_value.py +182 -0
- arctrl/py/Core/Process/material.py +74 -0
- arctrl/py/Core/Process/material_attribute.py +95 -0
- arctrl/py/Core/Process/material_attribute_value.py +184 -0
- arctrl/py/Core/Process/material_type.py +45 -0
- arctrl/py/Core/Process/process.py +477 -0
- arctrl/py/Core/Process/process_input.py +265 -0
- arctrl/py/Core/Process/process_output.py +235 -0
- arctrl/py/Core/Process/process_parameter_value.py +200 -0
- arctrl/py/Core/Process/process_sequence.py +435 -0
- arctrl/py/Core/Process/protocol.py +175 -0
- arctrl/py/Core/Process/protocol_parameter.py +98 -0
- arctrl/py/Core/Process/sample.py +82 -0
- arctrl/py/Core/Process/source.py +62 -0
- arctrl/py/Core/Table/__init__.py +0 -0
- arctrl/py/Core/Table/arc_table.py +1206 -0
- arctrl/py/Core/Table/arc_table_aux.py +1308 -0
- arctrl/py/Core/Table/arc_tables.py +574 -0
- arctrl/py/Core/Table/composite_cell.py +319 -0
- arctrl/py/Core/Table/composite_column.py +73 -0
- arctrl/py/Core/Table/composite_header.py +739 -0
- arctrl/py/Core/__init__.py +0 -0
- arctrl/py/Core/arc_types.py +5312 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1375 -0
- arctrl/py/Core/data.py +247 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/datamap.py +217 -0
- arctrl/py/Core/identifier_setters.py +43 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +298 -0
- arctrl/py/Core/ontology_source_reference.py +114 -0
- arctrl/py/Core/person.py +259 -0
- arctrl/py/Core/publication.py +161 -0
- arctrl/py/Core/template.py +231 -0
- arctrl/py/Core/templates.py +148 -0
- arctrl/py/Core/uri.py +11 -0
- arctrl/py/Core/value.py +188 -0
- arctrl/py/FileSystem/__init__.py +0 -0
- arctrl/py/FileSystem/commit.py +21 -0
- arctrl/py/FileSystem/default_gitattributes.py +1 -0
- arctrl/py/FileSystem/default_gitignore.py +1 -0
- arctrl/py/FileSystem/default_license.py +1 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +483 -0
- arctrl/py/FileSystem/path.py +266 -0
- arctrl/py/Json/Datamap/__init__.py +0 -0
- arctrl/py/Json/Datamap/data_context.py +101 -0
- arctrl/py/Json/Datamap/datamap.py +53 -0
- arctrl/py/Json/Process/__init__.py +0 -0
- arctrl/py/Json/Process/assay_materials.py +46 -0
- arctrl/py/Json/Process/component.py +125 -0
- arctrl/py/Json/Process/factor.py +107 -0
- arctrl/py/Json/Process/factor_value.py +101 -0
- arctrl/py/Json/Process/material.py +226 -0
- arctrl/py/Json/Process/material_attribute.py +79 -0
- arctrl/py/Json/Process/material_attribute_value.py +101 -0
- arctrl/py/Json/Process/material_type.py +53 -0
- arctrl/py/Json/Process/process.py +296 -0
- arctrl/py/Json/Process/process_input.py +83 -0
- arctrl/py/Json/Process/process_output.py +67 -0
- arctrl/py/Json/Process/process_parameter_value.py +81 -0
- arctrl/py/Json/Process/protocol.py +354 -0
- arctrl/py/Json/Process/protocol_parameter.py +91 -0
- arctrl/py/Json/Process/sample.py +277 -0
- arctrl/py/Json/Process/source.py +214 -0
- arctrl/py/Json/Process/study_materials.py +52 -0
- arctrl/py/Json/Process/value.py +56 -0
- arctrl/py/Json/ROCrate/__init__.py +0 -0
- arctrl/py/Json/ROCrate/ldcontext.py +143 -0
- arctrl/py/Json/ROCrate/ldgraph.py +117 -0
- arctrl/py/Json/ROCrate/ldnode.py +304 -0
- arctrl/py/Json/ROCrate/ldref.py +44 -0
- arctrl/py/Json/ROCrate/ldvalue.py +102 -0
- arctrl/py/Json/Table/__init__.py +0 -0
- arctrl/py/Json/Table/arc_table.py +375 -0
- arctrl/py/Json/Table/cell_table.py +83 -0
- arctrl/py/Json/Table/composite_cell.py +136 -0
- arctrl/py/Json/Table/composite_header.py +67 -0
- arctrl/py/Json/Table/iotype.py +24 -0
- arctrl/py/Json/Table/oatable.py +82 -0
- arctrl/py/Json/Table/templates.py +281 -0
- arctrl/py/Json/__init__.py +0 -0
- arctrl/py/Json/assay.py +600 -0
- arctrl/py/Json/comment.py +206 -0
- arctrl/py/Json/context/rocrate/__init__.py +0 -0
- arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
- arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
- arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
- arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
- arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
- arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
- arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
- arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
- arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
- arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
- arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
- arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
- arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
- arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
- arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
- arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
- arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
- arctrl/py/Json/converter_options.py +23 -0
- arctrl/py/Json/data.py +356 -0
- arctrl/py/Json/data_file.py +63 -0
- arctrl/py/Json/decode.py +271 -0
- arctrl/py/Json/encode.py +140 -0
- arctrl/py/Json/idtable.py +44 -0
- arctrl/py/Json/investigation.py +695 -0
- arctrl/py/Json/ontology_annotation.py +404 -0
- arctrl/py/Json/ontology_source_reference.py +255 -0
- arctrl/py/Json/person.py +658 -0
- arctrl/py/Json/property_value.py +359 -0
- arctrl/py/Json/publication.py +279 -0
- arctrl/py/Json/run.py +275 -0
- arctrl/py/Json/string_table.py +87 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/Json/workflow.py +307 -0
- arctrl/py/JsonIO/Process/__init__.py +0 -0
- arctrl/py/JsonIO/Process/component.py +60 -0
- arctrl/py/JsonIO/Process/factor.py +36 -0
- arctrl/py/JsonIO/Process/factor_value.py +38 -0
- arctrl/py/JsonIO/Process/material.py +60 -0
- arctrl/py/JsonIO/Process/material_attribute.py +38 -0
- arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
- arctrl/py/JsonIO/Process/material_type.py +36 -0
- arctrl/py/JsonIO/Process/process.py +60 -0
- arctrl/py/JsonIO/Process/process_input.py +38 -0
- arctrl/py/JsonIO/Process/process_output.py +60 -0
- arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
- arctrl/py/JsonIO/Process/process_sequence.py +71 -0
- arctrl/py/JsonIO/Process/protocol.py +60 -0
- arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
- arctrl/py/JsonIO/Process/sample.py +60 -0
- arctrl/py/JsonIO/Process/source.py +60 -0
- arctrl/py/JsonIO/Process/study_materials.py +52 -0
- arctrl/py/JsonIO/Process/value.py +32 -0
- arctrl/py/JsonIO/Table/__init__.py +0 -0
- arctrl/py/JsonIO/Table/arc_table.py +103 -0
- arctrl/py/JsonIO/Table/composite_cell.py +36 -0
- arctrl/py/JsonIO/Table/composite_header.py +36 -0
- arctrl/py/JsonIO/Table/compression.py +67 -0
- arctrl/py/JsonIO/Table/iotype.py +36 -0
- arctrl/py/JsonIO/Table/templates.py +113 -0
- arctrl/py/JsonIO/__init__.py +0 -0
- arctrl/py/JsonIO/assay.py +113 -0
- arctrl/py/JsonIO/comment.py +80 -0
- arctrl/py/JsonIO/data.py +60 -0
- arctrl/py/JsonIO/data_file.py +58 -0
- arctrl/py/JsonIO/datamap.py +36 -0
- arctrl/py/JsonIO/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +91 -0
- arctrl/py/JsonIO/ldobject.py +106 -0
- arctrl/py/JsonIO/ontology_annotation.py +80 -0
- arctrl/py/JsonIO/ontology_source_reference.py +80 -0
- arctrl/py/JsonIO/person.py +82 -0
- arctrl/py/JsonIO/publication.py +82 -0
- arctrl/py/JsonIO/run.py +68 -0
- arctrl/py/JsonIO/study.py +114 -0
- arctrl/py/JsonIO/workflow.py +68 -0
- arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
- arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
- arctrl/py/ROCrate/ISAProfile/data.py +65 -0
- arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
- arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
- arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
- arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
- arctrl/py/ROCrate/ISAProfile/person.py +72 -0
- arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
- arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
- arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
- arctrl/py/ROCrate/ISAProfile/study.py +74 -0
- arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
- arctrl/py/ROCrate/LDTypes/comment.py +131 -0
- arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
- arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
- arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
- arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
- arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
- arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
- arctrl/py/ROCrate/LDTypes/file.py +281 -0
- arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
- arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
- arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
- arctrl/py/ROCrate/LDTypes/organization.py +83 -0
- arctrl/py/ROCrate/LDTypes/person.py +484 -0
- arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
- arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
- arctrl/py/ROCrate/LDTypes/sample.py +202 -0
- arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
- arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
- arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
- arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
- arctrl/py/ROCrate/__init__.py +0 -0
- arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
- arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
- arctrl/py/ROCrate/helper.py +8 -0
- arctrl/py/ROCrate/ldcontext.py +406 -0
- arctrl/py/ROCrate/ldobject.py +1247 -0
- arctrl/py/ROCrate/rocrate_context.py +51 -0
- arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
- arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
- arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
- arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
- arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
- arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
- arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
- arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
- arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
- arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
- arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
- arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
- arctrl/py/Spreadsheet/Metadata/run.py +122 -0
- arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +435 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +177 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/datamap.py +43 -0
- arctrl/py/Spreadsheet/template.py +460 -0
- arctrl/py/ValidationPackages/__init__.py +0 -0
- arctrl/py/ValidationPackages/validation_package.py +82 -0
- arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
- arctrl/py/WebRequest/__init__.py +0 -0
- arctrl/py/WebRequest/web_request.py +9 -0
- arctrl/py/WebRequest/web_request_py.py +135 -0
- arctrl/py/WorkflowGraph/__init__.py +0 -0
- arctrl/py/WorkflowGraph/adapters.py +141 -0
- arctrl/py/WorkflowGraph/build_options.py +45 -0
- arctrl/py/WorkflowGraph/builder.py +720 -0
- arctrl/py/WorkflowGraph/graph_types.py +260 -0
- arctrl/py/WorkflowGraph/query_helpers.py +76 -0
- arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
- arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
- arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
- arctrl/py/Yaml/__init__.py +0 -0
- arctrl/py/Yaml/decode.py +1 -0
- arctrl/py/Yaml/encode.py +10 -0
- arctrl/py/Yaml/validation_package.py +77 -0
- arctrl/py/Yaml/validation_packages_config.py +86 -0
- arctrl/py/__init__.py +0 -0
- arctrl/py/arc.py +1891 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +142 -0
- arctrl/py/cross_async.py +76 -0
- arctrl/py/cwlrun_resolver.py +228 -0
- arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
- arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
- arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
- arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
- arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
- arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
- arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
- arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
- arctrl/py/fable_modules/fable_library/__init__.py +0 -0
- arctrl/py/fable_modules/fable_library/array_.py +1528 -0
- arctrl/py/fable_modules/fable_library/async_.py +377 -0
- arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
- arctrl/py/fable_modules/fable_library/big_int.py +330 -0
- arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
- arctrl/py/fable_modules/fable_library/boolean.py +26 -0
- arctrl/py/fable_modules/fable_library/char.py +237 -0
- arctrl/py/fable_modules/fable_library/choice.py +212 -0
- arctrl/py/fable_modules/fable_library/date.py +779 -0
- arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
- arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
- arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
- arctrl/py/fable_modules/fable_library/double.py +87 -0
- arctrl/py/fable_modules/fable_library/encoding.py +41 -0
- arctrl/py/fable_modules/fable_library/event.py +206 -0
- arctrl/py/fable_modules/fable_library/file.py +107 -0
- arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
- arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
- arctrl/py/fable_modules/fable_library/global_.py +63 -0
- arctrl/py/fable_modules/fable_library/guid.py +41 -0
- arctrl/py/fable_modules/fable_library/int32.py +73 -0
- arctrl/py/fable_modules/fable_library/list.py +1788 -0
- arctrl/py/fable_modules/fable_library/long.py +240 -0
- arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
- arctrl/py/fable_modules/fable_library/map.py +1854 -0
- arctrl/py/fable_modules/fable_library/map_util.py +148 -0
- arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
- arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
- arctrl/py/fable_modules/fable_library/native.py +45 -0
- arctrl/py/fable_modules/fable_library/numeric.py +46 -0
- arctrl/py/fable_modules/fable_library/observable.py +222 -0
- arctrl/py/fable_modules/fable_library/option.py +128 -0
- arctrl/py/fable_modules/fable_library/path.py +62 -0
- arctrl/py/fable_modules/fable_library/range.py +117 -0
- arctrl/py/fable_modules/fable_library/reflection.py +463 -0
- arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
- arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
- arctrl/py/fable_modules/fable_library/result.py +212 -0
- arctrl/py/fable_modules/fable_library/seq.py +1979 -0
- arctrl/py/fable_modules/fable_library/seq2.py +221 -0
- arctrl/py/fable_modules/fable_library/set.py +2414 -0
- arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
- arctrl/py/fable_modules/fable_library/string_.py +573 -0
- arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
- arctrl/py/fable_modules/fable_library/system_text.py +237 -0
- arctrl/py/fable_modules/fable_library/task.py +116 -0
- arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
- arctrl/py/fable_modules/fable_library/thread.py +5 -0
- arctrl/py/fable_modules/fable_library/time_span.py +283 -0
- arctrl/py/fable_modules/fable_library/timer.py +24 -0
- arctrl/py/fable_modules/fable_library/types.py +401 -0
- arctrl/py/fable_modules/fable_library/uri.py +109 -0
- arctrl/py/fable_modules/fable_library/util.py +2735 -0
- arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
- arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
- arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
- arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
- arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
- arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
- arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
- arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/siren/__init__.py +0 -0
- arctrl/py/fable_modules/siren/config.py +1038 -0
- arctrl/py/fable_modules/siren/formatting.py +1121 -0
- arctrl/py/fable_modules/siren/siren.py +1941 -0
- arctrl/py/fable_modules/siren/siren_types.py +1229 -0
- arctrl/py/fable_modules/siren/theme_variables.py +517 -0
- arctrl/py/fable_modules/siren/util.py +37 -0
- arctrl/py/fable_modules/siren/yaml.py +101 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
- arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
- arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
- arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
- arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
- arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
- arctrl/py/fable_modules/yamlicious/encode.py +84 -0
- arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
- arctrl/py/fable_modules/yamlicious/library.py +10 -0
- arctrl/py/fable_modules/yamlicious/persil.py +57 -0
- arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
- arctrl/py/fable_modules/yamlicious/reader.py +739 -0
- arctrl/py/fable_modules/yamlicious/regex.py +29 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +389 -0
- arctrl/py/license.py +169 -0
- arctrl/py/rocrate_io.py +242 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +212 -0
- arctrl/py/yaml.py +79 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0.dist-info/METADATA +157 -0
- arctrl-3.0.0.dist-info/RECORD +511 -0
- arctrl-3.0.0.dist-info/WHEEL +4 -0
- arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,1206 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import Any
|
|
4
|
+
from ...fable_modules.fable_library.array_ import (iterate as iterate_2, sort_descending)
|
|
5
|
+
from ...fable_modules.fable_library.list import (FSharpList, is_empty, iterate, append)
|
|
6
|
+
from ...fable_modules.fable_library.map_util import get_item_from_dict
|
|
7
|
+
from ...fable_modules.fable_library.option import (default_arg, map as map_1)
|
|
8
|
+
from ...fable_modules.fable_library.range import range_big_int
|
|
9
|
+
from ...fable_modules.fable_library.reflection import (TypeInfo, class_type)
|
|
10
|
+
from ...fable_modules.fable_library.seq import (to_array, delay, map, remove_at, iterate as iterate_1, try_find_index, length, collect, singleton, choose, indexed, to_list, map_indexed, append as append_1)
|
|
11
|
+
from ...fable_modules.fable_library.string_ import (to_fail, printf, join)
|
|
12
|
+
from ...fable_modules.fable_library.system_text import (StringBuilder__ctor, StringBuilder__AppendLine_Z721C83C5)
|
|
13
|
+
from ...fable_modules.fable_library.types import (Array, to_string)
|
|
14
|
+
from ...fable_modules.fable_library.util import (ignore, IEnumerable_1, get_enumerator, compare_primitives, equals, dispose, safe_hash)
|
|
15
|
+
from ..Helper.collections_ import (ResizeArray_map, ResizeArray_iteri, ResizeArray_singleton, ResizeArray_iter, ResizeArray_init, ResizeArray_choose, ResizeArray_mapi, ResizeArray_groupBy, ResizeArray_indexed)
|
|
16
|
+
from ..Helper.hash_codes import (box_hash_array, box_hash_seq)
|
|
17
|
+
from ..ontology_annotation import OntologyAnnotation
|
|
18
|
+
from .arc_table_aux import (SanityChecks_validateArcTableValues, ArcTableValues, Unchecked_tryGetCellAt, SanityChecks_validateColumnIndex, SanityChecks_validateRowIndex, Unchecked_getCellWithDefault, Unchecked_setCellAt, try_find_duplicate_unique, SanityChecks_validateColumn, Unchecked_addColumn, Unchecked_addColumnFill, Unchecked_removeHeader, Unchecked_removeColumnCells, try_find_duplicate_unique_in_array, Unchecked_removeColumnCells_withIndexChange, ColumnValueRefs, get_empty_cell_for_header, Unchecked_moveColumnTo, Unchecked_addRow, Unchecked_addEmptyRow, Unchecked_addRows, Unchecked_removeRowCells_withIndexChange, Unchecked_alignByHeaders, SanityChecks_validateCellColumns)
|
|
19
|
+
from .composite_cell import CompositeCell
|
|
20
|
+
from .composite_column import CompositeColumn
|
|
21
|
+
from .composite_header import CompositeHeader
|
|
22
|
+
|
|
23
|
+
def _expr1300() -> TypeInfo:
|
|
24
|
+
return class_type("ARCtrl.ArcTable", None, ArcTable)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ArcTable:
|
|
28
|
+
def __init__(self, name: str, headers: Array[CompositeHeader] | None=None, columns: Array[Array[CompositeCell]] | None=None) -> None:
|
|
29
|
+
headers_1: Array[CompositeHeader] = default_arg(headers, [])
|
|
30
|
+
columns_1: Array[Array[CompositeCell]] = default_arg(columns, [])
|
|
31
|
+
valid: bool = SanityChecks_validateCellColumns(headers_1, columns_1, True)
|
|
32
|
+
self._values: ArcTableValues = ArcTableValues.from_cell_columns(columns_1)
|
|
33
|
+
self._name: str = name
|
|
34
|
+
self._headers: Array[CompositeHeader] = headers_1
|
|
35
|
+
|
|
36
|
+
@property
|
|
37
|
+
def ValueMap(self, __unit: None=None) -> Any:
|
|
38
|
+
this: ArcTable = self
|
|
39
|
+
return this._values.ValueMap
|
|
40
|
+
|
|
41
|
+
@ValueMap.setter
|
|
42
|
+
def ValueMap(self, value_map: Any) -> None:
|
|
43
|
+
this: ArcTable = self
|
|
44
|
+
this._values.ValueMap = value_map
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def ColumnRefs(self, __unit: None=None) -> Any:
|
|
48
|
+
this: ArcTable = self
|
|
49
|
+
return this._values.Columns
|
|
50
|
+
|
|
51
|
+
@ColumnRefs.setter
|
|
52
|
+
def ColumnRefs(self, internal_column_refs: Any) -> None:
|
|
53
|
+
this: ArcTable = self
|
|
54
|
+
this._values.Columns = internal_column_refs
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def Headers(self, __unit: None=None) -> Array[CompositeHeader]:
|
|
58
|
+
this: ArcTable = self
|
|
59
|
+
return this._headers
|
|
60
|
+
|
|
61
|
+
@Headers.setter
|
|
62
|
+
def Headers(self, new_headers: Array[CompositeHeader]) -> None:
|
|
63
|
+
this: ArcTable = self
|
|
64
|
+
ignore(SanityChecks_validateArcTableValues(new_headers, this._values, True))
|
|
65
|
+
this._headers = new_headers
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def Values(self, __unit: None=None) -> ArcTableValues:
|
|
69
|
+
this: ArcTable = self
|
|
70
|
+
return this._values
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def Name(self, __unit: None=None) -> str:
|
|
74
|
+
this: ArcTable = self
|
|
75
|
+
return this._name
|
|
76
|
+
|
|
77
|
+
@Name.setter
|
|
78
|
+
def Name(self, new_name: str) -> None:
|
|
79
|
+
this: ArcTable = self
|
|
80
|
+
this._name = new_name
|
|
81
|
+
|
|
82
|
+
@staticmethod
|
|
83
|
+
def create(name: str, headers: Array[CompositeHeader], values: Array[Array[CompositeCell]]) -> ArcTable:
|
|
84
|
+
return ArcTable(name, headers, values)
|
|
85
|
+
|
|
86
|
+
@staticmethod
|
|
87
|
+
def init(name: str) -> ArcTable:
|
|
88
|
+
return ArcTable(name, [], [])
|
|
89
|
+
|
|
90
|
+
@staticmethod
|
|
91
|
+
def from_arc_table_values(name: str, headers: Array[CompositeHeader], values: ArcTableValues) -> ArcTable:
|
|
92
|
+
t: ArcTable = ArcTable.init(name)
|
|
93
|
+
t.Headers = headers
|
|
94
|
+
t.ValueMap = values.ValueMap
|
|
95
|
+
t.ColumnRefs = values.Columns
|
|
96
|
+
t.RowCount = values.RowCount or 0
|
|
97
|
+
return t
|
|
98
|
+
|
|
99
|
+
@staticmethod
|
|
100
|
+
def create_from_rows(name: str, headers: Array[CompositeHeader], rows: Array[Array[CompositeCell]]) -> ArcTable:
|
|
101
|
+
t: ArcTable = ArcTable(name, headers)
|
|
102
|
+
t.AddRows(rows)
|
|
103
|
+
return t
|
|
104
|
+
|
|
105
|
+
def Validate(self, raise_exception: bool | None=None) -> bool:
|
|
106
|
+
this: ArcTable = self
|
|
107
|
+
raise_exception_1: bool = default_arg(raise_exception, True)
|
|
108
|
+
return SanityChecks_validateArcTableValues(this.Headers, this.Values, raise_exception_1)
|
|
109
|
+
|
|
110
|
+
@staticmethod
|
|
111
|
+
def validate(raise_exception: bool | None=None) -> Callable[[ArcTable], bool]:
|
|
112
|
+
def _arrow1227(table: ArcTable) -> bool:
|
|
113
|
+
return table.Validate(raise_exception)
|
|
114
|
+
|
|
115
|
+
return _arrow1227
|
|
116
|
+
|
|
117
|
+
@property
|
|
118
|
+
def ColumnCount(self, __unit: None=None) -> int:
|
|
119
|
+
this: ArcTable = self
|
|
120
|
+
return len(this.Headers)
|
|
121
|
+
|
|
122
|
+
@staticmethod
|
|
123
|
+
def column_count(table: ArcTable) -> int:
|
|
124
|
+
return table.ColumnCount
|
|
125
|
+
|
|
126
|
+
@property
|
|
127
|
+
def RowCount(self, __unit: None=None) -> int:
|
|
128
|
+
this: ArcTable = self
|
|
129
|
+
return this._values.RowCount
|
|
130
|
+
|
|
131
|
+
@RowCount.setter
|
|
132
|
+
def RowCount(self, new_row_count: int) -> None:
|
|
133
|
+
this: ArcTable = self
|
|
134
|
+
this._values.RowCount = new_row_count or 0
|
|
135
|
+
|
|
136
|
+
@staticmethod
|
|
137
|
+
def row_count(table: ArcTable) -> int:
|
|
138
|
+
return table.RowCount
|
|
139
|
+
|
|
140
|
+
@staticmethod
|
|
141
|
+
def set_row_count(new_row_count: int) -> Callable[[ArcTable], ArcTable]:
|
|
142
|
+
def _arrow1229(table: ArcTable) -> ArcTable:
|
|
143
|
+
new_table: ArcTable = table.Copy()
|
|
144
|
+
new_table.RowCount = new_row_count or 0
|
|
145
|
+
return new_table
|
|
146
|
+
|
|
147
|
+
return _arrow1229
|
|
148
|
+
|
|
149
|
+
@property
|
|
150
|
+
def Columns(self, __unit: None=None) -> Array[CompositeColumn]:
|
|
151
|
+
this: ArcTable = self
|
|
152
|
+
def _arrow1231(__unit: None=None) -> IEnumerable_1[CompositeColumn]:
|
|
153
|
+
def _arrow1230(i: int) -> CompositeColumn:
|
|
154
|
+
return this.GetColumn(i)
|
|
155
|
+
|
|
156
|
+
return map(_arrow1230, range_big_int(0, 1, this.ColumnCount - 1))
|
|
157
|
+
|
|
158
|
+
return list(to_array(delay(_arrow1231)))
|
|
159
|
+
|
|
160
|
+
def Copy(self, __unit: None=None) -> ArcTable:
|
|
161
|
+
this: ArcTable = self
|
|
162
|
+
def f(h: CompositeHeader) -> CompositeHeader:
|
|
163
|
+
return h.Copy()
|
|
164
|
+
|
|
165
|
+
next_headers: Array[CompositeHeader] = ResizeArray_map(f, this.Headers)
|
|
166
|
+
next_values: ArcTableValues = this._values.Copy()
|
|
167
|
+
return ArcTable.from_arc_table_values(this.Name, next_headers, next_values)
|
|
168
|
+
|
|
169
|
+
def TryGetCellAt(self, column: int, row: int) -> CompositeCell | None:
|
|
170
|
+
this: ArcTable = self
|
|
171
|
+
return Unchecked_tryGetCellAt(column, row, this._values)
|
|
172
|
+
|
|
173
|
+
@staticmethod
|
|
174
|
+
def try_get_cell_at(column: int, row: int) -> Callable[[ArcTable], CompositeCell | None]:
|
|
175
|
+
def _arrow1233(table: ArcTable) -> CompositeCell | None:
|
|
176
|
+
return table.TryGetCellAt(column, row)
|
|
177
|
+
|
|
178
|
+
return _arrow1233
|
|
179
|
+
|
|
180
|
+
def GetCellAt(self, column: int, row: int) -> CompositeCell:
|
|
181
|
+
this: ArcTable = self
|
|
182
|
+
SanityChecks_validateColumnIndex(column, this.ColumnCount, False)
|
|
183
|
+
SanityChecks_validateRowIndex(row, this.RowCount, False)
|
|
184
|
+
return Unchecked_getCellWithDefault(column, row, this._headers, this._values)
|
|
185
|
+
|
|
186
|
+
@staticmethod
|
|
187
|
+
def get_cell_at(column: int, row: int) -> Callable[[ArcTable], CompositeCell]:
|
|
188
|
+
def _arrow1235(table: ArcTable) -> CompositeCell:
|
|
189
|
+
return table.GetCellAt(column, row)
|
|
190
|
+
|
|
191
|
+
return _arrow1235
|
|
192
|
+
|
|
193
|
+
def IterColumns(self, action: Callable[[CompositeColumn], None]) -> None:
|
|
194
|
+
this: ArcTable = self
|
|
195
|
+
for column_index in range(0, (this.ColumnCount - 1) + 1, 1):
|
|
196
|
+
action(this.GetColumn(column_index))
|
|
197
|
+
|
|
198
|
+
@staticmethod
|
|
199
|
+
def iter_columns(action: Callable[[CompositeColumn], None]) -> Callable[[ArcTable], ArcTable]:
|
|
200
|
+
def _arrow1236(table: ArcTable) -> ArcTable:
|
|
201
|
+
copy: ArcTable = table.Copy()
|
|
202
|
+
copy.IterColumns(action)
|
|
203
|
+
return copy
|
|
204
|
+
|
|
205
|
+
return _arrow1236
|
|
206
|
+
|
|
207
|
+
def IteriColumns(self, action: Callable[[int, CompositeColumn], None]) -> None:
|
|
208
|
+
this: ArcTable = self
|
|
209
|
+
for column_index in range(0, (this.ColumnCount - 1) + 1, 1):
|
|
210
|
+
action(column_index, this.GetColumn(column_index))
|
|
211
|
+
|
|
212
|
+
@staticmethod
|
|
213
|
+
def iteri_columns(action: Callable[[int, CompositeColumn], None]) -> Callable[[ArcTable], ArcTable]:
|
|
214
|
+
def _arrow1237(table: ArcTable) -> ArcTable:
|
|
215
|
+
copy: ArcTable = table.Copy()
|
|
216
|
+
copy.IteriColumns(action)
|
|
217
|
+
return copy
|
|
218
|
+
|
|
219
|
+
return _arrow1237
|
|
220
|
+
|
|
221
|
+
def UpdateCellAt(self, column_index: int, row_index: int, c: CompositeCell, skip_validation: bool | None=None) -> None:
|
|
222
|
+
this: ArcTable = self
|
|
223
|
+
if not default_arg(skip_validation, False):
|
|
224
|
+
SanityChecks_validateColumnIndex(column_index, this.ColumnCount, False)
|
|
225
|
+
SanityChecks_validateRowIndex(row_index, this.RowCount, False)
|
|
226
|
+
ignore(c.ValidateAgainstHeader(this.Headers[column_index], True))
|
|
227
|
+
|
|
228
|
+
Unchecked_setCellAt(column_index, row_index, c, this._values)
|
|
229
|
+
|
|
230
|
+
@staticmethod
|
|
231
|
+
def update_cell_at(column_index: int, row_index: int, cell: CompositeCell, skip_validation: bool | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
232
|
+
def _arrow1239(table: ArcTable) -> ArcTable:
|
|
233
|
+
new_table: ArcTable = table.Copy()
|
|
234
|
+
new_table.UpdateCellAt(column_index, row_index, cell, skip_validation)
|
|
235
|
+
return new_table
|
|
236
|
+
|
|
237
|
+
return _arrow1239
|
|
238
|
+
|
|
239
|
+
def SetCellAt(self, column_index: int, row_index: int, c: CompositeCell, skip_validation: bool | None=None) -> None:
|
|
240
|
+
this: ArcTable = self
|
|
241
|
+
if not default_arg(skip_validation, False):
|
|
242
|
+
SanityChecks_validateColumnIndex(column_index, this.ColumnCount, False)
|
|
243
|
+
ignore(c.ValidateAgainstHeader(this.Headers[column_index], True))
|
|
244
|
+
|
|
245
|
+
Unchecked_setCellAt(column_index, row_index, c, this._values)
|
|
246
|
+
|
|
247
|
+
@staticmethod
|
|
248
|
+
def set_cell_at(column_index: int, row_index: int, cell: CompositeCell, skip_validation: bool | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
249
|
+
def _arrow1240(table: ArcTable) -> ArcTable:
|
|
250
|
+
new_table: ArcTable = table.Copy()
|
|
251
|
+
new_table.SetCellAt(column_index, row_index, cell, skip_validation)
|
|
252
|
+
return new_table
|
|
253
|
+
|
|
254
|
+
return _arrow1240
|
|
255
|
+
|
|
256
|
+
def UpdateCellsBy(self, f: Callable[[int, int, CompositeCell], CompositeCell], skip_validation: bool | None=None) -> None:
|
|
257
|
+
this: ArcTable = self
|
|
258
|
+
skip_validation_1: bool = default_arg(skip_validation, False)
|
|
259
|
+
with get_enumerator(this._values) as enumerator:
|
|
260
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
261
|
+
kv: Any = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
262
|
+
pattern_input: tuple[int, int] = kv[0]
|
|
263
|
+
ri: int = pattern_input[1] or 0
|
|
264
|
+
ci: int = pattern_input[0] or 0
|
|
265
|
+
new_cell: CompositeCell = f(ci, ri, kv[1])
|
|
266
|
+
if not skip_validation_1:
|
|
267
|
+
ignore(new_cell.ValidateAgainstHeader(this.Headers[ci], True))
|
|
268
|
+
|
|
269
|
+
Unchecked_setCellAt(ci, ri, new_cell, this._values)
|
|
270
|
+
|
|
271
|
+
@staticmethod
|
|
272
|
+
def update_cells_by(f: Callable[[int, int, CompositeCell], CompositeCell], skip_validation: bool | None=None) -> Callable[[ArcTable], None]:
|
|
273
|
+
def _arrow1243(table: ArcTable) -> None:
|
|
274
|
+
new_table: ArcTable = table.Copy()
|
|
275
|
+
new_table.UpdateCellsBy(f, skip_validation)
|
|
276
|
+
|
|
277
|
+
return _arrow1243
|
|
278
|
+
|
|
279
|
+
def UpdateCellBy(self, column_index: int, row_index: int, f: Callable[[CompositeCell], CompositeCell], skip_validation: bool | None=None) -> None:
|
|
280
|
+
this: ArcTable = self
|
|
281
|
+
skip_validation_1: bool = default_arg(skip_validation, False)
|
|
282
|
+
if not skip_validation_1:
|
|
283
|
+
SanityChecks_validateColumnIndex(column_index, this.ColumnCount, False)
|
|
284
|
+
SanityChecks_validateRowIndex(row_index, this.RowCount, False)
|
|
285
|
+
|
|
286
|
+
new_cell: CompositeCell = f(this.GetCellAt(column_index, row_index))
|
|
287
|
+
if not skip_validation_1:
|
|
288
|
+
ignore(new_cell.ValidateAgainstHeader(this.Headers[column_index], True))
|
|
289
|
+
|
|
290
|
+
Unchecked_setCellAt(column_index, row_index, new_cell, this._values)
|
|
291
|
+
|
|
292
|
+
@staticmethod
|
|
293
|
+
def update_cell_by(column_index: int, row_index: int, f: Callable[[CompositeCell], CompositeCell], skip_validation: bool | None=None) -> Callable[[ArcTable], None]:
|
|
294
|
+
def _arrow1246(table: ArcTable) -> None:
|
|
295
|
+
new_table: ArcTable = table.Copy()
|
|
296
|
+
new_table.UpdateCellBy(column_index, row_index, f, skip_validation)
|
|
297
|
+
|
|
298
|
+
return _arrow1246
|
|
299
|
+
|
|
300
|
+
def UpdateHeader(self, index: int, new_header: CompositeHeader, force_convert_cells: bool | None=None) -> None:
|
|
301
|
+
this: ArcTable = self
|
|
302
|
+
force_convert_cells_1: bool = default_arg(force_convert_cells, False)
|
|
303
|
+
SanityChecks_validateColumnIndex(index, this.ColumnCount, False)
|
|
304
|
+
header: CompositeHeader = new_header
|
|
305
|
+
match_value: int | None = try_find_duplicate_unique(header, remove_at(index, this.Headers))
|
|
306
|
+
if match_value is not None:
|
|
307
|
+
raise Exception(((("Invalid input. Tried setting unique header `" + str(header)) + "`, but header of same type already exists at index ") + str(match_value)) + ".")
|
|
308
|
+
|
|
309
|
+
c: CompositeColumn = CompositeColumn(new_header, this.GetColumn(index).Cells)
|
|
310
|
+
if c.Validate():
|
|
311
|
+
set_header: None
|
|
312
|
+
this.Headers[index] = new_header
|
|
313
|
+
|
|
314
|
+
elif force_convert_cells_1:
|
|
315
|
+
def f(c_1: CompositeCell) -> CompositeCell:
|
|
316
|
+
if c_1.is_free_text:
|
|
317
|
+
return c_1.ToTermCell()
|
|
318
|
+
|
|
319
|
+
else:
|
|
320
|
+
return c_1
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
def f_1(c_2: CompositeCell) -> CompositeCell:
|
|
324
|
+
return c_2.ToFreeTextCell()
|
|
325
|
+
|
|
326
|
+
converted_cells: Array[CompositeCell] = ResizeArray_map(f, c.Cells) if new_header.IsTermColumn else ResizeArray_map(f_1, c.Cells)
|
|
327
|
+
this.UpdateColumn(index, new_header, converted_cells)
|
|
328
|
+
|
|
329
|
+
else:
|
|
330
|
+
raise Exception("Tried setting header for column with invalid type of cells. Set `forceConvertCells` flag to automatically convert cells into valid CompositeCell type.")
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
@staticmethod
|
|
334
|
+
def update_header(index: int, header: CompositeHeader) -> Callable[[ArcTable], ArcTable]:
|
|
335
|
+
def _arrow1247(table: ArcTable) -> ArcTable:
|
|
336
|
+
new_table: ArcTable = table.Copy()
|
|
337
|
+
new_table.UpdateHeader(index, header)
|
|
338
|
+
return new_table
|
|
339
|
+
|
|
340
|
+
return _arrow1247
|
|
341
|
+
|
|
342
|
+
def AddColumn(self, header: CompositeHeader, cells: Array[CompositeCell] | None=None, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
343
|
+
this: ArcTable = self
|
|
344
|
+
index_1: int = default_arg(index, this.ColumnCount) or 0
|
|
345
|
+
cells_1: Array[CompositeCell] = default_arg(cells, [])
|
|
346
|
+
force_replace_1: bool = default_arg(force_replace, False)
|
|
347
|
+
SanityChecks_validateColumnIndex(index_1, this.ColumnCount, True)
|
|
348
|
+
SanityChecks_validateColumn(CompositeColumn.create(header, cells_1))
|
|
349
|
+
Unchecked_addColumn(header, cells_1, index_1, force_replace_1, False, this.Headers, this._values)
|
|
350
|
+
|
|
351
|
+
@staticmethod
|
|
352
|
+
def add_column(header: CompositeHeader, cells: Array[CompositeCell] | None=None, index: int | None=None, force_replace: bool | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
353
|
+
def _arrow1248(table: ArcTable) -> ArcTable:
|
|
354
|
+
new_table: ArcTable = table.Copy()
|
|
355
|
+
new_table.AddColumn(header, cells, index, force_replace)
|
|
356
|
+
return new_table
|
|
357
|
+
|
|
358
|
+
return _arrow1248
|
|
359
|
+
|
|
360
|
+
def AddColumnFill(self, header: CompositeHeader, cell: CompositeCell, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
361
|
+
this: ArcTable = self
|
|
362
|
+
index_1: int = default_arg(index, this.ColumnCount) or 0
|
|
363
|
+
force_replace_1: bool = default_arg(force_replace, False)
|
|
364
|
+
SanityChecks_validateColumnIndex(index_1, this.ColumnCount, True)
|
|
365
|
+
SanityChecks_validateColumn(CompositeColumn.create(header, [cell]))
|
|
366
|
+
Unchecked_addColumnFill(header, cell, index_1, force_replace_1, False, this.Headers, this._values)
|
|
367
|
+
|
|
368
|
+
@staticmethod
|
|
369
|
+
def add_column_fill(header: CompositeHeader, cell: CompositeCell, index: int | None=None, force_replace: bool | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
370
|
+
def _arrow1249(table: ArcTable) -> ArcTable:
|
|
371
|
+
new_table: ArcTable = table.Copy()
|
|
372
|
+
new_table.AddColumnFill(header, cell, index, force_replace)
|
|
373
|
+
return new_table
|
|
374
|
+
|
|
375
|
+
return _arrow1249
|
|
376
|
+
|
|
377
|
+
def UpdateColumn(self, column_index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> None:
|
|
378
|
+
this: ArcTable = self
|
|
379
|
+
SanityChecks_validateColumnIndex(column_index, this.ColumnCount, False)
|
|
380
|
+
column: CompositeColumn = CompositeColumn.create(header, cells)
|
|
381
|
+
SanityChecks_validateColumn(column)
|
|
382
|
+
header_1: CompositeHeader = column.Header
|
|
383
|
+
match_value: int | None = try_find_duplicate_unique(header_1, remove_at(column_index, this.Headers))
|
|
384
|
+
if match_value is not None:
|
|
385
|
+
raise Exception(((("Invalid input. Tried setting unique header `" + str(header_1)) + "`, but header of same type already exists at index ") + str(match_value)) + ".")
|
|
386
|
+
|
|
387
|
+
Unchecked_removeHeader(column_index, this.Headers)
|
|
388
|
+
Unchecked_removeColumnCells(column_index, this._values)
|
|
389
|
+
this.Headers.insert(column_index, column.Header)
|
|
390
|
+
def f(row_index: int, v: CompositeCell) -> None:
|
|
391
|
+
Unchecked_setCellAt(column_index, row_index, v, this._values)
|
|
392
|
+
|
|
393
|
+
ResizeArray_iteri(f, column.Cells)
|
|
394
|
+
|
|
395
|
+
@staticmethod
|
|
396
|
+
def update_column(column_index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
397
|
+
def _arrow1250(table: ArcTable) -> ArcTable:
|
|
398
|
+
new_table: ArcTable = table.Copy()
|
|
399
|
+
new_table.UpdateColumn(column_index, header, cells)
|
|
400
|
+
return new_table
|
|
401
|
+
|
|
402
|
+
return _arrow1250
|
|
403
|
+
|
|
404
|
+
def InsertColumn(self, index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> None:
|
|
405
|
+
this: ArcTable = self
|
|
406
|
+
this.AddColumn(header, cells, index, False)
|
|
407
|
+
|
|
408
|
+
@staticmethod
|
|
409
|
+
def insert_column(index: int, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
410
|
+
def _arrow1251(table: ArcTable) -> ArcTable:
|
|
411
|
+
new_table: ArcTable = table.Copy()
|
|
412
|
+
new_table.InsertColumn(index, header, cells)
|
|
413
|
+
return new_table
|
|
414
|
+
|
|
415
|
+
return _arrow1251
|
|
416
|
+
|
|
417
|
+
def AppendColumn(self, header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> None:
|
|
418
|
+
this: ArcTable = self
|
|
419
|
+
this.AddColumn(header, cells, this.ColumnCount, False)
|
|
420
|
+
|
|
421
|
+
@staticmethod
|
|
422
|
+
def append_column(header: CompositeHeader, cells: Array[CompositeCell] | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
423
|
+
def _arrow1252(table: ArcTable) -> ArcTable:
|
|
424
|
+
new_table: ArcTable = table.Copy()
|
|
425
|
+
new_table.AppendColumn(header, cells)
|
|
426
|
+
return new_table
|
|
427
|
+
|
|
428
|
+
return _arrow1252
|
|
429
|
+
|
|
430
|
+
def AddColumns(self, columns: IEnumerable_1[CompositeColumn], index: int | None=None, force_replace: bool | None=None) -> None:
|
|
431
|
+
this: ArcTable = self
|
|
432
|
+
index_1: int = default_arg(index, this.ColumnCount) or 0
|
|
433
|
+
force_replace_1: bool = default_arg(force_replace, False)
|
|
434
|
+
SanityChecks_validateColumnIndex(index_1, this.ColumnCount, True)
|
|
435
|
+
def mapping(x: CompositeColumn) -> CompositeHeader:
|
|
436
|
+
return x.Header
|
|
437
|
+
|
|
438
|
+
duplicates: FSharpList[dict[str, Any]] = try_find_duplicate_unique_in_array(map(mapping, columns))
|
|
439
|
+
if not is_empty(duplicates):
|
|
440
|
+
sb: Any = StringBuilder__ctor()
|
|
441
|
+
ignore(StringBuilder__AppendLine_Z721C83C5(sb, "Found duplicate unique columns in `columns`."))
|
|
442
|
+
def action(x_1: dict[str, Any]) -> None:
|
|
443
|
+
ignore(StringBuilder__AppendLine_Z721C83C5(sb, ((((("Duplicate `" + str(x_1["HeaderType"])) + "` at index ") + str(x_1["Index1"])) + " and ") + str(x_1["Index2"])) + "."))
|
|
444
|
+
|
|
445
|
+
iterate(action, duplicates)
|
|
446
|
+
raise Exception(to_string(sb))
|
|
447
|
+
|
|
448
|
+
def action_1(x_2: CompositeColumn) -> None:
|
|
449
|
+
SanityChecks_validateColumn(x_2)
|
|
450
|
+
|
|
451
|
+
iterate_1(action_1, columns)
|
|
452
|
+
def action_2(col: CompositeColumn) -> None:
|
|
453
|
+
nonlocal index_1
|
|
454
|
+
prev_headers_count: int = len(this.Headers) or 0
|
|
455
|
+
Unchecked_addColumn(col.Header, col.Cells, index_1, force_replace_1, False, this.Headers, this._values)
|
|
456
|
+
if len(this.Headers) > prev_headers_count:
|
|
457
|
+
index_1 = (index_1 + 1) or 0
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
iterate_1(action_2, columns)
|
|
461
|
+
|
|
462
|
+
@staticmethod
|
|
463
|
+
def add_columns(columns: Array[CompositeColumn], index: int | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
464
|
+
def _arrow1253(table: ArcTable) -> ArcTable:
|
|
465
|
+
new_table: ArcTable = table.Copy()
|
|
466
|
+
new_table.AddColumns(columns, index)
|
|
467
|
+
return new_table
|
|
468
|
+
|
|
469
|
+
return _arrow1253
|
|
470
|
+
|
|
471
|
+
def RemoveColumn(self, index: int) -> None:
|
|
472
|
+
this: ArcTable = self
|
|
473
|
+
SanityChecks_validateColumnIndex(index, this.ColumnCount, False)
|
|
474
|
+
column_count: int = this.ColumnCount or 0
|
|
475
|
+
Unchecked_removeHeader(index, this.Headers)
|
|
476
|
+
Unchecked_removeColumnCells_withIndexChange(index, column_count, this._values)
|
|
477
|
+
|
|
478
|
+
@staticmethod
|
|
479
|
+
def remove_column(index: int) -> Callable[[ArcTable], ArcTable]:
|
|
480
|
+
def _arrow1254(table: ArcTable) -> ArcTable:
|
|
481
|
+
new_table: ArcTable = table.Copy()
|
|
482
|
+
new_table.RemoveColumn(index)
|
|
483
|
+
return new_table
|
|
484
|
+
|
|
485
|
+
return _arrow1254
|
|
486
|
+
|
|
487
|
+
def RemoveColumns(self, index_arr: Array[int]) -> None:
|
|
488
|
+
this: ArcTable = self
|
|
489
|
+
def _arrow1255(index: int) -> None:
|
|
490
|
+
SanityChecks_validateColumnIndex(index, this.ColumnCount, False)
|
|
491
|
+
|
|
492
|
+
iterate_2(_arrow1255, index_arr)
|
|
493
|
+
def _arrow1256(index_1: int) -> None:
|
|
494
|
+
this.RemoveColumn(index_1)
|
|
495
|
+
|
|
496
|
+
class ObjectExpr1257:
|
|
497
|
+
@property
|
|
498
|
+
def Compare(self) -> Callable[[int, int], int]:
|
|
499
|
+
return compare_primitives
|
|
500
|
+
|
|
501
|
+
iterate_2(_arrow1256, sort_descending(index_arr, ObjectExpr1257()))
|
|
502
|
+
|
|
503
|
+
@staticmethod
|
|
504
|
+
def remove_columns(index_arr: Array[int]) -> Callable[[ArcTable], ArcTable]:
|
|
505
|
+
def _arrow1258(table: ArcTable) -> ArcTable:
|
|
506
|
+
new_table: ArcTable = table.Copy()
|
|
507
|
+
new_table.RemoveColumns(index_arr)
|
|
508
|
+
return new_table
|
|
509
|
+
|
|
510
|
+
return _arrow1258
|
|
511
|
+
|
|
512
|
+
def GetColumn(self, column_index: int, fail_on_missing_cell: bool | None=None) -> CompositeColumn:
|
|
513
|
+
this: ArcTable = self
|
|
514
|
+
fail_on_missing_cell_1: bool = default_arg(fail_on_missing_cell, False)
|
|
515
|
+
SanityChecks_validateColumnIndex(column_index, this.ColumnCount, False)
|
|
516
|
+
h: CompositeHeader = this.Headers[column_index]
|
|
517
|
+
cells: Array[CompositeCell] = []
|
|
518
|
+
if this.RowCount != 0:
|
|
519
|
+
col: ColumnValueRefs = get_item_from_dict(this._values.Columns, column_index)
|
|
520
|
+
if col.tag == 1:
|
|
521
|
+
vals: Any = col.fields[0]
|
|
522
|
+
empty_cell: CompositeCell = get_empty_cell_for_header(h, None)
|
|
523
|
+
for row_index in range(0, (this.RowCount - 1) + 1, 1):
|
|
524
|
+
if row_index in vals:
|
|
525
|
+
(cells.append(get_item_from_dict(this._values.ValueMap, get_item_from_dict(vals, row_index))))
|
|
526
|
+
|
|
527
|
+
elif fail_on_missing_cell_1:
|
|
528
|
+
to_fail(printf("Could not return column: Unable to find cell for index: (%i, %i)"))(column_index)(row_index)
|
|
529
|
+
|
|
530
|
+
else:
|
|
531
|
+
(cells.append(empty_cell))
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
else:
|
|
535
|
+
c: CompositeCell = get_item_from_dict(this._values.ValueMap, col.fields[0])
|
|
536
|
+
for i in range(0, (this.RowCount - 1) + 1, 1):
|
|
537
|
+
(cells.append(c))
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
return CompositeColumn.create(h, cells)
|
|
541
|
+
|
|
542
|
+
@staticmethod
|
|
543
|
+
def get_column(index: int, fail_on_missing_cell: bool | None=None) -> Callable[[ArcTable], CompositeColumn]:
|
|
544
|
+
def _arrow1259(table: ArcTable) -> CompositeColumn:
|
|
545
|
+
return table.GetColumn(index, fail_on_missing_cell)
|
|
546
|
+
|
|
547
|
+
return _arrow1259
|
|
548
|
+
|
|
549
|
+
def TryGetColumnByHeader(self, header: CompositeHeader, fail_on_missing_cell: bool | None=None) -> CompositeColumn | None:
|
|
550
|
+
this: ArcTable = self
|
|
551
|
+
def mapping(i: int) -> CompositeColumn:
|
|
552
|
+
return this.GetColumn(i, fail_on_missing_cell)
|
|
553
|
+
|
|
554
|
+
def predicate(x: CompositeHeader) -> bool:
|
|
555
|
+
return equals(x, header)
|
|
556
|
+
|
|
557
|
+
return map_1(mapping, try_find_index(predicate, this.Headers))
|
|
558
|
+
|
|
559
|
+
@staticmethod
|
|
560
|
+
def try_get_column_by_header(header: CompositeHeader, fail_on_missing_cell: bool | None=None) -> Callable[[ArcTable], CompositeColumn | None]:
|
|
561
|
+
def _arrow1260(table: ArcTable) -> CompositeColumn | None:
|
|
562
|
+
return table.TryGetColumnByHeader(header, fail_on_missing_cell)
|
|
563
|
+
|
|
564
|
+
return _arrow1260
|
|
565
|
+
|
|
566
|
+
def TryGetColumnByHeaderBy(self, header_predicate: Callable[[CompositeHeader], bool], fail_on_missing_cell: bool | None=None) -> CompositeColumn | None:
|
|
567
|
+
this: ArcTable = self
|
|
568
|
+
def mapping(i: int) -> CompositeColumn:
|
|
569
|
+
return this.GetColumn(i, fail_on_missing_cell)
|
|
570
|
+
|
|
571
|
+
return map_1(mapping, try_find_index(header_predicate, this.Headers))
|
|
572
|
+
|
|
573
|
+
@staticmethod
|
|
574
|
+
def try_get_column_by_header_by(header_predicate: Callable[[CompositeHeader], bool], fail_on_missing_cell: bool | None=None) -> Callable[[ArcTable], CompositeColumn | None]:
|
|
575
|
+
def _arrow1261(table: ArcTable) -> CompositeColumn | None:
|
|
576
|
+
return table.TryGetColumnByHeaderBy(header_predicate, fail_on_missing_cell)
|
|
577
|
+
|
|
578
|
+
return _arrow1261
|
|
579
|
+
|
|
580
|
+
def GetColumnByHeader(self, header: CompositeHeader, fail_on_missing_cell: bool | None=None) -> CompositeColumn:
|
|
581
|
+
this: ArcTable = self
|
|
582
|
+
match_value: CompositeColumn | None = this.TryGetColumnByHeader(header, fail_on_missing_cell)
|
|
583
|
+
if match_value is None:
|
|
584
|
+
arg: str = this.Name
|
|
585
|
+
return to_fail(printf("Unable to find column with header in table %s: %O"))(arg)(header)
|
|
586
|
+
|
|
587
|
+
else:
|
|
588
|
+
return match_value
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
@staticmethod
|
|
592
|
+
def get_column_by_header(header: CompositeHeader, fail_on_missing_cell: bool | None=None) -> Callable[[ArcTable], CompositeColumn]:
|
|
593
|
+
def _arrow1262(table: ArcTable) -> CompositeColumn:
|
|
594
|
+
return table.GetColumnByHeader(header, fail_on_missing_cell)
|
|
595
|
+
|
|
596
|
+
return _arrow1262
|
|
597
|
+
|
|
598
|
+
def TryGetInputColumn(self, __unit: None=None) -> CompositeColumn | None:
|
|
599
|
+
this: ArcTable = self
|
|
600
|
+
def mapping(i: int) -> CompositeColumn:
|
|
601
|
+
return this.GetColumn(i)
|
|
602
|
+
|
|
603
|
+
def predicate(x: CompositeHeader) -> bool:
|
|
604
|
+
return x.is_input
|
|
605
|
+
|
|
606
|
+
return map_1(mapping, try_find_index(predicate, this.Headers))
|
|
607
|
+
|
|
608
|
+
@staticmethod
|
|
609
|
+
def try_get_input_column(__unit: None=None) -> Callable[[ArcTable], CompositeColumn | None]:
|
|
610
|
+
def _arrow1263(table: ArcTable) -> CompositeColumn | None:
|
|
611
|
+
return table.TryGetInputColumn()
|
|
612
|
+
|
|
613
|
+
return _arrow1263
|
|
614
|
+
|
|
615
|
+
def GetInputColumn(self, __unit: None=None) -> CompositeColumn:
|
|
616
|
+
this: ArcTable = self
|
|
617
|
+
match_value: CompositeColumn | None = this.TryGetInputColumn()
|
|
618
|
+
if match_value is None:
|
|
619
|
+
arg: str = this.Name
|
|
620
|
+
return to_fail(printf("Unable to find input column in table %s"))(arg)
|
|
621
|
+
|
|
622
|
+
else:
|
|
623
|
+
return match_value
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
@staticmethod
|
|
627
|
+
def get_input_column(__unit: None=None) -> Callable[[ArcTable], CompositeColumn]:
|
|
628
|
+
def _arrow1264(table: ArcTable) -> CompositeColumn:
|
|
629
|
+
return table.GetInputColumn()
|
|
630
|
+
|
|
631
|
+
return _arrow1264
|
|
632
|
+
|
|
633
|
+
def TryGetOutputColumn(self, __unit: None=None) -> CompositeColumn | None:
|
|
634
|
+
this: ArcTable = self
|
|
635
|
+
def mapping(i: int) -> CompositeColumn:
|
|
636
|
+
return this.GetColumn(i)
|
|
637
|
+
|
|
638
|
+
def predicate(x: CompositeHeader) -> bool:
|
|
639
|
+
return x.is_output
|
|
640
|
+
|
|
641
|
+
return map_1(mapping, try_find_index(predicate, this.Headers))
|
|
642
|
+
|
|
643
|
+
@staticmethod
|
|
644
|
+
def try_get_output_column(__unit: None=None) -> Callable[[ArcTable], CompositeColumn | None]:
|
|
645
|
+
def _arrow1265(table: ArcTable) -> CompositeColumn | None:
|
|
646
|
+
return table.TryGetOutputColumn()
|
|
647
|
+
|
|
648
|
+
return _arrow1265
|
|
649
|
+
|
|
650
|
+
def GetOutputColumn(self, __unit: None=None) -> CompositeColumn:
|
|
651
|
+
this: ArcTable = self
|
|
652
|
+
match_value: CompositeColumn | None = this.TryGetOutputColumn()
|
|
653
|
+
if match_value is None:
|
|
654
|
+
arg: str = this.Name
|
|
655
|
+
return to_fail(printf("Unable to find output column in table %s"))(arg)
|
|
656
|
+
|
|
657
|
+
else:
|
|
658
|
+
return match_value
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
@staticmethod
|
|
662
|
+
def get_output_column(__unit: None=None) -> Callable[[ArcTable], CompositeColumn]:
|
|
663
|
+
def _arrow1266(table: ArcTable) -> CompositeColumn:
|
|
664
|
+
return table.GetOutputColumn()
|
|
665
|
+
|
|
666
|
+
return _arrow1266
|
|
667
|
+
|
|
668
|
+
def MoveColumn(self, start_col: int, end_col: int) -> None:
|
|
669
|
+
this: ArcTable = self
|
|
670
|
+
if start_col == end_col:
|
|
671
|
+
pass
|
|
672
|
+
|
|
673
|
+
elif True if (start_col < 0) else (start_col >= this.ColumnCount):
|
|
674
|
+
to_fail(printf("Cannt move column. Invalid start column index: %i"))(start_col)
|
|
675
|
+
|
|
676
|
+
elif True if (end_col < 0) else (end_col >= this.ColumnCount):
|
|
677
|
+
to_fail(printf("Cannt move column. Invalid end column index: %i"))(end_col)
|
|
678
|
+
|
|
679
|
+
else:
|
|
680
|
+
Unchecked_moveColumnTo(start_col, end_col, this.Headers, this._values)
|
|
681
|
+
|
|
682
|
+
|
|
683
|
+
@staticmethod
|
|
684
|
+
def move_column(start_col: int, end_col: int) -> Callable[[ArcTable], ArcTable]:
|
|
685
|
+
def _arrow1267(table: ArcTable) -> ArcTable:
|
|
686
|
+
new_table: ArcTable = table.Copy()
|
|
687
|
+
new_table.MoveColumn(start_col, end_col)
|
|
688
|
+
return new_table
|
|
689
|
+
|
|
690
|
+
return _arrow1267
|
|
691
|
+
|
|
692
|
+
def AddRow(self, cells: Array[CompositeCell] | None=None, index: int | None=None) -> None:
|
|
693
|
+
this: ArcTable = self
|
|
694
|
+
index_1: int = default_arg(index, this.RowCount) or 0
|
|
695
|
+
SanityChecks_validateRowIndex(index_1, this.RowCount, True)
|
|
696
|
+
if cells is not None:
|
|
697
|
+
cells_1: Array[CompositeCell] = cells
|
|
698
|
+
column_count: int = this.ColumnCount or 0
|
|
699
|
+
new_cells_count: int = length(cells_1) or 0
|
|
700
|
+
if column_count == 0:
|
|
701
|
+
raise Exception("Table contains no columns! Cannot add row to empty table!")
|
|
702
|
+
|
|
703
|
+
elif new_cells_count != column_count:
|
|
704
|
+
raise Exception(((("Cannot add a new row with " + str(new_cells_count)) + " cells, as the table has ") + str(column_count)) + " columns.")
|
|
705
|
+
|
|
706
|
+
for column_index in range(0, (this.ColumnCount - 1) + 1, 1):
|
|
707
|
+
h: CompositeHeader = this.Headers[column_index]
|
|
708
|
+
column: CompositeColumn = CompositeColumn.create(h, [cells_1[column_index]])
|
|
709
|
+
ignore(cells_1[column_index].ValidateAgainstHeader(h, True))
|
|
710
|
+
Unchecked_addRow(index_1, cells_1, this.Headers, this._values)
|
|
711
|
+
|
|
712
|
+
else:
|
|
713
|
+
Unchecked_addEmptyRow(index_1, this._values)
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
@staticmethod
|
|
717
|
+
def add_row(cells: Array[CompositeCell] | None=None, index: int | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
718
|
+
def _arrow1268(table: ArcTable) -> ArcTable:
|
|
719
|
+
new_table: ArcTable = table.Copy()
|
|
720
|
+
new_table.AddRow(cells, index)
|
|
721
|
+
return new_table
|
|
722
|
+
|
|
723
|
+
return _arrow1268
|
|
724
|
+
|
|
725
|
+
def UpdateRow(self, row_index: int, cells: Array[CompositeCell]) -> None:
|
|
726
|
+
this: ArcTable = self
|
|
727
|
+
SanityChecks_validateRowIndex(row_index, this.RowCount, False)
|
|
728
|
+
column_count: int = this.RowCount or 0
|
|
729
|
+
new_cells_count: int = length(cells) or 0
|
|
730
|
+
if column_count == 0:
|
|
731
|
+
raise Exception("Table contains no columns! Cannot add row to empty table!")
|
|
732
|
+
|
|
733
|
+
elif new_cells_count != column_count:
|
|
734
|
+
raise Exception(((("Cannot add a new row with " + str(new_cells_count)) + " cells, as the table has ") + str(column_count)) + " columns.")
|
|
735
|
+
|
|
736
|
+
def f(i: int, cell: CompositeCell) -> None:
|
|
737
|
+
h: CompositeHeader = this.Headers[i]
|
|
738
|
+
SanityChecks_validateColumn(CompositeColumn.create(h, ResizeArray_singleton(cell)))
|
|
739
|
+
|
|
740
|
+
ResizeArray_iteri(f, cells)
|
|
741
|
+
def f_1(column_index: int, cell_1: CompositeCell) -> None:
|
|
742
|
+
Unchecked_setCellAt(column_index, row_index, cell_1, this._values)
|
|
743
|
+
|
|
744
|
+
ResizeArray_iteri(f_1, cells)
|
|
745
|
+
|
|
746
|
+
@staticmethod
|
|
747
|
+
def update_row(row_index: int, cells: Array[CompositeCell]) -> Callable[[ArcTable], ArcTable]:
|
|
748
|
+
def _arrow1269(table: ArcTable) -> ArcTable:
|
|
749
|
+
new_table: ArcTable = table.Copy()
|
|
750
|
+
new_table.UpdateRow(row_index, cells)
|
|
751
|
+
return new_table
|
|
752
|
+
|
|
753
|
+
return _arrow1269
|
|
754
|
+
|
|
755
|
+
def AppendRow(self, cells: Array[CompositeCell] | None=None) -> None:
|
|
756
|
+
this: ArcTable = self
|
|
757
|
+
this.AddRow(cells, this.RowCount)
|
|
758
|
+
|
|
759
|
+
@staticmethod
|
|
760
|
+
def append_row(cells: Array[CompositeCell] | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
761
|
+
def _arrow1270(table: ArcTable) -> ArcTable:
|
|
762
|
+
new_table: ArcTable = table.Copy()
|
|
763
|
+
new_table.AppendRow(cells)
|
|
764
|
+
return new_table
|
|
765
|
+
|
|
766
|
+
return _arrow1270
|
|
767
|
+
|
|
768
|
+
def InsertRow(self, index: int, cells: Array[CompositeCell] | None=None) -> None:
|
|
769
|
+
this: ArcTable = self
|
|
770
|
+
this.AddRow(cells, index)
|
|
771
|
+
|
|
772
|
+
@staticmethod
|
|
773
|
+
def insert_row(index: int, cells: Array[CompositeCell] | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
774
|
+
def _arrow1271(table: ArcTable) -> ArcTable:
|
|
775
|
+
new_table: ArcTable = table.Copy()
|
|
776
|
+
new_table.AddRow(cells, index)
|
|
777
|
+
return new_table
|
|
778
|
+
|
|
779
|
+
return _arrow1271
|
|
780
|
+
|
|
781
|
+
def AddRows(self, rows: Array[Array[CompositeCell]], index: int | None=None) -> None:
|
|
782
|
+
this: ArcTable = self
|
|
783
|
+
index_1: int = default_arg(index, this.RowCount) or 0
|
|
784
|
+
SanityChecks_validateRowIndex(index_1, this.RowCount, True)
|
|
785
|
+
def f(row: Array[CompositeCell]) -> None:
|
|
786
|
+
column_count: int = this.ColumnCount or 0
|
|
787
|
+
new_cells_count: int = length(row) or 0
|
|
788
|
+
if column_count == 0:
|
|
789
|
+
raise Exception("Table contains no columns! Cannot add row to empty table!")
|
|
790
|
+
|
|
791
|
+
elif new_cells_count != column_count:
|
|
792
|
+
raise Exception(((("Cannot add a new row with " + str(new_cells_count)) + " cells, as the table has ") + str(column_count)) + " columns.")
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
ResizeArray_iter(f, rows)
|
|
796
|
+
enumerator: Any = get_enumerator(rows)
|
|
797
|
+
try:
|
|
798
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
799
|
+
row_1: Array[CompositeCell] = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
800
|
+
for column_index in range(0, (this.ColumnCount - 1) + 1, 1):
|
|
801
|
+
h: CompositeHeader = this.Headers[column_index]
|
|
802
|
+
ignore(row_1[column_index].ValidateAgainstHeader(h, True))
|
|
803
|
+
|
|
804
|
+
finally:
|
|
805
|
+
dispose(enumerator)
|
|
806
|
+
|
|
807
|
+
Unchecked_addRows(index_1, rows, this.Headers, this._values)
|
|
808
|
+
|
|
809
|
+
@staticmethod
|
|
810
|
+
def add_rows(rows: Array[Array[CompositeCell]], index: int | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
811
|
+
def _arrow1272(table: ArcTable) -> ArcTable:
|
|
812
|
+
new_table: ArcTable = table.Copy()
|
|
813
|
+
new_table.AddRows(rows, index)
|
|
814
|
+
return new_table
|
|
815
|
+
|
|
816
|
+
return _arrow1272
|
|
817
|
+
|
|
818
|
+
def AddRowsEmpty(self, row_count: int, index: int | None=None) -> None:
|
|
819
|
+
this: ArcTable = self
|
|
820
|
+
def _arrow1274(__unit: None=None) -> IEnumerable_1[CompositeCell]:
|
|
821
|
+
def _arrow1273(column_index: int) -> IEnumerable_1[CompositeCell]:
|
|
822
|
+
return singleton(get_empty_cell_for_header(this.Headers[column_index], Unchecked_tryGetCellAt(column_index, 0, this._values)))
|
|
823
|
+
|
|
824
|
+
return collect(_arrow1273, range_big_int(0, 1, this.ColumnCount - 1))
|
|
825
|
+
|
|
826
|
+
row: Array[CompositeCell] = list(to_array(delay(_arrow1274)))
|
|
827
|
+
def _arrow1275(_arg: int) -> Array[CompositeCell]:
|
|
828
|
+
return row
|
|
829
|
+
|
|
830
|
+
rows: Array[Array[CompositeCell]] = ResizeArray_init(row_count, _arrow1275)
|
|
831
|
+
this.AddRows(rows, index)
|
|
832
|
+
|
|
833
|
+
@staticmethod
|
|
834
|
+
def add_rows_empty(row_count: int, index: int | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
835
|
+
def _arrow1276(table: ArcTable) -> ArcTable:
|
|
836
|
+
new_table: ArcTable = table.Copy()
|
|
837
|
+
new_table.AddRowsEmpty(row_count, index)
|
|
838
|
+
return new_table
|
|
839
|
+
|
|
840
|
+
return _arrow1276
|
|
841
|
+
|
|
842
|
+
def RemoveRow(self, index: int) -> None:
|
|
843
|
+
this: ArcTable = self
|
|
844
|
+
SanityChecks_validateRowIndex(index, this.RowCount, False)
|
|
845
|
+
Unchecked_removeRowCells_withIndexChange(index, this._values)
|
|
846
|
+
|
|
847
|
+
@staticmethod
|
|
848
|
+
def remove_row(index: int) -> Callable[[ArcTable], ArcTable]:
|
|
849
|
+
def _arrow1277(table: ArcTable) -> ArcTable:
|
|
850
|
+
new_table: ArcTable = table.Copy()
|
|
851
|
+
new_table.RemoveRow(index)
|
|
852
|
+
return new_table
|
|
853
|
+
|
|
854
|
+
return _arrow1277
|
|
855
|
+
|
|
856
|
+
def RemoveRows(self, index_arr: Array[int]) -> None:
|
|
857
|
+
this: ArcTable = self
|
|
858
|
+
def _arrow1278(index: int) -> None:
|
|
859
|
+
SanityChecks_validateRowIndex(index, this.RowCount, False)
|
|
860
|
+
|
|
861
|
+
iterate_2(_arrow1278, index_arr)
|
|
862
|
+
def _arrow1279(index_1: int) -> None:
|
|
863
|
+
this.RemoveRow(index_1)
|
|
864
|
+
|
|
865
|
+
class ObjectExpr1280:
|
|
866
|
+
@property
|
|
867
|
+
def Compare(self) -> Callable[[int, int], int]:
|
|
868
|
+
return compare_primitives
|
|
869
|
+
|
|
870
|
+
iterate_2(_arrow1279, sort_descending(index_arr, ObjectExpr1280()))
|
|
871
|
+
|
|
872
|
+
@staticmethod
|
|
873
|
+
def remove_rows(index_arr: Array[int]) -> Callable[[ArcTable], ArcTable]:
|
|
874
|
+
def _arrow1281(table: ArcTable) -> ArcTable:
|
|
875
|
+
new_table: ArcTable = table.Copy()
|
|
876
|
+
new_table.RemoveColumns(index_arr)
|
|
877
|
+
return new_table
|
|
878
|
+
|
|
879
|
+
return _arrow1281
|
|
880
|
+
|
|
881
|
+
def GetRow(self, row_index: int, SkipValidation: bool | None=None) -> Array[CompositeCell]:
|
|
882
|
+
this: ArcTable = self
|
|
883
|
+
if not equals(SkipValidation, True):
|
|
884
|
+
SanityChecks_validateRowIndex(row_index, this.RowCount, False)
|
|
885
|
+
|
|
886
|
+
def _arrow1283(__unit: None=None) -> IEnumerable_1[CompositeCell]:
|
|
887
|
+
def _arrow1282(column_index: int) -> CompositeCell:
|
|
888
|
+
return this.GetCellAt(column_index, row_index)
|
|
889
|
+
|
|
890
|
+
return map(_arrow1282, range_big_int(0, 1, this.ColumnCount - 1))
|
|
891
|
+
|
|
892
|
+
return list(to_array(delay(_arrow1283)))
|
|
893
|
+
|
|
894
|
+
@staticmethod
|
|
895
|
+
def get_row(index: int) -> Callable[[ArcTable], Array[CompositeCell]]:
|
|
896
|
+
def _arrow1284(table: ArcTable) -> Array[CompositeCell]:
|
|
897
|
+
return table.GetRow(index)
|
|
898
|
+
|
|
899
|
+
return _arrow1284
|
|
900
|
+
|
|
901
|
+
def Join(self, table: ArcTable, index: int | None=None, join_options: str | None=None, force_replace: bool | None=None) -> None:
|
|
902
|
+
this: ArcTable = self
|
|
903
|
+
join_options_1: str = default_arg(join_options, "headers")
|
|
904
|
+
force_replace_1: bool = default_arg(force_replace, False)
|
|
905
|
+
index_1: int = default_arg(index, this.ColumnCount) or 0
|
|
906
|
+
index_1 = (this.ColumnCount if (index_1 == -1) else index_1) or 0
|
|
907
|
+
SanityChecks_validateColumnIndex(index_1, this.ColumnCount, True)
|
|
908
|
+
only_headers: bool = join_options_1 == "headers"
|
|
909
|
+
columns: Array[CompositeColumn]
|
|
910
|
+
pre: Array[CompositeColumn] = table.Columns
|
|
911
|
+
def f_2(c_1: CompositeColumn) -> CompositeColumn:
|
|
912
|
+
units_opt: Array[OntologyAnnotation] | None = c_1.TryGetColumnUnits()
|
|
913
|
+
if units_opt is None:
|
|
914
|
+
return CompositeColumn(c_1.Header, [])
|
|
915
|
+
|
|
916
|
+
else:
|
|
917
|
+
def f_1(u: OntologyAnnotation, c_1: Any=c_1) -> CompositeCell:
|
|
918
|
+
return CompositeCell.create_unitized("", u)
|
|
919
|
+
|
|
920
|
+
return CompositeColumn(c_1.Header, ResizeArray_map(f_1, units_opt))
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
def f(c: CompositeColumn) -> CompositeColumn:
|
|
924
|
+
return CompositeColumn(c.Header, [])
|
|
925
|
+
|
|
926
|
+
columns = ResizeArray_map(f_2, pre) if (join_options_1 == "withUnit") else (pre if (join_options_1 == "withValues") else ResizeArray_map(f, pre))
|
|
927
|
+
def mapping(x: CompositeColumn) -> CompositeHeader:
|
|
928
|
+
return x.Header
|
|
929
|
+
|
|
930
|
+
duplicates: FSharpList[dict[str, Any]] = try_find_duplicate_unique_in_array(map(mapping, columns))
|
|
931
|
+
if not is_empty(duplicates):
|
|
932
|
+
sb: Any = StringBuilder__ctor()
|
|
933
|
+
ignore(StringBuilder__AppendLine_Z721C83C5(sb, "Found duplicate unique columns in `columns`."))
|
|
934
|
+
def action(x_1: dict[str, Any]) -> None:
|
|
935
|
+
ignore(StringBuilder__AppendLine_Z721C83C5(sb, ((((("Duplicate `" + str(x_1["HeaderType"])) + "` at index ") + str(x_1["Index1"])) + " and ") + str(x_1["Index2"])) + "."))
|
|
936
|
+
|
|
937
|
+
iterate(action, duplicates)
|
|
938
|
+
raise Exception(to_string(sb))
|
|
939
|
+
|
|
940
|
+
def f_3(x_2: CompositeColumn) -> None:
|
|
941
|
+
SanityChecks_validateColumn(x_2)
|
|
942
|
+
|
|
943
|
+
ResizeArray_iter(f_3, columns)
|
|
944
|
+
def f_4(col: CompositeColumn) -> None:
|
|
945
|
+
nonlocal index_1
|
|
946
|
+
prev_headers_count: int = len(this.Headers) or 0
|
|
947
|
+
Unchecked_addColumn(col.Header, col.Cells, index_1, force_replace_1, only_headers, this.Headers, this._values)
|
|
948
|
+
if len(this.Headers) > prev_headers_count:
|
|
949
|
+
index_1 = (index_1 + 1) or 0
|
|
950
|
+
|
|
951
|
+
|
|
952
|
+
ResizeArray_iter(f_4, columns)
|
|
953
|
+
|
|
954
|
+
@staticmethod
|
|
955
|
+
def join(table: ArcTable, index: int | None=None, join_options: str | None=None, force_replace: bool | None=None) -> Callable[[ArcTable], ArcTable]:
|
|
956
|
+
def _arrow1285(this: ArcTable) -> ArcTable:
|
|
957
|
+
copy: ArcTable = this.Copy()
|
|
958
|
+
copy.Join(table, index, join_options, force_replace)
|
|
959
|
+
return copy
|
|
960
|
+
|
|
961
|
+
return _arrow1285
|
|
962
|
+
|
|
963
|
+
def AddProtocolTypeColumn(self, types: Array[OntologyAnnotation] | None=None, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
964
|
+
this: ArcTable = self
|
|
965
|
+
def mapping(a: Array[OntologyAnnotation]) -> Array[CompositeCell]:
|
|
966
|
+
def f(Item: OntologyAnnotation, a: Any=a) -> CompositeCell:
|
|
967
|
+
return CompositeCell(0, Item)
|
|
968
|
+
|
|
969
|
+
return ResizeArray_map(f, a)
|
|
970
|
+
|
|
971
|
+
cells: Array[CompositeCell] | None = map_1(mapping, types)
|
|
972
|
+
this.AddColumn(CompositeHeader(4), cells, index, force_replace)
|
|
973
|
+
|
|
974
|
+
def AddProtocolVersionColumn(self, versions: Array[str] | None=None, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
975
|
+
this: ArcTable = self
|
|
976
|
+
def mapping(a: Array[str]) -> Array[CompositeCell]:
|
|
977
|
+
def f(Item: str, a: Any=a) -> CompositeCell:
|
|
978
|
+
return CompositeCell(1, Item)
|
|
979
|
+
|
|
980
|
+
return ResizeArray_map(f, a)
|
|
981
|
+
|
|
982
|
+
cells: Array[CompositeCell] | None = map_1(mapping, versions)
|
|
983
|
+
this.AddColumn(CompositeHeader(7), cells, index, force_replace)
|
|
984
|
+
|
|
985
|
+
def AddProtocolUriColumn(self, uris: Array[str] | None=None, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
986
|
+
this: ArcTable = self
|
|
987
|
+
def mapping(a: Array[str]) -> Array[CompositeCell]:
|
|
988
|
+
def f(Item: str, a: Any=a) -> CompositeCell:
|
|
989
|
+
return CompositeCell(1, Item)
|
|
990
|
+
|
|
991
|
+
return ResizeArray_map(f, a)
|
|
992
|
+
|
|
993
|
+
cells: Array[CompositeCell] | None = map_1(mapping, uris)
|
|
994
|
+
this.AddColumn(CompositeHeader(6), cells, index, force_replace)
|
|
995
|
+
|
|
996
|
+
def AddProtocolDescriptionColumn(self, descriptions: Array[str] | None=None, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
997
|
+
this: ArcTable = self
|
|
998
|
+
def mapping(a: Array[str]) -> Array[CompositeCell]:
|
|
999
|
+
def f(Item: str, a: Any=a) -> CompositeCell:
|
|
1000
|
+
return CompositeCell(1, Item)
|
|
1001
|
+
|
|
1002
|
+
return ResizeArray_map(f, a)
|
|
1003
|
+
|
|
1004
|
+
cells: Array[CompositeCell] | None = map_1(mapping, descriptions)
|
|
1005
|
+
this.AddColumn(CompositeHeader(5), cells, index, force_replace)
|
|
1006
|
+
|
|
1007
|
+
def AddProtocolNameColumn(self, names: Array[str] | None=None, index: int | None=None, force_replace: bool | None=None) -> None:
|
|
1008
|
+
this: ArcTable = self
|
|
1009
|
+
def mapping(a: Array[str]) -> Array[CompositeCell]:
|
|
1010
|
+
def f(Item: str, a: Any=a) -> CompositeCell:
|
|
1011
|
+
return CompositeCell(1, Item)
|
|
1012
|
+
|
|
1013
|
+
return ResizeArray_map(f, a)
|
|
1014
|
+
|
|
1015
|
+
cells: Array[CompositeCell] | None = map_1(mapping, names)
|
|
1016
|
+
this.AddColumn(CompositeHeader(8), cells, index, force_replace)
|
|
1017
|
+
|
|
1018
|
+
def GetProtocolTypeColumn(self, __unit: None=None) -> CompositeColumn:
|
|
1019
|
+
this: ArcTable = self
|
|
1020
|
+
return this.GetColumnByHeader(CompositeHeader(4))
|
|
1021
|
+
|
|
1022
|
+
def GetProtocolVersionColumn(self, __unit: None=None) -> CompositeColumn:
|
|
1023
|
+
this: ArcTable = self
|
|
1024
|
+
return this.GetColumnByHeader(CompositeHeader(7))
|
|
1025
|
+
|
|
1026
|
+
def GetProtocolUriColumn(self, __unit: None=None) -> CompositeColumn:
|
|
1027
|
+
this: ArcTable = self
|
|
1028
|
+
return this.GetColumnByHeader(CompositeHeader(6))
|
|
1029
|
+
|
|
1030
|
+
def GetProtocolDescriptionColumn(self, __unit: None=None) -> CompositeColumn:
|
|
1031
|
+
this: ArcTable = self
|
|
1032
|
+
return this.GetColumnByHeader(CompositeHeader(5))
|
|
1033
|
+
|
|
1034
|
+
def GetProtocolNameColumn(self, __unit: None=None) -> CompositeColumn:
|
|
1035
|
+
this: ArcTable = self
|
|
1036
|
+
return this.GetColumnByHeader(CompositeHeader(8))
|
|
1037
|
+
|
|
1038
|
+
def TryGetProtocolNameColumn(self, __unit: None=None) -> CompositeColumn | None:
|
|
1039
|
+
this: ArcTable = self
|
|
1040
|
+
return this.TryGetColumnByHeader(CompositeHeader(8))
|
|
1041
|
+
|
|
1042
|
+
def GetComponentColumns(self, __unit: None=None) -> Array[CompositeColumn]:
|
|
1043
|
+
this: ArcTable = self
|
|
1044
|
+
def f(h: CompositeHeader) -> CompositeColumn | None:
|
|
1045
|
+
if h.is_component:
|
|
1046
|
+
return this.GetColumnByHeader(h)
|
|
1047
|
+
|
|
1048
|
+
else:
|
|
1049
|
+
return None
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
return ResizeArray_choose(f, this.Headers)
|
|
1053
|
+
|
|
1054
|
+
def RescanValueMap(self, __unit: None=None) -> None:
|
|
1055
|
+
this: ArcTable = self
|
|
1056
|
+
this._values.RescanValueMap()
|
|
1057
|
+
|
|
1058
|
+
@staticmethod
|
|
1059
|
+
def SplitByColumnValues(column_index: int) -> Callable[[ArcTable], Array[ArcTable]]:
|
|
1060
|
+
def _arrow1286(table: ArcTable) -> Array[ArcTable]:
|
|
1061
|
+
def f_4(i: int, index_group: Array[int]) -> ArcTable:
|
|
1062
|
+
headers: Array[CompositeHeader] = table.Headers
|
|
1063
|
+
def f_3(i_1: int, i: Any=i, index_group: Any=index_group) -> Array[CompositeCell]:
|
|
1064
|
+
return table.GetRow(i_1, True)
|
|
1065
|
+
|
|
1066
|
+
rows: Array[Array[CompositeCell]] = ResizeArray_map(f_3, index_group)
|
|
1067
|
+
return ArcTable.create_from_rows(table.Name, headers, rows)
|
|
1068
|
+
|
|
1069
|
+
def f_2(tupled_arg: tuple[CompositeCell, Array[tuple[int, CompositeCell]]]) -> Array[int]:
|
|
1070
|
+
def f_1(tuple_1: tuple[int, CompositeCell], tupled_arg: Any=tupled_arg) -> int:
|
|
1071
|
+
return tuple_1[0]
|
|
1072
|
+
|
|
1073
|
+
return ResizeArray_map(f_1, tupled_arg[1])
|
|
1074
|
+
|
|
1075
|
+
def f(tuple: tuple[int, CompositeCell]) -> CompositeCell:
|
|
1076
|
+
return tuple[1]
|
|
1077
|
+
|
|
1078
|
+
return ResizeArray_mapi(f_4, ResizeArray_map(f_2, ResizeArray_groupBy(f, ResizeArray_indexed(table.GetColumn(column_index).Cells))))
|
|
1079
|
+
|
|
1080
|
+
return _arrow1286
|
|
1081
|
+
|
|
1082
|
+
@staticmethod
|
|
1083
|
+
def SplitByColumnValuesByHeader(header: CompositeHeader) -> Callable[[ArcTable], Array[ArcTable]]:
|
|
1084
|
+
def _arrow1287(table: ArcTable) -> Array[ArcTable]:
|
|
1085
|
+
def predicate(x: CompositeHeader) -> bool:
|
|
1086
|
+
return equals(x, header)
|
|
1087
|
+
|
|
1088
|
+
index: int | None = try_find_index(predicate, table.Headers)
|
|
1089
|
+
if index is None:
|
|
1090
|
+
return ResizeArray_singleton(table.Copy())
|
|
1091
|
+
|
|
1092
|
+
else:
|
|
1093
|
+
i: int = index or 0
|
|
1094
|
+
return ArcTable.SplitByColumnValues(i)(table)
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
return _arrow1287
|
|
1098
|
+
|
|
1099
|
+
@staticmethod
|
|
1100
|
+
def SplitByProtocolREF() -> Callable[[ArcTable], Array[ArcTable]]:
|
|
1101
|
+
def _arrow1288(table: ArcTable) -> Array[ArcTable]:
|
|
1102
|
+
return ArcTable.SplitByColumnValuesByHeader(CompositeHeader(8))(table)
|
|
1103
|
+
|
|
1104
|
+
return _arrow1288
|
|
1105
|
+
|
|
1106
|
+
@staticmethod
|
|
1107
|
+
def update_reference_by_annotation_table(ref_table: ArcTable, annotation_table: ArcTable) -> ArcTable:
|
|
1108
|
+
ref_table_1: ArcTable = ref_table.Copy()
|
|
1109
|
+
annotation_table_1: ArcTable = annotation_table.Copy()
|
|
1110
|
+
def chooser(tupled_arg: tuple[int, CompositeHeader]) -> int | None:
|
|
1111
|
+
if tupled_arg[1].is_protocol_column:
|
|
1112
|
+
return None
|
|
1113
|
+
|
|
1114
|
+
else:
|
|
1115
|
+
return tupled_arg[0]
|
|
1116
|
+
|
|
1117
|
+
|
|
1118
|
+
non_protocol_columns: Array[int] = to_array(choose(chooser, indexed(ref_table_1.Headers)))
|
|
1119
|
+
ref_table_1.RemoveColumns(non_protocol_columns)
|
|
1120
|
+
ref_table_1.RowCount = annotation_table_1.RowCount or 0
|
|
1121
|
+
enumerator: Any = get_enumerator(annotation_table_1.Columns)
|
|
1122
|
+
try:
|
|
1123
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
1124
|
+
c: CompositeColumn = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
1125
|
+
ref_table_1.AddColumn(c.Header, c.Cells, None, True)
|
|
1126
|
+
|
|
1127
|
+
finally:
|
|
1128
|
+
dispose(enumerator)
|
|
1129
|
+
|
|
1130
|
+
return ref_table_1
|
|
1131
|
+
|
|
1132
|
+
@staticmethod
|
|
1133
|
+
def append(table1: ArcTable, table2: ArcTable) -> ArcTable:
|
|
1134
|
+
def get_list(t: ArcTable) -> FSharpList[FSharpList[tuple[CompositeHeader, CompositeCell]]]:
|
|
1135
|
+
def _arrow1290(__unit: None=None, t: Any=t) -> IEnumerable_1[FSharpList[tuple[CompositeHeader, CompositeCell]]]:
|
|
1136
|
+
def _arrow1289(row: int) -> FSharpList[tuple[CompositeHeader, CompositeCell]]:
|
|
1137
|
+
def mapping(i: int, c: CompositeCell) -> tuple[CompositeHeader, CompositeCell]:
|
|
1138
|
+
return (t.Headers[i], c)
|
|
1139
|
+
|
|
1140
|
+
return to_list(map_indexed(mapping, t.GetRow(row, True)))
|
|
1141
|
+
|
|
1142
|
+
return map(_arrow1289, range_big_int(0, 1, t.RowCount - 1))
|
|
1143
|
+
|
|
1144
|
+
return to_list(delay(_arrow1290))
|
|
1145
|
+
|
|
1146
|
+
pattern_input: tuple[Array[CompositeHeader], ArcTableValues] = Unchecked_alignByHeaders(False, append(get_list(table1), get_list(table2)))
|
|
1147
|
+
return ArcTable.from_arc_table_values(table1.Name, pattern_input[0], pattern_input[1])
|
|
1148
|
+
|
|
1149
|
+
def __str__(self, __unit: None=None) -> str:
|
|
1150
|
+
this: ArcTable = self
|
|
1151
|
+
row_count: int = this.RowCount or 0
|
|
1152
|
+
def _arrow1299(__unit: None=None) -> IEnumerable_1[str]:
|
|
1153
|
+
def _arrow1298(__unit: None=None) -> IEnumerable_1[str]:
|
|
1154
|
+
def _arrow1297(__unit: None=None) -> IEnumerable_1[str]:
|
|
1155
|
+
def _arrow1296(__unit: None=None) -> IEnumerable_1[str]:
|
|
1156
|
+
def _arrow1291(row_i: int) -> str:
|
|
1157
|
+
return join("\t|\t", map(to_string, this.GetRow(row_i)))
|
|
1158
|
+
|
|
1159
|
+
def _arrow1294(__unit: None=None) -> IEnumerable_1[str]:
|
|
1160
|
+
def _arrow1293(__unit: None=None) -> IEnumerable_1[str]:
|
|
1161
|
+
def _arrow1292(row_i_1: int) -> str:
|
|
1162
|
+
return join("\t|\t", map(to_string, this.GetRow(row_i_1)))
|
|
1163
|
+
|
|
1164
|
+
return map(_arrow1292, range_big_int(row_count - 20, 1, row_count - 1))
|
|
1165
|
+
|
|
1166
|
+
return append_1(singleton("..."), delay(_arrow1293))
|
|
1167
|
+
|
|
1168
|
+
def _arrow1295(row_i_2: int) -> str:
|
|
1169
|
+
return join("\t|\t", map(to_string, this.GetRow(row_i_2)))
|
|
1170
|
+
|
|
1171
|
+
return append_1(map(_arrow1291, range_big_int(0, 1, 19)), delay(_arrow1294)) if (row_count > 50) else (singleton("No rows") if (row_count == 0) else map(_arrow1295, range_big_int(0, 1, row_count - 1)))
|
|
1172
|
+
|
|
1173
|
+
return append_1(singleton(join("\t|\t", map(to_string, this.Headers))), delay(_arrow1296))
|
|
1174
|
+
|
|
1175
|
+
return append_1(singleton("-------------"), delay(_arrow1297))
|
|
1176
|
+
|
|
1177
|
+
return append_1(singleton(("Table: " + this.Name) + ""), delay(_arrow1298))
|
|
1178
|
+
|
|
1179
|
+
return join("\n", to_list(delay(_arrow1299)))
|
|
1180
|
+
|
|
1181
|
+
def StructurallyEquals(self, other: ArcTable) -> bool:
|
|
1182
|
+
this: ArcTable = self
|
|
1183
|
+
return safe_hash(this) == safe_hash(other)
|
|
1184
|
+
|
|
1185
|
+
def ReferenceEquals(self, other: ArcTable) -> bool:
|
|
1186
|
+
this: ArcTable = self
|
|
1187
|
+
return this is other
|
|
1188
|
+
|
|
1189
|
+
def __eq__(self, other: Any=None) -> bool:
|
|
1190
|
+
this: ArcTable = self
|
|
1191
|
+
return this.StructurallyEquals(other) if isinstance(other, ArcTable) else False
|
|
1192
|
+
|
|
1193
|
+
def __hash__(self, __unit: None=None) -> Any:
|
|
1194
|
+
this: ArcTable = self
|
|
1195
|
+
v_hash: int = safe_hash(this._values) or 0
|
|
1196
|
+
return box_hash_array([this.Name, box_hash_seq(this.Headers), v_hash])
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
ArcTable_reflection = _expr1300
|
|
1200
|
+
|
|
1201
|
+
def ArcTable__ctor_2D310C9B(name: str, headers: Array[CompositeHeader] | None=None, columns: Array[Array[CompositeCell]] | None=None) -> ArcTable:
|
|
1202
|
+
return ArcTable(name, headers, columns)
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
__all__ = ["ArcTable_reflection"]
|
|
1206
|
+
|