@nfdi4plants/arctrl 1.2.0 → 2.0.0-alpha.2

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 (366) hide show
  1. package/ARC.js +53 -35
  2. package/{Contracts/Contracts.ARCtrl.js → Contract/ARC.js} +4 -2
  3. package/Contract/ArcAssay.js +102 -0
  4. package/Contract/ArcInvestigation.js +78 -0
  5. package/Contract/ArcStudy.js +102 -0
  6. package/Contract/Contract.js +3 -3
  7. package/{Contracts/Contracts.Git.js → Contract/Git.js} +5 -5
  8. package/{ISA/ISA/ArcTypes → Core}/ArcTypes.js +307 -295
  9. package/Core/Comment.js +97 -0
  10. package/{ISA/ISA/JsonTypes → Core}/CommentList.js +12 -18
  11. package/Core/Conversion.js +1056 -0
  12. package/Core/Helper/Collections.js +318 -0
  13. package/Core/Helper/HashCodes.js +39 -0
  14. package/{ISA/ISA → Core/Helper}/Identifier.js +67 -2
  15. package/{ISA/ISA → Core/Helper}/Regex.js +3 -3
  16. package/{SemVer.js → Core/Helper/SemVer.js} +8 -8
  17. package/{ISA/ISA/ArcTypes → Core}/IdentifierSetters.js +1 -1
  18. package/Core/OntologyAnnotation.js +186 -0
  19. package/Core/OntologySourceReference.js +92 -0
  20. package/Core/Person.js +194 -0
  21. package/Core/Process/ColumnIndex.js +248 -0
  22. package/Core/Process/Component.js +188 -0
  23. package/{ISA/ISA/JsonTypes → Core/Process}/Data.js +8 -8
  24. package/{ISA/ISA/JsonTypes → Core/Process}/DataFile.js +3 -3
  25. package/Core/Process/Factor.js +109 -0
  26. package/{ISA/ISA/JsonTypes → Core/Process}/FactorValue.js +32 -13
  27. package/{ISA/ISA/JsonTypes → Core/Process}/Material.js +9 -9
  28. package/{ISA/ISA/JsonTypes → Core/Process}/MaterialAttribute.js +17 -17
  29. package/{ISA/ISA/JsonTypes → Core/Process}/MaterialAttributeValue.js +35 -16
  30. package/{ISA/ISA/JsonTypes → Core/Process}/MaterialType.js +3 -3
  31. package/{ISA/ISA/JsonTypes → Core/Process}/Process.js +46 -79
  32. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessInput.js +42 -42
  33. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessOutput.js +36 -36
  34. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessParameterValue.js +26 -7
  35. package/{ISA/ISA/JsonTypes → Core/Process}/ProcessSequence.js +21 -25
  36. package/{ISA/ISA/JsonTypes → Core/Process}/Protocol.js +26 -57
  37. package/{ISA/ISA/JsonTypes → Core/Process}/ProtocolParameter.js +10 -10
  38. package/{ISA/ISA/JsonTypes → Core/Process}/Sample.js +12 -12
  39. package/{ISA/ISA/JsonTypes → Core/Process}/Source.js +9 -9
  40. package/{ISA/ISA/JsonTypes → Core/Process}/Value.js +13 -13
  41. package/Core/Publication.js +116 -0
  42. package/{ISA/ISA/ArcTypes → Core/Table}/ArcTable.js +43 -149
  43. package/Core/Table/ArcTableAux.js +532 -0
  44. package/{ISA/ISA/ArcTypes → Core/Table}/ArcTables.js +20 -32
  45. package/{ISA/ISA/ArcTypes → Core/Table}/CompositeCell.js +19 -76
  46. package/{ISA/ISA/ArcTypes → Core/Table}/CompositeColumn.js +6 -6
  47. package/{ISA/ISA/ArcTypes → Core/Table}/CompositeHeader.js +14 -34
  48. package/{Templates → Core}/Template.js +16 -17
  49. package/Core/Templates.js +84 -0
  50. package/FileSystem/Commit.js +2 -2
  51. package/FileSystem/FileSystem.js +4 -4
  52. package/FileSystem/FileSystemTree.js +46 -8
  53. package/FileSystem/Path.js +10 -2
  54. package/Json/ARC.js +25 -0
  55. package/Json/Assay.js +202 -0
  56. package/Json/Comment.js +130 -0
  57. package/Json/ConverterOptions.js +18 -0
  58. package/Json/Decode.js +128 -0
  59. package/Json/Encode.js +45 -0
  60. package/Json/Investigation.js +220 -0
  61. package/Json/OntologyAnnotation.js +169 -0
  62. package/Json/OntologySourceReference.js +122 -0
  63. package/Json/Person.js +250 -0
  64. package/Json/Process/AssayMaterials.js +22 -0
  65. package/Json/Process/Component.js +79 -0
  66. package/Json/Process/Data.js +102 -0
  67. package/Json/Process/DataFile.js +81 -0
  68. package/Json/Process/Factor.js +48 -0
  69. package/Json/Process/FactorValue.js +53 -0
  70. package/Json/Process/Material.js +107 -0
  71. package/Json/Process/MaterialAttribute.js +45 -0
  72. package/Json/Process/MaterialAttributeValue.js +70 -0
  73. package/Json/Process/MaterialType.js +60 -0
  74. package/Json/Process/Process.js +107 -0
  75. package/Json/Process/ProcessInput.js +59 -0
  76. package/Json/Process/ProcessOutput.js +71 -0
  77. package/Json/Process/ProcessParameterValue.js +69 -0
  78. package/Json/Process/ProcessSequence.js +53 -0
  79. package/Json/Process/PropertyValue.js +82 -0
  80. package/Json/Process/Protocol.js +147 -0
  81. package/Json/Process/ProtocolParameter.js +45 -0
  82. package/Json/Process/Sample.js +134 -0
  83. package/Json/Process/Source.js +101 -0
  84. package/Json/Process/StudyMaterials.js +24 -0
  85. package/Json/Process/Value.js +42 -0
  86. package/Json/Publication.js +142 -0
  87. package/Json/StringTable.js +44 -0
  88. package/Json/Study.js +306 -0
  89. package/{ISA/ISA.Json/ArcTypes → Json/Table}/ArcTable.js +53 -49
  90. package/Json/Table/CellTable.js +40 -0
  91. package/Json/Table/CompositeCell.js +65 -0
  92. package/{ISA/ISA.Json/ArcTypes → Json/Table}/CompositeHeader.js +22 -19
  93. package/Json/Table/Compression.js +38 -0
  94. package/Json/Table/IOType.js +37 -0
  95. package/Json/Table/OATable.js +40 -0
  96. package/Json/Table/Templates.js +107 -0
  97. package/Json/context/rocrate/isa_assay_context.js +32 -0
  98. package/Json/context/rocrate/isa_comment_context.js +23 -0
  99. package/Json/context/rocrate/isa_component_context.js +24 -0
  100. package/Json/context/rocrate/isa_data_context.js +25 -0
  101. package/Json/context/rocrate/isa_factor_context.js +25 -0
  102. package/Json/context/rocrate/isa_factor_value_context.js +23 -0
  103. package/{ISA/ISA.Json → Json}/context/rocrate/isa_investigation_context.js +5 -5
  104. package/{ISA/ISA.Json → Json}/context/rocrate/isa_material_attribute_context.js +4 -4
  105. package/Json/context/rocrate/isa_material_attribute_value_context.js +23 -0
  106. package/Json/context/rocrate/isa_material_context.js +26 -0
  107. package/Json/context/rocrate/isa_ontology_annotation_context.js +23 -0
  108. package/Json/context/rocrate/isa_ontology_source_reference_context.js +26 -0
  109. package/Json/context/rocrate/isa_organization_context.js +22 -0
  110. package/Json/context/rocrate/isa_person_context.js +33 -0
  111. package/Json/context/rocrate/isa_process_context.js +29 -0
  112. package/Json/context/rocrate/isa_process_parameter_value_context.js +23 -0
  113. package/Json/context/rocrate/isa_protocol_context.js +28 -0
  114. package/{ISA/ISA.Json → Json}/context/rocrate/isa_protocol_parameter_context.js +4 -4
  115. package/Json/context/rocrate/isa_publication_context.js +25 -0
  116. package/Json/context/rocrate/isa_sample_context.js +24 -0
  117. package/Json/context/rocrate/isa_source_context.js +25 -0
  118. package/Json/context/rocrate/isa_study_context.js +40 -0
  119. package/Json/context/rocrate/property_value_context.js +4 -0
  120. package/Json/context/rocrate/rocrate_context.js +23 -0
  121. package/Json.js +193 -0
  122. package/README.md +33 -12
  123. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/ArcTable.js +12 -12
  124. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeCell.js +8 -7
  125. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeColumn.js +10 -10
  126. package/{ISA/ISA.Spreadsheet → Spreadsheet}/AnnotationTable/CompositeHeader.js +10 -10
  127. package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcAssay.js +11 -11
  128. package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcInvestigation.js +34 -37
  129. package/{ISA/ISA.Spreadsheet → Spreadsheet}/ArcStudy.js +12 -12
  130. package/{ISA/ISA.Spreadsheet → Spreadsheet}/CollectionAux.js +7 -7
  131. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Assays.js +32 -32
  132. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Comment.js +5 -5
  133. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Contacts.js +28 -30
  134. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Conversions.js +22 -16
  135. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/DesignDescriptors.js +1 -1
  136. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Factors.js +23 -22
  137. package/Spreadsheet/Metadata/OntologyAnnotation.js +64 -0
  138. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/OntologySourceReference.js +22 -24
  139. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Protocols.js +17 -17
  140. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Publication.js +29 -31
  141. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/SparseTable.js +23 -22
  142. package/{ISA/ISA.Spreadsheet → Spreadsheet}/Metadata/Study.js +38 -40
  143. package/{Templates/Template.Spreadsheet.js → Spreadsheet/Template.js} +31 -31
  144. package/Template.Web.js +27 -0
  145. package/WebRequest/WebRequest.Node.js +2 -2
  146. package/WebRequest/WebRequest.js +2 -2
  147. package/Xlsx.js +85 -0
  148. package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +7 -7
  149. package/fable_modules/Fable.Promise.2.2.2/Promise.fs.js +3 -3
  150. package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +8 -8
  151. package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +2 -2
  152. package/fable_modules/FsSpreadsheet.5.1.3/Cells/FsCell.fs.js +14 -14
  153. package/fable_modules/FsSpreadsheet.5.1.3/Cells/FsCellsCollection.fs.js +6 -6
  154. package/fable_modules/FsSpreadsheet.5.1.3/DSL/CellBuilder.fs.js +4 -4
  155. package/fable_modules/FsSpreadsheet.5.1.3/DSL/ColumnBuilder.fs.js +3 -3
  156. package/fable_modules/FsSpreadsheet.5.1.3/DSL/DSL.fs.js +2 -2
  157. package/fable_modules/FsSpreadsheet.5.1.3/DSL/Expression.fs.js +1 -1
  158. package/fable_modules/FsSpreadsheet.5.1.3/DSL/RowBuilder.fs.js +3 -3
  159. package/fable_modules/FsSpreadsheet.5.1.3/DSL/SheetBuilder.fs.js +3 -3
  160. package/fable_modules/FsSpreadsheet.5.1.3/DSL/TableBuilder.fs.js +3 -3
  161. package/fable_modules/FsSpreadsheet.5.1.3/DSL/Transform.fs.js +6 -6
  162. package/fable_modules/FsSpreadsheet.5.1.3/DSL/Types.fs.js +4 -4
  163. package/fable_modules/FsSpreadsheet.5.1.3/DSL/WorkbookBuilder.fs.js +3 -3
  164. package/fable_modules/FsSpreadsheet.5.1.3/FsAddress.fs.js +8 -8
  165. package/fable_modules/FsSpreadsheet.5.1.3/FsColumn.fs.js +3 -3
  166. package/fable_modules/FsSpreadsheet.5.1.3/FsRow.fs.js +3 -3
  167. package/fable_modules/FsSpreadsheet.5.1.3/FsWorkbook.fs.js +6 -6
  168. package/fable_modules/FsSpreadsheet.5.1.3/FsWorksheet.fs.js +9 -9
  169. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRange.fs.js +3 -3
  170. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeAddress.fs.js +3 -3
  171. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeBase.fs.js +3 -3
  172. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeColumn.fs.js +3 -3
  173. package/fable_modules/FsSpreadsheet.5.1.3/Ranges/FsRangeRow.fs.js +1 -1
  174. package/fable_modules/FsSpreadsheet.5.1.3/SheetBuilder.fs.js +8 -8
  175. package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTable.fs.js +7 -7
  176. package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTableField.fs.js +4 -4
  177. package/fable_modules/FsSpreadsheet.5.1.3/Tables/FsTableRow.fs.js +1 -1
  178. package/fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js +19 -19
  179. package/fable_modules/Thoth.Json.Core.0.2.1/Encode.fs.js +5 -5
  180. package/fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js +2 -2
  181. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js +1 -1
  182. package/fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js +2 -2
  183. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Boolean.js +2 -2
  184. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/CHANGELOG.md +18 -0
  185. package/fable_modules/fable-library-js.4.16.0/ConditionalWeakTable.d.ts +9 -0
  186. package/fable_modules/fable-library-js.4.16.0/ConditionalWeakTable.js +21 -0
  187. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Date.js +337 -40
  188. package/fable_modules/fable-library-js.4.16.0/MapUtil.d.ts +12 -0
  189. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MapUtil.js +15 -0
  190. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Util.d.ts +6 -3
  191. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Util.js +2 -13
  192. package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/package.json +1 -1
  193. package/fable_modules/project_cracked.json +1 -1
  194. package/index.js +14 -12
  195. package/package.json +1 -1
  196. package/Contracts/Contracts.ArcTypes.js +0 -268
  197. package/FileSystemTree.js +0 -51
  198. package/ISA/ISA/ArcTypes/ArcTableAux.js +0 -1155
  199. package/ISA/ISA/ArcTypes/CompositeRow.js +0 -111
  200. package/ISA/ISA/Builder/Types.js +0 -243
  201. package/ISA/ISA/Fable.js +0 -123
  202. package/ISA/ISA/Helper.js +0 -505
  203. package/ISA/ISA/JsonTypes/Assay.js +0 -620
  204. package/ISA/ISA/JsonTypes/AssayMaterials.js +0 -39
  205. package/ISA/ISA/JsonTypes/ColumnIndex.js +0 -246
  206. package/ISA/ISA/JsonTypes/Comment.js +0 -58
  207. package/ISA/ISA/JsonTypes/Component.js +0 -165
  208. package/ISA/ISA/JsonTypes/Factor.js +0 -128
  209. package/ISA/ISA/JsonTypes/Investigation.js +0 -204
  210. package/ISA/ISA/JsonTypes/OntologyAnnotation.js +0 -196
  211. package/ISA/ISA/JsonTypes/OntologySourceReference.js +0 -85
  212. package/ISA/ISA/JsonTypes/Person.js +0 -152
  213. package/ISA/ISA/JsonTypes/Publication.js +0 -105
  214. package/ISA/ISA/JsonTypes/Study.js +0 -942
  215. package/ISA/ISA/JsonTypes/StudyMaterials.js +0 -45
  216. package/ISA/ISA/UIHelper.js +0 -19
  217. package/ISA/ISA.Json/ArcTypes/ArcAssay.js +0 -303
  218. package/ISA/ISA.Json/ArcTypes/ArcInvestigation.js +0 -122
  219. package/ISA/ISA.Json/ArcTypes/ArcStudy.js +0 -203
  220. package/ISA/ISA.Json/ArcTypes/CellTable.js +0 -40
  221. package/ISA/ISA.Json/ArcTypes/CompositeCell.js +0 -62
  222. package/ISA/ISA.Json/ArcTypes/IOType.js +0 -33
  223. package/ISA/ISA.Json/ArcTypes/OATable.js +0 -42
  224. package/ISA/ISA.Json/Assay.js +0 -129
  225. package/ISA/ISA.Json/Comment.js +0 -80
  226. package/ISA/ISA.Json/ConverterOptions.js +0 -51
  227. package/ISA/ISA.Json/Data.js +0 -253
  228. package/ISA/ISA.Json/Decode.js +0 -61
  229. package/ISA/ISA.Json/Factor.js +0 -194
  230. package/ISA/ISA.Json/GEncode.js +0 -40
  231. package/ISA/ISA.Json/Investigation.js +0 -89
  232. package/ISA/ISA.Json/Material.js +0 -232
  233. package/ISA/ISA.Json/Ontology.js +0 -200
  234. package/ISA/ISA.Json/Person.js +0 -186
  235. package/ISA/ISA.Json/Process.js +0 -305
  236. package/ISA/ISA.Json/Protocol.js +0 -281
  237. package/ISA/ISA.Json/Publication.js +0 -86
  238. package/ISA/ISA.Json/StringTable.js +0 -44
  239. package/ISA/ISA.Json/Study.js +0 -186
  240. package/ISA/ISA.Json/context/rocrate/isa_assay_context.js +0 -34
  241. package/ISA/ISA.Json/context/rocrate/isa_comment_context.js +0 -23
  242. package/ISA/ISA.Json/context/rocrate/isa_component_context.js +0 -24
  243. package/ISA/ISA.Json/context/rocrate/isa_data_context.js +0 -25
  244. package/ISA/ISA.Json/context/rocrate/isa_factor_context.js +0 -25
  245. package/ISA/ISA.Json/context/rocrate/isa_factor_value_context.js +0 -25
  246. package/ISA/ISA.Json/context/rocrate/isa_material_attribute_value_context.js +0 -25
  247. package/ISA/ISA.Json/context/rocrate/isa_material_context.js +0 -26
  248. package/ISA/ISA.Json/context/rocrate/isa_ontology_annotation_context.js +0 -25
  249. package/ISA/ISA.Json/context/rocrate/isa_ontology_source_reference_context.js +0 -26
  250. package/ISA/ISA.Json/context/rocrate/isa_organization_context.js +0 -22
  251. package/ISA/ISA.Json/context/rocrate/isa_person_context.js +0 -31
  252. package/ISA/ISA.Json/context/rocrate/isa_process_context.js +0 -31
  253. package/ISA/ISA.Json/context/rocrate/isa_process_parameter_value_context.js +0 -25
  254. package/ISA/ISA.Json/context/rocrate/isa_protocol_context.js +0 -30
  255. package/ISA/ISA.Json/context/rocrate/isa_publication_context.js +0 -27
  256. package/ISA/ISA.Json/context/rocrate/isa_sample_context.js +0 -26
  257. package/ISA/ISA.Json/context/rocrate/isa_source_context.js +0 -25
  258. package/ISA/ISA.Json/context/rocrate/isa_study_context.js +0 -42
  259. package/ISA/ISA.Json/context/rocrate/rocrate_context.js +0 -25
  260. package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +0 -65
  261. package/Path.js +0 -10
  262. package/Templates/Template.Json.js +0 -90
  263. package/Templates/Template.Web.js +0 -27
  264. package/Templates/Templates.js +0 -82
  265. package/fable_modules/fable-library-js.4.13.0/MapUtil.d.ts +0 -10
  266. /package/{ISA/ISA/JsonTypes → Core}/URI.js +0 -0
  267. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Array.d.ts +0 -0
  268. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Array.js +0 -0
  269. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Async.d.ts +0 -0
  270. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Async.js +0 -0
  271. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/AsyncBuilder.d.ts +0 -0
  272. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/AsyncBuilder.js +0 -0
  273. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BigInt.d.ts +0 -0
  274. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BigInt.js +0 -0
  275. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BitConverter.d.ts +0 -0
  276. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/BitConverter.js +0 -0
  277. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Boolean.d.ts +0 -0
  278. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Char.d.ts +0 -0
  279. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Char.js +0 -0
  280. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Choice.d.ts +0 -0
  281. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Choice.js +0 -0
  282. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Date.d.ts +0 -0
  283. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOffset.d.ts +0 -0
  284. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOffset.js +0 -0
  285. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOnly.d.ts +0 -0
  286. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/DateOnly.js +0 -0
  287. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Decimal.d.ts +0 -0
  288. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Decimal.js +0 -0
  289. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Double.d.ts +0 -0
  290. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Double.js +0 -0
  291. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Encoding.d.ts +0 -0
  292. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Encoding.js +0 -0
  293. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Event.d.ts +0 -0
  294. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Event.js +0 -0
  295. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Collections.d.ts +0 -0
  296. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Collections.js +0 -0
  297. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.CompilerServices.d.ts +0 -0
  298. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.CompilerServices.js +0 -0
  299. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.d.ts +0 -0
  300. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/FSharp.Core.js +0 -0
  301. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Global.d.ts +0 -0
  302. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Global.js +0 -0
  303. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Guid.d.ts +0 -0
  304. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Guid.js +0 -0
  305. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Int32.d.ts +0 -0
  306. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Int32.js +0 -0
  307. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/List.d.ts +0 -0
  308. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/List.js +0 -0
  309. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Long.d.ts +0 -0
  310. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Long.js +0 -0
  311. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MailboxProcessor.d.ts +0 -0
  312. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MailboxProcessor.js +0 -0
  313. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Map.d.ts +0 -0
  314. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Map.js +0 -0
  315. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableMap.d.ts +0 -0
  316. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableMap.js +0 -0
  317. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableSet.d.ts +0 -0
  318. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/MutableSet.js +0 -0
  319. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Native.d.ts +0 -0
  320. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Native.js +0 -0
  321. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Numeric.d.ts +0 -0
  322. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Numeric.js +0 -0
  323. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Observable.d.ts +0 -0
  324. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Observable.js +0 -0
  325. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Option.d.ts +0 -0
  326. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Option.js +0 -0
  327. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/README.md +0 -0
  328. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Random.d.ts +0 -0
  329. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Random.js +0 -0
  330. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Range.d.ts +0 -0
  331. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Range.js +0 -0
  332. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Reflection.d.ts +0 -0
  333. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Reflection.js +0 -0
  334. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/RegExp.d.ts +0 -0
  335. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/RegExp.js +0 -0
  336. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Result.d.ts +0 -0
  337. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Result.js +0 -0
  338. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq.d.ts +0 -0
  339. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq.js +0 -0
  340. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq2.d.ts +0 -0
  341. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Seq2.js +0 -0
  342. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Set.d.ts +0 -0
  343. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Set.js +0 -0
  344. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/String.d.ts +0 -0
  345. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/String.js +0 -0
  346. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Collections.Generic.d.ts +0 -0
  347. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Collections.Generic.js +0 -0
  348. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Text.d.ts +0 -0
  349. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/System.Text.js +0 -0
  350. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/SystemException.d.ts +0 -0
  351. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/SystemException.js +0 -0
  352. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeOnly.d.ts +0 -0
  353. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeOnly.js +0 -0
  354. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeSpan.d.ts +0 -0
  355. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/TimeSpan.js +0 -0
  356. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Timer.d.ts +0 -0
  357. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Timer.js +0 -0
  358. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Types.d.ts +0 -0
  359. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Types.js +0 -0
  360. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Unicode.13.0.0.d.ts +0 -0
  361. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Unicode.13.0.0.js +0 -0
  362. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Uri.d.ts +0 -0
  363. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/Uri.js +0 -0
  364. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/big.d.ts +0 -0
  365. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/lib/big.d.ts +0 -0
  366. /package/fable_modules/{fable-library-js.4.13.0 → fable-library-js.4.16.0}/lib/big.js +0 -0
