@nfdi4plants/arctrl 1.0.0-alpha6

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 (277) hide show
  1. package/ARCtrl.js +257 -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 +744 -0
  15. package/ISA/ISA/ArcTypes/ArcTableAux.js +1142 -0
  16. package/ISA/ISA/ArcTypes/ArcTables.js +380 -0
  17. package/ISA/ISA/ArcTypes/ArcTypes.js +2018 -0
  18. package/ISA/ISA/ArcTypes/CompositeCell.js +180 -0
  19. package/ISA/ISA/ArcTypes/CompositeColumn.js +42 -0
  20. package/ISA/ISA/ArcTypes/CompositeHeader.js +358 -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 +326 -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/Templates.Json.js +40 -0
  102. package/Templates/Templates.Spreadsheet.js +315 -0
  103. package/Templates/Templates.js +179 -0
  104. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs +387 -0
  105. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs.js +240 -0
  106. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs +725 -0
  107. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs.js +522 -0
  108. package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs +195 -0
  109. package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs.js +208 -0
  110. package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs +209 -0
  111. package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs.js +137 -0
  112. package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs +61 -0
  113. package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs.js +62 -0
  114. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs +24 -0
  115. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs.js +56 -0
  116. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs +102 -0
  117. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs.js +6 -0
  118. package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs +200 -0
  119. package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs.js +137 -0
  120. package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs +139 -0
  121. package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs.js +116 -0
  122. package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs +120 -0
  123. package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs.js +120 -0
  124. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs +229 -0
  125. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs.js +421 -0
  126. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs +151 -0
  127. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs.js +277 -0
  128. package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs +114 -0
  129. package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs.js +104 -0
  130. package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs +177 -0
  131. package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs.js +249 -0
  132. package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs +200 -0
  133. package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs.js +125 -0
  134. package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs +202 -0
  135. package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs.js +135 -0
  136. package/fable_modules/FsSpreadsheet.4.1.0/FsSpreadsheet.fableproj +58 -0
  137. package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs +183 -0
  138. package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js +138 -0
  139. package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs +628 -0
  140. package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js +398 -0
  141. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs +19 -0
  142. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs.js +41 -0
  143. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs +222 -0
  144. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs.js +235 -0
  145. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs +93 -0
  146. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs.js +91 -0
  147. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs +65 -0
  148. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs.js +74 -0
  149. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs +22 -0
  150. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs.js +40 -0
  151. package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs +249 -0
  152. package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs.js +325 -0
  153. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs +455 -0
  154. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs.js +310 -0
  155. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs +140 -0
  156. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs.js +173 -0
  157. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs +6 -0
  158. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs.js +17 -0
  159. package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  160. package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
  161. package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  162. package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
  163. package/fable_modules/Thoth.Json.10.1.0/Decode.fs +1366 -0
  164. package/fable_modules/Thoth.Json.10.1.0/Decode.fs.js +1798 -0
  165. package/fable_modules/Thoth.Json.10.1.0/Encode.fs +621 -0
  166. package/fable_modules/Thoth.Json.10.1.0/Encode.fs.js +472 -0
  167. package/fable_modules/Thoth.Json.10.1.0/Extra.fs +31 -0
  168. package/fable_modules/Thoth.Json.10.1.0/Extra.fs.js +8 -0
  169. package/fable_modules/Thoth.Json.10.1.0/Thoth.Json.fableproj +30 -0
  170. package/fable_modules/Thoth.Json.10.1.0/Types.fs +59 -0
  171. package/fable_modules/Thoth.Json.10.1.0/Types.fs.js +98 -0
  172. package/fable_modules/Thoth.Json.10.1.0/obj/Release/netstandard2.0/Thoth.Json.AssemblyInfo.fs +19 -0
  173. package/fable_modules/Thoth.Json.10.1.0/package.json +5 -0
  174. package/fable_modules/fable-library.4.1.4/Array.d.ts +120 -0
  175. package/fable_modules/fable-library.4.1.4/Array.js +1204 -0
  176. package/fable_modules/fable-library.4.1.4/Async.d.ts +32 -0
  177. package/fable_modules/fable-library.4.1.4/Async.js +158 -0
  178. package/fable_modules/fable-library.4.1.4/AsyncBuilder.d.ts +59 -0
  179. package/fable_modules/fable-library.4.1.4/AsyncBuilder.js +183 -0
  180. package/fable_modules/fable-library.4.1.4/BigInt.d.ts +115 -0
  181. package/fable_modules/fable-library.4.1.4/BigInt.js +282 -0
  182. package/fable_modules/fable-library.4.1.4/BitConverter.d.ts +27 -0
  183. package/fable_modules/fable-library.4.1.4/BitConverter.js +138 -0
  184. package/fable_modules/fable-library.4.1.4/Boolean.d.ts +3 -0
  185. package/fable_modules/fable-library.4.1.4/Boolean.js +21 -0
  186. package/fable_modules/fable-library.4.1.4/Char.d.ts +65 -0
  187. package/fable_modules/fable-library.4.1.4/Char.js +169 -0
  188. package/fable_modules/fable-library.4.1.4/Choice.d.ts +138 -0
  189. package/fable_modules/fable-library.4.1.4/Choice.js +227 -0
  190. package/fable_modules/fable-library.4.1.4/Date.d.ts +70 -0
  191. package/fable_modules/fable-library.4.1.4/Date.js +451 -0
  192. package/fable_modules/fable-library.4.1.4/DateOffset.d.ts +63 -0
  193. package/fable_modules/fable-library.4.1.4/DateOffset.js +268 -0
  194. package/fable_modules/fable-library.4.1.4/DateOnly.d.ts +18 -0
  195. package/fable_modules/fable-library.4.1.4/DateOnly.js +124 -0
  196. package/fable_modules/fable-library.4.1.4/Decimal.d.ts +45 -0
  197. package/fable_modules/fable-library.4.1.4/Decimal.js +212 -0
  198. package/fable_modules/fable-library.4.1.4/Double.d.ts +11 -0
  199. package/fable_modules/fable-library.4.1.4/Double.js +46 -0
  200. package/fable_modules/fable-library.4.1.4/Encoding.d.ts +12 -0
  201. package/fable_modules/fable-library.4.1.4/Encoding.js +173 -0
  202. package/fable_modules/fable-library.4.1.4/Event.d.ts +31 -0
  203. package/fable_modules/fable-library.4.1.4/Event.js +93 -0
  204. package/fable_modules/fable-library.4.1.4/FSharp.Collections.d.ts +7 -0
  205. package/fable_modules/fable-library.4.1.4/FSharp.Collections.js +27 -0
  206. package/fable_modules/fable-library.4.1.4/FSharp.Core.d.ts +17 -0
  207. package/fable_modules/fable-library.4.1.4/FSharp.Core.js +69 -0
  208. package/fable_modules/fable-library.4.1.4/Global.d.ts +24 -0
  209. package/fable_modules/fable-library.4.1.4/Global.js +8 -0
  210. package/fable_modules/fable-library.4.1.4/Guid.d.ts +10 -0
  211. package/fable_modules/fable-library.4.1.4/Guid.js +142 -0
  212. package/fable_modules/fable-library.4.1.4/Int32.d.ts +28 -0
  213. package/fable_modules/fable-library.4.1.4/Int32.js +135 -0
  214. package/fable_modules/fable-library.4.1.4/List.d.ts +143 -0
  215. package/fable_modules/fable-library.4.1.4/List.js +1273 -0
  216. package/fable_modules/fable-library.4.1.4/Long.d.ts +3 -0
  217. package/fable_modules/fable-library.4.1.4/Long.js +46 -0
  218. package/fable_modules/fable-library.4.1.4/MailboxProcessor.d.ts +25 -0
  219. package/fable_modules/fable-library.4.1.4/MailboxProcessor.js +93 -0
  220. package/fable_modules/fable-library.4.1.4/Map.d.ts +178 -0
  221. package/fable_modules/fable-library.4.1.4/Map.js +1396 -0
  222. package/fable_modules/fable-library.4.1.4/MapUtil.d.ts +10 -0
  223. package/fable_modules/fable-library.4.1.4/MapUtil.js +112 -0
  224. package/fable_modules/fable-library.4.1.4/MutableMap.d.ts +52 -0
  225. package/fable_modules/fable-library.4.1.4/MutableMap.js +326 -0
  226. package/fable_modules/fable-library.4.1.4/MutableSet.d.ts +39 -0
  227. package/fable_modules/fable-library.4.1.4/MutableSet.js +232 -0
  228. package/fable_modules/fable-library.4.1.4/Native.d.ts +2 -0
  229. package/fable_modules/fable-library.4.1.4/Native.js +8 -0
  230. package/fable_modules/fable-library.4.1.4/Numeric.d.ts +19 -0
  231. package/fable_modules/fable-library.4.1.4/Numeric.js +71 -0
  232. package/fable_modules/fable-library.4.1.4/Observable.d.ts +32 -0
  233. package/fable_modules/fable-library.4.1.4/Observable.js +113 -0
  234. package/fable_modules/fable-library.4.1.4/Option.d.ts +28 -0
  235. package/fable_modules/fable-library.4.1.4/Option.js +96 -0
  236. package/fable_modules/fable-library.4.1.4/README.md +3 -0
  237. package/fable_modules/fable-library.4.1.4/Random.d.ts +37 -0
  238. package/fable_modules/fable-library.4.1.4/Random.js +170 -0
  239. package/fable_modules/fable-library.4.1.4/Range.d.ts +12 -0
  240. package/fable_modules/fable-library.4.1.4/Range.js +45 -0
  241. package/fable_modules/fable-library.4.1.4/Reflection.d.ts +119 -0
  242. package/fable_modules/fable-library.4.1.4/Reflection.js +461 -0
  243. package/fable_modules/fable-library.4.1.4/RegExp.d.ts +10 -0
  244. package/fable_modules/fable-library.4.1.4/RegExp.js +132 -0
  245. package/fable_modules/fable-library.4.1.4/Seq.d.ts +165 -0
  246. package/fable_modules/fable-library.4.1.4/Seq.js +1379 -0
  247. package/fable_modules/fable-library.4.1.4/Seq2.d.ts +18 -0
  248. package/fable_modules/fable-library.4.1.4/Seq2.js +111 -0
  249. package/fable_modules/fable-library.4.1.4/Set.d.ts +190 -0
  250. package/fable_modules/fable-library.4.1.4/Set.js +1789 -0
  251. package/fable_modules/fable-library.4.1.4/String.d.ts +49 -0
  252. package/fable_modules/fable-library.4.1.4/String.js +540 -0
  253. package/fable_modules/fable-library.4.1.4/System.Collections.Generic.d.ts +71 -0
  254. package/fable_modules/fable-library.4.1.4/System.Collections.Generic.js +307 -0
  255. package/fable_modules/fable-library.4.1.4/System.Text.d.ts +30 -0
  256. package/fable_modules/fable-library.4.1.4/System.Text.js +110 -0
  257. package/fable_modules/fable-library.4.1.4/SystemException.d.ts +5 -0
  258. package/fable_modules/fable-library.4.1.4/SystemException.js +5 -0
  259. package/fable_modules/fable-library.4.1.4/TimeOnly.d.ts +15 -0
  260. package/fable_modules/fable-library.4.1.4/TimeOnly.js +122 -0
  261. package/fable_modules/fable-library.4.1.4/TimeSpan.d.ts +34 -0
  262. package/fable_modules/fable-library.4.1.4/TimeSpan.js +177 -0
  263. package/fable_modules/fable-library.4.1.4/Timer.d.ts +19 -0
  264. package/fable_modules/fable-library.4.1.4/Timer.js +67 -0
  265. package/fable_modules/fable-library.4.1.4/Types.d.ts +58 -0
  266. package/fable_modules/fable-library.4.1.4/Types.js +208 -0
  267. package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.d.ts +2 -0
  268. package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.js +4 -0
  269. package/fable_modules/fable-library.4.1.4/Uri.d.ts +29 -0
  270. package/fable_modules/fable-library.4.1.4/Uri.js +142 -0
  271. package/fable_modules/fable-library.4.1.4/Util.d.ts +187 -0
  272. package/fable_modules/fable-library.4.1.4/Util.js +662 -0
  273. package/fable_modules/fable-library.4.1.4/lib/big.d.ts +338 -0
  274. package/fable_modules/fable-library.4.1.4/lib/big.js +826 -0
  275. package/fable_modules/fable-library.4.1.4/package.json +23 -0
  276. package/fable_modules/project_cracked.json +1 -0
  277. package/package.json +22 -0
