@nfdi4plants/arctrl 1.2.0 → 2.0.0-alpha.1
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.
- package/ARC.js +53 -35
- package/{Contracts/Contracts.ARCtrl.js → Contract/ARC.js} +4 -2
- package/Contract/ArcAssay.js +102 -0
- package/Contract/ArcInvestigation.js +78 -0
- package/Contract/ArcStudy.js +102 -0
- package/Contract/Contract.js +3 -3
- package/{Contracts/Contracts.Git.js → Contract/Git.js} +5 -5
- package/{ISA/ISA/ArcTypes → Core}/ArcTypes.js +307 -295
- package/Core/Comment.js +97 -0
- package/{ISA/ISA/JsonTypes → Core}/CommentList.js +12 -18
- package/Core/Conversion.js +1056 -0
- package/Core/Helper/Collections.js +318 -0
- package/Core/Helper/HashCodes.js +39 -0
- package/{ISA/ISA → Core/Helper}/Identifier.js +67 -2
- package/{ISA/ISA → Core/Helper}/Regex.js +3 -3
- package/{SemVer.js → Core/Helper/SemVer.js} +8 -8
- package/{ISA/ISA/ArcTypes → Core}/IdentifierSetters.js +1 -1
- package/Core/OntologyAnnotation.js +186 -0
- package/Core/OntologySourceReference.js +92 -0
- package/Core/Person.js +194 -0
- package/Core/Process/ColumnIndex.js +248 -0
- package/Core/Process/Component.js +188 -0
- package/{ISA/ISA/JsonTypes → Core/Process}/Data.js +8 -8
- package/{ISA/ISA/JsonTypes → Core/Process}/DataFile.js +3 -3
- package/Core/Process/Factor.js +109 -0
- package/{ISA/ISA/JsonTypes → Core/Process}/FactorValue.js +32 -13
- package/{ISA/ISA/JsonTypes → Core/Process}/Material.js +9 -9
- package/{ISA/ISA/JsonTypes → Core/Process}/MaterialAttribute.js +17 -17
- package/{ISA/ISA/JsonTypes → Core/Process}/MaterialAttributeValue.js +35 -16
- package/{ISA/ISA/JsonTypes → Core/Process}/MaterialType.js +3 -3
- package/{ISA/ISA/JsonTypes → Core/Process}/Process.js +46 -79
- package/{ISA/ISA/JsonTypes → Core/Process}/ProcessInput.js +42 -42
- package/{ISA/ISA/JsonTypes → Core/Process}/ProcessOutput.js +36 -36
- package/{ISA/ISA/JsonTypes → Core/Process}/ProcessParameterValue.js +26 -7
- package/{ISA/ISA/JsonTypes → Core/Process}/ProcessSequence.js +21 -25
- package/{ISA/ISA/JsonTypes → Core/Process}/Protocol.js +26 -57
- package/{ISA/ISA/JsonTypes → Core/Process}/ProtocolParameter.js +10 -10
- package/{ISA/ISA/JsonTypes → Core/Process}/Sample.js +12 -12
- package/{ISA/ISA/JsonTypes → Core/Process}/Source.js +9 -9
- package/{ISA/ISA/JsonTypes → Core/Process}/Value.js +13 -13
- package/Core/Publication.js +116 -0
- package/{ISA/ISA/ArcTypes → Core/Table}/ArcTable.js +43 -149
- package/Core/Table/ArcTableAux.js +532 -0
- package/{ISA/ISA/ArcTypes → Core/Table}/ArcTables.js +20 -32
- package/{ISA/ISA/ArcTypes → Core/Table}/CompositeCell.js +19 -76
- package/{ISA/ISA/ArcTypes → Core/Table}/CompositeColumn.js +6 -6
- package/{ISA/ISA/ArcTypes → Core/Table}/CompositeHeader.js +14 -34
- package/{Templates → Core}/Template.js +16 -17
- package/Core/Templates.js +84 -0
- package/FileSystem/Commit.js +2 -2
- package/FileSystem/FileSystem.js +4 -4
- package/FileSystem/FileSystemTree.js +46 -8
- package/FileSystem/Path.js +10 -2
- package/Json/ARC.js +25 -0
- package/Json/Assay.js +202 -0
- package/Json/Comment.js +130 -0
- package/Json/ConverterOptions.js +18 -0
- package/Json/Decode.js +128 -0
- package/Json/Encode.js +45 -0
- package/Json/Investigation.js +220 -0
- package/Json/OntologyAnnotation.js +169 -0
- package/Json/OntologySourceReference.js +122 -0
- package/Json/Person.js +250 -0
- package/Json/Process/AssayMaterials.js +22 -0
- package/Json/Process/Component.js +79 -0
- package/Json/Process/Data.js +102 -0
- package/Json/Process/DataFile.js +81 -0
- package/Json/Process/Factor.js +48 -0
- package/Json/Process/FactorValue.js +53 -0
- package/Json/Process/Material.js +107 -0
- package/Json/Process/MaterialAttribute.js +45 -0
- package/Json/Process/MaterialAttributeValue.js +70 -0
- package/Json/Process/MaterialType.js +60 -0
- package/Json/Process/Process.js +107 -0
- package/Json/Process/ProcessInput.js +59 -0
- package/Json/Process/ProcessOutput.js +71 -0
- package/Json/Process/ProcessParameterValue.js +69 -0
- package/Json/Process/ProcessSequence.js +53 -0
- package/Json/Process/PropertyValue.js +82 -0
- package/Json/Process/Protocol.js +147 -0
- package/Json/Process/ProtocolParameter.js +45 -0
- package/Json/Process/Sample.js +134 -0
- package/Json/Process/Source.js +101 -0
- package/Json/Process/StudyMaterials.js +24 -0
- package/Json/Process/Value.js +42 -0
- package/Json/Publication.js +142 -0
- package/Json/StringTable.js +44 -0
- package/Json/Study.js +306 -0
- package/{ISA/ISA.Json/ArcTypes → Json/Table}/ArcTable.js +53 -49
- package/Json/Table/CellTable.js +40 -0
- package/Json/Table/CompositeCell.js +65 -0
- package/{ISA/ISA.Json/ArcTypes → Json/Table}/CompositeHeader.js +22 -19
- package/Json/Table/Compression.js +38 -0
- package/Json/Table/IOType.js +37 -0
- package/Json/Table/OATable.js +40 -0
- package/Json/Table/Templates.js +107 -0
- package/Json/context/rocrate/isa_assay_context.js +32 -0
- package/Json/context/rocrate/isa_comment_context.js +23 -0
- package/Json/context/rocrate/isa_component_context.js +24 -0
- package/Json/context/rocrate/isa_data_context.js +25 -0
- package/Json/context/rocrate/isa_factor_context.js +25 -0
- package/Json/context/rocrate/isa_factor_value_context.js +23 -0
- package/{ISA/ISA.Json → Json}/context/rocrate/isa_investigation_context.js +5 -5
- package/{ISA/ISA.Json → Json}/context/rocrate/isa_material_attribute_context.js +4 -4
- package/Json/context/rocrate/isa_material_attribute_value_context.js +23 -0
- package/Json/context/rocrate/isa_material_context.js +26 -0
- package/Json/context/rocrate/isa_ontology_annotation_context.js +23 -0
- package/Json/context/rocrate/isa_ontology_source_reference_context.js +26 -0
- package/Json/context/rocrate/isa_organization_context.js +22 -0
- package/Json/context/rocrate/isa_person_context.js +33 -0
- package/Json/context/rocrate/isa_process_context.js +29 -0
- package/Json/context/rocrate/isa_process_parameter_value_context.js +23 -0
- package/Json/context/rocrate/isa_protocol_context.js +28 -0
- package/{ISA/ISA.Json → Json}/context/rocrate/isa_protocol_parameter_context.js +4 -4
- package/Json/context/rocrate/isa_publication_context.js +25 -0
- package/Json/context/rocrate/isa_sample_context.js +24 -0
- package/Json/context/rocrate/isa_source_context.js +25 -0
- package/Json/context/rocrate/isa_study_context.js +40 -0
- package/Json/context/rocrate/property_value_context.js +4 -0
- package/Json/context/rocrate/rocrate_context.js +23 -0
- package/Json.js +193 -0
- package/README.md +32 -11
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/ArcTable.js +12 -12
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeCell.js +8 -7
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeColumn.js +10 -10
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeHeader.js +10 -10
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcAssay.js +11 -11
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcInvestigation.js +34 -37
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcStudy.js +12 -12
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/CollectionAux.js +7 -7
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Assays.js +32 -32
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Comment.js +5 -5
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Contacts.js +28 -30
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Conversions.js +22 -16
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/DesignDescriptors.js +1 -1
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Factors.js +23 -22
- package/Spreadsheet/Metadata/OntologyAnnotation.js +64 -0
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/OntologySourceReference.js +22 -24
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Protocols.js +17 -17
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Publication.js +29 -31
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/SparseTable.js +23 -22
- package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Study.js +38 -40
- package/{Templates/Template.Spreadsheet.js → Spreadsheet/Template.js} +31 -31
- package/Template.Web.js +27 -0
- package/WebRequest/WebRequest.Node.js +2 -2
- package/WebRequest/WebRequest.js +2 -2
- package/Xlsx.js +85 -0
- package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +7 -7
- package/fable_modules/Fable.Promise.2.2.2/Promise.fs.js +3 -3
- package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +8 -8
- package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +2 -2
- package/fable_modules/FsSpreadsheet.5.1.3/Cells/FsCell.fs.js +14 -14
- package/fable_modules/FsSpreadsheet.5.1.3/Cells/FsCellsCollection.fs.js +6 -6
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/CellBuilder.fs.js +4 -4
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/ColumnBuilder.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/DSL.fs.js +2 -2
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/Expression.fs.js +1 -1
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/RowBuilder.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/SheetBuilder.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/TableBuilder.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/Transform.fs.js +6 -6
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/Types.fs.js +4 -4
- package/fable_modules/FsSpreadsheet.5.1.3/DSL/WorkbookBuilder.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/FsAddress.fs.js +8 -8
- package/fable_modules/FsSpreadsheet.5.1.3/FsColumn.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/FsRow.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/FsWorkbook.fs.js +6 -6
- package/fable_modules/FsSpreadsheet.5.1.3/FsWorksheet.fs.js +9 -9
- package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRange.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeAddress.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeBase.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeColumn.fs.js +3 -3
- package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeRow.fs.js +1 -1
- package/fable_modules/FsSpreadsheet.5.1.3/SheetBuilder.fs.js +8 -8
- package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTable.fs.js +7 -7
- package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTableField.fs.js +4 -4
- package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTableRow.fs.js +1 -1
- package/fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js +19 -19
- package/fable_modules/Thoth.Json.Core.0.2.1/Encode.fs.js +5 -5
- package/fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js +2 -2
- package/fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js +1 -1
- package/fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js +2 -2
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Boolean.js +2 -2
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/CHANGELOG.md +18 -0
- package/fable_modules/fable-library-js.4.16.0/ConditionalWeakTable.d.ts +9 -0
- package/fable_modules/fable-library-js.4.16.0/ConditionalWeakTable.js +21 -0
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Date.js +337 -40
- package/fable_modules/fable-library-js.4.16.0/MapUtil.d.ts +12 -0
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MapUtil.js +15 -0
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Util.d.ts +6 -3
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Util.js +2 -13
- package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/package.json +1 -1
- package/fable_modules/project_cracked.json +1 -1
- package/index.js +14 -12
- package/package.json +1 -1
- package/Contracts/Contracts.ArcTypes.js +0 -268
- package/FileSystemTree.js +0 -51
- package/ISA/ISA/ArcTypes/ArcTableAux.js +0 -1155
- package/ISA/ISA/ArcTypes/CompositeRow.js +0 -111
- package/ISA/ISA/Builder/Types.js +0 -243
- package/ISA/ISA/Fable.js +0 -123
- package/ISA/ISA/Helper.js +0 -505
- package/ISA/ISA/JsonTypes/Assay.js +0 -620
- package/ISA/ISA/JsonTypes/AssayMaterials.js +0 -39
- package/ISA/ISA/JsonTypes/ColumnIndex.js +0 -246
- package/ISA/ISA/JsonTypes/Comment.js +0 -58
- package/ISA/ISA/JsonTypes/Component.js +0 -165
- package/ISA/ISA/JsonTypes/Factor.js +0 -128
- package/ISA/ISA/JsonTypes/Investigation.js +0 -204
- package/ISA/ISA/JsonTypes/OntologyAnnotation.js +0 -196
- package/ISA/ISA/JsonTypes/OntologySourceReference.js +0 -85
- package/ISA/ISA/JsonTypes/Person.js +0 -152
- package/ISA/ISA/JsonTypes/Publication.js +0 -105
- package/ISA/ISA/JsonTypes/Study.js +0 -942
- package/ISA/ISA/JsonTypes/StudyMaterials.js +0 -45
- package/ISA/ISA/UIHelper.js +0 -19
- package/ISA/ISA.Json/ArcTypes/ArcAssay.js +0 -303
- package/ISA/ISA.Json/ArcTypes/ArcInvestigation.js +0 -122
- package/ISA/ISA.Json/ArcTypes/ArcStudy.js +0 -203
- package/ISA/ISA.Json/ArcTypes/CellTable.js +0 -40
- package/ISA/ISA.Json/ArcTypes/CompositeCell.js +0 -62
- package/ISA/ISA.Json/ArcTypes/IOType.js +0 -33
- package/ISA/ISA.Json/ArcTypes/OATable.js +0 -42
- package/ISA/ISA.Json/Assay.js +0 -129
- package/ISA/ISA.Json/Comment.js +0 -80
- package/ISA/ISA.Json/ConverterOptions.js +0 -51
- package/ISA/ISA.Json/Data.js +0 -253
- package/ISA/ISA.Json/Decode.js +0 -61
- package/ISA/ISA.Json/Factor.js +0 -194
- package/ISA/ISA.Json/GEncode.js +0 -40
- package/ISA/ISA.Json/Investigation.js +0 -89
- package/ISA/ISA.Json/Material.js +0 -232
- package/ISA/ISA.Json/Ontology.js +0 -200
- package/ISA/ISA.Json/Person.js +0 -186
- package/ISA/ISA.Json/Process.js +0 -305
- package/ISA/ISA.Json/Protocol.js +0 -281
- package/ISA/ISA.Json/Publication.js +0 -86
- package/ISA/ISA.Json/StringTable.js +0 -44
- package/ISA/ISA.Json/Study.js +0 -186
- package/ISA/ISA.Json/context/rocrate/isa_assay_context.js +0 -34
- package/ISA/ISA.Json/context/rocrate/isa_comment_context.js +0 -23
- package/ISA/ISA.Json/context/rocrate/isa_component_context.js +0 -24
- package/ISA/ISA.Json/context/rocrate/isa_data_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_factor_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_factor_value_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_material_attribute_value_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_material_context.js +0 -26
- package/ISA/ISA.Json/context/rocrate/isa_ontology_annotation_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_ontology_source_reference_context.js +0 -26
- package/ISA/ISA.Json/context/rocrate/isa_organization_context.js +0 -22
- package/ISA/ISA.Json/context/rocrate/isa_person_context.js +0 -31
- package/ISA/ISA.Json/context/rocrate/isa_process_context.js +0 -31
- package/ISA/ISA.Json/context/rocrate/isa_process_parameter_value_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_protocol_context.js +0 -30
- package/ISA/ISA.Json/context/rocrate/isa_publication_context.js +0 -27
- package/ISA/ISA.Json/context/rocrate/isa_sample_context.js +0 -26
- package/ISA/ISA.Json/context/rocrate/isa_source_context.js +0 -25
- package/ISA/ISA.Json/context/rocrate/isa_study_context.js +0 -42
- package/ISA/ISA.Json/context/rocrate/rocrate_context.js +0 -25
- package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +0 -65
- package/Path.js +0 -10
- package/Templates/Template.Json.js +0 -90
- package/Templates/Template.Web.js +0 -27
- package/Templates/Templates.js +0 -82
- package/fable_modules/fable-library-js.4.13.0/MapUtil.d.ts +0 -10
- /package/{ISA/ISA/JsonTypes → Core}/URI.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Array.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Array.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Async.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Async.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/AsyncBuilder.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/AsyncBuilder.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BigInt.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BigInt.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BitConverter.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BitConverter.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Boolean.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Char.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Char.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Choice.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Choice.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Date.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOffset.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOffset.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOnly.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOnly.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Decimal.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Decimal.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Double.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Double.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Encoding.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Encoding.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Event.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Event.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Collections.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Collections.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.CompilerServices.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.CompilerServices.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Global.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Global.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Guid.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Guid.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Int32.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Int32.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/List.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/List.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Long.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Long.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MailboxProcessor.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MailboxProcessor.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Map.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Map.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableMap.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableMap.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableSet.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableSet.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Native.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Native.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Numeric.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Numeric.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Observable.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Observable.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Option.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Option.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/README.md +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Random.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Random.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Range.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Range.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Reflection.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Reflection.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/RegExp.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/RegExp.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Result.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Result.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq2.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq2.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Set.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Set.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/String.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/String.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Collections.Generic.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Collections.Generic.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Text.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Text.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/SystemException.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/SystemException.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeOnly.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeOnly.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeSpan.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeSpan.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Timer.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Timer.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Types.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Types.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Unicode.13.0.0.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Unicode.13.0.0.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Uri.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Uri.js +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/big.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/lib/big.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/lib/big.js +0 -0
|
@@ -0,0 +1,1056 @@
|
|
|
1
|
+
import { remove, toFail, endsWith, printf, toText } from "../fable_modules/fable-library-js.4.16.0/String.js";
|
|
2
|
+
import { Comment$ } from "./Comment.js";
|
|
3
|
+
import { zip as zip_1, fold, empty as empty_1, singleton as singleton_1, append, delay, map as map_1, filter, toList, indexed, tryPick, choose } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
4
|
+
import { unwrap, value as value_9, map, defaultArg } from "../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
5
|
+
import { Option_fromValueWithDefault, ResizeArray_filter } from "./Helper/Collections.js";
|
|
6
|
+
import { Value as Value_1 } from "./Process/Value.js";
|
|
7
|
+
import { Component_create_4208F9FC } from "./Process/Component.js";
|
|
8
|
+
import { ProtocolParameter } from "./Process/ProtocolParameter.js";
|
|
9
|
+
import { ProcessParameterValue } from "./Process/ProcessParameterValue.js";
|
|
10
|
+
import { FactorValue_create_29259B2C } from "./Process/FactorValue.js";
|
|
11
|
+
import { Factor } from "./Process/Factor.js";
|
|
12
|
+
import { toString } from "../fable_modules/fable-library-js.4.16.0/Types.js";
|
|
13
|
+
import { MaterialAttributeValue_create_BE8DE56 } from "./Process/MaterialAttributeValue.js";
|
|
14
|
+
import { MaterialAttribute_create_A220A8A } from "./Process/MaterialAttribute.js";
|
|
15
|
+
import { ProcessInput_getCharacteristicValues_5B3D5BA9, ProcessInput__isMaterial, ProcessInput__isData, ProcessInput_setCharacteristicValues, ProcessInput__get_Name, ProcessInput__isSource, ProcessInput__isSample, ProcessInput, ProcessInput_createDerivedData_Z721C83C5, ProcessInput_createRawData_Z721C83C5, ProcessInput_createImageFile_Z721C83C5, ProcessInput_createMaterial_4452CB4C, ProcessInput_createSample_Z598187B7, ProcessInput_createSource_Z5E00540E } from "./Process/ProcessInput.js";
|
|
16
|
+
import { ProcessOutput_getFactorValues_Z42C11600, ProcessOutput__isMaterial, ProcessOutput__isData, ProcessOutput_setFactorValues, ProcessOutput__get_Name, ProcessOutput__isSample, ProcessOutput, ProcessOutput_createDerivedData_Z721C83C5, ProcessOutput_createRawData_Z721C83C5, ProcessOutput_createImageFile_Z721C83C5, ProcessOutput_createMaterial_4452CB4C, ProcessOutput_createSample_Z598187B7 } from "./Process/ProcessOutput.js";
|
|
17
|
+
import { CompositeCell } from "./Table/CompositeCell.js";
|
|
18
|
+
import { safeHash, equals, disposeSafe, getEnumerator, comparePrimitives, arrayHash, equalArrays, stringHash, int32ToString } from "../fable_modules/fable-library-js.4.16.0/Util.js";
|
|
19
|
+
import { IOType, CompositeHeader } from "./Table/CompositeHeader.js";
|
|
20
|
+
import { ActivePatterns_$007CRegex$007C_$007C } from "./Helper/Regex.js";
|
|
21
|
+
import { OntologyAnnotation } from "./OntologyAnnotation.js";
|
|
22
|
+
import { ARCtrl_Process_Component__Component_TryGetColumnIndex, ARCtrl_Process_ProtocolParameter__ProtocolParameter_TryGetColumnIndex, tryGetFactorColumnIndex, tryGetCharacteristicColumnIndex, tryGetComponentIndex, tryGetParameterColumnIndex, ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static, ARCtrl_OntologyAnnotation__OntologyAnnotation_SetColumnIndex_Z524259A4 } from "./Process/ColumnIndex.js";
|
|
23
|
+
import { getItemFromDict } from "../fable_modules/fable-library-js.4.16.0/MapUtil.js";
|
|
24
|
+
import { initialize, zip, append as append_1, sortBy, head, tryPick as tryPick_1, collect, mapIndexed, item, length, map as map_2, empty, ofArray, isEmpty, singleton, choose as choose_1 } from "../fable_modules/fable-library-js.4.16.0/List.js";
|
|
25
|
+
import { Source_create_Z5CA08497 } from "./Process/Source.js";
|
|
26
|
+
import { Sample_create_62424AD2 } from "./Process/Sample.js";
|
|
27
|
+
import { Process_create_Z7C1F7FA9, Process_decomposeName_Z721C83C5, Process_make, Process_composeName } from "./Process/Process.js";
|
|
28
|
+
import { Protocol_create_Z414665E7, Protocol_addComponent, Protocol_addParameter, Protocol_setName, Protocol_setDescription, Protocol_setUri, Protocol_setVersion, Protocol_setProtocolType, Protocol_make } from "./Process/Protocol.js";
|
|
29
|
+
import { List_distinct, List_groupBy } from "../fable_modules/fable-library-js.4.16.0/Seq2.js";
|
|
30
|
+
import { createMissingIdentifier } from "./Helper/Identifier.js";
|
|
31
|
+
import { boxHashSeq, boxHashOption } from "./Helper/HashCodes.js";
|
|
32
|
+
import { ArcTable } from "./Table/ArcTable.js";
|
|
33
|
+
import { singleton as singleton_2 } from "../fable_modules/fable-library-js.4.16.0/Array.js";
|
|
34
|
+
import { rangeDouble } from "../fable_modules/fable-library-js.4.16.0/Range.js";
|
|
35
|
+
import { Unchecked_alignByHeaders } from "./Table/ArcTableAux.js";
|
|
36
|
+
import { ArcTables } from "./Table/ArcTables.js";
|
|
37
|
+
|
|
38
|
+
export const Person_orcidKey = "ORCID";
|
|
39
|
+
|
|
40
|
+
export const Person_AssayIdentifierPrefix = "performer (ARC:00000168)";
|
|
41
|
+
|
|
42
|
+
export const Person_createAssayIdentifierKey = (() => {
|
|
43
|
+
const clo_1 = toText(printf("%s %s"))(Person_AssayIdentifierPrefix);
|
|
44
|
+
return clo_1;
|
|
45
|
+
})();
|
|
46
|
+
|
|
47
|
+
export function Person_setSourceAssayComment(person, assayIdentifier) {
|
|
48
|
+
const person_1 = person.Copy();
|
|
49
|
+
const comment = new Comment$(Person_createAssayIdentifierKey(assayIdentifier), assayIdentifier);
|
|
50
|
+
void (person_1.Comments.push(comment));
|
|
51
|
+
return person_1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* This functions helps encoding/decoding ISA-JSON. It returns a sequence of ArcAssay-Identifiers.
|
|
56
|
+
*/
|
|
57
|
+
export function Person_getSourceAssayIdentifiersFromComments(person) {
|
|
58
|
+
return choose((c) => {
|
|
59
|
+
if (defaultArg(map((n) => (n.indexOf(Person_AssayIdentifierPrefix) === 0), c.Name), false)) {
|
|
60
|
+
return c.Value;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return void 0;
|
|
64
|
+
}
|
|
65
|
+
}, person.Comments);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function Person_removeSourceAssayComments(person) {
|
|
69
|
+
return ResizeArray_filter((c) => {
|
|
70
|
+
if (c.Name != null) {
|
|
71
|
+
return !(value_9(c.Name).indexOf(Person_AssayIdentifierPrefix) === 0);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
}, person.Comments);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function Person_setOrcidFromComments(person) {
|
|
80
|
+
const person_1 = person.Copy();
|
|
81
|
+
const isOrcidComment = (c) => {
|
|
82
|
+
if (c.Name != null) {
|
|
83
|
+
return endsWith(value_9(c.Name).toLocaleUpperCase(), Person_orcidKey);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const patternInput = [tryPick((c_1) => {
|
|
90
|
+
if (isOrcidComment(c_1)) {
|
|
91
|
+
return c_1.Value;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return void 0;
|
|
95
|
+
}
|
|
96
|
+
}, person_1.Comments), ResizeArray_filter((arg) => !isOrcidComment(arg), person_1.Comments)];
|
|
97
|
+
person_1.ORCID = patternInput[0];
|
|
98
|
+
person_1.Comments = patternInput[1];
|
|
99
|
+
return person_1;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export function Person_setCommentFromORCID(person) {
|
|
103
|
+
const person_1 = person.Copy();
|
|
104
|
+
const matchValue = person_1.ORCID;
|
|
105
|
+
if (matchValue == null) {
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
const orcid = matchValue;
|
|
109
|
+
const comment = Comment$.create(Person_orcidKey, orcid);
|
|
110
|
+
void (person_1.Comments.push(comment));
|
|
111
|
+
}
|
|
112
|
+
return person_1;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Convert a CompositeCell to a ISA Value and Unit tuple.
|
|
117
|
+
*/
|
|
118
|
+
export function JsonTypes_valueOfCell(value) {
|
|
119
|
+
switch (value.tag) {
|
|
120
|
+
case 0:
|
|
121
|
+
return [new Value_1(0, [value.fields[0]]), void 0];
|
|
122
|
+
case 2:
|
|
123
|
+
return [Value_1.fromString(value.fields[0]), value.fields[1]];
|
|
124
|
+
default:
|
|
125
|
+
return [Value_1.fromString(value.fields[0]), void 0];
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Convert a CompositeHeader and Cell tuple to a ISA Component
|
|
131
|
+
*/
|
|
132
|
+
export function JsonTypes_composeComponent(header, value) {
|
|
133
|
+
const patternInput = JsonTypes_valueOfCell(value);
|
|
134
|
+
return Component_create_4208F9FC(patternInput[0], unwrap(patternInput[1]), header.ToTerm());
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Convert a CompositeHeader and Cell tuple to a ISA ProcessParameterValue
|
|
139
|
+
*/
|
|
140
|
+
export function JsonTypes_composeParameterValue(header, value) {
|
|
141
|
+
const patternInput = JsonTypes_valueOfCell(value);
|
|
142
|
+
const p = ProtocolParameter.create(void 0, header.ToTerm());
|
|
143
|
+
return ProcessParameterValue.create(p, patternInput[0], unwrap(patternInput[1]));
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Convert a CompositeHeader and Cell tuple to a ISA FactorValue
|
|
148
|
+
*/
|
|
149
|
+
export function JsonTypes_composeFactorValue(header, value) {
|
|
150
|
+
const patternInput = JsonTypes_valueOfCell(value);
|
|
151
|
+
return FactorValue_create_29259B2C(void 0, Factor.create(toString(header), header.ToTerm()), patternInput[0], unwrap(patternInput[1]));
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Convert a CompositeHeader and Cell tuple to a ISA MaterialAttributeValue
|
|
156
|
+
*/
|
|
157
|
+
export function JsonTypes_composeCharacteristicValue(header, value) {
|
|
158
|
+
const patternInput = JsonTypes_valueOfCell(value);
|
|
159
|
+
return MaterialAttributeValue_create_BE8DE56(void 0, MaterialAttribute_create_A220A8A(void 0, header.ToTerm()), patternInput[0], unwrap(patternInput[1]));
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Convert a CompositeHeader and Cell tuple to a ISA ProcessInput
|
|
164
|
+
*/
|
|
165
|
+
export function JsonTypes_composeProcessInput(header, value) {
|
|
166
|
+
let matchResult;
|
|
167
|
+
if (header.tag === 11) {
|
|
168
|
+
switch (header.fields[0].tag) {
|
|
169
|
+
case 0: {
|
|
170
|
+
matchResult = 0;
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
case 1: {
|
|
174
|
+
matchResult = 1;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case 5: {
|
|
178
|
+
matchResult = 2;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
case 4: {
|
|
182
|
+
matchResult = 3;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
case 2: {
|
|
186
|
+
matchResult = 4;
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
case 3: {
|
|
190
|
+
matchResult = 5;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
default:
|
|
194
|
+
matchResult = 6;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
matchResult = 6;
|
|
199
|
+
}
|
|
200
|
+
switch (matchResult) {
|
|
201
|
+
case 0:
|
|
202
|
+
return ProcessInput_createSource_Z5E00540E(toString(value));
|
|
203
|
+
case 1:
|
|
204
|
+
return ProcessInput_createSample_Z598187B7(toString(value));
|
|
205
|
+
case 2:
|
|
206
|
+
return ProcessInput_createMaterial_4452CB4C(toString(value));
|
|
207
|
+
case 3:
|
|
208
|
+
return ProcessInput_createImageFile_Z721C83C5(toString(value));
|
|
209
|
+
case 4:
|
|
210
|
+
return ProcessInput_createRawData_Z721C83C5(toString(value));
|
|
211
|
+
case 5:
|
|
212
|
+
return ProcessInput_createDerivedData_Z721C83C5(toString(value));
|
|
213
|
+
default:
|
|
214
|
+
return toFail(printf("Could not parse input header %O"))(header);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Convert a CompositeHeader and Cell tuple to a ISA ProcessOutput
|
|
220
|
+
*/
|
|
221
|
+
export function JsonTypes_composeProcessOutput(header, value) {
|
|
222
|
+
let matchResult;
|
|
223
|
+
if (header.tag === 12) {
|
|
224
|
+
switch (header.fields[0].tag) {
|
|
225
|
+
case 1: {
|
|
226
|
+
matchResult = 0;
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
case 5: {
|
|
230
|
+
matchResult = 1;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
case 4: {
|
|
234
|
+
matchResult = 2;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
case 2: {
|
|
238
|
+
matchResult = 3;
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case 3: {
|
|
242
|
+
matchResult = 4;
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
default:
|
|
246
|
+
matchResult = 5;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
matchResult = 5;
|
|
251
|
+
}
|
|
252
|
+
switch (matchResult) {
|
|
253
|
+
case 0:
|
|
254
|
+
return ProcessOutput_createSample_Z598187B7(toString(value));
|
|
255
|
+
case 1:
|
|
256
|
+
return ProcessOutput_createMaterial_4452CB4C(toString(value));
|
|
257
|
+
case 2:
|
|
258
|
+
return ProcessOutput_createImageFile_Z721C83C5(toString(value));
|
|
259
|
+
case 3:
|
|
260
|
+
return ProcessOutput_createRawData_Z721C83C5(toString(value));
|
|
261
|
+
case 4:
|
|
262
|
+
return ProcessOutput_createDerivedData_Z721C83C5(toString(value));
|
|
263
|
+
default:
|
|
264
|
+
return toFail(printf("Could not parse output header %O"))(header);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Convert an ISA Value and Unit tuple to a CompositeCell
|
|
270
|
+
*/
|
|
271
|
+
export function JsonTypes_cellOfValue(value, unit) {
|
|
272
|
+
const value_2 = defaultArg(value, new Value_1(3, [""]));
|
|
273
|
+
switch (value_2.tag) {
|
|
274
|
+
case 3:
|
|
275
|
+
if (unit != null) {
|
|
276
|
+
const u = unit;
|
|
277
|
+
return new CompositeCell(2, [value_2.fields[0], u]);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
return new CompositeCell(1, [value_2.fields[0]]);
|
|
281
|
+
}
|
|
282
|
+
case 2:
|
|
283
|
+
if (unit == null) {
|
|
284
|
+
return new CompositeCell(1, [value_2.fields[0].toString()]);
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
const u_1 = unit;
|
|
288
|
+
return new CompositeCell(2, [value_2.fields[0].toString(), u_1]);
|
|
289
|
+
}
|
|
290
|
+
case 1:
|
|
291
|
+
if (unit == null) {
|
|
292
|
+
return new CompositeCell(1, [int32ToString(value_2.fields[0])]);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
const u_2 = unit;
|
|
296
|
+
return new CompositeCell(2, [int32ToString(value_2.fields[0]), u_2]);
|
|
297
|
+
}
|
|
298
|
+
default:
|
|
299
|
+
if (unit == null) {
|
|
300
|
+
return new CompositeCell(0, [value_2.fields[0]]);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
return toFail(printf("Could not parse value %O with unit %O"))(value_2)(unit);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Convert an ISA Component to a CompositeHeader and Cell tuple
|
|
310
|
+
*/
|
|
311
|
+
export function JsonTypes_decomposeComponent(c) {
|
|
312
|
+
return [new CompositeHeader(0, [value_9(c.ComponentType)]), JsonTypes_cellOfValue(c.ComponentValue, c.ComponentUnit)];
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Convert an ISA ProcessParameterValue to a CompositeHeader and Cell tuple
|
|
317
|
+
*/
|
|
318
|
+
export function JsonTypes_decomposeParameterValue(ppv) {
|
|
319
|
+
return [new CompositeHeader(3, [value_9(value_9(ppv.Category).ParameterName)]), JsonTypes_cellOfValue(ppv.Value, ppv.Unit)];
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Convert an ISA FactorValue to a CompositeHeader and Cell tuple
|
|
324
|
+
*/
|
|
325
|
+
export function JsonTypes_decomposeFactorValue(fv) {
|
|
326
|
+
return [new CompositeHeader(2, [value_9(value_9(fv.Category).FactorType)]), JsonTypes_cellOfValue(fv.Value, fv.Unit)];
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Convert an ISA MaterialAttributeValue to a CompositeHeader and Cell tuple
|
|
331
|
+
*/
|
|
332
|
+
export function JsonTypes_decomposeCharacteristicValue(cv) {
|
|
333
|
+
return [new CompositeHeader(1, [value_9(value_9(cv.Category).CharacteristicType)]), JsonTypes_cellOfValue(cv.Value, cv.Unit)];
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Convert an ISA ProcessOutput to a CompositeHeader and Cell tuple
|
|
338
|
+
*/
|
|
339
|
+
export function JsonTypes_decomposeProcessInput(pi) {
|
|
340
|
+
switch (pi.tag) {
|
|
341
|
+
case 1:
|
|
342
|
+
return [new CompositeHeader(11, [new IOType(1, [])]), new CompositeCell(1, [defaultArg(pi.fields[0].Name, "")])];
|
|
343
|
+
case 3:
|
|
344
|
+
return [new CompositeHeader(11, [new IOType(5, [])]), new CompositeCell(1, [defaultArg(pi.fields[0].Name, "")])];
|
|
345
|
+
case 2: {
|
|
346
|
+
const d = pi.fields[0];
|
|
347
|
+
const dataType = value_9(d.DataType);
|
|
348
|
+
switch (dataType.tag) {
|
|
349
|
+
case 0:
|
|
350
|
+
return [new CompositeHeader(11, [new IOType(2, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
351
|
+
case 1:
|
|
352
|
+
return [new CompositeHeader(11, [new IOType(3, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
353
|
+
default:
|
|
354
|
+
return [new CompositeHeader(11, [new IOType(4, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
default:
|
|
358
|
+
return [new CompositeHeader(11, [new IOType(0, [])]), new CompositeCell(1, [defaultArg(pi.fields[0].Name, "")])];
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Convert an ISA ProcessOutput to a CompositeHeader and Cell tuple
|
|
364
|
+
*/
|
|
365
|
+
export function JsonTypes_decomposeProcessOutput(po) {
|
|
366
|
+
switch (po.tag) {
|
|
367
|
+
case 2:
|
|
368
|
+
return [new CompositeHeader(12, [new IOType(5, [])]), new CompositeCell(1, [defaultArg(po.fields[0].Name, "")])];
|
|
369
|
+
case 1: {
|
|
370
|
+
const d = po.fields[0];
|
|
371
|
+
const dataType = value_9(d.DataType);
|
|
372
|
+
switch (dataType.tag) {
|
|
373
|
+
case 0:
|
|
374
|
+
return [new CompositeHeader(12, [new IOType(2, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
375
|
+
case 1:
|
|
376
|
+
return [new CompositeHeader(12, [new IOType(3, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
377
|
+
default:
|
|
378
|
+
return [new CompositeHeader(12, [new IOType(4, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
default:
|
|
382
|
+
return [new CompositeHeader(12, [new IOType(1, [])]), new CompositeCell(1, [defaultArg(po.fields[0].Name, "")])];
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* This function creates a string containing the name and the ontology short-string of the given ontology annotation term
|
|
388
|
+
*
|
|
389
|
+
* TechnologyPlatforms are plain strings in ISA-JSON.
|
|
390
|
+
*
|
|
391
|
+
* This function allows us, to parse them as an ontology term.
|
|
392
|
+
*/
|
|
393
|
+
export function JsonTypes_composeTechnologyPlatform(tp) {
|
|
394
|
+
const matchValue = tp.TANInfo;
|
|
395
|
+
if (matchValue == null) {
|
|
396
|
+
return `${tp.NameText}`;
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
return `${tp.NameText} (${tp.TermAccessionShort})`;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* This function parses the given string containing the name and the ontology short-string of the given ontology annotation term
|
|
405
|
+
*
|
|
406
|
+
* TechnologyPlatforms are plain strings in ISA-JSON.
|
|
407
|
+
*
|
|
408
|
+
* This function allows us, to parse them as an ontology term.
|
|
409
|
+
*/
|
|
410
|
+
export function JsonTypes_decomposeTechnologyPlatform(name) {
|
|
411
|
+
const activePatternResult = ActivePatterns_$007CRegex$007C_$007C("(?<value>[^\\(]+) \\((?<ontology>[^(]*:[^)]*)\\)", name);
|
|
412
|
+
if (activePatternResult != null) {
|
|
413
|
+
const r = activePatternResult;
|
|
414
|
+
let oa;
|
|
415
|
+
const tan = (r.groups && r.groups.ontology) || "";
|
|
416
|
+
oa = OntologyAnnotation.fromTermAnnotation(tan);
|
|
417
|
+
const v = (r.groups && r.groups.value) || "";
|
|
418
|
+
return OntologyAnnotation.create(v, oa.TermSourceREF, oa.TermAccessionNumber);
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
return OntologyAnnotation.create(name);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* If the headers of a node depict a component, returns a function for parsing the values of the matrix to the values of this component
|
|
427
|
+
*/
|
|
428
|
+
export function ProcessParsing_tryComponentGetter(generalI, valueI, valueHeader) {
|
|
429
|
+
if (valueHeader.tag === 0) {
|
|
430
|
+
const newOA = valueHeader.fields[0].Copy();
|
|
431
|
+
ARCtrl_OntologyAnnotation__OntologyAnnotation_SetColumnIndex_Z524259A4(newOA, valueI);
|
|
432
|
+
return (matrix) => ((i) => JsonTypes_composeComponent(new CompositeHeader(0, [newOA]), getItemFromDict(matrix, [generalI, i])));
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
return void 0;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* If the headers of a node depict a protocolType, returns a function for parsing the values of the matrix to the values of this type
|
|
441
|
+
*/
|
|
442
|
+
export function ProcessParsing_tryParameterGetter(generalI, valueI, valueHeader) {
|
|
443
|
+
if (valueHeader.tag === 3) {
|
|
444
|
+
const cat = new CompositeHeader(3, [ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0])]);
|
|
445
|
+
return (matrix) => ((i_1) => JsonTypes_composeParameterValue(cat, getItemFromDict(matrix, [generalI, i_1])));
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
return void 0;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export function ProcessParsing_tryFactorGetter(generalI, valueI, valueHeader) {
|
|
453
|
+
if (valueHeader.tag === 2) {
|
|
454
|
+
const cat = new CompositeHeader(2, [ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0])]);
|
|
455
|
+
return (matrix) => ((i_1) => JsonTypes_composeFactorValue(cat, getItemFromDict(matrix, [generalI, i_1])));
|
|
456
|
+
}
|
|
457
|
+
else {
|
|
458
|
+
return void 0;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
export function ProcessParsing_tryCharacteristicGetter(generalI, valueI, valueHeader) {
|
|
463
|
+
if (valueHeader.tag === 1) {
|
|
464
|
+
const cat = new CompositeHeader(1, [ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0])]);
|
|
465
|
+
return (matrix) => ((i_1) => JsonTypes_composeCharacteristicValue(cat, getItemFromDict(matrix, [generalI, i_1])));
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
return void 0;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* If the headers of a node depict a protocolType, returns a function for parsing the values of the matrix to the values of this type
|
|
474
|
+
*/
|
|
475
|
+
export function ProcessParsing_tryGetProtocolTypeGetter(generalI, header) {
|
|
476
|
+
if (header.tag === 4) {
|
|
477
|
+
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsTerm);
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
return void 0;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
export function ProcessParsing_tryGetProtocolREFGetter(generalI, header) {
|
|
485
|
+
if (header.tag === 8) {
|
|
486
|
+
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
487
|
+
}
|
|
488
|
+
else {
|
|
489
|
+
return void 0;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
export function ProcessParsing_tryGetProtocolDescriptionGetter(generalI, header) {
|
|
494
|
+
if (header.tag === 5) {
|
|
495
|
+
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
return void 0;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
export function ProcessParsing_tryGetProtocolURIGetter(generalI, header) {
|
|
503
|
+
if (header.tag === 6) {
|
|
504
|
+
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
return void 0;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
export function ProcessParsing_tryGetProtocolVersionGetter(generalI, header) {
|
|
512
|
+
if (header.tag === 7) {
|
|
513
|
+
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
return void 0;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
export function ProcessParsing_tryGetInputGetter(generalI, header) {
|
|
521
|
+
if (header.tag === 11) {
|
|
522
|
+
return (matrix) => ((i) => JsonTypes_composeProcessInput(header, getItemFromDict(matrix, [generalI, i])));
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
return void 0;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
export function ProcessParsing_tryGetOutputGetter(generalI, header) {
|
|
530
|
+
if (header.tag === 12) {
|
|
531
|
+
return (matrix) => ((i) => JsonTypes_composeProcessOutput(header, getItemFromDict(matrix, [generalI, i])));
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
return void 0;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Given the header sequence of an ArcTable, returns a function for parsing each row of the table to a process
|
|
540
|
+
*/
|
|
541
|
+
export function ProcessParsing_getProcessGetter(processNameRoot, headers) {
|
|
542
|
+
const headers_1 = indexed(headers);
|
|
543
|
+
const valueHeaders = toList(indexed(filter((arg) => arg[1].IsCvParamColumn, headers_1)));
|
|
544
|
+
const charGetters = choose_1((tupledArg) => {
|
|
545
|
+
const _arg = tupledArg[1];
|
|
546
|
+
return ProcessParsing_tryCharacteristicGetter(_arg[0], tupledArg[0], _arg[1]);
|
|
547
|
+
}, valueHeaders);
|
|
548
|
+
const factorValueGetters = choose_1((tupledArg_1) => {
|
|
549
|
+
const _arg_1 = tupledArg_1[1];
|
|
550
|
+
return ProcessParsing_tryFactorGetter(_arg_1[0], tupledArg_1[0], _arg_1[1]);
|
|
551
|
+
}, valueHeaders);
|
|
552
|
+
const parameterValueGetters = choose_1((tupledArg_2) => {
|
|
553
|
+
const _arg_2 = tupledArg_2[1];
|
|
554
|
+
return ProcessParsing_tryParameterGetter(_arg_2[0], tupledArg_2[0], _arg_2[1]);
|
|
555
|
+
}, valueHeaders);
|
|
556
|
+
const componentGetters = choose_1((tupledArg_3) => {
|
|
557
|
+
const _arg_3 = tupledArg_3[1];
|
|
558
|
+
return ProcessParsing_tryComponentGetter(_arg_3[0], tupledArg_3[0], _arg_3[1]);
|
|
559
|
+
}, valueHeaders);
|
|
560
|
+
const protocolTypeGetter = tryPick((tupledArg_4) => ProcessParsing_tryGetProtocolTypeGetter(tupledArg_4[0], tupledArg_4[1]), headers_1);
|
|
561
|
+
const protocolREFGetter = tryPick((tupledArg_5) => ProcessParsing_tryGetProtocolREFGetter(tupledArg_5[0], tupledArg_5[1]), headers_1);
|
|
562
|
+
const protocolDescriptionGetter = tryPick((tupledArg_6) => ProcessParsing_tryGetProtocolDescriptionGetter(tupledArg_6[0], tupledArg_6[1]), headers_1);
|
|
563
|
+
const protocolURIGetter = tryPick((tupledArg_7) => ProcessParsing_tryGetProtocolURIGetter(tupledArg_7[0], tupledArg_7[1]), headers_1);
|
|
564
|
+
const protocolVersionGetter = tryPick((tupledArg_8) => ProcessParsing_tryGetProtocolVersionGetter(tupledArg_8[0], tupledArg_8[1]), headers_1);
|
|
565
|
+
let inputGetter_1;
|
|
566
|
+
const matchValue = tryPick((tupledArg_9) => ProcessParsing_tryGetInputGetter(tupledArg_9[0], tupledArg_9[1]), headers_1);
|
|
567
|
+
if (matchValue == null) {
|
|
568
|
+
inputGetter_1 = ((matrix_1) => ((i_1) => singleton(new ProcessInput(0, [Source_create_Z5CA08497(void 0, `${processNameRoot}_Input_${i_1}`, toList(map_1((f_1) => f_1(matrix_1)(i_1), charGetters)))]))));
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
const inputGetter = matchValue;
|
|
572
|
+
inputGetter_1 = ((matrix) => ((i) => {
|
|
573
|
+
const chars = toList(map_1((f) => f(matrix)(i), charGetters));
|
|
574
|
+
const input = inputGetter(matrix)(i);
|
|
575
|
+
return (!(ProcessInput__isSample(input) ? true : ProcessInput__isSource(input)) && !isEmpty(chars)) ? ofArray([input, ProcessInput_createSample_Z598187B7(ProcessInput__get_Name(input), chars)]) : singleton(ProcessInput_setCharacteristicValues(chars, input));
|
|
576
|
+
}));
|
|
577
|
+
}
|
|
578
|
+
let outputGetter_1;
|
|
579
|
+
const matchValue_1 = tryPick((tupledArg_10) => ProcessParsing_tryGetOutputGetter(tupledArg_10[0], tupledArg_10[1]), headers_1);
|
|
580
|
+
if (matchValue_1 == null) {
|
|
581
|
+
outputGetter_1 = ((matrix_3) => ((i_3) => singleton(new ProcessOutput(0, [Sample_create_62424AD2(void 0, `${processNameRoot}_Output_${i_3}`, void 0, toList(map_1((f_3) => f_3(matrix_3)(i_3), factorValueGetters)))]))));
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
const outputGetter = matchValue_1;
|
|
585
|
+
outputGetter_1 = ((matrix_2) => ((i_2) => {
|
|
586
|
+
const factors = toList(map_1((f_2) => f_2(matrix_2)(i_2), factorValueGetters));
|
|
587
|
+
const output = outputGetter(matrix_2)(i_2);
|
|
588
|
+
return (!ProcessOutput__isSample(output) && !isEmpty(factors)) ? ofArray([output, ProcessOutput_createSample_Z598187B7(ProcessOutput__get_Name(output), void 0, factors)]) : singleton(ProcessOutput_setFactorValues(factors, output));
|
|
589
|
+
}));
|
|
590
|
+
}
|
|
591
|
+
return (matrix_4) => ((i_4) => {
|
|
592
|
+
const pn = map((p) => Process_composeName(p, i_4), Option_fromValueWithDefault("", processNameRoot));
|
|
593
|
+
const paramvalues = Option_fromValueWithDefault(empty(), map_2((f_4) => f_4(matrix_4)(i_4), parameterValueGetters));
|
|
594
|
+
const parameters = map((list_5) => map_2((pv) => value_9(pv.Category), list_5), paramvalues);
|
|
595
|
+
let protocol;
|
|
596
|
+
const p_1 = Protocol_make(void 0, map((f_5) => f_5(matrix_4)(i_4), protocolREFGetter), map((f_6) => f_6(matrix_4)(i_4), protocolTypeGetter), map((f_7) => f_7(matrix_4)(i_4), protocolDescriptionGetter), map((f_8) => f_8(matrix_4)(i_4), protocolURIGetter), map((f_9) => f_9(matrix_4)(i_4), protocolVersionGetter), parameters, Option_fromValueWithDefault(empty(), map_2((f_10) => f_10(matrix_4)(i_4), componentGetters)), void 0);
|
|
597
|
+
let matchResult;
|
|
598
|
+
if (p_1.Name == null) {
|
|
599
|
+
if (p_1.ProtocolType == null) {
|
|
600
|
+
if (p_1.Description == null) {
|
|
601
|
+
if (p_1.Uri == null) {
|
|
602
|
+
if (p_1.Version == null) {
|
|
603
|
+
if (p_1.Components == null) {
|
|
604
|
+
matchResult = 0;
|
|
605
|
+
}
|
|
606
|
+
else {
|
|
607
|
+
matchResult = 1;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
matchResult = 1;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
matchResult = 1;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
else {
|
|
619
|
+
matchResult = 1;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
matchResult = 1;
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
else {
|
|
627
|
+
matchResult = 1;
|
|
628
|
+
}
|
|
629
|
+
switch (matchResult) {
|
|
630
|
+
case 0: {
|
|
631
|
+
protocol = void 0;
|
|
632
|
+
break;
|
|
633
|
+
}
|
|
634
|
+
default:
|
|
635
|
+
protocol = p_1;
|
|
636
|
+
}
|
|
637
|
+
let patternInput;
|
|
638
|
+
const inputs = inputGetter_1(matrix_4)(i_4);
|
|
639
|
+
const outputs = outputGetter_1(matrix_4)(i_4);
|
|
640
|
+
patternInput = (((length(inputs) === 1) && (length(outputs) === 2)) ? [ofArray([item(0, inputs), item(0, inputs)]), outputs] : (((length(inputs) === 2) && (length(outputs) === 1)) ? [inputs, ofArray([item(0, outputs), item(0, outputs)])] : [inputs, outputs]));
|
|
641
|
+
return Process_make(void 0, pn, protocol, paramvalues, void 0, void 0, void 0, void 0, patternInput[0], patternInput[1], void 0);
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Groups processes by their name, or by the name of the protocol they execute
|
|
647
|
+
*
|
|
648
|
+
* Process names are taken from the Worksheet name and numbered: SheetName_1, SheetName_2, etc.
|
|
649
|
+
*
|
|
650
|
+
* This function decomposes this name into a root name and a number, and groups processes by root name.
|
|
651
|
+
*/
|
|
652
|
+
export function ProcessParsing_groupProcesses(ps) {
|
|
653
|
+
return List_groupBy((x) => {
|
|
654
|
+
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(value_9(x.Name))[1] != null)) {
|
|
655
|
+
return Process_decomposeName_Z721C83C5(value_9(x.Name))[0];
|
|
656
|
+
}
|
|
657
|
+
else if ((x.ExecutesProtocol != null) && (value_9(x.ExecutesProtocol).Name != null)) {
|
|
658
|
+
return value_9(value_9(x.ExecutesProtocol).Name);
|
|
659
|
+
}
|
|
660
|
+
else if ((x.Name != null) && (value_9(x.Name).indexOf("_") >= 0)) {
|
|
661
|
+
const lastUnderScoreIndex = value_9(x.Name).lastIndexOf("_") | 0;
|
|
662
|
+
return remove(value_9(x.Name), lastUnderScoreIndex);
|
|
663
|
+
}
|
|
664
|
+
else if (x.Name != null) {
|
|
665
|
+
return value_9(x.Name);
|
|
666
|
+
}
|
|
667
|
+
else if ((x.ExecutesProtocol != null) && (value_9(x.ExecutesProtocol).ID != null)) {
|
|
668
|
+
return value_9(value_9(x.ExecutesProtocol).ID);
|
|
669
|
+
}
|
|
670
|
+
else {
|
|
671
|
+
return createMissingIdentifier();
|
|
672
|
+
}
|
|
673
|
+
}, ps, {
|
|
674
|
+
Equals: (x_1, y) => (x_1 === y),
|
|
675
|
+
GetHashCode: stringHash,
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* Merges processes with the same name, protocol and param values
|
|
681
|
+
*/
|
|
682
|
+
export function ProcessParsing_mergeIdenticalProcesses(processes) {
|
|
683
|
+
const l = List_groupBy((x) => {
|
|
684
|
+
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(value_9(x.Name))[1] != null)) {
|
|
685
|
+
return [Process_decomposeName_Z721C83C5(value_9(x.Name))[0], boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues)];
|
|
686
|
+
}
|
|
687
|
+
else if ((x.ExecutesProtocol != null) && (value_9(x.ExecutesProtocol).Name != null)) {
|
|
688
|
+
return [value_9(value_9(x.ExecutesProtocol).Name), boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues)];
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
return [createMissingIdentifier(), boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues)];
|
|
692
|
+
}
|
|
693
|
+
}, processes, {
|
|
694
|
+
Equals: equalArrays,
|
|
695
|
+
GetHashCode: arrayHash,
|
|
696
|
+
});
|
|
697
|
+
return mapIndexed((i, tupledArg) => {
|
|
698
|
+
const processes_1 = tupledArg[1];
|
|
699
|
+
const n = tupledArg[0][0];
|
|
700
|
+
const pVs = item(0, processes_1).ParameterValues;
|
|
701
|
+
const inputs = Option_fromValueWithDefault(empty(), collect((p) => defaultArg(p.Inputs, empty()), processes_1));
|
|
702
|
+
const outputs = Option_fromValueWithDefault(empty(), collect((p_1) => defaultArg(p_1.Outputs, empty()), processes_1));
|
|
703
|
+
return Process_create_Z7C1F7FA9(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, item(0, processes_1).ExecutesProtocol, pVs, void 0, void 0, void 0, void 0, inputs, outputs);
|
|
704
|
+
}, l);
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
export function ProcessParsing_processToRows(p) {
|
|
708
|
+
let list_3;
|
|
709
|
+
const pvs = map_2((ppv) => [JsonTypes_decomposeParameterValue(ppv), tryGetParameterColumnIndex(ppv)], defaultArg(p.ParameterValues, empty()));
|
|
710
|
+
let components;
|
|
711
|
+
const matchValue = p.ExecutesProtocol;
|
|
712
|
+
components = ((matchValue == null) ? empty() : map_2((ppv_1) => [JsonTypes_decomposeComponent(ppv_1), tryGetComponentIndex(ppv_1)], defaultArg(matchValue.Components, empty())));
|
|
713
|
+
let protVals;
|
|
714
|
+
const matchValue_1 = p.ExecutesProtocol;
|
|
715
|
+
if (matchValue_1 == null) {
|
|
716
|
+
protVals = empty();
|
|
717
|
+
}
|
|
718
|
+
else {
|
|
719
|
+
const prot_1 = matchValue_1;
|
|
720
|
+
protVals = toList(delay(() => append((prot_1.Name != null) ? singleton_1([new CompositeHeader(8, []), new CompositeCell(1, [value_9(prot_1.Name)])]) : empty_1(), delay(() => append((prot_1.ProtocolType != null) ? singleton_1([new CompositeHeader(4, []), new CompositeCell(0, [value_9(prot_1.ProtocolType)])]) : empty_1(), delay(() => append((prot_1.Description != null) ? singleton_1([new CompositeHeader(5, []), new CompositeCell(1, [value_9(prot_1.Description)])]) : empty_1(), delay(() => append((prot_1.Uri != null) ? singleton_1([new CompositeHeader(6, []), new CompositeCell(1, [value_9(prot_1.Uri)])]) : empty_1(), delay(() => ((prot_1.Version != null) ? singleton_1([new CompositeHeader(7, []), new CompositeCell(1, [value_9(prot_1.Version)])]) : empty_1())))))))))));
|
|
721
|
+
}
|
|
722
|
+
return map_2((tupledArg_1) => {
|
|
723
|
+
const ios = tupledArg_1[1];
|
|
724
|
+
const inputForCharas = defaultArg(tryPick_1((tupledArg_2) => {
|
|
725
|
+
const i_2 = tupledArg_2[0];
|
|
726
|
+
if (ProcessInput__isSource(i_2) ? true : ProcessInput__isSample(i_2)) {
|
|
727
|
+
return i_2;
|
|
728
|
+
}
|
|
729
|
+
else {
|
|
730
|
+
return void 0;
|
|
731
|
+
}
|
|
732
|
+
}, ios), head(ios)[0]);
|
|
733
|
+
const inputForType = defaultArg(tryPick_1((tupledArg_3) => {
|
|
734
|
+
const i_3 = tupledArg_3[0];
|
|
735
|
+
if (ProcessInput__isData(i_3) ? true : ProcessInput__isMaterial(i_3)) {
|
|
736
|
+
return i_3;
|
|
737
|
+
}
|
|
738
|
+
else {
|
|
739
|
+
return void 0;
|
|
740
|
+
}
|
|
741
|
+
}, ios), head(ios)[0]);
|
|
742
|
+
const chars = map_2((cv) => [JsonTypes_decomposeCharacteristicValue(cv), tryGetCharacteristicColumnIndex(cv)], ProcessInput_getCharacteristicValues_5B3D5BA9(inputForCharas));
|
|
743
|
+
const outputForFactors = defaultArg(tryPick_1((tupledArg_4) => {
|
|
744
|
+
const o_4 = tupledArg_4[1];
|
|
745
|
+
if (ProcessOutput__isSample(o_4)) {
|
|
746
|
+
return o_4;
|
|
747
|
+
}
|
|
748
|
+
else {
|
|
749
|
+
return void 0;
|
|
750
|
+
}
|
|
751
|
+
}, ios), head(ios)[1]);
|
|
752
|
+
const outputForType = defaultArg(tryPick_1((tupledArg_5) => {
|
|
753
|
+
const o_5 = tupledArg_5[1];
|
|
754
|
+
if (ProcessOutput__isData(o_5) ? true : ProcessOutput__isMaterial(o_5)) {
|
|
755
|
+
return o_5;
|
|
756
|
+
}
|
|
757
|
+
else {
|
|
758
|
+
return void 0;
|
|
759
|
+
}
|
|
760
|
+
}, ios), head(ios)[1]);
|
|
761
|
+
const vals = map_2((tuple_5) => tuple_5[0], sortBy((arg) => defaultArg(arg[1], 10000), append_1(chars, append_1(components, append_1(pvs, map_2((fv) => [JsonTypes_decomposeFactorValue(fv), tryGetFactorColumnIndex(fv)], ProcessOutput_getFactorValues_Z42C11600(outputForFactors))))), {
|
|
762
|
+
Compare: comparePrimitives,
|
|
763
|
+
}));
|
|
764
|
+
return toList(delay(() => append(singleton_1(JsonTypes_decomposeProcessInput(inputForType)), delay(() => append(protVals, delay(() => append(vals, delay(() => singleton_1(JsonTypes_decomposeProcessOutput(outputForType))))))))));
|
|
765
|
+
}, List_groupBy((tupledArg) => [ProcessInput__get_Name(tupledArg[0]), ProcessOutput__get_Name(tupledArg[1])], (list_3 = defaultArg(p.Outputs, empty()), zip(defaultArg(p.Inputs, empty()), list_3)), {
|
|
766
|
+
Equals: equalArrays,
|
|
767
|
+
GetHashCode: arrayHash,
|
|
768
|
+
}));
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
export function ARCtrl_CompositeHeader__CompositeHeader_TryParameter(this$) {
|
|
772
|
+
if (this$.tag === 3) {
|
|
773
|
+
return ProtocolParameter.create(void 0, this$.fields[0]);
|
|
774
|
+
}
|
|
775
|
+
else {
|
|
776
|
+
return void 0;
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
export function ARCtrl_CompositeHeader__CompositeHeader_TryFactor(this$) {
|
|
781
|
+
if (this$.tag === 2) {
|
|
782
|
+
return Factor.create(void 0, this$.fields[0]);
|
|
783
|
+
}
|
|
784
|
+
else {
|
|
785
|
+
return void 0;
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
export function ARCtrl_CompositeHeader__CompositeHeader_TryCharacteristic(this$) {
|
|
790
|
+
if (this$.tag === 1) {
|
|
791
|
+
return MaterialAttribute_create_A220A8A(void 0, this$.fields[0]);
|
|
792
|
+
}
|
|
793
|
+
else {
|
|
794
|
+
return void 0;
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
export function ARCtrl_CompositeHeader__CompositeHeader_TryComponent(this$) {
|
|
799
|
+
if (this$.tag === 0) {
|
|
800
|
+
return Component_create_4208F9FC(void 0, void 0, this$.fields[0]);
|
|
801
|
+
}
|
|
802
|
+
else {
|
|
803
|
+
return void 0;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
* This function is used to improve interoperability with ISA-JSON types. It is not recommended for default ARCtrl usage.
|
|
809
|
+
*/
|
|
810
|
+
export function ARCtrl_CompositeCell__CompositeCell_fromValue_Static_6B24B5AD(value, unit) {
|
|
811
|
+
return JsonTypes_cellOfValue(value, unit);
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
export function CompositeRow_toProtocol(tableName, row) {
|
|
815
|
+
return fold((p, hc) => {
|
|
816
|
+
let matchResult, oa, v, v_1, v_2, v_3, oa_1, oa_2, unit, v_4, oa_3, t;
|
|
817
|
+
switch (hc[0].tag) {
|
|
818
|
+
case 4: {
|
|
819
|
+
if (hc[1].tag === 0) {
|
|
820
|
+
matchResult = 0;
|
|
821
|
+
oa = hc[1].fields[0];
|
|
822
|
+
}
|
|
823
|
+
else {
|
|
824
|
+
matchResult = 8;
|
|
825
|
+
}
|
|
826
|
+
break;
|
|
827
|
+
}
|
|
828
|
+
case 7: {
|
|
829
|
+
if (hc[1].tag === 1) {
|
|
830
|
+
matchResult = 1;
|
|
831
|
+
v = hc[1].fields[0];
|
|
832
|
+
}
|
|
833
|
+
else {
|
|
834
|
+
matchResult = 8;
|
|
835
|
+
}
|
|
836
|
+
break;
|
|
837
|
+
}
|
|
838
|
+
case 6: {
|
|
839
|
+
if (hc[1].tag === 1) {
|
|
840
|
+
matchResult = 2;
|
|
841
|
+
v_1 = hc[1].fields[0];
|
|
842
|
+
}
|
|
843
|
+
else {
|
|
844
|
+
matchResult = 8;
|
|
845
|
+
}
|
|
846
|
+
break;
|
|
847
|
+
}
|
|
848
|
+
case 5: {
|
|
849
|
+
if (hc[1].tag === 1) {
|
|
850
|
+
matchResult = 3;
|
|
851
|
+
v_2 = hc[1].fields[0];
|
|
852
|
+
}
|
|
853
|
+
else {
|
|
854
|
+
matchResult = 8;
|
|
855
|
+
}
|
|
856
|
+
break;
|
|
857
|
+
}
|
|
858
|
+
case 8: {
|
|
859
|
+
if (hc[1].tag === 1) {
|
|
860
|
+
matchResult = 4;
|
|
861
|
+
v_3 = hc[1].fields[0];
|
|
862
|
+
}
|
|
863
|
+
else {
|
|
864
|
+
matchResult = 8;
|
|
865
|
+
}
|
|
866
|
+
break;
|
|
867
|
+
}
|
|
868
|
+
case 3: {
|
|
869
|
+
matchResult = 5;
|
|
870
|
+
oa_1 = hc[0].fields[0];
|
|
871
|
+
break;
|
|
872
|
+
}
|
|
873
|
+
case 0: {
|
|
874
|
+
switch (hc[1].tag) {
|
|
875
|
+
case 2: {
|
|
876
|
+
matchResult = 6;
|
|
877
|
+
oa_2 = hc[0].fields[0];
|
|
878
|
+
unit = hc[1].fields[1];
|
|
879
|
+
v_4 = hc[1].fields[0];
|
|
880
|
+
break;
|
|
881
|
+
}
|
|
882
|
+
case 0: {
|
|
883
|
+
matchResult = 7;
|
|
884
|
+
oa_3 = hc[0].fields[0];
|
|
885
|
+
t = hc[1].fields[0];
|
|
886
|
+
break;
|
|
887
|
+
}
|
|
888
|
+
default:
|
|
889
|
+
matchResult = 8;
|
|
890
|
+
}
|
|
891
|
+
break;
|
|
892
|
+
}
|
|
893
|
+
default:
|
|
894
|
+
matchResult = 8;
|
|
895
|
+
}
|
|
896
|
+
switch (matchResult) {
|
|
897
|
+
case 0:
|
|
898
|
+
return Protocol_setProtocolType(p, oa);
|
|
899
|
+
case 1:
|
|
900
|
+
return Protocol_setVersion(p, v);
|
|
901
|
+
case 2:
|
|
902
|
+
return Protocol_setUri(p, v_1);
|
|
903
|
+
case 3:
|
|
904
|
+
return Protocol_setDescription(p, v_2);
|
|
905
|
+
case 4:
|
|
906
|
+
return Protocol_setName(p, v_3);
|
|
907
|
+
case 5:
|
|
908
|
+
return Protocol_addParameter(ProtocolParameter.create(void 0, oa_1), p);
|
|
909
|
+
case 6:
|
|
910
|
+
return Protocol_addComponent(Component_create_4208F9FC(Value_1.fromString(v_4), unit, oa_2), p);
|
|
911
|
+
case 7:
|
|
912
|
+
return Protocol_addComponent(Component_create_4208F9FC(new Value_1(0, [t]), void 0, oa_3), p);
|
|
913
|
+
default:
|
|
914
|
+
return p;
|
|
915
|
+
}
|
|
916
|
+
}, Protocol_create_Z414665E7(void 0, tableName), row);
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
/**
|
|
920
|
+
* Create a new table from an ISA protocol.
|
|
921
|
+
*
|
|
922
|
+
* The table will have at most one row, with the protocol information and the component values
|
|
923
|
+
*/
|
|
924
|
+
export function ARCtrl_ArcTable__ArcTable_fromProtocol_Static_3BF20962(p) {
|
|
925
|
+
const t = ArcTable.init(defaultArg(p.Name, createMissingIdentifier()));
|
|
926
|
+
const enumerator = getEnumerator(defaultArg(p.Parameters, empty()));
|
|
927
|
+
try {
|
|
928
|
+
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
929
|
+
const pp = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
930
|
+
t.AddColumn(new CompositeHeader(3, [value_9(pp.ParameterName)]), void 0, ARCtrl_Process_ProtocolParameter__ProtocolParameter_TryGetColumnIndex(pp));
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
finally {
|
|
934
|
+
disposeSafe(enumerator);
|
|
935
|
+
}
|
|
936
|
+
const enumerator_1 = getEnumerator(defaultArg(p.Components, empty()));
|
|
937
|
+
try {
|
|
938
|
+
while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
|
|
939
|
+
const c = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
940
|
+
const v_1 = map((arg) => singleton_2(ARCtrl_CompositeCell__CompositeCell_fromValue_Static_6B24B5AD(arg, unwrap(c.ComponentUnit))), c.ComponentValue);
|
|
941
|
+
t.AddColumn(new CompositeHeader(3, [value_9(c.ComponentType)]), v_1, ARCtrl_Process_Component__Component_TryGetColumnIndex(c));
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
finally {
|
|
945
|
+
disposeSafe(enumerator_1);
|
|
946
|
+
}
|
|
947
|
+
map((d) => {
|
|
948
|
+
t.AddProtocolDescriptionColumn([d]);
|
|
949
|
+
}, p.Description);
|
|
950
|
+
map((d_1) => {
|
|
951
|
+
t.AddProtocolVersionColumn([d_1]);
|
|
952
|
+
}, p.Version);
|
|
953
|
+
map((d_2) => {
|
|
954
|
+
t.AddProtocolTypeColumn([d_2]);
|
|
955
|
+
}, p.ProtocolType);
|
|
956
|
+
map((d_3) => {
|
|
957
|
+
t.AddProtocolUriColumn([d_3]);
|
|
958
|
+
}, p.Uri);
|
|
959
|
+
map((d_4) => {
|
|
960
|
+
t.AddProtocolNameColumn([d_4]);
|
|
961
|
+
}, p.Name);
|
|
962
|
+
return t;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
/**
|
|
966
|
+
* Returns the list of protocols executed in this ArcTable
|
|
967
|
+
*/
|
|
968
|
+
export function ARCtrl_ArcTable__ArcTable_GetProtocols(this$) {
|
|
969
|
+
let source;
|
|
970
|
+
if (this$.RowCount === 0) {
|
|
971
|
+
return singleton((source = this$.Headers, fold((p, h) => {
|
|
972
|
+
switch (h.tag) {
|
|
973
|
+
case 4:
|
|
974
|
+
return Protocol_setProtocolType(p, new OntologyAnnotation());
|
|
975
|
+
case 7:
|
|
976
|
+
return Protocol_setVersion(p, "");
|
|
977
|
+
case 6:
|
|
978
|
+
return Protocol_setUri(p, "");
|
|
979
|
+
case 5:
|
|
980
|
+
return Protocol_setDescription(p, "");
|
|
981
|
+
case 8:
|
|
982
|
+
return Protocol_setName(p, "");
|
|
983
|
+
case 3:
|
|
984
|
+
return Protocol_addParameter(ProtocolParameter.create(void 0, h.fields[0]), p);
|
|
985
|
+
case 0:
|
|
986
|
+
return Protocol_addComponent(Component_create_4208F9FC(void 0, void 0, h.fields[0]), p);
|
|
987
|
+
default:
|
|
988
|
+
return p;
|
|
989
|
+
}
|
|
990
|
+
}, Protocol_create_Z414665E7(void 0, this$.Name), source)));
|
|
991
|
+
}
|
|
992
|
+
else {
|
|
993
|
+
return List_distinct(initialize(this$.RowCount, (i) => {
|
|
994
|
+
let row;
|
|
995
|
+
const source_2 = this$.GetRow(i, true);
|
|
996
|
+
row = zip_1(this$.Headers, source_2);
|
|
997
|
+
return CompositeRow_toProtocol(this$.Name, row);
|
|
998
|
+
}), {
|
|
999
|
+
Equals: equals,
|
|
1000
|
+
GetHashCode: safeHash,
|
|
1001
|
+
});
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
/**
|
|
1006
|
+
* Returns the list of processes specidified in this ArcTable
|
|
1007
|
+
*/
|
|
1008
|
+
export function ARCtrl_ArcTable__ArcTable_GetProcesses(this$) {
|
|
1009
|
+
if (this$.RowCount === 0) {
|
|
1010
|
+
return singleton(Process_create_Z7C1F7FA9(void 0, this$.Name));
|
|
1011
|
+
}
|
|
1012
|
+
else {
|
|
1013
|
+
let getter;
|
|
1014
|
+
const clo = ProcessParsing_getProcessGetter(this$.Name, this$.Headers);
|
|
1015
|
+
getter = ((arg) => {
|
|
1016
|
+
const clo_1 = clo(arg);
|
|
1017
|
+
return clo_1;
|
|
1018
|
+
});
|
|
1019
|
+
return ProcessParsing_mergeIdenticalProcesses(toList(delay(() => map_1((i) => getter(this$.Values)(i), rangeDouble(0, 1, this$.RowCount - 1)))));
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
/**
|
|
1024
|
+
* Create a new table from a list of processes
|
|
1025
|
+
*
|
|
1026
|
+
* The name will be used as the sheet name
|
|
1027
|
+
*
|
|
1028
|
+
* The processes SHOULD have the same headers, or even execute the same protocol
|
|
1029
|
+
*/
|
|
1030
|
+
export function ARCtrl_ArcTable__ArcTable_fromProcesses_Static(name, ps) {
|
|
1031
|
+
const tupledArg = Unchecked_alignByHeaders(true, collect(ProcessParsing_processToRows, ps));
|
|
1032
|
+
return ArcTable.create(name, tupledArg[0], tupledArg[1]);
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
/**
|
|
1036
|
+
* Return a list of all the processes in all the tables.
|
|
1037
|
+
*/
|
|
1038
|
+
export function ARCtrl_ArcTables__ArcTables_GetProcesses(this$) {
|
|
1039
|
+
return collect(ARCtrl_ArcTable__ArcTable_GetProcesses, toList(this$.Tables));
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
/**
|
|
1043
|
+
* Create a collection of tables from a list of processes.
|
|
1044
|
+
*
|
|
1045
|
+
* For this, the processes are grouped by nameroot ("nameroot_1", "nameroot_2" ...) or exectued protocol if no name exists
|
|
1046
|
+
*
|
|
1047
|
+
* Then each group is converted to a table with this nameroot as sheetname
|
|
1048
|
+
*/
|
|
1049
|
+
export function ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(ps) {
|
|
1050
|
+
let collection;
|
|
1051
|
+
return new ArcTables((collection = map_2((tupledArg) => {
|
|
1052
|
+
const tupledArg_1 = Unchecked_alignByHeaders(true, collect(ProcessParsing_processToRows, tupledArg[1]));
|
|
1053
|
+
return ArcTable.create(tupledArg[0], tupledArg_1[0], tupledArg_1[1]);
|
|
1054
|
+
}, ProcessParsing_groupProcesses(ps)), Array.from(collection)));
|
|
1055
|
+
}
|
|
1056
|
+
|