@nfdi4plants/arctrl 3.0.0-beta.3 → 3.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +2 -0
  2. package/dist/ts/index.js +63 -0
  3. package/dist/ts/node_modules/@fable-org/fable-library-js/Array.js +354 -0
  4. package/dist/ts/node_modules/@fable-org/fable-library-js/Async.js +28 -0
  5. package/dist/ts/node_modules/@fable-org/fable-library-js/AsyncBuilder.js +186 -0
  6. package/dist/ts/node_modules/@fable-org/fable-library-js/BigInt.js +8 -0
  7. package/dist/ts/node_modules/@fable-org/fable-library-js/Boolean.js +24 -0
  8. package/dist/ts/node_modules/@fable-org/fable-library-js/Char.js +73 -0
  9. package/dist/ts/node_modules/@fable-org/fable-library-js/CollectionUtil.js +31 -0
  10. package/dist/ts/node_modules/@fable-org/fable-library-js/Date.js +574 -0
  11. package/dist/ts/node_modules/@fable-org/fable-library-js/DateOffset.js +59 -0
  12. package/dist/ts/node_modules/@fable-org/fable-library-js/Decimal.js +65 -0
  13. package/dist/ts/node_modules/@fable-org/fable-library-js/Double.js +30 -0
  14. package/dist/ts/node_modules/@fable-org/fable-library-js/FSharp.Core.js +5 -0
  15. package/dist/ts/node_modules/@fable-org/fable-library-js/Global.js +5 -0
  16. package/dist/ts/node_modules/@fable-org/fable-library-js/Guid.js +48 -0
  17. package/dist/ts/node_modules/@fable-org/fable-library-js/Int32.js +120 -0
  18. package/dist/ts/node_modules/@fable-org/fable-library-js/List.js +680 -0
  19. package/dist/ts/node_modules/@fable-org/fable-library-js/Long.js +40 -0
  20. package/dist/ts/node_modules/@fable-org/fable-library-js/Map.js +655 -0
  21. package/dist/ts/node_modules/@fable-org/fable-library-js/MapUtil.js +105 -0
  22. package/dist/ts/node_modules/@fable-org/fable-library-js/MutableMap.js +320 -0
  23. package/dist/ts/node_modules/@fable-org/fable-library-js/MutableSet.js +204 -0
  24. package/dist/ts/node_modules/@fable-org/fable-library-js/Native.js +10 -0
  25. package/dist/ts/node_modules/@fable-org/fable-library-js/Numeric.js +73 -0
  26. package/dist/ts/node_modules/@fable-org/fable-library-js/Option.js +65 -0
  27. package/dist/ts/node_modules/@fable-org/fable-library-js/Range.js +23 -0
  28. package/dist/ts/node_modules/@fable-org/fable-library-js/Reflection.js +111 -0
  29. package/dist/ts/node_modules/@fable-org/fable-library-js/RegExp.js +114 -0
  30. package/dist/ts/node_modules/@fable-org/fable-library-js/Result.js +36 -0
  31. package/dist/ts/node_modules/@fable-org/fable-library-js/Seq.js +846 -0
  32. package/dist/ts/node_modules/@fable-org/fable-library-js/Seq2.js +65 -0
  33. package/dist/ts/node_modules/@fable-org/fable-library-js/Set.js +1160 -0
  34. package/dist/ts/node_modules/@fable-org/fable-library-js/String.js +364 -0
  35. package/dist/ts/node_modules/@fable-org/fable-library-js/System.Text.js +40 -0
  36. package/dist/ts/node_modules/@fable-org/fable-library-js/Types.js +193 -0
  37. package/dist/ts/node_modules/@fable-org/fable-library-js/Unicode.13.0.0.js +6 -0
  38. package/dist/ts/node_modules/@fable-org/fable-library-js/Uri.js +160 -0
  39. package/dist/ts/node_modules/@fable-org/fable-library-js/Util.js +367 -0
  40. package/dist/ts/node_modules/@fable-org/fable-library-js/lib/big.js +825 -0
  41. package/dist/ts/ts/ARC.js +914 -0
  42. package/dist/ts/ts/Contract/ARC.js +52 -0
  43. package/dist/ts/ts/Contract/ArcAssay.js +80 -0
  44. package/dist/ts/ts/Contract/ArcInvestigation.js +57 -0
  45. package/dist/ts/ts/Contract/ArcRun.js +76 -0
  46. package/dist/ts/ts/Contract/ArcStudy.js +76 -0
  47. package/dist/ts/ts/Contract/ArcWorkflow.js +77 -0
  48. package/dist/ts/ts/Contract/Contract.js +45 -0
  49. package/dist/ts/ts/Contract/Datamap.js +221 -0
  50. package/dist/ts/ts/Contract/Git.js +57 -0
  51. package/dist/ts/ts/Contract/ValidationPackagesConfig.js +57 -0
  52. package/dist/ts/ts/ContractIO/ContractIO.js +202 -0
  53. package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts +1 -1
  54. package/dist/ts/ts/ContractIO/FileSystemHelper.d.ts.map +1 -1
  55. package/dist/ts/ts/ContractIO/FileSystemHelper.js +273 -0
  56. package/dist/ts/ts/Conversion.js +1247 -0
  57. package/dist/ts/ts/Core/ArcTypes.js +3393 -0
  58. package/dist/ts/ts/Core/Comment.js +91 -0
  59. package/dist/ts/ts/Core/CommentList.js +27 -0
  60. package/dist/ts/ts/Core/Conversion.js +923 -0
  61. package/dist/ts/ts/Core/Data.js +179 -0
  62. package/dist/ts/ts/Core/DataContext.js +108 -0
  63. package/dist/ts/ts/Core/DataFile.js +50 -0
  64. package/dist/ts/ts/Core/DataMap.js +53 -0
  65. package/dist/ts/ts/Core/Helper/Collections.js +323 -0
  66. package/dist/ts/ts/Core/Helper/HashCodes.js +35 -0
  67. package/dist/ts/ts/Core/Helper/Identifier.js +96 -0
  68. package/dist/ts/ts/Core/Helper/ORCID.js +34 -0
  69. package/dist/ts/ts/Core/Helper/Regex.js +296 -0
  70. package/dist/ts/ts/Core/Helper/SemVer.js +31 -0
  71. package/dist/ts/ts/Core/Helper/Url.js +32 -0
  72. package/dist/ts/ts/Core/IdentifierSetters.js +9 -0
  73. package/dist/ts/ts/Core/OntologyAnnotation.js +207 -0
  74. package/dist/ts/ts/Core/OntologySourceReference.js +84 -0
  75. package/dist/ts/ts/Core/Person.js +183 -0
  76. package/dist/ts/ts/Core/Process/ColumnIndex.js +73 -0
  77. package/dist/ts/ts/Core/Process/Component.js +121 -0
  78. package/dist/ts/ts/Core/Process/Factor.js +104 -0
  79. package/dist/ts/ts/Core/Process/FactorValue.js +68 -0
  80. package/dist/ts/ts/Core/Process/Material.js +49 -0
  81. package/dist/ts/ts/Core/Process/MaterialAttribute.js +30 -0
  82. package/dist/ts/ts/Core/Process/MaterialAttributeValue.js +68 -0
  83. package/dist/ts/ts/Core/Process/MaterialType.js +28 -0
  84. package/dist/ts/ts/Core/Process/Process.js +136 -0
  85. package/dist/ts/ts/Core/Process/ProcessInput.js +207 -0
  86. package/dist/ts/ts/Core/Process/ProcessOutput.js +178 -0
  87. package/dist/ts/ts/Core/Process/ProcessParameterValue.js +135 -0
  88. package/dist/ts/ts/Core/Process/ProcessSequence.js +56 -0
  89. package/dist/ts/ts/Core/Process/Protocol.js +54 -0
  90. package/dist/ts/ts/Core/Process/ProtocolParameter.js +69 -0
  91. package/dist/ts/ts/Core/Process/Sample.js +44 -0
  92. package/dist/ts/ts/Core/Process/Source.js +38 -0
  93. package/dist/ts/ts/Core/Publication.js +108 -0
  94. package/dist/ts/ts/Core/Table/ArcTable.js +889 -0
  95. package/dist/ts/ts/Core/Table/ArcTableAux.js +993 -0
  96. package/dist/ts/ts/Core/Table/ArcTables.js +415 -0
  97. package/dist/ts/ts/Core/Table/CompositeCell.js +334 -0
  98. package/dist/ts/ts/Core/Table/CompositeColumn.js +52 -0
  99. package/dist/ts/ts/Core/Table/CompositeHeader.js +792 -0
  100. package/dist/ts/ts/Core/Template.js +180 -0
  101. package/dist/ts/ts/Core/Templates.js +75 -0
  102. package/dist/ts/ts/Core/URI.js +8 -0
  103. package/dist/ts/ts/Core/Value.js +194 -0
  104. package/dist/ts/ts/CrossAsync.js +20 -0
  105. package/dist/ts/ts/FileSystem/DefaultGitattributes.js +3 -0
  106. package/dist/ts/ts/FileSystem/DefaultGitignore.js +3 -0
  107. package/dist/ts/ts/FileSystem/FileSystem.js +48 -0
  108. package/dist/ts/ts/FileSystem/FileSystemTree.js +339 -0
  109. package/dist/ts/ts/FileSystem/Path.js +36 -0
  110. package/dist/ts/ts/Json/Assay.d.ts +1 -1
  111. package/dist/ts/ts/Json/Assay.js +221 -0
  112. package/dist/ts/ts/Json/Comment.d.ts +1 -1
  113. package/dist/ts/ts/Json/Comment.js +112 -0
  114. package/dist/ts/ts/Json/Data.d.ts +1 -1
  115. package/dist/ts/ts/Json/Data.js +138 -0
  116. package/dist/ts/ts/Json/DataFile.d.ts +1 -1
  117. package/dist/ts/ts/Json/DataFile.js +55 -0
  118. package/dist/ts/ts/Json/DataMap/DataContext.d.ts +1 -1
  119. package/dist/ts/ts/Json/DataMap/DataContext.js +39 -0
  120. package/dist/ts/ts/Json/DataMap/DataMap.d.ts +1 -1
  121. package/dist/ts/ts/Json/DataMap/DataMap.js +27 -0
  122. package/dist/ts/ts/Json/Decode.d.ts +2 -2
  123. package/dist/ts/ts/Json/Decode.js +209 -0
  124. package/dist/ts/ts/Json/Encode.d.ts +1 -1
  125. package/dist/ts/ts/Json/Encode.js +65 -0
  126. package/dist/ts/ts/Json/IDTable.d.ts +1 -1
  127. package/dist/ts/ts/Json/IDTable.js +28 -0
  128. package/dist/ts/ts/Json/Investigation.d.ts +1 -1
  129. package/dist/ts/ts/Json/Investigation.js +229 -0
  130. package/dist/ts/ts/Json/OntologyAnnotation.d.ts +1 -1
  131. package/dist/ts/ts/Json/OntologyAnnotation.js +194 -0
  132. package/dist/ts/ts/Json/OntologySourceReference.d.ts +1 -1
  133. package/dist/ts/ts/Json/OntologySourceReference.js +119 -0
  134. package/dist/ts/ts/Json/Person.d.ts +1 -1
  135. package/dist/ts/ts/Json/Person.js +316 -0
  136. package/dist/ts/ts/Json/Process/AssayMaterials.d.ts +1 -1
  137. package/dist/ts/ts/Json/Process/AssayMaterials.js +21 -0
  138. package/dist/ts/ts/Json/Process/Component.d.ts +1 -1
  139. package/dist/ts/ts/Json/Process/Component.js +41 -0
  140. package/dist/ts/ts/Json/Process/Factor.d.ts +1 -1
  141. package/dist/ts/ts/Json/Process/Factor.js +53 -0
  142. package/dist/ts/ts/Json/Process/FactorValue.d.ts +1 -1
  143. package/dist/ts/ts/Json/Process/FactorValue.js +44 -0
  144. package/dist/ts/ts/Json/Process/Material.d.ts +1 -1
  145. package/dist/ts/ts/Json/Process/Material.js +112 -0
  146. package/dist/ts/ts/Json/Process/MaterialAttribute.d.ts +1 -1
  147. package/dist/ts/ts/Json/Process/MaterialAttribute.js +43 -0
  148. package/dist/ts/ts/Json/Process/MaterialAttributeValue.d.ts +1 -1
  149. package/dist/ts/ts/Json/Process/MaterialAttributeValue.js +44 -0
  150. package/dist/ts/ts/Json/Process/MaterialType.d.ts +1 -1
  151. package/dist/ts/ts/Json/Process/MaterialType.js +45 -0
  152. package/dist/ts/ts/Json/Process/Process.d.ts +1 -1
  153. package/dist/ts/ts/Json/Process/Process.js +103 -0
  154. package/dist/ts/ts/Json/Process/ProcessInput.d.ts +1 -1
  155. package/dist/ts/ts/Json/Process/ProcessInput.js +42 -0
  156. package/dist/ts/ts/Json/Process/ProcessOutput.d.ts +1 -1
  157. package/dist/ts/ts/Json/Process/ProcessOutput.js +35 -0
  158. package/dist/ts/ts/Json/Process/ProcessParameterValue.d.ts +1 -1
  159. package/dist/ts/ts/Json/Process/ProcessParameterValue.js +28 -0
  160. package/dist/ts/ts/Json/Process/Protocol.d.ts +1 -1
  161. package/dist/ts/ts/Json/Process/Protocol.js +166 -0
  162. package/dist/ts/ts/Json/Process/ProtocolParameter.d.ts +1 -1
  163. package/dist/ts/ts/Json/Process/ProtocolParameter.js +43 -0
  164. package/dist/ts/ts/Json/Process/Sample.d.ts +1 -1
  165. package/dist/ts/ts/Json/Process/Sample.js +165 -0
  166. package/dist/ts/ts/Json/Process/Source.d.ts +1 -1
  167. package/dist/ts/ts/Json/Process/Source.js +133 -0
  168. package/dist/ts/ts/Json/Process/StudyMaterials.d.ts +1 -1
  169. package/dist/ts/ts/Json/Process/StudyMaterials.js +23 -0
  170. package/dist/ts/ts/Json/Process/Value.d.ts +1 -1
  171. package/dist/ts/ts/Json/Process/Value.js +41 -0
  172. package/dist/ts/ts/Json/PropertyValue.d.ts +1 -1
  173. package/dist/ts/ts/Json/PropertyValue.js +280 -0
  174. package/dist/ts/ts/Json/Publication.d.ts +1 -1
  175. package/dist/ts/ts/Json/Publication.js +123 -0
  176. package/dist/ts/ts/Json/ROCrate/LDContext.d.ts +1 -1
  177. package/dist/ts/ts/Json/ROCrate/LDContext.js +115 -0
  178. package/dist/ts/ts/Json/ROCrate/LDGraph.d.ts +1 -1
  179. package/dist/ts/ts/Json/ROCrate/LDGraph.js +83 -0
  180. package/dist/ts/ts/Json/ROCrate/LDNode.d.ts +1 -1
  181. package/dist/ts/ts/Json/ROCrate/LDNode.js +190 -0
  182. package/dist/ts/ts/Json/ROCrate/LDRef.d.ts +1 -1
  183. package/dist/ts/ts/Json/ROCrate/LDRef.js +24 -0
  184. package/dist/ts/ts/Json/ROCrate/LDValue.d.ts +1 -1
  185. package/dist/ts/ts/Json/ROCrate/LDValue.js +63 -0
  186. package/dist/ts/ts/Json/StringTable.d.ts +1 -1
  187. package/dist/ts/ts/Json/StringTable.js +66 -0
  188. package/dist/ts/ts/Json/Study.d.ts +1 -1
  189. package/dist/ts/ts/Json/Study.js +326 -0
  190. package/dist/ts/ts/Json/Table/ArcTable.d.ts +1 -1
  191. package/dist/ts/ts/Json/Table/ArcTable.js +210 -0
  192. package/dist/ts/ts/Json/Table/CellTable.d.ts +1 -1
  193. package/dist/ts/ts/Json/Table/CellTable.js +53 -0
  194. package/dist/ts/ts/Json/Table/CompositeCell.d.ts +1 -1
  195. package/dist/ts/ts/Json/Table/CompositeCell.js +106 -0
  196. package/dist/ts/ts/Json/Table/CompositeHeader.d.ts +1 -1
  197. package/dist/ts/ts/Json/Table/CompositeHeader.js +121 -0
  198. package/dist/ts/ts/Json/Table/IOType.d.ts +1 -1
  199. package/dist/ts/ts/Json/Table/IOType.js +15 -0
  200. package/dist/ts/ts/Json/Table/OATable.d.ts +1 -1
  201. package/dist/ts/ts/Json/Table/OATable.js +50 -0
  202. package/dist/ts/ts/Json/Table/Templates.d.ts +1 -1
  203. package/dist/ts/ts/Json/Table/Templates.js +15 -0
  204. package/dist/ts/ts/Json/context/rocrate/isa_assay_context.d.ts +1 -1
  205. package/dist/ts/ts/Json/context/rocrate/isa_assay_context.js +61 -0
  206. package/dist/ts/ts/Json/context/rocrate/isa_comment_context.d.ts +1 -1
  207. package/dist/ts/ts/Json/context/rocrate/isa_comment_context.js +29 -0
  208. package/dist/ts/ts/Json/context/rocrate/isa_data_context.d.ts +1 -1
  209. package/dist/ts/ts/Json/context/rocrate/isa_data_context.js +41 -0
  210. package/dist/ts/ts/Json/context/rocrate/isa_investigation_context.d.ts +1 -1
  211. package/dist/ts/ts/Json/context/rocrate/isa_investigation_context.js +69 -0
  212. package/dist/ts/ts/Json/context/rocrate/isa_material_context.d.ts +1 -1
  213. package/dist/ts/ts/Json/context/rocrate/isa_material_context.js +37 -0
  214. package/dist/ts/ts/Json/context/rocrate/isa_ontology_annotation_context.d.ts +1 -1
  215. package/dist/ts/ts/Json/context/rocrate/isa_ontology_annotation_context.js +37 -0
  216. package/dist/ts/ts/Json/context/rocrate/isa_ontology_source_reference_context.d.ts +1 -1
  217. package/dist/ts/ts/Json/context/rocrate/isa_ontology_source_reference_context.js +41 -0
  218. package/dist/ts/ts/Json/context/rocrate/isa_organization_context.d.ts +1 -1
  219. package/dist/ts/ts/Json/context/rocrate/isa_organization_context.js +25 -0
  220. package/dist/ts/ts/Json/context/rocrate/isa_person_context.d.ts +1 -1
  221. package/dist/ts/ts/Json/context/rocrate/isa_person_context.js +86 -0
  222. package/dist/ts/ts/Json/context/rocrate/isa_process_context.d.ts +1 -1
  223. package/dist/ts/ts/Json/context/rocrate/isa_process_context.js +57 -0
  224. package/dist/ts/ts/Json/context/rocrate/isa_protocol_context.d.ts +1 -1
  225. package/dist/ts/ts/Json/context/rocrate/isa_protocol_context.js +61 -0
  226. package/dist/ts/ts/Json/context/rocrate/isa_publication_context.d.ts +1 -1
  227. package/dist/ts/ts/Json/context/rocrate/isa_publication_context.js +45 -0
  228. package/dist/ts/ts/Json/context/rocrate/isa_sample_context.d.ts +1 -1
  229. package/dist/ts/ts/Json/context/rocrate/isa_sample_context.js +33 -0
  230. package/dist/ts/ts/Json/context/rocrate/isa_source_context.d.ts +1 -1
  231. package/dist/ts/ts/Json/context/rocrate/isa_source_context.js +33 -0
  232. package/dist/ts/ts/Json/context/rocrate/isa_study_context.d.ts +1 -1
  233. package/dist/ts/ts/Json/context/rocrate/isa_study_context.js +77 -0
  234. package/dist/ts/ts/Json/context/rocrate/property_value_context.d.ts +1 -1
  235. package/dist/ts/ts/Json/context/rocrate/property_value_context.js +61 -0
  236. package/dist/ts/ts/Json/context/rocrate/rocrate_context.d.ts +1 -1
  237. package/dist/ts/ts/Json.js +171 -0
  238. package/dist/ts/ts/JsonIO/Assay.js +77 -0
  239. package/dist/ts/ts/JsonIO/Investigation.js +77 -0
  240. package/dist/ts/ts/JsonIO/LDObject.js +77 -0
  241. package/dist/ts/ts/JsonIO/OntologyAnnotation.js +56 -0
  242. package/dist/ts/ts/JsonIO/Study.js +77 -0
  243. package/dist/ts/ts/JsonIO/Table/Compression.d.ts +1 -1
  244. package/dist/ts/ts/JsonIO/Table/Compression.js +39 -0
  245. package/dist/ts/ts/JsonIO/Table/Templates.d.ts +1 -1
  246. package/dist/ts/ts/JsonIO/Table/Templates.js +25 -0
  247. package/dist/ts/ts/ROCrate/Generic/Comment.js +103 -0
  248. package/dist/ts/ts/ROCrate/Generic/Dataset.js +624 -0
  249. package/dist/ts/ts/ROCrate/Generic/DefinedTerm.js +103 -0
  250. package/dist/ts/ts/ROCrate/Generic/File.js +184 -0
  251. package/dist/ts/ts/ROCrate/Generic/LabProcess.js +222 -0
  252. package/dist/ts/ts/ROCrate/Generic/LabProtocol.js +257 -0
  253. package/dist/ts/ts/ROCrate/Generic/Organization.js +63 -0
  254. package/dist/ts/ts/ROCrate/Generic/Person.js +377 -0
  255. package/dist/ts/ts/ROCrate/Generic/PostalAddress.js +143 -0
  256. package/dist/ts/ts/ROCrate/Generic/PropertyValue.js +512 -0
  257. package/dist/ts/ts/ROCrate/Generic/Sample.js +131 -0
  258. package/dist/ts/ts/ROCrate/Generic/ScholarlyArticle.js +173 -0
  259. package/dist/ts/ts/ROCrate/Helper.js +7 -0
  260. package/dist/ts/ts/ROCrate/LDContext.js +288 -0
  261. package/dist/ts/ts/ROCrate/LDObject.js +855 -0
  262. package/dist/ts/ts/ROCrate/ROCrateContext.js +39 -0
  263. package/dist/ts/ts/ROCrateIO.d.ts +1 -1
  264. package/dist/ts/ts/ROCrateIO.js +58 -0
  265. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts +2 -2
  266. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
  267. package/dist/ts/ts/Spreadsheet/AnnotationTable/ArcTable.js +149 -0
  268. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeCell.js +63 -0
  269. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts +2 -2
  270. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
  271. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +108 -0
  272. package/dist/ts/ts/Spreadsheet/AnnotationTable/CompositeHeader.js +410 -0
  273. package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts +2 -2
  274. package/dist/ts/ts/Spreadsheet/ArcAssay.d.ts.map +1 -1
  275. package/dist/ts/ts/Spreadsheet/ArcAssay.js +169 -0
  276. package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts +2 -2
  277. package/dist/ts/ts/Spreadsheet/ArcInvestigation.d.ts.map +1 -1
  278. package/dist/ts/ts/Spreadsheet/ArcInvestigation.js +316 -0
  279. package/dist/ts/ts/Spreadsheet/ArcRun.d.ts +2 -2
  280. package/dist/ts/ts/Spreadsheet/ArcRun.d.ts.map +1 -1
  281. package/dist/ts/ts/Spreadsheet/ArcRun.js +136 -0
  282. package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts +2 -2
  283. package/dist/ts/ts/Spreadsheet/ArcStudy.d.ts.map +1 -1
  284. package/dist/ts/ts/Spreadsheet/ArcStudy.js +92 -0
  285. package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts +2 -2
  286. package/dist/ts/ts/Spreadsheet/ArcWorkflow.d.ts.map +1 -1
  287. package/dist/ts/ts/Spreadsheet/ArcWorkflow.js +125 -0
  288. package/dist/ts/ts/Spreadsheet/CollectionAux.js +34 -0
  289. package/dist/ts/ts/Spreadsheet/DataMap.d.ts +1 -1
  290. package/dist/ts/ts/Spreadsheet/DataMap.d.ts.map +1 -1
  291. package/dist/ts/ts/Spreadsheet/DataMap.js +33 -0
  292. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.d.ts +2 -2
  293. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.d.ts.map +1 -1
  294. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapColumn.js +41 -0
  295. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.d.ts +1 -1
  296. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.d.ts.map +1 -1
  297. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapHeader.js +418 -0
  298. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts +3 -3
  299. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.d.ts.map +1 -1
  300. package/dist/ts/ts/Spreadsheet/DataMapTable/DataMapTable.js +85 -0
  301. package/dist/ts/ts/Spreadsheet/Metadata/Assays.js +90 -0
  302. package/dist/ts/ts/Spreadsheet/Metadata/Comment.js +58 -0
  303. package/dist/ts/ts/Spreadsheet/Metadata/Contacts.js +85 -0
  304. package/dist/ts/ts/Spreadsheet/Metadata/Conversions.js +133 -0
  305. package/dist/ts/ts/Spreadsheet/Metadata/DesignDescriptors.js +15 -0
  306. package/dist/ts/ts/Spreadsheet/Metadata/Factors.js +74 -0
  307. package/dist/ts/ts/Spreadsheet/Metadata/OntologyAnnotation.js +58 -0
  308. package/dist/ts/ts/Spreadsheet/Metadata/OntologySourceReference.js +62 -0
  309. package/dist/ts/ts/Spreadsheet/Metadata/Protocols.js +94 -0
  310. package/dist/ts/ts/Spreadsheet/Metadata/Publication.js +81 -0
  311. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +91 -0
  312. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts +3 -3
  313. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
  314. package/dist/ts/ts/Spreadsheet/Metadata/SparseTable.js +193 -0
  315. package/dist/ts/ts/Spreadsheet/Metadata/Study.js +238 -0
  316. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +105 -0
  317. package/dist/ts/ts/Template.Web.js +22 -0
  318. package/dist/ts/ts/ValidationPackages/ValidationPackage.js +53 -0
  319. package/dist/ts/ts/ValidationPackages/ValidationPackagesConfig.js +78 -0
  320. package/dist/ts/ts/WebRequest/WebRequest.Node.js +13 -0
  321. package/dist/ts/ts/WebRequest/WebRequest.js +19 -0
  322. package/dist/ts/ts/Xlsx.d.ts +1 -1
  323. package/dist/ts/ts/Xlsx.d.ts.map +1 -1
  324. package/dist/ts/ts/Xlsx.js +91 -0
  325. package/dist/ts/ts/Yaml/Encode.js +8 -0
  326. package/dist/ts/ts/Yaml/ValidationPackage.js +26 -0
  327. package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +40 -0
  328. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/DynamicObj.fs.js +344 -0
  329. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/FableJS.fs.js +103 -0
  330. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/HashCodes.fs.js +19 -0
  331. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/PropertyHelper.fs.js +17 -0
  332. package/dist/ts/ts/fable_modules/DynamicObj.7.0.1/ReflectionUtils.fs.js +7 -0
  333. package/dist/ts/ts/fable_modules/Fable.Exceljs.1.6.0/ExcelJs.fs.js +5 -0
  334. package/dist/ts/ts/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +18 -0
  335. package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +44 -0
  336. package/dist/ts/ts/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +5 -0
  337. package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +142 -0
  338. package/dist/ts/ts/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +76 -0
  339. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Cells/FsCell.fs.js +359 -0
  340. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Cells/FsCellsCollection.fs.js +344 -0
  341. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsAddress.fs.js +154 -0
  342. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsColumn.fs.js +116 -0
  343. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsRow.fs.js +126 -0
  344. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsWorkbook.fs.js +135 -0
  345. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/FsWorksheet.fs.js +422 -0
  346. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/HashCodes.fs.js +5 -0
  347. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Json/Value.fs.js +25 -0
  348. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRange.fs.js +28 -0
  349. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeAddress.fs.js +82 -0
  350. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeBase.fs.js +69 -0
  351. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeColumn.fs.js +42 -0
  352. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Ranges/FsRangeRow.fs.js +29 -0
  353. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Tables/FsTable.fs.js +348 -0
  354. package/dist/ts/ts/fable_modules/FsSpreadsheet.7.0.0-alpha.1/Tables/FsTableField.fs.js +86 -0
  355. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Cell.fs.js +68 -0
  356. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/FsExtensions.fs.js +12 -0
  357. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Table.fs.js +54 -0
  358. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Workbook.fs.js +33 -0
  359. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Worksheet.fs.js +63 -0
  360. package/dist/ts/ts/fable_modules/FsSpreadsheet.Js.7.0.0-alpha.1/Xlsx.fs.js +66 -0
  361. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js +544 -0
  362. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Encode.fs.js +31 -0
  363. package/dist/ts/ts/fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js +38 -0
  364. package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.4.1/Decode.fs.js +79 -0
  365. package/dist/ts/ts/fable_modules/Thoth.Json.JavaScript.0.4.1/Encode.fs.js +57 -0
  366. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Decode.fs.js +235 -0
  367. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Encode.fs.js +16 -0
  368. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Persil.fs.js +45 -0
  369. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Preprocessing.fs.js +89 -0
  370. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Reader.fs.js +480 -0
  371. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Regex.fs.js +11 -0
  372. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/RegexActivePatterns.fs.js +212 -0
  373. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/Writer.fs.js +164 -0
  374. package/dist/ts/ts/fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js +136 -0
  375. package/package.json +10 -7
  376. package/dist/ts/__vite-browser-external-2447137e.js +0 -4
  377. package/dist/ts/__vite-browser-external-b3701507.cjs +0 -1
  378. package/dist/ts/arctrl.cjs.js +0 -5691
  379. package/dist/ts/arctrl.es.js +0 -35562
  380. package/dist/ts/arctrl.umd.js +0 -5691