@@ -1,47 +1,37 @@
1
- import { map as map_1, defaultArg, unwrap } from "../../../fable_modules/fable-library-js.4.13.0/Option.js";
2
- import { concat, collect, append as append_4, tryFind, removeAt, tryFindIndex, exists, choose, item, map as map_2, delay, toList, fold, length, forAll, contains, filter, toArray } from "../../../fable_modules/fable-library-js.4.13.0/Seq.js";
3
- import { defaultOf, safeHash, equals, disposeSafe, getEnumerator, stringHash } from "../../../fable_modules/fable-library-js.4.13.0/Util.js";
4
- import { addRangeInPlace, removeInPlace, equalsWith, append as append_3, contains as contains_1, map } from "../../../fable_modules/fable-library-js.4.13.0/Array.js";
5
- import { distinctBy, Array_distinct } from "../../../fable_modules/fable-library-js.4.13.0/Seq2.js";
6
- import { printf, toText } from "../../../fable_modules/fable-library-js.4.13.0/String.js";
7
- import { ActivePatterns_$007CRegex$007C_$007C } from "../Regex.js";
8
- import { OntologyAnnotation } from "../JsonTypes/OntologyAnnotation.js";
9
- import { Value } from "../JsonTypes/Value.js";
10
- import { ArcTablesAux_applyIOMap, ArcTablesAux_getIOMap, ArcTables_$reflection, ArcTables } from "./ArcTables.js";
11
- import { AssayMaterials_get_empty, AssayMaterials_create_Z253F0553 } from "../JsonTypes/AssayMaterials.js";
12
- import { ResizeArray_choose, ResizeArray_filter, ResizeArray_map, HashCodes_boxHashOption, HashCodes_boxHashArray, Option_fromValueWithDefault } from "../Helper.js";
13
- import { unzip, ofSeq, map as map_3, toArray as toArray_1, ofArray, empty } from "../../../fable_modules/fable-library-js.4.13.0/List.js";
14
- import { getSources, getProtocols, getUnits, getCharacteristics, getData, getMaterials, getSamples } from "../JsonTypes/ProcessSequence.js";
15
- import { Assay_create_3D372A24 } from "../JsonTypes/Assay.js";
16
- import { Study_identifierFromFileName, Study_fileNameFromIdentifier, Assay_identifierFromFileName, createMissingIdentifier, Assay_fileNameFromIdentifier, isMissingIdentifier } from "../Identifier.js";
17
- import { rangeDouble } from "../../../fable_modules/fable-library-js.4.13.0/Range.js";
18
- import { class_type } from "../../../fable_modules/fable-library-js.4.13.0/Reflection.js";
19
- import { StudyMaterials_get_empty, StudyMaterials_create_1BE9FA55 } from "../JsonTypes/StudyMaterials.js";
20
- import { Study_create_Z2D28E954 } from "../JsonTypes/Study.js";
21
- import { Investigation_create_4AD66BBE } from "../JsonTypes/Investigation.js";
22
- import { FSharpRef } from "../../../fable_modules/fable-library-js.4.13.0/Types.js";
1
+ import { value as value_4, defaultArg, unwrap } from "../fable_modules/fable-library-js.4.16.0/Option.js";
2
+ import { collect, append as append_3, tryFind, removeAt, tryFindIndex, exists, choose, item, map, delay, toList, fold, length, forAll, contains, filter, toArray } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
3
+ import { defaultOf, safeHash, equals, disposeSafe, getEnumerator, stringHash } from "../fable_modules/fable-library-js.4.16.0/Util.js";
4
+ import { ResizeArray_choose, ResizeArray_filter, ResizeArray_map } from "./Helper/Collections.js";
5
+ import { addRangeInPlace, removeInPlace, contains as contains_1 } from "../fable_modules/fable-library-js.4.16.0/Array.js";
6
+ import { printf, toText } from "../fable_modules/fable-library-js.4.16.0/String.js";
7
+ import { rangeDouble } from "../fable_modules/fable-library-js.4.16.0/Range.js";
8
+ import { boxHashSeq, boxHashOption, boxHashArray } from "./Helper/HashCodes.js";
9
+ import { ArcTablesAux_applyIOMap, ArcTablesAux_getIOMap, ArcTables_$reflection, ArcTables } from "./Table/ArcTables.js";
10
+ import { class_type } from "../fable_modules/fable-library-js.4.16.0/Reflection.js";
11
+ import { Array_distinct } from "../fable_modules/fable-library-js.4.16.0/Seq2.js";
12
+ import { FSharpRef } from "../fable_modules/fable-library-js.4.16.0/Types.js";
23
13
 
