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,277 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import (Any, TypeVar)
|
|
4
|
+
from ...fable_modules.fable_library.list import (FSharpList, map, empty, append, choose, singleton, of_array, is_empty, head, tail)
|
|
5
|
+
from ...fable_modules.fable_library.option import (default_arg, map as map_1)
|
|
6
|
+
from ...fable_modules.fable_library.result import FSharpResult_2
|
|
7
|
+
from ...fable_modules.fable_library.seq import map as map_2
|
|
8
|
+
from ...fable_modules.fable_library.string_ import replace
|
|
9
|
+
from ...fable_modules.fable_library.util import IEnumerable_1
|
|
10
|
+
from ...fable_modules.thoth_json_core.decode import (string, object, IOptionalGetter, IRequiredGetter, unit, list_1 as list_1_3, IGetters)
|
|
11
|
+
from ...fable_modules.thoth_json_core.encode import list_1 as list_1_2
|
|
12
|
+
from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1, ErrorReason_1, IDecoderHelpers_1)
|
|
13
|
+
from ...Core.Helper.collections_ import Option_fromValueWithDefault
|
|
14
|
+
from ...Core.Process.factor_value import FactorValue
|
|
15
|
+
from ...Core.Process.material_attribute_value import MaterialAttributeValue
|
|
16
|
+
from ...Core.Process.sample import Sample
|
|
17
|
+
from ...Core.Process.source import Source
|
|
18
|
+
from ..context.rocrate.isa_sample_context import context_jsonvalue
|
|
19
|
+
from ..decode import (Decode_uri, Decode_objectNoAdditionalProperties)
|
|
20
|
+
from ..encode import (try_include, try_include_list, try_include_list_opt)
|
|
21
|
+
from ..idtable import encode
|
|
22
|
+
from .factor_value import (ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
|
|
23
|
+
from .material_attribute_value import (ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1)
|
|
24
|
+
from .source import (ROCrate_decoder as ROCrate_decoder_3, ISAJson_encoder as ISAJson_encoder_3, ISAJson_decoder as ISAJson_decoder_3)
|
|
25
|
+
|
|
26
|
+
__A_ = TypeVar("__A_")
|
|
27
|
+
|
|
28
|
+
def ROCrate_genID(s: Sample) -> str:
|
|
29
|
+
match_value: str | None = s.ID
|
|
30
|
+
if match_value is None:
|
|
31
|
+
match_value_1: str | None = s.Name
|
|
32
|
+
if match_value_1 is None:
|
|
33
|
+
return "#EmptySample"
|
|
34
|
+
|
|
35
|
+
else:
|
|
36
|
+
return "#Sample_" + replace(match_value_1, " ", "_")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
else:
|
|
40
|
+
return match_value
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def ROCrate_encoder(oa: Sample) -> IEncodable:
|
|
45
|
+
additional_properties: FSharpList[IEncodable]
|
|
46
|
+
list_4: FSharpList[IEncodable] = map(ROCrate_encoder_1, default_arg(oa.Characteristics, empty()))
|
|
47
|
+
additional_properties = append(map(ROCrate_encoder_2, default_arg(oa.FactorValues, empty())), list_4)
|
|
48
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
|
|
49
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
50
|
+
return (tupled_arg[0], v_1)
|
|
51
|
+
|
|
52
|
+
return map_1(mapping, tupled_arg[1])
|
|
53
|
+
|
|
54
|
+
def _arrow3295(__unit: None=None, oa: Any=oa) -> IEncodable:
|
|
55
|
+
value_2: str = ROCrate_genID(oa)
|
|
56
|
+
class ObjectExpr3294(IEncodable):
|
|
57
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
58
|
+
return helpers.encode_string(value_2)
|
|
59
|
+
|
|
60
|
+
return ObjectExpr3294()
|
|
61
|
+
|
|
62
|
+
class ObjectExpr3296(IEncodable):
|
|
63
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
64
|
+
return helpers_1.encode_string("Sample")
|
|
65
|
+
|
|
66
|
+
class ObjectExpr3297(IEncodable):
|
|
67
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
68
|
+
return helpers_2.encode_string("Sample")
|
|
69
|
+
|
|
70
|
+
def _arrow3299(value_5: str, oa: Any=oa) -> IEncodable:
|
|
71
|
+
class ObjectExpr3298(IEncodable):
|
|
72
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
73
|
+
return helpers_3.encode_string(value_5)
|
|
74
|
+
|
|
75
|
+
return ObjectExpr3298()
|
|
76
|
+
|
|
77
|
+
def _arrow3300(x: IEncodable, oa: Any=oa) -> IEncodable:
|
|
78
|
+
return x
|
|
79
|
+
|
|
80
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3295()), ("@type", list_1_2(singleton(ObjectExpr3296()))), ("additionalType", ObjectExpr3297()), try_include("name", _arrow3299, oa.Name), try_include_list("additionalProperties", _arrow3300, additional_properties), ("@context", context_jsonvalue)]))
|
|
81
|
+
class ObjectExpr3301(IEncodable):
|
|
82
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
83
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
84
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
|
|
85
|
+
|
|
86
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_2(mapping_1, values)
|
|
87
|
+
return helpers_4.encode_object(arg)
|
|
88
|
+
|
|
89
|
+
return ObjectExpr3301()
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class ObjectExpr3303(Decoder_1[tuple[MaterialAttributeValue | None, FactorValue | None]]):
|
|
93
|
+
def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[tuple[MaterialAttributeValue | None, FactorValue | None], tuple[str, ErrorReason_1[__A_]]]:
|
|
94
|
+
def _arrow3302(__unit: None=None) -> str:
|
|
95
|
+
match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, s.get_property("additionalType", json))
|
|
96
|
+
return match_value.fields[0] if (match_value.tag == 0) else ""
|
|
97
|
+
|
|
98
|
+
if (_arrow3302() if s.has_property("additionalType", json) else "") == "FactorValue":
|
|
99
|
+
match_value_1: FSharpResult_2[FactorValue, tuple[str, ErrorReason_1[__A_]]] = ROCrate_decoder_1.Decode(s, json)
|
|
100
|
+
return FSharpResult_2(1, match_value_1.fields[0]) if (match_value_1.tag == 1) else FSharpResult_2(0, (None, match_value_1.fields[0]))
|
|
101
|
+
|
|
102
|
+
else:
|
|
103
|
+
match_value_2: FSharpResult_2[MaterialAttributeValue, tuple[str, ErrorReason_1[__A_]]] = ROCrate_decoder_2.Decode(s, json)
|
|
104
|
+
return FSharpResult_2(1, match_value_2.fields[0]) if (match_value_2.tag == 1) else FSharpResult_2(0, (match_value_2.fields[0], None))
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
ROCrate_additionalPropertyDecoder: Decoder_1[tuple[MaterialAttributeValue | None, FactorValue | None]] = ObjectExpr3303()
|
|
109
|
+
|
|
110
|
+
def _arrow3307(get: IGetters) -> Sample:
|
|
111
|
+
match_value: str | None
|
|
112
|
+
object_arg: IOptionalGetter = get.Optional
|
|
113
|
+
match_value = object_arg.Field("additionalType", Decode_uri)
|
|
114
|
+
(pattern_matching_result,) = (None,)
|
|
115
|
+
if match_value is None:
|
|
116
|
+
pattern_matching_result = 0
|
|
117
|
+
|
|
118
|
+
elif match_value == "Sample":
|
|
119
|
+
pattern_matching_result = 0
|
|
120
|
+
|
|
121
|
+
else:
|
|
122
|
+
pattern_matching_result = 1
|
|
123
|
+
|
|
124
|
+
if pattern_matching_result == 1:
|
|
125
|
+
object_arg_1: IRequiredGetter = get.Required
|
|
126
|
+
object_arg_1.Field("FailBecauseNotSample", unit)
|
|
127
|
+
|
|
128
|
+
match_value_1: FSharpList[str] | None
|
|
129
|
+
arg_5: Decoder_1[FSharpList[str]] = list_1_3(string)
|
|
130
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
131
|
+
match_value_1 = object_arg_2.Field("@type", arg_5)
|
|
132
|
+
(pattern_matching_result_1,) = (None,)
|
|
133
|
+
if match_value_1 is None:
|
|
134
|
+
pattern_matching_result_1 = 0
|
|
135
|
+
|
|
136
|
+
elif not is_empty(match_value_1):
|
|
137
|
+
if head(match_value_1) == "Sample":
|
|
138
|
+
if is_empty(tail(match_value_1)):
|
|
139
|
+
pattern_matching_result_1 = 0
|
|
140
|
+
|
|
141
|
+
else:
|
|
142
|
+
pattern_matching_result_1 = 1
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
else:
|
|
146
|
+
pattern_matching_result_1 = 1
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
else:
|
|
150
|
+
pattern_matching_result_1 = 1
|
|
151
|
+
|
|
152
|
+
if pattern_matching_result_1 == 1:
|
|
153
|
+
object_arg_3: IRequiredGetter = get.Required
|
|
154
|
+
object_arg_3.Field("FailBecauseNotSample", unit)
|
|
155
|
+
|
|
156
|
+
additional_properties: FSharpList[tuple[MaterialAttributeValue | None, FactorValue | None]] | None
|
|
157
|
+
arg_9: Decoder_1[FSharpList[tuple[MaterialAttributeValue | None, FactorValue | None]]] = list_1_3(ROCrate_additionalPropertyDecoder)
|
|
158
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
159
|
+
additional_properties = object_arg_4.Field("additionalProperties", arg_9)
|
|
160
|
+
pattern_input: tuple[FSharpList[MaterialAttributeValue] | None, FSharpList[FactorValue] | None]
|
|
161
|
+
if additional_properties is not None:
|
|
162
|
+
additional_properties_1: FSharpList[tuple[MaterialAttributeValue | None, FactorValue | None]] = additional_properties
|
|
163
|
+
def chooser(tuple: tuple[MaterialAttributeValue | None, FactorValue | None]) -> MaterialAttributeValue | None:
|
|
164
|
+
return tuple[0]
|
|
165
|
+
|
|
166
|
+
def chooser_1(tuple_1: tuple[MaterialAttributeValue | None, FactorValue | None]) -> FactorValue | None:
|
|
167
|
+
return tuple_1[1]
|
|
168
|
+
|
|
169
|
+
pattern_input = (Option_fromValueWithDefault(empty(), choose(chooser, additional_properties_1)), Option_fromValueWithDefault(empty(), choose(chooser_1, additional_properties_1)))
|
|
170
|
+
|
|
171
|
+
else:
|
|
172
|
+
pattern_input = (None, None)
|
|
173
|
+
|
|
174
|
+
def _arrow3304(__unit: None=None) -> str | None:
|
|
175
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
176
|
+
return object_arg_5.Field("@id", Decode_uri)
|
|
177
|
+
|
|
178
|
+
def _arrow3305(__unit: None=None) -> str | None:
|
|
179
|
+
object_arg_6: IOptionalGetter = get.Optional
|
|
180
|
+
return object_arg_6.Field("name", string)
|
|
181
|
+
|
|
182
|
+
def _arrow3306(__unit: None=None) -> FSharpList[Source] | None:
|
|
183
|
+
arg_15: Decoder_1[FSharpList[Source]] = list_1_3(ROCrate_decoder_3)
|
|
184
|
+
object_arg_7: IOptionalGetter = get.Optional
|
|
185
|
+
return object_arg_7.Field("derivesFrom", arg_15)
|
|
186
|
+
|
|
187
|
+
return Sample(_arrow3304(), _arrow3305(), pattern_input[0], pattern_input[1], _arrow3306())
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
ROCrate_decoder: Decoder_1[Sample] = object(_arrow3307)
|
|
191
|
+
|
|
192
|
+
def ISAJson_encoder(id_map: Any | None, oa: Sample) -> IEncodable:
|
|
193
|
+
def f(oa_1: Sample, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
|
|
194
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
|
|
195
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
196
|
+
return (tupled_arg[0], v_1)
|
|
197
|
+
|
|
198
|
+
return map_1(mapping, tupled_arg[1])
|
|
199
|
+
|
|
200
|
+
def _arrow3311(value: str, oa_1: Any=oa_1) -> IEncodable:
|
|
201
|
+
class ObjectExpr3310(IEncodable):
|
|
202
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
203
|
+
return helpers.encode_string(value)
|
|
204
|
+
|
|
205
|
+
return ObjectExpr3310()
|
|
206
|
+
|
|
207
|
+
def _arrow3314(value_2: str, oa_1: Any=oa_1) -> IEncodable:
|
|
208
|
+
class ObjectExpr3313(IEncodable):
|
|
209
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
210
|
+
return helpers_1.encode_string(value_2)
|
|
211
|
+
|
|
212
|
+
return ObjectExpr3313()
|
|
213
|
+
|
|
214
|
+
def _arrow3317(oa_2: MaterialAttributeValue, oa_1: Any=oa_1) -> IEncodable:
|
|
215
|
+
return ISAJson_encoder_1(id_map, oa_2)
|
|
216
|
+
|
|
217
|
+
def _arrow3318(fv: FactorValue, oa_1: Any=oa_1) -> IEncodable:
|
|
218
|
+
return ISAJson_encoder_2(id_map, fv)
|
|
219
|
+
|
|
220
|
+
def _arrow3320(oa_3: Source, oa_1: Any=oa_1) -> IEncodable:
|
|
221
|
+
return ISAJson_encoder_3(id_map, oa_3)
|
|
222
|
+
|
|
223
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3311, ROCrate_genID(oa_1)), try_include("name", _arrow3314, oa_1.Name), try_include_list_opt("characteristics", _arrow3317, oa_1.Characteristics), try_include_list_opt("factorValues", _arrow3318, oa_1.FactorValues), try_include_list_opt("derivesFrom", _arrow3320, oa_1.DerivesFrom)]))
|
|
224
|
+
class ObjectExpr3323(IEncodable):
|
|
225
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
|
|
226
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
227
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
|
|
228
|
+
|
|
229
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_2(mapping_1, values)
|
|
230
|
+
return helpers_2.encode_object(arg)
|
|
231
|
+
|
|
232
|
+
return ObjectExpr3323()
|
|
233
|
+
|
|
234
|
+
if id_map is not None:
|
|
235
|
+
def _arrow3327(s_1: Sample, id_map: Any=id_map, oa: Any=oa) -> str:
|
|
236
|
+
return ROCrate_genID(s_1)
|
|
237
|
+
|
|
238
|
+
return encode(_arrow3327, f, oa, id_map)
|
|
239
|
+
|
|
240
|
+
else:
|
|
241
|
+
return f(oa)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "name", "characteristics", "factorValues", "derivesFrom", "@type", "@context"])
|
|
246
|
+
|
|
247
|
+
def _arrow3334(get: IGetters) -> Sample:
|
|
248
|
+
def _arrow3329(__unit: None=None) -> str | None:
|
|
249
|
+
object_arg: IOptionalGetter = get.Optional
|
|
250
|
+
return object_arg.Field("@id", Decode_uri)
|
|
251
|
+
|
|
252
|
+
def _arrow3330(__unit: None=None) -> str | None:
|
|
253
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
254
|
+
return object_arg_1.Field("name", string)
|
|
255
|
+
|
|
256
|
+
def _arrow3331(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
|
|
257
|
+
arg_5: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_3(ISAJson_decoder_1)
|
|
258
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
259
|
+
return object_arg_2.Field("characteristics", arg_5)
|
|
260
|
+
|
|
261
|
+
def _arrow3332(__unit: None=None) -> FSharpList[FactorValue] | None:
|
|
262
|
+
arg_7: Decoder_1[FSharpList[FactorValue]] = list_1_3(ISAJson_decoder_2)
|
|
263
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
264
|
+
return object_arg_3.Field("factorValues", arg_7)
|
|
265
|
+
|
|
266
|
+
def _arrow3333(__unit: None=None) -> FSharpList[Source] | None:
|
|
267
|
+
arg_9: Decoder_1[FSharpList[Source]] = list_1_3(ISAJson_decoder_3)
|
|
268
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
269
|
+
return object_arg_4.Field("derivesFrom", arg_9)
|
|
270
|
+
|
|
271
|
+
return Sample(_arrow3329(), _arrow3330(), _arrow3331(), _arrow3332(), _arrow3333())
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
ISAJson_decoder: Decoder_1[Sample] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3334)
|
|
275
|
+
|
|
276
|
+
__all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_additionalPropertyDecoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
|
|
277
|
+
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import (Any, TypeVar)
|
|
4
|
+
from ...fable_modules.fable_library.list import (choose, singleton, of_array, FSharpList, is_empty, head, tail)
|
|
5
|
+
from ...fable_modules.fable_library.option import map
|
|
6
|
+
from ...fable_modules.fable_library.seq import map as map_1
|
|
7
|
+
from ...fable_modules.fable_library.string_ import replace
|
|
8
|
+
from ...fable_modules.fable_library.util import IEnumerable_1
|
|
9
|
+
from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IRequiredGetter, unit, list_1 as list_1_2, string, IGetters)
|
|
10
|
+
from ...fable_modules.thoth_json_core.encode import list_1 as list_1_1
|
|
11
|
+
from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
12
|
+
from ...Core.Process.material_attribute_value import MaterialAttributeValue
|
|
13
|
+
from ...Core.Process.source import Source
|
|
14
|
+
from ...Core.uri import URIModule_toString
|
|
15
|
+
from ..context.rocrate.isa_source_context import context_jsonvalue
|
|
16
|
+
from ..decode import (Decode_uri, Decode_objectNoAdditionalProperties)
|
|
17
|
+
from ..encode import (try_include, try_include_list_opt)
|
|
18
|
+
from ..idtable import encode
|
|
19
|
+
from .material_attribute_value import (ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1)
|
|
20
|
+
|
|
21
|
+
__A_ = TypeVar("__A_")
|
|
22
|
+
|
|
23
|
+
def ROCrate_genID(s: Source) -> str:
|
|
24
|
+
match_value: str | None = s.ID
|
|
25
|
+
if match_value is None:
|
|
26
|
+
match_value_1: str | None = s.Name
|
|
27
|
+
if match_value_1 is None:
|
|
28
|
+
return "#EmptySource"
|
|
29
|
+
|
|
30
|
+
else:
|
|
31
|
+
return "#Source_" + replace(match_value_1, " ", "_")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
else:
|
|
35
|
+
return URIModule_toString(match_value)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def ROCrate_encoder(oa: Source) -> IEncodable:
|
|
40
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
|
|
41
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
42
|
+
return (tupled_arg[0], v_1)
|
|
43
|
+
|
|
44
|
+
return map(mapping, tupled_arg[1])
|
|
45
|
+
|
|
46
|
+
def _arrow3259(__unit: None=None, oa: Any=oa) -> IEncodable:
|
|
47
|
+
value: str = ROCrate_genID(oa)
|
|
48
|
+
class ObjectExpr3258(IEncodable):
|
|
49
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
50
|
+
return helpers.encode_string(value)
|
|
51
|
+
|
|
52
|
+
return ObjectExpr3258()
|
|
53
|
+
|
|
54
|
+
class ObjectExpr3260(IEncodable):
|
|
55
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
56
|
+
return helpers_1.encode_string("Source")
|
|
57
|
+
|
|
58
|
+
class ObjectExpr3261(IEncodable):
|
|
59
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
60
|
+
return helpers_2.encode_string("Source")
|
|
61
|
+
|
|
62
|
+
def _arrow3263(value_3: str, oa: Any=oa) -> IEncodable:
|
|
63
|
+
class ObjectExpr3262(IEncodable):
|
|
64
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
65
|
+
return helpers_3.encode_string(value_3)
|
|
66
|
+
|
|
67
|
+
return ObjectExpr3262()
|
|
68
|
+
|
|
69
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3259()), ("@type", list_1_1(singleton(ObjectExpr3260()))), ("additionalType", ObjectExpr3261()), try_include("name", _arrow3263, oa.Name), try_include_list_opt("characteristics", ROCrate_encoder_1, oa.Characteristics), ("@context", context_jsonvalue)]))
|
|
70
|
+
class ObjectExpr3264(IEncodable):
|
|
71
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
72
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
73
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
|
|
74
|
+
|
|
75
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
76
|
+
return helpers_4.encode_object(arg)
|
|
77
|
+
|
|
78
|
+
return ObjectExpr3264()
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _arrow3268(get: IGetters) -> Source:
|
|
82
|
+
match_value: str | None
|
|
83
|
+
object_arg: IOptionalGetter = get.Optional
|
|
84
|
+
match_value = object_arg.Field("additionalType", Decode_uri)
|
|
85
|
+
(pattern_matching_result,) = (None,)
|
|
86
|
+
if match_value is None:
|
|
87
|
+
pattern_matching_result = 0
|
|
88
|
+
|
|
89
|
+
elif match_value == "Source":
|
|
90
|
+
pattern_matching_result = 0
|
|
91
|
+
|
|
92
|
+
else:
|
|
93
|
+
pattern_matching_result = 1
|
|
94
|
+
|
|
95
|
+
if pattern_matching_result == 1:
|
|
96
|
+
object_arg_1: IRequiredGetter = get.Required
|
|
97
|
+
object_arg_1.Field("FailBecauseNotSample", unit)
|
|
98
|
+
|
|
99
|
+
match_value_1: FSharpList[str] | None
|
|
100
|
+
arg_5: Decoder_1[FSharpList[str]] = list_1_2(string)
|
|
101
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
102
|
+
match_value_1 = object_arg_2.Field("@type", arg_5)
|
|
103
|
+
(pattern_matching_result_1,) = (None,)
|
|
104
|
+
if match_value_1 is None:
|
|
105
|
+
pattern_matching_result_1 = 0
|
|
106
|
+
|
|
107
|
+
elif not is_empty(match_value_1):
|
|
108
|
+
if head(match_value_1) == "Source":
|
|
109
|
+
if is_empty(tail(match_value_1)):
|
|
110
|
+
pattern_matching_result_1 = 0
|
|
111
|
+
|
|
112
|
+
else:
|
|
113
|
+
pattern_matching_result_1 = 1
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
else:
|
|
117
|
+
pattern_matching_result_1 = 1
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
else:
|
|
121
|
+
pattern_matching_result_1 = 1
|
|
122
|
+
|
|
123
|
+
if pattern_matching_result_1 == 1:
|
|
124
|
+
object_arg_3: IRequiredGetter = get.Required
|
|
125
|
+
object_arg_3.Field("FailBecauseNotSample", unit)
|
|
126
|
+
|
|
127
|
+
def _arrow3265(__unit: None=None) -> str | None:
|
|
128
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
129
|
+
return object_arg_4.Field("@id", Decode_uri)
|
|
130
|
+
|
|
131
|
+
def _arrow3266(__unit: None=None) -> str | None:
|
|
132
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
133
|
+
return object_arg_5.Field("name", string)
|
|
134
|
+
|
|
135
|
+
def _arrow3267(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
|
|
136
|
+
arg_13: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ROCrate_decoder_1)
|
|
137
|
+
object_arg_6: IOptionalGetter = get.Optional
|
|
138
|
+
return object_arg_6.Field("characteristics", arg_13)
|
|
139
|
+
|
|
140
|
+
return Source(_arrow3265(), _arrow3266(), _arrow3267())
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
ROCrate_decoder: Decoder_1[Source] = object(_arrow3268)
|
|
144
|
+
|
|
145
|
+
def ISAJson_encoder(id_map: Any | None, oa: Source) -> IEncodable:
|
|
146
|
+
def f(oa_1: Source, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
|
|
147
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
|
|
148
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
149
|
+
return (tupled_arg[0], v_1)
|
|
150
|
+
|
|
151
|
+
return map(mapping, tupled_arg[1])
|
|
152
|
+
|
|
153
|
+
def _arrow3272(value: str, oa_1: Any=oa_1) -> IEncodable:
|
|
154
|
+
class ObjectExpr3271(IEncodable):
|
|
155
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
156
|
+
return helpers.encode_string(value)
|
|
157
|
+
|
|
158
|
+
return ObjectExpr3271()
|
|
159
|
+
|
|
160
|
+
def _arrow3274(value_2: str, oa_1: Any=oa_1) -> IEncodable:
|
|
161
|
+
class ObjectExpr3273(IEncodable):
|
|
162
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
163
|
+
return helpers_1.encode_string(value_2)
|
|
164
|
+
|
|
165
|
+
return ObjectExpr3273()
|
|
166
|
+
|
|
167
|
+
def _arrow3275(oa_2: MaterialAttributeValue, oa_1: Any=oa_1) -> IEncodable:
|
|
168
|
+
return ISAJson_encoder_1(id_map, oa_2)
|
|
169
|
+
|
|
170
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3272, ROCrate_genID(oa_1)), try_include("name", _arrow3274, oa_1.Name), try_include_list_opt("characteristics", _arrow3275, oa_1.Characteristics)]))
|
|
171
|
+
class ObjectExpr3276(IEncodable):
|
|
172
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
|
|
173
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
174
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
|
|
175
|
+
|
|
176
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
177
|
+
return helpers_2.encode_object(arg)
|
|
178
|
+
|
|
179
|
+
return ObjectExpr3276()
|
|
180
|
+
|
|
181
|
+
if id_map is not None:
|
|
182
|
+
def _arrow3277(s_1: Source, id_map: Any=id_map, oa: Any=oa) -> str:
|
|
183
|
+
return ROCrate_genID(s_1)
|
|
184
|
+
|
|
185
|
+
return encode(_arrow3277, f, oa, id_map)
|
|
186
|
+
|
|
187
|
+
else:
|
|
188
|
+
return f(oa)
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "name", "characteristics", "@type", "@context"])
|
|
193
|
+
|
|
194
|
+
def _arrow3281(get: IGetters) -> Source:
|
|
195
|
+
def _arrow3278(__unit: None=None) -> str | None:
|
|
196
|
+
object_arg: IOptionalGetter = get.Optional
|
|
197
|
+
return object_arg.Field("@id", Decode_uri)
|
|
198
|
+
|
|
199
|
+
def _arrow3279(__unit: None=None) -> str | None:
|
|
200
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
201
|
+
return object_arg_1.Field("name", string)
|
|
202
|
+
|
|
203
|
+
def _arrow3280(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
|
|
204
|
+
arg_5: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ISAJson_decoder_1)
|
|
205
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
206
|
+
return object_arg_2.Field("characteristics", arg_5)
|
|
207
|
+
|
|
208
|
+
return Source(_arrow3278(), _arrow3279(), _arrow3280())
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
ISAJson_decoder: Decoder_1[Source] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3281)
|
|
212
|
+
|
|
213
|
+
__all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
|
|
214
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import (Any, TypeVar)
|
|
3
|
+
from ...fable_modules.fable_library.list import (FSharpList, choose, of_array)
|
|
4
|
+
from ...fable_modules.fable_library.option import map
|
|
5
|
+
from ...fable_modules.fable_library.seq import map as map_1
|
|
6
|
+
from ...fable_modules.fable_library.util import IEnumerable_1
|
|
7
|
+
from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1)
|
|
8
|
+
from ...Core.Process.material import Material
|
|
9
|
+
from ...Core.Process.process import Process
|
|
10
|
+
from ...Core.Process.process_sequence import (get_sources, get_samples, get_materials)
|
|
11
|
+
from ...Core.Process.sample import Sample
|
|
12
|
+
from ...Core.Process.source import Source
|
|
13
|
+
from ..encode import try_include_list
|
|
14
|
+
from .material import ISAJson_encoder as ISAJson_encoder_2
|
|
15
|
+
from .sample import ISAJson_encoder as ISAJson_encoder_1
|
|
16
|
+
from .source import ISAJson_encoder
|
|
17
|
+
|
|
18
|
+
__A_ = TypeVar("__A_")
|
|
19
|
+
|
|
20
|
+
def encoder(id_map: Any | None, ps: FSharpList[Process]) -> IEncodable:
|
|
21
|
+
source: FSharpList[Source] = get_sources(ps)
|
|
22
|
+
samples: FSharpList[Sample] = get_samples(ps)
|
|
23
|
+
materials: FSharpList[Material] = get_materials(ps)
|
|
24
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, ps: Any=ps) -> tuple[str, IEncodable] | None:
|
|
25
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
26
|
+
return (tupled_arg[0], v_1)
|
|
27
|
+
|
|
28
|
+
return map(mapping, tupled_arg[1])
|
|
29
|
+
|
|
30
|
+
def _arrow3348(oa: Source, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
|
|
31
|
+
return ISAJson_encoder(id_map, oa)
|
|
32
|
+
|
|
33
|
+
def _arrow3349(oa_1: Sample, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
|
|
34
|
+
return ISAJson_encoder_1(id_map, oa_1)
|
|
35
|
+
|
|
36
|
+
def _arrow3350(c: Material, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
|
|
37
|
+
return ISAJson_encoder_2(id_map, c)
|
|
38
|
+
|
|
39
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include_list("sources", _arrow3348, source), try_include_list("samples", _arrow3349, samples), try_include_list("otherMaterials", _arrow3350, materials)]))
|
|
40
|
+
class ObjectExpr3351(IEncodable):
|
|
41
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, ps: Any=ps) -> Any:
|
|
42
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
43
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
|
|
44
|
+
|
|
45
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
46
|
+
return helpers.encode_object(arg)
|
|
47
|
+
|
|
48
|
+
return ObjectExpr3351()
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
__all__ = ["encoder"]
|
|
52
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
from ...fable_modules.fable_library.list import of_array
|
|
4
|
+
from ...fable_modules.thoth_json_core.decode import (one_of, map, int_1, float_1, string)
|
|
5
|
+
from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
6
|
+
from ...Core.ontology_annotation import OntologyAnnotation
|
|
7
|
+
from ...Core.value import Value
|
|
8
|
+
from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
|
|
9
|
+
|
|
10
|
+
def encoder(id_map: Any | None, value: Value) -> IEncodable:
|
|
11
|
+
if value.tag == 1:
|
|
12
|
+
class ObjectExpr2901(IEncodable):
|
|
13
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], id_map: Any=id_map, value: Any=value) -> Any:
|
|
14
|
+
return helpers_1.encode_signed_integral_number(value.fields[0])
|
|
15
|
+
|
|
16
|
+
return ObjectExpr2901()
|
|
17
|
+
|
|
18
|
+
elif value.tag == 3:
|
|
19
|
+
class ObjectExpr2902(IEncodable):
|
|
20
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], id_map: Any=id_map, value: Any=value) -> Any:
|
|
21
|
+
return helpers_2.encode_string(value.fields[0])
|
|
22
|
+
|
|
23
|
+
return ObjectExpr2902()
|
|
24
|
+
|
|
25
|
+
elif value.tag == 0:
|
|
26
|
+
return OntologyAnnotation_ISAJson_encoder(id_map, value.fields[0])
|
|
27
|
+
|
|
28
|
+
else:
|
|
29
|
+
class ObjectExpr2903(IEncodable):
|
|
30
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, value: Any=value) -> Any:
|
|
31
|
+
return helpers.encode_decimal_number(value.fields[0])
|
|
32
|
+
|
|
33
|
+
return ObjectExpr2903()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _arrow2905(Item: int) -> Value:
|
|
38
|
+
return Value(1, Item)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _arrow2906(Item_1: float) -> Value:
|
|
42
|
+
return Value(2, Item_1)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _arrow2907(Item_2: OntologyAnnotation) -> Value:
|
|
46
|
+
return Value(0, Item_2)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def _arrow2908(Item_3: str) -> Value:
|
|
50
|
+
return Value(3, Item_3)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
decoder: Decoder_1[Value] = one_of(of_array([map(_arrow2905, int_1), map(_arrow2906, float_1), map(_arrow2907, OntologyAnnotation_ISAJson_decoder), map(_arrow2908, string)]))
|
|
54
|
+
|
|
55
|
+
__all__ = ["encoder", "decoder"]
|
|
56
|
+
|
|
File without changes
|