@nfdi4plants/arctrl 3.0.0-beta.3 → 3.0.0-beta.4
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/README.md +2 -0
- package/dist/ts/index.js +63 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Array.js +354 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Async.js +28 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/AsyncBuilder.js +186 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/BigInt.js +8 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Boolean.js +24 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Char.js +73 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/CollectionUtil.js +31 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Date.js +574 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/DateOffset.js +59 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Decimal.js +65 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Double.js +30 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/FSharp.Core.js +5 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Global.js +5 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Guid.js +48 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Int32.js +120 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/List.js +680 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Long.js +40 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Map.js +655 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/MapUtil.js +105 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/MutableMap.js +320 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/MutableSet.js +204 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Native.js +10 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Numeric.js +73 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Option.js +65 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Range.js +23 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Reflection.js +111 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/RegExp.js +114 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Result.js +36 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Seq.js +846 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Seq2.js +65 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Set.js +1160 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/String.js +364 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/System.Text.js +40 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Types.js +193 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Unicode.13.0.0.js +6 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Uri.js +160 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/Util.js +367 -0
- package/dist/ts/node_modules/@fable-org/fable-library-js/lib/big.js +825 -0
- package/dist/ts/ts/ARC.js +914 -0
- package/dist/ts/ts/Contract/ARC.js +52 -0
- package/dist/ts/ts/Contract/ArcAssay.js +80 -0
- package/dist/ts/ts/Contract/ArcInvestigation.js +57 -0
- package/dist/ts/ts/Contract/ArcRun.js +76 -0
- package/dist/ts/ts/Contract/ArcStudy.js +76 -0
- package/dist/ts/ts/Contract/ArcWorkflow.js +77 -0
- package/dist/ts/ts/Contract/Contract.js +45 -0
- package/dist/ts/ts/Contract/Datamap.js +221 -0
- package/dist/ts/ts/Contract/Git.js +57 -0
- package/dist/ts/ts/Contract/ValidationPackagesConfig.js +57 -0
- package/dist/ts/ts/ContractIO/ContractIO.js +202 -0
- package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts +1 -1
- package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts.map +1 -1
- package/dist/ts/ts/ContractIO/FileSystemHelper.js +273 -0
- package/dist/ts/ts/Conversion.js +1247 -0
- package/dist/ts/ts/Core/ArcTypes.js +3393 -0
- package/dist/ts/ts/Core/Comment.js +91 -0
- package/dist/ts/ts/Core/CommentList.js +27 -0
- package/dist/ts/ts/Core/Conversion.js +923 -0
- package/dist/ts/ts/Core/Data.js +179 -0
- package/dist/ts/ts/Core/DataContext.js +108 -0
- package/dist/ts/ts/Core/DataFile.js +50 -0
- package/dist/ts/ts/Core/DataMap.js +53 -0
- package/dist/ts/ts/Core/Helper/Collections.js +323 -0
- package/dist/ts/ts/Core/Helper/HashCodes.js +35 -0
- package/dist/ts/ts/Core/Helper/Identifier.js +96 -0
- package/dist/ts/ts/Core/Helper/ORCID.js +34 -0
- package/dist/ts/ts/Core/Helper/Regex.js +296 -0
- package/dist/ts/ts/Core/Helper/SemVer.js +31 -0
- package/dist/ts/ts/Core/Helper/Url.js +32 -0
- package/dist/ts/ts/Core/IdentifierSetters.js +9 -0
- package/dist/ts/ts/Core/OntologyAnnotation.js +207 -0
- package/dist/ts/ts/Core/OntologySourceReference.js +84 -0
- package/dist/ts/ts/Core/Person.js +183 -0
- package/dist/ts/ts/Core/Process/ColumnIndex.js +73 -0
- package/dist/ts/ts/Core/Process/Component.js +121 -0
- package/dist/ts/ts/Core/Process/Factor.js +104 -0
- package/dist/ts/ts/Core/Process/FactorValue.js +68 -0
- package/dist/ts/ts/Core/Process/Material.js +49 -0
- package/dist/ts/ts/Core/Process/MaterialAttribute.js +30 -0
- package/dist/ts/ts/Core/Process/MaterialAttributeValue.js +68 -0
- package/dist/ts/ts/Core/Process/MaterialType.js +28 -0
- package/dist/ts/ts/Core/Process/Process.js +136 -0
- package/dist/ts/ts/Core/Process/ProcessInput.js +207 -0
- package/dist/ts/ts/Core/Process/ProcessOutput.js +178 -0
- package/dist/ts/ts/Core/Process/ProcessParameterValue.js +135 -0
- package/dist/ts/ts/Core/Process/ProcessSequence.js +56 -0
- package/dist/ts/ts/Core/Process/Protocol.js +54 -0
- package/dist/ts/ts/Core/Process/ProtocolParameter.js +69 -0
- package/dist/ts/ts/Core/Process/Sample.js +44 -0
- package/dist/ts/ts/Core/Process/Source.js +38 -0
- package/dist/ts/ts/Core/Publication.js +108 -0
- package/dist/ts/ts/Core/Table/ArcTable.js +889 -0
- package/dist/ts/ts/Core/Table/ArcTableAux.js +993 -0
- package/dist/ts/ts/Core/Table/ArcTables.js +415 -0
- package/dist/ts/ts/Core/Table/CompositeCell.js +334 -0
- package/dist/ts/ts/Core/Table/CompositeColumn.js +52 -0
- package/dist/ts/ts/Core/Table/CompositeHeader.js +792 -0
- package/dist/ts/ts/Core/Template.js +180 -0
- package/dist/ts/ts/Core/Templates.js +75 -0
- package/dist/ts/ts/Core/URI.js +8 -0
- package/dist/ts/ts/Core/Value.js +194 -0
- package/dist/ts/ts/CrossAsync.js +20 -0
- package/dist/ts/ts/FileSystem/DefaultGitattributes.js +3 -0
- package/dist/ts/ts/FileSystem/DefaultGitignore.js +3 -0
- package/dist/ts/ts/FileSystem/FileSystem.js +48 -0
- package/dist/ts/ts/FileSystem/FileSystemTree.js +339 -0
- package/dist/ts/ts/FileSystem/Path.js +36 -0
- package/dist/ts/ts/Json/Assay.d.ts +1 -1
- package/dist/ts/ts/Json/Assay.js +221 -0
- package/dist/ts/ts/Json/Comment.d.ts +1 -1
- package/dist/ts/ts/Json/Comment.js +112 -0
- package/dist/ts/ts/Json/Data.d.ts +1 -1
- package/dist/ts/ts/Json/Data.js +138 -0
- package/dist/ts/ts/Json/DataFile.d.ts +1 -1
- package/dist/ts/ts/Json/DataFile.js +55 -0
- package/dist/ts/ts/Json/DataMap/DataContext.d.ts +1 -1
- package/dist/ts/ts/Json/DataMap/DataContext.js +39 -0
- package/dist/ts/ts/Json/DataMap/DataMap.d.ts +1 -1
- package/dist/ts/ts/Json/DataMap/DataMap.js +27 -0
- package/dist/ts/ts/Json/Decode.d.ts +2 -2
- package/dist/ts/ts/Json/Decode.js +209 -0
- package/dist/ts/ts/Json/Encode.d.ts +1 -1
- package/dist/ts/ts/Json/Encode.js +65 -0
- package/dist/ts/ts/Json/IDTable.d.ts +1 -1
- package/dist/ts/ts/Json/IDTable.js +28 -0
- package/dist/ts/ts/Json/Investigation.d.ts +1 -1
- package/dist/ts/ts/Json/Investigation.js +229 -0
- package/dist/ts/ts/Json/OntologyAnnotation.d.ts +1 -1
- package/dist/ts/ts/Json/OntologyAnnotation.js +194 -0
- package/dist/ts/ts/Json/OntologySourceReference.d.ts +1 -1
- package/dist/ts/ts/Json/OntologySourceReference.js +119 -0
- package/dist/ts/ts/Json/Person.d.ts +1 -1
- package/dist/ts/ts/Json/Person.js +316 -0
- package/dist/ts/ts/Json/Process/AssayMaterials.d.ts +1 -1
- package/dist/ts/ts/Json/Process/AssayMaterials.js +21 -0
- package/dist/ts/ts/Json/Process/Component.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Component.js +41 -0
- package/dist/ts/ts/Json/Process/Factor.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Factor.js +53 -0
- package/dist/ts/ts/Json/Process/FactorValue.d.ts +1 -1
- package/dist/ts/ts/Json/Process/FactorValue.js +44 -0
- package/dist/ts/ts/Json/Process/Material.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Material.js +112 -0
- package/dist/ts/ts/Json/Process/MaterialAttribute.d.ts +1 -1
- package/dist/ts/ts/Json/Process/MaterialAttribute.js +43 -0
- package/dist/ts/ts/Json/Process/MaterialAttributeValue.d.ts +1 -1
- package/dist/ts/ts/Json/Process/MaterialAttributeValue.js +44 -0
- package/dist/ts/ts/Json/Process/MaterialType.d.ts +1 -1
- package/dist/ts/ts/Json/Process/MaterialType.js +45 -0
- package/dist/ts/ts/Json/Process/Process.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Process.js +103 -0
- package/dist/ts/ts/Json/Process/ProcessInput.d.ts +1 -1
- package/dist/ts/ts/Json/Process/ProcessInput.js +42 -0
- package/dist/ts/ts/Json/Process/ProcessOutput.d.ts +1 -1
- package/dist/ts/ts/Json/Process/ProcessOutput.js +35 -0
- package/dist/ts/ts/Json/Process/ProcessParameterValue.d.ts +1 -1
- package/dist/ts/ts/Json/Process/ProcessParameterValue.js +28 -0
- package/dist/ts/ts/Json/Process/Protocol.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Protocol.js +166 -0
- package/dist/ts/ts/Json/Process/ProtocolParameter.d.ts +1 -1
- package/dist/ts/ts/Json/Process/ProtocolParameter.js +43 -0
- package/dist/ts/ts/Json/Process/Sample.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Sample.js +165 -0
- package/dist/ts/ts/Json/Process/Source.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Source.js +133 -0
- package/dist/ts/ts/Json/Process/StudyMaterials.d.ts +1 -1
- package/dist/ts/ts/Json/Process/StudyMaterials.js +23 -0
- package/dist/ts/ts/Json/Process/Value.d.ts +1 -1
- package/dist/ts/ts/Json/Process/Value.js +41 -0
- package/dist/ts/ts/Json/PropertyValue.d.ts +1 -1
- package/dist/ts/ts/Json/PropertyValue.js +280 -0
- package/dist/ts/ts/Json/Publication.d.ts +1 -1
- package/dist/ts/ts/Json/Publication.js +123 -0
- package/dist/ts/ts/Json/ROCrate/LDContext.d.ts +1 -1
- package/dist/ts/ts/Json/ROCrate/LDContext.js +115 -0
- package/dist/ts/ts/Json/ROCrate/LDGraph.d.ts +1 -1
- package/dist/ts/ts/Json/ROCrate/LDGraph.js +83 -0
- package/dist/ts/ts/Json/ROCrate/LDNode.d.ts +1 -1
- package/dist/ts/ts/Json/ROCrate/LDNode.js +190 -0
- package/dist/ts/ts/Json/ROCrate/LDRef.d.ts +1 -1
- package/dist/ts/ts/Json/ROCrate/LDRef.js +24 -0
- package/dist/ts/ts/Json/ROCrate/LDValue.d.ts +1 -1
- package/dist/ts/ts/Json/ROCrate/LDValue.js +63 -0
- package/dist/ts/ts/Json/StringTable.d.ts +1 -1
- package/dist/ts/ts/Json/StringTable.js +66 -0
- package/dist/ts/ts/Json/Study.d.ts +1 -1
- package/dist/ts/ts/Json/Study.js +326 -0
- package/dist/ts/ts/Json/Table/ArcTable.d.ts +1 -1
- package/dist/ts/ts/Json/Table/ArcTable.js +210 -0
- package/dist/ts/ts/Json/Table/CellTable.d.ts +1 -1
- package/dist/ts/ts/Json/Table/CellTable.js +53 -0
- package/dist/ts/ts/Json/Table/CompositeCell.d.ts +1 -1
- package/dist/ts/ts/Json/Table/CompositeCell.js +106 -0
- package/dist/ts/ts/Json/Table/CompositeHeader.d.ts +1 -1
- package/dist/ts/ts/Json/Table/CompositeHeader.js +121 -0
- package/dist/ts/ts/Json/Table/IOType.d.ts +1 -1
- package/dist/ts/ts/Json/Table/IOType.js +15 -0
- package/dist/ts/ts/Json/Table/OATable.d.ts +1 -1
- package/dist/ts/ts/Json/Table/OATable.js +50 -0
- package/dist/ts/ts/Json/Table/Templates.d.ts +1 -1
- package/dist/ts/ts/Json/Table/Templates.js +15 -0
- package/dist/ts/ts/Json/context/rocrate/isa_assay_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_assay_context.js +61 -0
- package/dist/ts/ts/Json/context/rocrate/isa_comment_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_comment_context.js +29 -0
- package/dist/ts/ts/Json/context/rocrate/isa_data_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_data_context.js +41 -0
- package/dist/ts/ts/Json/context/rocrate/isa_investigation_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_investigation_context.js +69 -0
- package/dist/ts/ts/Json/context/rocrate/isa_material_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_material_context.js +37 -0
- package/dist/ts/ts/Json/context/rocrate/isa_ontology_annotation_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_ontology_annotation_context.js +37 -0
- package/dist/ts/ts/Json/context/rocrate/isa_ontology_source_reference_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_ontology_source_reference_context.js +41 -0
- package/dist/ts/ts/Json/context/rocrate/isa_organization_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_organization_context.js +25 -0
- package/dist/ts/ts/Json/context/rocrate/isa_person_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_person_context.js +86 -0
- package/dist/ts/ts/Json/context/rocrate/isa_process_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_process_context.js +57 -0
- package/dist/ts/ts/Json/context/rocrate/isa_protocol_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_protocol_context.js +61 -0
- package/dist/ts/ts/Json/context/rocrate/isa_publication_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_publication_context.js +45 -0
- package/dist/ts/ts/Json/context/rocrate/isa_sample_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_sample_context.js +33 -0
- package/dist/ts/ts/Json/context/rocrate/isa_source_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_source_context.js +33 -0
- package/dist/ts/ts/Json/context/rocrate/isa_study_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/isa_study_context.js +77 -0
- package/dist/ts/ts/Json/context/rocrate/property_value_context.d.ts +1 -1
- package/dist/ts/ts/Json/context/rocrate/property_value_context.js +61 -0
- package/dist/ts/ts/Json/context/rocrate/rocrate_context.d.ts +1 -1
- package/dist/ts/ts/Json.js +171 -0
- package/dist/ts/ts/JsonIO/Assay.js +77 -0
- package/dist/ts/ts/JsonIO/Investigation.js +77 -0
- package/dist/ts/ts/JsonIO/LDObject.js +77 -0
- package/dist/ts/ts/JsonIO/OntologyAnnotation.js +56 -0
- package/dist/ts/ts/JsonIO/Study.js +77 -0
- package/dist/ts/ts/JsonIO/Table/Compression.d.ts +1 -1
- package/dist/ts/ts/JsonIO/Table/Compression.js +39 -0
- package/dist/ts/ts/JsonIO/Table/Templates.d.ts +1 -1
- package/dist/ts/ts/JsonIO/Table/Templates.js +25 -0
- package/dist/ts/ts/ROCrate/Generic/Comment.js +103 -0
- package/dist/ts/ts/ROCrate/Generic/Dataset.js +624 -0
- package/dist/ts/ts/ROCrate/Generic/DefinedTerm.js +103 -0
- package/dist/ts/ts/ROCrate/Generic/File.js +184 -0
- package/dist/ts/ts/ROCrate/Generic/LabProcess.js +222 -0
- package/dist/ts/ts/ROCrate/Generic/LabProtocol.js +257 -0
- package/dist/ts/ts/ROCrate/Generic/Organization.js +63 -0
- package/dist/ts/ts/ROCrate/Generic/Person.js +377 -0
- package/dist/ts/ts/ROCrate/Generic/PostalAddress.js +143 -0
- package/dist/ts/ts/ROCrate/Generic/PropertyValue.js +512 -0
- package/dist/ts/ts/ROCrate/Generic/Sample.js +131 -0
- package/dist/ts/ts/ROCrate/Generic/ScholarlyArticle.js +173 -0
- package/dist/ts/ts/ROCrate/Helper.js +7 -0
- package/dist/ts/ts/ROCrate/LDContext.js +288 -0
- package/dist/ts/ts/ROCrate/LDObject.js +855 -0
- package/dist/ts/ts/ROCrate/ROCrateContext.js +39 -0
- package/dist/ts/ts/ROCrateIO.d.ts +1 -1
- package/dist/ts/ts/ROCrateIO.js +58 -0
- package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.js +149 -0
- package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.js +63 -0
- package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +108 -0
- package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeHeader.js +410 -0
- package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/ArcAssay.js +169 -0
- package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/ArcInvestigation.js +316 -0
- package/dist/ts/ts/Spreadsheet/ArcRun.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/ArcRun.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/ArcRun.js +136 -0
- package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/ArcStudy.js +92 -0
- package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/ArcWorkflow.js +125 -0
- package/dist/ts/ts/Spreadsheet/CollectionAux.js +34 -0
- package/dist/ts/ts/Spreadsheet/DataMap.d.ts +1 -1
- package/dist/ts/ts/Spreadsheet/DataMap.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/DataMap.js +33 -0
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.d.ts +2 -2
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.js +41 -0
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.d.ts +1 -1
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.js +418 -0
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts +3 -3
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.js +85 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Assays.js +90 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Comment.js +58 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Contacts.js +85 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Conversions.js +133 -0
- package/dist/ts/ts/Spreadsheet/Metadata/DesignDescriptors.js +15 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Factors.js +74 -0
- package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.js +58 -0
- package/dist/ts/ts/Spreadsheet/Metadata/OntologySourceReference.js +62 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Protocols.js +94 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Publication.js +81 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Run.js +91 -0
- package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts +3 -3
- package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
- package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.js +193 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Study.js +238 -0
- package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +105 -0
- package/dist/ts/ts/Template.Web.js +22 -0
- package/dist/ts/ts/ValidationPackages/ValidationPackage.js +53 -0
- package/dist/ts/ts/ValidationPackages/ValidationPackagesConfig.js +78 -0
- package/dist/ts/ts/WebRequest/WebRequest.Node.js +13 -0
- package/dist/ts/ts/WebRequest/WebRequest.js +19 -0
- package/dist/ts/ts/Xlsx.d.ts +1 -1
- package/dist/ts/ts/Xlsx.d.ts.map +1 -1
- package/dist/ts/ts/Xlsx.js +91 -0
- package/dist/ts/ts/Yaml/Encode.js +8 -0
- package/dist/ts/ts/Yaml/ValidationPackage.js +26 -0
- package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +40 -0
- package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/DynamicObj.fs.js +344 -0
- package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/FableJS.fs.js +103 -0
- package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/HashCodes.fs.js +19 -0
- package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/PropertyHelper.fs.js +17 -0
- package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/ReflectionUtils.fs.js +7 -0
- package/dist/ts/ts/fable_modules/Fable.Exceljs.1.6.0/ExcelJs.fs.js +5 -0
- package/dist/ts/ts/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +18 -0
- package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +44 -0
- package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +5 -0
- package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +142 -0
- package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +76 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Cells/FsCell.fs.js +359 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Cells/FsCellsCollection.fs.js +344 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsAddress.fs.js +154 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsColumn.fs.js +116 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsRow.fs.js +126 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsWorkbook.fs.js +135 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsWorksheet.fs.js +422 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/HashCodes.fs.js +5 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Json/Value.fs.js +25 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRange.fs.js +28 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeAddress.fs.js +82 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeBase.fs.js +69 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeColumn.fs.js +42 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeRow.fs.js +29 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Tables/FsTable.fs.js +348 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Tables/FsTableField.fs.js +86 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Cell.fs.js +68 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/FsExtensions.fs.js +12 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Table.fs.js +54 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Workbook.fs.js +33 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Worksheet.fs.js +63 -0
- package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Xlsx.fs.js +66 -0
- package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js +544 -0
- package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Encode.fs.js +31 -0
- package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js +38 -0
- package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.4.1/Decode.fs.js +79 -0
- package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.4.1/Encode.fs.js +57 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Decode.fs.js +235 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Encode.fs.js +16 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Persil.fs.js +45 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Preprocessing.fs.js +89 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Reader.fs.js +480 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Regex.fs.js +11 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/RegexActivePatterns.fs.js +212 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Writer.fs.js +164 -0
- package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js +136 -0
- package/package.json +10 -7
- package/dist/ts/__vite-browser-external-2447137e.js +0 -4
- package/dist/ts/__vite-browser-external-b3701507.cjs +0 -1
- package/dist/ts/arctrl.cjs.js +0 -5691
- package/dist/ts/arctrl.es.js +0 -35562
- package/dist/ts/arctrl.umd.js +0 -5691
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { defaultArg, unwrap } from '../../node_modules/@fable-org/fable-library-js/Option.js';
|
|
2
|
+
import { tryFind, map, append, item, tryPick, head, tail, choose, equalsWith } from '../../node_modules/@fable-org/fable-library-js/Array.js';
|
|
3
|
+
import { split, combineMany } from './Path.js';
|
|
4
|
+
import { toArray, delay, append as append$1, singleton } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
|
|
5
|
+
import { Array_distinct, Array_groupBy } from '../../node_modules/@fable-org/fable-library-js/Seq2.js';
|
|
6
|
+
import { curry2, arrayHash, stringHash } from '../../node_modules/@fable-org/fable-library-js/Util.js';
|
|
7
|
+
import { empty, cons, toArray as toArray$1, reverse } from '../../node_modules/@fable-org/fable-library-js/List.js';
|
|
8
|
+
import { Union } from '../../node_modules/@fable-org/fable-library-js/Types.js';
|
|
9
|
+
|
|
10
|
+
function FileSystemTree_File(name) {
|
|
11
|
+
return new FileSystemTree(0, [name]);
|
|
12
|
+
}
|
|
13
|
+
function FileSystemTree_Folder(name, children) {
|
|
14
|
+
return new FileSystemTree(1, [name, children]);
|
|
15
|
+
}
|
|
16
|
+
class FileSystemTree extends Union {
|
|
17
|
+
constructor(tag, fields) {
|
|
18
|
+
super();
|
|
19
|
+
this.tag = tag;
|
|
20
|
+
this.fields = fields;
|
|
21
|
+
}
|
|
22
|
+
cases() {
|
|
23
|
+
return ["File", "Folder"];
|
|
24
|
+
}
|
|
25
|
+
get Name() {
|
|
26
|
+
const this$ = this;
|
|
27
|
+
let n;
|
|
28
|
+
if (this$.tag === /* Folder */
|
|
29
|
+
1) {
|
|
30
|
+
n = this$.fields[0];
|
|
31
|
+
} else {
|
|
32
|
+
n = this$.fields[0];
|
|
33
|
+
}
|
|
34
|
+
return n;
|
|
35
|
+
}
|
|
36
|
+
get isFolder() {
|
|
37
|
+
const this$ = this;
|
|
38
|
+
return this$.tag === /* Folder */
|
|
39
|
+
1;
|
|
40
|
+
}
|
|
41
|
+
get isFile() {
|
|
42
|
+
const this$ = this;
|
|
43
|
+
return this$.tag === /* File */
|
|
44
|
+
0;
|
|
45
|
+
}
|
|
46
|
+
static get ROOT_NAME() {
|
|
47
|
+
return "root";
|
|
48
|
+
}
|
|
49
|
+
static createFile(name) {
|
|
50
|
+
return FileSystemTree_File(name);
|
|
51
|
+
}
|
|
52
|
+
static createFolder(name, children) {
|
|
53
|
+
return FileSystemTree_Folder(name, defaultArg(children, []));
|
|
54
|
+
}
|
|
55
|
+
static createRootFolder(children) {
|
|
56
|
+
return FileSystemTree_Folder(FileSystemTree.ROOT_NAME, children);
|
|
57
|
+
}
|
|
58
|
+
TryGetChildByName(name) {
|
|
59
|
+
const this$ = this;
|
|
60
|
+
return this$.tag === /* File */
|
|
61
|
+
0 ? void 0 : tryFind((c) => c.Name === name, this$.fields[1]);
|
|
62
|
+
}
|
|
63
|
+
static tryGetChildByName(name) {
|
|
64
|
+
return (fst) => fst.TryGetChildByName(name);
|
|
65
|
+
}
|
|
66
|
+
ContainsChildWithName(name) {
|
|
67
|
+
const this$ = this;
|
|
68
|
+
if (this$.tag === /* File */
|
|
69
|
+
0) {
|
|
70
|
+
return false;
|
|
71
|
+
} else {
|
|
72
|
+
const array = this$.fields[1];
|
|
73
|
+
return array.some((c) => c.Name === name);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static containsChildWithName(name) {
|
|
77
|
+
return (fst) => fst.ContainsChildWithName(name);
|
|
78
|
+
}
|
|
79
|
+
TryGetPath(path) {
|
|
80
|
+
const this$ = this;
|
|
81
|
+
const loop = (parent, pathParts) => {
|
|
82
|
+
if (parent.tag === /* File */
|
|
83
|
+
0) {
|
|
84
|
+
const name_1 = parent.fields[0];
|
|
85
|
+
if (pathParts.length === 1 && item(0, pathParts) === name_1) {
|
|
86
|
+
return parent;
|
|
87
|
+
} else {
|
|
88
|
+
return void 0;
|
|
89
|
+
}
|
|
90
|
+
} else if (parent.fields[0] === "root") {
|
|
91
|
+
const children = parent.fields[1];
|
|
92
|
+
return tryPick((child) => loop(child, pathParts), children);
|
|
93
|
+
} else {
|
|
94
|
+
const children_1 = parent.fields[1];
|
|
95
|
+
const name = parent.fields[0];
|
|
96
|
+
if (name === head(pathParts)) {
|
|
97
|
+
if (pathParts.length === 1) {
|
|
98
|
+
return parent;
|
|
99
|
+
} else {
|
|
100
|
+
const remainingParts = tail(pathParts);
|
|
101
|
+
return tryPick((child_1) => loop(child_1, remainingParts), children_1);
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
return void 0;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return loop(this$, split(path));
|
|
109
|
+
}
|
|
110
|
+
AddFile(path) {
|
|
111
|
+
const this$ = this;
|
|
112
|
+
const existingPaths = this$.ToFilePaths();
|
|
113
|
+
const filePaths = toArray(delay(() => append$1(singleton(path), delay(() => existingPaths))));
|
|
114
|
+
return FileSystemTree.fromFilePaths(filePaths);
|
|
115
|
+
}
|
|
116
|
+
static addFile(path) {
|
|
117
|
+
return (tree) => tree.AddFile(path);
|
|
118
|
+
}
|
|
119
|
+
static fromFilePaths(paths) {
|
|
120
|
+
const loop = (paths_1, parent) => {
|
|
121
|
+
const files = map((arg) => {
|
|
122
|
+
const name = head(arg);
|
|
123
|
+
return FileSystemTree.createFile(name);
|
|
124
|
+
}, paths_1.filter((p) => p.length === 1));
|
|
125
|
+
const folders = map((tupledArg) => {
|
|
126
|
+
const parent_1 = FileSystemTree.createFolder(tupledArg[0], []);
|
|
127
|
+
return loop(map(tail, tupledArg[1]), parent_1);
|
|
128
|
+
}, Array_groupBy(head, paths_1.filter((p_1) => p_1.length > 1), {
|
|
129
|
+
Equals: (x_3, y_2) => x_3 === y_2,
|
|
130
|
+
GetHashCode: stringHash
|
|
131
|
+
}));
|
|
132
|
+
if (parent.tag === /* Folder */
|
|
133
|
+
1) {
|
|
134
|
+
const name_1 = parent.fields[0];
|
|
135
|
+
return FileSystemTree.createFolder(name_1, toArray(delay(() => append$1(files, delay(() => folders)))));
|
|
136
|
+
} else {
|
|
137
|
+
return parent;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
return loop(Array_distinct(map(split, paths), {
|
|
141
|
+
Equals: (x, y) => equalsWith((x_1, y_1) => x_1 === y_1, x, y),
|
|
142
|
+
GetHashCode: arrayHash
|
|
143
|
+
}), FileSystemTree.createFolder(FileSystemTree.ROOT_NAME, []));
|
|
144
|
+
}
|
|
145
|
+
ToFilePaths(removeRoot) {
|
|
146
|
+
const this$ = this;
|
|
147
|
+
const res = [];
|
|
148
|
+
const loop = (output, parent) => {
|
|
149
|
+
if (parent.tag === /* Folder */
|
|
150
|
+
1) {
|
|
151
|
+
const n_1 = parent.fields[0];
|
|
152
|
+
const array = parent.fields[1];
|
|
153
|
+
array.forEach((filest) => {
|
|
154
|
+
loop(cons(n_1, output), filest);
|
|
155
|
+
});
|
|
156
|
+
} else {
|
|
157
|
+
const item = combineMany(toArray$1(reverse(cons(parent.fields[0], output))));
|
|
158
|
+
void res.push(item);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
if (defaultArg(removeRoot, true)) {
|
|
162
|
+
if (this$.tag === /* File */
|
|
163
|
+
0) {
|
|
164
|
+
const n_2 = this$.fields[0];
|
|
165
|
+
void res.push(n_2);
|
|
166
|
+
} else {
|
|
167
|
+
const children_1 = this$.fields[1];
|
|
168
|
+
const action_1 = curry2(loop)(empty());
|
|
169
|
+
children_1.forEach(action_1);
|
|
170
|
+
}
|
|
171
|
+
} else {
|
|
172
|
+
loop(empty(), this$);
|
|
173
|
+
}
|
|
174
|
+
return Array.from(res);
|
|
175
|
+
}
|
|
176
|
+
static toFilePaths(removeRoot) {
|
|
177
|
+
return (root) => root.ToFilePaths(unwrap(removeRoot));
|
|
178
|
+
}
|
|
179
|
+
FilterFiles(predicate) {
|
|
180
|
+
const this$ = this;
|
|
181
|
+
const loop = (parent) => {
|
|
182
|
+
if (parent.tag === /* Folder */
|
|
183
|
+
1) {
|
|
184
|
+
return FileSystemTree_Folder(parent.fields[0], choose(loop, parent.fields[1]));
|
|
185
|
+
} else {
|
|
186
|
+
const n = parent.fields[0];
|
|
187
|
+
if (predicate(n)) {
|
|
188
|
+
return FileSystemTree_File(n);
|
|
189
|
+
} else {
|
|
190
|
+
return void 0;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
return loop(this$);
|
|
195
|
+
}
|
|
196
|
+
static filterFiles(predicate) {
|
|
197
|
+
return (tree) => tree.FilterFiles(predicate);
|
|
198
|
+
}
|
|
199
|
+
FilterFolders(predicate) {
|
|
200
|
+
const this$ = this;
|
|
201
|
+
const loop = (parent) => {
|
|
202
|
+
if (parent.tag === /* Folder */
|
|
203
|
+
1) {
|
|
204
|
+
const n_1 = parent.fields[0];
|
|
205
|
+
const children = parent.fields[1];
|
|
206
|
+
if (predicate(n_1)) {
|
|
207
|
+
return FileSystemTree_Folder(n_1, choose(loop, children));
|
|
208
|
+
} else {
|
|
209
|
+
return void 0;
|
|
210
|
+
}
|
|
211
|
+
} else {
|
|
212
|
+
return FileSystemTree_File(parent.fields[0]);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
return loop(this$);
|
|
216
|
+
}
|
|
217
|
+
static filterFolders(predicate) {
|
|
218
|
+
return (tree) => tree.FilterFolders(predicate);
|
|
219
|
+
}
|
|
220
|
+
Filter(predicate) {
|
|
221
|
+
const this$ = this;
|
|
222
|
+
const loop = (parent) => {
|
|
223
|
+
if (parent.tag === /* Folder */
|
|
224
|
+
1) {
|
|
225
|
+
const n_1 = parent.fields[0];
|
|
226
|
+
const children = parent.fields[1];
|
|
227
|
+
if (predicate(n_1)) {
|
|
228
|
+
const filteredChildren = choose(loop, children);
|
|
229
|
+
if (filteredChildren.length === 0) {
|
|
230
|
+
return void 0;
|
|
231
|
+
} else {
|
|
232
|
+
return FileSystemTree_Folder(n_1, filteredChildren);
|
|
233
|
+
}
|
|
234
|
+
} else {
|
|
235
|
+
return void 0;
|
|
236
|
+
}
|
|
237
|
+
} else {
|
|
238
|
+
const n = parent.fields[0];
|
|
239
|
+
if (predicate(n)) {
|
|
240
|
+
return FileSystemTree_File(n);
|
|
241
|
+
} else {
|
|
242
|
+
return void 0;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
return loop(this$);
|
|
247
|
+
}
|
|
248
|
+
static filter(predicate) {
|
|
249
|
+
return (tree) => tree.Filter(predicate);
|
|
250
|
+
}
|
|
251
|
+
Union(otherFST) {
|
|
252
|
+
let array_1;
|
|
253
|
+
const this$ = this;
|
|
254
|
+
const paths = Array_distinct((array_1 = this$.ToFilePaths(), append(otherFST.ToFilePaths(), array_1)), {
|
|
255
|
+
Equals: (x, y) => x === y,
|
|
256
|
+
GetHashCode: stringHash
|
|
257
|
+
});
|
|
258
|
+
return FileSystemTree.fromFilePaths(paths);
|
|
259
|
+
}
|
|
260
|
+
Copy() {
|
|
261
|
+
const this$ = this;
|
|
262
|
+
return this$.tag === /* File */
|
|
263
|
+
0 ? FileSystemTree_File(this$.fields[0]) : FileSystemTree_Folder(this$.fields[0], map((c) => c.Copy(), this$.fields[1]));
|
|
264
|
+
}
|
|
265
|
+
static createGitKeepFile() {
|
|
266
|
+
return FileSystemTree.createFile(".gitkeep");
|
|
267
|
+
}
|
|
268
|
+
static createReadmeFile() {
|
|
269
|
+
return FileSystemTree.createFile("README.md");
|
|
270
|
+
}
|
|
271
|
+
static createEmptyFolder(name) {
|
|
272
|
+
return FileSystemTree.createFolder(name, [FileSystemTree.createGitKeepFile()]);
|
|
273
|
+
}
|
|
274
|
+
static createAssayFolder(assayName, hasDataMap) {
|
|
275
|
+
const hasDataMap_1 = defaultArg(hasDataMap, false);
|
|
276
|
+
const dataset = FileSystemTree.createEmptyFolder("dataset");
|
|
277
|
+
const protocols = FileSystemTree.createEmptyFolder("protocols");
|
|
278
|
+
const readme = FileSystemTree.createReadmeFile();
|
|
279
|
+
const assayFile = FileSystemTree.createFile("isa.assay.xlsx");
|
|
280
|
+
if (hasDataMap_1) {
|
|
281
|
+
const dataMapFile = FileSystemTree.createFile("isa.datamap.xlsx");
|
|
282
|
+
return FileSystemTree.createFolder(assayName, [dataset, protocols, assayFile, readme, dataMapFile]);
|
|
283
|
+
} else {
|
|
284
|
+
return FileSystemTree.createFolder(assayName, [dataset, protocols, assayFile, readme]);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
static createStudyFolder(studyName, hasDataMap) {
|
|
288
|
+
const hasDataMap_1 = defaultArg(hasDataMap, false);
|
|
289
|
+
const resources = FileSystemTree.createEmptyFolder("resources");
|
|
290
|
+
const protocols = FileSystemTree.createEmptyFolder("protocols");
|
|
291
|
+
const readme = FileSystemTree.createReadmeFile();
|
|
292
|
+
const studyFile = FileSystemTree.createFile("isa.study.xlsx");
|
|
293
|
+
if (hasDataMap_1) {
|
|
294
|
+
const dataMapFile = FileSystemTree.createFile("isa.datamap.xlsx");
|
|
295
|
+
return FileSystemTree.createFolder(studyName, [resources, protocols, studyFile, readme, dataMapFile]);
|
|
296
|
+
} else {
|
|
297
|
+
return FileSystemTree.createFolder(studyName, [resources, protocols, studyFile, readme]);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
static createWorkflowFolder(workflowName, hasDataMap) {
|
|
301
|
+
const hasDataMap_1 = defaultArg(hasDataMap, false);
|
|
302
|
+
const readme = FileSystemTree.createReadmeFile();
|
|
303
|
+
const workflowFile = FileSystemTree.createFile("isa.workflow.xlsx");
|
|
304
|
+
if (hasDataMap_1) {
|
|
305
|
+
const dataMapFile = FileSystemTree.createFile("isa.datamap.xlsx");
|
|
306
|
+
return FileSystemTree.createFolder(workflowName, [workflowFile, readme, dataMapFile]);
|
|
307
|
+
} else {
|
|
308
|
+
return FileSystemTree.createFolder(workflowName, [workflowFile, readme]);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
static createRunFolder(runName, hasDataMap) {
|
|
312
|
+
const hasDataMap_1 = defaultArg(hasDataMap, false);
|
|
313
|
+
const readme = FileSystemTree.createReadmeFile();
|
|
314
|
+
const runFile = FileSystemTree.createFile("isa.run.xlsx");
|
|
315
|
+
if (hasDataMap_1) {
|
|
316
|
+
const dataMapFile = FileSystemTree.createFile("isa.datamap.xlsx");
|
|
317
|
+
return FileSystemTree.createFolder(runName, [runFile, readme, dataMapFile]);
|
|
318
|
+
} else {
|
|
319
|
+
return FileSystemTree.createFolder(runName, [runFile, readme]);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
static createInvestigationFile() {
|
|
323
|
+
return FileSystemTree.createFile("isa.investigation.xlsx");
|
|
324
|
+
}
|
|
325
|
+
static createAssaysFolder(assays) {
|
|
326
|
+
return FileSystemTree.createFolder("assays", append([FileSystemTree.createGitKeepFile()], assays));
|
|
327
|
+
}
|
|
328
|
+
static createStudiesFolder(studies) {
|
|
329
|
+
return FileSystemTree.createFolder("studies", append([FileSystemTree.createGitKeepFile()], studies));
|
|
330
|
+
}
|
|
331
|
+
static createWorkflowsFolder(workflows) {
|
|
332
|
+
return FileSystemTree.createFolder("workflows", append([FileSystemTree.createGitKeepFile()], workflows));
|
|
333
|
+
}
|
|
334
|
+
static createRunsFolder(runs) {
|
|
335
|
+
return FileSystemTree.createFolder("runs", append([FileSystemTree.createGitKeepFile()], runs));
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
export { FileSystemTree, FileSystemTree_File, FileSystemTree_Folder };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { join, split as split$1, trimEnd, trimStart, trim } from '../../node_modules/@fable-org/fable-library-js/String.js';
|
|
2
|
+
import { mapIndexed } from '../../node_modules/@fable-org/fable-library-js/Array.js';
|
|
3
|
+
|
|
4
|
+
const seperators = ["/", "\\"];
|
|
5
|
+
function split(path) {
|
|
6
|
+
const array = split$1(path, seperators, void 0, 3);
|
|
7
|
+
return array.filter((p) => {
|
|
8
|
+
if (p !== "") {
|
|
9
|
+
return p !== ".";
|
|
10
|
+
} else {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function combine(path1, path2) {
|
|
16
|
+
return trimEnd(path1, ...seperators) + "/" + trimStart(path2, ...seperators);
|
|
17
|
+
}
|
|
18
|
+
function combineMany(paths) {
|
|
19
|
+
return join("/", mapIndexed((i, p) => {
|
|
20
|
+
if (i === 0) {
|
|
21
|
+
return trimEnd(p, ...seperators);
|
|
22
|
+
} else if (i === paths.length - 1) {
|
|
23
|
+
return trimStart(p, ...seperators);
|
|
24
|
+
} else {
|
|
25
|
+
return trim(p, ...seperators);
|
|
26
|
+
}
|
|
27
|
+
}, paths));
|
|
28
|
+
}
|
|
29
|
+
function getAssayFolderPath(assayIdentifier) {
|
|
30
|
+
return combine("assays", assayIdentifier);
|
|
31
|
+
}
|
|
32
|
+
function getStudyFolderPath(studyIdentifier) {
|
|
33
|
+
return combine("studies", studyIdentifier);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { combine, combineMany, getAssayFolderPath, getStudyFolderPath, seperators, split };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FSharpList } from '@fable-org/fable-library-js/List.js';
|
|
2
2
|
import { Option } from '@fable-org/fable-library-js/Option.js';
|
|
3
|
-
import { Decoder$1, IEncodable } from '../fable_modules/Thoth.Json.Core.0.
|
|
3
|
+
import { Decoder$1, IEncodable } from '../fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js';
|
|
4
4
|
import { OntologyAnnotation } from '../Core/OntologyAnnotation.js';
|
|
5
5
|
import { ArcAssay } from '../Core/ArcTypes.js';
|
|
6
6
|
import { IMap } from '@fable-org/fable-library-js/Util.js';
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { ofArray, choose, singleton, empty } from '../../node_modules/@fable-org/fable-library-js/List.js';
|
|
2
|
+
import { defaultArg, bind, map, value, unwrap } from '../../node_modules/@fable-org/fable-library-js/Option.js';
|
|
3
|
+
import { tryInclude, tryIncludeSeq, tryIncludeList } from './Encode.js';
|
|
4
|
+
import { OntologyAnnotation_ISAJson_decoder, OntologyAnnotation_decoder, OntologyAnnotation_ROCrate_decoderPropertyValue, OntologyAnnotation_ROCrate_decoderDefinedTerm, OntologyAnnotation_encoder, OntologyAnnotation_ROCrate_encoderPropertyValue, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ISAJson_encoder } from './OntologyAnnotation.js';
|
|
5
|
+
import { decoder as decoder$2, decoderCompressed as decoderCompressed$2, encoder as encoder$1, encoderCompressed as encoderCompressed$2 } from './DataMap/DataMap.js';
|
|
6
|
+
import { decoder as decoder$1, decoderCompressed as decoderCompressed$1, encoder as encoder$2, encoderCompressed as encoderCompressed$1 } from './Table/ArcTable.js';
|
|
7
|
+
import { decoder as decoder$3, ROCrate_decoder as ROCrate_decoder$2, encoder as encoder$3, ROCrate_encoder as ROCrate_encoder$1 } from './Person.js';
|
|
8
|
+
import { ISAJson_decoder as ISAJson_decoder$2, decoder as decoder$4, ROCrate_decoder as ROCrate_decoder$3, encoder as encoder$4, ROCrate_encoder as ROCrate_encoder$3, ISAJson_encoder as ISAJson_encoder$3 } from './Comment.js';
|
|
9
|
+
import { Comment$ } from '../Core/Comment.js';
|
|
10
|
+
import { tryPick, length, map as map$2, toList, delay, append, empty as empty$1, singleton as singleton$1 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
|
|
11
|
+
import { ArcAssay } from '../Core/ArcTypes.js';
|
|
12
|
+
import { string, list, resizeArray, map as map$1, object } from '../fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js';
|
|
13
|
+
import { replace } from '../../node_modules/@fable-org/fable-library-js/String.js';
|
|
14
|
+
import { createMissingIdentifier, Assay_tryIdentifierFromFileName, Assay_fileNameFromIdentifier } from '../Core/Helper/Identifier.js';
|
|
15
|
+
import { ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D, JsonTypes_decomposeTechnologyPlatform, ARCtrl_ArcTables__ArcTables_GetProcesses, JsonTypes_composeTechnologyPlatform } from '../Core/Conversion.js';
|
|
16
|
+
import { getData, getUnits, getCharacteristics } from '../Core/Process/ProcessSequence.js';
|
|
17
|
+
import { list as list$1 } from '../fable_modules/Thoth.Json.Core.0.7.0/Encode.fs.js';
|
|
18
|
+
import { ISAJson_encoder as ISAJson_encoder$1, ROCrate_encoder as ROCrate_encoder$4 } from './Data.js';
|
|
19
|
+
import { ISAJson_decoder as ISAJson_decoder$1, ROCrate_decoder as ROCrate_decoder$1, ROCrate_encoder as ROCrate_encoder$2, ISAJson_encoder as ISAJson_encoder$2 } from './Process/Process.js';
|
|
20
|
+
import { context_jsonvalue } from './context/rocrate/isa_assay_context.js';
|
|
21
|
+
import { encoder as encoder$5 } from './Process/MaterialAttribute.js';
|
|
22
|
+
import { encoder as encoder$6 } from './Process/AssayMaterials.js';
|
|
23
|
+
import { ResizeArray_filter, Option_fromValueWithDefault } from '../Core/Helper/Collections.js';
|
|
24
|
+
import { encode } from './IDTable.js';
|
|
25
|
+
import { Decode_objectNoAdditionalProperties } from './Decode.js';
|
|
26
|
+
|
|
27
|
+
function encoder(assay) {
|
|
28
|
+
let value;
|
|
29
|
+
const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["Identifier", (value = assay.Identifier, {
|
|
30
|
+
Encode(helpers) {
|
|
31
|
+
return helpers.encodeString(value);
|
|
32
|
+
}
|
|
33
|
+
})], tryInclude("Title", (value_1) => ({
|
|
34
|
+
Encode(helpers_1) {
|
|
35
|
+
return helpers_1.encodeString(value_1);
|
|
36
|
+
}
|
|
37
|
+
}), assay.Title), tryInclude("Description", (value_3) => ({
|
|
38
|
+
Encode(helpers_2) {
|
|
39
|
+
return helpers_2.encodeString(value_3);
|
|
40
|
+
}
|
|
41
|
+
}), assay.Description), tryInclude("MeasurementType", OntologyAnnotation_encoder, assay.MeasurementType), tryInclude("TechnologyType", OntologyAnnotation_encoder, assay.TechnologyType), tryInclude("TechnologyPlatform", OntologyAnnotation_encoder, assay.TechnologyPlatform), tryInclude("DataMap", encoder$1, assay.DataMap), tryIncludeSeq("Tables", encoder$2, assay.Tables), tryIncludeSeq("Performers", encoder$3, assay.Performers), tryIncludeSeq("Comments", encoder$4, assay.Comments)]));
|
|
42
|
+
return {
|
|
43
|
+
Encode(helpers_3) {
|
|
44
|
+
const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_3)], values_1);
|
|
45
|
+
return helpers_3.encodeObject(arg);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const decoder = object((get$) => {
|
|
50
|
+
let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, objectArg_5, arg_13, objectArg_6, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9;
|
|
51
|
+
return ArcAssay.create((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("MeasurementType", OntologyAnnotation_decoder))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("TechnologyType", OntologyAnnotation_decoder))), unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("TechnologyPlatform", OntologyAnnotation_decoder))), unwrap((arg_13 = resizeArray(decoder$1), objectArg_6 = get$.Optional, objectArg_6.Field("Tables", arg_13))), unwrap((objectArg_7 = get$.Optional, objectArg_7.Field("DataMap", decoder$2))), unwrap((arg_17 = resizeArray(decoder$3), objectArg_8 = get$.Optional, objectArg_8.Field("Performers", arg_17))), unwrap((arg_19 = resizeArray(decoder$4), objectArg_9 = get$.Optional, objectArg_9.Field("Comments", arg_19))));
|
|
52
|
+
});
|
|
53
|
+
function encoderCompressed(stringTable, oaTable, cellTable, assay) {
|
|
54
|
+
let value;
|
|
55
|
+
const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["Identifier", (value = assay.Identifier, {
|
|
56
|
+
Encode(helpers) {
|
|
57
|
+
return helpers.encodeString(value);
|
|
58
|
+
}
|
|
59
|
+
})], tryInclude("Title", (value_1) => ({
|
|
60
|
+
Encode(helpers_1) {
|
|
61
|
+
return helpers_1.encodeString(value_1);
|
|
62
|
+
}
|
|
63
|
+
}), assay.Title), tryInclude("Description", (value_3) => ({
|
|
64
|
+
Encode(helpers_2) {
|
|
65
|
+
return helpers_2.encodeString(value_3);
|
|
66
|
+
}
|
|
67
|
+
}), assay.Description), tryInclude("MeasurementType", OntologyAnnotation_encoder, assay.MeasurementType), tryInclude("TechnologyType", OntologyAnnotation_encoder, assay.TechnologyType), tryInclude("TechnologyPlatform", OntologyAnnotation_encoder, assay.TechnologyPlatform), tryIncludeSeq("Tables", (table) => encoderCompressed$1(stringTable, oaTable, cellTable, table), assay.Tables), tryInclude("DataMap", (dm) => encoderCompressed$2(stringTable, oaTable, cellTable, dm), assay.DataMap), tryIncludeSeq("Performers", encoder$3, assay.Performers), tryIncludeSeq("Comments", encoder$4, assay.Comments)]));
|
|
68
|
+
return {
|
|
69
|
+
Encode(helpers_3) {
|
|
70
|
+
const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_3)], values_1);
|
|
71
|
+
return helpers_3.encodeObject(arg);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function decoderCompressed(stringTable, oaTable, cellTable) {
|
|
76
|
+
return object((get$) => {
|
|
77
|
+
let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9;
|
|
78
|
+
return ArcAssay.create((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("MeasurementType", OntologyAnnotation_decoder))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("TechnologyType", OntologyAnnotation_decoder))), unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("TechnologyPlatform", OntologyAnnotation_decoder))), unwrap((arg_13 = resizeArray(decoderCompressed$1(stringTable, oaTable, cellTable)), objectArg_6 = get$.Optional, objectArg_6.Field("Tables", arg_13))), unwrap((arg_15 = decoderCompressed$2(), objectArg_7 = get$.Optional, objectArg_7.Field("DataMap", arg_15))), unwrap((arg_17 = resizeArray(decoder$3), objectArg_8 = get$.Optional, objectArg_8.Field("Performers", arg_17))), unwrap((arg_19 = resizeArray(decoder$4), objectArg_9 = get$.Optional, objectArg_9.Field("Comments", arg_19))));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function ROCrate_genID(a) {
|
|
82
|
+
const matchValue = a.Identifier;
|
|
83
|
+
if (matchValue === "") {
|
|
84
|
+
return "#EmptyAssay";
|
|
85
|
+
} else {
|
|
86
|
+
return `assays/${replace(matchValue, " ", "_")}/`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function ROCrate_encoder(studyName, a) {
|
|
90
|
+
let value, value_3, assayName;
|
|
91
|
+
const fileName = Assay_fileNameFromIdentifier(a.Identifier);
|
|
92
|
+
const processes = ARCtrl_ArcTables__ArcTables_GetProcesses(a);
|
|
93
|
+
const dataFiles = getData(processes);
|
|
94
|
+
const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["@id", (value = ROCrate_genID(a), {
|
|
95
|
+
Encode(helpers) {
|
|
96
|
+
return helpers.encodeString(value);
|
|
97
|
+
}
|
|
98
|
+
})], ["@type", list$1(singleton({
|
|
99
|
+
Encode(helpers_1) {
|
|
100
|
+
return helpers_1.encodeString("Assay");
|
|
101
|
+
}
|
|
102
|
+
}))], ["additionalType", {
|
|
103
|
+
Encode(helpers_2) {
|
|
104
|
+
return helpers_2.encodeString("Assay");
|
|
105
|
+
}
|
|
106
|
+
}], ["identifier", (value_3 = a.Identifier, {
|
|
107
|
+
Encode(helpers_3) {
|
|
108
|
+
return helpers_3.encodeString(value_3);
|
|
109
|
+
}
|
|
110
|
+
})], ["filename", {
|
|
111
|
+
Encode(helpers_4) {
|
|
112
|
+
return helpers_4.encodeString(fileName);
|
|
113
|
+
}
|
|
114
|
+
}], tryInclude("title", (value_5) => ({
|
|
115
|
+
Encode(helpers_5) {
|
|
116
|
+
return helpers_5.encodeString(value_5);
|
|
117
|
+
}
|
|
118
|
+
}), a.Title), tryInclude("description", (value_7) => ({
|
|
119
|
+
Encode(helpers_6) {
|
|
120
|
+
return helpers_6.encodeString(value_7);
|
|
121
|
+
}
|
|
122
|
+
}), a.Description), tryInclude("measurementType", OntologyAnnotation_ROCrate_encoderPropertyValue, a.MeasurementType), tryInclude("technologyType", OntologyAnnotation_ROCrate_encoderDefinedTerm, a.TechnologyType), tryInclude("technologyPlatform", OntologyAnnotation_ROCrate_encoderDefinedTerm, a.TechnologyPlatform), tryIncludeSeq("performers", ROCrate_encoder$1, a.Performers), tryIncludeList("dataFiles", ROCrate_encoder$4, dataFiles), tryIncludeList("processSequence", (assayName = a.Identifier, (oa_5) => ROCrate_encoder$2(studyName, assayName, oa_5)), processes), tryIncludeSeq("comments", ROCrate_encoder$3, a.Comments), ["@context", context_jsonvalue]]));
|
|
123
|
+
return {
|
|
124
|
+
Encode(helpers_7) {
|
|
125
|
+
const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_7)], values_1);
|
|
126
|
+
return helpers_7.encodeObject(arg);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
const ROCrate_decoder = object((get$) => {
|
|
131
|
+
let objectArg, arg_3, objectArg_1, objectArg_2, objectArg_3, objectArg_4, objectArg_5, objectArg_6, arg_16, objectArg_7, arg_18, objectArg_8;
|
|
132
|
+
const identifier = defaultArg((objectArg = get$.Optional, objectArg.Field("identifier", string)), createMissingIdentifier());
|
|
133
|
+
const tables = map((arg_4) => {
|
|
134
|
+
const a = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_4);
|
|
135
|
+
return a.Tables;
|
|
136
|
+
}, (arg_3 = list(ROCrate_decoder$1), objectArg_1 = get$.Optional, objectArg_1.Field("processSequence", arg_3)));
|
|
137
|
+
return new ArcAssay(identifier, unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("title", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("description", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("measurementType", OntologyAnnotation_ROCrate_decoderPropertyValue))), unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("technologyType", OntologyAnnotation_ROCrate_decoderDefinedTerm))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("technologyPlatform", OntologyAnnotation_ROCrate_decoderDefinedTerm))), unwrap(tables), void 0, unwrap((arg_16 = resizeArray(ROCrate_decoder$2), objectArg_7 = get$.Optional, objectArg_7.Field("performers", arg_16))), unwrap((arg_18 = resizeArray(ROCrate_decoder$3), objectArg_8 = get$.Optional, objectArg_8.Field("comments", arg_18))));
|
|
138
|
+
});
|
|
139
|
+
function ISAJson_encoder(studyName, idMap, a) {
|
|
140
|
+
const f = (a_1) => {
|
|
141
|
+
let assayName;
|
|
142
|
+
const fileName = Assay_fileNameFromIdentifier(a_1.Identifier);
|
|
143
|
+
const processes = ARCtrl_ArcTables__ArcTables_GetProcesses(a_1);
|
|
144
|
+
const encodedUnits = tryIncludeList("unitCategories", (oa) => OntologyAnnotation_ISAJson_encoder(idMap, oa), getUnits(processes));
|
|
145
|
+
const encodedCharacteristics = tryIncludeList("characteristicCategories", (value_1) => encoder$5(idMap, value_1), getCharacteristics(processes));
|
|
146
|
+
const encodedMaterials = tryInclude("materials", (ps) => encoder$6(idMap, ps), Option_fromValueWithDefault(empty(), processes));
|
|
147
|
+
const encocedDataFiles = tryIncludeList("dataFiles", (oa_1) => ISAJson_encoder$1(idMap, oa_1), getData(processes));
|
|
148
|
+
getUnits(processes);
|
|
149
|
+
const comments = toList(delay(() => append(a_1.Comments.length > 0 ? a_1.Comments : empty$1(), delay(() => append(a_1.Title != null ? singleton$1(Comment$.create("title", value(a_1.Title))) : empty$1(), delay(() => a_1.Description != null ? singleton$1(Comment$.create("description", value(a_1.Description))) : empty$1()))))));
|
|
150
|
+
const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["filename", {
|
|
151
|
+
Encode(helpers) {
|
|
152
|
+
return helpers.encodeString(fileName);
|
|
153
|
+
}
|
|
154
|
+
}], tryInclude("@id", (value_5) => ({
|
|
155
|
+
Encode(helpers_1) {
|
|
156
|
+
return helpers_1.encodeString(value_5);
|
|
157
|
+
}
|
|
158
|
+
}), ROCrate_genID(a_1)), tryInclude("measurementType", (oa_2) => OntologyAnnotation_ISAJson_encoder(idMap, oa_2), a_1.MeasurementType), tryInclude("technologyType", (oa_3) => OntologyAnnotation_ISAJson_encoder(idMap, oa_3), a_1.TechnologyType), tryInclude("technologyPlatform", (value_7) => ({
|
|
159
|
+
Encode(helpers_2) {
|
|
160
|
+
return helpers_2.encodeString(value_7);
|
|
161
|
+
}
|
|
162
|
+
}), map(JsonTypes_composeTechnologyPlatform, a_1.TechnologyPlatform)), encocedDataFiles, encodedMaterials, encodedCharacteristics, encodedUnits, tryIncludeList("processSequence", (assayName = a_1.Identifier, (oa_4) => ISAJson_encoder$2(studyName, assayName, idMap, oa_4)), processes), tryIncludeSeq("comments", (comment) => ISAJson_encoder$3(idMap, comment), comments)]));
|
|
163
|
+
return {
|
|
164
|
+
Encode(helpers_3) {
|
|
165
|
+
const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_3)], values_1);
|
|
166
|
+
return helpers_3.encodeObject(arg);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
if (idMap != null) {
|
|
171
|
+
return encode(ROCrate_genID, f, a, value(idMap));
|
|
172
|
+
} else {
|
|
173
|
+
return f(a);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const ISAJson_allowedFields = ofArray(["@id", "filename", "measurementType", "technologyType", "technologyPlatform", "dataFiles", "materials", "characteristicCategories", "unitCategories", "processSequence", "comments", "@type", "@context"]);
|
|
177
|
+
const ISAJson_decoder = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, (get$) => {
|
|
178
|
+
let objectArg, arg_3, objectArg_1, objectArg_3, objectArg_4, arg_12, objectArg_5;
|
|
179
|
+
const identifier = defaultArg(bind(Assay_tryIdentifierFromFileName, (objectArg = get$.Optional, objectArg.Field("filename", string))), createMissingIdentifier());
|
|
180
|
+
const tables = map((arg_4) => {
|
|
181
|
+
const a = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_4);
|
|
182
|
+
return a.Tables;
|
|
183
|
+
}, (arg_3 = list(ISAJson_decoder$1), objectArg_1 = get$.Optional, objectArg_1.Field("processSequence", arg_3)));
|
|
184
|
+
let comments;
|
|
185
|
+
const arg_6 = resizeArray(ISAJson_decoder$2);
|
|
186
|
+
const objectArg_2 = get$.Optional;
|
|
187
|
+
comments = objectArg_2.Field("comments", arg_6);
|
|
188
|
+
const title = bind((c) => tryPick((x) => {
|
|
189
|
+
if (x.Name != null && value(x.Name) === "title") {
|
|
190
|
+
return x.Value;
|
|
191
|
+
} else {
|
|
192
|
+
return void 0;
|
|
193
|
+
}
|
|
194
|
+
}, c), comments);
|
|
195
|
+
const description = bind((c_1) => tryPick((x_1) => {
|
|
196
|
+
if (x_1.Name != null && value(x_1.Name) === "description") {
|
|
197
|
+
return x_1.Value;
|
|
198
|
+
} else {
|
|
199
|
+
return void 0;
|
|
200
|
+
}
|
|
201
|
+
}, c_1), comments);
|
|
202
|
+
const comments_1 = bind((c_2) => {
|
|
203
|
+
const matchValue = ResizeArray_filter((x_2) => {
|
|
204
|
+
if (x_2.Name == null) {
|
|
205
|
+
return true;
|
|
206
|
+
} else if (value(x_2.Name) !== "title") {
|
|
207
|
+
return value(x_2.Name) !== "description";
|
|
208
|
+
} else {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
}, c_2);
|
|
212
|
+
if (length(matchValue) === 0) {
|
|
213
|
+
return void 0;
|
|
214
|
+
} else {
|
|
215
|
+
return matchValue;
|
|
216
|
+
}
|
|
217
|
+
}, comments);
|
|
218
|
+
return new ArcAssay(identifier, unwrap(title), unwrap(description), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("measurementType", OntologyAnnotation_ISAJson_decoder))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("technologyType", OntologyAnnotation_ISAJson_decoder))), unwrap((arg_12 = map$1(JsonTypes_decomposeTechnologyPlatform, string), objectArg_5 = get$.Optional, objectArg_5.Field("technologyPlatform", arg_12))), unwrap(tables), void 0, void 0, unwrap(comments_1));
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
export { ISAJson_allowedFields, ISAJson_decoder, ISAJson_encoder, ROCrate_decoder, ROCrate_encoder, ROCrate_genID, decoder, decoderCompressed, encoder, encoderCompressed };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Option } from '@fable-org/fable-library-js/Option.js';
|
|
2
|
-
import { Decoder$1, IEncodable } from '../fable_modules/Thoth.Json.Core.0.
|
|
2
|
+
import { Decoder$1, IEncodable } from '../fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js';
|
|
3
3
|
import { Comment$ } from '../Core/Comment.js';
|
|
4
4
|
import { IMap } from '@fable-org/fable-library-js/Util.js';
|
|
5
5
|
export declare function encoder(comment: Comment$): IEncodable;
|