24
14
  export class ArcAssay extends ArcTables {
25
15
  constructor(identifier, measurementType, technologyType, technologyPlatform, tables, performers, comments) {
26
16
  super(defaultArg(tables, []));
27
17
  const performers_1 = defaultArg(performers, []);
28
18
  const comments_1 = defaultArg(comments, []);
29
- this["identifier@96"] = identifier;
19
+ this["identifier@109"] = identifier;
30
20
  this.investigation = void 0;
31
- this["measurementType@98"] = measurementType;
32
- this["technologyType@99"] = technologyType;
33
- this["technologyPlatform@100"] = technologyPlatform;
34
- this["performers@101-1"] = performers_1;
35
- this["comments@102-1"] = comments_1;
21
+ this["measurementType@111"] = measurementType;
22
+ this["technologyType@112"] = technologyType;
23
+ this["technologyPlatform@113"] = technologyPlatform;
24
+ this["performers@114-1"] = performers_1;
25
+ this["comments@115-1"] = comments_1;
36
26
  this.staticHash = 0;
37
27
  }
38
28
  get Identifier() {
39
29
  const this$ = this;
40
- return this$["identifier@96"];
30
+ return this$["identifier@109"];
41
31
  }
42
32
  set Identifier(i) {
43
33
  const this$ = this;
44
- this$["identifier@96"] = i;
34
+ this$["identifier@109"] = i;
45
35
  }
46
36
  get Investigation() {
47
37
  const this$ = this;
@@ -53,43 +43,43 @@ export class ArcAssay extends ArcTables {
53
43
  }
54
44
  get MeasurementType() {
55
45
  const this$ = this;
56
- return unwrap(this$["measurementType@98"]);
46
+ return unwrap(this$["measurementType@111"]);
57
47
  }
58
48
  set MeasurementType(n) {
59
49
  const this$ = this;
60
- this$["measurementType@98"] = n;
50
+ this$["measurementType@111"] = n;
61
51
  }
62
52
  get TechnologyType() {
63
53
  const this$ = this;
64
- return unwrap(this$["technologyType@99"]);
54
+ return unwrap(this$["technologyType@112"]);
65
55
  }
66
56
  set TechnologyType(n) {
67
57
  const this$ = this;
68
- this$["technologyType@99"] = n;
58
+ this$["technologyType@112"] = n;
69
59
  }
70
60
  get TechnologyPlatform() {
71
61
  const this$ = this;
72
- return unwrap(this$["technologyPlatform@100"]);
62
+ return unwrap(this$["technologyPlatform@113"]);
73
63
  }
74
64
  set TechnologyPlatform(n) {
75
65
  const this$ = this;
76
- this$["technologyPlatform@100"] = n;
66
+ this$["technologyPlatform@113"] = n;
77
67
  }
78
68
  get Performers() {
79
69
  const this$ = this;
80
- return this$["performers@101-1"];
70
+ return this$["performers@114-1"];
81
71
  }
82
72
  set Performers(n) {
83
73
  const this$ = this;
84
- this$["performers@101-1"] = n;
74
+ this$["performers@114-1"] = n;
85
75
  }
86
76
  get Comments() {
87
77
  const this$ = this;
88
- return this$["comments@102-1"];
78
+ return this$["comments@115-1"];
89
79
  }
90
80
  set Comments(n) {
91
81
  const this$ = this;
92
- this$["comments@102-1"] = n;
82
+ this$["comments@115-1"] = n;
93
83
  }
94
84
  get StaticHash() {
95
85
  const this$ = this;
@@ -363,8 +353,8 @@ export class ArcAssay extends ArcTables {
363
353
  finally {
364
354
  disposeSafe(enumerator);
365
355
  }
366
- const nextComments = map((c) => c.Copy(), this$.Comments);
367
- const nextPerformers = map((c_1) => c_1.Copy(), this$.Performers);
356
+ const nextComments = ResizeArray_map((c) => c.Copy(), this$.Comments);
357
+ const nextPerformers = ResizeArray_map((c_1) => c_1.Copy(), this$.Performers);
368
358
  const identifier = this$.Identifier;
369
359
  const measurementType = this$.MeasurementType;
370
360
  const technologyType = this$.TechnologyType;
@@ -390,25 +380,41 @@ export class ArcAssay extends ArcTables {
390
380
  const origin = this$.Tables;
391
381
  const next = assay.Tables;
392
382
  if (!appendSequences_1) {
393
- s = next;
383
+ s = ResizeArray_map((x) => x, next);
394
384
  }
395
385
  else {
396
- let enumerator = getEnumerator(next);
386
+ const combined = [];
387
+ let enumerator = getEnumerator(origin);
397
388
  try {
398
389
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
399
390
  const e = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
400
- if (!contains_1(e, origin, {
391
+ if (!contains_1(e, combined, {
401
392
  Equals: equals,
402
393
  GetHashCode: safeHash,
403
394
  })) {
404
- void (origin.push(e));
395
+ void (combined.push(e));
405
396
  }
406
397
  }
407
398
  }
408
399
  finally {
409
400
  disposeSafe(enumerator);
410
401
  }
411
- s = origin;
402
+ let enumerator_1 = getEnumerator(next);
403
+ try {
404
+ while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
405
+ const e_1 = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
406
+ if (!contains_1(e_1, combined, {
407
+ Equals: equals,
408
+ GetHashCode: safeHash,
409
+ })) {
410
+ void (combined.push(e_1));
411
+ }
412
+ }
413
+ }
414
+ finally {
415
+ disposeSafe(enumerator_1);
416
+ }
417
+ s = combined;
412
418
  }
413
419
  this$.Tables = s;
414
420
  }
@@ -416,20 +422,86 @@ export class ArcAssay extends ArcTables {
416
422
  let s_1;
417
423
  const origin_1 = this$.Performers;
418
424
  const next_1 = assay.Performers;
419
- s_1 = (!appendSequences_1 ? next_1 : Array_distinct(append_3(origin_1, next_1), {
420
- Equals: equals,
421
- GetHashCode: safeHash,
422
- }));
425
+ if (!appendSequences_1) {
426
+ s_1 = ResizeArray_map((x_3) => x_3, next_1);
427
+ }
428
+ else {
429
+ const combined_1 = [];
430
+ let enumerator_2 = getEnumerator(origin_1);
431
+ try {
432
+ while (enumerator_2["System.Collections.IEnumerator.MoveNext"]()) {
433
+ const e_2 = enumerator_2["System.Collections.Generic.IEnumerator`1.get_Current"]();
434
+ if (!contains_1(e_2, combined_1, {
435
+ Equals: equals,
436
+ GetHashCode: safeHash,
437
+ })) {
438
+ void (combined_1.push(e_2));
439
+ }
440
+ }
441
+ }
442
+ finally {
443
+ disposeSafe(enumerator_2);
444
+ }
445
+ let enumerator_1_1 = getEnumerator(next_1);
446
+ try {
447
+ while (enumerator_1_1["System.Collections.IEnumerator.MoveNext"]()) {
448
+ const e_1_1 = enumerator_1_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
449
+ if (!contains_1(e_1_1, combined_1, {
450
+ Equals: equals,
451
+ GetHashCode: safeHash,
452
+ })) {
453
+ void (combined_1.push(e_1_1));
454
+ }
455
+ }
456
+ }
457
+ finally {
458
+ disposeSafe(enumerator_1_1);
459
+ }
460
+ s_1 = combined_1;
461
+ }
423
462
  this$.Performers = s_1;
424
463
  }
425
464
  if ((assay.Comments.length !== 0) ? true : updateAlways) {
426
465
  let s_2;
427
466
  const origin_2 = this$.Comments;
428
467
  const next_2 = assay.Comments;
429
- s_2 = (!appendSequences_1 ? next_2 : Array_distinct(append_3(origin_2, next_2), {
430
- Equals: equals,
431
- GetHashCode: safeHash,
432
- }));
468
+ if (!appendSequences_1) {
469
+ s_2 = ResizeArray_map((x_6) => x_6, next_2);
470
+ }
471
+ else {
472
+ const combined_2 = [];
473
+ let enumerator_3 = getEnumerator(origin_2);
474
+ try {
475
+ while (enumerator_3["System.Collections.IEnumerator.MoveNext"]()) {
476
+ const e_3 = enumerator_3["System.Collections.Generic.IEnumerator`1.get_Current"]();
477
+ if (!contains_1(e_3, combined_2, {
478
+ Equals: equals,
479
+ GetHashCode: safeHash,
480
+ })) {
481
+ void (combined_2.push(e_3));
482
+ }
483
+ }
484
+ }
485
+ finally {
486
+ disposeSafe(enumerator_3);
487
+ }
488
+ let enumerator_1_2 = getEnumerator(next_2);
489
+ try {
490
+ while (enumerator_1_2["System.Collections.IEnumerator.MoveNext"]()) {
491
+ const e_1_2 = enumerator_1_2["System.Collections.Generic.IEnumerator`1.get_Current"]();
492
+ if (!contains_1(e_1_2, combined_2, {
493
+ Equals: equals,
494
+ GetHashCode: safeHash,
495
+ })) {
496
+ void (combined_2.push(e_1_2));
497
+ }
498
+ }
499
+ }
500
+ finally {
501
+ disposeSafe(enumerator_1_2);
502
+ }
503
+ s_2 = combined_2;
504
+ }
433
505
  this$.Comments = s_2;
434
506
  }
435
507
  }
@@ -444,26 +516,6 @@ export class ArcAssay extends ArcTables {
444
516
  const arg_6 = this$.Comments;
445
517
  return toText(printf("ArcAssay({\r\n Identifier = \"%s\",\r\n MeasurementType = %A,\r\n TechnologyType = %A,\r\n TechnologyPlatform = %A,\r\n Tables = %A,\r\n Performers = %A,\r\n Comments = %A\r\n})"))(arg)(arg_1)(arg_2)(arg_3)(arg_4)(arg_5)(arg_6);
446
518
  }
447
- static composeTechnologyPlatform(tp) {
448
- const matchValue = tp.TANInfo;
449
- return (matchValue == null) ? (`${tp.NameText}`) : (`${tp.NameText} (${tp.TermAccessionShort})`);
450
- }
451
- static decomposeTechnologyPlatform(name) {
452
- const activePatternResult = ActivePatterns_$007CRegex$007C_$007C("(?<value>[^\\(]+) \\((?<ontology>[^(]*:[^)]*)\\)", name);
453
- if (activePatternResult != null) {
454
- const r = activePatternResult;
455
- let oa;
456
- const termAnnotation = (r.groups && r.groups.ontology) || "";
457
- oa = OntologyAnnotation.fromTermAnnotation(termAnnotation);
458
- let v;
459
- const value = (r.groups && r.groups.value) || "";
460
- v = Value.fromString(value);
461
- return new OntologyAnnotation(oa.ID, v.Text, oa.TermSourceREF, oa.TermAccessionNumber, oa.Comments);
462
- }
463
- else {
464
- return OntologyAnnotation.fromString(name);
465
- }
466
- }
467
519
  AddToInvestigation(investigation) {
468
520
  const this$ = this;
469
521
  this$.Investigation = investigation;
@@ -494,24 +546,6 @@ export class ArcAssay extends ArcTables {
494
546
  this$.Performers = assay.Performers;
495
547
  }
496
548
  }
497
- ToAssay() {
498
- const this$ = this;
499
- const processSeq = (new ArcTables(this$.Tables)).GetProcesses();
500
- let assayMaterials;
501
- const v_2 = AssayMaterials_create_Z253F0553(unwrap(Option_fromValueWithDefault(empty(), getSamples(processSeq))), unwrap(Option_fromValueWithDefault(empty(), getMaterials(processSeq))));
502
- assayMaterials = Option_fromValueWithDefault(AssayMaterials_get_empty(), v_2);
503
- return Assay_create_3D372A24(void 0, unwrap(isMissingIdentifier(this$.Identifier) ? void 0 : Assay_fileNameFromIdentifier(this$.Identifier)), unwrap(this$.MeasurementType), unwrap(this$.TechnologyType), unwrap(map_1((tp) => ArcAssay.composeTechnologyPlatform(tp), this$.TechnologyPlatform)), unwrap(Option_fromValueWithDefault(empty(), getData(processSeq))), unwrap(assayMaterials), unwrap(Option_fromValueWithDefault(empty(), getCharacteristics(processSeq))), unwrap(Option_fromValueWithDefault(empty(), getUnits(processSeq))), unwrap(Option_fromValueWithDefault(empty(), processSeq)), unwrap(Option_fromValueWithDefault(empty(), ofArray(this$.Comments))));
504
- }
505
- static fromAssay(a) {
506
- const tables = map_1((arg) => {
507
- const t = ArcTables.fromProcesses(arg);
508
- return t.Tables;
509
- }, a.ProcessSequence);
510
- let identifer;
511
- const matchValue = a.FileName;
512
- identifer = ((matchValue == null) ? createMissingIdentifier() : Assay_identifierFromFileName(matchValue));
513
- return ArcAssay.create(identifer, unwrap(map_1((x) => x.Copy(), a.MeasurementType)), unwrap(map_1((x_1) => x_1.Copy(), a.TechnologyType)), unwrap(map_1((name) => ArcAssay.decomposeTechnologyPlatform(name), a.TechnologyPlatform)), unwrap(tables), void 0, unwrap(map_1(toArray_1, a.Comments)));
514
- }
515
549
  StructurallyEquals(other) {
516
550
  let a, b, a_1, b_1, a_2, b_2;
517
551
  const this$ = this;
@@ -522,21 +556,21 @@ export class ArcAssay extends ArcTables {
522
556
  else {
523
557
  return false;
524
558
  }
525
- }, true, toList(delay(() => map_2((i_1) => equals(item(i_1, a), item(i_1, b)), rangeDouble(0, 1, length(a) - 1))))))), (a_1 = this$.Performers, (b_1 = other.Performers, (length(a_1) === length(b_1)) && fold((acc_1, e_1) => {
559
+ }, true, toList(delay(() => map((i_1) => equals(item(i_1, a), item(i_1, b)), rangeDouble(0, 1, length(a) - 1))))))), (a_1 = this$.Performers, (b_1 = other.Performers, (length(a_1) === length(b_1)) && fold((acc_1, e_1) => {
526
560
  if (acc_1) {
527
561
  return e_1;
528
562
  }
529
563
  else {
530
564
  return false;
531
565
  }
532
- }, true, toList(delay(() => map_2((i_2) => equals(item(i_2, a_1), item(i_2, b_1)), rangeDouble(0, 1, length(a_1) - 1))))))), (a_2 = this$.Comments, (b_2 = other.Comments, (length(a_2) === length(b_2)) && fold((acc_2, e_2) => {
566
+ }, true, toList(delay(() => map((i_2) => equals(item(i_2, a_1), item(i_2, b_1)), rangeDouble(0, 1, length(a_1) - 1))))))), (a_2 = this$.Comments, (b_2 = other.Comments, (length(a_2) === length(b_2)) && fold((acc_2, e_2) => {
533
567
  if (acc_2) {
534
568
  return e_2;
535
569
  }
536
570
  else {
537
571
  return false;
538
572
  }
539
- }, true, toList(delay(() => map_2((i_3) => equals(item(i_3, a_2), item(i_3, b_2)), rangeDouble(0, 1, length(a_2) - 1)))))))]);
573
+ }, true, toList(delay(() => map((i_3) => equals(item(i_3, a_2), item(i_3, b_2)), rangeDouble(0, 1, length(a_2) - 1)))))))]);
540
574
  }
