@nfdi4plants/arctrl 1.0.0-alpha10

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 (296) hide show
  1. package/ARC.js +262 -0
  2. package/Contract/Contract.js +95 -0
  3. package/Contracts/Contracts.ARCtrl.js +35 -0
  4. package/Contracts/Contracts.ArcAssay.js +65 -0
  5. package/Contracts/Contracts.ArcInvestigation.js +58 -0
  6. package/Contracts/Contracts.ArcStudy.js +65 -0
  7. package/Contracts/Contracts.Git.js +91 -0
  8. package/FileSystem/Commit.js +18 -0
  9. package/FileSystem/DefaultGitignore.js +3 -0
  10. package/FileSystem/FileSystem.js +53 -0
  11. package/FileSystem/FileSystemTree.js +223 -0
  12. package/FileSystem/Path.js +38 -0
  13. package/FileSystemTree.js +51 -0
  14. package/ISA/ISA/ArcTypes/ArcTable.js +848 -0
  15. package/ISA/ISA/ArcTypes/ArcTableAux.js +1105 -0
  16. package/ISA/ISA/ArcTypes/ArcTables.js +479 -0
  17. package/ISA/ISA/ArcTypes/ArcTypes.js +2281 -0
  18. package/ISA/ISA/ArcTypes/CompositeCell.js +180 -0
  19. package/ISA/ISA/ArcTypes/CompositeColumn.js +48 -0
  20. package/ISA/ISA/ArcTypes/CompositeHeader.js +668 -0
  21. package/ISA/ISA/ArcTypes/CompositeRow.js +111 -0
  22. package/ISA/ISA/ArcTypes/IdentifierSetters.js +26 -0
  23. package/ISA/ISA/Builder/Types.js +243 -0
  24. package/ISA/ISA/Fable.js +50 -0
  25. package/ISA/ISA/Helper.js +338 -0
  26. package/ISA/ISA/Identifier.js +76 -0
  27. package/ISA/ISA/JsonTypes/AnnotationValue.js +56 -0
  28. package/ISA/ISA/JsonTypes/Assay.js +620 -0
  29. package/ISA/ISA/JsonTypes/AssayMaterials.js +39 -0
  30. package/ISA/ISA/JsonTypes/ColumnIndex.js +246 -0
  31. package/ISA/ISA/JsonTypes/Comment.js +58 -0
  32. package/ISA/ISA/JsonTypes/CommentList.js +139 -0
  33. package/ISA/ISA/JsonTypes/Component.js +158 -0
  34. package/ISA/ISA/JsonTypes/Data.js +55 -0
  35. package/ISA/ISA/JsonTypes/DataFile.js +68 -0
  36. package/ISA/ISA/JsonTypes/Factor.js +128 -0
  37. package/ISA/ISA/JsonTypes/FactorValue.js +109 -0
  38. package/ISA/ISA/JsonTypes/Investigation.js +204 -0
  39. package/ISA/ISA/JsonTypes/Material.js +66 -0
  40. package/ISA/ISA/JsonTypes/MaterialAttribute.js +101 -0
  41. package/ISA/ISA/JsonTypes/MaterialAttributeValue.js +126 -0
  42. package/ISA/ISA/JsonTypes/MaterialType.js +41 -0
  43. package/ISA/ISA/JsonTypes/OntologyAnnotation.js +219 -0
  44. package/ISA/ISA/JsonTypes/OntologySourceReference.js +85 -0
  45. package/ISA/ISA/JsonTypes/Person.js +137 -0
  46. package/ISA/ISA/JsonTypes/Process.js +401 -0
  47. package/ISA/ISA/JsonTypes/ProcessInput.js +297 -0
  48. package/ISA/ISA/JsonTypes/ProcessOutput.js +263 -0
  49. package/ISA/ISA/JsonTypes/ProcessParameterValue.js +129 -0
  50. package/ISA/ISA/JsonTypes/ProcessSequence.js +255 -0
  51. package/ISA/ISA/JsonTypes/Protocol.js +277 -0
  52. package/ISA/ISA/JsonTypes/ProtocolParameter.js +101 -0
  53. package/ISA/ISA/JsonTypes/Publication.js +105 -0
  54. package/ISA/ISA/JsonTypes/Sample.js +71 -0
  55. package/ISA/ISA/JsonTypes/Source.js +54 -0
  56. package/ISA/ISA/JsonTypes/Study.js +942 -0
  57. package/ISA/ISA/JsonTypes/StudyMaterials.js +45 -0
  58. package/ISA/ISA/JsonTypes/URI.js +19 -0
  59. package/ISA/ISA/JsonTypes/Value.js +210 -0
  60. package/ISA/ISA/Regex.js +588 -0
  61. package/ISA/ISA.Json/Assay.js +123 -0
  62. package/ISA/ISA.Json/Comment.js +84 -0
  63. package/ISA/ISA.Json/ConverterOptions.js +33 -0
  64. package/ISA/ISA.Json/Data.js +271 -0
  65. package/ISA/ISA.Json/Decode.js +46 -0
  66. package/ISA/ISA.Json/Factor.js +194 -0
  67. package/ISA/ISA.Json/GEncode.js +15 -0
  68. package/ISA/ISA.Json/Investigation.js +132 -0
  69. package/ISA/ISA.Json/Material.js +233 -0
  70. package/ISA/ISA.Json/Ontology.js +204 -0
  71. package/ISA/ISA.Json/Person.js +204 -0
  72. package/ISA/ISA.Json/Process.js +291 -0
  73. package/ISA/ISA.Json/Protocol.js +242 -0
  74. package/ISA/ISA.Json/Publication.js +92 -0
  75. package/ISA/ISA.Json/Study.js +230 -0
  76. package/ISA/ISA.Json/Validation/Fable.js +69 -0
  77. package/ISA/ISA.Json/Validation/JsonSchemaValidation.js +88 -0
  78. package/ISA/ISA.Json/Validation/ValidationResult.js +45 -0
  79. package/ISA/ISA.Spreadsheet/AnnotationTable/ArcTable.js +137 -0
  80. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeCell.js +78 -0
  81. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeColumn.js +59 -0
  82. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeHeader.js +478 -0
  83. package/ISA/ISA.Spreadsheet/ArcAssay.js +150 -0
  84. package/ISA/ISA.Spreadsheet/ArcInvestigation.js +314 -0
  85. package/ISA/ISA.Spreadsheet/ArcStudy.js +67 -0
  86. package/ISA/ISA.Spreadsheet/CollectionAux.js +128 -0
  87. package/ISA/ISA.Spreadsheet/Metadata/Assays.js +81 -0
  88. package/ISA/ISA.Spreadsheet/Metadata/Comment.js +60 -0
  89. package/ISA/ISA.Spreadsheet/Metadata/Contacts.js +104 -0
  90. package/ISA/ISA.Spreadsheet/Metadata/Conversions.js +180 -0
  91. package/ISA/ISA.Spreadsheet/Metadata/DesignDescriptors.js +27 -0
  92. package/ISA/ISA.Spreadsheet/Metadata/Factors.js +85 -0
  93. package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +65 -0
  94. package/ISA/ISA.Spreadsheet/Metadata/OntologySourceReference.js +73 -0
  95. package/ISA/ISA.Spreadsheet/Metadata/Protocols.js +116 -0
  96. package/ISA/ISA.Spreadsheet/Metadata/Publication.js +96 -0
  97. package/ISA/ISA.Spreadsheet/Metadata/SparseTable.js +451 -0
  98. package/ISA/ISA.Spreadsheet/Metadata/Study.js +260 -0
  99. package/README.md +277 -0
  100. package/SemVer.js +60 -0
  101. package/Templates/Template.Json.js +85 -0
  102. package/Templates/Template.Spreadsheet.js +315 -0
  103. package/Templates/Template.Web.js +27 -0
  104. package/Templates/Template.js +179 -0
  105. package/Templates/Templates.js +82 -0
  106. package/WebRequest/WebRequest.js +38 -0
  107. package/fable_modules/Fable.Fetch.2.6.0/Fable.Fetch.fableproj +21 -0
  108. package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs +469 -0
  109. package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +111 -0
  110. package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs +57 -0
  111. package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js +104 -0
  112. package/fable_modules/Fable.Promise.3.2.0/Fable.Promise.fableproj +20 -0
  113. package/fable_modules/Fable.Promise.3.2.0/Promise.fs +766 -0
  114. package/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +217 -0
  115. package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs +31 -0
  116. package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +19 -0
  117. package/fable_modules/Fable.SimpleHttp.3.5.0/Fable.SimpleHttp.fableproj +23 -0
  118. package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs +357 -0
  119. package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +429 -0
  120. package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs +52 -0
  121. package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +112 -0
  122. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs +387 -0
  123. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs.js +240 -0
  124. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs +725 -0
  125. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs.js +522 -0
  126. package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs +195 -0
  127. package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs.js +208 -0
  128. package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs +209 -0
  129. package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs.js +137 -0
  130. package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs +61 -0
  131. package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs.js +62 -0
  132. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs +24 -0
  133. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs.js +56 -0
  134. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs +102 -0
  135. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs.js +6 -0
  136. package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs +200 -0
  137. package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs.js +137 -0
  138. package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs +139 -0
  139. package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs.js +116 -0
  140. package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs +120 -0
  141. package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs.js +120 -0
  142. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs +229 -0
  143. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs.js +421 -0
  144. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs +151 -0
  145. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs.js +277 -0
  146. package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs +114 -0
  147. package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs.js +104 -0
  148. package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs +177 -0
  149. package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs.js +249 -0
  150. package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs +200 -0
  151. package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs.js +125 -0
  152. package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs +202 -0
  153. package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs.js +135 -0
  154. package/fable_modules/FsSpreadsheet.4.1.0/FsSpreadsheet.fableproj +58 -0
  155. package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs +183 -0
  156. package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js +138 -0
  157. package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs +628 -0
  158. package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js +398 -0
  159. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs +19 -0
  160. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs.js +41 -0
  161. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs +222 -0
  162. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs.js +235 -0
  163. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs +93 -0
  164. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs.js +91 -0
  165. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs +65 -0
  166. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs.js +74 -0
  167. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs +22 -0
  168. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs.js +40 -0
  169. package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs +249 -0
  170. package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs.js +325 -0
  171. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs +455 -0
  172. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs.js +310 -0
  173. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs +140 -0
  174. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs.js +173 -0
  175. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs +6 -0
  176. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs.js +17 -0
  177. package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  178. package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
  179. package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  180. package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
  181. package/fable_modules/Thoth.Json.10.1.0/Decode.fs +1366 -0
  182. package/fable_modules/Thoth.Json.10.1.0/Decode.fs.js +1798 -0
  183. package/fable_modules/Thoth.Json.10.1.0/Encode.fs +621 -0
  184. package/fable_modules/Thoth.Json.10.1.0/Encode.fs.js +472 -0
  185. package/fable_modules/Thoth.Json.10.1.0/Extra.fs +31 -0
  186. package/fable_modules/Thoth.Json.10.1.0/Extra.fs.js +8 -0
  187. package/fable_modules/Thoth.Json.10.1.0/Thoth.Json.fableproj +30 -0
  188. package/fable_modules/Thoth.Json.10.1.0/Types.fs +59 -0
  189. package/fable_modules/Thoth.Json.10.1.0/Types.fs.js +98 -0
  190. package/fable_modules/Thoth.Json.10.1.0/obj/Release/netstandard2.0/Thoth.Json.AssemblyInfo.fs +19 -0
  191. package/fable_modules/Thoth.Json.10.1.0/package.json +5 -0
  192. package/fable_modules/fable-library.4.1.4/Array.d.ts +120 -0
  193. package/fable_modules/fable-library.4.1.4/Array.js +1204 -0
  194. package/fable_modules/fable-library.4.1.4/Async.d.ts +32 -0
  195. package/fable_modules/fable-library.4.1.4/Async.js +158 -0
  196. package/fable_modules/fable-library.4.1.4/AsyncBuilder.d.ts +59 -0
  197. package/fable_modules/fable-library.4.1.4/AsyncBuilder.js +183 -0
  198. package/fable_modules/fable-library.4.1.4/BigInt.d.ts +115 -0
  199. package/fable_modules/fable-library.4.1.4/BigInt.js +282 -0
  200. package/fable_modules/fable-library.4.1.4/BitConverter.d.ts +27 -0
  201. package/fable_modules/fable-library.4.1.4/BitConverter.js +138 -0
  202. package/fable_modules/fable-library.4.1.4/Boolean.d.ts +3 -0
  203. package/fable_modules/fable-library.4.1.4/Boolean.js +21 -0
  204. package/fable_modules/fable-library.4.1.4/Char.d.ts +65 -0
  205. package/fable_modules/fable-library.4.1.4/Char.js +169 -0
  206. package/fable_modules/fable-library.4.1.4/Choice.d.ts +138 -0
  207. package/fable_modules/fable-library.4.1.4/Choice.js +227 -0
  208. package/fable_modules/fable-library.4.1.4/Date.d.ts +70 -0
  209. package/fable_modules/fable-library.4.1.4/Date.js +451 -0
  210. package/fable_modules/fable-library.4.1.4/DateOffset.d.ts +63 -0
  211. package/fable_modules/fable-library.4.1.4/DateOffset.js +268 -0
  212. package/fable_modules/fable-library.4.1.4/DateOnly.d.ts +18 -0
  213. package/fable_modules/fable-library.4.1.4/DateOnly.js +124 -0
  214. package/fable_modules/fable-library.4.1.4/Decimal.d.ts +45 -0
  215. package/fable_modules/fable-library.4.1.4/Decimal.js +212 -0
  216. package/fable_modules/fable-library.4.1.4/Double.d.ts +11 -0
  217. package/fable_modules/fable-library.4.1.4/Double.js +46 -0
  218. package/fable_modules/fable-library.4.1.4/Encoding.d.ts +12 -0
  219. package/fable_modules/fable-library.4.1.4/Encoding.js +173 -0
  220. package/fable_modules/fable-library.4.1.4/Event.d.ts +31 -0
  221. package/fable_modules/fable-library.4.1.4/Event.js +93 -0
  222. package/fable_modules/fable-library.4.1.4/FSharp.Collections.d.ts +7 -0
  223. package/fable_modules/fable-library.4.1.4/FSharp.Collections.js +27 -0
  224. package/fable_modules/fable-library.4.1.4/FSharp.Core.d.ts +17 -0
  225. package/fable_modules/fable-library.4.1.4/FSharp.Core.js +69 -0
  226. package/fable_modules/fable-library.4.1.4/Global.d.ts +24 -0
  227. package/fable_modules/fable-library.4.1.4/Global.js +8 -0
  228. package/fable_modules/fable-library.4.1.4/Guid.d.ts +10 -0
  229. package/fable_modules/fable-library.4.1.4/Guid.js +142 -0
  230. package/fable_modules/fable-library.4.1.4/Int32.d.ts +28 -0
  231. package/fable_modules/fable-library.4.1.4/Int32.js +135 -0
  232. package/fable_modules/fable-library.4.1.4/List.d.ts +143 -0
  233. package/fable_modules/fable-library.4.1.4/List.js +1273 -0
  234. package/fable_modules/fable-library.4.1.4/Long.d.ts +3 -0
  235. package/fable_modules/fable-library.4.1.4/Long.js +46 -0
  236. package/fable_modules/fable-library.4.1.4/MailboxProcessor.d.ts +25 -0
  237. package/fable_modules/fable-library.4.1.4/MailboxProcessor.js +93 -0
  238. package/fable_modules/fable-library.4.1.4/Map.d.ts +178 -0
  239. package/fable_modules/fable-library.4.1.4/Map.js +1396 -0
  240. package/fable_modules/fable-library.4.1.4/MapUtil.d.ts +10 -0
  241. package/fable_modules/fable-library.4.1.4/MapUtil.js +112 -0
  242. package/fable_modules/fable-library.4.1.4/MutableMap.d.ts +52 -0
  243. package/fable_modules/fable-library.4.1.4/MutableMap.js +326 -0
  244. package/fable_modules/fable-library.4.1.4/MutableSet.d.ts +39 -0
  245. package/fable_modules/fable-library.4.1.4/MutableSet.js +232 -0
  246. package/fable_modules/fable-library.4.1.4/Native.d.ts +2 -0
  247. package/fable_modules/fable-library.4.1.4/Native.js +8 -0
  248. package/fable_modules/fable-library.4.1.4/Numeric.d.ts +19 -0
  249. package/fable_modules/fable-library.4.1.4/Numeric.js +71 -0
  250. package/fable_modules/fable-library.4.1.4/Observable.d.ts +32 -0
  251. package/fable_modules/fable-library.4.1.4/Observable.js +113 -0
  252. package/fable_modules/fable-library.4.1.4/Option.d.ts +28 -0
  253. package/fable_modules/fable-library.4.1.4/Option.js +96 -0
  254. package/fable_modules/fable-library.4.1.4/README.md +3 -0
  255. package/fable_modules/fable-library.4.1.4/Random.d.ts +37 -0
  256. package/fable_modules/fable-library.4.1.4/Random.js +170 -0
  257. package/fable_modules/fable-library.4.1.4/Range.d.ts +12 -0
  258. package/fable_modules/fable-library.4.1.4/Range.js +45 -0
  259. package/fable_modules/fable-library.4.1.4/Reflection.d.ts +119 -0
  260. package/fable_modules/fable-library.4.1.4/Reflection.js +461 -0
  261. package/fable_modules/fable-library.4.1.4/RegExp.d.ts +10 -0
  262. package/fable_modules/fable-library.4.1.4/RegExp.js +132 -0
  263. package/fable_modules/fable-library.4.1.4/Seq.d.ts +165 -0
  264. package/fable_modules/fable-library.4.1.4/Seq.js +1379 -0
  265. package/fable_modules/fable-library.4.1.4/Seq2.d.ts +18 -0
  266. package/fable_modules/fable-library.4.1.4/Seq2.js +111 -0
  267. package/fable_modules/fable-library.4.1.4/Set.d.ts +190 -0
  268. package/fable_modules/fable-library.4.1.4/Set.js +1789 -0
  269. package/fable_modules/fable-library.4.1.4/String.d.ts +49 -0
  270. package/fable_modules/fable-library.4.1.4/String.js +540 -0
  271. package/fable_modules/fable-library.4.1.4/System.Collections.Generic.d.ts +71 -0
  272. package/fable_modules/fable-library.4.1.4/System.Collections.Generic.js +307 -0
  273. package/fable_modules/fable-library.4.1.4/System.Text.d.ts +30 -0
  274. package/fable_modules/fable-library.4.1.4/System.Text.js +110 -0
  275. package/fable_modules/fable-library.4.1.4/SystemException.d.ts +5 -0
  276. package/fable_modules/fable-library.4.1.4/SystemException.js +5 -0
  277. package/fable_modules/fable-library.4.1.4/TimeOnly.d.ts +15 -0
  278. package/fable_modules/fable-library.4.1.4/TimeOnly.js +122 -0
  279. package/fable_modules/fable-library.4.1.4/TimeSpan.d.ts +34 -0
  280. package/fable_modules/fable-library.4.1.4/TimeSpan.js +177 -0
  281. package/fable_modules/fable-library.4.1.4/Timer.d.ts +19 -0
  282. package/fable_modules/fable-library.4.1.4/Timer.js +67 -0
  283. package/fable_modules/fable-library.4.1.4/Types.d.ts +58 -0
  284. package/fable_modules/fable-library.4.1.4/Types.js +208 -0
  285. package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.d.ts +2 -0
  286. package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.js +4 -0
  287. package/fable_modules/fable-library.4.1.4/Uri.d.ts +29 -0
  288. package/fable_modules/fable-library.4.1.4/Uri.js +142 -0
  289. package/fable_modules/fable-library.4.1.4/Util.d.ts +187 -0
  290. package/fable_modules/fable-library.4.1.4/Util.js +662 -0
  291. package/fable_modules/fable-library.4.1.4/lib/big.d.ts +338 -0
  292. package/fable_modules/fable-library.4.1.4/lib/big.js +826 -0
  293. package/fable_modules/fable-library.4.1.4/package.json +23 -0
  294. package/fable_modules/project_cracked.json +1 -0
  295. package/index.js +13 -0
  296. package/package.json +24 -0
