@nfdi4plants/arctrl 1.0.0-alpha6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/ARCtrl.js +257 -0
  2. package/Contract/Contract.js +95 -0
  3. package/Contracts/Contracts.ARCtrl.js +35 -0
  4. package/Contracts/Contracts.ArcAssay.js +65 -0
  5. package/Contracts/Contracts.ArcInvestigation.js +58 -0
  6. package/Contracts/Contracts.ArcStudy.js +65 -0
  7. package/Contracts/Contracts.Git.js +91 -0
  8. package/FileSystem/Commit.js +18 -0
  9. package/FileSystem/DefaultGitignore.js +3 -0
  10. package/FileSystem/FileSystem.js +53 -0
  11. package/FileSystem/FileSystemTree.js +223 -0
  12. package/FileSystem/Path.js +38 -0
  13. package/FileSystemTree.js +51 -0
  14. package/ISA/ISA/ArcTypes/ArcTable.js +744 -0
  15. package/ISA/ISA/ArcTypes/ArcTableAux.js +1142 -0
  16. package/ISA/ISA/ArcTypes/ArcTables.js +380 -0
  17. package/ISA/ISA/ArcTypes/ArcTypes.js +2018 -0
  18. package/ISA/ISA/ArcTypes/CompositeCell.js +180 -0
  19. package/ISA/ISA/ArcTypes/CompositeColumn.js +42 -0
  20. package/ISA/ISA/ArcTypes/CompositeHeader.js +358 -0
  21. package/ISA/ISA/ArcTypes/CompositeRow.js +111 -0
  22. package/ISA/ISA/ArcTypes/IdentifierSetters.js +26 -0
  23. package/ISA/ISA/Builder/Types.js +243 -0
  24. package/ISA/ISA/Fable.js +50 -0
  25. package/ISA/ISA/Helper.js +326 -0
  26. package/ISA/ISA/Identifier.js +76 -0
  27. package/ISA/ISA/JsonTypes/AnnotationValue.js +56 -0
  28. package/ISA/ISA/JsonTypes/Assay.js +620 -0
  29. package/ISA/ISA/JsonTypes/AssayMaterials.js +39 -0
  30. package/ISA/ISA/JsonTypes/ColumnIndex.js +246 -0
  31. package/ISA/ISA/JsonTypes/Comment.js +58 -0
  32. package/ISA/ISA/JsonTypes/CommentList.js +139 -0
  33. package/ISA/ISA/JsonTypes/Component.js +158 -0
  34. package/ISA/ISA/JsonTypes/Data.js +55 -0
  35. package/ISA/ISA/JsonTypes/DataFile.js +68 -0
  36. package/ISA/ISA/JsonTypes/Factor.js +128 -0
  37. package/ISA/ISA/JsonTypes/FactorValue.js +109 -0
  38. package/ISA/ISA/JsonTypes/Investigation.js +204 -0
  39. package/ISA/ISA/JsonTypes/Material.js +66 -0
  40. package/ISA/ISA/JsonTypes/MaterialAttribute.js +101 -0
  41. package/ISA/ISA/JsonTypes/MaterialAttributeValue.js +126 -0
  42. package/ISA/ISA/JsonTypes/MaterialType.js +41 -0
  43. package/ISA/ISA/JsonTypes/OntologyAnnotation.js +219 -0
  44. package/ISA/ISA/JsonTypes/OntologySourceReference.js +85 -0
  45. package/ISA/ISA/JsonTypes/Person.js +137 -0
  46. package/ISA/ISA/JsonTypes/Process.js +401 -0
  47. package/ISA/ISA/JsonTypes/ProcessInput.js +297 -0
  48. package/ISA/ISA/JsonTypes/ProcessOutput.js +263 -0
  49. package/ISA/ISA/JsonTypes/ProcessParameterValue.js +129 -0
  50. package/ISA/ISA/JsonTypes/ProcessSequence.js +255 -0
  51. package/ISA/ISA/JsonTypes/Protocol.js +277 -0
  52. package/ISA/ISA/JsonTypes/ProtocolParameter.js +101 -0
  53. package/ISA/ISA/JsonTypes/Publication.js +105 -0
  54. package/ISA/ISA/JsonTypes/Sample.js +71 -0
  55. package/ISA/ISA/JsonTypes/Source.js +54 -0
  56. package/ISA/ISA/JsonTypes/Study.js +942 -0
  57. package/ISA/ISA/JsonTypes/StudyMaterials.js +45 -0
  58. package/ISA/ISA/JsonTypes/URI.js +19 -0
  59. package/ISA/ISA/JsonTypes/Value.js +210 -0
  60. package/ISA/ISA/Regex.js +588 -0
  61. package/ISA/ISA.Json/Assay.js +123 -0
  62. package/ISA/ISA.Json/Comment.js +84 -0
  63. package/ISA/ISA.Json/ConverterOptions.js +33 -0
  64. package/ISA/ISA.Json/Data.js +271 -0
  65. package/ISA/ISA.Json/Decode.js +46 -0
  66. package/ISA/ISA.Json/Factor.js +194 -0
  67. package/ISA/ISA.Json/GEncode.js +15 -0
  68. package/ISA/ISA.Json/Investigation.js +132 -0
  69. package/ISA/ISA.Json/Material.js +233 -0
  70. package/ISA/ISA.Json/Ontology.js +204 -0
  71. package/ISA/ISA.Json/Person.js +204 -0
  72. package/ISA/ISA.Json/Process.js +291 -0
  73. package/ISA/ISA.Json/Protocol.js +242 -0
  74. package/ISA/ISA.Json/Publication.js +92 -0
  75. package/ISA/ISA.Json/Study.js +230 -0
  76. package/ISA/ISA.Json/Validation/Fable.js +69 -0
  77. package/ISA/ISA.Json/Validation/JsonSchemaValidation.js +88 -0
  78. package/ISA/ISA.Json/Validation/ValidationResult.js +45 -0
  79. package/ISA/ISA.Spreadsheet/AnnotationTable/ArcTable.js +137 -0
  80. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeCell.js +78 -0
  81. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeColumn.js +59 -0
  82. package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeHeader.js +478 -0
  83. package/ISA/ISA.Spreadsheet/ArcAssay.js +150 -0
  84. package/ISA/ISA.Spreadsheet/ArcInvestigation.js +314 -0
  85. package/ISA/ISA.Spreadsheet/ArcStudy.js +67 -0
  86. package/ISA/ISA.Spreadsheet/CollectionAux.js +128 -0
  87. package/ISA/ISA.Spreadsheet/Metadata/Assays.js +81 -0
  88. package/ISA/ISA.Spreadsheet/Metadata/Comment.js +60 -0
  89. package/ISA/ISA.Spreadsheet/Metadata/Contacts.js +104 -0
  90. package/ISA/ISA.Spreadsheet/Metadata/Conversions.js +180 -0
  91. package/ISA/ISA.Spreadsheet/Metadata/DesignDescriptors.js +27 -0
  92. package/ISA/ISA.Spreadsheet/Metadata/Factors.js +85 -0
  93. package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +65 -0
  94. package/ISA/ISA.Spreadsheet/Metadata/OntologySourceReference.js +73 -0
  95. package/ISA/ISA.Spreadsheet/Metadata/Protocols.js +116 -0
  96. package/ISA/ISA.Spreadsheet/Metadata/Publication.js +96 -0
  97. package/ISA/ISA.Spreadsheet/Metadata/SparseTable.js +451 -0
  98. package/ISA/ISA.Spreadsheet/Metadata/Study.js +260 -0
  99. package/README.md +277 -0
  100. package/SemVer.js +60 -0
  101. package/Templates/Templates.Json.js +40 -0
  102. package/Templates/Templates.Spreadsheet.js +315 -0
  103. package/Templates/Templates.js +179 -0
  104. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs +387 -0
  105. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs.js +240 -0
  106. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs +725 -0
  107. package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs.js +522 -0
  108. package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs +195 -0
  109. package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs.js +208 -0
  110. package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs +209 -0
  111. package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs.js +137 -0
  112. package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs +61 -0
  113. package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs.js +62 -0
  114. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs +24 -0
  115. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs.js +56 -0
  116. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs +102 -0
  117. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs.js +6 -0
  118. package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs +200 -0
  119. package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs.js +137 -0
  120. package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs +139 -0
  121. package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs.js +116 -0
  122. package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs +120 -0
  123. package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs.js +120 -0
  124. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs +229 -0
  125. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs.js +421 -0
  126. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs +151 -0
  127. package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs.js +277 -0
  128. package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs +114 -0
  129. package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs.js +104 -0
  130. package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs +177 -0
  131. package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs.js +249 -0
  132. package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs +200 -0
  133. package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs.js +125 -0
  134. package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs +202 -0
  135. package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs.js +135 -0
  136. package/fable_modules/FsSpreadsheet.4.1.0/FsSpreadsheet.fableproj +58 -0
  137. package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs +183 -0
  138. package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js +138 -0
  139. package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs +628 -0
  140. package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js +398 -0
  141. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs +19 -0
  142. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs.js +41 -0
  143. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs +222 -0
  144. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs.js +235 -0
  145. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs +93 -0
  146. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs.js +91 -0
  147. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs +65 -0
  148. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs.js +74 -0
  149. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs +22 -0
  150. package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs.js +40 -0
  151. package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs +249 -0
  152. package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs.js +325 -0
  153. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs +455 -0
  154. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs.js +310 -0
  155. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs +140 -0
  156. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs.js +173 -0
  157. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs +6 -0
  158. package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs.js +17 -0
  159. package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  160. package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
  161. package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
  162. package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
  163. package/fable_modules/Thoth.Json.10.1.0/Decode.fs +1366 -0
  164. package/fable_modules/Thoth.Json.10.1.0/Decode.fs.js +1798 -0
  165. package/fable_modules/Thoth.Json.10.1.0/Encode.fs +621 -0
  166. package/fable_modules/Thoth.Json.10.1.0/Encode.fs.js +472 -0
  167. package/fable_modules/Thoth.Json.10.1.0/Extra.fs +31 -0
  168. package/fable_modules/Thoth.Json.10.1.0/Extra.fs.js +8 -0
  169. package/fable_modules/Thoth.Json.10.1.0/Thoth.Json.fableproj +30 -0
  170. package/fable_modules/Thoth.Json.10.1.0/Types.fs +59 -0
  171. package/fable_modules/Thoth.Json.10.1.0/Types.fs.js +98 -0
  172. package/fable_modules/Thoth.Json.10.1.0/obj/Release/netstandard2.0/Thoth.Json.AssemblyInfo.fs +19 -0
  173. package/fable_modules/Thoth.Json.10.1.0/package.json +5 -0
  174. package/fable_modules/fable-library.4.1.4/Array.d.ts +120 -0
  175. package/fable_modules/fable-library.4.1.4/Array.js +1204 -0
  176. package/fable_modules/fable-library.4.1.4/Async.d.ts +32 -0
  177. package/fable_modules/fable-library.4.1.4/Async.js +158 -0
  178. package/fable_modules/fable-library.4.1.4/AsyncBuilder.d.ts +59 -0
  179. package/fable_modules/fable-library.4.1.4/AsyncBuilder.js +183 -0
  180. package/fable_modules/fable-library.4.1.4/BigInt.d.ts +115 -0
  181. package/fable_modules/fable-library.4.1.4/BigInt.js +282 -0
  182. package/fable_modules/fable-library.4.1.4/BitConverter.d.ts +27 -0
  183. package/fable_modules/fable-library.4.1.4/BitConverter.js +138 -0
  184. package/fable_modules/fable-library.4.1.4/Boolean.d.ts +3 -0
  185. package/fable_modules/fable-library.4.1.4/Boolean.js +21 -0
  186. package/fable_modules/fable-library.4.1.4/Char.d.ts +65 -0
  187. package/fable_modules/fable-library.4.1.4/Char.js +169 -0
  188. package/fable_modules/fable-library.4.1.4/Choice.d.ts +138 -0
  189. package/fable_modules/fable-library.4.1.4/Choice.js +227 -0
  190. package/fable_modules/fable-library.4.1.4/Date.d.ts +70 -0
  191. package/fable_modules/fable-library.4.1.4/Date.js +451 -0
  192. package/fable_modules/fable-library.4.1.4/DateOffset.d.ts +63 -0
  193. package/fable_modules/fable-library.4.1.4/DateOffset.js +268 -0
  194. package/fable_modules/fable-library.4.1.4/DateOnly.d.ts +18 -0
  195. package/fable_modules/fable-library.4.1.4/DateOnly.js +124 -0
  196. package/fable_modules/fable-library.4.1.4/Decimal.d.ts +45 -0
  197. package/fable_modules/fable-library.4.1.4/Decimal.js +212 -0
  198. package/fable_modules/fable-library.4.1.4/Double.d.ts +11 -0
  199. package/fable_modules/fable-library.4.1.4/Double.js +46 -0
  200. package/fable_modules/fable-library.4.1.4/Encoding.d.ts +12 -0
  201. package/fable_modules/fable-library.4.1.4/Encoding.js +173 -0
  202. package/fable_modules/fable-library.4.1.4/Event.d.ts +31 -0
  203. package/fable_modules/fable-library.4.1.4/Event.js +93 -0
  204. package/fable_modules/fable-library.4.1.4/FSharp.Collections.d.ts +7 -0
  205. package/fable_modules/fable-library.4.1.4/FSharp.Collections.js +27 -0
  206. package/fable_modules/fable-library.4.1.4/FSharp.Core.d.ts +17 -0
  207. package/fable_modules/fable-library.4.1.4/FSharp.Core.js +69 -0
  208. package/fable_modules/fable-library.4.1.4/Global.d.ts +24 -0
  209. package/fable_modules/fable-library.4.1.4/Global.js +8 -0
  210. package/fable_modules/fable-library.4.1.4/Guid.d.ts +10 -0
  211. package/fable_modules/fable-library.4.1.4/Guid.js +142 -0
  212. package/fable_modules/fable-library.4.1.4/Int32.d.ts +28 -0
  213. package/fable_modules/fable-library.4.1.4/Int32.js +135 -0
  214. package/fable_modules/fable-library.4.1.4/List.d.ts +143 -0
  215. package/fable_modules/fable-library.4.1.4/List.js +1273 -0
  216. package/fable_modules/fable-library.4.1.4/Long.d.ts +3 -0
  217. package/fable_modules/fable-library.4.1.4/Long.js +46 -0
  218. package/fable_modules/fable-library.4.1.4/MailboxProcessor.d.ts +25 -0
  219. package/fable_modules/fable-library.4.1.4/MailboxProcessor.js +93 -0
  220. package/fable_modules/fable-library.4.1.4/Map.d.ts +178 -0
  221. package/fable_modules/fable-library.4.1.4/Map.js +1396 -0
  222. package/fable_modules/fable-library.4.1.4/MapUtil.d.ts +10 -0
  223. package/fable_modules/fable-library.4.1.4/MapUtil.js +112 -0
  224. package/fable_modules/fable-library.4.1.4/MutableMap.d.ts +52 -0
  225. package/fable_modules/fable-library.4.1.4/MutableMap.js +326 -0
  226. package/fable_modules/fable-library.4.1.4/MutableSet.d.ts +39 -0
  227. package/fable_modules/fable-library.4.1.4/MutableSet.js +232 -0
  228. package/fable_modules/fable-library.4.1.4/Native.d.ts +2 -0
  229. package/fable_modules/fable-library.4.1.4/Native.js +8 -0
  230. package/fable_modules/fable-library.4.1.4/Numeric.d.ts +19 -0
  231. package/fable_modules/fable-library.4.1.4/Numeric.js +71 -0
  232. package/fable_modules/fable-library.4.1.4/Observable.d.ts +32 -0
  233. package/fable_modules/fable-library.4.1.4/Observable.js +113 -0
  234. package/fable_modules/fable-library.4.1.4/Option.d.ts +28 -0
  235. package/fable_modules/fable-library.4.1.4/Option.js +96 -0
  236. package/fable_modules/fable-library.4.1.4/README.md +3 -0
  237. package/fable_modules/fable-library.4.1.4/Random.d.ts +37 -0
  238. package/fable_modules/fable-library.4.1.4/Random.js +170 -0
  239. package/fable_modules/fable-library.4.1.4/Range.d.ts +12 -0
  240. package/fable_modules/fable-library.4.1.4/Range.js +45 -0
  241. package/fable_modules/fable-library.4.1.4/Reflection.d.ts +119 -0
  242. package/fable_modules/fable-library.4.1.4/Reflection.js +461 -0
  243. package/fable_modules/fable-library.4.1.4/RegExp.d.ts +10 -0
  244. package/fable_modules/fable-library.4.1.4/RegExp.js +132 -0
  245. package/fable_modules/fable-library.4.1.4/Seq.d.ts +165 -0
  246. package/fable_modules/fable-library.4.1.4/Seq.js +1379 -0
  247. package/fable_modules/fable-library.4.1.4/Seq2.d.ts +18 -0
  248. package/fable_modules/fable-library.4.1.4/Seq2.js +111 -0
  249. package/fable_modules/fable-library.4.1.4/Set.d.ts +190 -0
  250. package/fable_modules/fable-library.4.1.4/Set.js +1789 -0
  251. package/fable_modules/fable-library.4.1.4/String.d.ts +49 -0
  252. package/fable_modules/fable-library.4.1.4/String.js +540 -0
  253. package/fable_modules/fable-library.4.1.4/System.Collections.Generic.d.ts +71 -0
  254. package/fable_modules/fable-library.4.1.4/System.Collections.Generic.js +307 -0
  255. package/fable_modules/fable-library.4.1.4/System.Text.d.ts +30 -0
  256. package/fable_modules/fable-library.4.1.4/System.Text.js +110 -0
  257. package/fable_modules/fable-library.4.1.4/SystemException.d.ts +5 -0
  258. package/fable_modules/fable-library.4.1.4/SystemException.js +5 -0
  259. package/fable_modules/fable-library.4.1.4/TimeOnly.d.ts +15 -0
  260. package/fable_modules/fable-library.4.1.4/TimeOnly.js +122 -0
  261. package/fable_modules/fable-library.4.1.4/TimeSpan.d.ts +34 -0
  262. package/fable_modules/fable-library.4.1.4/TimeSpan.js +177 -0
  263. package/fable_modules/fable-library.4.1.4/Timer.d.ts +19 -0
  264. package/fable_modules/fable-library.4.1.4/Timer.js +67 -0
  265. package/fable_modules/fable-library.4.1.4/Types.d.ts +58 -0
  266. package/fable_modules/fable-library.4.1.4/Types.js +208 -0
  267. package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.d.ts +2 -0
  268. package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.js +4 -0
  269. package/fable_modules/fable-library.4.1.4/Uri.d.ts +29 -0
  270. package/fable_modules/fable-library.4.1.4/Uri.js +142 -0
  271. package/fable_modules/fable-library.4.1.4/Util.d.ts +187 -0
  272. package/fable_modules/fable-library.4.1.4/Util.js +662 -0
  273. package/fable_modules/fable-library.4.1.4/lib/big.d.ts +338 -0
  274. package/fable_modules/fable-library.4.1.4/lib/big.js +826 -0
  275. package/fable_modules/fable-library.4.1.4/package.json +23 -0
  276. package/fable_modules/project_cracked.json +1 -0
  277. package/package.json +22 -0