541
575
  ReferenceEquals(other) {
542
576
  const this$ = this;
@@ -549,48 +583,46 @@ export class ArcAssay extends ArcTables {
549
583
  }
550
584
  GetHashCode() {
551
585
  const this$ = this;
552
- return HashCodes_boxHashArray([this$.Identifier, HashCodes_boxHashOption(this$.MeasurementType), HashCodes_boxHashOption(this$.TechnologyType), HashCodes_boxHashOption(this$.TechnologyPlatform), HashCodes_boxHashArray(Array.from(this$.Tables)), HashCodes_boxHashArray(this$.Performers), HashCodes_boxHashArray(this$.Comments)]) | 0;
586
+ return boxHashArray([this$.Identifier, boxHashOption(this$.MeasurementType), boxHashOption(this$.TechnologyType), boxHashOption(this$.TechnologyPlatform), boxHashSeq(this$.Tables), boxHashSeq(this$.Performers), boxHashSeq(this$.Comments)]) | 0;
553
587
  }
554
588
  }
555
589
 
556
590
  export function ArcAssay_$reflection() {
557
- return class_type("ARCtrl.ISA.ArcAssay", void 0, ArcAssay, ArcTables_$reflection());
591
+ return class_type("ARCtrl.ArcAssay", void 0, ArcAssay, ArcTables_$reflection());
558
592
  }
559
593
 