@@ -0,0 +1,326 @@
1
+ import { Option_fromValueWithDefault, ResizeArray_map } from '../Core/Helper/Collections.js';
2
+ import { defaultArgWith, map, value, defaultArg, unwrap, bind } from '../../node_modules/@fable-org/fable-library-js/Option.js';
3
+ import { ofArray, map as map$1, empty, choose, singleton, tryFind } from '../../node_modules/@fable-org/fable-library-js/List.js';
4
+ import { ArcStudy, ArcAssay } from '../Core/ArcTypes.js';
5
+ import { tryInclude, tryIncludeSeq, tryIncludeList } from './Encode.js';
6
+ import { ISAJson_decoder as ISAJson_decoder$2, decoder as decoder$1, ROCrate_decoder as ROCrate_decoder$2, encoder as encoder$1, ROCrate_encoder as ROCrate_encoder$1, ISAJson_encoder as ISAJson_encoder$2 } from './Publication.js';
7
+ import { ISAJson_decoder as ISAJson_decoder$5, decoder as decoder$2, ROCrate_decoder as ROCrate_decoder$3, encoder as encoder$2, ROCrate_encoder as ROCrate_encoder$2, ISAJson_encoder as ISAJson_encoder$3 } from './Person.js';
8
+ import { OntologyAnnotation_ISAJson_decoder, OntologyAnnotation_decoder, OntologyAnnotation_ROCrate_decoderDefinedTerm, OntologyAnnotation_encoder, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ISAJson_encoder } from './OntologyAnnotation.js';
9
+ import { decoder as decoder$3, decoderCompressed as decoderCompressed$1, encoder as encoder$3, encoderCompressed as encoderCompressed$1 } from './Table/ArcTable.js';
10
+ import { decoder as decoder$4, decoderCompressed as decoderCompressed$2, encoder as encoder$4, encoderCompressed as encoderCompressed$2 } from './DataMap/DataMap.js';
11
+ import { ISAJson_decoder as ISAJson_decoder$3, decoder as decoder$5, ROCrate_decoder as ROCrate_decoder$4, encoder as encoder$5, ROCrate_encoder as ROCrate_encoder$6, ISAJson_encoder as ISAJson_encoder$6 } from './Comment.js';
12
+ import { isEmpty, map as map$2 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
13
+ import { string, list, resizeArray, object } from '../fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js';
14
+ import { getEnumerator, disposeSafe } from '../../node_modules/@fable-org/fable-library-js/Util.js';
15
+ import { replace } from '../../node_modules/@fable-org/fable-library-js/String.js';
16
+ import { createMissingIdentifier, Study_tryIdentifierFromFileName, Study_tryFileNameFromIdentifier, Study_fileNameFromIdentifier } from '../Core/Helper/Identifier.js';
17
+ import { ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D, Person_getSourceAssayIdentifiersFromComments, Person_removeSourceAssayComments, ARCtrl_ArcTables__ArcTables_GetProcesses, Person_setSourceAssayComment } from '../Core/Conversion.js';
18
+ import { list as list$1 } from '../fable_modules/Thoth.Json.Core.0.7.0/Encode.fs.js';
19
+ import { ISAJson_decoder as ISAJson_decoder$1, ROCrate_decoder as ROCrate_decoder$1, ROCrate_encoder as ROCrate_encoder$3, ISAJson_encoder as ISAJson_encoder$4 } from './Process/Process.js';
20
+ import { ISAJson_decoder as ISAJson_decoder$4, ROCrate_decoder as ROCrate_decoder$5, ROCrate_encoder as ROCrate_encoder$4, ISAJson_encoder as ISAJson_encoder$5 } from './Assay.js';
21
+ import { ROCrate_encoder as ROCrate_encoder$5 } from './Data.js';
22
+ import { getData, getUnits, getFactors, getCharacteristics, getProtocols } from '../Core/Process/ProcessSequence.js';
23
+ import { context_jsonvalue } from './context/rocrate/isa_study_context.js';
24
+ import { encoder as encoder$6 } from './Process/Factor.js';
25
+ import { encoder as encoder$7 } from './Process/MaterialAttribute.js';
26
+ import { encoder as encoder$8 } from './Process/StudyMaterials.js';
27
+ import { ISAJson_encoder as ISAJson_encoder$1 } from './Process/Protocol.js';
28
+ import { encode } from './IDTable.js';
29
+ import { Decode_objectNoAdditionalProperties } from './Decode.js';
30
+
31
+ function Helper_getAssayInformation(assays, study) {
32
+ if (assays != null) {
33
+ return ResizeArray_map((assayId) => defaultArg(tryFind((a) => a.Identifier === assayId, value(assays)), ArcAssay.init(assayId)), study.RegisteredAssayIdentifiers);
34
+ } else {
35
+ return study.GetRegisteredAssaysOrIdentifier();
36
+ }
37
+ }
38
+ function encoder(study) {
39
+ let value;
40
+ const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["Identifier", (value = study.Identifier, {
41
+ Encode(helpers) {
42
+ return helpers.encodeString(value);
43
+ }
44
+ })], tryInclude("Title", (value_1) => ({
45
+ Encode(helpers_1) {
46
+ return helpers_1.encodeString(value_1);
47
+ }
48
+ }), study.Title), tryInclude("Description", (value_3) => ({
49
+ Encode(helpers_2) {
50
+ return helpers_2.encodeString(value_3);
51
+ }
52
+ }), study.Description), tryInclude("SubmissionDate", (value_5) => ({
53
+ Encode(helpers_3) {
54
+ return helpers_3.encodeString(value_5);
55
+ }
56
+ }), study.SubmissionDate), tryInclude("PublicReleaseDate", (value_7) => ({
57
+ Encode(helpers_4) {
58
+ return helpers_4.encodeString(value_7);
59
+ }
60
+ }), study.PublicReleaseDate), tryIncludeSeq("Publications", encoder$1, study.Publications), tryIncludeSeq("Contacts", encoder$2, study.Contacts), tryIncludeSeq("StudyDesignDescriptors", OntologyAnnotation_encoder, study.StudyDesignDescriptors), tryIncludeSeq("Tables", encoder$3, study.Tables), tryInclude("DataMap", encoder$4, study.DataMap), tryIncludeSeq("RegisteredAssayIdentifiers", (value_9) => ({
61
+ Encode(helpers_5) {
62
+ return helpers_5.encodeString(value_9);
63
+ }
64
+ }), study.RegisteredAssayIdentifiers), tryIncludeSeq("Comments", encoder$5, study.Comments)]));
65
+ return {
66
+ Encode(helpers_6) {
67
+ const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_6)], values_1);
68
+ return helpers_6.encodeObject(arg);
69
+ }
70
+ };
71
+ }
72
+ const decoder = object((get$) => {
73
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, objectArg_9, arg_21, objectArg_10, arg_23, objectArg_11;
74
+ return new ArcStudy((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string))), unwrap((arg_11 = resizeArray(decoder$1), objectArg_5 = get$.Optional, objectArg_5.Field("Publications", arg_11))), unwrap((arg_13 = resizeArray(decoder$2), objectArg_6 = get$.Optional, objectArg_6.Field("Contacts", arg_13))), unwrap((arg_15 = resizeArray(OntologyAnnotation_decoder), objectArg_7 = get$.Optional, objectArg_7.Field("StudyDesignDescriptors", arg_15))), unwrap((arg_17 = resizeArray(decoder$3), objectArg_8 = get$.Optional, objectArg_8.Field("Tables", arg_17))), unwrap((objectArg_9 = get$.Optional, objectArg_9.Field("DataMap", decoder$4))), unwrap((arg_21 = resizeArray(string), objectArg_10 = get$.Optional, objectArg_10.Field("RegisteredAssayIdentifiers", arg_21))), unwrap((arg_23 = resizeArray(decoder$5), objectArg_11 = get$.Optional, objectArg_11.Field("Comments", arg_23))));
75
+ });
76
+ function encoderCompressed(stringTable, oaTable, cellTable, study) {
77
+ let value;
78
+ const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["Identifier", (value = study.Identifier, {
79
+ Encode(helpers) {
80
+ return helpers.encodeString(value);
81
+ }
82
+ })], tryInclude("Title", (value_1) => ({
83
+ Encode(helpers_1) {
84
+ return helpers_1.encodeString(value_1);
85
+ }
86
+ }), study.Title), tryInclude("Description", (value_3) => ({
87
+ Encode(helpers_2) {
88
+ return helpers_2.encodeString(value_3);
89
+ }
90
+ }), study.Description), tryInclude("SubmissionDate", (value_5) => ({
91
+ Encode(helpers_3) {
92
+ return helpers_3.encodeString(value_5);
93
+ }
94
+ }), study.SubmissionDate), tryInclude("PublicReleaseDate", (value_7) => ({
95
+ Encode(helpers_4) {
96
+ return helpers_4.encodeString(value_7);
97
+ }
98
+ }), study.PublicReleaseDate), tryIncludeSeq("Publications", encoder$1, study.Publications), tryIncludeSeq("Contacts", encoder$2, study.Contacts), tryIncludeSeq("StudyDesignDescriptors", OntologyAnnotation_encoder, study.StudyDesignDescriptors), tryIncludeSeq("Tables", (table) => encoderCompressed$1(stringTable, oaTable, cellTable, table), study.Tables), tryInclude("DataMap", (dm) => encoderCompressed$2(stringTable, oaTable, cellTable, dm), study.DataMap), tryIncludeSeq("RegisteredAssayIdentifiers", (value_9) => ({
99
+ Encode(helpers_5) {
100
+ return helpers_5.encodeString(value_9);
101
+ }
102
+ }), study.RegisteredAssayIdentifiers), tryIncludeSeq("Comments", encoder$5, study.Comments)]));
103
+ return {
104
+ Encode(helpers_6) {
105
+ const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_6)], values_1);
106
+ return helpers_6.encodeObject(arg);
107
+ }
108
+ };
109
+ }
110
+ function decoderCompressed(stringTable, oaTable, cellTable) {
111
+ return object((get$) => {
112
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9, arg_21, objectArg_10, arg_23, objectArg_11;
113
+ return new ArcStudy((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string))), unwrap((arg_11 = resizeArray(decoder$1), objectArg_5 = get$.Optional, objectArg_5.Field("Publications", arg_11))), unwrap((arg_13 = resizeArray(decoder$2), objectArg_6 = get$.Optional, objectArg_6.Field("Contacts", arg_13))), unwrap((arg_15 = resizeArray(OntologyAnnotation_decoder), objectArg_7 = get$.Optional, objectArg_7.Field("StudyDesignDescriptors", arg_15))), unwrap((arg_17 = resizeArray(decoderCompressed$1(stringTable, oaTable, cellTable)), objectArg_8 = get$.Optional, objectArg_8.Field("Tables", arg_17))), unwrap((arg_19 = decoderCompressed$2(), objectArg_9 = get$.Optional, objectArg_9.Field("DataMap", arg_19))), unwrap((arg_21 = resizeArray(string), objectArg_10 = get$.Optional, objectArg_10.Field("RegisteredAssayIdentifiers", arg_21))), unwrap((arg_23 = resizeArray(decoder$5), objectArg_11 = get$.Optional, objectArg_11.Field("Comments", arg_23))));
114
+ });
115
+ }
116
+ function ROCrate_genID(a) {
117
+ const matchValue = a.Identifier;
118
+ if (matchValue === "") {
119
+ return "#EmptyStudy";
120
+ } else {
121
+ return `studies/${replace(matchValue, " ", "_")}/`;
122
+ }
123
+ }
124
+ function ROCrate_encoder(assays, s) {
125
+ let value, value_3, studyName, studyName_1;
126
+ const fileName = Study_tryFileNameFromIdentifier(s.Identifier);
127
+ const processes = ARCtrl_ArcTables__ArcTables_GetProcesses(s);
128
+ const assays_1 = Helper_getAssayInformation(assays, s);
129
+ const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["@id", (value = ROCrate_genID(s), {
130
+ Encode(helpers) {
131
+ return helpers.encodeString(value);
132
+ }
133
+ })], ["@type", list$1(singleton({
134
+ Encode(helpers_1) {
135
+ return helpers_1.encodeString("Study");
136
+ }
137
+ }))], ["additionalType", {
138
+ Encode(helpers_2) {
139
+ return helpers_2.encodeString("Study");
140
+ }
141
+ }], ["identifier", (value_3 = s.Identifier, {
142
+ Encode(helpers_3) {
143
+ return helpers_3.encodeString(value_3);
144
+ }
145
+ })], tryInclude("filename", (value_4) => ({
146
+ Encode(helpers_4) {
147
+ return helpers_4.encodeString(value_4);
148
+ }
149
+ }), fileName), tryInclude("title", (value_6) => ({
150
+ Encode(helpers_5) {
151
+ return helpers_5.encodeString(value_6);
152
+ }
153
+ }), s.Title), tryInclude("description", (value_8) => ({
154
+ Encode(helpers_6) {
155
+ return helpers_6.encodeString(value_8);
156
+ }
157
+ }), s.Description), tryIncludeSeq("studyDesignDescriptors", OntologyAnnotation_ROCrate_encoderDefinedTerm, s.StudyDesignDescriptors), tryInclude("submissionDate", (value_10) => ({
158
+ Encode(helpers_7) {
159
+ return helpers_7.encodeString(value_10);
160
+ }
161
+ }), s.SubmissionDate), tryInclude("publicReleaseDate", (value_12) => ({
162
+ Encode(helpers_8) {
163
+ return helpers_8.encodeString(value_12);
164
+ }
165
+ }), s.PublicReleaseDate), tryIncludeSeq("publications", ROCrate_encoder$1, s.Publications), tryIncludeSeq("people", ROCrate_encoder$2, s.Contacts), tryIncludeList("processSequence", (studyName = s.Identifier, (oa_3) => ROCrate_encoder$3(studyName, void 0, oa_3)), processes), tryIncludeSeq("assays", (studyName_1 = s.Identifier, (a_1) => ROCrate_encoder$4(studyName_1, a_1)), assays_1), tryIncludeList("dataFiles", ROCrate_encoder$5, getData(processes)), tryIncludeSeq("comments", ROCrate_encoder$6, s.Comments), ["@context", context_jsonvalue]]));
166
+ return {
167
+ Encode(helpers_9) {
168
+ const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_9)], values_1);
169
+ return helpers_9.encodeObject(arg);
170
+ }
171
+ };
172
+ }
173
+ const ROCrate_decoder = object((get$) => {
174
+ let objectArg, arg_6, objectArg_2, objectArg_3, objectArg_4, objectArg_5, objectArg_6, arg_16, objectArg_7, arg_18, objectArg_8, arg_20, objectArg_9, arg_22, objectArg_10;
175
+ const identifier = defaultArg(bind(Study_tryIdentifierFromFileName, (objectArg = get$.Optional, objectArg.Field("filename", string))), createMissingIdentifier());
176
+ let assays;
177
+ const arg_3 = list(ROCrate_decoder$5);
178
+ const objectArg_1 = get$.Optional;
179
+ assays = objectArg_1.Field("assays", arg_3);
180
+ const assayIdentifiers = map((arg_4) => {
181
+ const collection = map$1((a) => a.Identifier, arg_4);
182
+ return Array.from(collection);
183
+ }, assays);
184
+ const tables = map((ps) => ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(ps).Tables, (arg_6 = list(ROCrate_decoder$1), objectArg_2 = get$.Optional, objectArg_2.Field("processSequence", arg_6)));
185
+ return [new ArcStudy(identifier, unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("title", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("description", string))), unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("submissionDate", string))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("publicReleaseDate", string))), unwrap((arg_16 = resizeArray(ROCrate_decoder$2), objectArg_7 = get$.Optional, objectArg_7.Field("publications", arg_16))), unwrap((arg_18 = resizeArray(ROCrate_decoder$3), objectArg_8 = get$.Optional, objectArg_8.Field("people", arg_18))), unwrap((arg_20 = resizeArray(OntologyAnnotation_ROCrate_decoderDefinedTerm), objectArg_9 = get$.Optional, objectArg_9.Field("studyDesignDescriptors", arg_20))), unwrap(tables), void 0, unwrap(assayIdentifiers), unwrap((arg_22 = resizeArray(ROCrate_decoder$4), objectArg_10 = get$.Optional, objectArg_10.Field("comments", arg_22)))), defaultArg(assays, empty())];
186
+ });
187
+ function ISAJson_encoder(idMap, assays, s) {
188
+ const f = (s_1) => {
189
+ let studyName, value_6, value_8, studyName_1, studyName_2;
190
+ const study = s_1.Copy(true);
191
+ const fileName = Study_fileNameFromIdentifier(study.Identifier);
192
+ let assays_1;
193
+ const n = [];
194
+ let enumerator = getEnumerator(Helper_getAssayInformation(assays, study));
195
+ try {
196
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
197
+ const a = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
198
+ const assay = a.Copy();
199
+ let enumerator_1 = getEnumerator(assay.Performers);
200
+ try {
201
+ while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
202
+ const person_1 = Person_setSourceAssayComment(enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"](), assay.Identifier);
203
+ void study.Contacts.push(person_1);
204
+ }
205
+ } finally {
206
+ disposeSafe(enumerator_1);
207
+ }
208
+ assay.Performers = [];
209
+ void n.push(assay);
210
+ }
211
+ } finally {
212
+ disposeSafe(enumerator);
213
+ }
214
+ assays_1 = n;
215
+ const processes = ARCtrl_ArcTables__ArcTables_GetProcesses(study);
216
+ const encodedUnits = tryIncludeList("unitCategories", (oa) => OntologyAnnotation_ISAJson_encoder(idMap, oa), getUnits(processes));
217
+ const encodedFactors = tryIncludeList("factors", (value_1) => encoder$6(idMap, value_1), getFactors(processes));
218
+ const encodedCharacteristics = tryIncludeList("characteristicCategories", (value_3) => encoder$7(idMap, value_3), getCharacteristics(processes));
219
+ const encodedMaterials = tryInclude("materials", (ps) => encoder$8(idMap, ps), Option_fromValueWithDefault(empty(), processes));
220
+ let encodedProtocols;
221
+ const value_5 = getProtocols(processes);
222
+ encodedProtocols = tryIncludeList("protocols", (studyName = s_1.Identifier, (oa_1) => ISAJson_encoder$1(studyName, void 0, void 0, idMap, oa_1)), value_5);
223
+ const values_1 = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["@id", (value_6 = ROCrate_genID(study), {
224
+ Encode(helpers) {
225
+ return helpers.encodeString(value_6);
226
+ }
227
+ })], ["filename", {
228
+ Encode(helpers_1) {
229
+ return helpers_1.encodeString(fileName);
230
+ }
231
+ }], ["identifier", (value_8 = study.Identifier, {
232
+ Encode(helpers_2) {
233
+ return helpers_2.encodeString(value_8);
234
+ }
235
+ })], tryInclude("title", (value_9) => ({
236
+ Encode(helpers_3) {
237
+ return helpers_3.encodeString(value_9);
238
+ }
239
+ }), study.Title), tryInclude("description", (value_11) => ({
240
+ Encode(helpers_4) {
241
+ return helpers_4.encodeString(value_11);
242
+ }
243
+ }), study.Description), tryInclude("submissionDate", (value_13) => ({
244
+ Encode(helpers_5) {
245
+ return helpers_5.encodeString(value_13);
246
+ }
247
+ }), study.SubmissionDate), tryInclude("publicReleaseDate", (value_15) => ({
248
+ Encode(helpers_6) {
249
+ return helpers_6.encodeString(value_15);
250
+ }
251
+ }), study.PublicReleaseDate), tryIncludeSeq("publications", (oa_2) => ISAJson_encoder$2(idMap, oa_2), study.Publications), tryIncludeSeq("people", (person_2) => ISAJson_encoder$3(idMap, person_2), study.Contacts), tryIncludeSeq("studyDesignDescriptors", (oa_3) => OntologyAnnotation_ISAJson_encoder(idMap, oa_3), study.StudyDesignDescriptors), encodedProtocols, encodedMaterials, tryIncludeList("processSequence", (studyName_1 = s_1.Identifier, (oa_4) => ISAJson_encoder$4(studyName_1, void 0, idMap, oa_4)), processes), tryIncludeSeq("assays", (studyName_2 = s_1.Identifier, (a_2) => ISAJson_encoder$5(studyName_2, idMap, a_2)), assays_1), encodedFactors, encodedCharacteristics, encodedUnits, tryIncludeSeq("comments", (comment) => ISAJson_encoder$6(idMap, comment), study.Comments)]));
252
+ return {
253
+ Encode(helpers_7) {
254
+ const arg = map$2((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_7)], values_1);
255
+ return helpers_7.encodeObject(arg);
256
+ }
257
+ };
258
+ };
259
+ if (idMap != null) {
260
+ return encode(ROCrate_genID, f, s, value(idMap));
261
+ } else {
262
+ return f(s);
263
+ }
264
+ }
265
+ const ISAJson_allowedFields = ofArray(["@id", "filename", "identifier", "title", "description", "submissionDate", "publicReleaseDate", "publications", "people", "studyDesignDescriptors", "protocols", "materials", "assays", "factors", "characteristicCategories", "unitCategories", "processSequence", "comments", "@type", "@context"]);
266
+ const ISAJson_decoder = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, (get$) => {
267
+ let objectArg, arg_5, objectArg_2, objectArg_5, objectArg_6, objectArg_7, objectArg_8, arg_21, objectArg_9, arg_23, objectArg_10, arg_25, objectArg_11;
268
+ const identifier = defaultArgWith((objectArg = get$.Optional, objectArg.Field("identifier", string)), () => {
269
+ let objectArg_1;
270
+ return defaultArg(bind(Study_tryIdentifierFromFileName, (objectArg_1 = get$.Optional, objectArg_1.Field("filename", string))), createMissingIdentifier());
271
+ });
272
+ const tables = map((arg_6) => {
273
+ const a = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_6);
274
+ return a.Tables;
275
+ }, (arg_5 = list(ISAJson_decoder$1), objectArg_2 = get$.Optional, objectArg_2.Field("processSequence", arg_5)));
276
+ let assays;
277
+ const arg_8 = list(ISAJson_decoder$4);
278
+ const objectArg_3 = get$.Optional;
279
+ assays = objectArg_3.Field("assays", arg_8);
280
+ let personsRaw;
281
+ const arg_10 = resizeArray(ISAJson_decoder$5);
282
+ const objectArg_4 = get$.Optional;
283
+ personsRaw = objectArg_4.Field("people", arg_10);
284
+ const persons = [];
285
+ if (personsRaw != null) {
286
+ let enumerator = getEnumerator(value(personsRaw));
287
+ try {
288
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
289
+ const person = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
290
+ const sourceAssays = Person_getSourceAssayIdentifiersFromComments(person);
291
+ const enumerator_1 = getEnumerator(sourceAssays);
292
+ try {
293
+ while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
294
+ const assayIdentifier = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
295
+ const enumerator_2 = getEnumerator(value(assays));
296
+ try {
297
+ while (enumerator_2["System.Collections.IEnumerator.MoveNext"]()) {
298
+ const assay = enumerator_2["System.Collections.Generic.IEnumerator`1.get_Current"]();
299
+ if (assay.Identifier === assayIdentifier) {
300
+ void assay.Performers.push(person);
301
+ }
302
+ }
303
+ } finally {
304
+ disposeSafe(enumerator_2);
305
+ }
306
+ }
307
+ } finally {
308
+ disposeSafe(enumerator_1);
309
+ }
310
+ person.Comments = Person_removeSourceAssayComments(person);
311
+ if (isEmpty(sourceAssays)) {
312
+ void persons.push(person);
313
+ }
314
+ }
315
+ } finally {
316
+ disposeSafe(enumerator);
317
+ }
318
+ }
319
+ const assayIdentifiers = map((arg_11) => {
320
+ const collection = map$1((a_1) => a_1.Identifier, arg_11);
321
+ return Array.from(collection);
322
+ }, assays);
323
+ return [new ArcStudy(identifier, unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("title", string))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("description", string))), unwrap((objectArg_7 = get$.Optional, objectArg_7.Field("submissionDate", string))), unwrap((objectArg_8 = get$.Optional, objectArg_8.Field("publicReleaseDate", string))), unwrap((arg_21 = resizeArray(ISAJson_decoder$2), objectArg_9 = get$.Optional, objectArg_9.Field("publications", arg_21))), unwrap(persons.length === 0 ? void 0 : persons), unwrap((arg_23 = resizeArray(OntologyAnnotation_ISAJson_decoder), objectArg_10 = get$.Optional, objectArg_10.Field("studyDesignDescriptors", arg_23))), unwrap(tables), void 0, unwrap(assayIdentifiers), unwrap((arg_25 = resizeArray(ISAJson_decoder$3), objectArg_11 = get$.Optional, objectArg_11.Field("comments", arg_25)))), defaultArg(assays, empty())];
324
+ });
325
+
326
+ export { Helper_getAssayInformation, ISAJson_allowedFields, ISAJson_decoder, ISAJson_encoder, ROCrate_decoder, ROCrate_encoder, ROCrate_genID, decoder, decoderCompressed, encoder, encoderCompressed };
@@ -1,7 +1,7 @@
1
1
  import { IMap } from '@fable-org/fable-library-js/Util.js';