@@ -0,0 +1,183 @@
1
+ namespace FsSpreadsheet
2
+
3
+ open Fable.Core
4
+ /// <summary>
5
+ /// Creates an empty FsWorkbook.
6
+ /// </summary>
7
+
8
+ [<AttachMembers>]
9
+ type FsWorkbook() =
10
+
11
+ let _worksheets = ResizeArray()
12
+
13
+ interface System.IDisposable with
14
+ member self.Dispose() = ()
15
+
16
+ // maybe better to leave that to methods...
17
+ //member self.Worksheets
18
+ // with get() = _worksheets
19
+ // and set(value) = _worksheets <- value
20
+
21
+
22
+ // -------
23
+ // METHODS
24
+ // -------
25
+
26
+ /// <summary>
27
+ /// Creates a deep copy of this FsWorkbook.
28
+ /// </summary>
29
+ member self.Copy() =
30
+ let shts = self.GetWorksheets().ToArray() |> Array.map (fun (s : FsWorksheet) -> s.Copy())
31
+ let wb = new FsWorkbook()
32
+ wb.AddWorksheets shts
33
+ wb
34
+
35
+ /// <summary>
36
+ /// Returns a deep copy of a given FsWorkbook.
37
+ /// </summary>
38
+ static member copy (workbook : FsWorkbook) =
39
+ workbook.Copy()
40
+
41
+ /// <summary>
42
+ /// Creates an empty FsWorksheet with given name and adds it to the FsWorkbook.
43
+ /// </summary>
44
+ member self.InitWorksheet(name : string) =
45
+ let sheet = FsWorksheet name
46
+ _worksheets.Add(sheet)
47
+ sheet
48
+
49
+ /// <summary>
50
+ /// Creates an empty FsWorksheet with given name and adds it to the FsWorkbook.
51
+ /// </summary>
52
+ static member initWorksheet (name : string) (workbook : FsWorkbook) =
53
+ workbook.InitWorksheet name
54
+
55
+
56
+ /// <summary>
57
+ /// Adds a given FsWorksheet to the FsWorkbook.
58
+ /// </summary>
59
+ member self.AddWorksheet(sheet : FsWorksheet) =
60
+ if _worksheets |> Seq.exists (fun ws -> ws.Name = sheet.Name) then
61
+ failwithf "Could not add worksheet with name \"%s\" to workbook as it already contains a worksheet with the same name" sheet.Name
62
+ else
63
+ _worksheets.Add(sheet)
64
+
65
+ /// <summary>
66
+ /// Adds an FsWorksheet to an FsWorkbook.
67
+ /// </summary>
68
+ static member addWorksheet (sheet : FsWorksheet) (workbook : FsWorkbook) =
69
+ workbook.AddWorksheet sheet
70
+ workbook
71
+
72
+ /// <summary>
73
+ /// Adds a collection of FsWorksheets to the FsWorkbook.
74
+ /// </summary>
75
+ member self.AddWorksheets(sheets : seq<FsWorksheet>) =
76
+ sheets
77
+ |> Seq.iter self.AddWorksheet
78
+
79
+ /// <summary>
80
+ /// Adds a collection of FsWorksheets to an FsWorkbook.
81
+ /// </summary>
82
+ static member addWorksheets sheets (workbook : FsWorkbook) =
83
+ workbook.AddWorksheets sheets
84
+ workbook
85
+
86
+ /// <summary>
87
+ /// Returns all FsWorksheets.
88
+ /// </summary>
89
+ member self.GetWorksheets() : ResizeArray<FsWorksheet> =
90
+ _worksheets
91
+
92
+ /// <summary>
93
+ /// Returns all FsWorksheets.
94
+ /// </summary>
95
+ static member getWorksheets (workbook : FsWorkbook) =
96
+ workbook.GetWorksheets()
97
+
98
+ /// <summary>
99
+ /// Returns the FsWorksheet with the given 1 based index if it exists. Else returns None.
100
+ /// </summary>
101
+ member self.TryGetWorksheetAt(index : int) =
102
+ _worksheets |> Seq.tryItem (index - 1)
103
+
104
+ /// <summary>
105
+ /// Returns the FsWorksheet with the given 1 based index if it exists in a given FsWorkbook. Else returns None.
106
+ /// </summary>
107
+ static member tryGetWorksheetAt (index : int) (workbook : FsWorkbook) =
108
+ workbook.TryGetWorksheetAt index
109
+
110
+ /// <summary>
111
+ /// Returns the FsWorksheet with the given 1 based index.
112
+ /// </summary>
113
+ /// <exception cref="System.Exception">if FsWorksheet with at position is not present in the FsWorkkbook.</exception>
114
+ member self.GetWorksheetAt(index : int) =
115
+ match self.TryGetWorksheetAt index with
116
+ | Some w -> w
117
+ | None -> failwith $"FsWorksheet at position {index} is not present in the FsWorkbook."
118
+
119
+ /// <summary>
120
+ /// Returns the FsWorksheet with the given the given 1 based indexk.
121
+ /// </summary>
122
+ /// <exception cref="System.Exception">if FsWorksheet with at position is not present in the FsWorkkbook.</exception>
123
+ static member getWorksheetAt (index : int) (workbook : FsWorkbook) =
124
+ workbook.GetWorksheetAt index
125
+
126
+ /// <summary>
127
+ /// Returns the FsWorksheet with the given name if it exists in the FsWorkbook. Else returns None.
128
+ /// </summary>
129
+ member self.TryGetWorksheetByName(sheetName) =
130
+ _worksheets |> Seq.tryFind (fun w -> w.Name = sheetName)
131
+
132
+ /// <summary>
133
+ /// Returns the FsWorksheet with the given name if it exists in a given FsWorkbook. Else returns None.
134
+ /// </summary>
135
+ static member tryGetWorksheetByName sheetName (workbook : FsWorkbook) =
136
+ workbook.TryGetWorksheetByName sheetName
137
+
138
+ /// <summary>
139
+ /// Returns the FsWorksheet with the given name.
140
+ /// </summary>
141
+ /// <exception cref="System.Exception">if FsWorksheet with given name is not present in the FsWorkkbook.</exception>
142
+ member self.GetWorksheetByName(sheetName) =
143
+ try (self.TryGetWorksheetByName sheetName).Value
144
+ with _ -> failwith $"FsWorksheet with name {sheetName} is not present in the FsWorkbook."
145
+
146
+ /// <summary>
147
+ /// Returns the FsWorksheet with the given name from an FsWorkbook.
148
+ /// </summary>
149
+ /// <exception cref="System.Exception">if FsWorksheet with given name is not present in the FsWorkkbook.</exception>
150
+ static member getWorksheetByName sheetName (workbook : FsWorkbook) =
151
+ workbook.GetWorksheetByName sheetName
152
+
153
+ /// <summary>
154
+ /// Removes an FsWorksheet with given name.
155
+ /// </summary>
156
+ /// <exception cref="System.Exception">if FsWorksheet with given name is not present in the FsWorkkbook.</exception>
157
+ member self.RemoveWorksheet(name : string) =
158
+ let ws =
159
+ try
160
+ _worksheets.Find(fun ws -> ws.Name = name)
161
+ with
162
+ | _ -> failwith $"FsWorksheet with name {name} was not found in FsWorkbook."
163
+ _worksheets.Remove(ws) |> ignore
164
+
165
+ /// <summary>
166
+ /// Removes an FsWorksheet with given name from an FsWorkbook.
167
+ /// </summary>
168
+ static member removeWorksheet (name : string) (workbook : FsWorkbook) =
169
+ workbook.RemoveWorksheet name
170
+ workbook
171
+
172
+ /// <summary>
173
+ /// Returns all FsTables from the FsWorkbook.
174
+ /// </summary>
175
+ member self.GetTables() =
176
+ self.GetWorksheets().ToArray()
177
+ |> Array.collect (fun s -> s.Tables |> Array.ofSeq)
178
+
179
+ /// <summary>
180
+ /// Returns all FsTables from an FsWorkbook.
181
+ /// </summary>
182
+ static member getTables (workbook : FsWorkbook) =
183
+ workbook.GetTables()
@@ -0,0 +1,138 @@
1
+ import { collect, tryFind as tryFind_1, removeInPlace, map } from "../fable-library.4.1.4/Array.js";
2
+ import { FsWorksheet } from "./FsWorksheet.fs.js";
3
+ import { tryFind, tryItem, iterate, exists } from "../fable-library.4.1.4/Seq.js";
4
+ import { printf, toFail } from "../fable-library.4.1.4/String.js";
5
+ import { defaultArg, value as value_1 } from "../fable-library.4.1.4/Option.js";
6
+ import { safeHash, equals, defaultOf } from "../fable-library.4.1.4/Util.js";
7
+ import { class_type } from "../fable-library.4.1.4/Reflection.js";
8
+
9
+ export class FsWorkbook {
10
+ constructor() {
11
+ this._worksheets = [];
12
+ }
13
+ Copy() {
14
+ const self = this;
15
+ const shts = map((s) => s.Copy(), self.GetWorksheets().slice());
16
+ const wb = new FsWorkbook();
17
+ wb.AddWorksheets(shts);
18
+ return wb;
19
+ }
20
+ static copy(workbook) {
21
+ return workbook.Copy();
22
+ }
23
+ InitWorksheet(name) {
24
+ const self = this;
25
+ const sheet = new FsWorksheet(name);
26
+ void (self._worksheets.push(sheet));
27
+ return sheet;
28
+ }
29
+ static initWorksheet(name, workbook) {
30
+ return workbook.InitWorksheet(name);
31
+ }
32
+ AddWorksheet(sheet) {
33
+ const self = this;
34
+ if (exists((ws) => (ws.Name === sheet.Name), self._worksheets)) {
35
+ const arg = sheet.Name;
36
+ toFail(printf("Could not add worksheet with name \"%s\" to workbook as it already contains a worksheet with the same name"))(arg);
37
+ }
38
+ else {
39
+ void (self._worksheets.push(sheet));
40
+ }
41
+ }
42
+ static addWorksheet(sheet, workbook) {
43
+ workbook.AddWorksheet(sheet);
44
+ return workbook;
45
+ }
46
+ AddWorksheets(sheets) {
47
+ const self = this;
48
+ iterate((arg) => {
49
+ self.AddWorksheet(arg);
50
+ }, sheets);
51
+ }
52
+ static addWorksheets(sheets, workbook) {
53
+ workbook.AddWorksheets(sheets);
54
+ return workbook;
55
+ }
56
+ GetWorksheets() {
57
+ const self = this;
58
+ return self._worksheets;
59
+ }
60
+ static getWorksheets(workbook) {
61
+ return workbook.GetWorksheets();
62
+ }
63
+ TryGetWorksheetAt(index) {
64
+ const self = this;
65
+ return tryItem(index - 1, self._worksheets);
66
+ }
67
+ static tryGetWorksheetAt(index, workbook) {
68
+ return workbook.TryGetWorksheetAt(index);
69
+ }
70
+ GetWorksheetAt(index) {
71
+ const self = this;
72
+ const matchValue = self.TryGetWorksheetAt(index);
73
+ if (matchValue == null) {
74
+ throw new Error(`FsWorksheet at position ${index} is not present in the FsWorkbook.`);
75
+ }
76
+ else {
77
+ return matchValue;
78
+ }
79
+ }
80
+ static getWorksheetAt(index, workbook) {
81
+ return workbook.GetWorksheetAt(index);
82
+ }
83
+ TryGetWorksheetByName(sheetName) {
84
+ const self = this;
85
+ return tryFind((w) => (w.Name === sheetName), self._worksheets);
86
+ }
87
+ static tryGetWorksheetByName(sheetName, workbook) {
88
+ return workbook.TryGetWorksheetByName(sheetName);
89
+ }
90
+ GetWorksheetByName(sheetName) {
91
+ const self = this;
92
+ try {
93
+ return value_1(self.TryGetWorksheetByName(sheetName));
94
+ }
95
+ catch (matchValue) {
96
+ throw new Error(`FsWorksheet with name ${sheetName} is not present in the FsWorkbook.`);
97
+ }
98
+ }
99
+ static getWorksheetByName(sheetName, workbook) {
100
+ return workbook.GetWorksheetByName(sheetName);
101
+ }
102
+ RemoveWorksheet(name) {
103
+ const self = this;
104
+ removeInPlace((() => {
105
+ try {
106
+ return defaultArg(tryFind_1((ws) => (ws.Name === name), self._worksheets), defaultOf());
107
+ }
108
+ catch (matchValue) {
109
+ throw new Error(`FsWorksheet with name ${name} was not found in FsWorkbook.`);
110
+ }
111
+ })(), self._worksheets, {
112
+ Equals: equals,
113
+ GetHashCode: safeHash,
114
+ });
115
+ }
116
+ static removeWorksheet(name, workbook) {
117
+ workbook.RemoveWorksheet(name);
118
+ return workbook;
119
+ }
120
+ GetTables() {
121
+ const self = this;
122
+ return collect((s) => Array.from(s.Tables), self.GetWorksheets().slice());
123
+ }
124
+ static getTables(workbook) {
125
+ return workbook.GetTables();
126
+ }
127
+ Dispose() {
128
+ }
129
+ }
130
+
131
+ export function FsWorkbook_$reflection() {
132
+ return class_type("FsSpreadsheet.FsWorkbook", void 0, FsWorkbook);
133
+ }
134
+
135
+ export function FsWorkbook_$ctor() {
136
+ return new FsWorkbook();
137
+ }
138
+