560
- export function ArcAssay_$ctor_Z1126B596(identifier, measurementType, technologyType, technologyPlatform, tables, performers, comments) {
594
+ export function ArcAssay_$ctor_1CE2732A(identifier, measurementType, technologyType, technologyPlatform, tables, performers, comments) {
561
595
  return new ArcAssay(identifier, measurementType, technologyType, technologyPlatform, tables, performers, comments);
562
596
  }
563
597
 
564
598
  export class ArcStudy extends ArcTables {
565
- constructor(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, factors, comments) {
599
+ constructor(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, comments) {
566
600
  super(defaultArg(tables, []));
567
601
  const publications_1 = defaultArg(publications, []);
568
602
  const contacts_1 = defaultArg(contacts, []);
569
603
  const studyDesignDescriptors_1 = defaultArg(studyDesignDescriptors, []);
570
604
  const registeredAssayIdentifiers_1 = defaultArg(registeredAssayIdentifiers, []);
571
- const factors_1 = defaultArg(factors, []);
572
605
  const comments_1 = defaultArg(comments, []);
573
- this["identifier@572"] = identifier;
606
+ this["identifier@511"] = identifier;
574
607
  this.investigation = void 0;
575
- this["title@574"] = title;
576
- this["description@575"] = description;
577
- this["submissionDate@576"] = submissionDate;
578
- this["publicReleaseDate@577"] = publicReleaseDate;
579
- this["publications@578-1"] = publications_1;
580
- this["contacts@579-1"] = contacts_1;
581
- this["studyDesignDescriptors@580-1"] = studyDesignDescriptors_1;
582
- this["registeredAssayIdentifiers@581-1"] = registeredAssayIdentifiers_1;
583
- this["factors@582-1"] = factors_1;
584
- this["comments@583-1"] = comments_1;
608
+ this["title@513"] = title;
609
+ this["description@514"] = description;
610
+ this["submissionDate@515"] = submissionDate;
611
+ this["publicReleaseDate@516"] = publicReleaseDate;
612
+ this["publications@517-1"] = publications_1;
613
+ this["contacts@518-1"] = contacts_1;
614
+ this["studyDesignDescriptors@519-1"] = studyDesignDescriptors_1;
615
+ this["registeredAssayIdentifiers@520-1"] = registeredAssayIdentifiers_1;
616
+ this["comments@521-1"] = comments_1;
585
617
  this.staticHash = 0;
586
618
  }
587
619
  get Identifier() {
588
620
  const this$ = this;
589
- return this$["identifier@572"];
621
+ return this$["identifier@511"];
590
622
  }
591
623
  set Identifier(i) {
592
624
  const this$ = this;
593
- this$["identifier@572"] = i;
625
+ this$["identifier@511"] = i;
594
626
  }
595
627
  get Investigation() {
596
628
  const this$ = this;
@@ -602,83 +634,75 @@ export class ArcStudy extends ArcTables {
602
634
  }
603
635
  get Title() {
604
636
  const this$ = this;
605
- return unwrap(this$["title@574"]);
637
+ return unwrap(this$["title@513"]);
606
638
  }
607
639
  set Title(n) {
608
640
  const this$ = this;
609
- this$["title@574"] = n;
641
+ this$["title@513"] = n;
610
642
  }
611
643
  get Description() {
612
644
  const this$ = this;
613
- return unwrap(this$["description@575"]);
645
+ return unwrap(this$["description@514"]);
614
646
  }
615
647
  set Description(n) {
616
648
  const this$ = this;
617
- this$["description@575"] = n;
649
+ this$["description@514"] = n;
618
650
  }
619
651
  get SubmissionDate() {
620
652
  const this$ = this;
621
- return unwrap(this$["submissionDate@576"]);
653
+ return unwrap(this$["submissionDate@515"]);
622
654
  }
623
655
  set SubmissionDate(n) {
624
656
  const this$ = this;
625
- this$["submissionDate@576"] = n;
657
+ this$["submissionDate@515"] = n;
626
658
  }
627
659
  get PublicReleaseDate() {
628
660
  const this$ = this;
629
- return unwrap(this$["publicReleaseDate@577"]);
661
+ return unwrap(this$["publicReleaseDate@516"]);
630
662
  }
631
663
  set PublicReleaseDate(n) {
632
664
  const this$ = this;
633
- this$["publicReleaseDate@577"] = n;
665
+ this$["publicReleaseDate@516"] = n;
634
666
  }
635
667
  get Publications() {
636
668
  const this$ = this;
637
- return this$["publications@578-1"];
669
+ return this$["publications@517-1"];
638
670
  }
639
671
  set Publications(n) {
640
672
  const this$ = this;
641
- this$["publications@578-1"] = n;
673
+ this$["publications@517-1"] = n;
642
674
  }
643
675
  get Contacts() {
644
676
  const this$ = this;
645
- return this$["contacts@579-1"];
677
+ return this$["contacts@518-1"];
646
678
  }
647
679
  set Contacts(n) {
648
680
  const this$ = this;
649
- this$["contacts@579-1"] = n;
681
+ this$["contacts@518-1"] = n;
650
682
  }
651
683
  get StudyDesignDescriptors() {
652
684
  const this$ = this;
653
- return this$["studyDesignDescriptors@580-1"];
685
+ return this$["studyDesignDescriptors@519-1"];
654
686
  }
655
687
  set StudyDesignDescriptors(n) {
656
688
  const this$ = this;
657
- this$["studyDesignDescriptors@580-1"] = n;
689
+ this$["studyDesignDescriptors@519-1"] = n;
658
690
  }
659
691
  get RegisteredAssayIdentifiers() {
660
692
  const this$ = this;
661
- return this$["registeredAssayIdentifiers@581-1"];
693
+ return this$["registeredAssayIdentifiers@520-1"];
662
694
  }
663
695
  set RegisteredAssayIdentifiers(n) {
664
696
  const this$ = this;
665
- this$["registeredAssayIdentifiers@581-1"] = n;
666
- }
667
- get Factors() {
668
- const this$ = this;
669
- return this$["factors@582-1"];
670
- }
671
- set Factors(n) {
672
- const this$ = this;
673
- this$["factors@582-1"] = n;
697
+ this$["registeredAssayIdentifiers@520-1"] = n;
674
698
  }
675
699
  get Comments() {
676
700
  const this$ = this;
677
- return this$["comments@583-1"];
701
+ return this$["comments@521-1"];
678
702
  }
679
703
  set Comments(n) {
680
704
  const this$ = this;
681
- this$["comments@583-1"] = n;
705
+ this$["comments@521-1"] = n;
682
706
  }
683
707
  get StaticHash() {
684
708
  const this$ = this;
@@ -691,15 +715,15 @@ export class ArcStudy extends ArcTables {
691
715
  static init(identifier) {
692
716
  return new ArcStudy(identifier);
693
717
  }
694
- static create(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, factors, comments) {
695
- return new ArcStudy(identifier, unwrap(title), unwrap(description), unwrap(submissionDate), unwrap(publicReleaseDate), unwrap(publications), unwrap(contacts), unwrap(studyDesignDescriptors), unwrap(tables), unwrap(registeredAssayIdentifiers), unwrap(factors), unwrap(comments));
718
+ static create(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, comments) {
719
+ return new ArcStudy(identifier, unwrap(title), unwrap(description), unwrap(submissionDate), unwrap(publicReleaseDate), unwrap(publications), unwrap(contacts), unwrap(studyDesignDescriptors), unwrap(tables), unwrap(registeredAssayIdentifiers), unwrap(comments));
696
720
  }
697
- static make(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, factors, comments) {
698
- return new ArcStudy(identifier, unwrap(title), unwrap(description), unwrap(submissionDate), unwrap(publicReleaseDate), publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, factors, comments);
721
+ static make(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, comments) {
722
+ return new ArcStudy(identifier, unwrap(title), unwrap(description), unwrap(submissionDate), unwrap(publicReleaseDate), publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, comments);
699
723
  }
700
724
  get isEmpty() {
701
725
  const this$ = this;
702
- return (((((((((equals(this$.Title, void 0) && equals(this$.Description, void 0)) && equals(this$.SubmissionDate, void 0)) && equals(this$.PublicReleaseDate, void 0)) && equalsWith(equals, this$.Publications, [])) && equalsWith(equals, this$.Contacts, [])) && equalsWith(equals, this$.StudyDesignDescriptors, [])) && (this$.Tables.length === 0)) && (this$.RegisteredAssayIdentifiers.length === 0)) && equalsWith(equals, this$.Factors, [])) && equalsWith(equals, this$.Comments, []);
726
+ return ((((((((equals(this$.Title, void 0) && equals(this$.Description, void 0)) && equals(this$.SubmissionDate, void 0)) && equals(this$.PublicReleaseDate, void 0)) && (this$.Publications.length === 0)) && (this$.Contacts.length === 0)) && (this$.StudyDesignDescriptors.length === 0)) && (this$.Tables.length === 0)) && (this$.RegisteredAssayIdentifiers.length === 0)) && (this$.Comments.length === 0);
703
727
  }
704
728
  static get FileName() {
705
729
  return "isa.study.xlsx";
@@ -1081,8 +1105,9 @@ export class ArcStudy extends ArcTables {
1081
1105
  const this$ = this;
1082
1106
  this$.Investigation = void 0;
1083
1107
  }
1084
- Copy() {
1108
+ Copy(copyInvestigationRef) {
1085
1109
  const this$ = this;
1110
+ const copyInvestigationRef_1 = defaultArg(copyInvestigationRef, false);
1086
1111
  const nextTables = [];
1087
1112
  const nextAssayIdentifiers = Array.from(this$.RegisteredAssayIdentifiers);
1088
1113
  let enumerator = getEnumerator(this$.Tables);
@@ -1096,17 +1121,21 @@ export class ArcStudy extends ArcTables {
1096
1121
  finally {
1097
1122
  disposeSafe(enumerator);
1098
1123
  }
1099
- const nextComments = map((c) => c.Copy(), this$.Comments);
1100
- const nextFactors = map((c_1) => c_1.Copy(), this$.Factors);
1101
- const nextContacts = map((c_2) => c_2.Copy(), this$.Contacts);
1102
- const nextPublications = map((c_3) => c_3.Copy(), this$.Publications);
1103
- const nextStudyDesignDescriptors = map((c_4) => c_4.Copy(), this$.StudyDesignDescriptors);
1124
+ const nextComments = ResizeArray_map((c) => c.Copy(), this$.Comments);
1125
+ const nextContacts = ResizeArray_map((c_1) => c_1.Copy(), this$.Contacts);
1126
+ const nextPublications = ResizeArray_map((c_2) => c_2.Copy(), this$.Publications);
1127
+ const nextStudyDesignDescriptors = ResizeArray_map((c_3) => c_3.Copy(), this$.StudyDesignDescriptors);
1128
+ let study;
1104
1129
  const identifier = this$.Identifier;
1105
1130
  const title = this$.Title;
1106
1131
  const description = this$.Description;
1107
1132
  const submissionDate = this$.SubmissionDate;
1108
1133
  const publicReleaseDate = this$.PublicReleaseDate;
1109
- return ArcStudy.make(identifier, title, description, submissionDate, publicReleaseDate, nextPublications, nextContacts, nextStudyDesignDescriptors, nextTables, nextAssayIdentifiers, nextFactors, nextComments);
1134
+ study = ArcStudy.make(identifier, title, description, submissionDate, publicReleaseDate, nextPublications, nextContacts, nextStudyDesignDescriptors, nextTables, nextAssayIdentifiers, nextComments);
1135
+ if (copyInvestigationRef_1) {
1136
+ study.Investigation = this$.Investigation;
1137
+ }
1138
+ return study;
1110
1139
  }
1111
1140
  UpdateReferenceByStudyFile(study, onlyReplaceExisting, keepUnusedRefTables) {
1112
1141
  const this$ = this;
@@ -1139,43 +1168,12 @@ export class ArcStudy extends ArcTables {
1139
1168
  if ((study.RegisteredAssayIdentifiers.length !== 0) ? true : updateAlways) {
1140
1169
  this$.RegisteredAssayIdentifiers = study.RegisteredAssayIdentifiers;
1141
1170
  }
1142
- if ((study.Factors.length !== 0) ? true : updateAlways) {
1143
- this$.Factors = study.Factors;
1144
- }
1145
1171
  if ((study.Comments.length !== 0) ? true : updateAlways) {
1146
1172
  this$.Comments = study.Comments;
1147
1173
  }
1148
1174
  }
1149
- ToStudy(arcAssays) {
1150
- const this$ = this;
1151
- const processSeq = (new ArcTables(this$.Tables)).GetProcesses();
1152
- const protocols = Option_fromValueWithDefault(empty(), getProtocols(processSeq));
1153
- let studyMaterials;
1154
- const v_4 = StudyMaterials_create_1BE9FA55(unwrap(Option_fromValueWithDefault(empty(), getSources(processSeq))), unwrap(Option_fromValueWithDefault(empty(), getSamples(processSeq))), unwrap(Option_fromValueWithDefault(empty(), getMaterials(processSeq))));
1155
- studyMaterials = Option_fromValueWithDefault(StudyMaterials_get_empty(), v_4);
1156
- const patternInput = isMissingIdentifier(this$.Identifier) ? [void 0, void 0] : [this$.Identifier, Study_fileNameFromIdentifier(this$.Identifier)];
1157
- const assays = map_3((a) => a.ToAssay(), ofSeq(defaultArg(arcAssays, this$.GetRegisteredAssaysOrIdentifier())));
1158
- return Study_create_Z2D28E954(void 0, unwrap(patternInput[1]), unwrap(patternInput[0]), unwrap(this$.Title), unwrap(this$.Description), unwrap(this$.SubmissionDate), unwrap(this$.PublicReleaseDate), unwrap(Option_fromValueWithDefault(empty(), ofArray(this$.Publications))), unwrap(Option_fromValueWithDefault(empty(), ofArray(this$.Contacts))), unwrap(Option_fromValueWithDefault(empty(), ofArray(this$.StudyDesignDescriptors))), unwrap(protocols), unwrap(studyMaterials), unwrap(Option_fromValueWithDefault(empty(), processSeq)), unwrap(Option_fromValueWithDefault(empty(), assays)), unwrap(Option_fromValueWithDefault(empty(), ofArray(this$.Factors))), unwrap(Option_fromValueWithDefault(empty(), getCharacteristics(processSeq))), unwrap(Option_fromValueWithDefault(empty(), getUnits(processSeq))), unwrap(Option_fromValueWithDefault(empty(), ofArray(this$.Comments))));
1159
- }
1160
- static fromStudy(s) {
1161
- const tables = map_1((arg) => {
1162
- const t = ArcTables.fromProcesses(arg);
1163
- return t.Tables;
1164
- }, s.ProcessSequence);
1165
- let identifer;
1166
- const matchValue = s.FileName;
1167
- identifer = ((matchValue == null) ? createMissingIdentifier() : Study_identifierFromFileName(matchValue));
1168
- const assays = defaultArg(map_1((arg_1) => {
1169
- const collection = map_3((a) => ArcAssay.fromAssay(a), arg_1);
1170
- return Array.from(collection);
1171
- }, s.Assays), []);
1172
- let assaysIdentifiers;
1173
- const collection_1 = map_2((a_1) => a_1.Identifier, assays);
1174
- assaysIdentifiers = Array.from(collection_1);
1175
- return [ArcStudy.create(identifer, unwrap(s.Title), unwrap(s.Description), unwrap(s.SubmissionDate), unwrap(s.PublicReleaseDate), unwrap(map_1(toArray_1, s.Publications)), unwrap(map_1(toArray_1, s.Contacts)), unwrap(map_1(toArray_1, s.StudyDesignDescriptors)), unwrap(tables), assaysIdentifiers, unwrap(map_1(toArray_1, s.Factors)), unwrap(map_1(toArray_1, s.Comments))), assays];
1176
- }
1177
1175
  StructurallyEquals(other) {
1178
- let a, b, a_1, b_1, a_2, b_2, a_3, b_3, a_4, b_4, a_5, b_5, a_6, b_6;
1176
+ let a, b, a_1, b_1, a_2, b_2, a_3, b_3, a_4, b_4, a_5, b_5;
1179
1177
  const this$ = this;
1180
1178
  return forAll((x) => (x === true), [this$.Identifier === other.Identifier, equals(this$.Title, other.Title), equals(this$.Description, other.Description), equals(this$.SubmissionDate, other.SubmissionDate), equals(this$.PublicReleaseDate, other.PublicReleaseDate), (a = this$.Publications, (b = other.Publications, (length(a) === length(b)) && fold((acc, e) => {
1181
1179
  if (acc) {
@@ -1184,54 +1182,62 @@ export class ArcStudy extends ArcTables {
1184
1182
  else {
1185
1183
  return false;
1186
1184
  }
1187
- }, true, toList(delay(() => map_2((i_1) => equals(item(i_1, a), item(i_1, b)), rangeDouble(0, 1, length(a) - 1))))))), (a_1 = this$.Contacts, (b_1 = other.Contacts, (length(a_1) === length(b_1)) && fold((acc_1, e_1) => {
1185
+ }, true, toList(delay(() => map((i_1) => equals(item(i_1, a), item(i_1, b)), rangeDouble(0, 1, length(a) - 1))))))), (a_1 = this$.Contacts, (b_1 = other.Contacts, (length(a_1) === length(b_1)) && fold((acc_1, e_1) => {
1188
1186
  if (acc_1) {
1189
1187
  return e_1;
1190
1188
  }
1191
1189
  else {
1192
1190
  return false;
1193
1191
  }
1194
- }, true, toList(delay(() => map_2((i_2) => equals(item(i_2, a_1), item(i_2, b_1)), rangeDouble(0, 1, length(a_1) - 1))))))), (a_2 = this$.StudyDesignDescriptors, (b_2 = other.StudyDesignDescriptors, (length(a_2) === length(b_2)) && fold((acc_2, e_2) => {
1192
+ }, true, toList(delay(() => map((i_2) => equals(item(i_2, a_1), item(i_2, b_1)), rangeDouble(0, 1, length(a_1) - 1))))))), (a_2 = this$.StudyDesignDescriptors, (b_2 = other.StudyDesignDescriptors, (length(a_2) === length(b_2)) && fold((acc_2, e_2) => {
1195
1193
  if (acc_2) {
1196
1194
  return e_2;
1197
1195
  }
1198
1196
  else {
1199
1197
  return false;
1200
1198
  }
1201
- }, true, toList(delay(() => map_2((i_3) => equals(item(i_3, a_2), item(i_3, b_2)), rangeDouble(0, 1, length(a_2) - 1))))))), (a_3 = this$.Tables, (b_3 = other.Tables, (length(a_3) === length(b_3)) && fold((acc_3, e_3) => {
1199
+ }, true, toList(delay(() => map((i_3) => equals(item(i_3, a_2), item(i_3, b_2)), rangeDouble(0, 1, length(a_2) - 1))))))), (a_3 = this$.Tables, (b_3 = other.Tables, (length(a_3) === length(b_3)) && fold((acc_3, e_3) => {
1202
1200
  if (acc_3) {
1203
1201
  return e_3;
1204
1202
  }
1205
1203
  else {
1206
1204
  return false;
1207
1205
  }
1208
- }, true, toList(delay(() => map_2((i_4) => equals(item(i_4, a_3), item(i_4, b_3)), rangeDouble(0, 1, length(a_3) - 1))))))), (a_4 = this$.RegisteredAssayIdentifiers, (b_4 = other.RegisteredAssayIdentifiers, (length(a_4) === length(b_4)) && fold((acc_4, e_4) => {
1206
+ }, true, toList(delay(() => map((i_4) => equals(item(i_4, a_3), item(i_4, b_3)), rangeDouble(0, 1, length(a_3) - 1))))))), (a_4 = this$.RegisteredAssayIdentifiers, (b_4 = other.RegisteredAssayIdentifiers, (length(a_4) === length(b_4)) && fold((acc_4, e_4) => {
1209
1207
  if (acc_4) {
1210
1208
  return e_4;
1211
1209
  }
1212
1210
  else {
1213
1211
  return false;
1214
1212
  }
1215
- }, true, toList(delay(() => map_2((i_5) => (item(i_5, a_4) === item(i_5, b_4)), rangeDouble(0, 1, length(a_4) - 1))))))), (a_5 = this$.Factors, (b_5 = other.Factors, (length(a_5) === length(b_5)) && fold((acc_5, e_5) => {
1213
+ }, true, toList(delay(() => map((i_5) => (item(i_5, a_4) === item(i_5, b_4)), rangeDouble(0, 1, length(a_4) - 1))))))), (a_5 = this$.Comments, (b_5 = other.Comments, (length(a_5) === length(b_5)) && fold((acc_5, e_5) => {
1216
1214
  if (acc_5) {
1217
1215
  return e_5;
1218
1216
  }
1219
1217
  else {
1220
1218
  return false;
1221
1219
  }
1222
- }, true, toList(delay(() => map_2((i_6) => equals(item(i_6, a_5), item(i_6, b_5)), rangeDouble(0, 1, length(a_5) - 1))))))), (a_6 = this$.Comments, (b_6 = other.Comments, (length(a_6) === length(b_6)) && fold((acc_6, e_6) => {
1223
- if (acc_6) {
1224
- return e_6;
1225
- }
1226
- else {
1227
- return false;
1228
- }
1229
- }, true, toList(delay(() => map_2((i_7) => equals(item(i_7, a_6), item(i_7, b_6)), rangeDouble(0, 1, length(a_6) - 1)))))))]);
1220
+ }, true, toList(delay(() => map((i_6) => equals(item(i_6, a_5), item(i_6, b_5)), rangeDouble(0, 1, length(a_5) - 1)))))))]);
1230
1221
  }
1231
1222
  ReferenceEquals(other) {
1232
1223
  const this$ = this;
1233
1224
  return this$ === other;
1234
1225
  }
1226
+ toString() {
1227
+ const this$ = this;
1228
+ const arg = this$.Identifier;
1229
+ const arg_1 = this$.Title;
1230
+ const arg_2 = this$.Description;
1231
+ const arg_3 = this$.SubmissionDate;
1232
+ const arg_4 = this$.PublicReleaseDate;
1233
+ const arg_5 = this$.Publications;
1234
+ const arg_6 = this$.Contacts;
1235
+ const arg_7 = this$.StudyDesignDescriptors;
1236
+ const arg_8 = this$.Tables;
1237
+ const arg_9 = this$.RegisteredAssayIdentifiers;
1238
+ const arg_10 = this$.Comments;
1239
+ return toText(printf("ArcStudy {\r\n Identifier = %A,\r\n Title = %A,\r\n Description = %A,\r\n SubmissionDate = %A,\r\n PublicReleaseDate = %A,\r\n Publications = %A,\r\n Contacts = %A,\r\n StudyDesignDescriptors = %A,\r\n Tables = %A,\r\n RegisteredAssayIdentifiers = %A,\r\n Comments = %A,\r\n}"))(arg)(arg_1)(arg_2)(arg_3)(arg_4)(arg_5)(arg_6)(arg_7)(arg_8)(arg_9)(arg_10);
1240
+ }
1235
1241
  Equals(other) {
1236
1242
  let s;
1237
1243
  const this$ = this;
@@ -1239,20 +1245,20 @@ export class ArcStudy extends ArcTables {
1239
1245
  }
1240
1246
  GetHashCode() {
1241
1247
  const this$ = this;
1242
- return HashCodes_boxHashArray([this$.Identifier, HashCodes_boxHashOption(this$.Title), HashCodes_boxHashOption(this$.Description), HashCodes_boxHashOption(this$.SubmissionDate), HashCodes_boxHashOption(this$.PublicReleaseDate), HashCodes_boxHashArray(this$.Publications), HashCodes_boxHashArray(this$.Contacts), HashCodes_boxHashArray(this$.StudyDesignDescriptors), HashCodes_boxHashArray(Array.from(this$.Tables)), HashCodes_boxHashArray(Array.from(this$.RegisteredAssayIdentifiers)), HashCodes_boxHashArray(this$.Factors), HashCodes_boxHashArray(this$.Comments)]) | 0;
1248
+ return boxHashArray([this$.Identifier, boxHashOption(this$.Title), boxHashOption(this$.Description), boxHashOption(this$.SubmissionDate), boxHashOption(this$.PublicReleaseDate), boxHashSeq(this$.Publications), boxHashSeq(this$.Contacts), boxHashSeq(this$.StudyDesignDescriptors), boxHashSeq(this$.Tables), boxHashSeq(this$.RegisteredAssayIdentifiers), boxHashSeq(this$.Comments)]) | 0;
1243
1249
  }
1244
1250
  GetLightHashCode() {
1245
1251
  const this$ = this;
1246
- return HashCodes_boxHashArray([this$.Identifier, HashCodes_boxHashOption(this$.Title), HashCodes_boxHashOption(this$.Description), HashCodes_boxHashOption(this$.SubmissionDate), HashCodes_boxHashOption(this$.PublicReleaseDate), HashCodes_boxHashArray(this$.Publications), HashCodes_boxHashArray(this$.Contacts), HashCodes_boxHashArray(this$.StudyDesignDescriptors), HashCodes_boxHashArray(Array.from(this$.Tables)), HashCodes_boxHashArray(this$.Factors), HashCodes_boxHashArray(this$.Comments)]) | 0;
1252
+ return boxHashArray([this$.Identifier, boxHashOption(this$.Title), boxHashOption(this$.Description), boxHashOption(this$.SubmissionDate), boxHashOption(this$.PublicReleaseDate), boxHashSeq(this$.Publications), boxHashSeq(this$.Contacts), boxHashSeq(this$.StudyDesignDescriptors), boxHashSeq(this$.Tables), boxHashSeq(this$.Comments)]) | 0;
1247
1253
  }
1248
1254
  }
1249
1255
 
1250
1256
  export function ArcStudy_$reflection() {
1251
- return class_type("ARCtrl.ISA.ArcStudy", void 0, ArcStudy, ArcTables_$reflection());
1257
+ return class_type("ARCtrl.ArcStudy", void 0, ArcStudy, ArcTables_$reflection());
1252
1258
  }
1253
1259
 
1254
- export function ArcStudy_$ctor_Z4F2D842F(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, factors, comments) {
1255
- return new ArcStudy(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, factors, comments);
1260
+ export function ArcStudy_$ctor_Z187CCF3B(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, comments) {
1261
+ return new ArcStudy(identifier, title, description, submissionDate, publicReleaseDate, publications, contacts, studyDesignDescriptors, tables, registeredAssayIdentifiers, comments);
1256
1262
  }
1257
1263
 
1258
1264
  export class ArcInvestigation {
@@ -1291,125 +1297,125 @@ export class ArcInvestigation {
1291
1297
  const registeredStudyIdentifiers_1 = defaultArg(registeredStudyIdentifiers, []);
1292
1298
  const comments_1 = defaultArg(comments, []);
1293
1299
  const remarks_1 = defaultArg(remarks, []);
1294
- this["identifier@1195"] = identifier;
1295
- this["title@1196"] = title;
1296
- this["description@1197"] = description;
1297
- this["submissionDate@1198"] = submissionDate;
1298
- this["publicReleaseDate@1199"] = publicReleaseDate;
1299
- this["ontologySourceReferences@1200-1"] = ontologySourceReferences_1;
1300
- this["publications@1201-1"] = publications_1;
1301
- this["contacts@1202-1"] = contacts_1;
1302
- this["assays@1203-1"] = assays_1;
1303
- this["studies@1204-1"] = studies_1;
1304
- this["registeredStudyIdentifiers@1205-1"] = registeredStudyIdentifiers_1;
1305
- this["comments@1206-1"] = comments_1;
1306
- this["remarks@1207-1"] = remarks_1;
1300
+ this["identifier@1089"] = identifier;
1301
+ this["title@1090"] = title;
1302
+ this["description@1091"] = description;
1303
+ this["submissionDate@1092"] = submissionDate;
1304
+ this["publicReleaseDate@1093"] = publicReleaseDate;
1305
+ this["ontologySourceReferences@1094-1"] = ontologySourceReferences_1;
1306
+ this["publications@1095-1"] = publications_1;
1307
+ this["contacts@1096-1"] = contacts_1;
1308
+ this["assays@1097-1"] = assays_1;
1309
+ this["studies@1098-1"] = studies_1;
1310
+ this["registeredStudyIdentifiers@1099-1"] = registeredStudyIdentifiers_1;
1311
+ this["comments@1100-1"] = comments_1;
1312
+ this["remarks@1101-1"] = remarks_1;
1307
1313
  this.staticHash = 0;
1308
- this["init@1176"] = 1;
1314
+ this["init@1070"] = 1;
1309
1315
  }
1310
1316
  get Identifier() {
1311
1317
  const this$ = this;
1312
- return this$["identifier@1195"];
1318
+ return this$["identifier@1089"];
1313
1319
  }
1314
1320
  set Identifier(i) {
1315
1321
  const this$ = this;
1316
- this$["identifier@1195"] = i;
1322
+ this$["identifier@1089"] = i;
1317
1323
  }
1318
1324
  get Title() {
1319
1325
  const this$ = this;
1320
- return unwrap(this$["title@1196"]);
1326
+ return unwrap(this$["title@1090"]);
1321
1327
  }
1322
1328
  set Title(n) {
1323
1329
  const this$ = this;
1324
- this$["title@1196"] = n;
1330
+ this$["title@1090"] = n;
1325
1331
  }
1326
1332
  get Description() {
1327
1333
  const this$ = this;
1328
- return unwrap(this$["description@1197"]);
1334
+ return unwrap(this$["description@1091"]);
1329
1335
  }
1330
1336
  set Description(n) {
1331
1337
  const this$ = this;
1332
- this$["description@1197"] = n;
1338
+ this$["description@1091"] = n;
1333
1339
  }
1334
1340
  get SubmissionDate() {
1335
1341
  const this$ = this;
1336
- return unwrap(this$["submissionDate@1198"]);
1342
+ return unwrap(this$["submissionDate@1092"]);
1337
1343
  }
1338
1344
  set SubmissionDate(n) {
1339
1345
  const this$ = this;
1340
- this$["submissionDate@1198"] = n;
1346
+ this$["submissionDate@1092"] = n;
1341
1347
  }
1342
1348
  get PublicReleaseDate() {
1343
1349
  const this$ = this;
1344
- return unwrap(this$["publicReleaseDate@1199"]);
1350
+ return unwrap(this$["publicReleaseDate@1093"]);
1345
1351
  }
1346
1352
  set PublicReleaseDate(n) {
1347
1353
  const this$ = this;
1348
- this$["publicReleaseDate@1199"] = n;
1354
+ this$["publicReleaseDate@1093"] = n;
1349
1355
  }
1350
1356
  get OntologySourceReferences() {
1351
1357
  const this$ = this;
1352
- return this$["ontologySourceReferences@1200-1"];
1358
+ return this$["ontologySourceReferences@1094-1"];
1353
1359
  }
1354
1360
  set OntologySourceReferences(n) {
1355
1361
  const this$ = this;
1356
- this$["ontologySourceReferences@1200-1"] = n;
1362
+ this$["ontologySourceReferences@1094-1"] = n;
1357
1363
  }
1358
1364
  get Publications() {
1359
1365
  const this$ = this;
1360
- return this$["publications@1201-1"];
1366
+ return this$["publications@1095-1"];
1361
1367
  }
1362
1368
  set Publications(n) {
1363
1369
  const this$ = this;
1364
- this$["publications@1201-1"] = n;
1370
+ this$["publications@1095-1"] = n;
1365
1371
  }
1366
1372
  get Contacts() {
1367
1373
  const this$ = this;
1368
- return this$["contacts@1202-1"];
1374
+ return this$["contacts@1096-1"];
1369
1375
  }
1370
1376
  set Contacts(n) {
1371
1377
  const this$ = this;
1372
- this$["contacts@1202-1"] = n;
1378
+ this$["contacts@1096-1"] = n;
1373
1379
  }
1374
1380
  get Assays() {
1375
1381
  const this$ = this;
1376
- return this$["assays@1203-1"];
1382
+ return this$["assays@1097-1"];
1377
1383
  }
1378
1384
  set Assays(n) {
1379
1385
  const this$ = this;
1380
- this$["assays@1203-1"] = n;
1386
+ this$["assays@1097-1"] = n;
1381
1387
  }
1382
1388
  get Studies() {
1383
1389
  const this$ = this;
1384
- return this$["studies@1204-1"];
1390
+ return this$["studies@1098-1"];
1385
1391
  }
1386
1392
  set Studies(n) {
1387
1393
  const this$ = this;
1388
- this$["studies@1204-1"] = n;
1394
+ this$["studies@1098-1"] = n;
1389
1395
  }
1390
1396
  get RegisteredStudyIdentifiers() {
1391
1397
  const this$ = this;
1392
- return this$["registeredStudyIdentifiers@1205-1"];
1398
+ return this$["registeredStudyIdentifiers@1099-1"];
1393
1399
  }
1394
1400
  set RegisteredStudyIdentifiers(n) {
1395
1401
  const this$ = this;
1396
- this$["registeredStudyIdentifiers@1205-1"] = n;
1402
+ this$["registeredStudyIdentifiers@1099-1"] = n;
1397
1403
  }
1398
1404
  get Comments() {
1399
1405
  const this$ = this;
1400
- return this$["comments@1206-1"];
1406
+ return this$["comments@1100-1"];
1401
1407
  }
1402
1408
  set Comments(n) {
1403
1409
  const this$ = this;
1404
- this$["comments@1206-1"] = n;
1410
+ this$["comments@1100-1"] = n;
1405
1411
  }
1406
1412
  get Remarks() {
1407
1413
  const this$ = this;
1408
- return this$["remarks@1207-1"];
1414
+ return this$["remarks@1101-1"];
1409
1415
  }
1410
1416
  set Remarks(n) {
1411
1417
  const this$ = this;
1412
- this$["remarks@1207-1"] = n;
1418
+ this$["remarks@1101-1"] = n;
1413
1419
  }
1414
1420
  get StaticHash() {
1415
1421
  const this$ = this;
@@ -1437,16 +1443,16 @@ export class ArcInvestigation {
1437
1443
  }
1438
1444
  get AssayIdentifiers() {
1439
1445
  const this$ = this;
1440
- return Array.from(map_2((x) => x.Identifier, this$.Assays));
1446
+ return Array.from(map((x) => x.Identifier, this$.Assays));
1441
1447
  }
1442
1448
  get UnregisteredAssays() {
1443
1449
  const this$ = this;
1444
1450
  return ResizeArray_filter((a) => !exists((s) => exists((i) => (i === a.Identifier), s.RegisteredAssayIdentifiers), this$.RegisteredStudies), this$.Assays);
1445
1451
  }
1446
- AddAssay(assay) {
1452
+ AddAssay(assay, registerIn) {
1447
1453
  const this$ = this;
1448
1454
  const assayIdent = assay.Identifier;
1449
- const matchValue = tryFindIndex((x_1) => (x_1 === assayIdent), map_2((x) => x.Identifier, this$.Assays));
1455
+ const matchValue = tryFindIndex((x_1) => (x_1 === assayIdent), map((x) => x.Identifier, this$.Assays));
1450
1456
  if (matchValue == null) {
1451
1457
  }
1452
1458
  else {
@@ -1454,24 +1460,36 @@ export class ArcInvestigation {
1454
1460
  }
1455
1461
  assay.Investigation = this$;
1456
1462
  void (this$.Assays.push(assay));
1463
+ if (registerIn != null) {
1464
+ let enumerator = getEnumerator(value_4(registerIn));
1465
+ try {
1466
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
1467
+ const study = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
1468
+ study.RegisterAssay(assay.Identifier);
1469
+ }
1470
+ }
1471
+ finally {
1472
+ disposeSafe(enumerator);
1473
+ }
1474
+ }
1457
1475
  }
1458
- static addAssay(assay) {
1476
+ static addAssay(assay, registerIn) {
1459
1477
  return (inv) => {
1460
1478
  const newInvestigation = inv.Copy();
1461
- newInvestigation.AddAssay(assay);
1479
+ newInvestigation.AddAssay(assay, unwrap(registerIn));
1462
1480
  return newInvestigation;
1463
1481
  };
1464
1482
  }
1465
- InitAssay(assayIdentifier) {
1483
+ InitAssay(assayIdentifier, registerIn) {
1466
1484
  const this$ = this;
1467
1485
  const assay = new ArcAssay(assayIdentifier);
1468
- this$.AddAssay(assay);
1486
+ this$.AddAssay(assay, unwrap(registerIn));
1469
1487
  return assay;
1470
1488
  }
1471
- static initAssay(assayIdentifier) {
1489
+ static initAssay(assayIdentifier, registerIn) {
1472
1490
  return (inv) => {
1473
1491
  const newInvestigation = inv.Copy();
1474
- return newInvestigation.InitAssay(assayIdentifier);
1492
+ return newInvestigation.InitAssay(assayIdentifier, unwrap(registerIn));
1475
1493
  };
1476
1494
  }
1477
1495
  DeleteAssayAt(index) {
@@ -1534,7 +1552,7 @@ export class ArcInvestigation {
1534
1552
  SetAssayAt(index, assay) {
1535
1553
  const this$ = this;
1536
1554
  const assayIdent = assay.Identifier;
1537
- const matchValue = tryFindIndex((x) => (x === assayIdent), map_2((a) => a.Identifier, removeAt(index, this$.Assays)));
1555
+ const matchValue = tryFindIndex((x) => (x === assayIdent), map((a) => a.Identifier, removeAt(index, this$.Assays)));
1538
1556
  if (matchValue == null) {
1539
1557
  }
1540
1558
  else {
@@ -1639,7 +1657,7 @@ export class ArcInvestigation {
1639
1657
  }
1640
1658
  get StudyIdentifiers() {
1641
1659
  const this$ = this;
1642
- return toArray(map_2((x) => x.Identifier, this$.Studies));
1660
+ return toArray(map((x) => x.Identifier, this$.Studies));
1643
1661
  }
1644
1662
  get UnregisteredStudies() {
1645
1663
  const this$ = this;
@@ -1853,7 +1871,7 @@ export class ArcInvestigation {
1853
1871
  RegisterAssayAt(studyIndex, assayIdentifier) {
1854
1872
  const this$ = this;
1855
1873
  const study = this$.GetStudyAt(studyIndex);
1856
- const matchValue = tryFind((x) => (x === assayIdentifier), map_2((a) => a.Identifier, this$.Assays));
1874
+ const matchValue = tryFind((x) => (x === assayIdentifier), map((a) => a.Identifier, this$.Assays));
1857
1875
  if (matchValue != null) {
1858
1876
  }
1859
1877
  else {
@@ -2013,7 +2031,7 @@ export class ArcInvestigation {
2013
2031
  UpdateIOTypeByEntityID() {
2014
2032
  let collection;
2015
2033
  const this$ = this;
2016
- const ioMap = ArcTablesAux_getIOMap((collection = toList(delay(() => append_4(collect((study) => study.Tables, this$.Studies), delay(() => collect((assay) => assay.Tables, this$.Assays))))), Array.from(collection)));
2034
+ const ioMap = ArcTablesAux_getIOMap((collection = toList(delay(() => append_3(collect((study) => study.Tables, this$.Studies), delay(() => collect((assay) => assay.Tables, this$.Assays))))), Array.from(collection)));
2017
2035
  let enumerator = getEnumerator(this$.Studies);
2018
2036
  try {
2019
2037
  while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
@@ -2061,37 +2079,14 @@ export class ArcInvestigation {
2061
2079
  finally {
2062
2080
  disposeSafe(enumerator_1);
2063
2081
  }
2064
- const nextComments = map((c) => c.Copy(), this$.Comments);
2065
- const nextRemarks = map((c_1) => c_1.Copy(), this$.Remarks);
2066
- const nextContacts = map((c_2) => c_2.Copy(), this$.Contacts);
2067
- const nextPublications = map((c_3) => c_3.Copy(), this$.Publications);
2068
- const nextOntologySourceReferences = map((c_4) => c_4.Copy(), this$.OntologySourceReferences);
2082
+ const nextComments = ResizeArray_map((c) => c.Copy(), this$.Comments);
2083
+ const nextRemarks = ResizeArray_map((c_1) => c_1.Copy(), this$.Remarks);
2084
+ const nextContacts = ResizeArray_map((c_2) => c_2.Copy(), this$.Contacts);
2085
+ const nextPublications = ResizeArray_map((c_3) => c_3.Copy(), this$.Publications);
2086
+ const nextOntologySourceReferences = ResizeArray_map((c_4) => c_4.Copy(), this$.OntologySourceReferences);
2069
2087
  const nextStudyIdentifiers = Array.from(this$.RegisteredStudyIdentifiers);
2070
2088
  return new ArcInvestigation(this$.Identifier, unwrap(this$.Title), unwrap(this$.Description), unwrap(this$.SubmissionDate), unwrap(this$.PublicReleaseDate), nextOntologySourceReferences, nextPublications, nextContacts, nextAssays, nextStudies, nextStudyIdentifiers, nextComments, nextRemarks);
2071
2089
  }
2072
- ToInvestigation() {
2073
- const this$ = this;
2074
- const studies = Option_fromValueWithDefault(empty(), map_3((a) => a.ToStudy(), toList(this$.RegisteredStudies)));
2075
- return Investigation_create_4AD66BBE(void 0, "isa.investigation.xlsx", isMissingIdentifier(this$.Identifier) ? void 0 : this$.Identifier, this$.Title, this$.Description, this$.SubmissionDate, this$.PublicReleaseDate, void 0, Option_fromValueWithDefault(empty(), ofArray(this$.Publications)), Option_fromValueWithDefault(empty(), ofArray(this$.Contacts)), studies, Option_fromValueWithDefault(empty(), ofArray(this$.Comments)));
2076
- }
2077
- static fromInvestigation(i) {
2078
- let identifer;
2079
- const matchValue = i.Identifier;
2080
- identifer = ((matchValue == null) ? createMissingIdentifier() : matchValue);
2081
- const patternInput = unzip(map_3((s) => ArcStudy.fromStudy(s), defaultArg(i.Studies, empty())));
2082
- const studiesRaw = patternInput[0];
2083
- const studies = Array.from(studiesRaw);
2084
- let studyIdentifiers;
2085
- const collection = map_2((a) => a.Identifier, studiesRaw);
2086
- studyIdentifiers = Array.from(collection);
2087
- let assays;
2088
- const collection_1 = distinctBy((a_1) => a_1.Identifier, concat(patternInput[1]), {
2089
- Equals: (x, y) => (x === y),
2090
- GetHashCode: stringHash,
2091
- });
2092
- assays = Array.from(collection_1);
2093
- return ArcInvestigation.create(identifer, i.Title, i.Description, i.SubmissionDate, i.PublicReleaseDate, void 0, map_1(toArray_1, i.Publications), map_1(toArray_1, i.Contacts), assays, studies, studyIdentifiers, map_1(toArray_1, i.Comments));
2094
- }
2095
2090
  StructurallyEquals(other) {
2096
2091
  let a, b, a_1, b_1, a_2, b_2, a_3, b_3, a_4, b_4, a_5, b_5, a_6, b_6, a_7, b_7;
2097
2092
  const this$ = this;
@@ -2102,61 +2097,78 @@ export class ArcInvestigation {
2102
2097
  else {
2103
2098
  return false;
2104
2099
  }
2105
- }, true, toList(delay(() => map_2((i_1) => equals(item(i_1, a), item(i_1, b)), rangeDouble(0, 1, length(a) - 1))))))), (a_1 = this$.Contacts, (b_1 = other.Contacts, (length(a_1) === length(b_1)) && fold((acc_1, e_1) => {
2100
+ }, true, toList(delay(() => map((i_1) => equals(item(i_1, a), item(i_1, b)), rangeDouble(0, 1, length(a) - 1))))))), (a_1 = this$.Contacts, (b_1 = other.Contacts, (length(a_1) === length(b_1)) && fold((acc_1, e_1) => {
2106
2101
  if (acc_1) {
2107
2102
  return e_1;
2108
2103
  }
2109
2104
  else {
2110
2105
  return false;
2111
2106
  }
2112
- }, true, toList(delay(() => map_2((i_2) => equals(item(i_2, a_1), item(i_2, b_1)), rangeDouble(0, 1, length(a_1) - 1))))))), (a_2 = this$.OntologySourceReferences, (b_2 = other.OntologySourceReferences, (length(a_2) === length(b_2)) && fold((acc_2, e_2) => {
2107
+ }, true, toList(delay(() => map((i_2) => equals(item(i_2, a_1), item(i_2, b_1)), rangeDouble(0, 1, length(a_1) - 1))))))), (a_2 = this$.OntologySourceReferences, (b_2 = other.OntologySourceReferences, (length(a_2) === length(b_2)) && fold((acc_2, e_2) => {
2113
2108
  if (acc_2) {
2114
2109
  return e_2;
2115
2110
  }
2116
2111
  else {
2117
2112
  return false;
2118
2113
  }
2119
- }, true, toList(delay(() => map_2((i_3) => equals(item(i_3, a_2), item(i_3, b_2)), rangeDouble(0, 1, length(a_2) - 1))))))), (a_3 = this$.Assays, (b_3 = other.Assays, (length(a_3) === length(b_3)) && fold((acc_3, e_3) => {
2114
+ }, true, toList(delay(() => map((i_3) => equals(item(i_3, a_2), item(i_3, b_2)), rangeDouble(0, 1, length(a_2) - 1))))))), (a_3 = this$.Assays, (b_3 = other.Assays, (length(a_3) === length(b_3)) && fold((acc_3, e_3) => {
2120
2115
  if (acc_3) {
2121
2116
  return e_3;
2122
2117
  }
2123
2118
  else {
2124
2119
  return false;
2125
2120
  }
2126
- }, true, toList(delay(() => map_2((i_4) => equals(item(i_4, a_3), item(i_4, b_3)), rangeDouble(0, 1, length(a_3) - 1))))))), (a_4 = this$.Studies, (b_4 = other.Studies, (length(a_4) === length(b_4)) && fold((acc_4, e_4) => {
2121
+ }, true, toList(delay(() => map((i_4) => equals(item(i_4, a_3), item(i_4, b_3)), rangeDouble(0, 1, length(a_3) - 1))))))), (a_4 = this$.Studies, (b_4 = other.Studies, (length(a_4) === length(b_4)) && fold((acc_4, e_4) => {
2127
2122
  if (acc_4) {
2128
2123
  return e_4;
2129
2124
  }
2130
2125
  else {
2131
2126
  return false;
2132
2127
  }
2133
- }, true, toList(delay(() => map_2((i_5) => equals(item(i_5, a_4), item(i_5, b_4)), rangeDouble(0, 1, length(a_4) - 1))))))), (a_5 = this$.RegisteredStudyIdentifiers, (b_5 = other.RegisteredStudyIdentifiers, (length(a_5) === length(b_5)) && fold((acc_5, e_5) => {
2128
+ }, true, toList(delay(() => map((i_5) => equals(item(i_5, a_4), item(i_5, b_4)), rangeDouble(0, 1, length(a_4) - 1))))))), (a_5 = this$.RegisteredStudyIdentifiers, (b_5 = other.RegisteredStudyIdentifiers, (length(a_5) === length(b_5)) && fold((acc_5, e_5) => {
2134
2129
  if (acc_5) {
2135
2130
  return e_5;
2136
2131
  }
2137
2132
  else {
2138
2133
  return false;
2139
2134
  }
2140
- }, true, toList(delay(() => map_2((i_6) => (item(i_6, a_5) === item(i_6, b_5)), rangeDouble(0, 1, length(a_5) - 1))))))), (a_6 = this$.Comments, (b_6 = other.Comments, (length(a_6) === length(b_6)) && fold((acc_6, e_6) => {
2135
+ }, true, toList(delay(() => map((i_6) => (item(i_6, a_5) === item(i_6, b_5)), rangeDouble(0, 1, length(a_5) - 1))))))), (a_6 = this$.Comments, (b_6 = other.Comments, (length(a_6) === length(b_6)) && fold((acc_6, e_6) => {
2141
2136
  if (acc_6) {
2142
2137
  return e_6;
2143
2138
  }
2144
2139
  else {
2145
2140
  return false;
2146
2141
  }
2147
- }, true, toList(delay(() => map_2((i_7) => equals(item(i_7, a_6), item(i_7, b_6)), rangeDouble(0, 1, length(a_6) - 1))))))), (a_7 = this$.Remarks, (b_7 = other.Remarks, (length(a_7) === length(b_7)) && fold((acc_7, e_7) => {
2142
+ }, true, toList(delay(() => map((i_7) => equals(item(i_7, a_6), item(i_7, b_6)), rangeDouble(0, 1, length(a_6) - 1))))))), (a_7 = this$.Remarks, (b_7 = other.Remarks, (length(a_7) === length(b_7)) && fold((acc_7, e_7) => {
2148
2143
  if (acc_7) {
2149
2144
  return e_7;
2150
2145
  }
2151
2146
  else {
2152
2147
  return false;
2153
2148
  }
2154
- }, true, toList(delay(() => map_2((i_8) => equals(item(i_8, a_7), item(i_8, b_7)), rangeDouble(0, 1, length(a_7) - 1)))))))]);
2149
+ }, true, toList(delay(() => map((i_8) => equals(item(i_8, a_7), item(i_8, b_7)), rangeDouble(0, 1, length(a_7) - 1)))))))]);
2155
2150
  }
2156
2151
  ReferenceEquals(other) {
2157
2152
  const this$ = this;
2158
2153
  return this$ === other;
2159
2154
  }
2155
+ toString() {
2156
+ const this$ = this;
2157
+ const arg = this$.Identifier;
2158
+ const arg_1 = this$.Title;
2159
+ const arg_2 = this$.Description;
2160
+ const arg_3 = this$.SubmissionDate;
2161
+ const arg_4 = this$.PublicReleaseDate;
2162
+ const arg_5 = this$.OntologySourceReferences;
2163
+ const arg_6 = this$.Publications;
2164
+ const arg_7 = this$.Contacts;
2165
+ const arg_8 = this$.Assays;
2166
+ const arg_9 = this$.Studies;
2167
+ const arg_10 = this$.RegisteredStudyIdentifiers;
2168
+ const arg_11 = this$.Comments;
2169
+ const arg_12 = this$.Remarks;
2170
+ return toText(printf("ArcStudy {\r\n Identifier = %A,\r\n Title = %A,\r\n Description = %A,\r\n SubmissionDate = %A,\r\n PublicReleaseDate = %A,\r\n OntologySourceReferences = %A,\r\n Publications = %A,\r\n Contacts = %A,\r\n Assays = %A,\r\n Studies = %A,\r\n RegisteredStudyIdentifiers = %A,\r\n Comments = %A,\r\n Remarks = %A,\r\n}"))(arg)(arg_1)(arg_2)(arg_3)(arg_4)(arg_5)(arg_6)(arg_7)(arg_8)(arg_9)(arg_10)(arg_11)(arg_12);
2171
+ }
2160
2172
  Equals(other) {
2161
2173
  let i;
2162
2174
  const this$ = this;
@@ -2164,19 +2176,19 @@ export class ArcInvestigation {
2164
2176
  }
2165
2177
  GetHashCode() {
2166
2178
  const this$ = this;
2167
- return HashCodes_boxHashArray([this$.Identifier, HashCodes_boxHashOption(this$.Title), HashCodes_boxHashOption(this$.Description), HashCodes_boxHashOption(this$.SubmissionDate), HashCodes_boxHashOption(this$.PublicReleaseDate), HashCodes_boxHashArray(this$.Publications), HashCodes_boxHashArray(this$.Contacts), HashCodes_boxHashArray(this$.OntologySourceReferences), HashCodes_boxHashArray(Array.from(this$.Assays)), HashCodes_boxHashArray(Array.from(this$.Studies)), HashCodes_boxHashArray(Array.from(this$.RegisteredStudyIdentifiers)), HashCodes_boxHashArray(this$.Comments), HashCodes_boxHashArray(this$.Remarks)]) | 0;
2179
+ return boxHashArray([this$.Identifier, boxHashOption(this$.Title), boxHashOption(this$.Description), boxHashOption(this$.SubmissionDate), boxHashOption(this$.PublicReleaseDate), boxHashSeq(this$.Publications), boxHashSeq(this$.Contacts), boxHashSeq(this$.OntologySourceReferences), boxHashSeq(this$.Assays), boxHashSeq(this$.Studies), boxHashSeq(this$.RegisteredStudyIdentifiers), boxHashSeq(this$.Comments), boxHashSeq(this$.Remarks)]) | 0;
2168
2180
  }
2169
2181
  GetLightHashCode() {
2170
2182
  const this$ = this;
2171
- return HashCodes_boxHashArray([this$.Identifier, HashCodes_boxHashOption(this$.Title), HashCodes_boxHashOption(this$.Description), HashCodes_boxHashOption(this$.SubmissionDate), HashCodes_boxHashOption(this$.PublicReleaseDate), HashCodes_boxHashArray(this$.Publications), HashCodes_boxHashArray(this$.Contacts), HashCodes_boxHashArray(this$.OntologySourceReferences), HashCodes_boxHashArray(this$.Comments), HashCodes_boxHashArray(this$.Remarks)]) | 0;
2183
+ return boxHashArray([this$.Identifier, boxHashOption(this$.Title), boxHashOption(this$.Description), boxHashOption(this$.SubmissionDate), boxHashOption(this$.PublicReleaseDate), boxHashSeq(this$.Publications), boxHashSeq(this$.Contacts), boxHashSeq(this$.OntologySourceReferences), boxHashSeq(this$.Comments), boxHashSeq(this$.Remarks)]) | 0;
2172
2184
  }
2173
2185
  }
2174
2186
 
2175
2187
  export function ArcInvestigation_$reflection() {
2176
- return class_type("ARCtrl.ISA.ArcInvestigation", void 0, ArcInvestigation);
2188
+ return class_type("ARCtrl.ArcInvestigation", void 0, ArcInvestigation);
2177
2189
  }
2178
2190
 
2179
- export function ArcInvestigation_$ctor_21AB11E9(identifier, title, description, submissionDate, publicReleaseDate, ontologySourceReferences, publications, contacts, assays, studies, registeredStudyIdentifiers, comments, remarks) {
2191
+ export function ArcInvestigation_$ctor_Z2ED5C612(identifier, title, description, submissionDate, publicReleaseDate, ontologySourceReferences, publications, contacts, assays, studies, registeredStudyIdentifiers, comments, remarks) {
2180
2192
  return new ArcInvestigation(identifier, title, description, submissionDate, publicReleaseDate, ontologySourceReferences, publications, contacts, assays, studies, registeredStudyIdentifiers, comments, remarks);
2181
2193
  }
2182
2194