@@ -0,0 +1,277 @@
1
+ import { Record } from "../../../fable_modules/fable-library.4.1.4/Types.js";
2
+ import { getRecordFields, makeRecord, record_type, list_type, option_type, string_type } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
3
+ import { OntologyAnnotation_$reflection } from "./OntologyAnnotation.js";
4
+ import { ProtocolParameter_$reflection } from "./ProtocolParameter.js";
5
+ import { Component_$reflection } from "./Component.js";
6
+ import { Comment$_$reflection } from "./Comment.js";
7
+ import { empty, filter, map, singleton, append, exists, tryFind } from "../../../fable_modules/fable-library.4.1.4/List.js";
8
+ import { equals } from "../../../fable_modules/fable-library.4.1.4/Util.js";
9
+ import { map2 } from "../../../fable_modules/fable-library.4.1.4/Array.js";
10
+ import { Update_updateOnlyByExistingAppend, Update_updateOnlyByExisting, Update_updateAppend } from "../Helper.js";
11
+ import { defaultArg, map as map_1 } from "../../../fable_modules/fable-library.4.1.4/Option.js";
12
+
13
+ export class Protocol extends Record {
14
+ constructor(ID, Name, ProtocolType, Description, Uri, Version, Parameters, Components, Comments) {
15
+ super();
16
+ this.ID = ID;
17
+ this.Name = Name;
18
+ this.ProtocolType = ProtocolType;
19
+ this.Description = Description;
20
+ this.Uri = Uri;
21
+ this.Version = Version;
22
+ this.Parameters = Parameters;
23
+ this.Components = Components;
24
+ this.Comments = Comments;
25
+ }
26
+ }
27
+
28
+ export function Protocol_$reflection() {
29
+ return record_type("ARCtrl.ISA.Protocol", [], Protocol, () => [["ID", option_type(string_type)], ["Name", option_type(string_type)], ["ProtocolType", option_type(OntologyAnnotation_$reflection())], ["Description", option_type(string_type)], ["Uri", option_type(string_type)], ["Version", option_type(string_type)], ["Parameters", option_type(list_type(ProtocolParameter_$reflection()))], ["Components", option_type(list_type(Component_$reflection()))], ["Comments", option_type(list_type(Comment$_$reflection()))]]);
30
+ }
31
+
32
+ export function Protocol_make(id, name, protocolType, description, uri, version, parameters, components, comments) {
33
+ return new Protocol(id, name, protocolType, description, uri, version, parameters, components, comments);
34
+ }
35
+
36
+ export function Protocol_create_Z7DFD6E67(Id, Name, ProtocolType, Description, Uri, Version, Parameters, Components, Comments) {
37
+ return Protocol_make(Id, Name, ProtocolType, Description, Uri, Version, Parameters, Components, Comments);
38
+ }
39
+
40
+ export function Protocol_get_empty() {
41
+ return Protocol_create_Z7DFD6E67();
42
+ }
43
+
44
+ /**
45
+ * If a protocol with the given identfier exists in the list, returns it
46
+ */
47
+ export function Protocol_tryGetByName(name, protocols) {
48
+ return tryFind((p) => equals(p.Name, name), protocols);
49
+ }
50
+
51
+ /**
52
+ * If a protocol with the given name exists in the list exists, returns true
53
+ */
54
+ export function Protocol_existsByName(name, protocols) {
55
+ return exists((p) => equals(p.Name, name), protocols);
56
+ }
57
+
58
+ /**
59
+ * Adds the given protocol to the protocols
60
+ */
61
+ export function Protocol_add(protocols, protocol) {
62
+ return append(protocols, singleton(protocol));
63
+ }
64
+
65
+ /**
66
+ * Updates all protocols for which the predicate returns true with the given protocol values
67
+ */
68
+ export function Protocol_updateBy(predicate, updateOption, protocol, protocols) {
69
+ if (exists(predicate, protocols)) {
70
+ return map((p) => {
71
+ if (predicate(p)) {
72
+ const this$ = updateOption;
73
+ const recordType_1 = p;
74
+ const recordType_2 = protocol;
75
+ return (this$.tag === 2) ? makeRecord(Protocol_$reflection(), map2(Update_updateAppend, getRecordFields(recordType_1), getRecordFields(recordType_2))) : ((this$.tag === 1) ? makeRecord(Protocol_$reflection(), map2(Update_updateOnlyByExisting, getRecordFields(recordType_1), getRecordFields(recordType_2))) : ((this$.tag === 3) ? makeRecord(Protocol_$reflection(), map2(Update_updateOnlyByExistingAppend, getRecordFields(recordType_1), getRecordFields(recordType_2))) : recordType_2));
76
+ }
77
+ else {
78
+ return p;
79
+ }
80
+ }, protocols);
81
+ }
82
+ else {
83
+ return protocols;
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Updates all protocols with the same name as the given protocol with its values
89
+ */
90
+ export function Protocol_updateByName(updateOption, protocol, protocols) {
91
+ return Protocol_updateBy((p) => equals(p.Name, protocol.Name), updateOption, protocol, protocols);
92
+ }
93
+
94
+ /**
95
+ * If a protocol with the given name exists in the list, removes it
96
+ */
97
+ export function Protocol_removeByName(name, protocols) {
98
+ return filter((p) => !equals(p.Name, name), protocols);
99
+ }
100
+
101
+ /**
102
+ * Returns comments of a protocol
103
+ */
104
+ export function Protocol_getComments_Z5F51792E(protocol) {
105
+ return protocol.Comments;
106
+ }
107
+
108
+ /**
109
+ * Applies function f on comments of a protocol
110
+ */
111
+ export function Protocol_mapComments(f, protocol) {
112
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, map_1(f, protocol.Comments));
113
+ }
114
+
115
+ /**
116
+ * Replaces comments of a protocol by given comment list
117
+ */
118
+ export function Protocol_setComments(protocol, comments) {
119
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, comments);
120
+ }
121
+
122
+ /**
123
+ * Returns protocol type of a protocol
124
+ */
125
+ export function Protocol_getProtocolType_Z5F51792E(protocol) {
126
+ return protocol.ProtocolType;
127
+ }
128
+
129
+ /**
130
+ * Applies function f on protocol type of a protocol
131
+ */
132
+ export function Protocol_mapProtocolType(f, protocol) {
133
+ return new Protocol(protocol.ID, protocol.Name, map_1(f, protocol.ProtocolType), protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
134
+ }
135
+
136
+ /**
137
+ * Replaces protocol type of a protocol by given protocol type
138
+ */
139
+ export function Protocol_setProtocolType(protocol, protocolType) {
140
+ return new Protocol(protocol.ID, protocol.Name, protocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
141
+ }
142
+
143
+ /**
144
+ * Returns protocol version of a protocol
145
+ */
146
+ export function Protocol_getVersion_Z5F51792E(protocol) {
147
+ return protocol.Version;
148
+ }
149
+
150
+ /**
151
+ * Applies function f on protocol version of a protocol
152
+ */
153
+ export function Protocol_mapVersion(f, protocol) {
154
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, map_1(f, protocol.Version), protocol.Parameters, protocol.Components, protocol.Comments);
155
+ }
156
+
157
+ /**
158
+ * Replaces protocol version of a protocol by given protocol version
159
+ */
160
+ export function Protocol_setVersion(protocol, version) {
161
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, version, protocol.Parameters, protocol.Components, protocol.Comments);
162
+ }
163
+
164
+ /**
165
+ * Protocol Name
166
+ * Returns protocol name of a protocol
167
+ */
168
+ export function Protocol_getName_Z5F51792E(protocol) {
169
+ return protocol.Name;
170
+ }
171
+
172
+ /**
173
+ * Applies function f on protocol name of a protocol
174
+ */
175
+ export function Protocol_mapName(f, protocol) {
176
+ return new Protocol(protocol.ID, map_1(f, protocol.Name), protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
177
+ }
178
+
179
+ /**
180
+ * Replaces protocol name of a protocol by given protocol name
181
+ */
182
+ export function Protocol_setName(protocol, name) {
183
+ return new Protocol(protocol.ID, name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
184
+ }
185
+
186
+ /**
187
+ * Returns protocol description of a protocol
188
+ */
189
+ export function Protocol_getDescription_Z5F51792E(protocol) {
190
+ return protocol.Description;
191
+ }
192
+
193
+ /**
194
+ * Applies function f on protocol description of a protocol
195
+ */
196
+ export function Protocol_mapDescription(f, protocol) {
197
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, map_1(f, protocol.Description), protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
198
+ }
199
+
200
+ /**
201
+ * Replaces protocol description of a protocol by given protocol description
202
+ */
203
+ export function Protocol_setDescription(protocol, description) {
204
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, description, protocol.Uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
205
+ }
206
+
207
+ /**
208
+ * Returns protocol URI of a protocol
209
+ */
210
+ export function Protocol_getUri_Z5F51792E(protocol) {
211
+ return protocol.Uri;
212
+ }
213
+
214
+ /**
215
+ * Applies function f on protocol URI of a protocol
216
+ */
217
+ export function Protocol_mapUri(f, protocol) {
218
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, map_1(f, protocol.Uri), protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
219
+ }
220
+
221
+ /**
222
+ * Replaces protocol URI of a protocol by given protocol URI
223
+ */
224
+ export function Protocol_setUri(protocol, uri) {
225
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, uri, protocol.Version, protocol.Parameters, protocol.Components, protocol.Comments);
226
+ }
227
+
228
+ /**
229
+ * Returns components of a protocol
230
+ */
231
+ export function Protocol_getComponents_Z5F51792E(protocol) {
232
+ return protocol.Components;
233
+ }
234
+
235
+ /**
236
+ * Applies function f on components of a protocol
237
+ */
238
+ export function Protocol_mapComponents(f, protocol) {
239
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, map_1(f, protocol.Components), protocol.Comments);
240
+ }
241
+
242
+ /**
243
+ * Replaces components of a protocol by given component list
244
+ */
245
+ export function Protocol_setComponents(protocol, components) {
246
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, protocol.Parameters, components, protocol.Comments);
247
+ }
248
+
249
+ export function Protocol_addComponent(comp, protocol) {
250
+ return Protocol_setComponents(protocol, append(defaultArg(protocol.Components, empty()), singleton(comp)));
251
+ }
252
+
253
+ /**
254
+ * Returns protocol parameters of a protocol
255
+ */
256
+ export function Protocol_getParameters_Z5F51792E(protocol) {
257
+ return protocol.Parameters;
258
+ }
259
+
260
+ /**
261
+ * Applies function f on protocol parameters of a protocol
262
+ */
263
+ export function Protocol_mapParameters(f, protocol) {
264
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, map_1(f, protocol.Parameters), protocol.Components, protocol.Comments);
265
+ }
266
+
267
+ /**
268
+ * Replaces protocol parameters of a protocol by given protocol parameter list
269
+ */
270
+ export function Protocol_setParameters(protocol, parameters) {
271
+ return new Protocol(protocol.ID, protocol.Name, protocol.ProtocolType, protocol.Description, protocol.Uri, protocol.Version, parameters, protocol.Components, protocol.Comments);
272
+ }
273
+
274
+ export function Protocol_addParameter(parameter, protocol) {
275
+ return Protocol_setParameters(protocol, append(defaultArg(protocol.Parameters, empty()), singleton(parameter)));
276
+ }
277
+
@@ -0,0 +1,101 @@
1
+ import { Record, toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
2
+ import { record_type, option_type, string_type } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
3
+ import { OntologyAnnotation, OntologyAnnotation_$reflection } from "./OntologyAnnotation.js";
4
+ import { bind, map, defaultArg, unwrap } from "../../../fable_modules/fable-library.4.1.4/Option.js";
5
+ import { Option_fromValueWithDefault } from "../Helper.js";
6
+
7
+ export class ProtocolParameter extends Record {
8
+ constructor(ID, ParameterName) {
9
+ super();
10
+ this.ID = ID;
11
+ this.ParameterName = ParameterName;
12
+ }
13
+ Print() {
14
+ const this$ = this;
15
+ return toString(this$);
16
+ }
17
+ PrintCompact() {
18
+ const this$ = this;
19
+ return "OA " + ProtocolParameter__get_NameText(this$);
20
+ }
21
+ }
22
+
23
+ export function ProtocolParameter_$reflection() {
24
+ return record_type("ARCtrl.ISA.ProtocolParameter", [], ProtocolParameter, () => [["ID", option_type(string_type)], ["ParameterName", option_type(OntologyAnnotation_$reflection())]]);
25
+ }
26
+
27
+ export function ProtocolParameter_make(id, parameterName) {
28
+ return new ProtocolParameter(id, parameterName);
29
+ }
30
+
31
+ export function ProtocolParameter_create_Z6C54B221(Id, ParameterName) {
32
+ return ProtocolParameter_make(Id, ParameterName);
33
+ }
34
+
35
+ export function ProtocolParameter_get_empty() {
36
+ return ProtocolParameter_create_Z6C54B221();
37
+ }
38
+
39
+ /**
40
+ * Create a ISAJson Protocol Parameter from ISATab string entries
41
+ */
42
+ export function ProtocolParameter_fromString_Z2304A83C(term, source, accession, comments) {
43
+ const oa = OntologyAnnotation.fromString(term, source, accession, unwrap(comments));
44
+ return ProtocolParameter_make(void 0, Option_fromValueWithDefault(OntologyAnnotation.empty, oa));
45
+ }
46
+
47
+ /**
48
+ * Get ISATab string entries from an ISAJson ProtocolParameter object (name,source,accession)
49
+ */
50
+ export function ProtocolParameter_toString_Z3A4310A5(pp) {
51
+ const value = {
52
+ TermAccessionNumber: "",
53
+ TermName: "",
54
+ TermSourceREF: "",
55
+ };
56
+ return defaultArg(map((arg) => OntologyAnnotation.toString(arg), pp.ParameterName), value);
57
+ }
58
+
59
+ /**
60
+ * Returns the name of the parameter as string
61
+ */
62
+ export function ProtocolParameter__get_NameText(this$) {
63
+ return defaultArg(map((oa) => oa.NameText, this$.ParameterName), "");
64
+ }
65
+
66
+ /**
67
+ * Returns the name of the parameter as string
68
+ */
69
+ export function ProtocolParameter__get_TryNameText(this$) {
70
+ return bind((oa) => oa.TryNameText, this$.ParameterName);
71
+ }
72
+
73
+ export function ProtocolParameter__MapCategory_Z69DD836A(this$, f) {
74
+ return new ProtocolParameter(this$.ID, map(f, this$.ParameterName));
75
+ }
76
+
77
+ export function ProtocolParameter__SetCategory_Z4C0FE73C(this$, c) {
78
+ return new ProtocolParameter(this$.ID, c);
79
+ }
80
+
81
+ /**
82
+ * Returns the name of the paramater as string if it exists
83
+ */
84
+ export function ProtocolParameter_tryGetNameText_Z3A4310A5(pp) {
85
+ return ProtocolParameter__get_TryNameText(pp);
86
+ }
87
+
88
+ /**
89
+ * Returns the name of the paramater as string
90
+ */
91
+ export function ProtocolParameter_getNameText_Z3A4310A5(pp) {
92
+ return defaultArg(ProtocolParameter_tryGetNameText_Z3A4310A5(pp), "");
93
+ }
94
+
95
+ /**
96
+ * Returns true if the given name matches the name of the parameter
97
+ */
98
+ export function ProtocolParameter_nameEqualsString(name, pp) {
99
+ return ProtocolParameter__get_NameText(pp) === name;
100
+ }
101
+
@@ -0,0 +1,105 @@
1
+ import { filter, map, tryFind, exists, singleton, append } from "../../../fable_modules/fable-library.4.1.4/List.js";
2
+ import { equals } from "../../../fable_modules/fable-library.4.1.4/Util.js";
3
+ import { record_type, array_type, option_type, string_type, getRecordFields, makeRecord } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
4
+ import { map as map_2, map2 } from "../../../fable_modules/fable-library.4.1.4/Array.js";
5
+ import { Update_updateOnlyByExistingAppend, Update_updateOnlyByExisting, Update_updateAppend } from "../Helper.js";
6
+ import { map as map_1 } from "../../../fable_modules/fable-library.4.1.4/Option.js";
7
+ import { Option_mapDefault } from "../Helper.js";
8
+ import { Record } from "../../../fable_modules/fable-library.4.1.4/Types.js";
9
+ import { OntologyAnnotation_$reflection } from "./OntologyAnnotation.js";
10
+ import { Comment$_$reflection } from "./Comment.js";
11
+
12
+ export class Publication extends Record {
13
+ constructor(PubMedID, DOI, Authors, Title, Status, Comments) {
14
+ super();
15
+ this.PubMedID = PubMedID;
16
+ this.DOI = DOI;
17
+ this.Authors = Authors;
18
+ this.Title = Title;
19
+ this.Status = Status;
20
+ this.Comments = Comments;
21
+ }
22
+ static make(pubMedID, doi, authors, title, status, comments) {
23
+ return new Publication(pubMedID, doi, authors, title, status, comments);
24
+ }
25
+ static create(PubMedID, Doi, Authors, Title, Status, Comments) {
26
+ return Publication.make(PubMedID, Doi, Authors, Title, Status, Comments);
27
+ }
28
+ static get empty() {
29
+ return Publication.create();
30
+ }
31
+ static add(publications, publication) {
32
+ return append(publications, singleton(publication));
33
+ }
34
+ static existsByDoi(doi, publications) {
35
+ return exists((p) => equals(p.DOI, doi), publications);
36
+ }
37
+ static existsByPubMedID(pubMedID, publications) {
38
+ return exists((p) => equals(p.PubMedID, pubMedID), publications);
39
+ }
40
+ static tryGetByDoi(doi, publications) {
41
+ return tryFind((publication) => equals(publication.DOI, doi), publications);
42
+ }
43
+ static updateBy(predicate, updateOption, publication, publications) {
44
+ return exists(predicate, publications) ? map((p) => {
45
+ if (predicate(p)) {
46
+ const this$ = updateOption;
47
+ const recordType_1 = p;
48
+ const recordType_2 = publication;
49
+ switch (this$.tag) {
50
+ case 2:
51
+ return makeRecord(Publication_$reflection(), map2(Update_updateAppend, getRecordFields(recordType_1), getRecordFields(recordType_2)));
52
+ case 1:
53
+ return makeRecord(Publication_$reflection(), map2(Update_updateOnlyByExisting, getRecordFields(recordType_1), getRecordFields(recordType_2)));
54
+ case 3:
55
+ return makeRecord(Publication_$reflection(), map2(Update_updateOnlyByExistingAppend, getRecordFields(recordType_1), getRecordFields(recordType_2)));
56
+ default:
57
+ return recordType_2;
58
+ }
59
+ }
60
+ else {
61
+ return p;
62
+ }
63
+ }, publications) : publications;
64
+ }
65
+ static updateByDOI(updateOption, publication, publications) {
66
+ return Publication.updateBy((p) => equals(p.DOI, publication.DOI), updateOption, publication, publications);
67
+ }
68
+ static updateByPubMedID(updateOption, publication, publications) {
69
+ return Publication.updateBy((p) => equals(p.PubMedID, publication.PubMedID), updateOption, publication, publications);
70
+ }
71
+ static removeByDoi(doi, publications) {
72
+ return filter((p) => !equals(p.DOI, doi), publications);
73
+ }
74
+ static removeByPubMedID(pubMedID, publications) {
75
+ return filter((p) => !equals(p.PubMedID, pubMedID), publications);
76
+ }
77
+ static getStatus(publication) {
78
+ return publication.Status;
79
+ }
80
+ static mapStatus(f, publication) {
81
+ return new Publication(publication.PubMedID, publication.DOI, publication.Authors, publication.Title, map_1(f, publication.Status), publication.Comments);
82
+ }
83
+ static setStatus(publication, status) {
84
+ return new Publication(publication.PubMedID, publication.DOI, publication.Authors, publication.Title, status, publication.Comments);
85
+ }
86
+ static getComments(publication) {
87
+ return publication.Comments;
88
+ }
89
+ static mapComments(f, publication) {
90
+ return new Publication(publication.PubMedID, publication.DOI, publication.Authors, publication.Title, publication.Status, Option_mapDefault([], f, publication.Comments));
91
+ }
92
+ static setComments(publication, comments) {
93
+ return new Publication(publication.PubMedID, publication.DOI, publication.Authors, publication.Title, publication.Status, comments);
94
+ }
95
+ Copy() {
96
+ const this$ = this;
97
+ const arg_5 = map_1((array) => map_2((c) => c.Copy(), array), this$.Comments);
98
+ return Publication.make(this$.PubMedID, this$.DOI, this$.Authors, this$.Title, this$.Status, arg_5);
99
+ }
100
+ }
101
+
102
+ export function Publication_$reflection() {
103
+ return record_type("ARCtrl.ISA.Publication", [], Publication, () => [["PubMedID", option_type(string_type)], ["DOI", option_type(string_type)], ["Authors", option_type(string_type)], ["Title", option_type(string_type)], ["Status", option_type(OntologyAnnotation_$reflection())], ["Comments", option_type(array_type(Comment$_$reflection()))]]);
104
+ }
105
+
@@ -0,0 +1,71 @@
1
+ import { Record, toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
2
+ import { append, choose, empty, length } from "../../../fable_modules/fable-library.4.1.4/List.js";
3
+ import { defaultArg } from "../../../fable_modules/fable-library.4.1.4/Option.js";
4
+ import { printf, toText } from "../../../fable_modules/fable-library.4.1.4/String.js";
5
+ import { record_type, list_type, option_type, string_type } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
6
+ import { MaterialAttributeValue_$reflection } from "./MaterialAttributeValue.js";
7
+ import { FactorValue_$reflection } from "./FactorValue.js";
8
+ import { Source_$reflection } from "./Source.js";
9
+
10
+ export class Sample extends Record {
11
+ constructor(ID, Name, Characteristics, FactorValues, DerivesFrom) {
12
+ super();
13
+ this.ID = ID;
14
+ this.Name = Name;
15
+ this.Characteristics = Characteristics;
16
+ this.FactorValues = FactorValues;
17
+ this.DerivesFrom = DerivesFrom;
18
+ }
19
+ Print() {
20
+ const this$ = this;
21
+ return toString(this$);
22
+ }
23
+ PrintCompact() {
24
+ const this$ = this;
25
+ const chars = length(defaultArg(this$.Characteristics, empty())) | 0;
26
+ const facts = length(defaultArg(this$.FactorValues, empty())) | 0;
27
+ const arg = Sample__get_NameAsString(this$);
28
+ return toText(printf("%s [%i characteristics; %i factors]"))(arg)(chars)(facts);
29
+ }
30
+ }
31
+
32
+ export function Sample_$reflection() {
33
+ return record_type("ARCtrl.ISA.Sample", [], Sample, () => [["ID", option_type(string_type)], ["Name", option_type(string_type)], ["Characteristics", option_type(list_type(MaterialAttributeValue_$reflection()))], ["FactorValues", option_type(list_type(FactorValue_$reflection()))], ["DerivesFrom", option_type(list_type(Source_$reflection()))]]);
34
+ }
35
+
36
+ export function Sample_make(id, name, characteristics, factorValues, derivesFrom) {
37
+ return new Sample(id, name, characteristics, factorValues, derivesFrom);
38
+ }
39
+
40
+ export function Sample_create_E50ED22(Id, Name, Characteristics, FactorValues, DerivesFrom) {
41
+ return Sample_make(Id, Name, Characteristics, FactorValues, DerivesFrom);
42
+ }
43
+
44
+ export function Sample_get_empty() {
45
+ return Sample_create_E50ED22();
46
+ }
47
+
48
+ export function Sample__get_NameAsString(this$) {
49
+ return defaultArg(this$.Name, "");
50
+ }
51
+
52
+ export function Sample_getCharacteristicUnits_Z29207F1E(s) {
53
+ return choose((c) => c.Unit, defaultArg(s.Characteristics, empty()));
54
+ }
55
+
56
+ export function Sample_getFactorUnits_Z29207F1E(s) {
57
+ return choose((c) => c.Unit, defaultArg(s.FactorValues, empty()));
58
+ }
59
+
60
+ export function Sample_getUnits_Z29207F1E(s) {
61
+ return append(Sample_getCharacteristicUnits_Z29207F1E(s), Sample_getFactorUnits_Z29207F1E(s));
62
+ }
63
+
64
+ export function Sample_setCharacteristicValues(values, s) {
65
+ return new Sample(s.ID, s.Name, values, s.FactorValues, s.DerivesFrom);
66
+ }
67
+
68
+ export function Sample_setFactorValues(values, s) {
69
+ return new Sample(s.ID, s.Name, s.Characteristics, values, s.DerivesFrom);
70
+ }
71
+
@@ -0,0 +1,54 @@
1
+ import { Record, toString } from "../../../fable_modules/fable-library.4.1.4/Types.js";
2
+ import { choose, empty, length } from "../../../fable_modules/fable-library.4.1.4/List.js";
3
+ import { defaultArg } from "../../../fable_modules/fable-library.4.1.4/Option.js";
4
+ import { printf, toText } from "../../../fable_modules/fable-library.4.1.4/String.js";
5
+ import { record_type, list_type, option_type, string_type } from "../../../fable_modules/fable-library.4.1.4/Reflection.js";
6
+ import { MaterialAttributeValue_$reflection } from "./MaterialAttributeValue.js";
7
+
8
+ export class Source extends Record {
9
+ constructor(ID, Name, Characteristics) {
10
+ super();
11
+ this.ID = ID;
12
+ this.Name = Name;
13
+ this.Characteristics = Characteristics;
14
+ }
15
+ Print() {
16
+ const this$ = this;
17
+ return toString(this$);
18
+ }
19
+ PrintCompact() {
20
+ const this$ = this;
21
+ const l = length(defaultArg(this$.Characteristics, empty())) | 0;
22
+ const arg = Source__get_NameAsString(this$);
23
+ return toText(printf("%s [%i characteristics]"))(arg)(l);
24
+ }
25
+ }
26
+
27
+ export function Source_$reflection() {
28
+ return record_type("ARCtrl.ISA.Source", [], Source, () => [["ID", option_type(string_type)], ["Name", option_type(string_type)], ["Characteristics", option_type(list_type(MaterialAttributeValue_$reflection()))]]);
29
+ }
30
+
31
+ export function Source_make(id, name, characteristics) {
32
+ return new Source(id, name, characteristics);
33
+ }
34
+
35
+ export function Source_create_7A281ED9(Id, Name, Characteristics) {
36
+ return Source_make(Id, Name, Characteristics);
37
+ }
38
+
39
+ export function Source_get_empty() {
40
+ return Source_create_7A281ED9();
41
+ }
42
+
43
+ export function Source__get_NameAsString(this$) {
44
+ return defaultArg(this$.Name, "");
45
+ }
46
+
47
+ export function Source_getUnits_Z28BE5327(m) {
48
+ return choose((c) => c.Unit, defaultArg(m.Characteristics, empty()));
49
+ }
50
+
51
+ export function Source_setCharacteristicValues(values, m) {
52
+ return new Source(m.ID, m.Name, values);
53
+ }
54
+