@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,263 @@
1
+ import { Union, toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
2
+ import { printf, toText } from "../../../fable_modules/fable-library.4.1.4/String.js";
3
+ import { Sample_create_E50ED22, Sample_getUnits_Z29207F1E, Sample_setFactorValues, Sample_get_empty, Sample_$reflection } from "./Sample.js";
4
+ import { Data_create_Z326CF519, Data_$reflection } from "./Data.js";
5
+ import { Material_create_Z31BE6CDD, Material_getUnits_Z42815C11, Material_$reflection } from "./Material.js";
6
+ import { union_type } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
7
+ import { unwrap, map, defaultArg } from "../../../fable_modules/fable-library.4.1.4/Option.js";
8
+ import { empty, choose } from "../../../fable_modules/fable-library.4.1.4/List.js";
9
+ import { DataFile } from "./DataFile.js";
10
+
11
+ export class ProcessOutput extends Union {
12
+ constructor(tag, fields) {
13
+ super();
14
+ this.tag = tag;
15
+ this.fields = fields;
16
+ }
17
+ cases() {
18
+ return ["Sample", "Data", "Material"];
19
+ }
20
+ Print() {
21
+ const this$ = this;
22
+ return toString(this$);
23
+ }
24
+ PrintCompact() {
25
+ const this$ = this;
26
+ switch (this$.tag) {
27
+ case 2: {
28
+ const arg_1 = this$.fields[0].PrintCompact();
29
+ return toText(printf("Material {%s}"))(arg_1);
30
+ }
31
+ case 1: {
32
+ const arg_2 = this$.fields[0].PrintCompact();
33
+ return toText(printf("Data {%s}"))(arg_2);
34
+ }
35
+ default: {
36
+ const arg = this$.fields[0].PrintCompact();
37
+ return toText(printf("Sample {%s}"))(arg);
38
+ }
39
+ }
40
+ }
41
+ }
42
+
43
+ export function ProcessOutput_$reflection() {
44
+ return union_type("ARCtrl.ISA.ProcessOutput", [], ProcessOutput, () => [[["Item", Sample_$reflection()]], [["Item", Data_$reflection()]], [["Item", Material_$reflection()]]]);
45
+ }
46
+
47
+ export function ProcessOutput__get_TryName(this$) {
48
+ switch (this$.tag) {
49
+ case 2:
50
+ return this$.fields[0].Name;
51
+ case 1:
52
+ return this$.fields[0].Name;
53
+ default:
54
+ return this$.fields[0].Name;
55
+ }
56
+ }
57
+
58
+ export function ProcessOutput__get_Name(this$) {
59
+ return defaultArg(ProcessOutput__get_TryName(this$), "");
60
+ }
61
+
62
+ export function ProcessOutput_get_Default() {
63
+ return new ProcessOutput(0, [Sample_get_empty()]);
64
+ }
65
+
66
+ /**
67
+ * Returns name of processOutput
68
+ */
69
+ export function ProcessOutput_tryGetName_11830B70(po) {
70
+ return ProcessOutput__get_TryName(po);
71
+ }
72
+
73
+ /**
74
+ * Returns name of processInput
75
+ */
76
+ export function ProcessOutput_getName_11830B70(po) {
77
+ return ProcessOutput__get_Name(po);
78
+ }
79
+
80
+ /**
81
+ * Returns true, if given name equals name of processOutput
82
+ */
83
+ export function ProcessOutput_nameEquals(name, po) {
84
+ return ProcessOutput__get_Name(po) === name;
85
+ }
86
+
87
+ /**
88
+ * Returns true, if Process Output is Sample
89
+ */
90
+ export function ProcessOutput_isSample_11830B70(po) {
91
+ if (po.tag === 0) {
92
+ return true;
93
+ }
94
+ else {
95
+ return false;
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Returns true, if Process Output is Data
101
+ */
102
+ export function ProcessOutput_isData_11830B70(po) {
103
+ if (po.tag === 1) {
104
+ return true;
105
+ }
106
+ else {
107
+ return false;
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Returns true, if Process Output is Material
113
+ */
114
+ export function ProcessOutput_isMaterial_11830B70(po) {
115
+ if (po.tag === 2) {
116
+ return true;
117
+ }
118
+ else {
119
+ return false;
120
+ }
121
+ }
122
+
123
+ /**
124
+ * Returns true, if Process Output is Sample
125
+ */
126
+ export function ProcessOutput__isSample(this$) {
127
+ return ProcessOutput_isSample_11830B70(this$);
128
+ }
129
+
130
+ /**
131
+ * Returns true, if Process Output is Data
132
+ */
133
+ export function ProcessOutput__isData(this$) {
134
+ return ProcessOutput_isData_11830B70(this$);
135
+ }
136
+
137
+ /**
138
+ * Returns true, if Process Output is Material
139
+ */
140
+ export function ProcessOutput__isMaterial(this$) {
141
+ return ProcessOutput_isMaterial_11830B70(this$);
142
+ }
143
+
144
+ /**
145
+ * If given process output is a sample, returns it, else returns None
146
+ */
147
+ export function ProcessOutput_trySample_11830B70(po) {
148
+ if (po.tag === 0) {
149
+ return po.fields[0];
150
+ }
151
+ else {
152
+ return void 0;
153
+ }
154
+ }
155
+
156
+ /**
157
+ * If given process output is a data, returns it, else returns None
158
+ */
159
+ export function ProcessOutput_tryData_11830B70(po) {
160
+ if (po.tag === 1) {
161
+ return po.fields[0];
162
+ }
163
+ else {
164
+ return void 0;
165
+ }
166
+ }
167
+
168
+ /**
169
+ * If given process output is a material, returns it, else returns None
170
+ */
171
+ export function ProcessOutput_tryMaterial_11830B70(po) {
172
+ if (po.tag === 2) {
173
+ return po.fields[0];
174
+ }
175
+ else {
176
+ return void 0;
177
+ }
178
+ }
179
+
180
+ /**
181
+ * If given process output contains characteristics, returns them
182
+ */
183
+ export function ProcessOutput_tryGetCharacteristicValues_11830B70(po) {
184
+ switch (po.tag) {
185
+ case 2:
186
+ return po.fields[0].Characteristics;
187
+ case 1:
188
+ return void 0;
189
+ default:
190
+ return po.fields[0].Characteristics;
191
+ }
192
+ }
193
+
194
+ /**
195
+ * If given process output contains characteristics, returns them
196
+ */
197
+ export function ProcessOutput_tryGetCharacteristics_11830B70(po) {
198
+ return map((list) => choose((c) => c.Category, list), ProcessOutput_tryGetCharacteristicValues_11830B70(po));
199
+ }
200
+
201
+ /**
202
+ * If given process output contains factors, returns them
203
+ */
204
+ export function ProcessOutput_tryGetFactorValues_11830B70(po) {
205
+ switch (po.tag) {
206
+ case 2:
207
+ return void 0;
208
+ case 1:
209
+ return void 0;
210
+ default:
211
+ return po.fields[0].FactorValues;
212
+ }
213
+ }
214
+
215
+ export function ProcessOutput_setFactorValues(values, po) {
216
+ switch (po.tag) {
217
+ case 2:
218
+ return po;
219
+ case 1:
220
+ return po;
221
+ default:
222
+ return new ProcessOutput(0, [Sample_setFactorValues(values, po.fields[0])]);
223
+ }
224
+ }
225
+
226
+ export function ProcessOutput_getFactorValues_11830B70(po) {
227
+ return defaultArg(ProcessOutput_tryGetFactorValues_11830B70(po), empty());
228
+ }
229
+
230
+ /**
231
+ * If given process output contains units, returns them
232
+ */
233
+ export function ProcessOutput_getUnits_11830B70(po) {
234
+ switch (po.tag) {
235
+ case 2:
236
+ return Material_getUnits_Z42815C11(po.fields[0]);
237
+ case 1:
238
+ return empty();
239
+ default:
240
+ return Sample_getUnits_Z29207F1E(po.fields[0]);
241
+ }
242
+ }
243
+
244
+ export function ProcessOutput_createSample_Z6DF16D07(name, characteristics, factors, derivesFrom) {
245
+ return new ProcessOutput(0, [Sample_create_E50ED22(void 0, name, unwrap(characteristics), unwrap(factors), unwrap(derivesFrom))]);
246
+ }
247
+
248
+ export function ProcessOutput_createMaterial_2363974C(name, characteristics, derivesFrom) {
249
+ return new ProcessOutput(2, [Material_create_Z31BE6CDD(void 0, name, void 0, unwrap(characteristics), unwrap(derivesFrom))]);
250
+ }
251
+
252
+ export function ProcessOutput_createImageFile_Z721C83C5(name) {
253
+ return new ProcessOutput(1, [Data_create_Z326CF519(void 0, name, new DataFile(2, []))]);
254
+ }
255
+
256
+ export function ProcessOutput_createRawData_Z721C83C5(name) {
257
+ return new ProcessOutput(1, [Data_create_Z326CF519(void 0, name, new DataFile(0, []))]);
258
+ }
259
+
260
+ export function ProcessOutput_createDerivedData_Z721C83C5(name) {
261
+ return new ProcessOutput(1, [Data_create_Z326CF519(void 0, name, new DataFile(1, []))]);
262
+ }
263
+
@@ -0,0 +1,129 @@
1
+ import { Record, toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
2
+ import { bind, defaultArg, map } from "../../../fable_modules/fable-library.4.1.4/Option.js";
3
+ import { ProtocolParameter__SetCategory_Z4C0FE73C, ProtocolParameter_create_Z6C54B221, ProtocolParameter__MapCategory_Z69DD836A, ProtocolParameter__get_TryNameText, ProtocolParameter_$reflection, ProtocolParameter__get_NameText } from "./ProtocolParameter.js";
4
+ import { record_type, option_type } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
5
+ import { Value_$reflection } from "./Value.js";
6
+ import { OntologyAnnotation_$reflection } from "./OntologyAnnotation.js";
7
+ import { int32ToString } from "../../../fable_modules/fable-library.4.1.4/Util.js";
8
+ import { printf, toText } from "../../../fable_modules/fable-library.4.1.4/String.js";
9
+
10
+ export class ProcessParameterValue extends Record {
11
+ constructor(Category, Value, Unit) {
12
+ super();
13
+ this.Category = Category;
14
+ this.Value = Value;
15
+ this.Unit = Unit;
16
+ }
17
+ Print() {
18
+ const this$ = this;
19
+ return toString(this$);
20
+ }
21
+ PrintCompact() {
22
+ let value_2, category_2, category_1, value_1;
23
+ const this$ = this;
24
+ const category = map(ProtocolParameter__get_NameText, this$.Category);
25
+ const unit = map((oa) => oa.NameText, this$.Unit);
26
+ const value = map((v) => {
27
+ const s = v.PrintCompact();
28
+ if (unit == null) {
29
+ return s;
30
+ }
31
+ else {
32
+ return (s + " ") + unit;
33
+ }
34
+ }, this$.Value);
35
+ return (category == null) ? ((value == null) ? "" : ((value_2 = value, value_2))) : ((value == null) ? ((category_2 = category, (category_2 + ":") + "No Value")) : ((category_1 = category, (value_1 = value, (category_1 + ":") + value_1))));
36
+ }
37
+ }
38
+
39
+ export function ProcessParameterValue_$reflection() {
40
+ return record_type("ARCtrl.ISA.ProcessParameterValue", [], ProcessParameterValue, () => [["Category", option_type(ProtocolParameter_$reflection())], ["Value", option_type(Value_$reflection())], ["Unit", option_type(OntologyAnnotation_$reflection())]]);
41
+ }
42
+
43
+ export function ProcessParameterValue_make(category, value, unit) {
44
+ return new ProcessParameterValue(category, value, unit);
45
+ }
46
+
47
+ export function ProcessParameterValue_create_569825F3(Category, Value, Unit) {
48
+ return ProcessParameterValue_make(Category, Value, Unit);
49
+ }
50
+
51
+ export function ProcessParameterValue_get_empty() {
52
+ return ProcessParameterValue_create_569825F3();
53
+ }
54
+
55
+ /**
56
+ * Returns the name of the category as string
57
+ */
58
+ export function ProcessParameterValue__get_NameText(this$) {
59
+ return defaultArg(map(ProtocolParameter__get_NameText, this$.Category), "");
60
+ }
61
+
62
+ /**
63
+ * Returns the name of the category as string
64
+ */
65
+ export function ProcessParameterValue__get_TryNameText(this$) {
66
+ return bind(ProtocolParameter__get_TryNameText, this$.Category);
67
+ }
68
+
69
+ export function ProcessParameterValue__get_ValueText(this$) {
70
+ return defaultArg(map((oa) => {
71
+ switch (oa.tag) {
72
+ case 2:
73
+ return oa.fields[0].toString();
74
+ case 1:
75
+ return int32ToString(oa.fields[0]);
76
+ case 3:
77
+ return oa.fields[0];
78
+ default:
79
+ return oa.fields[0].NameText;
80
+ }
81
+ }, this$.Value), "");
82
+ }
83
+
84
+ export function ProcessParameterValue__get_ValueWithUnitText(this$) {
85
+ const unit = map((oa) => oa.NameText, this$.Unit);
86
+ const v = ProcessParameterValue__get_ValueText(this$);
87
+ if (unit == null) {
88
+ return v;
89
+ }
90
+ else {
91
+ const u = unit;
92
+ return toText(printf("%s %s"))(v)(u);
93
+ }
94
+ }
95
+
96
+ export function ProcessParameterValue__MapCategory_Z69DD836A(this$, f) {
97
+ return new ProcessParameterValue(map((p) => ProtocolParameter__MapCategory_Z69DD836A(p, f), this$.Category), this$.Value, this$.Unit);
98
+ }
99
+
100
+ export function ProcessParameterValue__SetCategory_Z4C0FE73C(this$, c) {
101
+ let matchValue;
102
+ return new ProcessParameterValue((matchValue = this$.Category, (matchValue == null) ? ProtocolParameter_create_Z6C54B221(void 0, c) : ProtocolParameter__SetCategory_Z4C0FE73C(matchValue, c)), this$.Value, this$.Unit);
103
+ }
104
+
105
+ /**
106
+ * Returns the name of the paramater value as string if it exists
107
+ */
108
+ export function ProcessParameterValue_tryGetNameText_5FD7232D(pv) {
109
+ return ProcessParameterValue__get_TryNameText(pv);
110
+ }
111
+
112
+ /**
113
+ * Returns the name of the paramater value as string
114
+ */
115
+ export function ProcessParameterValue_getNameText_5FD7232D(pv) {
116
+ return ProcessParameterValue__get_NameText(pv);
117
+ }
118
+
119
+ /**
120
+ * Returns true if the given name matches the name of the parameter value
121
+ */
122
+ export function ProcessParameterValue_nameEqualsString(name, pv) {
123
+ return ProcessParameterValue__get_NameText(pv) === name;
124
+ }
125
+
126
+ export function ProcessParameterValue_getCategory_5FD7232D(pv) {
127
+ return pv.Category;
128
+ }
129
+
@@ -0,0 +1,255 @@
1
+ import { List_groupBy, List_distinct } from "../../../fable_modules/fable-library.4.1.4/Seq2.js";
2
+ import { singleton, zip, map, empty, collect, concat, filter, choose } from "../../../fable_modules/fable-library.4.1.4/List.js";
3
+ import { value as value_3, defaultArg, bind } from "../../../fable_modules/fable-library.4.1.4/Option.js";
4
+ import { arrayHash, equalArrays, comparePrimitives, safeHash, equals, stringHash } from "../../../fable_modules/fable-library.4.1.4/Util.js";
5
+ import { Process_updateProtocol, Process_getMaterials_716E708F, Process_getSamples_716E708F, Process_getSources_716E708F, Process_getData_716E708F, Process_getUnits_716E708F, Process_getFactors_716E708F, Process_tryGetOutputsWithFactorBy, Process_tryGetOutputsWithCharacteristicBy, Process_tryGetInputsWithCharacteristicBy, Process_getCharacteristics_716E708F, Process_getParameters_716E708F, Process_tryGetOutputsWithParameterBy, Process_tryGetInputsWithParameterBy } from "./Process.js";
6
+ import { FSharpSet__Contains, ofList } from "../../../fable_modules/fable-library.4.1.4/Set.js";
7
+ import { ProcessOutput__get_Name, ProcessOutput_getName_11830B70 } from "./ProcessOutput.js";
8
+ import { ProcessInput__get_Name, ProcessInput_getName_102B6859 } from "./ProcessInput.js";
9
+ import { FSharpMap__TryFind, ofList as ofList_1 } from "../../../fable_modules/fable-library.4.1.4/Map.js";
10
+
11
+ /**
12
+ * Returns the names of the protocols the given processes impelement
13
+ */
14
+ export function getProtocolNames(processSequence) {
15
+ return List_distinct(choose((p) => bind((protocol) => protocol.Name, p.ExecutesProtocol), processSequence), {
16
+ Equals: (x, y) => (x === y),
17
+ GetHashCode: stringHash,
18
+ });
19
+ }
20
+
21
+ /**
22
+ * Returns the protocols the given processes impelement
23
+ */
24
+ export function getProtocols(processSequence) {
25
+ return List_distinct(choose((p) => p.ExecutesProtocol, processSequence), {
26
+ Equals: equals,
27
+ GetHashCode: safeHash,
28
+ });
29
+ }
30
+
31
+ /**
32
+ * Returns a list of the processes, containing only the ones executing a protocol for which the predicate returns true
33
+ */
34
+ export function filterByProtocolBy(predicate, processSequence) {
35
+ return filter((p) => {
36
+ const matchValue = p.ExecutesProtocol;
37
+ let matchResult, protocol_1;
38
+ if (matchValue != null) {
39
+ if (predicate(matchValue)) {
40
+ matchResult = 0;
41
+ protocol_1 = matchValue;
42
+ }
43
+ else {
44
+ matchResult = 1;
45
+ }
46
+ }
47
+ else {
48
+ matchResult = 1;
49
+ }
50
+ switch (matchResult) {
51
+ case 0:
52
+ return true;
53
+ default:
54
+ return false;
55
+ }
56
+ }, processSequence);
57
+ }
58
+
59
+ /**
60
+ * Returns a list of the processes, containing only the ones executing a protocol with the given name
61
+ */
62
+ export function filterByProtocolName(protocolName, processSequence) {
63
+ return filterByProtocolBy((p) => equals(p.Name, protocolName), processSequence);
64
+ }
65
+
66
+ /**
67
+ * If the processes contain a process implementing the given parameter, return the list of input files together with their according parameter values of this parameter
68
+ */
69
+ export function getInputsWithParameterBy(predicate, processSequence) {
70
+ return concat(choose((arg_1) => Process_tryGetInputsWithParameterBy(predicate, arg_1), processSequence));
71
+ }
72
+
73
+ /**
74
+ * If the processes contain a process implementing the given parameter, return the list of output files together with their according parameter values of this parameter
75
+ */
76
+ export function getOutputsWithParameterBy(predicate, processSequence) {
77
+ return concat(choose((arg_1) => Process_tryGetOutputsWithParameterBy(predicate, arg_1), processSequence));
78
+ }
79
+
80
+ /**
81
+ * Returns the parameters implemented by the processes contained in these processes
82
+ */
83
+ export function getParameters(processSequence) {
84
+ return List_distinct(collect(Process_getParameters_716E708F, processSequence), {
85
+ Equals: equals,
86
+ GetHashCode: safeHash,
87
+ });
88
+ }
89
+
90
+ /**
91
+ * Returns the characteristics describing the inputs and outputs of the processssequence
92
+ */
93
+ export function getCharacteristics(processSequence) {
94
+ return List_distinct(collect(Process_getCharacteristics_716E708F, processSequence), {
95
+ Equals: equals,
96
+ GetHashCode: safeHash,
97
+ });
98
+ }
99
+
100
+ /**
101
+ * If the processes contain a process implementing the given parameter, return the list of input files together with their according parameter values of this parameter
102
+ */
103
+ export function getInputsWithCharacteristicBy(predicate, processSequence) {
104
+ return concat(choose((arg_1) => Process_tryGetInputsWithCharacteristicBy(predicate, arg_1), processSequence));
105
+ }
106
+
107
+ /**
108
+ * If the processes contain a process implementing the given parameter, return the list of output files together with their according parameter values of this parameter
109
+ */
110
+ export function getOutputsWithCharacteristicBy(predicate, processSequence) {
111
+ return concat(choose((arg_1) => Process_tryGetOutputsWithCharacteristicBy(predicate, arg_1), processSequence));
112
+ }
113
+
114
+ /**
115
+ * If the processes contain a process implementing the given factor, return the list of output files together with their according factor values of this factor
116
+ */
117
+ export function getOutputsWithFactorBy(predicate, processSequence) {
118
+ return concat(choose((arg_1) => Process_tryGetOutputsWithFactorBy(predicate, arg_1), processSequence));
119
+ }
120
+
121
+ /**
122
+ * Returns the factors implemented by the processes contained in these processes
123
+ */
124
+ export function getFactors(processSequence) {
125
+ return List_distinct(collect(Process_getFactors_716E708F, processSequence), {
126
+ Equals: equals,
127
+ GetHashCode: safeHash,
128
+ });
129
+ }
130
+
131
+ /**
132
+ * Returns the initial inputs final outputs of the processSequence, to which no processPoints
133
+ */
134
+ export function getRootInputs(processSequence) {
135
+ const inputs = collect((p) => defaultArg(p.Inputs, empty()), processSequence);
136
+ const outputs = ofList(collect((p_1) => map(ProcessOutput_getName_11830B70, defaultArg(p_1.Outputs, empty())), processSequence), {
137
+ Compare: comparePrimitives,
138
+ });
139
+ return filter((i) => !FSharpSet__Contains(outputs, ProcessInput_getName_102B6859(i)), inputs);
140
+ }
141
+
142
+ /**
143
+ * Returns the final outputs of the processSequence, which point to no further nodes
144
+ */
145
+ export function getFinalOutputs(processSequence) {
146
+ const inputs = ofList(collect((p) => map(ProcessInput_getName_102B6859, defaultArg(p.Inputs, empty())), processSequence), {
147
+ Compare: comparePrimitives,
148
+ });
149
+ return filter((o) => !FSharpSet__Contains(inputs, ProcessOutput_getName_11830B70(o)), collect((p_1) => defaultArg(p_1.Outputs, empty()), processSequence));
150
+ }
151
+
152
+ /**
153
+ * Returns the initial inputs final outputs of the processSequence, to which no processPoints
154
+ */
155
+ export function getRootInputOf(processSequence, sample) {
156
+ const mappings = ofList_1(map((tupledArg) => [tupledArg[0], map((tuple_1) => tuple_1[1], tupledArg[1])], List_groupBy((tuple) => tuple[0], collect((p) => List_distinct(zip(map(ProcessOutput__get_Name, value_3(p.Outputs)), map(ProcessInput__get_Name, value_3(p.Inputs))), {
157
+ Equals: equalArrays,
158
+ GetHashCode: arrayHash,
159
+ }), processSequence), {
160
+ Equals: (x_1, y_1) => (x_1 === y_1),
161
+ GetHashCode: stringHash,
162
+ })), {
163
+ Compare: comparePrimitives,
164
+ });
165
+ const loop = (lastState_mut, state_mut) => {
166
+ loop:
167
+ while (true) {
168
+ const lastState = lastState_mut, state = state_mut;
169
+ if (equals(lastState, state)) {
170
+ return state;
171
+ }
172
+ else {
173
+ lastState_mut = state;
174
+ state_mut = collect((s) => defaultArg(FSharpMap__TryFind(mappings, s), singleton(s)), state);
175
+ continue loop;
176
+ }
177
+ break;
178
+ }
179
+ };
180
+ return loop(empty(), singleton(sample));
181
+ }
182
+
183
+ /**
184
+ * Returns the final outputs of the processSequence, which point to no further nodes
185
+ */
186
+ export function getFinalOutputsOf(processSequence, sample) {
187
+ const mappings = ofList_1(map((tupledArg) => [tupledArg[0], map((tuple_1) => tuple_1[1], tupledArg[1])], List_groupBy((tuple) => tuple[0], collect((p) => List_distinct(zip(map(ProcessInput__get_Name, value_3(p.Inputs)), map(ProcessOutput__get_Name, value_3(p.Outputs))), {
188
+ Equals: equalArrays,
189
+ GetHashCode: arrayHash,
190
+ }), processSequence), {
191
+ Equals: (x_1, y_1) => (x_1 === y_1),
192
+ GetHashCode: stringHash,
193
+ })), {
194
+ Compare: comparePrimitives,
195
+ });
196
+ const loop = (lastState_mut, state_mut) => {
197
+ loop:
198
+ while (true) {
199
+ const lastState = lastState_mut, state = state_mut;
200
+ if (equals(lastState, state)) {
201
+ return state;
202
+ }
203
+ else {
204
+ lastState_mut = state;
205
+ state_mut = collect((s) => defaultArg(FSharpMap__TryFind(mappings, s), singleton(s)), state);
206
+ continue loop;
207
+ }
208
+ break;
209
+ }
210
+ };
211
+ return loop(empty(), singleton(sample));
212
+ }
213
+
214
+ export function getUnits(processSequence) {
215
+ return List_distinct(collect(Process_getUnits_716E708F, processSequence), {
216
+ Equals: equals,
217
+ GetHashCode: safeHash,
218
+ });
219
+ }
220
+
221
+ /**
222
+ * Returns the data the given processes contain
223
+ */
224
+ export function getData(processSequence) {
225
+ return List_distinct(collect(Process_getData_716E708F, processSequence), {
226
+ Equals: equals,
227
+ GetHashCode: safeHash,
228
+ });
229
+ }
230
+
231
+ export function getSources(processSequence) {
232
+ return List_distinct(collect(Process_getSources_716E708F, processSequence), {
233
+ Equals: equals,
234
+ GetHashCode: safeHash,
235
+ });
236
+ }
237
+
238
+ export function getSamples(processSequence) {
239
+ return List_distinct(collect(Process_getSamples_716E708F, processSequence), {
240
+ Equals: equals,
241
+ GetHashCode: safeHash,
242
+ });
243
+ }
244
+
245
+ export function getMaterials(processSequence) {
246
+ return List_distinct(collect(Process_getMaterials_716E708F, processSequence), {
247
+ Equals: equals,
248
+ GetHashCode: safeHash,
249
+ });
250
+ }
251
+
252
+ export function updateProtocols(protocols, processSequence) {
253
+ return map((arg_1) => Process_updateProtocol(protocols, arg_1), processSequence);
254
+ }
255
+