@nfdi4plants/arctrl 1.1.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.
Files changed (377) hide show
  1. package/ARC.js +53 -35
  2. package/{Contracts/Contracts.ARCtrl.js → Contract/ARC.js} +4 -2
  3. package/Contract/ArcAssay.js +102 -0
  4. package/Contract/ArcInvestigation.js +78 -0
  5. package/Contract/ArcStudy.js +102 -0
  6. package/Contract/Contract.js +3 -3
  7. package/{Contracts/Contracts.Git.js → Contract/Git.js} +5 -5
  8. package/{ISA/ISA/ArcTypes → Core}/ArcTypes.js +307 -295
  9. package/Core/Comment.js +97 -0
  10. package/{ISA/ISA/JsonTypes → Core}/CommentList.js +12 -18
  11. package/Core/Conversion.js +1056 -0
  12. package/Core/Helper/Collections.js +318 -0
  13. package/Core/Helper/HashCodes.js +39 -0
  14. package/{ISA/ISA → Core/Helper}/Identifier.js +67 -2
  15. package/{ISA/ISA → Core/Helper}/Regex.js +3 -3
  16. package/{SemVer.js → Core/Helper/SemVer.js} +8 -8
  17. package/{ISA/ISA/ArcTypes → Core}/IdentifierSetters.js +1 -1
  18. package/Core/OntologyAnnotation.js +186 -0
  19. package/Core/OntologySourceReference.js +92 -0
  20. package/Core/Person.js +194 -0
  21. package/Core/Process/ColumnIndex.js +248 -0
  22. package/Core/Process/Component.js +188 -0
  23. package/{ISA/ISA/JsonTypes → Core/Process}/Data.js +8 -8
  24. package/{ISA/ISA/JsonTypes → Core/Process}/DataFile.js +3 -3
  25. package/Core/Process/Factor.js +109 -0
  26. package/{ISA/ISA/JsonTypes → Core/Process}/FactorValue.js +32 -13
  27. package/{ISA/ISA/JsonTypes → Core/Process}/Material.js +9 -9
  28. package/{ISA/ISA/JsonTypes → Core/Process}/MaterialAttribute.js +17 -17
  29. package/{ISA/ISA/JsonTypes → Core/Process}/MaterialAttributeValue.js +35 -16
  30. package/{ISA/ISA/JsonTypes → Core/Process}/MaterialType.js +3 -3
  31. package/{ISA/ISA/JsonTypes → Core/Process}/Process.js +46 -79
  32. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessInput.js +42 -42
  33. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessOutput.js +36 -36
  34. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessParameterValue.js +26 -7
  35. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessSequence.js +21 -25
  36. package/{ISA/ISA/JsonTypes → Core/Process}/Protocol.js +26 -57
  37. package/{ISA/ISA/JsonTypes → Core/Process}/ProtocolParameter.js +10 -10
  38. package/{ISA/ISA/JsonTypes → Core/Process}/Sample.js +12 -12
  39. package/{ISA/ISA/JsonTypes → Core/Process}/Source.js +9 -9
  40. package/{ISA/ISA/JsonTypes → Core/Process}/Value.js +24 -31
  41. package/Core/Publication.js +116 -0
  42. package/{ISA/ISA/ArcTypes → Core/Table}/ArcTable.js +49 -155
  43. package/Core/Table/ArcTableAux.js +532 -0
  44. package/{ISA/ISA/ArcTypes → Core/Table}/ArcTables.js +20 -32
  45. package/{ISA/ISA/ArcTypes → Core/Table}/CompositeCell.js +19 -76
  46. package/{ISA/ISA/ArcTypes → Core/Table}/CompositeColumn.js +9 -8
  47. package/{ISA/ISA/ArcTypes → Core/Table}/CompositeHeader.js +14 -34
  48. package/{Templates → Core}/Template.js +16 -17
  49. package/Core/Templates.js +84 -0
  50. package/FileSystem/Commit.js +2 -2
  51. package/FileSystem/FileSystem.js +4 -4
  52. package/FileSystem/FileSystemTree.js +46 -8
  53. package/FileSystem/Path.js +10 -2
  54. package/Json/ARC.js +25 -0
  55. package/Json/Assay.js +202 -0
  56. package/Json/Comment.js +130 -0
  57. package/Json/ConverterOptions.js +18 -0
  58. package/Json/Decode.js +128 -0
  59. package/Json/Encode.js +45 -0
  60. package/Json/Investigation.js +220 -0
  61. package/Json/OntologyAnnotation.js +169 -0
  62. package/Json/OntologySourceReference.js +122 -0
  63. package/Json/Person.js +250 -0
  64. package/Json/Process/AssayMaterials.js +22 -0
  65. package/Json/Process/Component.js +79 -0
  66. package/Json/Process/Data.js +102 -0
  67. package/Json/Process/DataFile.js +81 -0
  68. package/Json/Process/Factor.js +48 -0
  69. package/Json/Process/FactorValue.js +53 -0
  70. package/Json/Process/Material.js +107 -0
  71. package/Json/Process/MaterialAttribute.js +45 -0
  72. package/Json/Process/MaterialAttributeValue.js +70 -0
  73. package/Json/Process/MaterialType.js +60 -0
  74. package/Json/Process/Process.js +107 -0
  75. package/Json/Process/ProcessInput.js +59 -0
  76. package/Json/Process/ProcessOutput.js +71 -0
  77. package/Json/Process/ProcessParameterValue.js +69 -0
  78. package/Json/Process/ProcessSequence.js +53 -0
  79. package/Json/Process/PropertyValue.js +82 -0
  80. package/Json/Process/Protocol.js +147 -0
  81. package/Json/Process/ProtocolParameter.js +45 -0
  82. package/Json/Process/Sample.js +134 -0
  83. package/Json/Process/Source.js +101 -0
  84. package/Json/Process/StudyMaterials.js +24 -0
  85. package/Json/Process/Value.js +42 -0
  86. package/Json/Publication.js +142 -0
  87. package/Json/StringTable.js +44 -0
  88. package/Json/Study.js +306 -0
  89. package/Json/Table/ArcTable.js +223 -0
  90. package/Json/Table/CellTable.js +40 -0
  91. package/Json/Table/CompositeCell.js +65 -0
  92. package/Json/Table/CompositeHeader.js +57 -0
  93. package/Json/Table/Compression.js +38 -0
  94. package/Json/Table/IOType.js +37 -0
  95. package/Json/Table/OATable.js +40 -0
  96. package/Json/Table/Templates.js +107 -0
  97. package/Json/context/rocrate/isa_assay_context.js +32 -0
  98. package/Json/context/rocrate/isa_comment_context.js +23 -0
  99. package/Json/context/rocrate/isa_component_context.js +24 -0
  100. package/Json/context/rocrate/isa_data_context.js +25 -0
  101. package/Json/context/rocrate/isa_factor_context.js +25 -0
  102. package/Json/context/rocrate/isa_factor_value_context.js +23 -0
  103. package/Json/context/rocrate/isa_investigation_context.js +33 -0
  104. package/Json/context/rocrate/isa_material_attribute_context.js +23 -0
  105. package/Json/context/rocrate/isa_material_attribute_value_context.js +23 -0
  106. package/Json/context/rocrate/isa_material_context.js +26 -0
  107. package/Json/context/rocrate/isa_ontology_annotation_context.js +23 -0
  108. package/Json/context/rocrate/isa_ontology_source_reference_context.js +26 -0
  109. package/Json/context/rocrate/isa_organization_context.js +22 -0
  110. package/Json/context/rocrate/isa_person_context.js +33 -0
  111. package/Json/context/rocrate/isa_process_context.js +29 -0
  112. package/Json/context/rocrate/isa_process_parameter_value_context.js +23 -0
  113. package/Json/context/rocrate/isa_protocol_context.js +28 -0
  114. package/Json/context/rocrate/isa_protocol_parameter_context.js +23 -0
  115. package/Json/context/rocrate/isa_publication_context.js +25 -0
  116. package/Json/context/rocrate/isa_sample_context.js +24 -0
  117. package/Json/context/rocrate/isa_source_context.js +25 -0
  118. package/Json/context/rocrate/isa_study_context.js +40 -0
  119. package/Json/context/rocrate/property_value_context.js +4 -0
  120. package/Json/context/rocrate/rocrate_context.js +23 -0
  121. package/Json.js +193 -0
  122. package/README.md +50 -12
  123. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/ArcTable.js +12 -12
  124. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeCell.js +8 -7
  125. package/Spreadsheet/AnnotationTable/CompositeColumn.js +59 -0
  126. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeHeader.js +10 -10
  127. package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcAssay.js +11 -11
  128. package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcInvestigation.js +34 -37
  129. package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcStudy.js +12 -12
  130. package/{ISA/ISA.Spreadsheet → Spreadsheet}/CollectionAux.js +8 -8
  131. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Assays.js +32 -32
  132. package/Spreadsheet/Metadata/Comment.js +71 -0
  133. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Contacts.js +28 -30
  134. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Conversions.js +22 -16
  135. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/DesignDescriptors.js +1 -1
  136. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Factors.js +23 -22
  137. package/Spreadsheet/Metadata/OntologyAnnotation.js +64 -0
  138. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/OntologySourceReference.js +22 -24
  139. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Protocols.js +17 -17
  140. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Publication.js +29 -31
  141. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/SparseTable.js +34 -28
  142. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Study.js +38 -40
  143. package/{Templates/Template.Spreadsheet.js → Spreadsheet/Template.js} +31 -31
  144. package/Template.Web.js +27 -0
  145. package/WebRequest/WebRequest.Node.js +15 -0
  146. package/WebRequest/WebRequest.js +10 -29
  147. package/Xlsx.js +85 -0
  148. package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +7 -7
  149. package/fable_modules/Fable.Promise.2.2.2/Promise.fs.js +3 -3
  150. package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +8 -8
  151. package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +2 -2
  152. package/fable_modules/FsSpreadsheet.5.1.3/Cells/FsCell.fs.js +14 -14
  153. package/fable_modules/FsSpreadsheet.5.1.3/Cells/FsCellsCollection.fs.js +6 -6
  154. package/fable_modules/FsSpreadsheet.5.1.3/DSL/CellBuilder.fs.js +4 -4
  155. package/fable_modules/FsSpreadsheet.5.1.3/DSL/ColumnBuilder.fs.js +3 -3
  156. package/fable_modules/FsSpreadsheet.5.1.3/DSL/DSL.fs.js +2 -2
  157. package/fable_modules/FsSpreadsheet.5.1.3/DSL/Expression.fs.js +1 -1
  158. package/fable_modules/FsSpreadsheet.5.1.3/DSL/RowBuilder.fs.js +3 -3
  159. package/fable_modules/FsSpreadsheet.5.1.3/DSL/SheetBuilder.fs.js +3 -3
  160. package/fable_modules/FsSpreadsheet.5.1.3/DSL/TableBuilder.fs.js +3 -3
  161. package/fable_modules/FsSpreadsheet.5.1.3/DSL/Transform.fs.js +6 -6
  162. package/fable_modules/FsSpreadsheet.5.1.3/DSL/Types.fs.js +4 -4
  163. package/fable_modules/FsSpreadsheet.5.1.3/DSL/WorkbookBuilder.fs.js +3 -3
  164. package/fable_modules/FsSpreadsheet.5.1.3/FsAddress.fs.js +8 -8
  165. package/fable_modules/FsSpreadsheet.5.1.3/FsColumn.fs.js +3 -3
  166. package/fable_modules/FsSpreadsheet.5.1.3/FsRow.fs.js +3 -3
  167. package/fable_modules/FsSpreadsheet.5.1.3/FsWorkbook.fs.js +6 -6
  168. package/fable_modules/FsSpreadsheet.5.1.3/FsWorksheet.fs.js +9 -9
  169. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRange.fs.js +3 -3
  170. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeAddress.fs.js +4 -3
  171. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeBase.fs.js +3 -3
  172. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeColumn.fs.js +3 -3
  173. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeRow.fs.js +1 -1
  174. package/fable_modules/FsSpreadsheet.5.1.3/SheetBuilder.fs.js +8 -8
  175. package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTable.fs.js +7 -7
  176. package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTableField.fs.js +4 -4
  177. package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTableRow.fs.js +1 -1
  178. package/fable_modules/Thoth.Json.Core.0.2.1/Decode.fs +1390 -0
  179. package/fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js +1230 -0
  180. package/fable_modules/Thoth.Json.Core.0.2.1/Encode.fs +233 -0
  181. package/fable_modules/Thoth.Json.Core.0.2.1/Encode.fs.js +113 -0
  182. package/fable_modules/Thoth.Json.Core.0.2.1/Thoth.Json.Core.fableproj +28 -0
  183. package/fable_modules/Thoth.Json.Core.0.2.1/Types.fs +76 -0
  184. package/fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js +33 -0
  185. package/fable_modules/Thoth.Json.Core.0.2.1/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  186. package/fable_modules/{Thoth.Json.10.1.0/obj/Release/netstandard2.0/Thoth.Json.AssemblyInfo.fs → Thoth.Json.Core.0.2.1/obj/Debug/netstandard2.0/Thoth.Json.Core.AssemblyInfo.fs} +8 -7
  187. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs +79 -0
  188. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js +85 -0
  189. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs +32 -0
  190. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js +45 -0
  191. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Thoth.Json.JavaScript.fableproj +21 -0
  192. package/fable_modules/Thoth.Json.JavaScript.0.1.0/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  193. package/fable_modules/Thoth.Json.JavaScript.0.1.0/obj/Debug/netstandard2.0/Thoth.Json.JavaScript.AssemblyInfo.fs +18 -0
  194. package/fable_modules/Thoth.Json.JavaScript.0.1.0/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  195. package/fable_modules/Thoth.Json.JavaScript.0.1.0/obj/Release/netstandard2.0/Thoth.Json.JavaScript.AssemblyInfo.fs +19 -0
  196. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Array.d.ts +4 -1
  197. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Array.js +124 -86
  198. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Boolean.js +2 -2
  199. package/fable_modules/fable-library-js.4.16.0/CHANGELOG.md +47 -0
  200. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Choice.d.ts +0 -17
  201. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Choice.js +0 -43
  202. package/fable_modules/fable-library-js.4.16.0/ConditionalWeakTable.d.ts +9 -0
  203. package/fable_modules/fable-library-js.4.16.0/ConditionalWeakTable.js +21 -0
  204. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Date.js +340 -42
  205. package/fable_modules/fable-library-js.4.16.0/FSharp.Core.CompilerServices.d.ts +12 -0
  206. package/fable_modules/fable-library-js.4.16.0/FSharp.Core.CompilerServices.js +27 -0
  207. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/List.js +3 -3
  208. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Map.js +3 -3
  209. package/fable_modules/fable-library-js.4.16.0/MapUtil.d.ts +12 -0
  210. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MapUtil.js +15 -0
  211. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MutableMap.js +2 -1
  212. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MutableSet.js +2 -1
  213. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Random.js +7 -7
  214. package/fable_modules/fable-library-js.4.16.0/Result.d.ts +37 -0
  215. package/fable_modules/fable-library-js.4.16.0/Result.js +165 -0
  216. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Set.js +2 -2
  217. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/String.d.ts +1 -0
  218. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/String.js +8 -5
  219. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/System.Collections.Generic.d.ts +15 -7
  220. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/System.Collections.Generic.js +46 -36
  221. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/System.Text.d.ts +9 -1
  222. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/System.Text.js +60 -8
  223. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Util.d.ts +6 -3
  224. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Util.js +2 -13
  225. package/fable_modules/fable-library-js.4.16.0/big.d.ts +338 -0
  226. package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/package.json +4 -3
  227. package/fable_modules/project_cracked.json +1 -1
  228. package/index.js +14 -12
  229. package/package.json +1 -1
  230. package/Contracts/Contracts.ArcTypes.js +0 -268
  231. package/FileSystemTree.js +0 -51
  232. package/ISA/ISA/ArcTypes/ArcTableAux.js +0 -1155
  233. package/ISA/ISA/ArcTypes/CompositeRow.js +0 -111
  234. package/ISA/ISA/Builder/Types.js +0 -243
  235. package/ISA/ISA/Fable.js +0 -123
  236. package/ISA/ISA/Helper.js +0 -503
  237. package/ISA/ISA/JsonTypes/Assay.js +0 -620
  238. package/ISA/ISA/JsonTypes/AssayMaterials.js +0 -39
  239. package/ISA/ISA/JsonTypes/ColumnIndex.js +0 -246
  240. package/ISA/ISA/JsonTypes/Comment.js +0 -58
  241. package/ISA/ISA/JsonTypes/Component.js +0 -165
  242. package/ISA/ISA/JsonTypes/Factor.js +0 -128
  243. package/ISA/ISA/JsonTypes/Investigation.js +0 -204
  244. package/ISA/ISA/JsonTypes/OntologyAnnotation.js +0 -196
  245. package/ISA/ISA/JsonTypes/OntologySourceReference.js +0 -85
  246. package/ISA/ISA/JsonTypes/Person.js +0 -137
  247. package/ISA/ISA/JsonTypes/Publication.js +0 -105
  248. package/ISA/ISA/JsonTypes/Study.js +0 -942
  249. package/ISA/ISA/JsonTypes/StudyMaterials.js +0 -45
  250. package/ISA/ISA/UIHelper.js +0 -19
  251. package/ISA/ISA.Json/ArcTypes/ArcAssay.js +0 -282
  252. package/ISA/ISA.Json/ArcTypes/ArcInvestigation.js +0 -93
  253. package/ISA/ISA.Json/ArcTypes/ArcStudy.js +0 -170
  254. package/ISA/ISA.Json/ArcTypes/ArcTable.js +0 -178
  255. package/ISA/ISA.Json/ArcTypes/CellTable.js +0 -46
  256. package/ISA/ISA.Json/ArcTypes/CompositeCell.js +0 -77
  257. package/ISA/ISA.Json/ArcTypes/CompositeHeader.js +0 -82
  258. package/ISA/ISA.Json/ArcTypes/IOType.js +0 -35
  259. package/ISA/ISA.Json/ArcTypes/OATable.js +0 -48
  260. package/ISA/ISA.Json/Assay.js +0 -105
  261. package/ISA/ISA.Json/Comment.js +0 -84
  262. package/ISA/ISA.Json/ConverterOptions.js +0 -33
  263. package/ISA/ISA.Json/Data.js +0 -271
  264. package/ISA/ISA.Json/Decode.js +0 -46
  265. package/ISA/ISA.Json/Factor.js +0 -194
  266. package/ISA/ISA.Json/GEncode.js +0 -15
  267. package/ISA/ISA.Json/Investigation.js +0 -114
  268. package/ISA/ISA.Json/Material.js +0 -233
  269. package/ISA/ISA.Json/Ontology.js +0 -223
  270. package/ISA/ISA.Json/Person.js +0 -204
  271. package/ISA/ISA.Json/Process.js +0 -291
  272. package/ISA/ISA.Json/Protocol.js +0 -242
  273. package/ISA/ISA.Json/Publication.js +0 -92
  274. package/ISA/ISA.Json/StringTable.js +0 -43
  275. package/ISA/ISA.Json/Study.js +0 -212
  276. package/ISA/ISA.Json/Validation/Fable.js +0 -69
  277. package/ISA/ISA.Json/Validation/JsonSchemaValidation.js +0 -88
  278. package/ISA/ISA.Json/Validation/ValidationResult.js +0 -45
  279. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeColumn.js +0 -59
  280. package/ISA/ISA.Spreadsheet/Metadata/Comment.js +0 -60
  281. package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +0 -65
  282. package/Path.js +0 -10
  283. package/Templates/Template.Json.js +0 -83
  284. package/Templates/Template.Web.js +0 -27
  285. package/Templates/Templates.js +0 -82
  286. package/fable_modules/Thoth.Json.10.1.0/Decode.fs +0 -1366
  287. package/fable_modules/Thoth.Json.10.1.0/Decode.fs.js +0 -1798
  288. package/fable_modules/Thoth.Json.10.1.0/Encode.fs +0 -621
  289. package/fable_modules/Thoth.Json.10.1.0/Encode.fs.js +0 -472
  290. package/fable_modules/Thoth.Json.10.1.0/Extra.fs +0 -31
  291. package/fable_modules/Thoth.Json.10.1.0/Extra.fs.js +0 -8
  292. package/fable_modules/Thoth.Json.10.1.0/Thoth.Json.fableproj +0 -30
  293. package/fable_modules/Thoth.Json.10.1.0/Types.fs +0 -59
  294. package/fable_modules/Thoth.Json.10.1.0/Types.fs.js +0 -98
  295. package/fable_modules/Thoth.Json.10.1.0/package.json +0 -5
  296. package/fable_modules/fable-library.4.5.0/CHANGELOG.md +0 -11
  297. package/fable_modules/fable-library.4.5.0/MapUtil.d.ts +0 -10
  298. /package/{ISA/ISA/JsonTypes → Core}/URI.js +0 -0
  299. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Async.d.ts +0 -0
  300. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Async.js +0 -0
  301. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/AsyncBuilder.d.ts +0 -0
  302. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/AsyncBuilder.js +0 -0
  303. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/BigInt.d.ts +0 -0
  304. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/BigInt.js +0 -0
  305. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/BitConverter.d.ts +0 -0
  306. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/BitConverter.js +0 -0
  307. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Boolean.d.ts +0 -0
  308. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Char.d.ts +0 -0
  309. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Char.js +0 -0
  310. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Date.d.ts +0 -0
  311. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/DateOffset.d.ts +0 -0
  312. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/DateOffset.js +0 -0
  313. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/DateOnly.d.ts +0 -0
  314. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/DateOnly.js +0 -0
  315. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Decimal.d.ts +0 -0
  316. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Decimal.js +0 -0
  317. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Double.d.ts +0 -0
  318. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Double.js +0 -0
  319. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Encoding.d.ts +0 -0
  320. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Encoding.js +0 -0
  321. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Event.d.ts +0 -0
  322. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Event.js +0 -0
  323. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/FSharp.Collections.d.ts +0 -0
  324. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/FSharp.Collections.js +0 -0
  325. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/FSharp.Core.d.ts +0 -0
  326. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/FSharp.Core.js +0 -0
  327. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Global.d.ts +0 -0
  328. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Global.js +0 -0
  329. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Guid.d.ts +0 -0
  330. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Guid.js +0 -0
  331. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Int32.d.ts +0 -0
  332. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Int32.js +0 -0
  333. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/List.d.ts +0 -0
  334. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Long.d.ts +0 -0
  335. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Long.js +0 -0
  336. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MailboxProcessor.d.ts +0 -0
  337. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MailboxProcessor.js +0 -0
  338. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Map.d.ts +0 -0
  339. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MutableMap.d.ts +0 -0
  340. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/MutableSet.d.ts +0 -0
  341. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Native.d.ts +0 -0
  342. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Native.js +0 -0
  343. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Numeric.d.ts +0 -0
  344. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Numeric.js +0 -0
  345. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Observable.d.ts +0 -0
  346. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Observable.js +0 -0
  347. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Option.d.ts +0 -0
  348. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Option.js +0 -0
  349. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/README.md +0 -0
  350. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Random.d.ts +0 -0
  351. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Range.d.ts +0 -0
  352. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Range.js +0 -0
  353. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Reflection.d.ts +0 -0
  354. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Reflection.js +0 -0
  355. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/RegExp.d.ts +0 -0
  356. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/RegExp.js +0 -0
  357. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Seq.d.ts +0 -0
  358. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Seq.js +0 -0
  359. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Seq2.d.ts +0 -0
  360. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Seq2.js +0 -0
  361. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Set.d.ts +0 -0
  362. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/SystemException.d.ts +0 -0
  363. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/SystemException.js +0 -0
  364. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/TimeOnly.d.ts +0 -0
  365. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/TimeOnly.js +0 -0
  366. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/TimeSpan.d.ts +0 -0
  367. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/TimeSpan.js +0 -0
  368. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Timer.d.ts +0 -0
  369. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Timer.js +0 -0
  370. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Types.d.ts +0 -0
  371. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Types.js +0 -0
  372. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Unicode.13.0.0.d.ts +0 -0
  373. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Unicode.13.0.0.js +0 -0
  374. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Uri.d.ts +0 -0
  375. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/Uri.js +0 -0
  376. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/lib/big.d.ts +0 -0
  377. /package/fable_modules/{fable-library.4.5.0 → fable-library-js.4.16.0}/lib/big.js +0 -0