@@ -0,0 +1,59 @@
1
+ import { CompositeHeader, IOType } from "../../ISA/ArcTypes/CompositeHeader.js";
2
+ import { toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
3
+ import { toFsCells, fromFsCells } from "./CompositeHeader.js";
4
+ import { singleton as singleton_1, ofArray, item, map } from "../../../fable_modules/fable-library.4.1.4/List.js";
5
+ import { FsAddress__get_RowNumber } from "../../../fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs.js";
6
+ import { FsRangeAddress__get_LastAddress } from "../../../fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs.js";
7
+ import { FsRangeBase__get_RangeAddress } from "../../../fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs.js";
8
+ import { singleton, append, toList, exists, map as map_1, delay, toArray } from "../../../fable_modules/fable-library.4.1.4/Seq.js";
9
+ import { toFsCells as toFsCells_1, fromFsCells as fromFsCells_1 } from "./CompositeCell.js";
10
+ import { rangeDouble } from "../../../fable_modules/fable-library.4.1.4/Range.js";
11
+ import { CompositeColumn } from "../../ISA/ArcTypes/CompositeColumn.js";
12
+ import { map as map_2 } from "../../../fable_modules/fable-library.4.1.4/Array.js";
13
+
14
+ /**
15
+ * Checks if the column header is a deprecated IO Header. If so, fixes it.
16
+ *
17
+ * The old format of IO Headers was only the type of IO so, e.g. "Source Name" or "Raw Data File".
18
+ *
19
+ * A "Source Name" column will now be mapped to the propper "Input [Source Name]", and all other IO types will be mapped to "Output [<IO Type>]".
20
+ */
21
+ export function fixDeprecatedIOHeader(col) {
22
+ const matchValue = IOType.ofString(col.Item(1).Value);
23
+ switch (matchValue.tag) {
24
+ case 6:
25
+ return col;
26
+ case 0: {
27
+ col.Item(1).SetValueAs(toString(new CompositeHeader(11, [new IOType(0, [])])));
28
+ return col;
29
+ }
30
+ default: {
31
+ col.Item(1).SetValueAs(toString(new CompositeHeader(12, [matchValue])));
32
+ return col;
33
+ }
34
+ }
35
+ }
36
+
37
+ export function fromFsColumns(columns) {
38
+ const header = fromFsCells(map((c) => c.Item(1), columns));
39
+ const l = FsAddress__get_RowNumber(FsRangeAddress__get_LastAddress(FsRangeBase__get_RangeAddress(item(0, columns)))) | 0;
40
+ const cells_2 = toArray(delay(() => map_1((i) => fromFsCells_1(map((c_1) => c_1.Item(i), columns)), rangeDouble(2, 1, l))));
41
+ return CompositeColumn.create(header, cells_2);
42
+ }
43
+
44
+ export function toFsColumns(column) {
45
+ const hasUnit = exists((c) => c.isUnitized, column.Cells);
46
+ const isTerm = column.Header.IsTermColumn;
47
+ const header = toFsCells(hasUnit, column.Header);
48
+ const cells = map_2((cell) => toFsCells_1(isTerm, hasUnit, cell), column.Cells);
49
+ if (hasUnit) {
50
+ return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i) => item(0, cells[i]), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_1) => item(1, cells[i_1]), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_2) => item(2, cells[i_2]), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(3, header)), delay(() => map_1((i_3) => item(3, cells[i_3]), rangeDouble(0, 1, column.Cells.length - 1))))))]);
51
+ }
52
+ else if (isTerm) {
53
+ return ofArray([toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_4) => item(0, cells[i_4]), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(1, header)), delay(() => map_1((i_5) => item(1, cells[i_5]), rangeDouble(0, 1, column.Cells.length - 1)))))), toList(delay(() => append(singleton(item(2, header)), delay(() => map_1((i_6) => item(2, cells[i_6]), rangeDouble(0, 1, column.Cells.length - 1))))))]);
54
+ }
55
+ else {
56
+ return singleton_1(toList(delay(() => append(singleton(item(0, header)), delay(() => map_1((i_7) => item(0, cells[i_7]), rangeDouble(0, 1, column.Cells.length - 1)))))));
57
+ }
58
+ }
59
+
@@ -0,0 +1,478 @@
1
+ import { printf, toFail } from "../../../fable_modules/fable-library.4.1.4/String.js";
2
+ import { singleton, tail, head, isEmpty, map } from "../../../fable_modules/fable-library.4.1.4/List.js";
3
+ import { OntologyAnnotation } from "../../ISA/JsonTypes/OntologyAnnotation.js";
4
+ import { ActivePatterns_$007COutputColumnHeader$007C_$007C, ActivePatterns_$007CInputColumnHeader$007C_$007C, tryParseComponentColumnHeader, tryParseCharacteristicColumnHeader, tryParseFactorColumnHeader, tryParseParameterColumnHeader, ActivePatterns_$007CUnitColumnHeader$007C_$007C, ActivePatterns_$007CTANColumnHeader$007C_$007C, ActivePatterns_$007CTSRColumnHeader$007C_$007C } from "../../ISA/Regex.js";
5
+ import { IOType, CompositeHeader } from "../../ISA/ArcTypes/CompositeHeader.js";
6
+ import { FsCell } from "../../../fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs.js";
7
+ import { toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
8
+ import { empty, singleton as singleton_1, append, delay, toList } from "../../../fable_modules/fable-library.4.1.4/Seq.js";
9
+
10
+ export function ActivePattern_mergeIDInfo(idSpace1, localID1, idSpace2, localID2) {
11
+ if (idSpace1 !== idSpace2) {
12
+ toFail(printf("TermSourceRef %s and %s do not match"))(idSpace1)(idSpace2);
13
+ }
14
+ if (localID1 !== localID2) {
15
+ toFail(printf("LocalID %s and %s do not match"))(localID1)(localID2);
16
+ }
17
+ return {
18
+ TermAccessionNumber: `${idSpace1}:${localID1}`,
19
+ TermSourceRef: idSpace1,
20
+ };
21
+ }
22
+
23
+ export function ActivePattern_$007CTerm$007C_$007C(categoryParser, f, cells) {
24
+ const $007CAC$007C_$007C = categoryParser;
25
+ const cellValues = map((c) => c.Value, cells);
26
+ let matchResult, name;
27
+ if (!isEmpty(cellValues)) {
28
+ const activePatternResult = $007CAC$007C_$007C(head(cellValues));
29
+ if (activePatternResult != null) {
30
+ if (isEmpty(tail(cellValues))) {
31
+ matchResult = 0;
32
+ name = activePatternResult;
33
+ }
34
+ else {
35
+ matchResult = 1;
36
+ }
37
+ }
38
+ else {
39
+ matchResult = 1;
40
+ }
41
+ }
42
+ else {
43
+ matchResult = 1;
44
+ }
45
+ switch (matchResult) {
46
+ case 0:
47
+ return f(OntologyAnnotation.fromString(name));
48
+ default: {
49
+ let matchResult_1, name_1, term1, term2;
50
+ if (!isEmpty(cellValues)) {
51
+ const activePatternResult_1 = $007CAC$007C_$007C(head(cellValues));
52
+ if (activePatternResult_1 != null) {
53
+ if (!isEmpty(tail(cellValues))) {
54
+ const activePatternResult_2 = ActivePatterns_$007CTSRColumnHeader$007C_$007C(head(tail(cellValues)));
55
+ if (activePatternResult_2 != null) {
56
+ if (!isEmpty(tail(tail(cellValues)))) {
57
+ const activePatternResult_3 = ActivePatterns_$007CTANColumnHeader$007C_$007C(head(tail(tail(cellValues))));
58
+ if (activePatternResult_3 != null) {
59
+ if (!isEmpty(tail(tail(tail(cellValues))))) {
60
+ const activePatternResult_4 = ActivePatterns_$007CTANColumnHeader$007C_$007C(head(tail(tail(tail(cellValues)))));
61
+ if (activePatternResult_4 != null) {
62
+ if (isEmpty(tail(tail(tail(tail(cellValues)))))) {
63
+ const activePatternResult_5 = ActivePatterns_$007CTSRColumnHeader$007C_$007C(head(tail(tail(cellValues))));
64
+ if (activePatternResult_5 != null) {
65
+ if (ActivePatterns_$007CUnitColumnHeader$007C_$007C(head(tail(cellValues))) != null) {
66
+ matchResult_1 = 0;
67
+ name_1 = activePatternResult_1;
68
+ term1 = activePatternResult_5;
69
+ term2 = activePatternResult_4;
70
+ }
71
+ else {
72
+ matchResult_1 = 1;
73
+ }
74
+ }
75
+ else {
76
+ matchResult_1 = 1;
77
+ }
78
+ }
79
+ else {
80
+ matchResult_1 = 1;
81
+ }
82
+ }
83
+ else {
84
+ matchResult_1 = 1;
85
+ }
86
+ }
87
+ else {
88
+ matchResult_1 = 0;
89
+ name_1 = activePatternResult_1;
90
+ term1 = activePatternResult_2;
91
+ term2 = activePatternResult_3;
92
+ }
93
+ }
94
+ else {
95
+ const activePatternResult_7 = ActivePatterns_$007CTSRColumnHeader$007C_$007C(head(tail(tail(cellValues))));
96
+ if (activePatternResult_7 != null) {
97
+ if (!isEmpty(tail(tail(tail(cellValues))))) {
98
+ const activePatternResult_8 = ActivePatterns_$007CTANColumnHeader$007C_$007C(head(tail(tail(tail(cellValues)))));
99
+ if (activePatternResult_8 != null) {
100
+ if (isEmpty(tail(tail(tail(tail(cellValues)))))) {
101
+ if (ActivePatterns_$007CUnitColumnHeader$007C_$007C(head(tail(cellValues))) != null) {
102
+ matchResult_1 = 0;
103
+ name_1 = activePatternResult_1;
104
+ term1 = activePatternResult_7;
105
+ term2 = activePatternResult_8;
106
+ }
107
+ else {
108
+ matchResult_1 = 1;
109
+ }
110
+ }
111
+ else {
112
+ matchResult_1 = 1;
113
+ }
114
+ }
115
+ else {
116
+ matchResult_1 = 1;
117
+ }
118
+ }
119
+ else {
120
+ matchResult_1 = 1;
121
+ }
122
+ }
123
+ else {
124
+ matchResult_1 = 1;
125
+ }
126
+ }
127
+ }
128
+ else {
129
+ matchResult_1 = 1;
130
+ }
131
+ }
132
+ else if (ActivePatterns_$007CUnitColumnHeader$007C_$007C(head(tail(cellValues))) != null) {
133
+ if (!isEmpty(tail(tail(cellValues)))) {
134
+ const activePatternResult_11 = ActivePatterns_$007CTSRColumnHeader$007C_$007C(head(tail(tail(cellValues))));
135
+ if (activePatternResult_11 != null) {
136
+ if (!isEmpty(tail(tail(tail(cellValues))))) {
137
+ const activePatternResult_12 = ActivePatterns_$007CTANColumnHeader$007C_$007C(head(tail(tail(tail(cellValues)))));
138
+ if (activePatternResult_12 != null) {
139
+ if (isEmpty(tail(tail(tail(tail(cellValues)))))) {
140
+ matchResult_1 = 0;
141
+ name_1 = activePatternResult_1;
142
+ term1 = activePatternResult_11;
143
+ term2 = activePatternResult_12;
144
+ }
145
+ else {
146
+ matchResult_1 = 1;
147
+ }
148
+ }
149
+ else {
150
+ matchResult_1 = 1;
151
+ }
152
+ }
153
+ else {
154
+ matchResult_1 = 1;
155
+ }
156
+ }
157
+ else {
158
+ matchResult_1 = 1;
159
+ }
160
+ }
161
+ else {
162
+ matchResult_1 = 1;
163
+ }
164
+ }
165
+ else {
166
+ matchResult_1 = 1;
167
+ }
168
+ }
169
+ else {
170
+ matchResult_1 = 1;
171
+ }
172
+ }
173
+ else {
174
+ matchResult_1 = 1;
175
+ }
176
+ }
177
+ else {
178
+ matchResult_1 = 1;
179
+ }
180
+ switch (matchResult_1) {
181
+ case 0: {
182
+ const term = ActivePattern_mergeIDInfo(term1.IDSpace, term1.LocalID, term2.IDSpace, term2.LocalID);
183
+ return f(OntologyAnnotation.fromString(name_1, term.TermSourceRef, term.TermAccessionNumber));
184
+ }
185
+ default:
186
+ return void 0;
187
+ }
188
+ }
189
+ }
190
+ }
191
+
192
+ export function ActivePattern_$007CParameter$007C_$007C(cells) {
193
+ const activePatternResult = ActivePattern_$007CTerm$007C_$007C(tryParseParameterColumnHeader, (arg) => (new CompositeHeader(3, [arg])), cells);
194
+ if (activePatternResult != null) {
195
+ const r = activePatternResult;
196
+ return r;
197
+ }
198
+ else {
199
+ return void 0;
200
+ }
201
+ }
202
+
203
+ export function ActivePattern_$007CFactor$007C_$007C(cells) {
204
+ const activePatternResult = ActivePattern_$007CTerm$007C_$007C(tryParseFactorColumnHeader, (arg) => (new CompositeHeader(2, [arg])), cells);
205
+ if (activePatternResult != null) {
206
+ const r = activePatternResult;
207
+ return r;
208
+ }
209
+ else {
210
+ return void 0;
211
+ }
212
+ }
213
+
214
+ export function ActivePattern_$007CCharacteristic$007C_$007C(cells) {
215
+ const activePatternResult = ActivePattern_$007CTerm$007C_$007C(tryParseCharacteristicColumnHeader, (arg) => (new CompositeHeader(1, [arg])), cells);
216
+ if (activePatternResult != null) {
217
+ const r = activePatternResult;
218
+ return r;
219
+ }
220
+ else {
221
+ return void 0;
222
+ }
223
+ }
224
+
225
+ export function ActivePattern_$007CComponent$007C_$007C(cells) {
226
+ const activePatternResult = ActivePattern_$007CTerm$007C_$007C(tryParseComponentColumnHeader, (arg) => (new CompositeHeader(0, [arg])), cells);
227
+ if (activePatternResult != null) {
228
+ const r = activePatternResult;
229
+ return r;
230
+ }
231
+ else {
232
+ return void 0;
233
+ }
234
+ }
235
+
236
+ export function ActivePattern_$007CInput$007C_$007C(cells) {
237
+ const cellValues = map((c) => c.Value, cells);
238
+ let matchResult, ioType;
239
+ if (!isEmpty(cellValues)) {
240
+ const activePatternResult = ActivePatterns_$007CInputColumnHeader$007C_$007C(head(cellValues));
241
+ if (activePatternResult != null) {
242
+ if (isEmpty(tail(cellValues))) {
243
+ matchResult = 0;
244
+ ioType = activePatternResult;
245
+ }
246
+ else {
247
+ matchResult = 1;
248
+ }
249
+ }
250
+ else {
251
+ matchResult = 1;
252
+ }
253
+ }
254
+ else {
255
+ matchResult = 1;
256
+ }
257
+ switch (matchResult) {
258
+ case 0:
259
+ return new CompositeHeader(11, [IOType.ofString(ioType)]);
260
+ default:
261
+ return void 0;
262
+ }
263
+ }
264
+
265
+ export function ActivePattern_$007COutput$007C_$007C(cells) {
266
+ const cellValues = map((c) => c.Value, cells);
267
+ let matchResult, ioType;
268
+ if (!isEmpty(cellValues)) {
269
+ const activePatternResult = ActivePatterns_$007COutputColumnHeader$007C_$007C(head(cellValues));
270
+ if (activePatternResult != null) {
271
+ if (isEmpty(tail(cellValues))) {
272
+ matchResult = 0;
273
+ ioType = activePatternResult;
274
+ }
275
+ else {
276
+ matchResult = 1;
277
+ }
278
+ }
279
+ else {
280
+ matchResult = 1;
281
+ }
282
+ }
283
+ else {
284
+ matchResult = 1;
285
+ }
286
+ switch (matchResult) {
287
+ case 0:
288
+ return new CompositeHeader(12, [IOType.ofString(ioType)]);
289
+ default:
290
+ return void 0;
291
+ }
292
+ }
293
+
294
+ export function ActivePattern_$007CProtocolHeader$007C_$007C(cells) {
295
+ const cellValues = map((c) => c.Value, cells);
296
+ let matchResult;
297
+ if (!isEmpty(cellValues)) {
298
+ switch (head(cellValues)) {
299
+ case "Protocol Type": {
300
+ matchResult = 0;
301
+ break;
302
+ }
303
+ case "Protocol REF": {
304
+ if (isEmpty(tail(cellValues))) {
305
+ matchResult = 1;
306
+ }
307
+ else {
308
+ matchResult = 7;
309
+ }
310
+ break;
311
+ }
312
+ case "Protocol Description": {
313
+ if (isEmpty(tail(cellValues))) {
314
+ matchResult = 2;
315
+ }
316
+ else {
317
+ matchResult = 7;
318
+ }
319
+ break;
320
+ }
321
+ case "Protocol Uri": {
322
+ if (isEmpty(tail(cellValues))) {
323
+ matchResult = 3;
324
+ }
325
+ else {
326
+ matchResult = 7;
327
+ }
328
+ break;
329
+ }
330
+ case "Protocol Version": {
331
+ if (isEmpty(tail(cellValues))) {
332
+ matchResult = 4;
333
+ }
334
+ else {
335
+ matchResult = 7;
336
+ }
337
+ break;
338
+ }
339
+ case "Performer": {
340
+ if (isEmpty(tail(cellValues))) {
341
+ matchResult = 5;
342
+ }
343
+ else {
344
+ matchResult = 7;
345
+ }
346
+ break;
347
+ }
348
+ case "Date": {
349
+ if (isEmpty(tail(cellValues))) {
350
+ matchResult = 6;
351
+ }
352
+ else {
353
+ matchResult = 7;
354
+ }
355
+ break;
356
+ }
357
+ default:
358
+ matchResult = 7;
359
+ }
360
+ }
361
+ else {
362
+ matchResult = 7;
363
+ }
364
+ switch (matchResult) {
365
+ case 0:
366
+ return new CompositeHeader(4, []);
367
+ case 1:
368
+ return new CompositeHeader(8, []);
369
+ case 2:
370
+ return new CompositeHeader(5, []);
371
+ case 3:
372
+ return new CompositeHeader(6, []);
373
+ case 4:
374
+ return new CompositeHeader(7, []);
375
+ case 5:
376
+ return new CompositeHeader(9, []);
377
+ case 6:
378
+ return new CompositeHeader(10, []);
379
+ default:
380
+ return void 0;
381
+ }
382
+ }
383
+
384
+ export function ActivePattern_$007CFreeText$007C_$007C(cells) {
385
+ const cellValues = map((c) => c.Value, cells);
386
+ let matchResult, text;
387
+ if (!isEmpty(cellValues)) {
388
+ if (isEmpty(tail(cellValues))) {
389
+ matchResult = 0;
390
+ text = head(cellValues);
391
+ }
392
+ else {
393
+ matchResult = 1;
394
+ }
395
+ }
396
+ else {
397
+ matchResult = 1;
398
+ }
399
+ switch (matchResult) {
400
+ case 0:
401
+ return new CompositeHeader(13, [text]);
402
+ default:
403
+ return void 0;
404
+ }
405
+ }
406
+
407
+ export function fromFsCells(cells) {
408
+ const activePatternResult = ActivePattern_$007CParameter$007C_$007C(cells);
409
+ if (activePatternResult != null) {
410
+ const p = activePatternResult;
411
+ return p;
412
+ }
413
+ else {
414
+ const activePatternResult_1 = ActivePattern_$007CFactor$007C_$007C(cells);
415
+ if (activePatternResult_1 != null) {
416
+ const f = activePatternResult_1;
417
+ return f;
418
+ }
419
+ else {
420
+ const activePatternResult_2 = ActivePattern_$007CCharacteristic$007C_$007C(cells);
421
+ if (activePatternResult_2 != null) {
422
+ const c = activePatternResult_2;
423
+ return c;
424
+ }
425
+ else {
426
+ const activePatternResult_3 = ActivePattern_$007CComponent$007C_$007C(cells);
427
+ if (activePatternResult_3 != null) {
428
+ const c_1 = activePatternResult_3;
429
+ return c_1;
430
+ }
431
+ else {
432
+ const activePatternResult_4 = ActivePattern_$007CInput$007C_$007C(cells);
433
+ if (activePatternResult_4 != null) {
434
+ const i = activePatternResult_4;
435
+ return i;
436
+ }
437
+ else {
438
+ const activePatternResult_5 = ActivePattern_$007COutput$007C_$007C(cells);
439
+ if (activePatternResult_5 != null) {
440
+ const o = activePatternResult_5;
441
+ return o;
442
+ }
443
+ else {
444
+ const activePatternResult_6 = ActivePattern_$007CProtocolHeader$007C_$007C(cells);
445
+ if (activePatternResult_6 != null) {
446
+ const ph = activePatternResult_6;
447
+ return ph;
448
+ }
449
+ else {
450
+ const activePatternResult_7 = ActivePattern_$007CFreeText$007C_$007C(cells);
451
+ if (activePatternResult_7 != null) {
452
+ const ft = activePatternResult_7;
453
+ return ft;
454
+ }
455
+ else {
456
+ return toFail(printf("Could not parse header group %O"))(cells);
457
+ }
458
+ }
459
+ }
460
+ }
461
+ }
462
+ }
463
+ }
464
+ }
465
+ }
466
+
467
+ export function toFsCells(hasUnit, header) {
468
+ if (header.IsSingleColumn) {
469
+ return singleton(new FsCell(toString(header)));
470
+ }
471
+ else if (header.IsTermColumn) {
472
+ return toList(delay(() => append(singleton_1(new FsCell(toString(header))), delay(() => append(hasUnit ? singleton_1(new FsCell("Unit")) : empty(), delay(() => append(singleton_1(new FsCell(`Term Source REF (${header.GetColumnAccessionShort})`)), delay(() => singleton_1(new FsCell(`Term Accession Number (${header.GetColumnAccessionShort})`))))))))));
473
+ }
474
+ else {
475
+ return toFail(printf("header %O is neither single nor term column"))(header);
476
+ }
477
+ }
478
+
@@ -0,0 +1,150 @@
1
+ import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js";
2
+ import { iterate, isEmpty as isEmpty_1, choose, tryHead, head, exists, map, singleton, append, delay, iterateIndexed } from "../../fable_modules/fable-library.4.1.4/Seq.js";
3
+ import { SparseRowModule_tryGetValueAt, SparseRowModule_fromFsRow, SparseRowModule_fromValues, SparseRowModule_writeToSheet } from "./Metadata/SparseTable.js";
4
+ import { fromRows as fromRows_1, toRows as toRows_1 } from "./Metadata/Assays.js";
5
+ import { empty, isEmpty, toArray, ofArray, singleton as singleton_1 } from "../../fable_modules/fable-library.4.1.4/List.js";
6
+ import { fromRows as fromRows_2, toRows as toRows_2 } from "./Metadata/Contacts.js";
7
+ import { getEnumerator } from "../../fable_modules/fable-library.4.1.4/Util.js";
8
+ import { ArcAssay } from "../ISA/ArcTypes/ArcTypes.js";
9
+ import { createMissingIdentifier } from "../ISA/Identifier.js";
10
+ import { defaultArg } from "../../fable_modules/fable-library.4.1.4/Option.js";
11
+ import { printf, toConsole } from "../../fable_modules/fable-library.4.1.4/String.js";
12
+ import { toFsWorksheet, tryFromFsWorksheet } from "./AnnotationTable/ArcTable.js";
13
+ import { FsWorkbook } from "../../fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js";
14
+
15
+ export function toMetadataSheet(assay) {
16
+ let assay_1;
17
+ const sheet = new FsWorksheet("isa_assay");
18
+ iterateIndexed((rowI, r) => {
19
+ SparseRowModule_writeToSheet(rowI + 1, r, sheet);
20
+ }, (assay_1 = assay, delay(() => append(singleton(SparseRowModule_fromValues(["ASSAY"])), delay(() => append(toRows_1("Assay", singleton_1(assay_1)), delay(() => append(singleton(SparseRowModule_fromValues(["ASSAY PERFORMERS"])), delay(() => toRows_2("Assay Person", ofArray(assay_1.Performers)))))))))));
21
+ return sheet;
22
+ }
23
+
24
+ export function fromMetadataSheet(sheet) {
25
+ const rows_1 = map(SparseRowModule_fromFsRow, sheet.Rows);
26
+ const patternInput = exists((row) => {
27
+ const s = head(row)[1];
28
+ return s.indexOf("Assay") === 0;
29
+ }, rows_1) ? ["Assay", "Assay Person"] : [void 0, void 0];
30
+ const en = getEnumerator(rows_1);
31
+ const loop = (lastLine_mut, assays_mut, contacts_mut, lineNumber_mut) => {
32
+ let k;
33
+ loop:
34
+ while (true) {
35
+ const lastLine = lastLine_mut, assays = assays_mut, contacts = contacts_mut, lineNumber = lineNumber_mut;
36
+ let matchResult, k_2, k_3, k_4;
37
+ if (lastLine != null) {
38
+ if ((k = lastLine, (k === "ASSAY") ? true : (k === "ASSAY METADATA"))) {
39
+ matchResult = 0;
40
+ k_2 = lastLine;
41
+ }
42
+ else if (lastLine === "ASSAY PERFORMERS") {
43
+ matchResult = 1;
44
+ k_3 = lastLine;
45
+ }
46
+ else {
47
+ matchResult = 2;
48
+ k_4 = lastLine;
49
+ }
50
+ }
51
+ else {
52
+ matchResult = 2;
53
+ k_4 = lastLine;
54
+ }
55
+ switch (matchResult) {
56
+ case 0: {
57
+ const patternInput_1 = fromRows_1(patternInput[0], lineNumber + 1, en);
58
+ lastLine_mut = patternInput_1[0];
59
+ assays_mut = patternInput_1[3];
60
+ contacts_mut = contacts;
61
+ lineNumber_mut = patternInput_1[1];
62
+ continue loop;
63
+ }
64
+ case 1: {
65
+ const patternInput_2 = fromRows_2(patternInput[1], lineNumber + 1, en);
66
+ lastLine_mut = patternInput_2[0];
67
+ assays_mut = assays;
68
+ contacts_mut = patternInput_2[3];
69
+ lineNumber_mut = patternInput_2[1];
70
+ continue loop;
71
+ }
72
+ default: {
73
+ let matchResult_1, assays_2, contacts_2;
74
+ if (isEmpty(assays)) {
75
+ if (isEmpty(contacts)) {
76
+ matchResult_1 = 0;
77
+ }
78
+ else {
79
+ matchResult_1 = 1;
80
+ assays_2 = assays;
81
+ contacts_2 = contacts;
82
+ }
83
+ }
84
+ else {
85
+ matchResult_1 = 1;
86
+ assays_2 = assays;
87
+ contacts_2 = contacts;
88
+ }
89
+ switch (matchResult_1) {
90
+ case 0:
91
+ return ArcAssay.create(createMissingIdentifier());
92
+ default: {
93
+ const arg = toArray(contacts_2);
94
+ const arg_1 = defaultArg(tryHead(assays_2), ArcAssay.create(createMissingIdentifier()));
95
+ return ArcAssay.setPerformers(arg, arg_1);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ break;
101
+ }
102
+ };
103
+ if (en["System.Collections.IEnumerator.MoveNext"]()) {
104
+ return loop(SparseRowModule_tryGetValueAt(0, en["System.Collections.Generic.IEnumerator`1.get_Current"]()), empty(), empty(), 1);
105
+ }
106
+ else {
107
+ throw new Error("empty assay metadata sheet");
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Reads an assay from a spreadsheet
113
+ */
114
+ export function fromFsWorkbook(doc) {
115
+ let assayMetaData;
116
+ const matchValue = doc.TryGetWorksheetByName("isa_assay");
117
+ if (matchValue == null) {
118
+ const matchValue_1 = doc.TryGetWorksheetByName("Assay");
119
+ if (matchValue_1 == null) {
120
+ toConsole(printf("Cannot retrieve metadata: Assay file does not contain \"%s\" or \"%s\" sheet."))("isa_assay")("Assay");
121
+ assayMetaData = ArcAssay.create(createMissingIdentifier());
122
+ }
123
+ else {
124
+ assayMetaData = fromMetadataSheet(matchValue_1);
125
+ }
126
+ }
127
+ else {
128
+ assayMetaData = fromMetadataSheet(matchValue);
129
+ }
130
+ const sheets = choose(tryFromFsWorksheet, doc.GetWorksheets());
131
+ if (isEmpty_1(sheets)) {
132
+ return assayMetaData;
133
+ }
134
+ else {
135
+ assayMetaData.Tables = Array.from(sheets);
136
+ return assayMetaData;
137
+ }
138
+ }
139
+
140
+ export function toFsWorkbook(assay) {
141
+ const doc = new FsWorkbook();
142
+ const metaDataSheet = toMetadataSheet(assay);
143
+ doc.AddWorksheet(metaDataSheet);
144
+ iterate((arg_1) => {
145
+ const arg = toFsWorksheet(arg_1);
146
+ doc.AddWorksheet(arg);
147
+ }, assay.Tables);
148
+ return doc;
149
+ }
150
+