@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,137 @@
1
+ import { class_type } from "../../fable-library.4.1.4/Reflection.js";
2
+ import { SheetEntity$1__get_Messages, SheetEntity$1, Message__MapText_11D407F6, SheetEntity$1_some_2B595 } from "./Types.fs.js";
3
+ import { append, map, empty } from "../../fable-library.4.1.4/List.js";
4
+ import { printf, toText } from "../../fable-library.4.1.4/String.js";
5
+ import { OptionalSource$1__get_Source, RequiredSource$1__get_Source, OptionalSource$1_$ctor_2B595, RequiredSource$1_$ctor_2B595 } from "./Expression.fs.js";
6
+
7
+ export class ColumnBuilder {
8
+ constructor() {
9
+ }
10
+ }
11
+
12
+ export function ColumnBuilder_$reflection() {
13
+ return class_type("FsSpreadsheet.DSL.ColumnBuilder", void 0, ColumnBuilder);
14
+ }
15
+
16
+ export function ColumnBuilder_$ctor() {
17
+ return new ColumnBuilder();
18
+ }
19
+
20
+ export function ColumnBuilder_get_Empty() {
21
+ return SheetEntity$1_some_2B595(empty());
22
+ }
23
+
24
+ export function ColumnBuilder__SignMessages_3F89FFFC(this$, messages) {
25
+ return map((m) => {
26
+ let clo;
27
+ return Message__MapText_11D407F6(m, (clo = toText(printf("In Column: %s")), clo));
28
+ }, messages);
29
+ }
30
+
31
+ export function ColumnBuilder__Combine_Z14A04580(this$, wx1, wx2) {
32
+ let matchResult, l1, l2, messages1, messages2, messages2_1, messages1_1, f1, messages1_2, messages2_2, f2, messages1_3, messages2_3, messages1_4, messages2_4;
33
+ switch (wx1.tag) {
34
+ case 2: {
35
+ if (wx2.tag === 2) {
36
+ matchResult = 1;
37
+ messages2_1 = wx2.fields[0];
38
+ }
39
+ else {
40
+ matchResult = 2;
41
+ messages1_1 = wx1.fields[0];
42
+ }
43
+ break;
44
+ }
45
+ case 1: {
46
+ switch (wx2.tag) {
47
+ case 0: {
48
+ matchResult = 4;
49
+ f2 = wx2.fields[0];
50
+ messages1_3 = wx1.fields[0];
51
+ messages2_3 = wx2.fields[1];
52
+ break;
53
+ }
54
+ case 1: {
55
+ matchResult = 5;
56
+ messages1_4 = wx1.fields[0];
57
+ messages2_4 = wx2.fields[0];
58
+ break;
59
+ }
60
+ default: {
61
+ matchResult = 1;
62
+ messages2_1 = wx2.fields[0];
63
+ }
64
+ }
65
+ break;
66
+ }
67
+ default:
68
+ switch (wx2.tag) {
69
+ case 2: {
70
+ matchResult = 1;
71
+ messages2_1 = wx2.fields[0];
72
+ break;
73
+ }
74
+ case 1: {
75
+ matchResult = 3;
76
+ f1 = wx1.fields[0];
77
+ messages1_2 = wx1.fields[1];
78
+ messages2_2 = wx2.fields[0];
79
+ break;
80
+ }
81
+ default: {
82
+ matchResult = 0;
83
+ l1 = wx1.fields[0];
84
+ l2 = wx2.fields[0];
85
+ messages1 = wx1.fields[1];
86
+ messages2 = wx2.fields[1];
87
+ }
88
+ }
89
+ }
90
+ switch (matchResult) {
91
+ case 0:
92
+ return new SheetEntity$1(0, [append(l1, l2), append(messages1, messages2)]);
93
+ case 1:
94
+ return new SheetEntity$1(2, [append(SheetEntity$1__get_Messages(wx1), messages2_1)]);
95
+ case 2:
96
+ return new SheetEntity$1(2, [append(messages1_1, SheetEntity$1__get_Messages(wx2))]);
97
+ case 3:
98
+ return new SheetEntity$1(0, [f1, append(messages1_2, messages2_2)]);
99
+ case 4:
100
+ return new SheetEntity$1(0, [f2, append(messages1_3, messages2_3)]);
101
+ default:
102
+ return new SheetEntity$1(1, [append(messages1_4, messages2_4)]);
103
+ }
104
+ }
105
+
106
+ export function ColumnBuilder__Combine_89C473F(this$, wx1, wx2) {
107
+ return RequiredSource$1_$ctor_2B595(wx2);
108
+ }
109
+
110
+ export function ColumnBuilder__Combine_740C071F(this$, wx1, wx2) {
111
+ return RequiredSource$1_$ctor_2B595(wx1);
112
+ }
113
+
114
+ export function ColumnBuilder__Combine_1B6D0B58(this$, wx1, wx2) {
115
+ return OptionalSource$1_$ctor_2B595(wx2);
116
+ }
117
+
118
+ export function ColumnBuilder__Combine_Z4E78BCA8(this$, wx1, wx2) {
119
+ return OptionalSource$1_$ctor_2B595(wx1);
120
+ }
121
+
122
+ export function ColumnBuilder__Combine_F0E07EF(this$, wx1, wx2) {
123
+ return RequiredSource$1_$ctor_2B595(ColumnBuilder__Combine_Z14A04580(this$, RequiredSource$1__get_Source(wx1), wx2));
124
+ }
125
+
126
+ export function ColumnBuilder__Combine_48CBECF(this$, wx1, wx2) {
127
+ return RequiredSource$1_$ctor_2B595(ColumnBuilder__Combine_Z14A04580(this$, wx1, RequiredSource$1__get_Source(wx2)));
128
+ }
129
+
130
+ export function ColumnBuilder__Combine_Z172253D8(this$, wx1, wx2) {
131
+ return OptionalSource$1_$ctor_2B595(ColumnBuilder__Combine_Z14A04580(this$, OptionalSource$1__get_Source(wx1), wx2));
132
+ }
133
+
134
+ export function ColumnBuilder__Combine_Z73B7C9D8(this$, wx1, wx2) {
135
+ return OptionalSource$1_$ctor_2B595(ColumnBuilder__Combine_Z14A04580(this$, wx1, OptionalSource$1__get_Source(wx2)));
136
+ }
137
+
@@ -0,0 +1,61 @@
1
+ namespace FsSpreadsheet.DSL
2
+
3
+ open Microsoft.FSharp.Quotations
4
+ open FsSpreadsheet
5
+ open Expression
6
+
7
+ [<AutoOpen>]
8
+ type DSL =
9
+
10
+ /// Create a cell from a value
11
+ static member inline cell = CellBuilder()
12
+
13
+ /// Create a row from cells
14
+ static member inline row = RowBuilder()
15
+
16
+ /// Create a column from cells
17
+ static member inline column = ColumnBuilder()
18
+
19
+ /// Create a table from either exclusively rows or exclusively columns.
20
+ static member inline table name = TableBuilder(name)
21
+
22
+ /// Create a sheet from rows, tables and columns
23
+ static member inline sheet name = SheetBuilder(name)
24
+
25
+ /// Create a workbook from sheets
26
+ static member inline workbook = WorkbookBuilder()
27
+
28
+ /// Transforms any given missing element to an optional.
29
+ static member opt (elem : SheetEntity<'T list>) =
30
+ match elem with
31
+ | Some (f,messages) -> elem
32
+ | NoneOptional (messages) -> NoneOptional(messages)
33
+ | NoneRequired (messages) -> NoneOptional(messages)
34
+
35
+ #if FABLE_COMPILER
36
+ #else
37
+ /// Transforms any given missing element expression to an optional.
38
+ static member opt (elem : Expr<SheetEntity<'T list>>) =
39
+ try
40
+ let elem = eval<SheetEntity<'T list>> elem
41
+ DSL.opt elem
42
+ with
43
+ | err ->
44
+ NoneOptional([message err.Message])
45
+ #endif
46
+
47
+ /// Drops the cell with the given message
48
+ static member dropCell message : SheetEntity<Value> = NoneRequired [message]
49
+
50
+ /// Drops the row with the given message
51
+ static member dropRow message : SheetEntity<RowElement> = NoneRequired [message]
52
+
53
+ /// Drops the column with the given message
54
+ static member dropColumn message : SheetEntity<ColumnElement> = NoneRequired [message]
55
+
56
+ /// Drops the sheet with the given message
57
+ static member dropSheet message : SheetEntity<SheetElement> = NoneRequired [message]
58
+
59
+ /// Drops the workbook with the given message
60
+ static member dropWorkbook message : SheetEntity<WorkbookElement> = NoneRequired [message]
61
+
@@ -0,0 +1,62 @@
1
+ import { class_type } from "../../fable-library.4.1.4/Reflection.js";
2
+ import { SheetEntity$1 } from "./Types.fs.js";
3
+ import { singleton } from "../../fable-library.4.1.4/List.js";
4
+
5
+ export class DSL {
6
+ constructor() {
7
+ }
8
+ }
9
+
10
+ export function DSL_$reflection() {
11
+ return class_type("FsSpreadsheet.DSL.DSL", void 0, DSL);
12
+ }
13
+
14
+ /**
15
+ * Transforms any given missing element to an optional.
16
+ */
17
+ export function DSL_opt_Z6AB9374C(elem) {
18
+ switch (elem.tag) {
19
+ case 1:
20
+ return new SheetEntity$1(1, [elem.fields[0]]);
21
+ case 2:
22
+ return new SheetEntity$1(1, [elem.fields[0]]);
23
+ default:
24
+ return elem;
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Drops the cell with the given message
30
+ */
31
+ export function DSL_dropCell_6CC5727E(message) {
32
+ return new SheetEntity$1(2, [singleton(message)]);
33
+ }
34
+
35
+ /**
36
+ * Drops the row with the given message
37
+ */
38
+ export function DSL_dropRow_6CC5727E(message) {
39
+ return new SheetEntity$1(2, [singleton(message)]);
40
+ }
41
+
42
+ /**
43
+ * Drops the column with the given message
44
+ */
45
+ export function DSL_dropColumn_6CC5727E(message) {
46
+ return new SheetEntity$1(2, [singleton(message)]);
47
+ }
48
+
49
+ /**
50
+ * Drops the sheet with the given message
51
+ */
52
+ export function DSL_dropSheet_6CC5727E(message) {
53
+ return new SheetEntity$1(2, [singleton(message)]);
54
+ }
55
+
56
+ /**
57
+ * Drops the workbook with the given message
58
+ */
59
+ export function DSL_dropWorkbook_6CC5727E(message) {
60
+ return new SheetEntity$1(2, [singleton(message)]);
61
+ }
62
+
@@ -0,0 +1,24 @@
1
+ namespace FsSpreadsheet.DSL
2
+
3
+
4
+ module Expression =
5
+
6
+ [<NoComparison; NoEquality; Sealed>]
7
+ type OptionalSource<'T>(s : 'T) =
8
+ member this.Source = s
9
+
10
+ [<NoComparison; NoEquality; Sealed>]
11
+ type RequiredSource<'T>(s : 'T) =
12
+ member this.Source = s
13
+
14
+ [<NoComparison; NoEquality; Sealed>]
15
+ type ExpressionSource<'T>(s : 'T) =
16
+
17
+ member this.Source = s
18
+
19
+ #if FABLE_COMPILER
20
+ #else
21
+ open Microsoft.FSharp.Linq.RuntimeHelpers
22
+
23
+ let eval<'T> q = LeafExpressionConverter.EvaluateQuotation q :?> 'T
24
+ #endif
@@ -0,0 +1,56 @@
1
+ import { class_type } from "../../fable-library.4.1.4/Reflection.js";
2
+
3
+ export class OptionalSource$1 {
4
+ constructor(s) {
5
+ this.s = s;
6
+ }
7
+ }
8
+
9
+ export function OptionalSource$1_$reflection(gen0) {
10
+ return class_type("FsSpreadsheet.DSL.Expression.OptionalSource`1", [gen0], OptionalSource$1);
11
+ }
12
+
13
+ export function OptionalSource$1_$ctor_2B595(s) {
14
+ return new OptionalSource$1(s);
15
+ }
16
+
17
+ export function OptionalSource$1__get_Source(this$) {
18
+ return this$.s;
19
+ }
20
+
21
+ export class RequiredSource$1 {
22
+ constructor(s) {
23
+ this.s = s;
24
+ }
25
+ }
26
+
27
+ export function RequiredSource$1_$reflection(gen0) {
28
+ return class_type("FsSpreadsheet.DSL.Expression.RequiredSource`1", [gen0], RequiredSource$1);
29
+ }
30
+
31
+ export function RequiredSource$1_$ctor_2B595(s) {
32
+ return new RequiredSource$1(s);
33
+ }
34
+
35
+ export function RequiredSource$1__get_Source(this$) {
36
+ return this$.s;
37
+ }
38
+
39
+ export class ExpressionSource$1 {
40
+ constructor(s) {
41
+ this.s = s;
42
+ }
43
+ }
44
+
45
+ export function ExpressionSource$1_$reflection(gen0) {
46
+ return class_type("FsSpreadsheet.DSL.Expression.ExpressionSource`1", [gen0], ExpressionSource$1);
47
+ }
48
+
49
+ export function ExpressionSource$1_$ctor_2B595(s) {
50
+ return new ExpressionSource$1(s);
51
+ }
52
+
53
+ export function ExpressionSource$1__get_Source(this$) {
54
+ return this$.s;
55
+ }
56
+
@@ -0,0 +1,102 @@
1
+ namespace FsSpreadsheet.DSL
2
+
3
+ open Microsoft.FSharp.Quotations
4
+ open FsSpreadsheet
5
+ open Expression
6
+
7
+ [<AutoOpen>]
8
+ module Operators =
9
+
10
+ #if FABLE_COMPILER
11
+ #else
12
+ let inline parseExpression (def : string -> SheetEntity<Value>) (s : Expr<'a>) : SheetEntity<Value> =
13
+ try
14
+ let value = eval<'a> s |> DataType.InferCellValue
15
+ SheetEntity.some value
16
+ with
17
+ | err -> def err.Message
18
+ #endif
19
+
20
+ let inline parseOption (def : string -> SheetEntity<Value>) (s : Option<'a>) : SheetEntity<Value> =
21
+ match s with
22
+ | Option.Some value ->
23
+ DataType.InferCellValue value
24
+ |> SheetEntity.some
25
+ | None -> def "Value was missing"
26
+
27
+ let inline parseResult (def : string -> SheetEntity<Value>) (s : Result<'a,exn>) : SheetEntity<Value> =
28
+ match s with
29
+ | Result.Ok value ->
30
+ DataType.InferCellValue value
31
+ |> SheetEntity.some
32
+ | Result.Error exn -> def exn.Message
33
+
34
+ let inline parseAny (f : string -> SheetEntity<Value>) (v: 'T) : SheetEntity<Value> =
35
+ match box v with
36
+ #if FABLE_COMPILER
37
+ #else
38
+ | :? Expr<string> as e -> parseExpression f e
39
+ | :? Expr<int> as e -> parseExpression f e
40
+ | :? Expr<float> as e -> parseExpression f e
41
+ | :? Expr<single> as e -> parseExpression f e
42
+ | :? Expr<byte> as e -> parseExpression f e
43
+ | :? Expr<System.DateTime> as e -> parseExpression f e
44
+ #endif
45
+
46
+ | :? Option<string> as o -> parseOption f o
47
+ | :? Option<int> as o -> parseOption f o
48
+ | :? Option<float> as o -> parseOption f o
49
+ | :? Option<single> as o -> parseOption f o
50
+ | :? Option<byte> as o -> parseOption f o
51
+ | :? Option<System.DateTime> as o -> parseOption f o
52
+
53
+ | :? Result<string,exn> as r -> parseResult f r
54
+ | :? Result<int,exn> as r -> parseResult f r
55
+ | :? Result<float,exn> as r -> parseResult f r
56
+ | :? Result<single,exn> as r -> parseResult f r
57
+ | :? Result<byte,exn> as r -> parseResult f r
58
+ | :? Result<System.DateTime,exn> as r -> parseResult f r
59
+
60
+ | v -> failwith $"Could not parse value {v}. Only string,int,float,single,byte,System.DateTime allowed."
61
+
62
+ /// Required value operator
63
+ ///
64
+ /// If expression does fail, returns a missing required value
65
+ let inline (~+.) (v : 'T) : SheetEntity<Value> =
66
+ let f = fun s -> NoneRequired([message s])
67
+ parseAny f v
68
+
69
+ /// Optional value operator
70
+ ///
71
+ /// If expression does fail, returns a missing optional value
72
+ let inline (~-.) (v : 'T) : SheetEntity<Value> =
73
+ let f = fun s -> NoneOptional([message s])
74
+ parseAny f v
75
+
76
+ /// Required value operator
77
+ ///
78
+ /// If expression does fail, returns a missing required value
79
+ let inline (+.) (f : 'T -> 'U) (v : 'T) : SheetEntity<Value> =
80
+ try
81
+ f v
82
+ |> DataType.InferCellValue
83
+ |> SheetEntity.some
84
+ with
85
+ | err -> NoneRequired([Exception err])
86
+
87
+ /// Optional value operator
88
+ ///
89
+ /// If expression does fail, returns a missing optional value
90
+ let inline (-.) (f : 'T -> 'U) (v : 'T) : SheetEntity<Value> =
91
+ try
92
+ f v
93
+ |> DataType.InferCellValue
94
+ |> SheetEntity.some
95
+ with
96
+ | err -> NoneOptional([Exception err])
97
+
98
+ /// Optional operators for cell, row, column and sheet expressions
99
+ let optional = OptionalSource()
100
+
101
+ /// Required operators for cell, row, column and sheet expressions
102
+ let required = RequiredSource()
@@ -0,0 +1,6 @@
1
+ import { RequiredSource$1_$ctor_2B595, OptionalSource$1_$ctor_2B595 } from "./Expression.fs.js";
2
+
3
+ export const optional = OptionalSource$1_$ctor_2B595(void 0);
4
+
5
+ export const required = RequiredSource$1_$ctor_2B595(void 0);
6
+
@@ -0,0 +1,200 @@
1
+ namespace FsSpreadsheet.DSL
2
+
3
+ open FsSpreadsheet
4
+ open FsSpreadsheet.DSL
5
+
6
+ open Microsoft.FSharp.Quotations
7
+ open Expression
8
+
9
+ type RowBuilder() =
10
+
11
+ static member Empty : SheetEntity<RowElement list> = SheetEntity.some []
12
+
13
+ // -- Computation Expression methods -->
14
+ #if FABLE_COMPILER
15
+ #else
16
+ member _.Quote (quotation: Quotations.Expr<'T>) =
17
+ quotation
18
+ #endif
19
+
20
+ member inline this.Zero() : SheetEntity<RowElement list> = SheetEntity.some []
21
+
22
+ member this.SignMessages (messages : Message list) : Message list =
23
+ messages
24
+ |> List.map (fun m -> m.MapText (sprintf "In Row: %s"))
25
+
26
+ member inline this.Yield(n: RequiredSource<unit>) =
27
+ n
28
+
29
+ member inline this.Yield(n: OptionalSource<unit>) =
30
+ n
31
+
32
+ member inline _.Yield(c: RowElement) =
33
+ SheetEntity.some [c]
34
+
35
+ member inline _.Yield(cs: RowElement list) =
36
+ SheetEntity.some cs
37
+
38
+ member inline _.Yield(c: SheetEntity<RowElement>) =
39
+ match c with
40
+ | Some (re,messages) ->
41
+ SheetEntity.Some ([re], messages)
42
+ | NoneOptional messages ->
43
+ NoneOptional messages
44
+ | NoneRequired messages ->
45
+ NoneRequired messages
46
+
47
+ member inline _.Yield(cs: SheetEntity<RowElement list>) =
48
+ cs
49
+
50
+ member inline _.Yield(c: SheetEntity<CellElement>) =
51
+ match c with
52
+ | Some ((v,Option.Some i),messages) ->
53
+ SheetEntity.Some ([RowElement.IndexedCell (Col i,v)], messages)
54
+ | Some ((v,None),messages) ->
55
+ SheetEntity.Some ([RowElement.UnindexedCell v], messages)
56
+ | NoneOptional messages ->
57
+ NoneOptional messages
58
+ | NoneRequired messages ->
59
+ NoneRequired messages
60
+
61
+ member inline _.Yield(c: CellElement) =
62
+ let re =
63
+ match c with
64
+ | v, Option.Some i -> RowElement.IndexedCell (Col i, v)
65
+ | v, None -> RowElement.UnindexedCell v
66
+ SheetEntity.some [re]
67
+
68
+ member inline _.Yield(c: SheetEntity<Value>) =
69
+ match c with
70
+ | Some ((v),messages) ->
71
+ SheetEntity.Some ([RowElement.UnindexedCell v], messages)
72
+ | NoneOptional messages ->
73
+ NoneOptional messages
74
+ | NoneRequired messages ->
75
+ NoneRequired messages
76
+
77
+ member inline this.Yield(cs: seq<SheetEntity<CellElement>>) : SheetEntity<RowElement list>=
78
+ cs
79
+ |> Seq.map this.Yield
80
+ |> Seq.reduce (fun a b -> this.Combine(a,b))
81
+
82
+ member inline _.Yield(c: Value) =
83
+ SheetEntity.some [RowElement.UnindexedCell c]
84
+
85
+ member inline this.Yield(n: 'a when 'a :> System.IFormattable) =
86
+ let v = DataType.InferCellValue n
87
+ SheetEntity.some [RowElement.UnindexedCell v]
88
+
89
+ member inline _.Yield(s : string) =
90
+ let v = DataType.InferCellValue s
91
+ SheetEntity.some [RowElement.UnindexedCell v]
92
+
93
+ member inline this.YieldFrom(ns: SheetEntity<RowElement list> seq) =
94
+ ns
95
+ |> Seq.fold (fun (state : SheetEntity<RowElement list>) we ->
96
+ this.Combine(state,we)
97
+
98
+ ) RowBuilder.Empty
99
+
100
+ member inline this.For(vs : seq<'T>, f : 'T -> SheetEntity<RowElement list>) =
101
+ vs
102
+ |> Seq.map f
103
+ |> this.YieldFrom
104
+
105
+ member this.Combine(wx1: SheetEntity<RowElement list>, wx2: SheetEntity<RowElement list>) : SheetEntity<RowElement list>=
106
+ match wx1,wx2 with
107
+ // If both contain content, combine the content
108
+ | Some (l1,messages1), Some (l2,messages2) ->
109
+ Some (List.append l1 l2
110
+ ,List.append messages1 messages2)
111
+
112
+ // If any of the two is missing and was required, return a missing required
113
+ | _, NoneRequired messages2 ->
114
+ NoneRequired (List.append wx1.Messages messages2)
115
+
116
+ | NoneRequired messages1, _ ->
117
+ NoneRequired (List.append messages1 wx2.Messages)
118
+
119
+ // If only one of the two is missing and was optional, take the content of the functioning one
120
+ | Some (f1,messages1), NoneOptional messages2 ->
121
+ Some (f1
122
+ ,List.append messages1 messages2)
123
+
124
+ | NoneOptional messages1, Some (f2,messages2) ->
125
+ Some (f2
126
+ ,List.append messages1 messages2)
127
+
128
+ // If both are missing and were optional, return a missing optional
129
+ | NoneOptional messages1, NoneOptional messages2 ->
130
+ NoneOptional (List.append messages1 messages2)
131
+
132
+ member this.Combine(wx1: RequiredSource<unit>, wx2: SheetEntity<RowElement list>) =
133
+ RequiredSource (wx2)
134
+
135
+ member this.Combine(wx1: SheetEntity<RowElement list>, wx2: RequiredSource<unit>) =
136
+ RequiredSource (wx1)
137
+
138
+ member this.Combine(wx1: OptionalSource<unit>, wx2: SheetEntity<RowElement list>) =
139
+ OptionalSource wx2
140
+
141
+ member this.Combine(wx1: SheetEntity<RowElement list>, wx2: OptionalSource<unit>) =
142
+ OptionalSource wx1
143
+
144
+ member this.Combine(wx1: RequiredSource<SheetEntity<RowElement list>>, wx2: SheetEntity<RowElement list>) =
145
+ this.Combine(wx1.Source,wx2)
146
+ |> RequiredSource
147
+
148
+ member this.Combine(wx1: SheetEntity<RowElement list>, wx2: RequiredSource<SheetEntity<RowElement list>>) =
149
+ this.Combine(wx1,wx2.Source)
150
+ |> RequiredSource
151
+
152
+ member this.Combine(wx1: OptionalSource<SheetEntity<RowElement list>>, wx2: SheetEntity<RowElement list>) =
153
+ this.Combine(wx1.Source,wx2)
154
+ |> OptionalSource
155
+
156
+ member this.Combine(wx1: SheetEntity<RowElement list>, wx2: OptionalSource<SheetEntity<RowElement list>>) =
157
+ this.Combine(wx1,wx2.Source)
158
+ |> OptionalSource
159
+
160
+ #if FABLE_COMPILER
161
+ member inline this.Run(children: OptionalSource<SheetEntity<RowElement list>>) =
162
+ try
163
+ match children.Source with
164
+ | NoneRequired m -> NoneOptional m
165
+ | se -> se
166
+ with
167
+ | err -> NoneOptional [message err.Message]
168
+
169
+ member inline this.Run(children: RequiredSource<SheetEntity<RowElement list>>) =
170
+ try
171
+ match children.Source with
172
+ | NoneOptional m -> NoneRequired m
173
+ | se -> se
174
+ with
175
+ | err -> NoneOptional [message err.Message]
176
+
177
+ member inline this.Run(children: SheetEntity<RowElement list>) =
178
+ children.Value
179
+ #else
180
+ member inline this.Run(children: Expr<OptionalSource<SheetEntity<RowElement list>>>) =
181
+ try
182
+ match (eval<OptionalSource<SheetEntity<RowElement list>>> children).Source with
183
+ | NoneRequired m -> NoneOptional m
184
+ | se -> se
185
+ with
186
+ | err -> NoneOptional [message err.Message]
187
+
188
+ member inline this.Run(children: Expr<RequiredSource<SheetEntity<RowElement list>>>) =
189
+ try
190
+ match (eval<RequiredSource<SheetEntity<RowElement list>>> children).Source with
191
+ | NoneOptional m -> NoneRequired m
192
+ | se -> se
193
+ with
194
+ | err -> NoneOptional [message err.Message]
195
+
196
+ member inline this.Run(children: Expr<SheetEntity<RowElement list>>) =
197
+ (eval<SheetEntity<RowElement list>> children).Value
198
+ #endif
199
+
200
+ member inline _.Delay(n: unit -> 'T) = n()