arctrl 3.0.0a3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arctrl/__init__.py +18 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwltypes.py +150 -0
- arctrl/py/CWL/decode.py +973 -0
- arctrl/py/CWL/encode.py +1 -0
- arctrl/py/CWL/inputs.py +88 -0
- arctrl/py/CWL/outputs.py +85 -0
- arctrl/py/CWL/requirements.py +77 -0
- arctrl/py/CWL/tool_description.py +103 -0
- arctrl/py/CWL/workflow_description.py +104 -0
- arctrl/py/CWL/workflow_steps.py +113 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +60 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +125 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +125 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +372 -0
- arctrl/py/Contract/git.py +118 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +344 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +438 -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 +248 -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 +1264 -0
- arctrl/py/Core/Table/arc_table_aux.py +575 -0
- arctrl/py/Core/Table/arc_tables.py +591 -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 +5064 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1313 -0
- arctrl/py/Core/data.py +245 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/data_map.py +225 -0
- arctrl/py/Core/identifier_setters.py +31 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +299 -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 +5 -0
- arctrl/py/FileSystem/default_gitignore.py +5 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +426 -0
- arctrl/py/FileSystem/path.py +64 -0
- arctrl/py/Json/DataMap/__init__.py +0 -0
- arctrl/py/Json/DataMap/data_context.py +101 -0
- arctrl/py/Json/DataMap/data_map.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 +79 -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 +79 -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 +133 -0
- arctrl/py/Json/ROCrate/ldgraph.py +111 -0
- arctrl/py/Json/ROCrate/ldnode.py +290 -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 +393 -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 +155 -0
- arctrl/py/Json/encode.py +92 -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/string_table.py +76 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/JsonIO/DataMap/__init__.py +0 -0
- arctrl/py/JsonIO/DataMap/data_map.py +53 -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 +121 -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 +85 -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/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +113 -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/study.py +114 -0
- arctrl/py/ROCrate/Generic/__init__.py +0 -0
- arctrl/py/ROCrate/Generic/comment.py +131 -0
- arctrl/py/ROCrate/Generic/dataset.py +817 -0
- arctrl/py/ROCrate/Generic/defined_term.py +131 -0
- arctrl/py/ROCrate/Generic/file.py +237 -0
- arctrl/py/ROCrate/Generic/lab_process.py +324 -0
- arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
- arctrl/py/ROCrate/Generic/organization.py +83 -0
- arctrl/py/ROCrate/Generic/person.py +484 -0
- arctrl/py/ROCrate/Generic/postal_address.py +195 -0
- arctrl/py/ROCrate/Generic/property_value.py +696 -0
- arctrl/py/ROCrate/Generic/sample.py +202 -0
- arctrl/py/ROCrate/Generic/scholarly_article.py +229 -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/__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 +362 -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 +193 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -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 +508 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +418 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +176 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/data_map.py +44 -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/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 +1400 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +2184 -0
- arctrl/py/cross_async.py +76 -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 +338 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -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 +464 -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 +57 -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 +217 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -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 +393 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -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 +218 -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 +180 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -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 +53 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +261 -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/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 +665 -0
- arctrl/py/fable_modules/yamlicious/regex.py +21 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +213 -0
- arctrl/py/rocrate_io.py +72 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +148 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0a3.dist-info/LICENSE +21 -0
- arctrl-3.0.0a3.dist-info/METADATA +119 -0
- arctrl-3.0.0a3.dist-info/RECORD +456 -0
- arctrl-3.0.0a3.dist-info/WHEEL +4 -0
arctrl/py/Json/data.py
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
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, of_array, FSharpList, singleton)
|
|
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.types import Array
|
|
9
|
+
from ..fable_modules.fable_library.util import IEnumerable_1
|
|
10
|
+
from ..fable_modules.thoth_json_core.decode import (object, IOptionalGetter, string, resize_array, IGetters)
|
|
11
|
+
from ..fable_modules.thoth_json_core.encode import list_1 as list_1_1
|
|
12
|
+
from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
13
|
+
from ..Core.comment import Comment
|
|
14
|
+
from ..Core.data import Data
|
|
15
|
+
from ..Core.data_file import DataFile
|
|
16
|
+
from ..Core.uri import URIModule_toString
|
|
17
|
+
from .comment import (encoder as encoder_1, decoder as decoder_1, ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
|
|
18
|
+
from .context.rocrate.isa_data_context import context_jsonvalue
|
|
19
|
+
from .data_file import (ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1, ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_1)
|
|
20
|
+
from .decode import (Decode_uri, Decode_objectNoAdditionalProperties)
|
|
21
|
+
from .encode import (try_include, try_include_seq)
|
|
22
|
+
from .idtable import encode
|
|
23
|
+
from .string_table import (encode_string, decode_string)
|
|
24
|
+
|
|
25
|
+
__A_ = TypeVar("__A_")
|
|
26
|
+
|
|
27
|
+
def encoder(d: Data) -> IEncodable:
|
|
28
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], d: Any=d) -> tuple[str, IEncodable] | None:
|
|
29
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
30
|
+
return (tupled_arg[0], v_1)
|
|
31
|
+
|
|
32
|
+
return map(mapping, tupled_arg[1])
|
|
33
|
+
|
|
34
|
+
def _arrow2167(value: str, d: Any=d) -> IEncodable:
|
|
35
|
+
class ObjectExpr2166(IEncodable):
|
|
36
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
37
|
+
return helpers.encode_string(value)
|
|
38
|
+
|
|
39
|
+
return ObjectExpr2166()
|
|
40
|
+
|
|
41
|
+
def _arrow2169(value_2: str, d: Any=d) -> IEncodable:
|
|
42
|
+
class ObjectExpr2168(IEncodable):
|
|
43
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
44
|
+
return helpers_1.encode_string(value_2)
|
|
45
|
+
|
|
46
|
+
return ObjectExpr2168()
|
|
47
|
+
|
|
48
|
+
def _arrow2171(value_4: str, d: Any=d) -> IEncodable:
|
|
49
|
+
class ObjectExpr2170(IEncodable):
|
|
50
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
|
|
51
|
+
return helpers_2.encode_string(value_4)
|
|
52
|
+
|
|
53
|
+
return ObjectExpr2170()
|
|
54
|
+
|
|
55
|
+
def _arrow2173(value_6: str, d: Any=d) -> IEncodable:
|
|
56
|
+
class ObjectExpr2172(IEncodable):
|
|
57
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
58
|
+
return helpers_3.encode_string(value_6)
|
|
59
|
+
|
|
60
|
+
return ObjectExpr2172()
|
|
61
|
+
|
|
62
|
+
def _arrow2174(comment: Comment, d: Any=d) -> IEncodable:
|
|
63
|
+
return encoder_1(comment)
|
|
64
|
+
|
|
65
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2167, d.ID), try_include("name", _arrow2169, d.Name), try_include("dataType", ISAJson_encoder_1, d.DataType), try_include("format", _arrow2171, d.Format), try_include("selectorFormat", _arrow2173, d.SelectorFormat), try_include_seq("comments", _arrow2174, d.Comments)]))
|
|
66
|
+
class ObjectExpr2175(IEncodable):
|
|
67
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any], d: Any=d) -> Any:
|
|
68
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
69
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
|
|
70
|
+
|
|
71
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
72
|
+
return helpers_4.encode_object(arg)
|
|
73
|
+
|
|
74
|
+
return ObjectExpr2175()
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def _arrow2182(get: IGetters) -> Data:
|
|
78
|
+
def _arrow2176(__unit: None=None) -> str | None:
|
|
79
|
+
object_arg: IOptionalGetter = get.Optional
|
|
80
|
+
return object_arg.Field("@id", Decode_uri)
|
|
81
|
+
|
|
82
|
+
def _arrow2177(__unit: None=None) -> str | None:
|
|
83
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
84
|
+
return object_arg_1.Field("name", string)
|
|
85
|
+
|
|
86
|
+
def _arrow2178(__unit: None=None) -> DataFile | None:
|
|
87
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
88
|
+
return object_arg_2.Field("dataType", ISAJson_decoder_1)
|
|
89
|
+
|
|
90
|
+
def _arrow2179(__unit: None=None) -> str | None:
|
|
91
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
92
|
+
return object_arg_3.Field("format", string)
|
|
93
|
+
|
|
94
|
+
def _arrow2180(__unit: None=None) -> str | None:
|
|
95
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
96
|
+
return object_arg_4.Field("selectorFormat", Decode_uri)
|
|
97
|
+
|
|
98
|
+
def _arrow2181(__unit: None=None) -> Array[Comment] | None:
|
|
99
|
+
arg_11: Decoder_1[Array[Comment]] = resize_array(decoder_1)
|
|
100
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
101
|
+
return object_arg_5.Field("comments", arg_11)
|
|
102
|
+
|
|
103
|
+
return Data(_arrow2176(), _arrow2177(), _arrow2178(), _arrow2179(), _arrow2180(), _arrow2181())
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
decoder: Decoder_1[Data] = object(_arrow2182)
|
|
107
|
+
|
|
108
|
+
def compressed_encoder(string_table: Any, d: Data) -> IEncodable:
|
|
109
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], string_table: Any=string_table, d: Any=d) -> tuple[str, IEncodable] | None:
|
|
110
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
111
|
+
return (tupled_arg[0], v_1)
|
|
112
|
+
|
|
113
|
+
return map(mapping, tupled_arg[1])
|
|
114
|
+
|
|
115
|
+
def _arrow2184(s: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
|
|
116
|
+
return encode_string(string_table, s)
|
|
117
|
+
|
|
118
|
+
def _arrow2185(s_1: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
|
|
119
|
+
return encode_string(string_table, s_1)
|
|
120
|
+
|
|
121
|
+
def _arrow2186(s_2: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
|
|
122
|
+
return encode_string(string_table, s_2)
|
|
123
|
+
|
|
124
|
+
def _arrow2187(s_3: str, string_table: Any=string_table, d: Any=d) -> IEncodable:
|
|
125
|
+
return encode_string(string_table, s_3)
|
|
126
|
+
|
|
127
|
+
def _arrow2188(comment: Comment, string_table: Any=string_table, d: Any=d) -> IEncodable:
|
|
128
|
+
return encoder_1(comment)
|
|
129
|
+
|
|
130
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("i", _arrow2184, d.ID), try_include("n", _arrow2185, d.Name), try_include("d", ISAJson_encoder_1, d.DataType), try_include("f", _arrow2186, d.Format), try_include("s", _arrow2187, d.SelectorFormat), try_include_seq("c", _arrow2188, d.Comments)]))
|
|
131
|
+
class ObjectExpr2189(IEncodable):
|
|
132
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], string_table: Any=string_table, d: Any=d) -> Any:
|
|
133
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
134
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
|
|
135
|
+
|
|
136
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
137
|
+
return helpers.encode_object(arg)
|
|
138
|
+
|
|
139
|
+
return ObjectExpr2189()
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def compressed_decoder(string_table: Array[str]) -> Decoder_1[Data]:
|
|
143
|
+
def _arrow2196(get: IGetters, string_table: Any=string_table) -> Data:
|
|
144
|
+
def _arrow2190(__unit: None=None) -> str | None:
|
|
145
|
+
arg_1: Decoder_1[str] = decode_string(string_table)
|
|
146
|
+
object_arg: IOptionalGetter = get.Optional
|
|
147
|
+
return object_arg.Field("i", arg_1)
|
|
148
|
+
|
|
149
|
+
def _arrow2191(__unit: None=None) -> str | None:
|
|
150
|
+
arg_3: Decoder_1[str] = decode_string(string_table)
|
|
151
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
152
|
+
return object_arg_1.Field("n", arg_3)
|
|
153
|
+
|
|
154
|
+
def _arrow2192(__unit: None=None) -> DataFile | None:
|
|
155
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
156
|
+
return object_arg_2.Field("d", ISAJson_decoder_1)
|
|
157
|
+
|
|
158
|
+
def _arrow2193(__unit: None=None) -> str | None:
|
|
159
|
+
arg_7: Decoder_1[str] = decode_string(string_table)
|
|
160
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
161
|
+
return object_arg_3.Field("f", arg_7)
|
|
162
|
+
|
|
163
|
+
def _arrow2194(__unit: None=None) -> str | None:
|
|
164
|
+
arg_9: Decoder_1[str] = decode_string(string_table)
|
|
165
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
166
|
+
return object_arg_4.Field("s", arg_9)
|
|
167
|
+
|
|
168
|
+
def _arrow2195(__unit: None=None) -> Array[Comment] | None:
|
|
169
|
+
arg_11: Decoder_1[Array[Comment]] = resize_array(decoder_1)
|
|
170
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
171
|
+
return object_arg_5.Field("c", arg_11)
|
|
172
|
+
|
|
173
|
+
return Data(_arrow2190(), _arrow2191(), _arrow2192(), _arrow2193(), _arrow2194(), _arrow2195())
|
|
174
|
+
|
|
175
|
+
return object(_arrow2196)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
def ROCrate_genID(d: Data) -> str:
|
|
179
|
+
match_value: str | None = d.ID
|
|
180
|
+
if match_value is None:
|
|
181
|
+
match_value_1: str | None = d.Name
|
|
182
|
+
if match_value_1 is None:
|
|
183
|
+
return "#EmptyData"
|
|
184
|
+
|
|
185
|
+
else:
|
|
186
|
+
return replace(match_value_1, " ", "_")
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
else:
|
|
190
|
+
return URIModule_toString(match_value)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def ROCrate_encoder(oa: Data) -> IEncodable:
|
|
195
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
|
|
196
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
197
|
+
return (tupled_arg[0], v_1)
|
|
198
|
+
|
|
199
|
+
return map(mapping, tupled_arg[1])
|
|
200
|
+
|
|
201
|
+
def _arrow2200(__unit: None=None, oa: Any=oa) -> IEncodable:
|
|
202
|
+
value: str = ROCrate_genID(oa)
|
|
203
|
+
class ObjectExpr2199(IEncodable):
|
|
204
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
205
|
+
return helpers.encode_string(value)
|
|
206
|
+
|
|
207
|
+
return ObjectExpr2199()
|
|
208
|
+
|
|
209
|
+
class ObjectExpr2201(IEncodable):
|
|
210
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
211
|
+
return helpers_1.encode_string("Data")
|
|
212
|
+
|
|
213
|
+
def _arrow2203(value_2: str, oa: Any=oa) -> IEncodable:
|
|
214
|
+
class ObjectExpr2202(IEncodable):
|
|
215
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
|
|
216
|
+
return helpers_2.encode_string(value_2)
|
|
217
|
+
|
|
218
|
+
return ObjectExpr2202()
|
|
219
|
+
|
|
220
|
+
def _arrow2204(value_4: DataFile, oa: Any=oa) -> IEncodable:
|
|
221
|
+
return ROCrate_encoder_1(value_4)
|
|
222
|
+
|
|
223
|
+
def _arrow2206(value_5: str, oa: Any=oa) -> IEncodable:
|
|
224
|
+
class ObjectExpr2205(IEncodable):
|
|
225
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
226
|
+
return helpers_3.encode_string(value_5)
|
|
227
|
+
|
|
228
|
+
return ObjectExpr2205()
|
|
229
|
+
|
|
230
|
+
def _arrow2208(value_7: str, oa: Any=oa) -> IEncodable:
|
|
231
|
+
class ObjectExpr2207(IEncodable):
|
|
232
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
|
|
233
|
+
return helpers_4.encode_string(value_7)
|
|
234
|
+
|
|
235
|
+
return ObjectExpr2207()
|
|
236
|
+
|
|
237
|
+
def _arrow2209(comment: Comment, oa: Any=oa) -> IEncodable:
|
|
238
|
+
return ROCrate_encoder_2(comment)
|
|
239
|
+
|
|
240
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2200()), ("@type", list_1_1(singleton(ObjectExpr2201()))), try_include("name", _arrow2203, oa.Name), try_include("type", _arrow2204, oa.DataType), try_include("encodingFormat", _arrow2206, oa.Format), try_include("usageInfo", _arrow2208, oa.SelectorFormat), try_include_seq("comments", _arrow2209, oa.Comments), ("@context", context_jsonvalue)]))
|
|
241
|
+
class ObjectExpr2210(IEncodable):
|
|
242
|
+
def Encode(self, helpers_5: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
|
|
243
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
244
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_5))
|
|
245
|
+
|
|
246
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
247
|
+
return helpers_5.encode_object(arg)
|
|
248
|
+
|
|
249
|
+
return ObjectExpr2210()
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def _arrow2217(get: IGetters) -> Data:
|
|
253
|
+
def _arrow2211(__unit: None=None) -> str | None:
|
|
254
|
+
object_arg: IOptionalGetter = get.Optional
|
|
255
|
+
return object_arg.Field("@id", Decode_uri)
|
|
256
|
+
|
|
257
|
+
def _arrow2212(__unit: None=None) -> str | None:
|
|
258
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
259
|
+
return object_arg_1.Field("name", string)
|
|
260
|
+
|
|
261
|
+
def _arrow2213(__unit: None=None) -> DataFile | None:
|
|
262
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
263
|
+
return object_arg_2.Field("type", ROCrate_decoder_1)
|
|
264
|
+
|
|
265
|
+
def _arrow2214(__unit: None=None) -> str | None:
|
|
266
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
267
|
+
return object_arg_3.Field("encodingFormat", string)
|
|
268
|
+
|
|
269
|
+
def _arrow2215(__unit: None=None) -> str | None:
|
|
270
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
271
|
+
return object_arg_4.Field("usageInfo", Decode_uri)
|
|
272
|
+
|
|
273
|
+
def _arrow2216(__unit: None=None) -> Array[Comment] | None:
|
|
274
|
+
arg_11: Decoder_1[Array[Comment]] = resize_array(ROCrate_decoder_2)
|
|
275
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
276
|
+
return object_arg_5.Field("comments", arg_11)
|
|
277
|
+
|
|
278
|
+
return Data(_arrow2211(), _arrow2212(), _arrow2213(), _arrow2214(), _arrow2215(), _arrow2216())
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
ROCrate_decoder: Decoder_1[Data] = object(_arrow2217)
|
|
282
|
+
|
|
283
|
+
def ISAJson_encoder(id_map: Any | None, oa: Data) -> IEncodable:
|
|
284
|
+
def f(oa_1: Data, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
|
|
285
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
|
|
286
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
287
|
+
return (tupled_arg[0], v_1)
|
|
288
|
+
|
|
289
|
+
return map(mapping, tupled_arg[1])
|
|
290
|
+
|
|
291
|
+
def _arrow2221(value: str, oa_1: Any=oa_1) -> IEncodable:
|
|
292
|
+
class ObjectExpr2220(IEncodable):
|
|
293
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
294
|
+
return helpers.encode_string(value)
|
|
295
|
+
|
|
296
|
+
return ObjectExpr2220()
|
|
297
|
+
|
|
298
|
+
def _arrow2223(value_2: str, oa_1: Any=oa_1) -> IEncodable:
|
|
299
|
+
class ObjectExpr2222(IEncodable):
|
|
300
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
301
|
+
return helpers_1.encode_string(value_2)
|
|
302
|
+
|
|
303
|
+
return ObjectExpr2222()
|
|
304
|
+
|
|
305
|
+
def _arrow2224(comment: Comment, oa_1: Any=oa_1) -> IEncodable:
|
|
306
|
+
return ISAJson_encoder_2(id_map, comment)
|
|
307
|
+
|
|
308
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2221, ROCrate_genID(oa_1)), try_include("name", _arrow2223, oa_1.Name), try_include("type", ISAJson_encoder_1, oa_1.DataType), try_include_seq("comments", _arrow2224, oa_1.Comments)]))
|
|
309
|
+
class ObjectExpr2225(IEncodable):
|
|
310
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
|
|
311
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
312
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
|
|
313
|
+
|
|
314
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
315
|
+
return helpers_2.encode_object(arg)
|
|
316
|
+
|
|
317
|
+
return ObjectExpr2225()
|
|
318
|
+
|
|
319
|
+
if id_map is not None:
|
|
320
|
+
def _arrow2226(d_1: Data, id_map: Any=id_map, oa: Any=oa) -> str:
|
|
321
|
+
return ROCrate_genID(d_1)
|
|
322
|
+
|
|
323
|
+
return encode(_arrow2226, f, oa, id_map)
|
|
324
|
+
|
|
325
|
+
else:
|
|
326
|
+
return f(oa)
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "name", "type", "comments", "@type", "@context"])
|
|
331
|
+
|
|
332
|
+
def _arrow2231(get: IGetters) -> Data:
|
|
333
|
+
def _arrow2227(__unit: None=None) -> str | None:
|
|
334
|
+
object_arg: IOptionalGetter = get.Optional
|
|
335
|
+
return object_arg.Field("@id", Decode_uri)
|
|
336
|
+
|
|
337
|
+
def _arrow2228(__unit: None=None) -> str | None:
|
|
338
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
339
|
+
return object_arg_1.Field("name", string)
|
|
340
|
+
|
|
341
|
+
def _arrow2229(__unit: None=None) -> DataFile | None:
|
|
342
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
343
|
+
return object_arg_2.Field("type", ISAJson_decoder_1)
|
|
344
|
+
|
|
345
|
+
def _arrow2230(__unit: None=None) -> Array[Comment] | None:
|
|
346
|
+
arg_7: Decoder_1[Array[Comment]] = resize_array(ISAJson_decoder_2)
|
|
347
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
348
|
+
return object_arg_3.Field("comments", arg_7)
|
|
349
|
+
|
|
350
|
+
return Data(_arrow2227(), _arrow2228(), _arrow2229(), None, None, _arrow2230())
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
ISAJson_decoder: Decoder_1[Data] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2231)
|
|
354
|
+
|
|
355
|
+
__all__ = ["encoder", "decoder", "compressed_encoder", "compressed_decoder", "ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
|
|
356
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import (Any, TypeVar)
|
|
4
|
+
from ..fable_modules.fable_library.result import FSharpResult_2
|
|
5
|
+
from ..fable_modules.thoth_json_core.decode import string
|
|
6
|
+
from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1, ErrorReason_1, IDecoderHelpers_1)
|
|
7
|
+
from ..Core.data_file import DataFile
|
|
8
|
+
|
|
9
|
+
__A_ = TypeVar("__A_")
|
|
10
|
+
|
|
11
|
+
def ROCrate_encoder(value: DataFile) -> IEncodable:
|
|
12
|
+
if value.tag == 1:
|
|
13
|
+
class ObjectExpr2104(IEncodable):
|
|
14
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
15
|
+
return helpers_1.encode_string("Derived Data File")
|
|
16
|
+
|
|
17
|
+
return ObjectExpr2104()
|
|
18
|
+
|
|
19
|
+
elif value.tag == 2:
|
|
20
|
+
class ObjectExpr2107(IEncodable):
|
|
21
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
22
|
+
return helpers_2.encode_string("Image File")
|
|
23
|
+
|
|
24
|
+
return ObjectExpr2107()
|
|
25
|
+
|
|
26
|
+
else:
|
|
27
|
+
class ObjectExpr2108(IEncodable):
|
|
28
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
29
|
+
return helpers.encode_string("Raw Data File")
|
|
30
|
+
|
|
31
|
+
return ObjectExpr2108()
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ObjectExpr2110(Decoder_1[DataFile]):
|
|
36
|
+
def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[DataFile, tuple[str, ErrorReason_1[__A_]]]:
|
|
37
|
+
match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, json)
|
|
38
|
+
if match_value.tag == 1:
|
|
39
|
+
return FSharpResult_2(1, match_value.fields[0])
|
|
40
|
+
|
|
41
|
+
elif match_value.fields[0] == "Raw Data File":
|
|
42
|
+
return FSharpResult_2(0, DataFile(0))
|
|
43
|
+
|
|
44
|
+
elif match_value.fields[0] == "Derived Data File":
|
|
45
|
+
return FSharpResult_2(0, DataFile(1))
|
|
46
|
+
|
|
47
|
+
elif match_value.fields[0] == "Image File":
|
|
48
|
+
return FSharpResult_2(0, DataFile(2))
|
|
49
|
+
|
|
50
|
+
else:
|
|
51
|
+
s_1: str = match_value.fields[0]
|
|
52
|
+
return FSharpResult_2(1, (("Could not parse " + s_1) + ".", ErrorReason_1(0, s_1, json)))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
ROCrate_decoder: Decoder_1[DataFile] = ObjectExpr2110()
|
|
57
|
+
|
|
58
|
+
ISAJson_encoder: Callable[[DataFile], IEncodable] = ROCrate_encoder
|
|
59
|
+
|
|
60
|
+
ISAJson_decoder: Decoder_1[DataFile] = ROCrate_decoder
|
|
61
|
+
|
|
62
|
+
__all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_decoder"]
|
|
63
|
+
|
arctrl/py/Json/decode.py
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from abc import abstractmethod
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing import (Any, Protocol, TypeVar)
|
|
6
|
+
from ..fable_modules.fable_library.array_ import fold
|
|
7
|
+
from ..fable_modules.fable_library.date import to_universal_time
|
|
8
|
+
from ..fable_modules.fable_library.list import (FSharpList, is_empty, length, head)
|
|
9
|
+
from ..fable_modules.fable_library.result import (FSharpResult_2, Result_Map)
|
|
10
|
+
from ..fable_modules.fable_library.seq import exists
|
|
11
|
+
from ..fable_modules.fable_library.set import (contains, of_seq)
|
|
12
|
+
from ..fable_modules.fable_library.string_ import (to_text, printf)
|
|
13
|
+
from ..fable_modules.fable_library.types import Array
|
|
14
|
+
from ..fable_modules.fable_library.util import (compare_primitives, IEnumerable_1, int32_to_string)
|
|
15
|
+
from ..fable_modules.thoth_json_core.decode import (string, Getters_2__ctor_Z4BE6C149, Getters_2, Getters_2__get_Errors, IGetters, map, datetime_local)
|
|
16
|
+
from ..fable_modules.thoth_json_core.types import (ErrorReason_1, Decoder_1, IDecoderHelpers_1)
|
|
17
|
+
|
|
18
|
+
_JSONVALUE = TypeVar("_JSONVALUE")
|
|
19
|
+
|
|
20
|
+
__A_ = TypeVar("__A_")
|
|
21
|
+
|
|
22
|
+
_VALUE_ = TypeVar("_VALUE_")
|
|
23
|
+
|
|
24
|
+
_VALUE = TypeVar("_VALUE")
|
|
25
|
+
|
|
26
|
+
class DateTimeStatic(Protocol):
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def from_time_stamp(self, timestamp: float) -> Any:
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def PyTime_toUniversalTimePy(dt: Any) -> Any:
|
|
33
|
+
timestamp: float = to_universal_time(dt).timestamp()
|
|
34
|
+
return datetime.fromtimestamp(timestamp=timestamp)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def Helpers_prependPath(path: str, err_: str, err__1: ErrorReason_1[Any]) -> tuple[str, ErrorReason_1[_JSONVALUE]]:
|
|
38
|
+
err: tuple[str, ErrorReason_1[_JSONVALUE]] = (err_, err__1)
|
|
39
|
+
return (path + err[0], err[1])
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def Decode_isURI(s: str) -> bool:
|
|
43
|
+
return True
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ObjectExpr1876(Decoder_1[str]):
|
|
47
|
+
def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]]:
|
|
48
|
+
match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, json)
|
|
49
|
+
if match_value.tag == 1:
|
|
50
|
+
return FSharpResult_2(1, match_value.fields[0])
|
|
51
|
+
|
|
52
|
+
elif Decode_isURI(match_value.fields[0]):
|
|
53
|
+
return FSharpResult_2(0, match_value.fields[0])
|
|
54
|
+
|
|
55
|
+
else:
|
|
56
|
+
s_3: str = match_value.fields[0]
|
|
57
|
+
return FSharpResult_2(1, (s_3, ErrorReason_1(6, to_text(printf("Expected URI, got %s"))(s_3))))
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
Decode_uri: Decoder_1[str] = ObjectExpr1876()
|
|
62
|
+
|
|
63
|
+
def Decode_hasUnknownFields(helpers: IDecoderHelpers_1[Any], known_fields: Any, json: Any) -> bool:
|
|
64
|
+
def predicate(x: str, helpers: Any=helpers, known_fields: Any=known_fields, json: Any=json) -> bool:
|
|
65
|
+
return not contains(x, known_fields)
|
|
66
|
+
|
|
67
|
+
return exists(predicate, helpers.get_properties(json))
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def Decode_objectNoAdditionalProperties(allowed_properties: IEnumerable_1[str], builder: Callable[[IGetters], _VALUE]) -> Decoder_1[Any]:
|
|
71
|
+
class ObjectExpr1877:
|
|
72
|
+
@property
|
|
73
|
+
def Compare(self) -> Callable[[str, str], int]:
|
|
74
|
+
return compare_primitives
|
|
75
|
+
|
|
76
|
+
allowed_properties_1: Any = of_seq(allowed_properties, ObjectExpr1877())
|
|
77
|
+
class ObjectExpr1878(Decoder_1[_VALUE_]):
|
|
78
|
+
def Decode(self, helpers: IDecoderHelpers_1[Any], value: Any, allowed_properties: Any=allowed_properties, builder: Any=builder) -> FSharpResult_2[_VALUE_, tuple[str, ErrorReason_1[__A_]]]:
|
|
79
|
+
getters: Getters_2[__A_, Any] = Getters_2__ctor_Z4BE6C149(helpers, value)
|
|
80
|
+
if Decode_hasUnknownFields(helpers, allowed_properties_1, value):
|
|
81
|
+
return FSharpResult_2(1, ("Unknown fields in object", ErrorReason_1(0, "", value)))
|
|
82
|
+
|
|
83
|
+
else:
|
|
84
|
+
result: _VALUE_ = builder(getters)
|
|
85
|
+
match_value: FSharpList[tuple[str, ErrorReason_1[__A_]]] = Getters_2__get_Errors(getters)
|
|
86
|
+
if not is_empty(match_value):
|
|
87
|
+
errors: FSharpList[tuple[str, ErrorReason_1[__A_]]] = match_value
|
|
88
|
+
return FSharpResult_2(1, ("", ErrorReason_1(7, errors))) if (length(errors) > 1) else FSharpResult_2(1, head(match_value))
|
|
89
|
+
|
|
90
|
+
else:
|
|
91
|
+
return FSharpResult_2(0, result)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
return ObjectExpr1878()
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def Decode_noAdditionalProperties(allowed_properties: IEnumerable_1[str], decoder: Decoder_1[Any]) -> Decoder_1[Any]:
|
|
99
|
+
class ObjectExpr1879:
|
|
100
|
+
@property
|
|
101
|
+
def Compare(self) -> Callable[[str, str], int]:
|
|
102
|
+
return compare_primitives
|
|
103
|
+
|
|
104
|
+
allowed_properties_1: Any = of_seq(allowed_properties, ObjectExpr1879())
|
|
105
|
+
class ObjectExpr1880(Decoder_1[_VALUE_]):
|
|
106
|
+
def Decode(self, helpers: IDecoderHelpers_1[Any], value: Any, allowed_properties: Any=allowed_properties, decoder: Any=decoder) -> FSharpResult_2[_VALUE_, tuple[str, ErrorReason_1[__A_]]]:
|
|
107
|
+
getters: Getters_2[__A_, Any] = Getters_2__ctor_Z4BE6C149(helpers, value)
|
|
108
|
+
return FSharpResult_2(1, ("Unknown fields in object", ErrorReason_1(0, "", value))) if Decode_hasUnknownFields(helpers, allowed_properties_1, value) else decoder.Decode(helpers, value)
|
|
109
|
+
|
|
110
|
+
return ObjectExpr1880()
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def Decode_resizeArrayOrSingleton(decoder: Decoder_1[Any]) -> Decoder_1[Array[Any]]:
|
|
114
|
+
class ObjectExpr1884(Decoder_1[Array[_VALUE_]]):
|
|
115
|
+
def Decode(self, helpers: IDecoderHelpers_1[Any], value: Any, decoder: Any=decoder) -> FSharpResult_2[Array[_VALUE_], tuple[str, ErrorReason_1[__A_]]]:
|
|
116
|
+
if helpers.is_array(value):
|
|
117
|
+
i: int = -1
|
|
118
|
+
def folder(acc: FSharpResult_2[Array[_VALUE_], tuple[str, ErrorReason_1[__A_]]], value_1: __A_) -> FSharpResult_2[Array[_VALUE_], tuple[str, ErrorReason_1[__A_]]]:
|
|
119
|
+
nonlocal i
|
|
120
|
+
i = (i + 1) or 0
|
|
121
|
+
if acc.tag == 0:
|
|
122
|
+
acc_1: Array[_VALUE_] = acc.fields[0]
|
|
123
|
+
match_value: FSharpResult_2[_VALUE_, tuple[str, ErrorReason_1[__A_]]] = decoder.Decode(helpers, value_1)
|
|
124
|
+
if match_value.tag == 0:
|
|
125
|
+
(acc_1.append(match_value.fields[0]))
|
|
126
|
+
return FSharpResult_2(0, acc_1)
|
|
127
|
+
|
|
128
|
+
else:
|
|
129
|
+
def _arrow1881(__unit: None=None, acc: Any=acc, value_1: Any=value_1) -> tuple[str, ErrorReason_1[__A_]]:
|
|
130
|
+
tupled_arg: tuple[str, ErrorReason_1[__A_]] = match_value.fields[0]
|
|
131
|
+
return Helpers_prependPath((".[" + int32_to_string(i)) + "]", tupled_arg[0], tupled_arg[1])
|
|
132
|
+
|
|
133
|
+
return FSharpResult_2(1, _arrow1881())
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
else:
|
|
137
|
+
return acc
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
return fold(folder, FSharpResult_2(0, []), helpers.as_array(value))
|
|
141
|
+
|
|
142
|
+
else:
|
|
143
|
+
def mapping(x: _VALUE_ | None=None) -> Array[_VALUE_]:
|
|
144
|
+
return [x]
|
|
145
|
+
|
|
146
|
+
return Result_Map(mapping, decoder.Decode(helpers, value))
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
return ObjectExpr1884()
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
Decode_datetime: Decoder_1[Any] = map(PyTime_toUniversalTimePy, datetime_local)
|
|
153
|
+
|
|
154
|
+
__all__ = ["PyTime_toUniversalTimePy", "Helpers_prependPath", "Decode_isURI", "Decode_uri", "Decode_hasUnknownFields", "Decode_objectNoAdditionalProperties", "Decode_noAdditionalProperties", "Decode_resizeArrayOrSingleton", "Decode_datetime"]
|
|
155
|
+
|
arctrl/py/Json/encode.py
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import (Any, TypeVar)
|
|
4
|
+
from ..fable_modules.fable_library.array_ import map as map_2
|
|
5
|
+
from ..fable_modules.fable_library.date import to_string
|
|
6
|
+
from ..fable_modules.fable_library.list import (is_empty as is_empty_1, map as map_3, FSharpList)
|
|
7
|
+
from ..fable_modules.fable_library.option import (map, default_arg)
|
|
8
|
+
from ..fable_modules.fable_library.seq import (is_empty, map as map_1, append)
|
|
9
|
+
from ..fable_modules.fable_library.types import Array
|
|
10
|
+
from ..fable_modules.fable_library.util import to_enumerable
|
|
11
|
+
from ..fable_modules.thoth_json_core.encode import (seq, list_1 as list_1_1)
|
|
12
|
+
from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Json)
|
|
13
|
+
|
|
14
|
+
_VALUE = TypeVar("_VALUE")
|
|
15
|
+
|
|
16
|
+
__A = TypeVar("__A")
|
|
17
|
+
|
|
18
|
+
__A_ = TypeVar("__A_")
|
|
19
|
+
|
|
20
|
+
_T = TypeVar("_T")
|
|
21
|
+
|
|
22
|
+
def try_include(name: str, encoder: Callable[[_VALUE], IEncodable], value: Any | None=None) -> tuple[str, IEncodable | None]:
|
|
23
|
+
return (name, map(encoder, value))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def try_include_seq(name: Any, encoder: Callable[[_VALUE], IEncodable], value: Any) -> tuple[__A, IEncodable | None]:
|
|
27
|
+
return (name, None if is_empty(value) else seq(map_1(encoder, value)))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def try_include_array(name: Any, encoder: Callable[[_VALUE], IEncodable], value: Array[Any]) -> tuple[__A, IEncodable | None]:
|
|
31
|
+
def _arrow1883(__unit: None=None, name: Any=name, encoder: Any=encoder, value: Any=value) -> IEncodable:
|
|
32
|
+
values: Array[IEncodable] = map_2(encoder, value, None)
|
|
33
|
+
class ObjectExpr1882(IEncodable):
|
|
34
|
+
def Encode(self, helpers: IEncoderHelpers_1[__A_]) -> __A_:
|
|
35
|
+
def mapping(v: IEncodable) -> __A_:
|
|
36
|
+
return v.Encode(helpers)
|
|
37
|
+
|
|
38
|
+
arg: Array[__A_] = map_2(mapping, values, None)
|
|
39
|
+
return helpers.encode_array(arg)
|
|
40
|
+
|
|
41
|
+
return ObjectExpr1882()
|
|
42
|
+
|
|
43
|
+
return (name, None if (len(value) == 0) else _arrow1883())
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def try_include_list(name: Any, encoder: Callable[[_VALUE], IEncodable], value: FSharpList[Any]) -> tuple[__A, IEncodable | None]:
|
|
47
|
+
return (name, None if is_empty_1(value) else list_1_1(map_3(encoder, value)))
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def try_include_list_opt(name: Any, encoder: Callable[[_VALUE], IEncodable], value: FSharpList[Any] | None=None) -> tuple[__A, IEncodable | None]:
|
|
51
|
+
def _arrow1885(__unit: None=None, name: Any=name, encoder: Any=encoder, value: Any=value) -> IEncodable | None:
|
|
52
|
+
o: FSharpList[_VALUE] = value
|
|
53
|
+
return None if is_empty_1(o) else list_1_1(map_3(encoder, o))
|
|
54
|
+
|
|
55
|
+
return (name, _arrow1885() if (value is not None) else None)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
DefaultSpaces: int = 0
|
|
59
|
+
|
|
60
|
+
def default_spaces(spaces: int | None=None) -> int:
|
|
61
|
+
return default_arg(spaces, DefaultSpaces)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def date_time(d: Any) -> IEncodable:
|
|
65
|
+
value: str = to_string(d, "O", {}).split("+")[0]
|
|
66
|
+
class ObjectExpr1886(IEncodable):
|
|
67
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], d: Any=d) -> Any:
|
|
68
|
+
return helpers.encode_string(value)
|
|
69
|
+
|
|
70
|
+
return ObjectExpr1886()
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def add_property_to_object(name: str, value: Json, obj: Json) -> Json:
|
|
74
|
+
if obj.tag == 5:
|
|
75
|
+
return Json(5, append(obj.fields[0], to_enumerable([(name, value)])))
|
|
76
|
+
|
|
77
|
+
else:
|
|
78
|
+
raise Exception("Expected object")
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def resize_array_or_singleton(encoder: Callable[[_T], IEncodable], values: Array[Any]) -> IEncodable:
|
|
83
|
+
if len(values) == 1:
|
|
84
|
+
return encoder(values[0])
|
|
85
|
+
|
|
86
|
+
else:
|
|
87
|
+
return seq(map_1(encoder, values))
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
__all__ = ["try_include", "try_include_seq", "try_include_array", "try_include_list", "try_include_list_opt", "DefaultSpaces", "default_spaces", "date_time", "add_property_to_object", "resize_array_or_singleton"]
|
|
92
|
+
|