@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.
Files changed (380) hide show
  1. package/README.md +2 -0
  2. package/dist/ts/index.js +63 -0
  3. package/dist/ts/node_modules/@fable-org/fable-library-js/Array.js +354 -0
  4. package/dist/ts/node_modules/@fable-org/fable-library-js/Async.js +28 -0
  5. package/dist/ts/node_modules/@fable-org/fable-library-js/AsyncBuilder.js +186 -0
  6. package/dist/ts/node_modules/@fable-org/fable-library-js/BigInt.js +8 -0
  7. package/dist/ts/node_modules/@fable-org/fable-library-js/Boolean.js +24 -0
  8. package/dist/ts/node_modules/@fable-org/fable-library-js/Char.js +73 -0
  9. package/dist/ts/node_modules/@fable-org/fable-library-js/CollectionUtil.js +31 -0
  10. package/dist/ts/node_modules/@fable-org/fable-library-js/Date.js +574 -0
  11. package/dist/ts/node_modules/@fable-org/fable-library-js/DateOffset.js +59 -0
  12. package/dist/ts/node_modules/@fable-org/fable-library-js/Decimal.js +65 -0
  13. package/dist/ts/node_modules/@fable-org/fable-library-js/Double.js +30 -0
  14. package/dist/ts/node_modules/@fable-org/fable-library-js/FSharp.Core.js +5 -0
  15. package/dist/ts/node_modules/@fable-org/fable-library-js/Global.js +5 -0
  16. package/dist/ts/node_modules/@fable-org/fable-library-js/Guid.js +48 -0
  17. package/dist/ts/node_modules/@fable-org/fable-library-js/Int32.js +120 -0
  18. package/dist/ts/node_modules/@fable-org/fable-library-js/List.js +680 -0
  19. package/dist/ts/node_modules/@fable-org/fable-library-js/Long.js +40 -0
  20. package/dist/ts/node_modules/@fable-org/fable-library-js/Map.js +655 -0
  21. package/dist/ts/node_modules/@fable-org/fable-library-js/MapUtil.js +105 -0
  22. package/dist/ts/node_modules/@fable-org/fable-library-js/MutableMap.js +320 -0
  23. package/dist/ts/node_modules/@fable-org/fable-library-js/MutableSet.js +204 -0
  24. package/dist/ts/node_modules/@fable-org/fable-library-js/Native.js +10 -0
  25. package/dist/ts/node_modules/@fable-org/fable-library-js/Numeric.js +73 -0
  26. package/dist/ts/node_modules/@fable-org/fable-library-js/Option.js +65 -0
  27. package/dist/ts/node_modules/@fable-org/fable-library-js/Range.js +23 -0
  28. package/dist/ts/node_modules/@fable-org/fable-library-js/Reflection.js +111 -0
  29. package/dist/ts/node_modules/@fable-org/fable-library-js/RegExp.js +114 -0
  30. package/dist/ts/node_modules/@fable-org/fable-library-js/Result.js +36 -0
  31. package/dist/ts/node_modules/@fable-org/fable-library-js/Seq.js +846 -0
  32. package/dist/ts/node_modules/@fable-org/fable-library-js/Seq2.js +65 -0
  33. package/dist/ts/node_modules/@fable-org/fable-library-js/Set.js +1160 -0
  34. package/dist/ts/node_modules/@fable-org/fable-library-js/String.js +364 -0
  35. package/dist/ts/node_modules/@fable-org/fable-library-js/System.Text.js +40 -0
  36. package/dist/ts/node_modules/@fable-org/fable-library-js/Types.js +193 -0
  37. package/dist/ts/node_modules/@fable-org/fable-library-js/Unicode.13.0.0.js +6 -0
  38. package/dist/ts/node_modules/@fable-org/fable-library-js/Uri.js +160 -0
  39. package/dist/ts/node_modules/@fable-org/fable-library-js/Util.js +367 -0
  40. package/dist/ts/node_modules/@fable-org/fable-library-js/lib/big.js +825 -0
  41. package/dist/ts/ts/ARC.js +914 -0
  42. package/dist/ts/ts/Contract/ARC.js +52 -0
  43. package/dist/ts/ts/Contract/ArcAssay.js +80 -0
  44. package/dist/ts/ts/Contract/ArcInvestigation.js +57 -0
  45. package/dist/ts/ts/Contract/ArcRun.js +76 -0
  46. package/dist/ts/ts/Contract/ArcStudy.js +76 -0
  47. package/dist/ts/ts/Contract/ArcWorkflow.js +77 -0
  48. package/dist/ts/ts/Contract/Contract.js +45 -0
  49. package/dist/ts/ts/Contract/Datamap.js +221 -0
  50. package/dist/ts/ts/Contract/Git.js +57 -0
  51. package/dist/ts/ts/Contract/ValidationPackagesConfig.js +57 -0
  52. package/dist/ts/ts/ContractIO/ContractIO.js +202 -0
  53. package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts +1 -1
  54. package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts.map +1 -1
  55. package/dist/ts/ts/ContractIO/FileSystemHelper.js +273 -0
  56. package/dist/ts/ts/Conversion.js +1247 -0
  57. package/dist/ts/ts/Core/ArcTypes.js +3393 -0
  58. package/dist/ts/ts/Core/Comment.js +91 -0
  59. package/dist/ts/ts/Core/CommentList.js +27 -0
  60. package/dist/ts/ts/Core/Conversion.js +923 -0
  61. package/dist/ts/ts/Core/Data.js +179 -0
  62. package/dist/ts/ts/Core/DataContext.js +108 -0
  63. package/dist/ts/ts/Core/DataFile.js +50 -0
  64. package/dist/ts/ts/Core/DataMap.js +53 -0
  65. package/dist/ts/ts/Core/Helper/Collections.js +323 -0
  66. package/dist/ts/ts/Core/Helper/HashCodes.js +35 -0
  67. package/dist/ts/ts/Core/Helper/Identifier.js +96 -0
  68. package/dist/ts/ts/Core/Helper/ORCID.js +34 -0
  69. package/dist/ts/ts/Core/Helper/Regex.js +296 -0
  70. package/dist/ts/ts/Core/Helper/SemVer.js +31 -0
  71. package/dist/ts/ts/Core/Helper/Url.js +32 -0
  72. package/dist/ts/ts/Core/IdentifierSetters.js +9 -0
  73. package/dist/ts/ts/Core/OntologyAnnotation.js +207 -0
  74. package/dist/ts/ts/Core/OntologySourceReference.js +84 -0
  75. package/dist/ts/ts/Core/Person.js +183 -0
  76. package/dist/ts/ts/Core/Process/ColumnIndex.js +73 -0
  77. package/dist/ts/ts/Core/Process/Component.js +121 -0
  78. package/dist/ts/ts/Core/Process/Factor.js +104 -0
  79. package/dist/ts/ts/Core/Process/FactorValue.js +68 -0
  80. package/dist/ts/ts/Core/Process/Material.js +49 -0
  81. package/dist/ts/ts/Core/Process/MaterialAttribute.js +30 -0
  82. package/dist/ts/ts/Core/Process/MaterialAttributeValue.js +68 -0
  83. package/dist/ts/ts/Core/Process/MaterialType.js +28 -0
  84. package/dist/ts/ts/Core/Process/Process.js +136 -0
  85. package/dist/ts/ts/Core/Process/ProcessInput.js +207 -0
  86. package/dist/ts/ts/Core/Process/ProcessOutput.js +178 -0
  87. package/dist/ts/ts/Core/Process/ProcessParameterValue.js +135 -0
  88. package/dist/ts/ts/Core/Process/ProcessSequence.js +56 -0
  89. package/dist/ts/ts/Core/Process/Protocol.js +54 -0
  90. package/dist/ts/ts/Core/Process/ProtocolParameter.js +69 -0
  91. package/dist/ts/ts/Core/Process/Sample.js +44 -0
  92. package/dist/ts/ts/Core/Process/Source.js +38 -0
  93. package/dist/ts/ts/Core/Publication.js +108 -0
  94. package/dist/ts/ts/Core/Table/ArcTable.js +889 -0
  95. package/dist/ts/ts/Core/Table/ArcTableAux.js +993 -0
  96. package/dist/ts/ts/Core/Table/ArcTables.js +415 -0
  97. package/dist/ts/ts/Core/Table/CompositeCell.js +334 -0
  98. package/dist/ts/ts/Core/Table/CompositeColumn.js +52 -0
  99. package/dist/ts/ts/Core/Table/CompositeHeader.js +792 -0
  100. package/dist/ts/ts/Core/Template.js +180 -0
  101. package/dist/ts/ts/Core/Templates.js +75 -0
  102. package/dist/ts/ts/Core/URI.js +8 -0
  103. package/dist/ts/ts/Core/Value.js +194 -0
  104. package/dist/ts/ts/CrossAsync.js +20 -0
  105. package/dist/ts/ts/FileSystem/DefaultGitattributes.js +3 -0
  106. package/dist/ts/ts/FileSystem/DefaultGitignore.js +3 -0
  107. package/dist/ts/ts/FileSystem/FileSystem.js +48 -0
  108. package/dist/ts/ts/FileSystem/FileSystemTree.js +339 -0
  109. package/dist/ts/ts/FileSystem/Path.js +36 -0
  110. package/dist/ts/ts/Json/Assay.d.ts +1 -1
  111. package/dist/ts/ts/Json/Assay.js +221 -0
  112. package/dist/ts/ts/Json/Comment.d.ts +1 -1
  113. package/dist/ts/ts/Json/Comment.js +112 -0
  114. package/dist/ts/ts/Json/Data.d.ts +1 -1
  115. package/dist/ts/ts/Json/Data.js +138 -0
  116. package/dist/ts/ts/Json/DataFile.d.ts +1 -1
  117. package/dist/ts/ts/Json/DataFile.js +55 -0
  118. package/dist/ts/ts/Json/DataMap/DataContext.d.ts +1 -1
  119. package/dist/ts/ts/Json/DataMap/DataContext.js +39 -0
  120. package/dist/ts/ts/Json/DataMap/DataMap.d.ts +1 -1
  121. package/dist/ts/ts/Json/DataMap/DataMap.js +27 -0
  122. package/dist/ts/ts/Json/Decode.d.ts +2 -2
  123. package/dist/ts/ts/Json/Decode.js +209 -0
  124. package/dist/ts/ts/Json/Encode.d.ts +1 -1
  125. package/dist/ts/ts/Json/Encode.js +65 -0
  126. package/dist/ts/ts/Json/IDTable.d.ts +1 -1
  127. package/dist/ts/ts/Json/IDTable.js +28 -0
  128. package/dist/ts/ts/Json/Investigation.d.ts +1 -1
  129. package/dist/ts/ts/Json/Investigation.js +229 -0
  130. package/dist/ts/ts/Json/OntologyAnnotation.d.ts +1 -1
  131. package/dist/ts/ts/Json/OntologyAnnotation.js +194 -0
  132. package/dist/ts/ts/Json/OntologySourceReference.d.ts +1 -1
  133. package/dist/ts/ts/Json/OntologySourceReference.js +119 -0
  134. package/dist/ts/ts/Json/Person.d.ts +1 -1
  135. package/dist/ts/ts/Json/Person.js +316 -0
  136. package/dist/ts/ts/Json/Process/AssayMaterials.d.ts +1 -1
  137. package/dist/ts/ts/Json/Process/AssayMaterials.js +21 -0
  138. package/dist/ts/ts/Json/Process/Component.d.ts +1 -1
  139. package/dist/ts/ts/Json/Process/Component.js +41 -0
  140. package/dist/ts/ts/Json/Process/Factor.d.ts +1 -1
  141. package/dist/ts/ts/Json/Process/Factor.js +53 -0
  142. package/dist/ts/ts/Json/Process/FactorValue.d.ts +1 -1
  143. package/dist/ts/ts/Json/Process/FactorValue.js +44 -0
  144. package/dist/ts/ts/Json/Process/Material.d.ts +1 -1
  145. package/dist/ts/ts/Json/Process/Material.js +112 -0
  146. package/dist/ts/ts/Json/Process/MaterialAttribute.d.ts +1 -1
  147. package/dist/ts/ts/Json/Process/MaterialAttribute.js +43 -0
  148. package/dist/ts/ts/Json/Process/MaterialAttributeValue.d.ts +1 -1
  149. package/dist/ts/ts/Json/Process/MaterialAttributeValue.js +44 -0
  150. package/dist/ts/ts/Json/Process/MaterialType.d.ts +1 -1
  151. package/dist/ts/ts/Json/Process/MaterialType.js +45 -0
  152. package/dist/ts/ts/Json/Process/Process.d.ts +1 -1
  153. package/dist/ts/ts/Json/Process/Process.js +103 -0
  154. package/dist/ts/ts/Json/Process/ProcessInput.d.ts +1 -1
  155. package/dist/ts/ts/Json/Process/ProcessInput.js +42 -0
  156. package/dist/ts/ts/Json/Process/ProcessOutput.d.ts +1 -1
  157. package/dist/ts/ts/Json/Process/ProcessOutput.js +35 -0
  158. package/dist/ts/ts/Json/Process/ProcessParameterValue.d.ts +1 -1
  159. package/dist/ts/ts/Json/Process/ProcessParameterValue.js +28 -0
  160. package/dist/ts/ts/Json/Process/Protocol.d.ts +1 -1
  161. package/dist/ts/ts/Json/Process/Protocol.js +166 -0
  162. package/dist/ts/ts/Json/Process/ProtocolParameter.d.ts +1 -1
  163. package/dist/ts/ts/Json/Process/ProtocolParameter.js +43 -0
  164. package/dist/ts/ts/Json/Process/Sample.d.ts +1 -1
  165. package/dist/ts/ts/Json/Process/Sample.js +165 -0
  166. package/dist/ts/ts/Json/Process/Source.d.ts +1 -1
  167. package/dist/ts/ts/Json/Process/Source.js +133 -0
  168. package/dist/ts/ts/Json/Process/StudyMaterials.d.ts +1 -1
  169. package/dist/ts/ts/Json/Process/StudyMaterials.js +23 -0
  170. package/dist/ts/ts/Json/Process/Value.d.ts +1 -1
  171. package/dist/ts/ts/Json/Process/Value.js +41 -0
  172. package/dist/ts/ts/Json/PropertyValue.d.ts +1 -1
  173. package/dist/ts/ts/Json/PropertyValue.js +280 -0
  174. package/dist/ts/ts/Json/Publication.d.ts +1 -1
  175. package/dist/ts/ts/Json/Publication.js +123 -0
  176. package/dist/ts/ts/Json/ROCrate/LDContext.d.ts +1 -1
  177. package/dist/ts/ts/Json/ROCrate/LDContext.js +115 -0
  178. package/dist/ts/ts/Json/ROCrate/LDGraph.d.ts +1 -1
  179. package/dist/ts/ts/Json/ROCrate/LDGraph.js +83 -0
  180. package/dist/ts/ts/Json/ROCrate/LDNode.d.ts +1 -1
  181. package/dist/ts/ts/Json/ROCrate/LDNode.js +190 -0
  182. package/dist/ts/ts/Json/ROCrate/LDRef.d.ts +1 -1
  183. package/dist/ts/ts/Json/ROCrate/LDRef.js +24 -0
  184. package/dist/ts/ts/Json/ROCrate/LDValue.d.ts +1 -1
  185. package/dist/ts/ts/Json/ROCrate/LDValue.js +63 -0
  186. package/dist/ts/ts/Json/StringTable.d.ts +1 -1
  187. package/dist/ts/ts/Json/StringTable.js +66 -0
  188. package/dist/ts/ts/Json/Study.d.ts +1 -1
  189. package/dist/ts/ts/Json/Study.js +326 -0
  190. package/dist/ts/ts/Json/Table/ArcTable.d.ts +1 -1
  191. package/dist/ts/ts/Json/Table/ArcTable.js +210 -0
  192. package/dist/ts/ts/Json/Table/CellTable.d.ts +1 -1
  193. package/dist/ts/ts/Json/Table/CellTable.js +53 -0
  194. package/dist/ts/ts/Json/Table/CompositeCell.d.ts +1 -1
  195. package/dist/ts/ts/Json/Table/CompositeCell.js +106 -0
  196. package/dist/ts/ts/Json/Table/CompositeHeader.d.ts +1 -1
  197. package/dist/ts/ts/Json/Table/CompositeHeader.js +121 -0
  198. package/dist/ts/ts/Json/Table/IOType.d.ts +1 -1
  199. package/dist/ts/ts/Json/Table/IOType.js +15 -0
  200. package/dist/ts/ts/Json/Table/OATable.d.ts +1 -1
  201. package/dist/ts/ts/Json/Table/OATable.js +50 -0
  202. package/dist/ts/ts/Json/Table/Templates.d.ts +1 -1
  203. package/dist/ts/ts/Json/Table/Templates.js +15 -0
  204. package/dist/ts/ts/Json/context/rocrate/isa_assay_context.d.ts +1 -1
  205. package/dist/ts/ts/Json/context/rocrate/isa_assay_context.js +61 -0
  206. package/dist/ts/ts/Json/context/rocrate/isa_comment_context.d.ts +1 -1
  207. package/dist/ts/ts/Json/context/rocrate/isa_comment_context.js +29 -0
  208. package/dist/ts/ts/Json/context/rocrate/isa_data_context.d.ts +1 -1
  209. package/dist/ts/ts/Json/context/rocrate/isa_data_context.js +41 -0
  210. package/dist/ts/ts/Json/context/rocrate/isa_investigation_context.d.ts +1 -1
  211. package/dist/ts/ts/Json/context/rocrate/isa_investigation_context.js +69 -0
  212. package/dist/ts/ts/Json/context/rocrate/isa_material_context.d.ts +1 -1
  213. package/dist/ts/ts/Json/context/rocrate/isa_material_context.js +37 -0
  214. package/dist/ts/ts/Json/context/rocrate/isa_ontology_annotation_context.d.ts +1 -1
  215. package/dist/ts/ts/Json/context/rocrate/isa_ontology_annotation_context.js +37 -0
  216. package/dist/ts/ts/Json/context/rocrate/isa_ontology_source_reference_context.d.ts +1 -1
  217. package/dist/ts/ts/Json/context/rocrate/isa_ontology_source_reference_context.js +41 -0
  218. package/dist/ts/ts/Json/context/rocrate/isa_organization_context.d.ts +1 -1
  219. package/dist/ts/ts/Json/context/rocrate/isa_organization_context.js +25 -0
  220. package/dist/ts/ts/Json/context/rocrate/isa_person_context.d.ts +1 -1
  221. package/dist/ts/ts/Json/context/rocrate/isa_person_context.js +86 -0
  222. package/dist/ts/ts/Json/context/rocrate/isa_process_context.d.ts +1 -1
  223. package/dist/ts/ts/Json/context/rocrate/isa_process_context.js +57 -0
  224. package/dist/ts/ts/Json/context/rocrate/isa_protocol_context.d.ts +1 -1
  225. package/dist/ts/ts/Json/context/rocrate/isa_protocol_context.js +61 -0
  226. package/dist/ts/ts/Json/context/rocrate/isa_publication_context.d.ts +1 -1
  227. package/dist/ts/ts/Json/context/rocrate/isa_publication_context.js +45 -0
  228. package/dist/ts/ts/Json/context/rocrate/isa_sample_context.d.ts +1 -1
  229. package/dist/ts/ts/Json/context/rocrate/isa_sample_context.js +33 -0
  230. package/dist/ts/ts/Json/context/rocrate/isa_source_context.d.ts +1 -1
  231. package/dist/ts/ts/Json/context/rocrate/isa_source_context.js +33 -0
  232. package/dist/ts/ts/Json/context/rocrate/isa_study_context.d.ts +1 -1
  233. package/dist/ts/ts/Json/context/rocrate/isa_study_context.js +77 -0
  234. package/dist/ts/ts/Json/context/rocrate/property_value_context.d.ts +1 -1
  235. package/dist/ts/ts/Json/context/rocrate/property_value_context.js +61 -0
  236. package/dist/ts/ts/Json/context/rocrate/rocrate_context.d.ts +1 -1
  237. package/dist/ts/ts/Json.js +171 -0
  238. package/dist/ts/ts/JsonIO/Assay.js +77 -0
  239. package/dist/ts/ts/JsonIO/Investigation.js +77 -0
  240. package/dist/ts/ts/JsonIO/LDObject.js +77 -0
  241. package/dist/ts/ts/JsonIO/OntologyAnnotation.js +56 -0
  242. package/dist/ts/ts/JsonIO/Study.js +77 -0
  243. package/dist/ts/ts/JsonIO/Table/Compression.d.ts +1 -1
  244. package/dist/ts/ts/JsonIO/Table/Compression.js +39 -0
  245. package/dist/ts/ts/JsonIO/Table/Templates.d.ts +1 -1
  246. package/dist/ts/ts/JsonIO/Table/Templates.js +25 -0
  247. package/dist/ts/ts/ROCrate/Generic/Comment.js +103 -0
  248. package/dist/ts/ts/ROCrate/Generic/Dataset.js +624 -0
  249. package/dist/ts/ts/ROCrate/Generic/DefinedTerm.js +103 -0
  250. package/dist/ts/ts/ROCrate/Generic/File.js +184 -0
  251. package/dist/ts/ts/ROCrate/Generic/LabProcess.js +222 -0
  252. package/dist/ts/ts/ROCrate/Generic/LabProtocol.js +257 -0
  253. package/dist/ts/ts/ROCrate/Generic/Organization.js +63 -0
  254. package/dist/ts/ts/ROCrate/Generic/Person.js +377 -0
  255. package/dist/ts/ts/ROCrate/Generic/PostalAddress.js +143 -0
  256. package/dist/ts/ts/ROCrate/Generic/PropertyValue.js +512 -0
  257. package/dist/ts/ts/ROCrate/Generic/Sample.js +131 -0
  258. package/dist/ts/ts/ROCrate/Generic/ScholarlyArticle.js +173 -0
  259. package/dist/ts/ts/ROCrate/Helper.js +7 -0
  260. package/dist/ts/ts/ROCrate/LDContext.js +288 -0
  261. package/dist/ts/ts/ROCrate/LDObject.js +855 -0
  262. package/dist/ts/ts/ROCrate/ROCrateContext.js +39 -0
  263. package/dist/ts/ts/ROCrateIO.d.ts +1 -1
  264. package/dist/ts/ts/ROCrateIO.js +58 -0
  265. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts +2 -2
  266. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
  267. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.js +149 -0
  268. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.js +63 -0
  269. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts +2 -2
  270. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
  271. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +108 -0
  272. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeHeader.js +410 -0
  273. package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts +2 -2
  274. package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts.map +1 -1
  275. package/dist/ts/ts/Spreadsheet/ArcAssay.js +169 -0
  276. package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts +2 -2
  277. package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts.map +1 -1
  278. package/dist/ts/ts/Spreadsheet/ArcInvestigation.js +316 -0
  279. package/dist/ts/ts/Spreadsheet/ArcRun.d.ts +2 -2
  280. package/dist/ts/ts/Spreadsheet/ArcRun.d.ts.map +1 -1
  281. package/dist/ts/ts/Spreadsheet/ArcRun.js +136 -0
  282. package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts +2 -2
  283. package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts.map +1 -1
  284. package/dist/ts/ts/Spreadsheet/ArcStudy.js +92 -0
  285. package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts +2 -2
  286. package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts.map +1 -1
  287. package/dist/ts/ts/Spreadsheet/ArcWorkflow.js +125 -0
  288. package/dist/ts/ts/Spreadsheet/CollectionAux.js +34 -0
  289. package/dist/ts/ts/Spreadsheet/DataMap.d.ts +1 -1
  290. package/dist/ts/ts/Spreadsheet/DataMap.d.ts.map +1 -1
  291. package/dist/ts/ts/Spreadsheet/DataMap.js +33 -0
  292. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.d.ts +2 -2
  293. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.d.ts.map +1 -1
  294. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.js +41 -0
  295. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.d.ts +1 -1
  296. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.d.ts.map +1 -1
  297. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.js +418 -0
  298. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts +3 -3
  299. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts.map +1 -1
  300. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.js +85 -0
  301. package/dist/ts/ts/Spreadsheet/Metadata/Assays.js +90 -0
  302. package/dist/ts/ts/Spreadsheet/Metadata/Comment.js +58 -0
  303. package/dist/ts/ts/Spreadsheet/Metadata/Contacts.js +85 -0
  304. package/dist/ts/ts/Spreadsheet/Metadata/Conversions.js +133 -0
  305. package/dist/ts/ts/Spreadsheet/Metadata/DesignDescriptors.js +15 -0
  306. package/dist/ts/ts/Spreadsheet/Metadata/Factors.js +74 -0
  307. package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.js +58 -0
  308. package/dist/ts/ts/Spreadsheet/Metadata/OntologySourceReference.js +62 -0
  309. package/dist/ts/ts/Spreadsheet/Metadata/Protocols.js +94 -0
  310. package/dist/ts/ts/Spreadsheet/Metadata/Publication.js +81 -0
  311. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +91 -0
  312. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts +3 -3
  313. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
  314. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.js +193 -0
  315. package/dist/ts/ts/Spreadsheet/Metadata/Study.js +238 -0
  316. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +105 -0
  317. package/dist/ts/ts/Template.Web.js +22 -0
  318. package/dist/ts/ts/ValidationPackages/ValidationPackage.js +53 -0
  319. package/dist/ts/ts/ValidationPackages/ValidationPackagesConfig.js +78 -0
  320. package/dist/ts/ts/WebRequest/WebRequest.Node.js +13 -0
  321. package/dist/ts/ts/WebRequest/WebRequest.js +19 -0
  322. package/dist/ts/ts/Xlsx.d.ts +1 -1
  323. package/dist/ts/ts/Xlsx.d.ts.map +1 -1
  324. package/dist/ts/ts/Xlsx.js +91 -0
  325. package/dist/ts/ts/Yaml/Encode.js +8 -0
  326. package/dist/ts/ts/Yaml/ValidationPackage.js +26 -0
  327. package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +40 -0
  328. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/DynamicObj.fs.js +344 -0
  329. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/FableJS.fs.js +103 -0
  330. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/HashCodes.fs.js +19 -0
  331. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/PropertyHelper.fs.js +17 -0
  332. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/ReflectionUtils.fs.js +7 -0
  333. package/dist/ts/ts/fable_modules/Fable.Exceljs.1.6.0/ExcelJs.fs.js +5 -0
  334. package/dist/ts/ts/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +18 -0
  335. package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +44 -0
  336. package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +5 -0
  337. package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +142 -0
  338. package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +76 -0
  339. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Cells/FsCell.fs.js +359 -0
  340. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Cells/FsCellsCollection.fs.js +344 -0
  341. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsAddress.fs.js +154 -0
  342. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsColumn.fs.js +116 -0
  343. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsRow.fs.js +126 -0
  344. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsWorkbook.fs.js +135 -0
  345. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsWorksheet.fs.js +422 -0
  346. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/HashCodes.fs.js +5 -0
  347. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Json/Value.fs.js +25 -0
  348. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRange.fs.js +28 -0
  349. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeAddress.fs.js +82 -0
  350. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeBase.fs.js +69 -0
  351. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeColumn.fs.js +42 -0
  352. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeRow.fs.js +29 -0
  353. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Tables/FsTable.fs.js +348 -0
  354. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Tables/FsTableField.fs.js +86 -0
  355. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Cell.fs.js +68 -0
  356. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/FsExtensions.fs.js +12 -0
  357. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Table.fs.js +54 -0
  358. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Workbook.fs.js +33 -0
  359. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Worksheet.fs.js +63 -0
  360. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Xlsx.fs.js +66 -0
  361. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js +544 -0
  362. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Encode.fs.js +31 -0
  363. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js +38 -0
  364. package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.4.1/Decode.fs.js +79 -0
  365. package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.4.1/Encode.fs.js +57 -0
  366. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Decode.fs.js +235 -0
  367. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Encode.fs.js +16 -0
  368. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Persil.fs.js +45 -0
  369. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Preprocessing.fs.js +89 -0
  370. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Reader.fs.js +480 -0
  371. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Regex.fs.js +11 -0
  372. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/RegexActivePatterns.fs.js +212 -0
  373. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Writer.fs.js +164 -0
  374. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js +136 -0
  375. package/package.json +10 -7
  376. package/dist/ts/__vite-browser-external-2447137e.js +0 -4
  377. package/dist/ts/__vite-browser-external-b3701507.cjs +0 -1
  378. package/dist/ts/arctrl.cjs.js +0 -5691
  379. package/dist/ts/arctrl.es.js +0 -35562
  380. package/dist/ts/arctrl.umd.js +0 -5691