2
2
  import { int32 } from '@fable-org/fable-library-js/Int32.js';
3
3
  import { CompositeCell_$union } from '../../Core/Table/CompositeCell.js';
4
- import { Decoder$1, IEncodable } from '../../fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js';
4
+ import { Decoder$1, IEncodable } from '../../fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js';
5
5
  import { ArcTable } from '../../Core/Table/ArcTable.js';
6
6
  import { OntologyAnnotation } from '../../Core/OntologyAnnotation.js';
7
7
  export declare function encoder(table: ArcTable): IEncodable;
@@ -0,0 +1,210 @@
1
+ import { arrayHash, equalArrays, getEnumerator, disposeSafe, int32ToString, compareArrays } from '../../../node_modules/@fable-org/fable-library-js/Util.js';
2
+ import { decoder as decoder$1, encoder as encoder$2 } from './CompositeCell.js';
3
+ import { getItemFromDict } from '../../../node_modules/@fable-org/fable-library-js/MapUtil.js';
4
+ import { ErrorReason$1_BadPrimitive } from '../../fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js';
5
+ import { toList, delay, map as map$1, append, singleton, empty as empty$2 } from '../../../node_modules/@fable-org/fable-library-js/Seq.js';
6
+ import { list as list$1 } from '../../fable_modules/Thoth.Json.Core.0.7.0/Encode.fs.js';
7
+ import { decoder as decoder$2, encoder as encoder$1 } from './CompositeHeader.js';
8
+ import { intDictionary } from '../Encode.js';
9
+ import { ColumnValueRefs_Constant, ColumnValueRefs_Sparse, ensureCellHashInValueMap, ArcTableValues, Unchecked_setCellAt } from '../../Core/Table/ArcTableAux.js';
10
+ import { ArcTable } from '../../Core/Table/ArcTable.js';
11
+ import { map, object, list, map$0027, string, resizeArray, int, Helpers_prependPath, tuple2, array } from '../../fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js';
12
+ import { defaultArg } from '../../../node_modules/@fable-org/fable-library-js/Option.js';
13
+ import { ofArray, empty } from '../../../node_modules/@fable-org/fable-library-js/List.js';
14
+ import { Dictionary } from '../../../node_modules/@fable-org/fable-library-js/MutableMap.js';
15
+ import { empty as empty$1 } from '../../../node_modules/@fable-org/fable-library-js/Map.js';
16
+ import { Decode_tryOneOf, Decode_intDictionary, Decode_dictionary } from '../Decode.js';
17
+ import { FSharpResult$2_Ok, FSharpResult$2_Error } from '../../../node_modules/@fable-org/fable-library-js/Result.js';
18
+ import { decodeCell, encodeCell } from './CellTable.js';
19
+ import { item, fold, fill, setItem, iterateIndexed } from '../../../node_modules/@fable-org/fable-library-js/Array.js';
20
+ import { decodeString, encodeString } from '../StringTable.js';
21
+
22
+ function encoder(table) {
23
+ const valueMap = table.Values.ValueMap;
24
+ const cellEncoder = (hash) => encoder$2(getItemFromDict(valueMap, hash));
25
+ const values = toList(delay(() => {
26
+ let value;
27
+ return append(singleton(["name", (value = table.Name, {
28
+ Encode(helpers) {
29
+ return helpers.encodeString(value);
30
+ }
31
+ })]), delay(() => append(table.Headers.length !== 0 ? singleton(["headers", list$1(toList(delay(() => map$1(encoder$1, table.Headers))))]) : empty$2(), delay(() => table.Values.RowCount !== 0 ? append(singleton(["columns", intDictionary((col) => {
32
+ if (col.tag === /* Sparse */
33
+ 1) {
34
+ return intDictionary(cellEncoder, col.fields[0]);
35
+ } else {
36
+ return cellEncoder(col.fields[0]);
37
+ }
38
+ }, table.Values.Columns)]), delay(() => {
39
+ let value_1;
40
+ return singleton(["rowCount", (value_1 = table.RowCount | 0, {
41
+ Encode(helpers_1) {
42
+ return helpers_1.encodeSignedIntegralNumber(value_1);
43
+ }
44
+ })]);
45
+ })) : empty$2()))));
46
+ }));
47
+ return {
48
+ Encode(helpers_2) {
49
+ const arg = map$1((tupledArg) => [tupledArg[0], tupledArg[1].Encode(helpers_2)], values);
50
+ return helpers_2.encodeObject(arg);
51
+ }
52
+ };
53
+ }
54
+ const decoderV2Deprecated = object((get$) => {
55
+ let arg_1, objectArg, arg_3, objectArg_1, objectArg_2;
56
+ let decodedHeader;
57
+ const collection = defaultArg((arg_1 = list(decoder$2), objectArg = get$.Optional, objectArg.Field("header", arg_1)), empty());
58
+ decodedHeader = Array.from(collection);
59
+ const decodedValues = new Dictionary(defaultArg((arg_3 = map$0027(tuple2(int, int), decoder$1), objectArg_1 = get$.Optional, objectArg_1.Field("values", arg_3)), empty$1({
60
+ Compare: compareArrays
61
+ })), {
62
+ Equals: equalArrays,
63
+ GetHashCode: arrayHash
64
+ });
65
+ const t = ArcTable.create((objectArg_2 = get$.Required, objectArg_2.Field("name", string)), decodedHeader, []);
66
+ let enumerator = getEnumerator(decodedValues);
67
+ try {
68
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
69
+ const activePatternResult = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
70
+ t.SetCellAt(activePatternResult[0][0], activePatternResult[0][1], activePatternResult[1]);
71
+ }
72
+ } finally {
73
+ disposeSafe(enumerator);
74
+ }
75
+ return t;
76
+ });
77
+ const decoder = (() => {
78
+ const valueMap = /* @__PURE__ */ new Map([]);
79
+ const cellDecoder = map((cell) => ensureCellHashInValueMap(cell, valueMap), decoder$1);
80
+ const columnDecoder = Decode_tryOneOf(ofArray([map(ColumnValueRefs_Constant, cellDecoder), map(ColumnValueRefs_Sparse, Decode_intDictionary(cellDecoder))]));
81
+ const decoder_1 = object((get$) => {
82
+ let arg_1, objectArg, arg_3, objectArg_1, objectArg_2, objectArg_3;
83
+ const decodedHeader = defaultArg((arg_1 = resizeArray(decoder$2), objectArg = get$.Optional, objectArg.Field("headers", arg_1)), []);
84
+ const values = new ArcTableValues(defaultArg((arg_3 = Decode_dictionary(int, columnDecoder), objectArg_1 = get$.Optional, objectArg_1.Field("columns", arg_3)), /* @__PURE__ */ new Map([])), valueMap, defaultArg((objectArg_2 = get$.Optional, objectArg_2.Field("rowCount", int)), 0));
85
+ return ArcTable.fromArcTableValues((objectArg_3 = get$.Required, objectArg_3.Field("name", string)), decodedHeader, values);
86
+ });
87
+ return {
88
+ Decode(helper, column) {
89
+ return helper.hasProperty("values", column) ? decoderV2Deprecated.Decode(helper, column) : decoder_1.Decode(helper, column);
90
+ }
91
+ };
92
+ })();
93
+ function decoderCompressedColumn(cellTable, table, columnIndex) {
94
+ return {
95
+ Decode(helper, column) {
96
+ const matchValue = array(decodeCell(cellTable)).Decode(helper, column);
97
+ if (matchValue.tag === /* Error */
98
+ 1) {
99
+ matchValue.fields[0];
100
+ const rangeDecoder = object((get$) => {
101
+ let from;
102
+ const objectArg = get$.Required;
103
+ from = objectArg.Field("f", int);
104
+ let to_;
105
+ const objectArg_1 = get$.Required;
106
+ to_ = objectArg_1.Field("t", int);
107
+ let value;
108
+ const arg_5 = decodeCell(cellTable);
109
+ const objectArg_2 = get$.Required;
110
+ value = objectArg_2.Field("v", arg_5);
111
+ for (let i = from; i <= to_; i++) {
112
+ Unchecked_setCellAt(columnIndex, i, value, table.Values);
113
+ }
114
+ });
115
+ const matchValue_1 = array(rangeDecoder).Decode(helper, column);
116
+ return matchValue_1.tag === /* Error */
117
+ 1 ? FSharpResult$2_Error(matchValue_1.fields[0]) : FSharpResult$2_Ok(void 0);
118
+ } else {
119
+ iterateIndexed((r, cell) => {
120
+ Unchecked_setCellAt(columnIndex, r, cell, table.Values);
121
+ }, matchValue.fields[0]);
122
+ return FSharpResult$2_Ok(void 0);
123
+ }
124
+ }
125
+ };
126
+ }
127
+ function arrayi(decoderi) {
128
+ return {
129
+ Decode(helpers, value) {
130
+ if (helpers.isArray(value)) {
131
+ let i = -1;
132
+ const tokens = helpers.asArray(value);
133
+ return fold((acc, value_1) => {
134
+ let tupledArg;
135
+ i = i + 1 | 0;
136
+ if (acc.tag === /* Ok */
137
+ 0) {
138
+ const acc_1 = acc.fields[0];
139
+ const matchValue = decoderi(i).Decode(helpers, value_1);
140
+ if (matchValue.tag === /* Ok */
141
+ 0) {
142
+ const value_2 = matchValue.fields[0];
143
+ setItem(acc_1, i, value_2);
144
+ return FSharpResult$2_Ok(acc_1);
145
+ } else {
146
+ return FSharpResult$2_Error((tupledArg = matchValue.fields[0], Helpers_prependPath(".[" + int32ToString(i) + "]", tupledArg[0], tupledArg[1])));
147
+ }
148
+ } else {
149
+ return acc;
150
+ }
151
+ }, FSharpResult$2_Ok(fill(new Array(tokens.length), 0, tokens.length, null)), tokens);
152
+ } else {
153
+ return FSharpResult$2_Error(["", ErrorReason$1_BadPrimitive("an array", value)]);
154
+ }
155
+ }
156
+ };
157
+ }
158
+ function encoderCompressed(stringTable, oaTable, cellTable, table) {
159
+ const cellEncoder = (hash) => encodeCell(cellTable, getItemFromDict(table.Values.ValueMap, hash));
160
+ const values = toList(delay(() => append(singleton(["n", encodeString(stringTable, table.Name)]), delay(() => append(table.Headers.length !== 0 ? singleton(["h", list$1(toList(delay(() => map$1(encoder$1, table.Headers))))]) : empty$2(), delay(() => table.Values.RowCount !== 0 ? append(singleton(["c", intDictionary((col) => {
161
+ if (col.tag === /* Sparse */
162
+ 1) {
163
+ return intDictionary(cellEncoder, col.fields[0]);
164
+ } else {
165
+ return cellEncoder(col.fields[0]);
166
+ }
167
+ }, table.Values.Columns)]), delay(() => {
168
+ let value;
169
+ return singleton(["r", (value = table.RowCount | 0, {
170
+ Encode(helpers) {
171
+ return helpers.encodeSignedIntegralNumber(value);
172
+ }
173
+ })]);
174
+ })) : empty$2()))))));
175
+ return {
176
+ Encode(helpers_1) {
177
+ const arg = map$1((tupledArg) => [tupledArg[0], tupledArg[1].Encode(helpers_1)], values);
178
+ return helpers_1.encodeObject(arg);
179
+ }
180
+ };
181
+ }
182
+ function decoderCompressedV2Deprecated(stringTable, oaTable, cellTable) {
183
+ return object((get$) => {
184
+ let arg_1, objectArg, arg_3, objectArg_1, arg_5, objectArg_2;
185
+ let decodedHeader;
186
+ const collection = defaultArg((arg_1 = list(decoder$2), objectArg = get$.Optional, objectArg.Field("h", arg_1)), empty());
187
+ decodedHeader = Array.from(collection);
188
+ const table = ArcTable.create((arg_3 = decodeString(stringTable), objectArg_1 = get$.Required, objectArg_1.Field("n", arg_3)), decodedHeader, []);
189
+ arg_5 = arrayi((columnIndex) => decoderCompressedColumn(cellTable, table, columnIndex)), objectArg_2 = get$.Optional, objectArg_2.Field("c", arg_5);
190
+ return table;
191
+ });
192
+ }
193
+ function decoderCompressed(stringTable, oaTable, cellTable) {
194
+ const valueMap = /* @__PURE__ */ new Map([]);
195
+ const cellDecoder = map((i) => ensureCellHashInValueMap(item(i, cellTable), valueMap), int);
196
+ const columnDecoder = Decode_tryOneOf(ofArray([map(ColumnValueRefs_Constant, cellDecoder), map(ColumnValueRefs_Sparse, Decode_intDictionary(cellDecoder))]));
197
+ const decoder_1 = object((get$) => {
198
+ let arg_1, objectArg, arg_3, objectArg_1, objectArg_2, arg_7, objectArg_3;
199
+ const decodedHeader = defaultArg((arg_1 = resizeArray(decoder$2), objectArg = get$.Optional, objectArg.Field("h", arg_1)), []);
200
+ const values = new ArcTableValues(defaultArg((arg_3 = Decode_dictionary(int, columnDecoder), objectArg_1 = get$.Optional, objectArg_1.Field("c", arg_3)), /* @__PURE__ */ new Map([])), valueMap, defaultArg((objectArg_2 = get$.Optional, objectArg_2.Field("r", int)), 0));
201
+ return ArcTable.fromArcTableValues((arg_7 = decodeString(stringTable), objectArg_3 = get$.Required, objectArg_3.Field("n", arg_7)), decodedHeader, values);
202
+ });
203
+ return {
204
+ Decode(helper, column) {
205
+ return !helper.hasProperty("r", column) ? decoderCompressedV2Deprecated(stringTable, oaTable, cellTable).Decode(helper, column) : decoder_1.Decode(helper, column);
206
+ }
207
+ };
208
+ }
209
+
210
+ export { arrayi, decoder, decoderCompressed, decoderCompressedColumn, decoderCompressedV2Deprecated, decoderV2Deprecated, encoder, encoderCompressed };
@@ -1,7 +1,7 @@
1
1
  import { CompositeCell_$union } from '../../Core/Table/CompositeCell.js';