@@ -0,0 +1,220 @@
1
+ import { empty, unzip, ofArray, choose } from "../fable_modules/fable-library-js.4.16.0/List.js";
2
+ import { stringHash, equals } from "../fable_modules/fable-library-js.4.16.0/Util.js";
3
+ import { Json } from "../fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js";
4
+ import { defaultSpaces, tryIncludeSeq, tryInclude } from "./Encode.js";
5
+ import { OntologySourceReference_ISAJson_decoder, OntologySourceReference_ISAJson_encoder, OntologySourceReference_ROCrate_decoder, OntologySourceReference_ROCrate_encoder, OntologySourceReference_decoder, OntologySourceReference_encoder } from "./OntologySourceReference.js";
6
+ import { Publication_ISAJson_decoder, Publication_ISAJson_encoder, Publication_ROCrate_decoder, Publication_ROCrate_encoder, Publication_decoder, Publication_encoder } from "./Publication.js";
7
+ import { Person_ISAJson_decoder, Person_ISAJson_encoder, Person_ROCrate_decoder, Person_ROCrate_encoder, Person_decoder, Person_encoder } from "./Person.js";
8
+ import { Assay_decoderCompressed, Assay_encoderCompressed, Assay_decoder, Assay_encoder } from "./Assay.js";
9
+ import { Study_ISAJson_decoder, Study_ISAJson_encoder, Study_ROCrate_decoder, Study_ROCrate_encoder, Study_decoderCompressed, Study_encoderCompressed, Study_decoder, Study_encoder } from "./Study.js";
10
+ import { Comment_ISAJson_decoder, Comment_ISAJson_encoder, Comment_ROCrate_decoder, Comment_ROCrate_encoder, Comment_decoder, Comment_encoder } from "./Comment.js";
11
+ import { list as list_1, string, object } from "../fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js";
12
+ import { ArcInvestigation } from "../Core/ArcTypes.js";
13
+ import { Decode_objectNoAdditionalProperties, Decode_resizeArray } from "./Decode.js";
14
+ import { context_jsonvalue } from "./context/rocrate/isa_investigation_context.js";
15
+ import { createMissingIdentifier } from "../Core/Helper/Identifier.js";
16
+ import { defaultArg } from "../fable_modules/fable-library-js.4.16.0/Option.js";
17
+ import { distinctBy } from "../fable_modules/fable-library-js.4.16.0/Seq2.js";
18
+ import { map, concat } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
19
+ import { context_jsonvalue as context_jsonvalue_1, conformsTo_jsonvalue } from "./context/rocrate/rocrate_context.js";
20
+ import { fromString } from "../fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js";
21
+ import { toFail, printf, toText } from "../fable_modules/fable-library-js.4.16.0/String.js";
22
+ import { toString } from "../fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js";
23
+ import { encode, decode } from "./Table/Compression.js";
24
+
25
+ export function Investigation_encoder(inv) {
26
+ return new Json(5, [choose((tupledArg) => {
27
+ const v = tupledArg[1];
28
+ if (equals(v, new Json(3, []))) {
29
+ return void 0;
30
+ }
31
+ else {
32
+ return [tupledArg[0], v];
33
+ }
34
+ }, ofArray([["Identifier", new Json(0, [inv.Identifier])], tryInclude("Title", (value_1) => (new Json(0, [value_1])), inv.Title), tryInclude("Description", (value_3) => (new Json(0, [value_3])), inv.Description), tryInclude("SubmissionDate", (value_5) => (new Json(0, [value_5])), inv.SubmissionDate), tryInclude("PublicReleaseDate", (value_7) => (new Json(0, [value_7])), inv.PublicReleaseDate), tryIncludeSeq("OntologySourceReferences", OntologySourceReference_encoder, inv.OntologySourceReferences), tryIncludeSeq("Publications", Publication_encoder, inv.Publications), tryIncludeSeq("Contacts", Person_encoder, inv.Contacts), tryIncludeSeq("Assays", Assay_encoder, inv.Assays), tryIncludeSeq("Studies", Study_encoder, inv.Studies), tryIncludeSeq("RegisteredStudyIdentifiers", (value_9) => (new Json(0, [value_9])), inv.RegisteredStudyIdentifiers), tryIncludeSeq("Comments", Comment_encoder, inv.Comments)]))]);
35
+ }
36
+
37
+ export const Investigation_decoder = object((get$) => {
38
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9, arg_21, objectArg_10, arg_23, objectArg_11;
39
+ return new ArcInvestigation((objectArg = get$.Required, objectArg.Field("Identifier", string)), (objectArg_1 = get$.Optional, objectArg_1.Field("Title", string)), (objectArg_2 = get$.Optional, objectArg_2.Field("Description", string)), (objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string)), (objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string)), (arg_11 = Decode_resizeArray(OntologySourceReference_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("OntologySourceReferences", arg_11))), (arg_13 = Decode_resizeArray(Publication_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Publications", arg_13))), (arg_15 = Decode_resizeArray(Person_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("Contacts", arg_15))), (arg_17 = Decode_resizeArray(Assay_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("Assays", arg_17))), (arg_19 = Decode_resizeArray(Study_decoder), (objectArg_9 = get$.Optional, objectArg_9.Field("Studies", arg_19))), (arg_21 = Decode_resizeArray(string), (objectArg_10 = get$.Optional, objectArg_10.Field("RegisteredStudyIdentifiers", arg_21))), (arg_23 = Decode_resizeArray(Comment_decoder), (objectArg_11 = get$.Optional, objectArg_11.Field("Comments", arg_23))));
40
+ });
41
+
42
+ export function Investigation_encoderCompressed(stringTable, oaTable, cellTable, inv) {
43
+ return new Json(5, [choose((tupledArg) => {
44
+ const v = tupledArg[1];
45
+ if (equals(v, new Json(3, []))) {
46
+ return void 0;
47
+ }
48
+ else {
49
+ return [tupledArg[0], v];
50
+ }
51
+ }, ofArray([["Identifier", new Json(0, [inv.Identifier])], tryInclude("Title", (value_1) => (new Json(0, [value_1])), inv.Title), tryInclude("Description", (value_3) => (new Json(0, [value_3])), inv.Description), tryInclude("SubmissionDate", (value_5) => (new Json(0, [value_5])), inv.SubmissionDate), tryInclude("PublicReleaseDate", (value_7) => (new Json(0, [value_7])), inv.PublicReleaseDate), tryIncludeSeq("OntologySourceReferences", OntologySourceReference_encoder, inv.OntologySourceReferences), tryIncludeSeq("Publications", Publication_encoder, inv.Publications), tryIncludeSeq("Contacts", Person_encoder, inv.Contacts), tryIncludeSeq("Assays", (assay) => Assay_encoderCompressed(stringTable, oaTable, cellTable, assay), inv.Assays), tryIncludeSeq("Studies", (study) => Study_encoderCompressed(stringTable, oaTable, cellTable, study), inv.Studies), tryIncludeSeq("RegisteredStudyIdentifiers", (value_9) => (new Json(0, [value_9])), inv.RegisteredStudyIdentifiers), tryIncludeSeq("Comments", Comment_encoder, inv.Comments)]))]);
52
+ }
53
+
54
+ export function Investigation_decoderCompressed(stringTable, oaTable, cellTable) {
55
+ return object((get$) => {
56
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9, arg_21, objectArg_10, arg_23, objectArg_11;
57
+ return new ArcInvestigation((objectArg = get$.Required, objectArg.Field("Identifier", string)), (objectArg_1 = get$.Optional, objectArg_1.Field("Title", string)), (objectArg_2 = get$.Optional, objectArg_2.Field("Description", string)), (objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string)), (objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string)), (arg_11 = Decode_resizeArray(OntologySourceReference_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("OntologySourceReferences", arg_11))), (arg_13 = Decode_resizeArray(Publication_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Publications", arg_13))), (arg_15 = Decode_resizeArray(Person_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("Contacts", arg_15))), (arg_17 = Decode_resizeArray(Assay_decoderCompressed(stringTable, oaTable, cellTable)), (objectArg_8 = get$.Optional, objectArg_8.Field("Assays", arg_17))), (arg_19 = Decode_resizeArray(Study_decoderCompressed(stringTable, oaTable, cellTable)), (objectArg_9 = get$.Optional, objectArg_9.Field("Studies", arg_19))), (arg_21 = Decode_resizeArray(string), (objectArg_10 = get$.Optional, objectArg_10.Field("RegisteredStudyIdentifiers", arg_21))), (arg_23 = Decode_resizeArray(Comment_decoder), (objectArg_11 = get$.Optional, objectArg_11.Field("Comments", arg_23))));
58
+ });
59
+ }
60
+
61
+ export function Investigation_ROCrate_genID(i) {
62
+ return "./";
63
+ }
64
+
65
+ export function Investigation_ROCrate_encoder(oa) {
66
+ return new Json(5, [choose((tupledArg) => {
67
+ const v = tupledArg[1];
68
+ if (equals(v, new Json(3, []))) {
69
+ return void 0;
70
+ }
71
+ else {
72
+ return [tupledArg[0], v];
73
+ }
74
+ }, ofArray([["@id", new Json(0, [Investigation_ROCrate_genID(oa)])], ["@type", new Json(0, ["Investigation"])], ["additionalType", new Json(0, ["Investigation"])], ["identifier", new Json(0, [oa.Identifier])], ["filename", new Json(0, [ArcInvestigation.FileName])], tryInclude("title", (value_5) => (new Json(0, [value_5])), oa.Title), tryInclude("description", (value_7) => (new Json(0, [value_7])), oa.Description), tryInclude("submissionDate", (value_9) => (new Json(0, [value_9])), oa.SubmissionDate), tryInclude("publicReleaseDate", (value_11) => (new Json(0, [value_11])), oa.PublicReleaseDate), tryIncludeSeq("ontologySourceReferences", OntologySourceReference_ROCrate_encoder, oa.OntologySourceReferences), tryIncludeSeq("publications", Publication_ROCrate_encoder, oa.Publications), tryIncludeSeq("people", Person_ROCrate_encoder, oa.Contacts), tryIncludeSeq("studies", (s) => Study_ROCrate_encoder(void 0, s), oa.Studies), tryIncludeSeq("comments", Comment_ROCrate_encoder, oa.Comments), ["@context", context_jsonvalue]]))]);
75
+ }
76
+
77
+ export const Investigation_ROCrate_decoder = object((get$) => {
78
+ let arg_3, 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;
79
+ let identifier;
80
+ let matchValue;
81
+ const objectArg = get$.Optional;
82
+ matchValue = objectArg.Field("identifier", string);
83
+ identifier = ((matchValue == null) ? createMissingIdentifier() : matchValue);
84
+ const patternInput = unzip(defaultArg((arg_3 = list_1(Study_ROCrate_decoder), (objectArg_1 = get$.Optional, objectArg_1.Field("studies", arg_3))), empty()));
85
+ const studiesRaw = patternInput[0];
86
+ let assays;
87
+ const collection = distinctBy((a) => a.Identifier, concat(patternInput[1]), {
88
+ Equals: (x, y) => (x === y),
89
+ GetHashCode: stringHash,
90
+ });
91
+ assays = Array.from(collection);
92
+ const studies = Array.from(studiesRaw);
93
+ let studyIdentifiers;
94
+ const collection_1 = map((a_1) => a_1.Identifier, studiesRaw);
95
+ studyIdentifiers = Array.from(collection_1);
96
+ return new ArcInvestigation(identifier, (objectArg_2 = get$.Optional, objectArg_2.Field("title", string)), (objectArg_3 = get$.Optional, objectArg_3.Field("description", string)), (objectArg_4 = get$.Optional, objectArg_4.Field("submissionDate", string)), (objectArg_5 = get$.Optional, objectArg_5.Field("publicReleaseDate", string)), (arg_13 = Decode_resizeArray(OntologySourceReference_ROCrate_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("ontologySourceReferences", arg_13))), (arg_15 = Decode_resizeArray(Publication_ROCrate_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("publications", arg_15))), (arg_17 = Decode_resizeArray(Person_ROCrate_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("people", arg_17))), assays, studies, studyIdentifiers, (arg_19 = Decode_resizeArray(Comment_ROCrate_decoder), (objectArg_9 = get$.Optional, objectArg_9.Field("comments", arg_19))));
97
+ });
98
+
99
+ export function Investigation_ROCrate_encodeRoCrate(oa) {
100
+ return new Json(5, [choose((tupledArg) => {
101
+ const v = tupledArg[1];
102
+ if (equals(v, new Json(3, []))) {
103
+ return void 0;
104
+ }
105
+ else {
106
+ return [tupledArg[0], v];
107
+ }
108
+ }, ofArray([tryInclude("@type", (value) => (new Json(0, [value])), "CreativeWork"), tryInclude("@id", (value_2) => (new Json(0, [value_2])), "ro-crate-metadata.json"), tryInclude("about", Investigation_ROCrate_encoder, oa), ["conformsTo", conformsTo_jsonvalue], ["@context", context_jsonvalue_1]]))]);
109
+ }
110
+
111
+ export const Investigation_ISAJson_allowedFields = ofArray(["@id", "filename", "identifier", "title", "description", "submissionDate", "publicReleaseDate", "ontologySourceReferences", "publications", "people", "studies", "comments", "@type", "@context"]);
112
+
113
+ export function Investigation_ISAJson_encoder(inv) {
114
+ return new Json(5, [choose((tupledArg) => {
115
+ const v = tupledArg[1];
116
+ if (equals(v, new Json(3, []))) {
117
+ return void 0;
118
+ }
119
+ else {
120
+ return [tupledArg[0], v];
121
+ }
122
+ }, ofArray([["filename", new Json(0, [ArcInvestigation.FileName])], ["identifier", new Json(0, [inv.Identifier])], tryInclude("title", (value_2) => (new Json(0, [value_2])), inv.Title), tryInclude("description", (value_4) => (new Json(0, [value_4])), inv.Description), tryInclude("submissionDate", (value_6) => (new Json(0, [value_6])), inv.SubmissionDate), tryInclude("publicReleaseDate", (value_8) => (new Json(0, [value_8])), inv.PublicReleaseDate), tryIncludeSeq("ontologySourceReferences", OntologySourceReference_ISAJson_encoder, inv.OntologySourceReferences), tryIncludeSeq("publications", Publication_ISAJson_encoder, inv.Publications), tryIncludeSeq("people", Person_ISAJson_encoder, inv.Contacts), tryIncludeSeq("studies", (s) => Study_ISAJson_encoder(void 0, s), inv.Studies), tryIncludeSeq("comments", Comment_ISAJson_encoder, inv.Comments)]))]);
123
+ }
124
+
125
+ export const Investigation_ISAJson_decoder = Decode_objectNoAdditionalProperties(Investigation_ISAJson_allowedFields, (get$) => {
126
+ let arg_3, 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;
127
+ let identifer;
128
+ let matchValue;
129
+ const objectArg = get$.Optional;
130
+ matchValue = objectArg.Field("identifier", string);
131
+ identifer = ((matchValue == null) ? createMissingIdentifier() : matchValue);
132
+ const patternInput = unzip(defaultArg((arg_3 = list_1(Study_ISAJson_decoder), (objectArg_1 = get$.Optional, objectArg_1.Field("studies", arg_3))), empty()));
133
+ const studiesRaw = patternInput[0];
134
+ let assays;
135
+ const collection = distinctBy((a) => a.Identifier, concat(patternInput[1]), {
136
+ Equals: (x, y) => (x === y),
137
+ GetHashCode: stringHash,
138
+ });
139
+ assays = Array.from(collection);
140
+ const studies = Array.from(studiesRaw);
141
+ let studyIdentifiers;
142
+ const collection_1 = map((a_1) => a_1.Identifier, studiesRaw);
143
+ studyIdentifiers = Array.from(collection_1);
144
+ return new ArcInvestigation(identifer, (objectArg_2 = get$.Optional, objectArg_2.Field("title", string)), (objectArg_3 = get$.Optional, objectArg_3.Field("description", string)), (objectArg_4 = get$.Optional, objectArg_4.Field("submissionDate", string)), (objectArg_5 = get$.Optional, objectArg_5.Field("publicReleaseDate", string)), (arg_13 = Decode_resizeArray(OntologySourceReference_ISAJson_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("ontologySourceReferences", arg_13))), (arg_15 = Decode_resizeArray(Publication_ISAJson_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("publications", arg_15))), (arg_17 = Decode_resizeArray(Person_ISAJson_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("people", arg_17))), assays, studies, studyIdentifiers, (arg_19 = Decode_resizeArray(Comment_ISAJson_decoder), (objectArg_9 = get$.Optional, objectArg_9.Field("comments", arg_19))));
145
+ });
146
+
147
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_fromJsonString_Static_Z721C83C5(s) {
148
+ const matchValue = fromString(Investigation_decoder, s);
149
+ if (matchValue.tag === 1) {
150
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
151
+ }
152
+ else {
153
+ return matchValue.fields[0];
154
+ }
155
+ }
156
+
157
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_toJsonString_Static_71136F3F(spaces) {
158
+ return (obj) => {
159
+ const value = Investigation_encoder(obj);
160
+ return toString(defaultSpaces(spaces), value);
161
+ };
162
+ }
163
+
164
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_fromCompressedJsonString_Static_Z721C83C5(s) {
165
+ try {
166
+ const matchValue = fromString(decode(Investigation_decoderCompressed), s);
167
+ if (matchValue.tag === 1) {
168
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
169
+ }
170
+ else {
171
+ return matchValue.fields[0];
172
+ }
173
+ }
174
+ catch (e_1) {
175
+ const arg_1 = e_1.message;
176
+ return toFail(printf("Error. Unable to parse json string to ArcStudy: %s"))(arg_1);
177
+ }
178
+ }
179
+
180
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_toCompressedJsonString_Static_71136F3F(spaces) {
181
+ return (obj) => toString(defaultArg(spaces, 0), encode(Investigation_encoderCompressed, obj));
182
+ }
183
+
184
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateJsonString_Static_Z721C83C5(s) {
185
+ const matchValue = fromString(Investigation_ROCrate_decoder, s);
186
+ if (matchValue.tag === 1) {
187
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
188
+ }
189
+ else {
190
+ return matchValue.fields[0];
191
+ }
192
+ }
193
+
194
+ /**
195
+ * exports in json-ld format
196
+ */
197
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_toROCrateJsonString_Static_71136F3F(spaces) {
198
+ return (obj) => {
199
+ const value = Investigation_ROCrate_encoder(obj);
200
+ return toString(defaultSpaces(spaces), value);
201
+ };
202
+ }
203
+
204
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_toISAJsonString_Static_71136F3F(spaces) {
205
+ return (obj) => {
206
+ const value = Investigation_ISAJson_encoder(obj);
207
+ return toString(defaultSpaces(spaces), value);
208
+ };
209
+ }
210
+
211
+ export function ARCtrl_ArcInvestigation__ArcInvestigation_fromISAJsonString_Static_Z721C83C5(s) {
212
+ const matchValue = fromString(Investigation_ISAJson_decoder, s);
213
+ if (matchValue.tag === 1) {
214
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
215
+ }
216
+ else {
217
+ return matchValue.fields[0];
218
+ }
219
+ }
220
+
@@ -0,0 +1,169 @@
1
+ import { object, string, float, int, map, oneOf } from "../fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js";
2
+ import { equals, int32ToString } from "../fable_modules/fable-library-js.4.16.0/Util.js";
3
+ import { choose, ofArray } from "../fable_modules/fable-library-js.4.16.0/List.js";
4
+ import { Json } from "../fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js";
5
+ import { defaultSpaces, tryIncludeSeq, tryInclude } from "./Encode.js";
6
+ import { Comment_ROCrate_decoderDisambiguatingDescription, Comment_ROCrate_encoderDisambiguatingDescription, Comment_decoder, Comment_encoder } from "./Comment.js";
7
+ import { OntologyAnnotation } from "../Core/OntologyAnnotation.js";
8
+ import { unwrap } from "../fable_modules/fable-library-js.4.16.0/Option.js";
9
+ import { Decode_resizeArray } from "./Decode.js";
10
+ import { decodeString, encodeString } from "./StringTable.js";
11
+ import { printf, toText, replace } from "../fable_modules/fable-library-js.4.16.0/String.js";
12
+ import { URIModule_toString } from "../Core/URI.js";
13
+ import { context_jsonvalue } from "./context/rocrate/isa_ontology_annotation_context.js";
14
+ import { context_jsonvalue as context_jsonvalue_1 } from "./context/rocrate/property_value_context.js";
15
+ import { fromString } from "../fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js";
16
+ import { toString } from "../fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js";
17
+
18
+ export const AnnotationValue_decoder = oneOf(ofArray([map(int32ToString, int), map((value_1) => value_1.toString(), float), string]));
19
+
20
+ export function OntologyAnnotation_encoder(oa) {
21
+ return new Json(5, [choose((tupledArg) => {
22
+ const v = tupledArg[1];
23
+ if (equals(v, new Json(3, []))) {
24
+ return void 0;
25
+ }
26
+ else {
27
+ return [tupledArg[0], v];
28
+ }
29
+ }, ofArray([tryInclude("annotationValue", (value) => (new Json(0, [value])), oa.Name), tryInclude("termSource", (value_2) => (new Json(0, [value_2])), oa.TermSourceREF), tryInclude("termAccession", (value_4) => (new Json(0, [value_4])), oa.TermAccessionNumber), tryIncludeSeq("comments", Comment_encoder, oa.Comments)]))]);
30
+ }
31
+
32
+ export const OntologyAnnotation_decoder = object((get$) => {
33
+ let objectArg, objectArg_1, objectArg_2, arg_7, objectArg_3;
34
+ return OntologyAnnotation.create(unwrap((objectArg = get$.Optional, objectArg.Field("annotationValue", AnnotationValue_decoder))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("termSource", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("termAccession", string))), unwrap((arg_7 = Decode_resizeArray(Comment_decoder), (objectArg_3 = get$.Optional, objectArg_3.Field("comments", arg_7)))));
35
+ });
36
+
37
+ export function OntologyAnnotation_compressedEncoder(stringTable, oa) {
38
+ return new Json(5, [choose((tupledArg) => {
39
+ const v = tupledArg[1];
40
+ if (equals(v, new Json(3, []))) {
41
+ return void 0;
42
+ }
43
+ else {
44
+ return [tupledArg[0], v];
45
+ }
46
+ }, ofArray([tryInclude("a", (s) => encodeString(stringTable, s), oa.Name), tryInclude("ts", (s_1) => encodeString(stringTable, s_1), oa.TermSourceREF), tryInclude("ta", (s_2) => encodeString(stringTable, s_2), oa.TermAccessionNumber), tryIncludeSeq("comments", Comment_encoder, oa.Comments)]))]);
47
+ }
48
+
49
+ export function OntologyAnnotation_compressedDecoder(stringTable) {
50
+ return object((get$) => {
51
+ let arg_1, objectArg, arg_3, objectArg_1, arg_5, objectArg_2, arg_7, objectArg_3;
52
+ return new OntologyAnnotation(unwrap((arg_1 = decodeString(stringTable), (objectArg = get$.Optional, objectArg.Field("a", arg_1)))), unwrap((arg_3 = decodeString(stringTable), (objectArg_1 = get$.Optional, objectArg_1.Field("ts", arg_3)))), unwrap((arg_5 = decodeString(stringTable), (objectArg_2 = get$.Optional, objectArg_2.Field("ta", arg_5)))), unwrap((arg_7 = Decode_resizeArray(Comment_decoder), (objectArg_3 = get$.Optional, objectArg_3.Field("comments", arg_7)))));
53
+ });
54
+ }
55
+
56
+ export function OntologyAnnotation_ROCrate_genID(o) {
57
+ const matchValue = o.TermAccessionNumber;
58
+ if (matchValue == null) {
59
+ const matchValue_1 = o.TermSourceREF;
60
+ if (matchValue_1 == null) {
61
+ const matchValue_2 = o.Name;
62
+ if (matchValue_2 == null) {
63
+ return "#DummyOntologyAnnotation";
64
+ }
65
+ else {
66
+ return "#UserTerm_" + replace(matchValue_2, " ", "_");
67
+ }
68
+ }
69
+ else {
70
+ return "#" + replace(matchValue_1, " ", "_");
71
+ }
72
+ }
73
+ else {
74
+ return URIModule_toString(matchValue);
75
+ }
76
+ }
77
+
78
+ export function OntologyAnnotation_ROCrate_encoderDefinedTerm(oa) {
79
+ return new Json(5, [choose((tupledArg) => {
80
+ const v = tupledArg[1];
81
+ if (equals(v, new Json(3, []))) {
82
+ return void 0;
83
+ }
84
+ else {
85
+ return [tupledArg[0], v];
86
+ }
87
+ }, ofArray([["@id", new Json(0, [OntologyAnnotation_ROCrate_genID(oa)])], ["@type", new Json(0, ["OntologyAnnotation"])], tryInclude("annotationValue", (value_2) => (new Json(0, [value_2])), oa.Name), tryInclude("termSource", (value_4) => (new Json(0, [value_4])), oa.TermSourceREF), tryInclude("termAccession", (value_6) => (new Json(0, [value_6])), oa.TermAccessionNumber), tryIncludeSeq("comments", Comment_ROCrate_encoderDisambiguatingDescription, oa.Comments), ["@context", context_jsonvalue]]))]);
88
+ }
89
+
90
+ export const OntologyAnnotation_ROCrate_decoderDefinedTerm = object((get$) => {
91
+ let objectArg, objectArg_1, objectArg_2, arg_7, objectArg_3;
92
+ return OntologyAnnotation.create(unwrap((objectArg = get$.Optional, objectArg.Field("annotationValue", AnnotationValue_decoder))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("termSource", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("termAccession", string))), unwrap((arg_7 = Decode_resizeArray(Comment_ROCrate_decoderDisambiguatingDescription), (objectArg_3 = get$.Optional, objectArg_3.Field("comments", arg_7)))));
93
+ });
94
+
95
+ export function OntologyAnnotation_ROCrate_encoderPropertyValue(oa) {
96
+ return new Json(5, [choose((tupledArg) => {
97
+ const v = tupledArg[1];
98
+ if (equals(v, new Json(3, []))) {
99
+ return void 0;
100
+ }
101
+ else {
102
+ return [tupledArg[0], v];
103
+ }
104
+ }, ofArray([["@id", new Json(0, [OntologyAnnotation_ROCrate_genID(oa)])], ["@type", new Json(0, ["PropertyValue"])], tryInclude("category", (value_2) => (new Json(0, [value_2])), oa.Name), tryInclude("categoryCode", (value_4) => (new Json(0, [value_4])), oa.TermAccessionNumber), tryIncludeSeq("comments", Comment_ROCrate_encoderDisambiguatingDescription, oa.Comments), ["@context", context_jsonvalue_1]]))]);
105
+ }
106
+
107
+ export const OntologyAnnotation_ROCrate_decoderPropertyValue = object((get$) => {
108
+ let objectArg, objectArg_1, arg_5, objectArg_2;
109
+ return OntologyAnnotation.create(unwrap((objectArg = get$.Optional, objectArg.Field("category", string))), void 0, unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("categoryCode", string))), unwrap((arg_5 = Decode_resizeArray(Comment_ROCrate_decoderDisambiguatingDescription), (objectArg_2 = get$.Optional, objectArg_2.Field("comments", arg_5)))));
110
+ });
111
+
112
+ export const OntologyAnnotation_ISAJson_encoder = OntologyAnnotation_encoder;
113
+
114
+ export const OntologyAnnotation_ISAJson_decoder = OntologyAnnotation_decoder;
115
+
116
+ export function ARCtrl_OntologyAnnotation__OntologyAnnotation_fromJsonString_Static_Z721C83C5(s) {
117
+ const matchValue = fromString(OntologyAnnotation_decoder, s);
118
+ if (matchValue.tag === 1) {
119
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
120
+ }
121
+ else {
122
+ return matchValue.fields[0];
123
+ }
124
+ }
125
+
126
+ export function ARCtrl_OntologyAnnotation__OntologyAnnotation_toJsonString_Static_71136F3F(spaces) {
127
+ return (obj) => {
128
+ const value = OntologyAnnotation_encoder(obj);
129
+ return toString(defaultSpaces(spaces), value);
130
+ };
131
+ }
132
+
133
+ export function ARCtrl_OntologyAnnotation__OntologyAnnotation_fromROCrateJsonString_Static_Z721C83C5(s) {
134
+ const matchValue = fromString(OntologyAnnotation_ROCrate_decoderDefinedTerm, s);
135
+ if (matchValue.tag === 1) {
136
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
137
+ }
138
+ else {
139
+ return matchValue.fields[0];
140
+ }
141
+ }
142
+
143
+ /**
144
+ * exports in json-ld format
145
+ */
146
+ export function ARCtrl_OntologyAnnotation__OntologyAnnotation_toROCrateJsonString_Static_71136F3F(spaces) {
147
+ return (obj) => {
148
+ const value = OntologyAnnotation_ROCrate_encoderDefinedTerm(obj);
149
+ return toString(defaultSpaces(spaces), value);
150
+ };
151
+ }
152
+
153
+ export function ARCtrl_OntologyAnnotation__OntologyAnnotation_toISAJsonString_Static_71136F3F(spaces) {
154
+ return (obj) => {
155
+ const value = OntologyAnnotation_ISAJson_encoder(obj);
156
+ return toString(defaultSpaces(spaces), value);
157
+ };
158
+ }
159
+
160
+ export function ARCtrl_OntologyAnnotation__OntologyAnnotation_fromISAJsonString_Static_Z721C83C5(s) {
161
+ const matchValue = fromString(OntologyAnnotation_ISAJson_decoder, s);
162
+ if (matchValue.tag === 1) {
163
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
164
+ }
165
+ else {
166
+ return matchValue.fields[0];
167
+ }
168
+ }
169
+
@@ -0,0 +1,122 @@
1
+ import { ofArray, choose } from "../fable_modules/fable-library-js.4.16.0/List.js";
2
+ import { equals } from "../fable_modules/fable-library-js.4.16.0/Util.js";
3
+ import { Json } from "../fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js";
4
+ import { defaultSpaces, tryIncludeSeq, tryInclude } from "./Encode.js";
5
+ import { Comment_decoder, Comment_encoder } from "./Comment.js";
6
+ import { string, object } from "../fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js";
7
+ import { OntologySourceReference } from "../Core/OntologySourceReference.js";
8
+ import { unwrap } from "../fable_modules/fable-library-js.4.16.0/Option.js";
9
+ import { Decode_resizeArray, Decode_uri } from "./Decode.js";
10
+ import { printf, toText, replace } from "../fable_modules/fable-library-js.4.16.0/String.js";
11
+ import { context_jsonvalue } from "./context/rocrate/isa_ontology_source_reference_context.js";
12
+ import { fromString } from "../fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js";
13
+ import { toString } from "../fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js";
14
+
15
+ export function OntologySourceReference_encoder(osr) {
16
+ return new Json(5, [choose((tupledArg) => {
17
+ const v = tupledArg[1];
18
+ if (equals(v, new Json(3, []))) {
19
+ return void 0;
20
+ }
21
+ else {
22
+ return [tupledArg[0], v];
23
+ }
24
+ }, ofArray([tryInclude("description", (value) => (new Json(0, [value])), osr.Description), tryInclude("file", (value_2) => (new Json(0, [value_2])), osr.File), tryInclude("name", (value_4) => (new Json(0, [value_4])), osr.Name), tryInclude("version", (value_6) => (new Json(0, [value_6])), osr.Version), tryIncludeSeq("comments", Comment_encoder, osr.Comments)]))]);
25
+ }
26
+
27
+ export const OntologySourceReference_decoder = object((get$) => {
28
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, arg_9, objectArg_4;
29
+ return new OntologySourceReference(unwrap((objectArg = get$.Optional, objectArg.Field("description", Decode_uri))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("file", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("name", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("version", string))), unwrap((arg_9 = Decode_resizeArray(Comment_decoder), (objectArg_4 = get$.Optional, objectArg_4.Field("comments", arg_9)))));
30
+ });
31
+
32
+ export function OntologySourceReference_ROCrate_genID(o) {
33
+ const matchValue = o.File;
34
+ if (matchValue == null) {
35
+ const matchValue_1 = o.Name;
36
+ if (matchValue_1 == null) {
37
+ return "#DummyOntologySourceRef";
38
+ }
39
+ else {
40
+ return "#OntologySourceRef_" + replace(matchValue_1, " ", "_");
41
+ }
42
+ }
43
+ else {
44
+ return matchValue;
45
+ }
46
+ }
47
+
48
+ export function OntologySourceReference_ROCrate_encoder(osr) {
49
+ return new Json(5, [choose((tupledArg) => {
50
+ const v = tupledArg[1];
51
+ if (equals(v, new Json(3, []))) {
52
+ return void 0;
53
+ }
54
+ else {
55
+ return [tupledArg[0], v];
56
+ }
57
+ }, ofArray([["@id", new Json(0, [OntologySourceReference_ROCrate_genID(osr)])], ["@type", new Json(0, ["OntologySourceReference"])], tryInclude("description", (value_2) => (new Json(0, [value_2])), osr.Description), tryInclude("file", (value_4) => (new Json(0, [value_4])), osr.File), tryInclude("name", (value_6) => (new Json(0, [value_6])), osr.Name), tryInclude("version", (value_8) => (new Json(0, [value_8])), osr.Version), tryIncludeSeq("comments", Comment_encoder, osr.Comments), ["@context", context_jsonvalue]]))]);
58
+ }
59
+
60
+ export const OntologySourceReference_ROCrate_decoder = object((get$) => {
61
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, arg_9, objectArg_4;
62
+ return new OntologySourceReference(unwrap((objectArg = get$.Optional, objectArg.Field("description", Decode_uri))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("file", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("name", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("version", string))), unwrap((arg_9 = Decode_resizeArray(Comment_decoder), (objectArg_4 = get$.Optional, objectArg_4.Field("comments", arg_9)))));
63
+ });
64
+
65
+ export const OntologySourceReference_ISAJson_encoder = OntologySourceReference_encoder;
66
+
67
+ export const OntologySourceReference_ISAJson_decoder = OntologySourceReference_decoder;
68
+
69
+ export function ARCtrl_OntologySourceReference__OntologySourceReference_fromJsonString_Static_Z721C83C5(s) {
70
+ const matchValue = fromString(OntologySourceReference_decoder, s);
71
+ if (matchValue.tag === 1) {
72
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
73
+ }
74
+ else {
75
+ return matchValue.fields[0];
76
+ }
77
+ }
78
+
79
+ export function ARCtrl_OntologySourceReference__OntologySourceReference_toJsonString_Static_71136F3F(spaces) {
80
+ return (obj) => {
81
+ const value = OntologySourceReference_encoder(obj);
82
+ return toString(defaultSpaces(spaces), value);
83
+ };
84
+ }
85
+
86
+ export function ARCtrl_OntologySourceReference__OntologySourceReference_fromROCrateJsonString_Static_Z721C83C5(s) {
87
+ const matchValue = fromString(OntologySourceReference_ROCrate_decoder, s);
88
+ if (matchValue.tag === 1) {
89
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
90
+ }
91
+ else {
92
+ return matchValue.fields[0];
93
+ }
94
+ }
95
+
96
+ /**
97
+ * exports in json-ld format
98
+ */
99
+ export function ARCtrl_OntologySourceReference__OntologySourceReference_toROCrateJsonString_Static_71136F3F(spaces) {
100
+ return (obj) => {
101
+ const value = OntologySourceReference_ROCrate_encoder(obj);
102
+ return toString(defaultSpaces(spaces), value);
103
+ };
104
+ }
105
+
106
+ export function ARCtrl_OntologySourceReference__OntologySourceReference_toISAJsonString_Static_71136F3F(spaces) {
107
+ return (obj) => {
108
+ const value = OntologySourceReference_ISAJson_encoder(obj);
109
+ return toString(defaultSpaces(spaces), value);
110
+ };
111
+ }
112
+
113
+ export function ARCtrl_OntologySourceReference__OntologySourceReference_fromISAJsonString_Static_Z721C83C5(s) {
114
+ const matchValue = fromString(OntologySourceReference_ISAJson_decoder, s);
115
+ if (matchValue.tag === 1) {
116
+ throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
117
+ }
118
+ else {
119
+ return matchValue.fields[0];
120
+ }
121
+ }
122
+