@@ -0,0 +1,923 @@
1
+ import { toText, printf, toFail } from '../../node_modules/@fable-org/fable-library-js/String.js';
2
+ import { Comment$ } from './Comment.js';
3
+ import { tryPick, toList, delay, choose, fold, indexed, map as map$2, append as append$1, singleton as singleton$1, empty as empty$1, zip as zip$1, filter } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
4
+ import { value, unwrap, defaultArg, map as map$1 } from '../../node_modules/@fable-org/fable-library-js/Option.js';
5
+ import { ResizeArray_filter, Option_fromValueWithDefault } from './Helper/Collections.js';
6
+ import { OntologyAnnotation } from './OntologyAnnotation.js';
7
+ import { Value_Name, Value, Value_Ontology } from './Value.js';
8
+ import { CompositeCell_FreeText, CompositeCell_Unitized, CompositeCell_Term } from './Table/CompositeCell.js';
9
+ import { Component_create_Z2F0B38C7 } from './Process/Component.js';
10
+ import { CompositeHeader_Comment, CompositeHeader_Parameter, CompositeHeader_Component, CompositeHeader_Characteristic, CompositeHeader_Factor, CompositeHeader_ProtocolREF, CompositeHeader_Input, IOType_Source, IOType_Data, IOType_Material, IOType_Sample, CompositeHeader_ProtocolType, CompositeHeader_ProtocolDescription, CompositeHeader_ProtocolUri, CompositeHeader_ProtocolVersion, CompositeHeader_Output } from './Table/CompositeHeader.js';
11
+ import { ProtocolParameter } from './Process/ProtocolParameter.js';
12
+ import { ProcessParameterValue } from './Process/ProcessParameterValue.js';
13
+ import { FactorValue_create_30BDC49 } from './Process/FactorValue.js';
14
+ import { Factor } from './Process/Factor.js';
15
+ import { toString } from '../../node_modules/@fable-org/fable-library-js/Types.js';
16
+ import { MaterialAttributeValue_create_ZE1D108D } from './Process/MaterialAttributeValue.js';
17
+ import { MaterialAttribute_create_A220A8A } from './Process/MaterialAttribute.js';
18
+ import { ProcessInput__get_Name, ProcessInput__isSource, ProcessInput__isSample, ProcessInput__isData, ProcessInput__isMaterial, ProcessInput_getCharacteristicValues_5B3D5BA9, ProcessInput_createSource_Z5E00540E, ProcessInput_createMaterial_4452CB4C, ProcessInput_createRawData_Z721C83C5, ProcessInput_createSample_Z598187B7, ProcessInput_Source, ProcessInput_setCharacteristicValues } from './Process/ProcessInput.js';
19
+ import { ProcessOutput__get_Name, ProcessOutput__isSample, ProcessOutput__isData, ProcessOutput__isMaterial, ProcessOutput_getFactorValues_Z42C11600, ProcessOutput_createMaterial_4452CB4C, ProcessOutput_createRawData_Z721C83C5, ProcessOutput_createSample_Z598187B7, ProcessOutput_Sample, ProcessOutput_setFactorValues } from './Process/ProcessOutput.js';
20
+ import { int32ToString, comparePrimitives, safeHash, equals, stringHash, arrayHash, equalArrays } from '../../node_modules/@fable-org/fable-library-js/Util.js';
21
+ import { ActivePatterns_$007CRegex$007C_$007C } from './Helper/Regex.js';
22
+ import { tryGetParameterColumnIndex, tryGetComponentIndex, tryGetCharacteristicColumnIndex, tryGetFactorColumnIndex, ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static, ARCtrl_OntologyAnnotation__OntologyAnnotation_SetColumnIndex_Z524259A4 } from './Process/ColumnIndex.js';
23
+ import { Unchecked_alignByHeaders, Unchecked_tryGetCellAt, getEmptyCellForHeader } from './Table/ArcTableAux.js';
24
+ import { ArcTable } from './Table/ArcTable.js';
25
+ import { map, collect, empty, zip, head, tryPick as tryPick$1, sortBy, append, singleton, initialize, choose as choose$1, ofArray, length, item, mapIndexed, isEmpty } from '../../node_modules/@fable-org/fable-library-js/List.js';
26
+ import { Source_create_Z5CA08497 } from './Process/Source.js';
27
+ import { Sample_create_62424AD2 } from './Process/Sample.js';
28
+ import { Process_create_Z7C1F7FA9, Process_composeName, Process_make, Process_decomposeName_Z721C83C5 } from './Process/Process.js';
29
+ import { Protocol_create_Z414665E7, Protocol_addComponent, Protocol_addParameter, Protocol_setName, Protocol_setDescription, Protocol_setUri, Protocol_setVersion, Protocol_setProtocolType, Protocol_make } from './Process/Protocol.js';
30
+ import { List_groupBy, List_distinct } from '../../node_modules/@fable-org/fable-library-js/Seq2.js';
31
+ import { createMissingIdentifier } from './Helper/Identifier.js';
32
+ import { boxHashOption, boxHashSeq } from './Helper/HashCodes.js';
33
+ import { rangeDouble } from '../../node_modules/@fable-org/fable-library-js/Range.js';
34
+ import { ArcTables } from './Table/ArcTables.js';
35
+
36
+ const Person_orcidKey = "ORCID";
37
+ const Person_AssayIdentifierPrefix = "performer (ARC:00000168)";
38
+ const Person_createAssayIdentifierKey = (() => {
39
+ const clo_1 = toText(printf("%s %s"))(Person_AssayIdentifierPrefix);
40
+ return clo_1;
41
+ })();
42
+ function Person_setSourceAssayComment(person, assayIdentifier) {
43
+ const person_1 = person.Copy();
44
+ const comment = new Comment$(Person_createAssayIdentifierKey(assayIdentifier), assayIdentifier);
45
+ void person_1.Comments.push(comment);
46
+ return person_1;
47
+ }
48
+ function Person_getSourceAssayIdentifiersFromComments(person) {
49
+ return choose((c) => {
50
+ if (defaultArg(map$1((n) => n.startsWith(Person_AssayIdentifierPrefix), c.Name), false)) {
51
+ return c.Value;
52
+ } else {
53
+ return void 0;
54
+ }
55
+ }, person.Comments);
56
+ }
57
+ function Person_removeSourceAssayComments(person) {
58
+ return ResizeArray_filter((c) => {
59
+ if (c.Name != null) {
60
+ return !value(c.Name).startsWith(Person_AssayIdentifierPrefix);
61
+ } else {
62
+ return false;
63
+ }
64
+ }, person.Comments);
65
+ }
66
+ function Person_setOrcidFromComments(person) {
67
+ const person_1 = person.Copy();
68
+ const isOrcidComment = (c) => {
69
+ if (c.Name != null) {
70
+ return value(c.Name).toLocaleUpperCase().endsWith(Person_orcidKey);
71
+ } else {
72
+ return false;
73
+ }
74
+ };
75
+ const patternInput = [tryPick((c_1) => {
76
+ if (isOrcidComment(c_1)) {
77
+ return c_1.Value;
78
+ } else {
79
+ return void 0;
80
+ }
81
+ }, person_1.Comments), ResizeArray_filter((arg) => !isOrcidComment(arg), person_1.Comments)];
82
+ person_1.ORCID = patternInput[0];
83
+ person_1.Comments = patternInput[1];
84
+ return person_1;
85
+ }
86
+ function Person_setCommentFromORCID(person) {
87
+ const person_1 = person.Copy();
88
+ const matchValue = person_1.ORCID;
89
+ if (matchValue == null) ; else {
90
+ const orcid = value(matchValue);
91
+ const comment = Comment$.create(Person_orcidKey, orcid);
92
+ void person_1.Comments.push(comment);
93
+ }
94
+ return person_1;
95
+ }
96
+ function JsonTypes_valueOfCell(value) {
97
+ let term;
98
+ switch (value.tag) {
99
+ case /* Term */
100
+ 0:
101
+ if (term = value.fields[0], term.isEmpty()) {
102
+ value.fields[0];
103
+ return [void 0, void 0];
104
+ } else {
105
+ const term_2 = value.fields[0];
106
+ return [Value_Ontology(term_2), void 0];
107
+ }
108
+ case /* Unitized */
109
+ 2: {
110
+ const text_1 = value.fields[0];
111
+ const unit = value.fields[1];
112
+ return [text_1 === "" ? void 0 : Value.fromString(text_1), unit.isEmpty() ? void 0 : unit];
113
+ }
114
+ case /* Data */
115
+ 3: {
116
+ value.fields[0];
117
+ throw new Error("Data cell should not be parsed to isa value");
118
+ }
119
+ default:
120
+ if (value.fields[0] === "") {
121
+ return [void 0, void 0];
122
+ } else {
123
+ const text = value.fields[0];
124
+ return [Value.fromString(text), void 0];
125
+ }
126
+ }
127
+ }
128
+ function JsonTypes_composeComponent(header, value) {
129
+ const patternInput = JsonTypes_valueOfCell(value);
130
+ return Component_create_Z2F0B38C7(unwrap(patternInput[0]), unwrap(patternInput[1]), header.ToTerm());
131
+ }
132
+ function JsonTypes_composeParameterValue(header, value) {
133
+ const patternInput = JsonTypes_valueOfCell(value);
134
+ const p = ProtocolParameter.create(void 0, header.ToTerm());
135
+ return ProcessParameterValue.create(p, unwrap(patternInput[0]), unwrap(patternInput[1]));
136
+ }
137
+ function JsonTypes_composeFactorValue(header, value) {
138
+ const patternInput = JsonTypes_valueOfCell(value);
139
+ return FactorValue_create_30BDC49(void 0, Factor.create(toString(header), header.ToTerm()), unwrap(patternInput[0]), unwrap(patternInput[1]));
140
+ }
141
+ function JsonTypes_composeCharacteristicValue(header, value) {
142
+ const patternInput = JsonTypes_valueOfCell(value);
143
+ return MaterialAttributeValue_create_ZE1D108D(void 0, MaterialAttribute_create_A220A8A(void 0, header.ToTerm()), unwrap(patternInput[0]), unwrap(patternInput[1]));
144
+ }
145
+ function JsonTypes_composeFreetextMaterialName(headerFT, name) {
146
+ return `${headerFT}=${name}`;
147
+ }
148
+ function JsonTypes_composeProcessInput(header, value) {
149
+ if (header.tag === /* Input */
150
+ 11) {
151
+ switch (header.fields[0].tag) {
152
+ case /* Sample */
153
+ 1:
154
+ return ProcessInput_createSample_Z598187B7(toString(value));
155
+ case /* Material */
156
+ 3:
157
+ return ProcessInput_createMaterial_4452CB4C(toString(value));
158
+ case /* Data */
159
+ 2:
160
+ return ProcessInput_createRawData_Z721C83C5(toString(value));
161
+ case /* FreeText */
162
+ 4: {
163
+ const ft = header.fields[0].fields[0];
164
+ return ProcessInput_createMaterial_4452CB4C(JsonTypes_composeFreetextMaterialName(ft, toString(value)));
165
+ }
166
+ default:
167
+ return ProcessInput_createSource_Z5E00540E(toString(value));
168
+ }
169
+ } else {
170
+ return toFail(printf("Could not parse input header %O"))(header);
171
+ }
172
+ }
173
+ function JsonTypes_composeProcessOutput(header, value) {
174
+ let matchResult, ft;
175
+ if (header.tag === /* Output */
176
+ 12) {
177
+ switch (header.fields[0].tag) {
178
+ case /* Material */
179
+ 3: {
180
+ matchResult = 1;
181
+ break;
182
+ }
183
+ case /* Data */
184
+ 2: {
185
+ matchResult = 2;
186
+ break;
187
+ }
188
+ case /* FreeText */
189
+ 4: {
190
+ matchResult = 3;
191
+ ft = header.fields[0].fields[0];
192
+ break;
193
+ }
194
+ default:
195
+ matchResult = 0;
196
+ }
197
+ } else {
198
+ matchResult = 4;
199
+ }
200
+ switch (matchResult) {
201
+ case 0:
202
+ return ProcessOutput_createSample_Z598187B7(toString(value));
203
+ case 1:
204
+ return ProcessOutput_createMaterial_4452CB4C(toString(value));
205
+ case 2:
206
+ return ProcessOutput_createRawData_Z721C83C5(toString(value));
207
+ case 3:
208
+ return ProcessOutput_createMaterial_4452CB4C(JsonTypes_composeFreetextMaterialName(ft, toString(value)));
209
+ default:
210
+ return toFail(printf("Could not parse output header %O"))(header);
211
+ }
212
+ }
213
+ function JsonTypes_cellOfValue(value$1, unit) {
214
+ const value_2 = defaultArg(value$1, Value_Name(""));
215
+ let matchResult, oa, text, name, u, f, u_1, f_1, i, u_2, i_1;
216
+ switch (value_2.tag) {
217
+ case /* Name */
218
+ 3: {
219
+ if (value_2.fields[0] === "") {
220
+ if (unit != null) {
221
+ matchResult = 3;
222
+ name = value_2.fields[0];
223
+ u = value(unit);
224
+ } else {
225
+ matchResult = 1;
226
+ }
227
+ } else if (unit != null) {
228
+ matchResult = 3;
229
+ name = value_2.fields[0];
230
+ u = value(unit);
231
+ } else {
232
+ matchResult = 2;
233
+ text = value_2.fields[0];
234
+ }
235
+ break;
236
+ }
237
+ case /* Float */
238
+ 2: {
239
+ if (unit == null) {
240
+ matchResult = 5;
241
+ f_1 = value_2.fields[0];
242
+ } else {
243
+ matchResult = 4;
244
+ f = value_2.fields[0];
245
+ u_1 = value(unit);
246
+ }
247
+ break;
248
+ }
249
+ case /* Int */
250
+ 1: {
251
+ if (unit == null) {
252
+ matchResult = 7;
253
+ i_1 = value_2.fields[0];
254
+ } else {
255
+ matchResult = 6;
256
+ i = value_2.fields[0];
257
+ u_2 = value(unit);
258
+ }
259
+ break;
260
+ }
261
+ default:
262
+ if (unit == null) {
263
+ matchResult = 0;
264
+ oa = value_2.fields[0];
265
+ } else {
266
+ matchResult = 8;
267
+ }
268
+ }
269
+ switch (matchResult) {
270
+ case 0:
271
+ return CompositeCell_Term(oa);
272
+ case 1:
273
+ return CompositeCell_Term(new OntologyAnnotation());
274
+ case 2:
275
+ return CompositeCell_Term(new OntologyAnnotation(text));
276
+ case 3:
277
+ return CompositeCell_Unitized(name, u);
278
+ case 4:
279
+ return CompositeCell_Unitized(f.toString(), u_1);
280
+ case 5:
281
+ return CompositeCell_Unitized(f_1.toString(), new OntologyAnnotation());
282
+ case 6:
283
+ return CompositeCell_Unitized(int32ToString(i), u_2);
284
+ case 7:
285
+ return CompositeCell_Unitized(int32ToString(i_1), new OntologyAnnotation());
286
+ default:
287
+ return toFail(printf("Could not parse value %O with unit %O"))(value_2)(unit);
288
+ }
289
+ }
290
+ function JsonTypes_decomposeComponent(c) {
291
+ return [CompositeHeader_Component(value(c.ComponentType)), JsonTypes_cellOfValue(c.ComponentValue, c.ComponentUnit)];
292
+ }
293
+ function JsonTypes_decomposeParameterValue(ppv) {
294
+ return [CompositeHeader_Parameter(value(value(ppv.Category).ParameterName)), JsonTypes_cellOfValue(ppv.Value, ppv.Unit)];
295
+ }
296
+ function JsonTypes_decomposeFactorValue(fv) {
297
+ return [CompositeHeader_Factor(value(value(fv.Category).FactorType)), JsonTypes_cellOfValue(fv.Value, fv.Unit)];
298
+ }
299
+ function JsonTypes_decomposeCharacteristicValue(cv) {
300
+ return [CompositeHeader_Characteristic(value(value(cv.Category).CharacteristicType)), JsonTypes_cellOfValue(cv.Value, cv.Unit)];
301
+ }
302
+ function JsonTypes_decomposeProcessInput(pi) {
303
+ switch (pi.tag) {
304
+ case /* Sample */
305
+ 1:
306
+ return [CompositeHeader_Input(IOType_Sample()), CompositeCell_FreeText(defaultArg(pi.fields[0].Name, ""))];
307
+ case /* Material */
308
+ 3:
309
+ return [CompositeHeader_Input(IOType_Material()), CompositeCell_FreeText(defaultArg(pi.fields[0].Name, ""))];
310
+ case /* Data */
311
+ 2: {
312
+ const d = pi.fields[0];
313
+ const dataType = value(d.DataType);
314
+ switch (dataType.tag) {
315
+ case /* RawDataFile */
316
+ 0:
317
+ return [CompositeHeader_Input(IOType_Data()), CompositeCell_FreeText(defaultArg(d.Name, ""))];
318
+ case /* DerivedDataFile */
319
+ 1:
320
+ return [CompositeHeader_Input(IOType_Data()), CompositeCell_FreeText(defaultArg(d.Name, ""))];
321
+ default:
322
+ return [CompositeHeader_Input(IOType_Data()), CompositeCell_FreeText(defaultArg(d.Name, ""))];
323
+ }
324
+ }
325
+ default:
326
+ return [CompositeHeader_Input(IOType_Source()), CompositeCell_FreeText(defaultArg(pi.fields[0].Name, ""))];
327
+ }
328
+ }
329
+ function JsonTypes_decomposeProcessOutput(po) {
330
+ switch (po.tag) {
331
+ case /* Material */
332
+ 2:
333
+ return [CompositeHeader_Output(IOType_Material()), CompositeCell_FreeText(defaultArg(po.fields[0].Name, ""))];
334
+ case /* Data */
335
+ 1: {
336
+ const d = po.fields[0];
337
+ const dataType = value(d.DataType);
338
+ switch (dataType.tag) {
339
+ case /* RawDataFile */
340
+ 0:
341
+ return [CompositeHeader_Output(IOType_Data()), CompositeCell_FreeText(defaultArg(d.Name, ""))];
342
+ case /* DerivedDataFile */
343
+ 1:
344
+ return [CompositeHeader_Output(IOType_Data()), CompositeCell_FreeText(defaultArg(d.Name, ""))];
345
+ default:
346
+ return [CompositeHeader_Output(IOType_Data()), CompositeCell_FreeText(defaultArg(d.Name, ""))];
347
+ }
348
+ }
349
+ default:
350
+ return [CompositeHeader_Output(IOType_Sample()), CompositeCell_FreeText(defaultArg(po.fields[0].Name, ""))];
351
+ }
352
+ }
353
+ function JsonTypes_composeTechnologyPlatform(tp) {
354
+ const matchValue = tp.TANInfo;
355
+ if (matchValue == null) {
356
+ return `${tp.NameText}`;
357
+ } else {
358
+ return `${tp.NameText} (${tp.TermAccessionShort})`;
359
+ }
360
+ }
361
+ function JsonTypes_decomposeTechnologyPlatform(name) {
362
+ const activePatternResult = ActivePatterns_$007CRegex$007C_$007C("^(?<value>.+) \\((?<ontology>[^(]*:[^)]*)\\)$", name);
363
+ if (activePatternResult != null) {
364
+ const r = value(activePatternResult);
365
+ let oa;
366
+ const tan = r.groups && r.groups.ontology || "";
367
+ oa = OntologyAnnotation.fromTermAnnotation(tan);
368
+ const v = r.groups && r.groups.value || "";
369
+ return OntologyAnnotation.create(v, unwrap(oa.TermSourceREF), unwrap(oa.TermAccessionNumber));
370
+ } else {
371
+ return OntologyAnnotation.create(name);
372
+ }
373
+ }
374
+ function ProcessParsing_tryComponentGetter(generalI, valueI, valueHeader) {
375
+ if (valueHeader.tag === /* Component */
376
+ 0) {
377
+ const oa = valueHeader.fields[0];
378
+ const newOA = oa.Copy();
379
+ ARCtrl_OntologyAnnotation__OntologyAnnotation_SetColumnIndex_Z524259A4(newOA, valueI);
380
+ const cat = CompositeHeader_Component(newOA);
381
+ return (table) => (i) => {
382
+ let matchValue;
383
+ return JsonTypes_composeComponent(cat, (matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values), matchValue == null ? getEmptyCellForHeader(cat, void 0) : value(matchValue)));
384
+ };
385
+ } else {
386
+ return void 0;
387
+ }
388
+ }
389
+ function ProcessParsing_tryParameterGetter(generalI, valueI, valueHeader) {
390
+ if (valueHeader.tag === /* Parameter */
391
+ 3) {
392
+ const cat = CompositeHeader_Parameter(ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0]));
393
+ return (table) => (i_1) => {
394
+ let matchValue;
395
+ return JsonTypes_composeParameterValue(cat, (matchValue = Unchecked_tryGetCellAt(generalI, i_1, table.Values), matchValue == null ? getEmptyCellForHeader(cat, void 0) : value(matchValue)));
396
+ };
397
+ } else {
398
+ return void 0;
399
+ }
400
+ }
401
+ function ProcessParsing_tryFactorGetter(generalI, valueI, valueHeader) {
402
+ if (valueHeader.tag === /* Factor */
403
+ 2) {
404
+ const cat = CompositeHeader_Factor(ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0]));
405
+ return (table) => (i_1) => {
406
+ let matchValue;
407
+ return JsonTypes_composeFactorValue(cat, (matchValue = Unchecked_tryGetCellAt(generalI, i_1, table.Values), matchValue == null ? getEmptyCellForHeader(cat, void 0) : value(matchValue)));
408
+ };
409
+ } else {
410
+ return void 0;
411
+ }
412
+ }
413
+ function ProcessParsing_tryCharacteristicGetter(generalI, valueI, valueHeader) {
414
+ if (valueHeader.tag === /* Characteristic */
415
+ 1) {
416
+ const cat = CompositeHeader_Characteristic(ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0]));
417
+ return (table) => (i_1) => {
418
+ let matchValue;
419
+ return JsonTypes_composeCharacteristicValue(cat, (matchValue = Unchecked_tryGetCellAt(generalI, i_1, table.Values), matchValue == null ? getEmptyCellForHeader(cat, void 0) : value(matchValue)));
420
+ };
421
+ } else {
422
+ return void 0;
423
+ }
424
+ }
425
+ function ProcessParsing_tryGetProtocolTypeGetter(generalI, header) {
426
+ if (header.tag === /* ProtocolType */
427
+ 4) {
428
+ return (table) => (i) => {
429
+ const matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values);
430
+ if (matchValue == null) {
431
+ return new OntologyAnnotation();
432
+ } else {
433
+ const cell = value(matchValue);
434
+ return cell.AsTerm;
435
+ }
436
+ };
437
+ } else {
438
+ return void 0;
439
+ }
440
+ }
441
+ function ProcessParsing_tryGetProtocolREFGetter(generalI, header) {
442
+ if (header.tag === /* ProtocolREF */
443
+ 8) {
444
+ return (table) => (i) => {
445
+ const matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values);
446
+ if (matchValue == null) {
447
+ return "";
448
+ } else {
449
+ const cell = value(matchValue);
450
+ return cell.AsFreeText;
451
+ }
452
+ };
453
+ } else {
454
+ return void 0;
455
+ }
456
+ }
457
+ function ProcessParsing_tryGetProtocolDescriptionGetter(generalI, header) {
458
+ if (header.tag === /* ProtocolDescription */
459
+ 5) {
460
+ return (table) => (i) => {
461
+ const matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values);
462
+ if (matchValue == null) {
463
+ return "";
464
+ } else {
465
+ const cell = value(matchValue);
466
+ return cell.AsFreeText;
467
+ }
468
+ };
469
+ } else {
470
+ return void 0;
471
+ }
472
+ }
473
+ function ProcessParsing_tryGetProtocolURIGetter(generalI, header) {
474
+ if (header.tag === /* ProtocolUri */
475
+ 6) {
476
+ return (table) => (i) => {
477
+ const matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values);
478
+ if (matchValue == null) {
479
+ return "";
480
+ } else {
481
+ const cell = value(matchValue);
482
+ return cell.AsFreeText;
483
+ }
484
+ };
485
+ } else {
486
+ return void 0;
487
+ }
488
+ }
489
+ function ProcessParsing_tryGetProtocolVersionGetter(generalI, header) {
490
+ if (header.tag === /* ProtocolVersion */
491
+ 7) {
492
+ return (table) => (i) => {
493
+ const matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values);
494
+ if (matchValue == null) {
495
+ return "";
496
+ } else {
497
+ const cell = value(matchValue);
498
+ return cell.AsFreeText;
499
+ }
500
+ };
501
+ } else {
502
+ return void 0;
503
+ }
504
+ }
505
+ function ProcessParsing_tryGetInputGetter(generalI, header) {
506
+ if (header.tag === /* Input */
507
+ 11) {
508
+ header.fields[0];
509
+ return (table) => (i) => {
510
+ let matchValue;
511
+ return JsonTypes_composeProcessInput(header, (matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values), matchValue == null ? getEmptyCellForHeader(header, void 0) : value(matchValue)));
512
+ };
513
+ } else {
514
+ return void 0;
515
+ }
516
+ }
517
+ function ProcessParsing_tryGetOutputGetter(generalI, header) {
518
+ if (header.tag === /* Output */
519
+ 12) {
520
+ header.fields[0];
521
+ return (table) => (i) => {
522
+ let matchValue;
523
+ return JsonTypes_composeProcessOutput(header, (matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values), matchValue == null ? getEmptyCellForHeader(header, void 0) : value(matchValue)));
524
+ };
525
+ } else {
526
+ return void 0;
527
+ }
528
+ }
529
+ function ProcessParsing_tryGetCommentGetter(generalI, header) {
530
+ if (header.tag === /* Comment */
531
+ 14) {
532
+ const c = header.fields[0];
533
+ return (table) => (i) => {
534
+ const matchValue = Unchecked_tryGetCellAt(generalI, i, table.Values);
535
+ if (matchValue == null) {
536
+ return new Comment$(c);
537
+ } else {
538
+ const cell = value(matchValue);
539
+ return new Comment$(c, cell.AsFreeText);
540
+ }
541
+ };
542
+ } else {
543
+ return void 0;
544
+ }
545
+ }
546
+ function ProcessParsing_getProcessGetter(processNameRoot, headers) {
547
+ const headers_1 = indexed(headers);
548
+ const valueHeaders = toList(indexed(filter((arg) => arg[1].IsCvParamColumn, headers_1)));
549
+ const charGetters = choose$1((tupledArg) => {
550
+ const _arg = tupledArg[1];
551
+ return ProcessParsing_tryCharacteristicGetter(_arg[0], tupledArg[0], _arg[1]);
552
+ }, valueHeaders);
553
+ const factorValueGetters = choose$1((tupledArg_1) => {
554
+ const _arg_1 = tupledArg_1[1];
555
+ return ProcessParsing_tryFactorGetter(_arg_1[0], tupledArg_1[0], _arg_1[1]);
556
+ }, valueHeaders);
557
+ const parameterValueGetters = choose$1((tupledArg_2) => {
558
+ const _arg_2 = tupledArg_2[1];
559
+ return ProcessParsing_tryParameterGetter(_arg_2[0], tupledArg_2[0], _arg_2[1]);
560
+ }, valueHeaders);
561
+ const componentGetters = choose$1((tupledArg_3) => {
562
+ const _arg_3 = tupledArg_3[1];
563
+ return ProcessParsing_tryComponentGetter(_arg_3[0], tupledArg_3[0], _arg_3[1]);
564
+ }, valueHeaders);
565
+ const protocolTypeGetter = tryPick((tupledArg_4) => ProcessParsing_tryGetProtocolTypeGetter(tupledArg_4[0], tupledArg_4[1]), headers_1);
566
+ const protocolREFGetter = tryPick((tupledArg_5) => ProcessParsing_tryGetProtocolREFGetter(tupledArg_5[0], tupledArg_5[1]), headers_1);
567
+ const protocolDescriptionGetter = tryPick((tupledArg_6) => ProcessParsing_tryGetProtocolDescriptionGetter(tupledArg_6[0], tupledArg_6[1]), headers_1);
568
+ const protocolURIGetter = tryPick((tupledArg_7) => ProcessParsing_tryGetProtocolURIGetter(tupledArg_7[0], tupledArg_7[1]), headers_1);
569
+ const protocolVersionGetter = tryPick((tupledArg_8) => ProcessParsing_tryGetProtocolVersionGetter(tupledArg_8[0], tupledArg_8[1]), headers_1);
570
+ const commentGetters = toList(choose((tupledArg_9) => ProcessParsing_tryGetCommentGetter(tupledArg_9[0], tupledArg_9[1]), headers_1));
571
+ let inputGetter_1;
572
+ const matchValue = tryPick((tupledArg_10) => ProcessParsing_tryGetInputGetter(tupledArg_10[0], tupledArg_10[1]), headers_1);
573
+ if (matchValue == null) {
574
+ inputGetter_1 = (table_1) => (i_1) => singleton(ProcessInput_Source(Source_create_Z5CA08497(void 0, `${processNameRoot}_Input_${i_1}`, toList(map$2((f_1) => f_1(table_1)(i_1), charGetters)))));
575
+ } else {
576
+ const inputGetter = value(matchValue);
577
+ inputGetter_1 = (table) => (i) => {
578
+ const chars = toList(map$2((f) => f(table)(i), charGetters));
579
+ const input = inputGetter(table)(i);
580
+ return !(ProcessInput__isSample(input) ? true : ProcessInput__isSource(input)) && !isEmpty(chars) ? ofArray([input, ProcessInput_createSample_Z598187B7(ProcessInput__get_Name(input), chars)]) : singleton(length(chars) > 0 ? ProcessInput_setCharacteristicValues(chars, input) : input);
581
+ };
582
+ }
583
+ let outputGetter_1;
584
+ const matchValue_1 = tryPick((tupledArg_11) => ProcessParsing_tryGetOutputGetter(tupledArg_11[0], tupledArg_11[1]), headers_1);
585
+ if (matchValue_1 == null) {
586
+ outputGetter_1 = (table_3) => (i_3) => singleton(ProcessOutput_Sample(Sample_create_62424AD2(void 0, `${processNameRoot}_Output_${i_3}`, void 0, toList(map$2((f_3) => f_3(table_3)(i_3), factorValueGetters)))));
587
+ } else {
588
+ const outputGetter = value(matchValue_1);
589
+ outputGetter_1 = (table_2) => (i_2) => {
590
+ const factors = toList(map$2((f_2) => f_2(table_2)(i_2), factorValueGetters));
591
+ const output = outputGetter(table_2)(i_2);
592
+ return !ProcessOutput__isSample(output) && !isEmpty(factors) ? ofArray([output, ProcessOutput_createSample_Z598187B7(ProcessOutput__get_Name(output), void 0, factors)]) : singleton(length(factors) > 0 ? ProcessOutput_setFactorValues(factors, output) : output);
593
+ };
594
+ }
595
+ return (table_4) => (i_4) => {
596
+ const pn = map$1((p) => Process_composeName(p, i_4), Option_fromValueWithDefault("", processNameRoot));
597
+ const paramvalues = Option_fromValueWithDefault(empty(), map((f_4) => f_4(table_4)(i_4), parameterValueGetters));
598
+ const parameters = map$1((list_5) => map((pv) => value(pv.Category), list_5), paramvalues);
599
+ const comments = Option_fromValueWithDefault(empty(), map((f_5) => f_5(table_4)(i_4), commentGetters));
600
+ let protocol;
601
+ const p_1 = Protocol_make(void 0, map$1((f_6) => f_6(table_4)(i_4), protocolREFGetter), map$1((f_7) => f_7(table_4)(i_4), protocolTypeGetter), map$1((f_8) => f_8(table_4)(i_4), protocolDescriptionGetter), map$1((f_9) => f_9(table_4)(i_4), protocolURIGetter), map$1((f_10) => f_10(table_4)(i_4), protocolVersionGetter), parameters, Option_fromValueWithDefault(empty(), map((f_11) => f_11(table_4)(i_4), componentGetters)), void 0);
602
+ let matchResult;
603
+ if (p_1.Name == null) {
604
+ if (p_1.ProtocolType == null) {
605
+ if (p_1.Description == null) {
606
+ if (p_1.Uri == null) {
607
+ if (p_1.Version == null) {
608
+ if (p_1.Components == null) {
609
+ matchResult = 0;
610
+ } else {
611
+ matchResult = 1;
612
+ }
613
+ } else {
614
+ matchResult = 1;
615
+ }
616
+ } else {
617
+ matchResult = 1;
618
+ }
619
+ } else {
620
+ matchResult = 1;
621
+ }
622
+ } else {
623
+ matchResult = 1;
624
+ }
625
+ } else {
626
+ matchResult = 1;
627
+ }
628
+ switch (matchResult) {
629
+ case 0: {
630
+ protocol = void 0;
631
+ break;
632
+ }
633
+ default:
634
+ protocol = p_1;
635
+ }
636
+ let patternInput;
637
+ const inputs = inputGetter_1(table_4)(i_4);
638
+ const outputs = outputGetter_1(table_4)(i_4);
639
+ patternInput = length(inputs) === 1 && length(outputs) === 2 ? [ofArray([item(0, inputs), item(0, inputs)]), outputs] : length(inputs) === 2 && length(outputs) === 1 ? [inputs, ofArray([item(0, outputs), item(0, outputs)])] : [inputs, outputs];
640
+ return Process_make(void 0, pn, protocol, paramvalues, void 0, void 0, void 0, void 0, patternInput[0], patternInput[1], comments);
641
+ };
642
+ }
643
+ function ProcessParsing_groupProcesses(ps) {
644
+ return List_groupBy((x) => {
645
+ if (x.Name != null && Process_decomposeName_Z721C83C5(value(x.Name))[1] != null) {
646
+ return Process_decomposeName_Z721C83C5(value(x.Name))[0];
647
+ } else if (x.ExecutesProtocol != null && value(x.ExecutesProtocol).Name != null) {
648
+ return value(value(x.ExecutesProtocol).Name);
649
+ } else if (x.Name != null) {
650
+ return value(x.Name);
651
+ } else if (x.ExecutesProtocol != null && value(x.ExecutesProtocol).ID != null) {
652
+ return value(value(x.ExecutesProtocol).ID);
653
+ } else {
654
+ return createMissingIdentifier();
655
+ }
656
+ }, ps, {
657
+ Equals: (x_1, y) => x_1 === y,
658
+ GetHashCode: stringHash
659
+ });
660
+ }
661
+ function ProcessParsing_mergeIdenticalProcesses(processes) {
662
+ const l = List_groupBy((x) => {
663
+ if (x.Name != null && Process_decomposeName_Z721C83C5(value(x.Name))[1] != null) {
664
+ return [Process_decomposeName_Z721C83C5(value(x.Name))[0], boxHashOption(x.ExecutesProtocol), map$1(boxHashSeq, x.ParameterValues), map$1(boxHashSeq, x.Comments)];
665
+ } else if (x.ExecutesProtocol != null && value(x.ExecutesProtocol).Name != null) {
666
+ return [value(value(x.ExecutesProtocol).Name), boxHashOption(x.ExecutesProtocol), map$1(boxHashSeq, x.ParameterValues), map$1(boxHashSeq, x.Comments)];
667
+ } else {
668
+ return [createMissingIdentifier(), boxHashOption(x.ExecutesProtocol), map$1(boxHashSeq, x.ParameterValues), map$1(boxHashSeq, x.Comments)];
669
+ }
670
+ }, processes, {
671
+ Equals: equalArrays,
672
+ GetHashCode: arrayHash
673
+ });
674
+ return mapIndexed((i, tupledArg) => {
675
+ const processes_1 = tupledArg[1];
676
+ const n = tupledArg[0][0];
677
+ const pVs = item(0, processes_1).ParameterValues;
678
+ const inputs = Option_fromValueWithDefault(empty(), collect((p) => defaultArg(p.Inputs, empty()), processes_1));
679
+ const outputs = Option_fromValueWithDefault(empty(), collect((p_1) => defaultArg(p_1.Outputs, empty()), processes_1));
680
+ return Process_create_Z7C1F7FA9(void 0, length(l) > 1 ? Process_composeName(n, i) : n, unwrap(item(0, processes_1).ExecutesProtocol), unwrap(pVs), void 0, void 0, void 0, void 0, unwrap(inputs), unwrap(outputs), unwrap(item(0, processes_1).Comments));
681
+ }, l);
682
+ }
683
+ function ProcessParsing_processToRows(p) {
684
+ let list_4;
685
+ const pvs = map((ppv) => [JsonTypes_decomposeParameterValue(ppv), tryGetParameterColumnIndex(ppv)], defaultArg(p.ParameterValues, empty()));
686
+ let components;
687
+ const matchValue = p.ExecutesProtocol;
688
+ components = matchValue == null ? empty() : map((ppv_1) => [JsonTypes_decomposeComponent(ppv_1), tryGetComponentIndex(ppv_1)], defaultArg(value(matchValue).Components, empty()));
689
+ let protVals;
690
+ const matchValue_1 = p.ExecutesProtocol;
691
+ if (matchValue_1 == null) {
692
+ protVals = empty();
693
+ } else {
694
+ const prot_1 = value(matchValue_1);
695
+ protVals = toList(delay(() => append$1(prot_1.Name != null ? singleton$1([CompositeHeader_ProtocolREF(), CompositeCell_FreeText(value(prot_1.Name))]) : empty$1(), delay(() => append$1(prot_1.ProtocolType != null ? singleton$1([CompositeHeader_ProtocolType(), CompositeCell_Term(value(prot_1.ProtocolType))]) : empty$1(), delay(() => append$1(prot_1.Description != null ? singleton$1([CompositeHeader_ProtocolDescription(), CompositeCell_FreeText(value(prot_1.Description))]) : empty$1(), delay(() => append$1(prot_1.Uri != null ? singleton$1([CompositeHeader_ProtocolUri(), CompositeCell_FreeText(value(prot_1.Uri))]) : empty$1(), delay(() => prot_1.Version != null ? singleton$1([CompositeHeader_ProtocolVersion(), CompositeCell_FreeText(value(prot_1.Version))]) : empty$1()))))))))));
696
+ }
697
+ const comments = map((c) => [CompositeHeader_Comment(defaultArg(c.Name, "")), CompositeCell_FreeText(defaultArg(c.Value, ""))], defaultArg(p.Comments, empty()));
698
+ return map((tupledArg_1) => {
699
+ const ios = tupledArg_1[1];
700
+ const inputForCharas = defaultArg(tryPick$1((tupledArg_2) => {
701
+ const i_2 = tupledArg_2[0];
702
+ if (ProcessInput__isSource(i_2) ? true : ProcessInput__isSample(i_2)) {
703
+ return i_2;
704
+ } else {
705
+ return void 0;
706
+ }
707
+ }, ios), head(ios)[0]);
708
+ const inputForType = defaultArg(tryPick$1((tupledArg_3) => {
709
+ const i_3 = tupledArg_3[0];
710
+ if (ProcessInput__isData(i_3) ? true : ProcessInput__isMaterial(i_3)) {
711
+ return i_3;
712
+ } else {
713
+ return void 0;
714
+ }
715
+ }, ios), head(ios)[0]);
716
+ const chars = map((cv) => [JsonTypes_decomposeCharacteristicValue(cv), tryGetCharacteristicColumnIndex(cv)], ProcessInput_getCharacteristicValues_5B3D5BA9(inputForCharas));
717
+ const outputForFactors = defaultArg(tryPick$1((tupledArg_4) => {
718
+ const o_4 = tupledArg_4[1];
719
+ if (ProcessOutput__isSample(o_4)) {
720
+ return o_4;
721
+ } else {
722
+ return void 0;
723
+ }
724
+ }, ios), head(ios)[1]);
725
+ const outputForType = defaultArg(tryPick$1((tupledArg_5) => {
726
+ const o_5 = tupledArg_5[1];
727
+ if (ProcessOutput__isData(o_5) ? true : ProcessOutput__isMaterial(o_5)) {
728
+ return o_5;
729
+ } else {
730
+ return void 0;
731
+ }
732
+ }, ios), head(ios)[1]);
733
+ const vals = map((tuple_5) => tuple_5[0], sortBy((arg) => defaultArg(arg[1], 1e4), append(chars, append(components, append(pvs, map((fv) => [JsonTypes_decomposeFactorValue(fv), tryGetFactorColumnIndex(fv)], ProcessOutput_getFactorValues_Z42C11600(outputForFactors))))), {
734
+ Compare: comparePrimitives
735
+ }));
736
+ return toList(delay(() => append$1(singleton$1(JsonTypes_decomposeProcessInput(inputForType)), delay(() => append$1(protVals, delay(() => append$1(vals, delay(() => append$1(comments, delay(() => singleton$1(JsonTypes_decomposeProcessOutput(outputForType))))))))))));
737
+ }, List_groupBy((tupledArg) => [ProcessInput__get_Name(tupledArg[0]), ProcessOutput__get_Name(tupledArg[1])], (list_4 = defaultArg(p.Outputs, empty()), zip(defaultArg(p.Inputs, empty()), list_4)), {
738
+ Equals: equalArrays,
739
+ GetHashCode: arrayHash
740
+ }));
741
+ }
742
+ function CompositeRow_toProtocol(tableName, row) {
743
+ return fold((p, hc) => {
744
+ let matchResult, oa, v, v_1, v_2, v_3, oa_1, oa_2, unit, v_4, oa_3, t;
745
+ switch (hc[0].tag) {
746
+ case /* ProtocolType */
747
+ 4: {
748
+ if (hc[1].tag === /* Term */
749
+ 0) {
750
+ matchResult = 0;
751
+ oa = hc[1].fields[0];
752
+ } else {
753
+ matchResult = 8;
754
+ }
755
+ break;
756
+ }
757
+ case /* ProtocolVersion */
758
+ 7: {
759
+ if (hc[1].tag === /* FreeText */
760
+ 1) {
761
+ matchResult = 1;
762
+ v = hc[1].fields[0];
763
+ } else {
764
+ matchResult = 8;
765
+ }
766
+ break;
767
+ }
768
+ case /* ProtocolUri */
769
+ 6: {
770
+ if (hc[1].tag === /* FreeText */
771
+ 1) {
772
+ matchResult = 2;
773
+ v_1 = hc[1].fields[0];
774
+ } else {
775
+ matchResult = 8;
776
+ }
777
+ break;
778
+ }
779
+ case /* ProtocolDescription */
780
+ 5: {
781
+ if (hc[1].tag === /* FreeText */
782
+ 1) {
783
+ matchResult = 3;
784
+ v_2 = hc[1].fields[0];
785
+ } else {
786
+ matchResult = 8;
787
+ }
788
+ break;
789
+ }
790
+ case /* ProtocolREF */
791
+ 8: {
792
+ if (hc[1].tag === /* FreeText */
793
+ 1) {
794
+ matchResult = 4;
795
+ v_3 = hc[1].fields[0];
796
+ } else {
797
+ matchResult = 8;
798
+ }
799
+ break;
800
+ }
801
+ case /* Parameter */
802
+ 3: {
803
+ matchResult = 5;
804
+ oa_1 = hc[0].fields[0];
805
+ break;
806
+ }
807
+ case /* Component */
808
+ 0: {
809
+ switch (hc[1].tag) {
810
+ case /* Unitized */
811
+ 2: {
812
+ matchResult = 6;
813
+ oa_2 = hc[0].fields[0];
814
+ unit = hc[1].fields[1];
815
+ v_4 = hc[1].fields[0];
816
+ break;
817
+ }
818
+ case /* Term */
819
+ 0: {
820
+ matchResult = 7;
821
+ oa_3 = hc[0].fields[0];
822
+ t = hc[1].fields[0];
823
+ break;
824
+ }
825
+ default:
826
+ matchResult = 8;
827
+ }
828
+ break;
829
+ }
830
+ default:
831
+ matchResult = 8;
832
+ }
833
+ switch (matchResult) {
834
+ case 0:
835
+ return Protocol_setProtocolType(p, oa);
836
+ case 1:
837
+ return Protocol_setVersion(p, v);
838
+ case 2:
839
+ return Protocol_setUri(p, v_1);
840
+ case 3:
841
+ return Protocol_setDescription(p, v_2);
842
+ case 4:
843
+ return Protocol_setName(p, v_3);
844
+ case 5:
845
+ return Protocol_addParameter(ProtocolParameter.create(void 0, oa_1), p);
846
+ case 6:
847
+ return Protocol_addComponent(Component_create_Z2F0B38C7(Value.fromString(v_4), unit, oa_2), p);
848
+ case 7:
849
+ return Protocol_addComponent(Component_create_Z2F0B38C7(Value_Ontology(t), void 0, oa_3), p);
850
+ default:
851
+ return p;
852
+ }
853
+ }, Protocol_create_Z414665E7(void 0, tableName), row);
854
+ }
855
+ function ARCtrl_ArcTable__ArcTable_GetProtocols(this$) {
856
+ let source;
857
+ if (this$.RowCount === 0) {
858
+ return singleton((source = this$.Headers, fold((p, h) => {
859
+ switch (h.tag) {
860
+ case /* ProtocolType */
861
+ 4:
862
+ return Protocol_setProtocolType(p, new OntologyAnnotation());
863
+ case /* ProtocolVersion */
864
+ 7:
865
+ return Protocol_setVersion(p, "");
866
+ case /* ProtocolUri */
867
+ 6:
868
+ return Protocol_setUri(p, "");
869
+ case /* ProtocolDescription */
870
+ 5:
871
+ return Protocol_setDescription(p, "");
872
+ case /* ProtocolREF */
873
+ 8:
874
+ return Protocol_setName(p, "");
875
+ case /* Parameter */
876
+ 3: {
877
+ const oa = h.fields[0];
878
+ return Protocol_addParameter(ProtocolParameter.create(void 0, oa), p);
879
+ }
880
+ case /* Component */
881
+ 0:
882
+ return Protocol_addComponent(Component_create_Z2F0B38C7(void 0, void 0, h.fields[0]), p);
883
+ default:
884
+ return p;
885
+ }
886
+ }, Protocol_create_Z414665E7(void 0, this$.Name), source)));
887
+ } else {
888
+ return List_distinct(initialize(this$.RowCount, (i) => {
889
+ let row;
890
+ const source_2 = this$.GetRow(i, true);
891
+ row = zip$1(this$.Headers, source_2);
892
+ return CompositeRow_toProtocol(this$.Name, row);
893
+ }), {
894
+ Equals: equals,
895
+ GetHashCode: safeHash
896
+ });
897
+ }
898
+ }
899
+ function ARCtrl_ArcTable__ArcTable_GetProcesses(this$) {
900
+ if (this$.RowCount === 0) {
901
+ return singleton(Process_create_Z7C1F7FA9(void 0, this$.Name));
902
+ } else {
903
+ let getter;
904
+ const clo = ProcessParsing_getProcessGetter(this$.Name, this$.Headers);
905
+ getter = (arg) => {
906
+ const clo_1 = clo(arg);
907
+ return clo_1;
908
+ };
909
+ return ProcessParsing_mergeIdenticalProcesses(toList(delay(() => map$2((i) => getter(this$)(i), rangeDouble(0, 1, this$.RowCount - 1)))));
910
+ }
911
+ }
912
+ function ARCtrl_ArcTables__ArcTables_GetProcesses(this$) {
913
+ return collect(ARCtrl_ArcTable__ArcTable_GetProcesses, toList(this$.Tables));
914
+ }
915
+ function ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(ps) {
916
+ let collection;
917
+ return new ArcTables((collection = map((tupledArg) => {
918
+ const tupledArg_1 = Unchecked_alignByHeaders(true, collect(ProcessParsing_processToRows, tupledArg[1]));
919
+ return ArcTable.fromArcTableValues(tupledArg[0], tupledArg_1[0], tupledArg_1[1]);
920
+ }, ProcessParsing_groupProcesses(ps)), Array.from(collection)));
921
+ }
922
+
923
+ export { ARCtrl_ArcTable__ArcTable_GetProcesses, ARCtrl_ArcTable__ArcTable_GetProtocols, ARCtrl_ArcTables__ArcTables_GetProcesses, ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D, CompositeRow_toProtocol, JsonTypes_cellOfValue, JsonTypes_composeCharacteristicValue, JsonTypes_composeComponent, JsonTypes_composeFactorValue, JsonTypes_composeFreetextMaterialName, JsonTypes_composeParameterValue, JsonTypes_composeProcessInput, JsonTypes_composeProcessOutput, JsonTypes_composeTechnologyPlatform, JsonTypes_decomposeCharacteristicValue, JsonTypes_decomposeComponent, JsonTypes_decomposeFactorValue, JsonTypes_decomposeParameterValue, JsonTypes_decomposeProcessInput, JsonTypes_decomposeProcessOutput, JsonTypes_decomposeTechnologyPlatform, JsonTypes_valueOfCell, Person_AssayIdentifierPrefix, Person_createAssayIdentifierKey, Person_getSourceAssayIdentifiersFromComments, Person_orcidKey, Person_removeSourceAssayComments, Person_setCommentFromORCID, Person_setOrcidFromComments, Person_setSourceAssayComment, ProcessParsing_getProcessGetter, ProcessParsing_groupProcesses, ProcessParsing_mergeIdenticalProcesses, ProcessParsing_processToRows, ProcessParsing_tryCharacteristicGetter, ProcessParsing_tryComponentGetter, ProcessParsing_tryFactorGetter, ProcessParsing_tryGetCommentGetter, ProcessParsing_tryGetInputGetter, ProcessParsing_tryGetOutputGetter, ProcessParsing_tryGetProtocolDescriptionGetter, ProcessParsing_tryGetProtocolREFGetter, ProcessParsing_tryGetProtocolTypeGetter, ProcessParsing_tryGetProtocolURIGetter, ProcessParsing_tryGetProtocolVersionGetter, ProcessParsing_tryParameterGetter };