2
2
  import { int32 } from '@fable-org/fable-library-js/Int32.js';
3
3
  import { IMap } from '@fable-org/fable-library-js/Util.js';
4
- import { Decoder$1, IEncodable } from '../../fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js';
4
+ import { Decoder$1, IEncodable } from '../../fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js';
5
5
  import { OntologyAnnotation } from '../../Core/OntologyAnnotation.js';
6
6
  export declare function arrayFromMap(otm: IMap<CompositeCell_$union, int32>): CompositeCell_$union[];
7
7
  export declare function encoder(stringTable: IMap<string, int32>, oaTable: IMap<OntologyAnnotation, int32>, ot: CompositeCell_$union[]): IEncodable;
@@ -0,0 +1,53 @@
1
+ import { toArray, map as map$1, sortBy } from '../../../node_modules/@fable-org/fable-library-js/Seq.js';
2
+ import { Dictionary_items, Dictionary_tryFind } from '../../Core/Helper/Collections.js';
3
+ import { comparePrimitives } from '../../../node_modules/@fable-org/fable-library-js/Util.js';
4
+ import { map, item } from '../../../node_modules/@fable-org/fable-library-js/Array.js';
5
+ import { decoderCompressed, encoderCompressed } from './CompositeCell.js';
6
+ import { array, object, int } from '../../fable_modules/Thoth.Json.Core.0.7.0/Decode.fs.js';
7
+ import { value } from '../../../node_modules/@fable-org/fable-library-js/Option.js';
8
+ import { addToDict } from '../../../node_modules/@fable-org/fable-library-js/MapUtil.js';
9
+
10
+ function arrayFromMap(otm) {
11
+ return toArray(map$1((kv_1) => kv_1[0], sortBy((kv) => kv[1], Dictionary_items(otm), {
12
+ Compare: comparePrimitives
13
+ })));
14
+ }
15
+ function encoder(stringTable, oaTable, ot) {
16
+ const values = map((cc) => encoderCompressed(stringTable, oaTable, cc), ot);
17
+ return {
18
+ Encode(helpers) {
19
+ const arg = map((v) => v.Encode(helpers), values);
20
+ return helpers.encodeArray(arg);
21
+ }
22
+ };
23
+ }
24
+ function decoder(stringTable, oaTable) {
25
+ return array(decoderCompressed(stringTable, oaTable));
26
+ }
27
+ function encodeCell(otm, cc) {
28
+ const matchValue = Dictionary_tryFind(cc, otm);
29
+ if (matchValue == null) {
30
+ const i_1 = otm.size | 0;
31
+ addToDict(otm, cc, i_1);
32
+ return {
33
+ Encode(helpers_1) {
34
+ return helpers_1.encodeSignedIntegralNumber(i_1);
35
+ }
36
+ };
37
+ } else {
38
+ const i = value(matchValue) | 0;
39
+ return {
40
+ Encode(helpers) {
41
+ return helpers.encodeSignedIntegralNumber(i);
42
+ }
43
+ };
44
+ }
45
+ }
46
+ function decodeCell(ot) {
47
+ return object((get$) => {
48
+ const i = get$.Required.Raw(int) | 0;
49
+ return item(i, ot).Copy();
50
+ });
51
+ }
52
+
53
+ export { arrayFromMap, decodeCell, decoder, encodeCell, encoder };
@@ -1,5 +1,5 @@
1
1
  import { OntologyAnnotation } from '../../Core/OntologyAnnotation.js';
2
- import { Decoder$1, IEncodable } from '../../fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js';
2
+ import { Decoder$1, IEncodable } from '../../fable_modules/Thoth.Json.Core.0.7.0/Types.fs.js';
3
3
  import { CompositeCell_$union } from '../../Core/Table/CompositeCell.js';
4
4
  import { IMap } from '@fable-org/fable-library-js/Util.js';
5
5
  import { int32 } from '@fable-org/fable-library-js/Int32.js';