@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,195 @@
1
+ namespace FsSpreadsheet.DSL
2
+
3
+ open FsSpreadsheet
4
+ open Microsoft.FSharp.Quotations
5
+ open Expression
6
+
7
+ type ReduceOperation =
8
+ | Concat of char
9
+
10
+ member this.Reduce (values : Value list) : Value =
11
+ match this with
12
+ | Concat separator ->
13
+ DataType.String,
14
+ values
15
+ |> List.map (snd >> string)
16
+ |> List.reduce (fun a b -> $"{a}{separator}{b}")
17
+
18
+ type CellBuilder() =
19
+
20
+ let mutable reducer = Concat ','
21
+
22
+ static member Empty : SheetEntity<Value list> = SheetEntity.NoneOptional []
23
+
24
+ // -- Computation Expression methods -->
25
+ #if FABLE_COMPILER
26
+ #else
27
+ member _.Quote (quotation: Quotations.Expr<'T>) =
28
+ quotation
29
+ #endif
30
+
31
+ member inline this.Zero() : SheetEntity<Value list> = SheetEntity.NoneOptional []
32
+
33
+ member this.SignMessages (messages : Message list) : Message list =
34
+ messages
35
+ |> List.map (fun m -> m.MapText (sprintf "In Cell: %s"))
36
+
37
+ member inline this.Yield(n: RequiredSource<unit>) =
38
+ n
39
+
40
+ member inline this.Yield(n: OptionalSource<unit>) =
41
+ n
42
+
43
+ member this.Yield(ro : ReduceOperation) : SheetEntity<Value list> =
44
+ reducer <- ro
45
+ SheetEntity.NoneOptional []
46
+
47
+ member inline this.Yield(s : string) : SheetEntity<Value list> =
48
+ SheetEntity.some [DataType.String,s]
49
+
50
+ member inline this.Yield(value: Value) : SheetEntity<Value list> =
51
+ SheetEntity.some [value]
52
+
53
+ member inline this.Yield(value: SheetEntity<Value>) : SheetEntity<Value list> =
54
+ match value with
55
+ | Some (v,messages) ->
56
+ SheetEntity.Some ([v], messages)
57
+ | NoneOptional messages ->
58
+ NoneOptional messages
59
+ | NoneRequired messages ->
60
+ NoneRequired messages
61
+
62
+ member inline this.Yield(n: 'a when 'a :> System.IFormattable) =
63
+ let v = DataType.InferCellValue n
64
+ SheetEntity.some [v]
65
+
66
+ member inline this.Yield(s : string option) : SheetEntity<Value list> =
67
+ match s with
68
+ | Option.Some s -> this.Yield s
69
+ | None -> NoneRequired [message "Value is missing"]
70
+
71
+ member inline this.Yield(n: 'a option when 'a :> System.IFormattable) =
72
+ match n with
73
+ | Option.Some s -> this.Yield s
74
+ | None -> NoneRequired [message "Value is missing"]
75
+
76
+ member inline this.YieldFrom(ns: SheetEntity<Value list> seq) =
77
+ ns
78
+ |> Seq.fold (fun (state : SheetEntity<Value list>) we ->
79
+ this.Combine(state,we)
80
+
81
+ ) CellBuilder.Empty
82
+
83
+ member inline this.For(vs : seq<'T>, f : 'T -> SheetEntity<Value list>) =
84
+ vs
85
+ |> Seq.map f
86
+ |> this.YieldFrom
87
+
88
+ member this.Combine(wx1: SheetEntity<Value list>, wx2: SheetEntity<Value list>) : SheetEntity<Value list>=
89
+ match wx1,wx2 with
90
+ // If both contain content, combine the content
91
+ | Some (l1,messages1), Some (l2,messages2) ->
92
+ Some (List.append l1 l2
93
+ ,List.append messages1 messages2)
94
+
95
+ // If any of the two is missing and was required, return a missing required
96
+ | _, NoneRequired messages2 ->
97
+ NoneRequired (List.append wx1.Messages messages2)
98
+
99
+ | NoneRequired messages1, _ ->
100
+ NoneRequired (List.append messages1 wx2.Messages)
101
+
102
+ // If only one of the two is missing and was optional, take the content of the functioning one
103
+ | Some (f1,messages1), NoneOptional messages2 ->
104
+ Some (f1
105
+ ,List.append messages1 messages2)
106
+
107
+ | NoneOptional messages1, Some (f2,messages2) ->
108
+ Some (f2
109
+ ,List.append messages1 messages2)
110
+
111
+ // If both are missing and were optional, return a missing optional
112
+ | NoneOptional messages1, NoneOptional messages2 ->
113
+ NoneOptional (List.append messages1 messages2)
114
+
115
+ member this.Combine(wx1: RequiredSource<unit>, wx2: SheetEntity<Value list>) =
116
+ RequiredSource (wx2)
117
+
118
+ member this.Combine(wx1: SheetEntity<Value list>, wx2: RequiredSource<unit>) =
119
+ RequiredSource (wx1)
120
+
121
+ member this.Combine(wx1: OptionalSource<unit>, wx2: SheetEntity<Value list>) =
122
+ OptionalSource wx2
123
+
124
+ member this.Combine(wx1: SheetEntity<Value list>, wx2: OptionalSource<unit>) =
125
+ OptionalSource wx1
126
+
127
+ member this.Combine(wx1: RequiredSource<SheetEntity<Value list>>, wx2: SheetEntity<Value list>) =
128
+ this.Combine(wx1.Source,wx2)
129
+ |> RequiredSource
130
+
131
+ member this.Combine(wx1: SheetEntity<Value list>, wx2: RequiredSource<SheetEntity<Value list>>) =
132
+ this.Combine(wx1,wx2.Source)
133
+ |> RequiredSource
134
+
135
+ member this.Combine(wx1: OptionalSource<SheetEntity<Value list>>, wx2: SheetEntity<Value list>) =
136
+ this.Combine(wx1.Source,wx2)
137
+ |> OptionalSource
138
+
139
+ member this.Combine(wx1: SheetEntity<Value list>, wx2: OptionalSource<SheetEntity<Value list>>) =
140
+ this.Combine(wx1,wx2.Source)
141
+ |> OptionalSource
142
+
143
+ member this.AsCellElement(children: SheetEntity<Value list>) : SheetEntity<CellElement> =
144
+ match children with
145
+ | Some (v :: [],messages) ->
146
+ let cellElement = v, None
147
+ SheetEntity.Some(cellElement, messages)
148
+ | Some (vals,messages) ->
149
+ let cellElement = reducer.Reduce (vals), None
150
+ SheetEntity.Some(cellElement, messages)
151
+ | NoneRequired messages -> NoneRequired messages
152
+ | NoneOptional messages -> NoneOptional messages
153
+
154
+ #if FABLE_COMPILER
155
+ member inline this.Run(children: OptionalSource<SheetEntity<Value list>>) =
156
+ try
157
+ match this.AsCellElement (children.Source) with
158
+ | NoneRequired m -> NoneOptional m
159
+ | se -> se
160
+ with
161
+ | err -> NoneOptional [message err.Message]
162
+
163
+ member inline this.Run(children: RequiredSource<SheetEntity<Value list>>) =
164
+ try
165
+ match this.AsCellElement (children.Source) with
166
+ | NoneOptional m -> NoneRequired m
167
+ | se -> se
168
+ with
169
+ | err -> NoneOptional [message err.Message]
170
+
171
+ member inline this.Run(children: SheetEntity<Value list>) =
172
+ this.AsCellElement (children)
173
+ |> fun v -> v.Value
174
+ #else
175
+ member inline this.Run(children: Expr<OptionalSource<SheetEntity<Value list>>>) =
176
+ try
177
+ match this.AsCellElement ((eval<OptionalSource<SheetEntity<Value list>>> children).Source) with
178
+ | NoneRequired m -> NoneOptional m
179
+ | se -> se
180
+ with
181
+ | err -> NoneOptional [message err.Message]
182
+
183
+ member inline this.Run(children: Expr<RequiredSource<SheetEntity<Value list>>>) =
184
+ try
185
+ match this.AsCellElement ((eval<RequiredSource<SheetEntity<Value list>>> children).Source) with
186
+ | NoneOptional m -> NoneRequired m
187
+ | se -> se
188
+ with
189
+ | err -> NoneOptional [message err.Message]
190
+
191
+ member inline this.Run(children: Expr<SheetEntity<Value list>>) =
192
+ this.AsCellElement (eval<SheetEntity<Value list>> children)
193
+ |> fun v -> v.Value
194
+ #endif
195
+ member inline _.Delay(n: unit -> 'T) = n()
@@ -0,0 +1,208 @@
1
+ import { Union } from "../../fable-library.4.1.4/Types.js";
2
+ import { class_type, union_type, char_type } from "../../fable-library.4.1.4/Reflection.js";
3
+ import { DataType } from "../Cells/FsCell.fs.js";
4
+ import { head, tail, isEmpty, append, empty, map, reduce } from "../../fable-library.4.1.4/List.js";
5
+ import { SheetEntity$1__get_Messages, Message__MapText_11D407F6, SheetEntity$1 } from "./Types.fs.js";
6
+ import { printf, toText } from "../../fable-library.4.1.4/String.js";
7
+ import { OptionalSource$1__get_Source, RequiredSource$1__get_Source, OptionalSource$1_$ctor_2B595, RequiredSource$1_$ctor_2B595 } from "./Expression.fs.js";
8
+
9
+ export class ReduceOperation extends Union {
10
+ constructor(Item) {
11
+ super();
12
+ this.tag = 0;
13
+ this.fields = [Item];
14
+ }
15
+ cases() {
16
+ return ["Concat"];
17
+ }
18
+ }
19
+
20
+ export function ReduceOperation_$reflection() {
21
+ return union_type("FsSpreadsheet.DSL.ReduceOperation", [], ReduceOperation, () => [[["Item", char_type]]]);
22
+ }
23
+
24
+ export function ReduceOperation__Reduce_Z26A4E3C2(this$, values) {
25
+ return [new DataType(0, []), reduce((a, b) => (`${a}${this$.fields[0]}${b}`), map((arg) => arg[1], values))];
26
+ }
27
+
28
+ export class CellBuilder {
29
+ constructor() {
30
+ this.reducer = (new ReduceOperation(","));
31
+ }
32
+ }
33
+
34
+ export function CellBuilder_$reflection() {
35
+ return class_type("FsSpreadsheet.DSL.CellBuilder", void 0, CellBuilder);
36
+ }
37
+
38
+ export function CellBuilder_$ctor() {
39
+ return new CellBuilder();
40
+ }
41
+
42
+ export function CellBuilder_get_Empty() {
43
+ return new SheetEntity$1(1, [empty()]);
44
+ }
45
+
46
+ export function CellBuilder__SignMessages_3F89FFFC(this$, messages) {
47
+ return map((m) => {
48
+ let clo;
49
+ return Message__MapText_11D407F6(m, (clo = toText(printf("In Cell: %s")), clo));
50
+ }, messages);
51
+ }
52
+
53
+ export function CellBuilder__Yield_36B9E420(this$, ro) {
54
+ this$.reducer = ro;
55
+ return new SheetEntity$1(1, [empty()]);
56
+ }
57
+
58
+ export function CellBuilder__Combine_4F8B6A0(this$, wx1, wx2) {
59
+ let matchResult, l1, l2, messages1, messages2, messages2_1, messages1_1, f1, messages1_2, messages2_2, f2, messages1_3, messages2_3, messages1_4, messages2_4;
60
+ switch (wx1.tag) {
61
+ case 2: {
62
+ if (wx2.tag === 2) {
63
+ matchResult = 1;
64
+ messages2_1 = wx2.fields[0];
65
+ }
66
+ else {
67
+ matchResult = 2;
68
+ messages1_1 = wx1.fields[0];
69
+ }
70
+ break;
71
+ }
72
+ case 1: {
73
+ switch (wx2.tag) {
74
+ case 0: {
75
+ matchResult = 4;
76
+ f2 = wx2.fields[0];
77
+ messages1_3 = wx1.fields[0];
78
+ messages2_3 = wx2.fields[1];
79
+ break;
80
+ }
81
+ case 1: {
82
+ matchResult = 5;
83
+ messages1_4 = wx1.fields[0];
84
+ messages2_4 = wx2.fields[0];
85
+ break;
86
+ }
87
+ default: {
88
+ matchResult = 1;
89
+ messages2_1 = wx2.fields[0];
90
+ }
91
+ }
92
+ break;
93
+ }
94
+ default:
95
+ switch (wx2.tag) {
96
+ case 2: {
97
+ matchResult = 1;
98
+ messages2_1 = wx2.fields[0];
99
+ break;
100
+ }
101
+ case 1: {
102
+ matchResult = 3;
103
+ f1 = wx1.fields[0];
104
+ messages1_2 = wx1.fields[1];
105
+ messages2_2 = wx2.fields[0];
106
+ break;
107
+ }
108
+ default: {
109
+ matchResult = 0;
110
+ l1 = wx1.fields[0];
111
+ l2 = wx2.fields[0];
112
+ messages1 = wx1.fields[1];
113
+ messages2 = wx2.fields[1];
114
+ }
115
+ }
116
+ }
117
+ switch (matchResult) {
118
+ case 0:
119
+ return new SheetEntity$1(0, [append(l1, l2), append(messages1, messages2)]);
120
+ case 1:
121
+ return new SheetEntity$1(2, [append(SheetEntity$1__get_Messages(wx1), messages2_1)]);
122
+ case 2:
123
+ return new SheetEntity$1(2, [append(messages1_1, SheetEntity$1__get_Messages(wx2))]);
124
+ case 3:
125
+ return new SheetEntity$1(0, [f1, append(messages1_2, messages2_2)]);
126
+ case 4:
127
+ return new SheetEntity$1(0, [f2, append(messages1_3, messages2_3)]);
128
+ default:
129
+ return new SheetEntity$1(1, [append(messages1_4, messages2_4)]);
130
+ }
131
+ }
132
+
133
+ export function CellBuilder__Combine_2C6C5E1E(this$, wx1, wx2) {
134
+ return RequiredSource$1_$ctor_2B595(wx2);
135
+ }
136
+
137
+ export function CellBuilder__Combine_Z40A4EDE2(this$, wx1, wx2) {
138
+ return RequiredSource$1_$ctor_2B595(wx1);
139
+ }
140
+
141
+ export function CellBuilder__Combine_3F9D1279(this$, wx1, wx2) {
142
+ return OptionalSource$1_$ctor_2B595(wx2);
143
+ }
144
+
145
+ export function CellBuilder__Combine_7AD05659(this$, wx1, wx2) {
146
+ return OptionalSource$1_$ctor_2B595(wx1);
147
+ }
148
+
149
+ export function CellBuilder__Combine_Z674DE191(this$, wx1, wx2) {
150
+ return RequiredSource$1_$ctor_2B595(CellBuilder__Combine_4F8B6A0(this$, RequiredSource$1__get_Source(wx1), wx2));
151
+ }
152
+
153
+ export function CellBuilder__Combine_1F389C8F(this$, wx1, wx2) {
154
+ return RequiredSource$1_$ctor_2B595(CellBuilder__Combine_4F8B6A0(this$, wx1, RequiredSource$1__get_Source(wx2)));
155
+ }
156
+
157
+ export function CellBuilder__Combine_512E85C8(this$, wx1, wx2) {
158
+ return OptionalSource$1_$ctor_2B595(CellBuilder__Combine_4F8B6A0(this$, OptionalSource$1__get_Source(wx1), wx2));
159
+ }
160
+
161
+ export function CellBuilder__Combine_6390E688(this$, wx1, wx2) {
162
+ return OptionalSource$1_$ctor_2B595(CellBuilder__Combine_4F8B6A0(this$, wx1, OptionalSource$1__get_Source(wx2)));
163
+ }
164
+
165
+ export function CellBuilder__AsCellElement_825BA8D(this$, children) {
166
+ let matchResult, messages, v, messages_1, vals, messages_2, messages_3;
167
+ switch (children.tag) {
168
+ case 2: {
169
+ matchResult = 2;
170
+ messages_2 = children.fields[0];
171
+ break;
172
+ }
173
+ case 1: {
174
+ matchResult = 3;
175
+ messages_3 = children.fields[0];
176
+ break;
177
+ }
178
+ default:
179
+ if (!isEmpty(children.fields[0])) {
180
+ if (isEmpty(tail(children.fields[0]))) {
181
+ matchResult = 0;
182
+ messages = children.fields[1];
183
+ v = head(children.fields[0]);
184
+ }
185
+ else {
186
+ matchResult = 1;
187
+ messages_1 = children.fields[1];
188
+ vals = children.fields[0];
189
+ }
190
+ }
191
+ else {
192
+ matchResult = 1;
193
+ messages_1 = children.fields[1];
194
+ vals = children.fields[0];
195
+ }
196
+ }
197
+ switch (matchResult) {
198
+ case 0:
199
+ return new SheetEntity$1(0, [[v, void 0], messages]);
200
+ case 1:
201
+ return new SheetEntity$1(0, [[ReduceOperation__Reduce_Z26A4E3C2(this$.reducer, vals), void 0], messages_1]);
202
+ case 2:
203
+ return new SheetEntity$1(2, [messages_2]);
204
+ default:
205
+ return new SheetEntity$1(1, [messages_3]);
206
+ }
207
+ }
208
+
@@ -0,0 +1,209 @@
1
+ namespace FsSpreadsheet.DSL
2
+
3
+ open FsSpreadsheet
4
+ open FsSpreadsheet.DSL
5
+
6
+ open Microsoft.FSharp.Quotations
7
+ open Expression
8
+
9
+
10
+ type ColumnBuilder() =
11
+
12
+ static member Empty : SheetEntity<ColumnElement list> = SheetEntity.some []
13
+
14
+ // -- Computation Expression methods -->
15
+ #if FABLE_COMPILER
16
+ #else
17
+ member _.Quote (quotation: Quotations.Expr<'T>) =
18
+ quotation
19
+ #endif
20
+
21
+ member inline this.Zero() : SheetEntity<ColumnElement list> = SheetEntity.some []
22
+
23
+ member this.SignMessages (messages : Message list) : Message list =
24
+ messages
25
+ |> List.map (fun m -> m.MapText (sprintf "In Column: %s"))
26
+
27
+ member inline _.Yield(c: ColumnElement) =
28
+ SheetEntity.some [c]
29
+
30
+ member inline _.Yield(cs: ColumnElement list) =
31
+ SheetEntity.some cs
32
+
33
+ member inline _.Yield(c: SheetEntity<ColumnElement>) =
34
+ match c with
35
+ | Some (c,messages) ->
36
+ SheetEntity.Some ([c], messages)
37
+ | NoneOptional messages ->
38
+ NoneOptional messages
39
+ | NoneRequired messages ->
40
+ NoneRequired messages
41
+
42
+ member inline _.Yield(cs: SheetEntity<ColumnElement list>) =
43
+ cs
44
+
45
+ member inline _.Yield(c: SheetEntity<CellElement>) =
46
+ match c with
47
+ | Some ((v,Option.Some i),messages) ->
48
+ SheetEntity.Some ([ColumnElement.IndexedCell (Row i,v)], messages)
49
+ | Some ((v,None),messages) ->
50
+ SheetEntity.Some ([ColumnElement.UnindexedCell v], messages)
51
+ | NoneOptional messages ->
52
+ NoneOptional messages
53
+ | NoneRequired messages ->
54
+ NoneRequired messages
55
+
56
+ member inline _.Yield(c: CellElement) =
57
+ let re =
58
+ match c with
59
+ | v, Option.Some i -> ColumnElement.IndexedCell (Row i, v)
60
+ | v, None -> ColumnElement.UnindexedCell v
61
+ SheetEntity.some [re]
62
+
63
+ member inline _.Yield(c: SheetEntity<Value>) =
64
+ match c with
65
+ | Some ((v),messages) ->
66
+ SheetEntity.Some ([ColumnElement.UnindexedCell v], messages)
67
+ | NoneOptional messages ->
68
+ NoneOptional messages
69
+ | NoneRequired messages ->
70
+ NoneRequired messages
71
+
72
+ member inline _.Yield(cs: CellElement list) =
73
+ let res =
74
+ cs
75
+ |> List.map (function
76
+ | v, Option.Some i -> ColumnElement.IndexedCell (Row i, v)
77
+ | v, None -> ColumnElement.UnindexedCell v
78
+ )
79
+ SheetEntity.some res
80
+
81
+ member inline this.Yield(cs: seq<SheetEntity<CellElement>>) : SheetEntity<ColumnElement list>=
82
+ cs
83
+ |> Seq.map this.Yield
84
+ |> Seq.reduce (fun a b -> this.Combine(a,b))
85
+
86
+
87
+ member inline _.Yield(s : string) =
88
+ let v = DataType.InferCellValue s
89
+ SheetEntity.some [ColumnElement.UnindexedCell v]
90
+
91
+ member inline this.Yield(n: RequiredSource<unit>) =
92
+ n
93
+
94
+ member inline this.Yield(n: OptionalSource<unit>) =
95
+ n
96
+
97
+ member inline this.Yield(n: 'a when 'a :> System.IFormattable) =
98
+ let v = DataType.InferCellValue n
99
+ SheetEntity.some [ColumnElement.UnindexedCell v]
100
+
101
+ member inline this.YieldFrom(ns: SheetEntity<ColumnElement list> seq) =
102
+ ns
103
+ |> Seq.fold (fun (state : SheetEntity<ColumnElement list>) we ->
104
+ this.Combine(state,we)
105
+
106
+ ) ColumnBuilder.Empty
107
+
108
+
109
+ member inline this.For(vs : seq<'T>, f : 'T -> SheetEntity<ColumnElement list>) =
110
+ vs
111
+ |> Seq.map f
112
+ |> this.YieldFrom
113
+
114
+
115
+ member this.Combine(wx1: SheetEntity<ColumnElement list>, wx2: SheetEntity<ColumnElement list>) : SheetEntity<ColumnElement list>=
116
+ match wx1,wx2 with
117
+ // If both contain content, combine the content
118
+ | Some (l1,messages1), Some (l2,messages2) ->
119
+ Some (List.append l1 l2
120
+ ,List.append messages1 messages2)
121
+
122
+ // If any of the two is missing and was required, return a missing required
123
+ | _, NoneRequired messages2 ->
124
+ NoneRequired (List.append wx1.Messages messages2)
125
+
126
+ | NoneRequired messages1, _ ->
127
+ NoneRequired (List.append messages1 wx2.Messages)
128
+
129
+ // If only one of the two is missing and was optional, take the content of the functioning one
130
+ | Some (f1,messages1), NoneOptional messages2 ->
131
+ Some (f1
132
+ ,List.append messages1 messages2)
133
+
134
+ | NoneOptional messages1, Some (f2,messages2) ->
135
+ Some (f2
136
+ ,List.append messages1 messages2)
137
+
138
+ // If both are missing and were optional, return a missing optional
139
+ | NoneOptional messages1, NoneOptional messages2 ->
140
+ NoneOptional (List.append messages1 messages2)
141
+
142
+ member this.Combine(wx1: RequiredSource<unit>, wx2: SheetEntity<ColumnElement list>) =
143
+ RequiredSource (wx2)
144
+
145
+ member this.Combine(wx1: SheetEntity<ColumnElement list>, wx2: RequiredSource<unit>) =
146
+ RequiredSource (wx1)
147
+
148
+ member this.Combine(wx1: OptionalSource<unit>, wx2: SheetEntity<ColumnElement list>) =
149
+ OptionalSource wx2
150
+
151
+ member this.Combine(wx1: SheetEntity<ColumnElement list>, wx2: OptionalSource<unit>) =
152
+ OptionalSource wx1
153
+
154
+ member this.Combine(wx1: RequiredSource<SheetEntity<ColumnElement list>>, wx2: SheetEntity<ColumnElement list>) =
155
+ this.Combine(wx1.Source,wx2)
156
+ |> RequiredSource
157
+
158
+ member this.Combine(wx1: SheetEntity<ColumnElement list>, wx2: RequiredSource<SheetEntity<ColumnElement list>>) =
159
+ this.Combine(wx1,wx2.Source)
160
+ |> RequiredSource
161
+
162
+ member this.Combine(wx1: OptionalSource<SheetEntity<ColumnElement list>>, wx2: SheetEntity<ColumnElement list>) =
163
+ this.Combine(wx1.Source,wx2)
164
+ |> OptionalSource
165
+
166
+ member this.Combine(wx1: SheetEntity<ColumnElement list>, wx2: OptionalSource<SheetEntity<ColumnElement list>>) =
167
+ this.Combine(wx1,wx2.Source)
168
+ |> OptionalSource
169
+
170
+ #if FABLE_COMPILER
171
+ member inline this.Run(children: OptionalSource<SheetEntity<ColumnElement list>>) =
172
+ try
173
+ match children.Source with
174
+ | NoneRequired m -> NoneOptional m
175
+ | se -> se
176
+ with
177
+ | err -> NoneOptional [message err.Message]
178
+
179
+ member inline this.Run(children: RequiredSource<SheetEntity<ColumnElement list>>) =
180
+ try
181
+ match children.Source with
182
+ | NoneOptional m -> NoneRequired m
183
+ | se -> se
184
+ with
185
+ | err -> NoneOptional [message err.Message]
186
+
187
+ member inline this.Run(children: SheetEntity<ColumnElement list>) =
188
+ children.Value
189
+ #else
190
+ member inline this.Run(children: Expr<OptionalSource<SheetEntity<ColumnElement list>>>) =
191
+ try
192
+ match (eval<OptionalSource<SheetEntity<ColumnElement list>>> children).Source with
193
+ | NoneRequired m -> NoneOptional m
194
+ | se -> se
195
+ with
196
+ | err -> NoneOptional [message err.Message]
197
+
198
+ member inline this.Run(children: Expr<RequiredSource<SheetEntity<ColumnElement list>>>) =
199
+ try
200
+ match (eval<RequiredSource<SheetEntity<ColumnElement list>>> children).Source with
201
+ | NoneOptional m -> NoneRequired m
202
+ | se -> se
203
+ with
204
+ | err -> NoneOptional [message err.Message]
205
+
206
+ member inline this.Run(children: Expr<SheetEntity<ColumnElement list>>) =
207
+ (eval<SheetEntity<ColumnElement list>> children).Value
208
+ #endif
209
+ member inline _.Delay(n: unit -> 'T) = n()