@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.
- package/ARCtrl.js +257 -0
- package/Contract/Contract.js +95 -0
- package/Contracts/Contracts.ARCtrl.js +35 -0
- package/Contracts/Contracts.ArcAssay.js +65 -0
- package/Contracts/Contracts.ArcInvestigation.js +58 -0
- package/Contracts/Contracts.ArcStudy.js +65 -0
- package/Contracts/Contracts.Git.js +91 -0
- package/FileSystem/Commit.js +18 -0
- package/FileSystem/DefaultGitignore.js +3 -0
- package/FileSystem/FileSystem.js +53 -0
- package/FileSystem/FileSystemTree.js +223 -0
- package/FileSystem/Path.js +38 -0
- package/FileSystemTree.js +51 -0
- package/ISA/ISA/ArcTypes/ArcTable.js +744 -0
- package/ISA/ISA/ArcTypes/ArcTableAux.js +1142 -0
- package/ISA/ISA/ArcTypes/ArcTables.js +380 -0
- package/ISA/ISA/ArcTypes/ArcTypes.js +2018 -0
- package/ISA/ISA/ArcTypes/CompositeCell.js +180 -0
- package/ISA/ISA/ArcTypes/CompositeColumn.js +42 -0
- package/ISA/ISA/ArcTypes/CompositeHeader.js +358 -0
- package/ISA/ISA/ArcTypes/CompositeRow.js +111 -0
- package/ISA/ISA/ArcTypes/IdentifierSetters.js +26 -0
- package/ISA/ISA/Builder/Types.js +243 -0
- package/ISA/ISA/Fable.js +50 -0
- package/ISA/ISA/Helper.js +326 -0
- package/ISA/ISA/Identifier.js +76 -0
- package/ISA/ISA/JsonTypes/AnnotationValue.js +56 -0
- package/ISA/ISA/JsonTypes/Assay.js +620 -0
- package/ISA/ISA/JsonTypes/AssayMaterials.js +39 -0
- package/ISA/ISA/JsonTypes/ColumnIndex.js +246 -0
- package/ISA/ISA/JsonTypes/Comment.js +58 -0
- package/ISA/ISA/JsonTypes/CommentList.js +139 -0
- package/ISA/ISA/JsonTypes/Component.js +158 -0
- package/ISA/ISA/JsonTypes/Data.js +55 -0
- package/ISA/ISA/JsonTypes/DataFile.js +68 -0
- package/ISA/ISA/JsonTypes/Factor.js +128 -0
- package/ISA/ISA/JsonTypes/FactorValue.js +109 -0
- package/ISA/ISA/JsonTypes/Investigation.js +204 -0
- package/ISA/ISA/JsonTypes/Material.js +66 -0
- package/ISA/ISA/JsonTypes/MaterialAttribute.js +101 -0
- package/ISA/ISA/JsonTypes/MaterialAttributeValue.js +126 -0
- package/ISA/ISA/JsonTypes/MaterialType.js +41 -0
- package/ISA/ISA/JsonTypes/OntologyAnnotation.js +219 -0
- package/ISA/ISA/JsonTypes/OntologySourceReference.js +85 -0
- package/ISA/ISA/JsonTypes/Person.js +137 -0
- package/ISA/ISA/JsonTypes/Process.js +401 -0
- package/ISA/ISA/JsonTypes/ProcessInput.js +297 -0
- package/ISA/ISA/JsonTypes/ProcessOutput.js +263 -0
- package/ISA/ISA/JsonTypes/ProcessParameterValue.js +129 -0
- package/ISA/ISA/JsonTypes/ProcessSequence.js +255 -0
- package/ISA/ISA/JsonTypes/Protocol.js +277 -0
- package/ISA/ISA/JsonTypes/ProtocolParameter.js +101 -0
- package/ISA/ISA/JsonTypes/Publication.js +105 -0
- package/ISA/ISA/JsonTypes/Sample.js +71 -0
- package/ISA/ISA/JsonTypes/Source.js +54 -0
- package/ISA/ISA/JsonTypes/Study.js +942 -0
- package/ISA/ISA/JsonTypes/StudyMaterials.js +45 -0
- package/ISA/ISA/JsonTypes/URI.js +19 -0
- package/ISA/ISA/JsonTypes/Value.js +210 -0
- package/ISA/ISA/Regex.js +588 -0
- package/ISA/ISA.Json/Assay.js +123 -0
- package/ISA/ISA.Json/Comment.js +84 -0
- package/ISA/ISA.Json/ConverterOptions.js +33 -0
- package/ISA/ISA.Json/Data.js +271 -0
- package/ISA/ISA.Json/Decode.js +46 -0
- package/ISA/ISA.Json/Factor.js +194 -0
- package/ISA/ISA.Json/GEncode.js +15 -0
- package/ISA/ISA.Json/Investigation.js +132 -0
- package/ISA/ISA.Json/Material.js +233 -0
- package/ISA/ISA.Json/Ontology.js +204 -0
- package/ISA/ISA.Json/Person.js +204 -0
- package/ISA/ISA.Json/Process.js +291 -0
- package/ISA/ISA.Json/Protocol.js +242 -0
- package/ISA/ISA.Json/Publication.js +92 -0
- package/ISA/ISA.Json/Study.js +230 -0
- package/ISA/ISA.Json/Validation/Fable.js +69 -0
- package/ISA/ISA.Json/Validation/JsonSchemaValidation.js +88 -0
- package/ISA/ISA.Json/Validation/ValidationResult.js +45 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/ArcTable.js +137 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeCell.js +78 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeColumn.js +59 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeHeader.js +478 -0
- package/ISA/ISA.Spreadsheet/ArcAssay.js +150 -0
- package/ISA/ISA.Spreadsheet/ArcInvestigation.js +314 -0
- package/ISA/ISA.Spreadsheet/ArcStudy.js +67 -0
- package/ISA/ISA.Spreadsheet/CollectionAux.js +128 -0
- package/ISA/ISA.Spreadsheet/Metadata/Assays.js +81 -0
- package/ISA/ISA.Spreadsheet/Metadata/Comment.js +60 -0
- package/ISA/ISA.Spreadsheet/Metadata/Contacts.js +104 -0
- package/ISA/ISA.Spreadsheet/Metadata/Conversions.js +180 -0
- package/ISA/ISA.Spreadsheet/Metadata/DesignDescriptors.js +27 -0
- package/ISA/ISA.Spreadsheet/Metadata/Factors.js +85 -0
- package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +65 -0
- package/ISA/ISA.Spreadsheet/Metadata/OntologySourceReference.js +73 -0
- package/ISA/ISA.Spreadsheet/Metadata/Protocols.js +116 -0
- package/ISA/ISA.Spreadsheet/Metadata/Publication.js +96 -0
- package/ISA/ISA.Spreadsheet/Metadata/SparseTable.js +451 -0
- package/ISA/ISA.Spreadsheet/Metadata/Study.js +260 -0
- package/README.md +277 -0
- package/SemVer.js +60 -0
- package/Templates/Templates.Json.js +40 -0
- package/Templates/Templates.Spreadsheet.js +315 -0
- package/Templates/Templates.js +179 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs +387 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs.js +240 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs +725 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs.js +522 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs +195 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs.js +208 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs +209 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs.js +137 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs +61 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs.js +62 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs +24 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs.js +56 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs +102 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs.js +6 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs +200 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs.js +137 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs +139 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs.js +116 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs +120 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs.js +120 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs +229 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs.js +421 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs +151 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs.js +277 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs +114 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs.js +104 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs +177 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs.js +249 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs +200 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs.js +125 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs +202 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs.js +135 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsSpreadsheet.fableproj +58 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs +183 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js +138 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs +628 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js +398 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs +19 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs.js +41 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs +222 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs.js +235 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs +93 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs.js +91 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs +65 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs.js +74 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs +22 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs.js +40 -0
- package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs +249 -0
- package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs.js +325 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs +455 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs.js +310 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs +140 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs.js +173 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs +6 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs.js +17 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
- package/fable_modules/Thoth.Json.10.1.0/Decode.fs +1366 -0
- package/fable_modules/Thoth.Json.10.1.0/Decode.fs.js +1798 -0
- package/fable_modules/Thoth.Json.10.1.0/Encode.fs +621 -0
- package/fable_modules/Thoth.Json.10.1.0/Encode.fs.js +472 -0
- package/fable_modules/Thoth.Json.10.1.0/Extra.fs +31 -0
- package/fable_modules/Thoth.Json.10.1.0/Extra.fs.js +8 -0
- package/fable_modules/Thoth.Json.10.1.0/Thoth.Json.fableproj +30 -0
- package/fable_modules/Thoth.Json.10.1.0/Types.fs +59 -0
- package/fable_modules/Thoth.Json.10.1.0/Types.fs.js +98 -0
- package/fable_modules/Thoth.Json.10.1.0/obj/Release/netstandard2.0/Thoth.Json.AssemblyInfo.fs +19 -0
- package/fable_modules/Thoth.Json.10.1.0/package.json +5 -0
- package/fable_modules/fable-library.4.1.4/Array.d.ts +120 -0
- package/fable_modules/fable-library.4.1.4/Array.js +1204 -0
- package/fable_modules/fable-library.4.1.4/Async.d.ts +32 -0
- package/fable_modules/fable-library.4.1.4/Async.js +158 -0
- package/fable_modules/fable-library.4.1.4/AsyncBuilder.d.ts +59 -0
- package/fable_modules/fable-library.4.1.4/AsyncBuilder.js +183 -0
- package/fable_modules/fable-library.4.1.4/BigInt.d.ts +115 -0
- package/fable_modules/fable-library.4.1.4/BigInt.js +282 -0
- package/fable_modules/fable-library.4.1.4/BitConverter.d.ts +27 -0
- package/fable_modules/fable-library.4.1.4/BitConverter.js +138 -0
- package/fable_modules/fable-library.4.1.4/Boolean.d.ts +3 -0
- package/fable_modules/fable-library.4.1.4/Boolean.js +21 -0
- package/fable_modules/fable-library.4.1.4/Char.d.ts +65 -0
- package/fable_modules/fable-library.4.1.4/Char.js +169 -0
- package/fable_modules/fable-library.4.1.4/Choice.d.ts +138 -0
- package/fable_modules/fable-library.4.1.4/Choice.js +227 -0
- package/fable_modules/fable-library.4.1.4/Date.d.ts +70 -0
- package/fable_modules/fable-library.4.1.4/Date.js +451 -0
- package/fable_modules/fable-library.4.1.4/DateOffset.d.ts +63 -0
- package/fable_modules/fable-library.4.1.4/DateOffset.js +268 -0
- package/fable_modules/fable-library.4.1.4/DateOnly.d.ts +18 -0
- package/fable_modules/fable-library.4.1.4/DateOnly.js +124 -0
- package/fable_modules/fable-library.4.1.4/Decimal.d.ts +45 -0
- package/fable_modules/fable-library.4.1.4/Decimal.js +212 -0
- package/fable_modules/fable-library.4.1.4/Double.d.ts +11 -0
- package/fable_modules/fable-library.4.1.4/Double.js +46 -0
- package/fable_modules/fable-library.4.1.4/Encoding.d.ts +12 -0
- package/fable_modules/fable-library.4.1.4/Encoding.js +173 -0
- package/fable_modules/fable-library.4.1.4/Event.d.ts +31 -0
- package/fable_modules/fable-library.4.1.4/Event.js +93 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Collections.d.ts +7 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Collections.js +27 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Core.d.ts +17 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Core.js +69 -0
- package/fable_modules/fable-library.4.1.4/Global.d.ts +24 -0
- package/fable_modules/fable-library.4.1.4/Global.js +8 -0
- package/fable_modules/fable-library.4.1.4/Guid.d.ts +10 -0
- package/fable_modules/fable-library.4.1.4/Guid.js +142 -0
- package/fable_modules/fable-library.4.1.4/Int32.d.ts +28 -0
- package/fable_modules/fable-library.4.1.4/Int32.js +135 -0
- package/fable_modules/fable-library.4.1.4/List.d.ts +143 -0
- package/fable_modules/fable-library.4.1.4/List.js +1273 -0
- package/fable_modules/fable-library.4.1.4/Long.d.ts +3 -0
- package/fable_modules/fable-library.4.1.4/Long.js +46 -0
- package/fable_modules/fable-library.4.1.4/MailboxProcessor.d.ts +25 -0
- package/fable_modules/fable-library.4.1.4/MailboxProcessor.js +93 -0
- package/fable_modules/fable-library.4.1.4/Map.d.ts +178 -0
- package/fable_modules/fable-library.4.1.4/Map.js +1396 -0
- package/fable_modules/fable-library.4.1.4/MapUtil.d.ts +10 -0
- package/fable_modules/fable-library.4.1.4/MapUtil.js +112 -0
- package/fable_modules/fable-library.4.1.4/MutableMap.d.ts +52 -0
- package/fable_modules/fable-library.4.1.4/MutableMap.js +326 -0
- package/fable_modules/fable-library.4.1.4/MutableSet.d.ts +39 -0
- package/fable_modules/fable-library.4.1.4/MutableSet.js +232 -0
- package/fable_modules/fable-library.4.1.4/Native.d.ts +2 -0
- package/fable_modules/fable-library.4.1.4/Native.js +8 -0
- package/fable_modules/fable-library.4.1.4/Numeric.d.ts +19 -0
- package/fable_modules/fable-library.4.1.4/Numeric.js +71 -0
- package/fable_modules/fable-library.4.1.4/Observable.d.ts +32 -0
- package/fable_modules/fable-library.4.1.4/Observable.js +113 -0
- package/fable_modules/fable-library.4.1.4/Option.d.ts +28 -0
- package/fable_modules/fable-library.4.1.4/Option.js +96 -0
- package/fable_modules/fable-library.4.1.4/README.md +3 -0
- package/fable_modules/fable-library.4.1.4/Random.d.ts +37 -0
- package/fable_modules/fable-library.4.1.4/Random.js +170 -0
- package/fable_modules/fable-library.4.1.4/Range.d.ts +12 -0
- package/fable_modules/fable-library.4.1.4/Range.js +45 -0
- package/fable_modules/fable-library.4.1.4/Reflection.d.ts +119 -0
- package/fable_modules/fable-library.4.1.4/Reflection.js +461 -0
- package/fable_modules/fable-library.4.1.4/RegExp.d.ts +10 -0
- package/fable_modules/fable-library.4.1.4/RegExp.js +132 -0
- package/fable_modules/fable-library.4.1.4/Seq.d.ts +165 -0
- package/fable_modules/fable-library.4.1.4/Seq.js +1379 -0
- package/fable_modules/fable-library.4.1.4/Seq2.d.ts +18 -0
- package/fable_modules/fable-library.4.1.4/Seq2.js +111 -0
- package/fable_modules/fable-library.4.1.4/Set.d.ts +190 -0
- package/fable_modules/fable-library.4.1.4/Set.js +1789 -0
- package/fable_modules/fable-library.4.1.4/String.d.ts +49 -0
- package/fable_modules/fable-library.4.1.4/String.js +540 -0
- package/fable_modules/fable-library.4.1.4/System.Collections.Generic.d.ts +71 -0
- package/fable_modules/fable-library.4.1.4/System.Collections.Generic.js +307 -0
- package/fable_modules/fable-library.4.1.4/System.Text.d.ts +30 -0
- package/fable_modules/fable-library.4.1.4/System.Text.js +110 -0
- package/fable_modules/fable-library.4.1.4/SystemException.d.ts +5 -0
- package/fable_modules/fable-library.4.1.4/SystemException.js +5 -0
- package/fable_modules/fable-library.4.1.4/TimeOnly.d.ts +15 -0
- package/fable_modules/fable-library.4.1.4/TimeOnly.js +122 -0
- package/fable_modules/fable-library.4.1.4/TimeSpan.d.ts +34 -0
- package/fable_modules/fable-library.4.1.4/TimeSpan.js +177 -0
- package/fable_modules/fable-library.4.1.4/Timer.d.ts +19 -0
- package/fable_modules/fable-library.4.1.4/Timer.js +67 -0
- package/fable_modules/fable-library.4.1.4/Types.d.ts +58 -0
- package/fable_modules/fable-library.4.1.4/Types.js +208 -0
- package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.d.ts +2 -0
- package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.js +4 -0
- package/fable_modules/fable-library.4.1.4/Uri.d.ts +29 -0
- package/fable_modules/fable-library.4.1.4/Uri.js +142 -0
- package/fable_modules/fable-library.4.1.4/Util.d.ts +187 -0
- package/fable_modules/fable-library.4.1.4/Util.js +662 -0
- package/fable_modules/fable-library.4.1.4/lib/big.d.ts +338 -0
- package/fable_modules/fable-library.4.1.4/lib/big.js +826 -0
- package/fable_modules/fable-library.4.1.4/package.json +23 -0
- package/fable_modules/project_cracked.json +1 -0
- 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,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()
|