@nfdi4plants/arctrl 2.0.0-beta.1 → 2.0.0-beta.2
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/ARC.js +1 -1
- package/Spreadsheet/AnnotationTable/ArcTable.js +5 -5
- package/Spreadsheet/AnnotationTable/CompositeColumn.js +1 -1
- package/Spreadsheet/ArcAssay.js +2 -2
- package/Spreadsheet/ArcInvestigation.js +2 -2
- package/Spreadsheet/ArcStudy.js +2 -2
- package/Spreadsheet/DataMap.js +1 -1
- package/Spreadsheet/DataMapTable/DataMapColumn.js +1 -1
- package/Spreadsheet/DataMapTable/DataMapHeader.js +1 -1
- package/Spreadsheet/DataMapTable/DataMapTable.js +5 -5
- package/Spreadsheet/Metadata/SparseTable.js +7 -7
- package/Spreadsheet/Template.js +2 -2
- package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsSpreadsheet.fableproj +1 -0
- package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorksheet.fs +4 -0
- package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorksheet.fs.js +9 -1
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Cell.fs +45 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Cell.fs.js +38 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Column.fs +28 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Column.fs.js +24 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Row.fs +28 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Row.fs.js +24 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Workbook.fs +33 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Workbook.fs.js +35 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Worksheet.fs +148 -0
- package/fable_modules/FsSpreadsheet.6.2.0/Json/Worksheet.fs.js +109 -0
- package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +3 -3
- package/fable_modules/project_cracked.json +1 -1
- package/package.json +1 -1
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Cell.fs +0 -23
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Cell.fs.js +0 -21
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Row.fs +0 -23
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Row.fs.js +0 -19
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Workbook.fs +0 -20
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Workbook.fs.js +0 -21
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Worksheet.fs +0 -49
- package/fable_modules/FsSpreadsheet.6.1.2/Json/Worksheet.fs.js +0 -44
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCell.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCell.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCellsCollection.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCellsCollection.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/CellBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/CellBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/ColumnBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/ColumnBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/DSL.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/DSL.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Expression.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Expression.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Operators.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Operators.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/RowBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/RowBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/SheetBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/SheetBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/TableBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/TableBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Transform.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Transform.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Types.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Types.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/WorkbookBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/WorkbookBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsAddress.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsAddress.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsColumn.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsColumn.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsRow.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsRow.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorkbook.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorkbook.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Table.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Table.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Value.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Value.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRange.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRange.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeAddress.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeAddress.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeBase.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeBase.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeColumn.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeColumn.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeRow.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeRow.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/SheetBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/SheetBuilder.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTable.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTable.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableField.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableField.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableRow.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableRow.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
package/ARC.js
CHANGED
|
@@ -22,7 +22,7 @@ import { ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_353D0DB7 } from "./Spread
|
|
|
22
22
|
import { DataMap__get_StaticHash, DataMap__set_StaticHash_Z524259A4 } from "./Core/Table/DataMap.js";
|
|
23
23
|
import { toFsWorkbook as toFsWorkbook_1 } from "./Spreadsheet/DataMap.js";
|
|
24
24
|
import { toFsWorkbook as toFsWorkbook_2 } from "./Spreadsheet/ArcAssay.js";
|
|
25
|
-
import { Dictionary_tryGet } from "./fable_modules/FsSpreadsheet.6.
|
|
25
|
+
import { Dictionary_tryGet } from "./fable_modules/FsSpreadsheet.6.2.0/Cells/FsCellsCollection.fs.js";
|
|
26
26
|
import { Clone_createCloneContract_5000466F, Init_createAddRemoteContract_Z721C83C5, gitignoreContract, gitattributesContract, Init_createInitContract_6DFDD678 } from "./Contract/Git.js";
|
|
27
27
|
import { FSharpSet__Contains, ofSeq, unionMany } from "./fable_modules/fable-library-js.4.16.0/Set.js";
|
|
28
28
|
import { ofSeq as ofSeq_1 } from "./fable_modules/fable-library-js.4.16.0/Map.js";
|
|
@@ -3,13 +3,13 @@ import { item, map as map_1 } from "../../fable_modules/fable-library-js.4.16.0/
|
|
|
3
3
|
import { singleton as singleton_1, collect, map as map_2, delay, toArray as toArray_1, tryFind } from "../../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
4
4
|
import { toStringCellColumns, fixDeprecatedIOHeader, fromStringCellColumns } from "./CompositeColumn.js";
|
|
5
5
|
import { printf, toFail } from "../../fable_modules/fable-library-js.4.16.0/String.js";
|
|
6
|
-
import { Dictionary_tryGet, FsCellsCollection__TryGetCell_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.
|
|
6
|
+
import { Dictionary_tryGet, FsCellsCollection__TryGetCell_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.2.0/Cells/FsCellsCollection.fs.js";
|
|
7
7
|
import { rangeDouble } from "../../fable_modules/fable-library-js.4.16.0/Range.js";
|
|
8
|
-
import { FsAddress_$ctor_Z37302880, FsAddress__get_ColumnNumber, FsAddress__get_RowNumber } from "../../fable_modules/FsSpreadsheet.6.
|
|
9
|
-
import { FsRangeAddress_$ctor_7E77A4A0, FsRangeAddress__get_LastAddress } from "../../fable_modules/FsSpreadsheet.6.
|
|
10
|
-
import { FsRangeBase__Cell_Z3407A44B, FsRangeBase__get_RangeAddress } from "../../fable_modules/FsSpreadsheet.6.
|
|
8
|
+
import { FsAddress_$ctor_Z37302880, FsAddress__get_ColumnNumber, FsAddress__get_RowNumber } from "../../fable_modules/FsSpreadsheet.6.2.0/FsAddress.fs.js";
|
|
9
|
+
import { FsRangeAddress_$ctor_7E77A4A0, FsRangeAddress__get_LastAddress } from "../../fable_modules/FsSpreadsheet.6.2.0/Ranges/FsRangeAddress.fs.js";
|
|
10
|
+
import { FsRangeBase__Cell_Z3407A44B, FsRangeBase__get_RangeAddress } from "../../fable_modules/FsSpreadsheet.6.2.0/Ranges/FsRangeBase.fs.js";
|
|
11
11
|
import { ArcTable } from "../../Core/Table/ArcTable.js";
|
|
12
|
-
import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.6.
|
|
12
|
+
import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.6.2.0/FsWorksheet.fs.js";
|
|
13
13
|
import { comparePrimitives } from "../../fable_modules/fable-library-js.4.16.0/Util.js";
|
|
14
14
|
import { addToDict } from "../../fable_modules/fable-library-js.4.16.0/MapUtil.js";
|
|
15
15
|
|
|
@@ -7,7 +7,7 @@ import { rangeDouble } from "../../fable_modules/fable-library-js.4.16.0/Range.j
|
|
|
7
7
|
import { CompositeColumn } from "../../Core/Table/CompositeColumn.js";
|
|
8
8
|
import { toStringCells as toStringCells_1 } from "./CompositeCell.js";
|
|
9
9
|
import { map as map_2, singleton as singleton_1, ofArray } from "../../fable_modules/fable-library-js.4.16.0/List.js";
|
|
10
|
-
import { FsCell } from "../../fable_modules/FsSpreadsheet.6.
|
|
10
|
+
import { FsCell } from "../../fable_modules/FsSpreadsheet.6.2.0/Cells/FsCell.fs.js";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Checks if the column header is a deprecated IO Header. If so, fixes it.
|
package/Spreadsheet/ArcAssay.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.
|
|
1
|
+
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorksheet.fs.js";
|
|
2
2
|
import { iterate, isEmpty as isEmpty_1, choose, tryHead, head, exists, map, singleton, append, delay, iterateIndexed } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
3
3
|
import { SparseRowModule_tryGetValueAt, SparseRowModule_fromFsRow, SparseRowModule_fromValues, SparseRowModule_writeToSheet } from "./Metadata/SparseTable.js";
|
|
4
4
|
import { fromRows as fromRows_1, toRows as toRows_1 } from "./Metadata/Assays.js";
|
|
@@ -10,7 +10,7 @@ import { ArcAssay } from "../Core/ArcTypes.js";
|
|
|
10
10
|
import { createMissingIdentifier } from "../Core/Helper/Identifier.js";
|
|
11
11
|
import { defaultArg } from "../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
12
12
|
import { toFsWorksheet, tryFromFsWorksheet } from "./AnnotationTable/ArcTable.js";
|
|
13
|
-
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.
|
|
13
|
+
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorkbook.fs.js";
|
|
14
14
|
|
|
15
15
|
export function toMetadataSheet(assay) {
|
|
16
16
|
let assay_1;
|
|
@@ -17,8 +17,8 @@ import { toRows as toRows_4, fromRows as fromRows_4 } from "./Metadata/Study.js"
|
|
|
17
17
|
import { iterateIndexed, map as map_1, toList, collect, singleton, append as append_1, delay } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
18
18
|
import { tryFind, ofList } from "../fable_modules/fable-library-js.4.16.0/Map.js";
|
|
19
19
|
import { printf, toFail } from "../fable_modules/fable-library-js.4.16.0/String.js";
|
|
20
|
-
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.
|
|
21
|
-
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.
|
|
20
|
+
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorksheet.fs.js";
|
|
21
|
+
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorkbook.fs.js";
|
|
22
22
|
|
|
23
23
|
export class InvestigationInfo extends Record {
|
|
24
24
|
constructor(Identifier, Title, Description, SubmissionDate, PublicReleaseDate, Comments) {
|
package/Spreadsheet/ArcStudy.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.
|
|
1
|
+
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorksheet.fs.js";
|
|
2
2
|
import { map, append, iterateIndexed } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
3
3
|
import { SparseRowModule_fromFsRow, SparseRowModule_fromValues, SparseRowModule_writeToSheet } from "./Metadata/SparseTable.js";
|
|
4
4
|
import { fromRows as fromRows_1, toRows } from "./Metadata/Study.js";
|
|
@@ -10,7 +10,7 @@ import { createMissingIdentifier } from "../Core/Helper/Identifier.js";
|
|
|
10
10
|
import { empty } from "../fable_modules/fable-library-js.4.16.0/List.js";
|
|
11
11
|
import { ResizeArray_iter, ResizeArray_isEmpty, ResizeArray_choose } from "../Core/Helper/Collections.js";
|
|
12
12
|
import { toFsWorksheet, tryFromFsWorksheet } from "./AnnotationTable/ArcTable.js";
|
|
13
|
-
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.
|
|
13
|
+
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorkbook.fs.js";
|
|
14
14
|
|
|
15
15
|
export function ArcStudy_toMetadataSheet(study, assays) {
|
|
16
16
|
let source_1;
|
package/Spreadsheet/DataMap.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { printf, toFail } from "../fable_modules/fable-library-js.4.16.0/String.js";
|
|
2
2
|
import { tryPick } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
3
3
|
import { toFsWorksheet, tryFromFsWorksheet } from "./DataMapTable/DataMapTable.js";
|
|
4
|
-
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.
|
|
4
|
+
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorkbook.fs.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Reads an assay from a spreadsheet
|
|
@@ -4,7 +4,7 @@ import { tryFind, singleton as singleton_1, append, delay, map as map_1, collect
|
|
|
4
4
|
import { distinct } from "../../fable_modules/fable-library-js.4.16.0/Seq2.js";
|
|
5
5
|
import { bind, defaultArg } from "../../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
6
6
|
import { stringHash } from "../../fable_modules/fable-library-js.4.16.0/Util.js";
|
|
7
|
-
import { FsCell } from "../../fable_modules/FsSpreadsheet.6.
|
|
7
|
+
import { FsCell } from "../../fable_modules/FsSpreadsheet.6.2.0/Cells/FsCell.fs.js";
|
|
8
8
|
import { DataContext__get_GeneratedBy, DataContext__get_Description, DataContext__get_ObjectType, DataContext__get_Unit, DataContext__get_Explication } from "../../Core/DataContext.js";
|
|
9
9
|
|
|
10
10
|
export function setFromFsColumns(dc, columns) {
|
|
@@ -7,7 +7,7 @@ import { Comment$ } from "../../Core/Comment.js";
|
|
|
7
7
|
import { ActivePatterns_$007CComment$007C_$007C } from "../../Core/Helper/Regex.js";
|
|
8
8
|
import { printf, toFail, join } from "../../fable_modules/fable-library-js.4.16.0/String.js";
|
|
9
9
|
import { map as map_2, append, delay, toList } from "../../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
10
|
-
import { FsCell } from "../../fable_modules/FsSpreadsheet.6.
|
|
10
|
+
import { FsCell } from "../../fable_modules/FsSpreadsheet.6.2.0/Cells/FsCell.fs.js";
|
|
11
11
|
|
|
12
12
|
export function ActivePattern_ontologyAnnotationFromFsCells(tsrCol, tanCol, cells) {
|
|
13
13
|
const cellValues = map((c) => c.ValueAsString(), cells);
|
|
@@ -6,12 +6,12 @@ import { rangeDouble } from "../../fable_modules/fable-library-js.4.16.0/Range.j
|
|
|
6
6
|
import { toFsColumns, setFromFsColumns } from "./DataMapColumn.js";
|
|
7
7
|
import { printf, toFail } from "../../fable_modules/fable-library-js.4.16.0/String.js";
|
|
8
8
|
import { DataMap__get_DataContexts, DataMap_$ctor_4E3220A7 } from "../../Core/Table/DataMap.js";
|
|
9
|
-
import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.6.
|
|
10
|
-
import { FsRangeAddress_$ctor_7E77A4A0 } from "../../fable_modules/FsSpreadsheet.6.
|
|
11
|
-
import { FsAddress_$ctor_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.
|
|
12
|
-
import { Dictionary_tryGet } from "../../fable_modules/FsSpreadsheet.6.
|
|
9
|
+
import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.6.2.0/FsWorksheet.fs.js";
|
|
10
|
+
import { FsRangeAddress_$ctor_7E77A4A0 } from "../../fable_modules/FsSpreadsheet.6.2.0/Ranges/FsRangeAddress.fs.js";
|
|
11
|
+
import { FsAddress_$ctor_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.2.0/FsAddress.fs.js";
|
|
12
|
+
import { Dictionary_tryGet } from "../../fable_modules/FsSpreadsheet.6.2.0/Cells/FsCellsCollection.fs.js";
|
|
13
13
|
import { addToDict } from "../../fable_modules/fable-library-js.4.16.0/MapUtil.js";
|
|
14
|
-
import { FsRangeBase__Cell_Z3407A44B } from "../../fable_modules/FsSpreadsheet.6.
|
|
14
|
+
import { FsRangeBase__Cell_Z3407A44B } from "../../fable_modules/FsSpreadsheet.6.2.0/Ranges/FsRangeBase.fs.js";
|
|
15
15
|
|
|
16
16
|
export const helperColumnStrings = ofArray(["Term Source REF", "Term Accession Number", "Data Format", "Data Selector Format"]);
|
|
17
17
|
|
|
@@ -2,14 +2,14 @@ import { append as append_1, delay, tryItem, length as length_1, isEmpty, iterat
|
|
|
2
2
|
import { defaultArg, map as map_1 } from "../../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
3
3
|
import { tryFind, ofSeq } from "../../fable_modules/fable-library-js.4.16.0/Map.js";
|
|
4
4
|
import { arrayHash, equalArrays, equals, comparePrimitives } from "../../fable_modules/fable-library-js.4.16.0/Util.js";
|
|
5
|
-
import { RowBuilder_get_Empty, RowBuilder__Combine_19F30600, RowBuilder_$ctor } from "../../fable_modules/FsSpreadsheet.6.
|
|
6
|
-
import { CellBuilder_$ctor, CellBuilder__AsCellElement_6F87C2ED } from "../../fable_modules/FsSpreadsheet.6.
|
|
7
|
-
import { Messages_format, SheetEntity$1_some_2B595 } from "../../fable_modules/FsSpreadsheet.6.
|
|
8
|
-
import { DataType } from "../../fable_modules/FsSpreadsheet.6.
|
|
5
|
+
import { RowBuilder_get_Empty, RowBuilder__Combine_19F30600, RowBuilder_$ctor } from "../../fable_modules/FsSpreadsheet.6.2.0/DSL/RowBuilder.fs.js";
|
|
6
|
+
import { CellBuilder_$ctor, CellBuilder__AsCellElement_6F87C2ED } from "../../fable_modules/FsSpreadsheet.6.2.0/DSL/CellBuilder.fs.js";
|
|
7
|
+
import { Messages_format, SheetEntity$1_some_2B595 } from "../../fable_modules/FsSpreadsheet.6.2.0/DSL/Types.fs.js";
|
|
8
|
+
import { DataType } from "../../fable_modules/FsSpreadsheet.6.2.0/Cells/FsCell.fs.js";
|
|
9
9
|
import { map as map_2, initialize as initialize_1, exists, find, cons, append, empty, singleton } from "../../fable_modules/fable-library-js.4.16.0/List.js";
|
|
10
|
-
import { ColumnIndex, RowElement } from "../../fable_modules/FsSpreadsheet.6.
|
|
11
|
-
import { FsRangeAddress_$ctor_7E77A4A0 } from "../../fable_modules/FsSpreadsheet.6.
|
|
12
|
-
import { FsAddress_$ctor_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.
|
|
10
|
+
import { ColumnIndex, RowElement } from "../../fable_modules/FsSpreadsheet.6.2.0/DSL/Types.fs.js";
|
|
11
|
+
import { FsRangeAddress_$ctor_7E77A4A0 } from "../../fable_modules/FsSpreadsheet.6.2.0/Ranges/FsRangeAddress.fs.js";
|
|
12
|
+
import { FsAddress_$ctor_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.2.0/FsAddress.fs.js";
|
|
13
13
|
import { Record } from "../../fable_modules/fable-library-js.4.16.0/Types.js";
|
|
14
14
|
import { record_type, list_type, class_type, tuple_type, int32_type, string_type } from "../../fable_modules/fable-library-js.4.16.0/Reflection.js";
|
|
15
15
|
import { Seq_trySkip, Dictionary_tryGetValue } from "../CollectionAux.js";
|
package/Spreadsheet/Template.js
CHANGED
|
@@ -15,10 +15,10 @@ import { toArray } from "../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
|
15
15
|
import { toRows as toRows_1, fromRows as fromRows_1 } from "./Metadata/Contacts.js";
|
|
16
16
|
import { parse } from "../fable_modules/fable-library-js.4.16.0/Guid.js";
|
|
17
17
|
import { Template, Organisation } from "../Core/Template.js";
|
|
18
|
-
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.
|
|
18
|
+
import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorksheet.fs.js";
|
|
19
19
|
import { toFsWorksheet, tryFromFsWorksheet } from "./AnnotationTable/ArcTable.js";
|
|
20
20
|
import { now } from "../fable_modules/fable-library-js.4.16.0/Date.js";
|
|
21
|
-
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.
|
|
21
|
+
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.2.0/FsWorkbook.fs.js";
|
|
22
22
|
|
|
23
23
|
export class TemplateReadError extends FSharpException {
|
|
24
24
|
constructor(Data0) {
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
<Compile Include="Json\Value.fs" />
|
|
37
37
|
<Compile Include="Json\Cell.fs" />
|
|
38
38
|
<Compile Include="Json\Row.fs" />
|
|
39
|
+
<Compile Include="Json\Column.fs" />
|
|
39
40
|
<Compile Include="Json\Table.fs" />
|
|
40
41
|
<Compile Include="Json\Worksheet.fs" />
|
|
41
42
|
<Compile Include="Json\Workbook.fs" />
|
|
@@ -81,6 +81,10 @@ type FsWorksheet (name, ?fsRows, ?fsTables, ?fsCellsCollection) =
|
|
|
81
81
|
FsColumn(newRange,self.CellCollection)
|
|
82
82
|
)
|
|
83
83
|
|
|
84
|
+
member this.MaxRowIndex = this.CellCollection.MaxRowNumber
|
|
85
|
+
|
|
86
|
+
member this.MaxColumnIndex = this.CellCollection.MaxColumnNumber
|
|
87
|
+
|
|
84
88
|
// -------
|
|
85
89
|
// METHODS
|
|
86
90
|
// -------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FsCellsCollection__RemoveValueAt_Z37302880, FsCellsCollection__TryRemoveValueAt_Z37302880, FsCellsCollection__RemoveCellAt_Z37302880, FsCellsCollection__Add_2E78CE33, FsCellsCollection__Add_Z21F271A4, FsCellsCollection__Add_Z334DF64D, FsCellsCollection__TryGetCell_Z37302880, FsCellsCollection__Copy, FsCellsCollection__GetCells, FsCellsCollection_$ctor } from "./Cells/FsCellsCollection.fs.js";
|
|
1
|
+
import { FsCellsCollection__RemoveValueAt_Z37302880, FsCellsCollection__TryRemoveValueAt_Z37302880, FsCellsCollection__RemoveCellAt_Z37302880, FsCellsCollection__Add_2E78CE33, FsCellsCollection__Add_Z21F271A4, FsCellsCollection__Add_Z334DF64D, FsCellsCollection__TryGetCell_Z37302880, FsCellsCollection__Copy, FsCellsCollection__get_MaxColumnNumber, FsCellsCollection__get_MaxRowNumber, FsCellsCollection__GetCells, FsCellsCollection_$ctor } from "./Cells/FsCellsCollection.fs.js";
|
|
2
2
|
import { empty, maxBy, filter, exists, find, tryFind, iterate, last, head, sortBy, map } from "../fable-library-js.4.16.0/Seq.js";
|
|
3
3
|
import { FsColumn } from "./FsColumn.fs.js";
|
|
4
4
|
import { clear, safeHash, equals, disposeSafe, getEnumerator, numberHash, comparePrimitives } from "../fable-library-js.4.16.0/Util.js";
|
|
@@ -60,6 +60,14 @@ export class FsWorksheet {
|
|
|
60
60
|
GetHashCode: numberHash,
|
|
61
61
|
}));
|
|
62
62
|
}
|
|
63
|
+
get MaxRowIndex() {
|
|
64
|
+
const this$ = this;
|
|
65
|
+
return FsCellsCollection__get_MaxRowNumber(this$.CellCollection) | 0;
|
|
66
|
+
}
|
|
67
|
+
get MaxColumnIndex() {
|
|
68
|
+
const this$ = this;
|
|
69
|
+
return FsCellsCollection__get_MaxColumnNumber(this$.CellCollection) | 0;
|
|
70
|
+
}
|
|
63
71
|
Copy() {
|
|
64
72
|
let n, n_1;
|
|
65
73
|
const self = this;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module FsSpreadsheet.Json.Cell
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Thoth.Json.Core
|
|
5
|
+
|
|
6
|
+
[<Literal>]
|
|
7
|
+
let column = "column"
|
|
8
|
+
|
|
9
|
+
[<Literal>]
|
|
10
|
+
let row = "row"
|
|
11
|
+
|
|
12
|
+
[<Literal>]
|
|
13
|
+
let value = "value"
|
|
14
|
+
|
|
15
|
+
let encodeNoNumber (cell:FsCell) =
|
|
16
|
+
Encode.object [
|
|
17
|
+
value, Value.encode cell.Value
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
let encodeRows (cell:FsCell) =
|
|
21
|
+
Encode.object [
|
|
22
|
+
column, Encode.int cell.ColumnNumber
|
|
23
|
+
value, Value.encode cell.Value
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
let decodeRows rowNumber : Decoder<FsCell> =
|
|
27
|
+
Decode.object (fun builder ->
|
|
28
|
+
let v,dt = builder.Optional.Field value (Value.decode) |> Option.defaultValue ("", DataType.Empty)
|
|
29
|
+
let c = builder.Optional.Field column Decode.int |> Option.defaultValue 0
|
|
30
|
+
new FsCell(v,dt,FsAddress(Option.defaultValue 0 rowNumber,c))
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
let encodeCols (cell:FsCell) =
|
|
35
|
+
Encode.object [
|
|
36
|
+
row, Encode.int cell.RowNumber
|
|
37
|
+
value, Value.encode cell.Value
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
let decodeCols colNumber : Decoder<FsCell> =
|
|
41
|
+
Decode.object (fun builder ->
|
|
42
|
+
let v,dt = builder.Optional.Field value (Value.decode) |> Option.defaultValue ("", DataType.Empty)
|
|
43
|
+
let r = builder.Optional.Field row Decode.int |> Option.defaultValue 0
|
|
44
|
+
new FsCell(v,dt,FsAddress(r,Option.defaultValue 0 colNumber))
|
|
45
|
+
)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { decode, encode } from "./Value.fs.js";
|
|
2
|
+
import { Json } from "../../Thoth.Json.Core.0.2.1/Types.fs.js";
|
|
3
|
+
import { int, object } from "../../Thoth.Json.Core.0.2.1/Decode.fs.js";
|
|
4
|
+
import { defaultArg } from "../../fable-library-js.4.16.0/Option.js";
|
|
5
|
+
import { FsCell, DataType } from "../Cells/FsCell.fs.js";
|
|
6
|
+
import { FsAddress_$ctor_Z37302880 } from "../FsAddress.fs.js";
|
|
7
|
+
|
|
8
|
+
export function encodeNoNumber(cell) {
|
|
9
|
+
return new Json(5, [[["value", encode(cell.Value)]]]);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function encodeRows(cell) {
|
|
13
|
+
let value_1;
|
|
14
|
+
return new Json(5, [[["column", (value_1 = (cell.ColumnNumber | 0), new Json(7, [value_1 >>> 0]))], ["value", encode(cell.Value)]]]);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function decodeRows(rowNumber) {
|
|
18
|
+
return object((builder) => {
|
|
19
|
+
let objectArg, objectArg_1;
|
|
20
|
+
const patternInput = defaultArg((objectArg = builder.Optional, objectArg.Field("value", decode)), ["", new DataType(4, [])]);
|
|
21
|
+
const c = defaultArg((objectArg_1 = builder.Optional, objectArg_1.Field("column", int)), 0) | 0;
|
|
22
|
+
return new FsCell(patternInput[0], patternInput[1], FsAddress_$ctor_Z37302880(defaultArg(rowNumber, 0), c));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function encodeCols(cell) {
|
|
27
|
+
let value_1;
|
|
28
|
+
return new Json(5, [[["row", (value_1 = (cell.RowNumber | 0), new Json(7, [value_1 >>> 0]))], ["value", encode(cell.Value)]]]);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function decodeCols(colNumber) {
|
|
32
|
+
return object((builder) => {
|
|
33
|
+
let objectArg, objectArg_1;
|
|
34
|
+
const patternInput = defaultArg((objectArg = builder.Optional, objectArg.Field("value", decode)), ["", new DataType(4, [])]);
|
|
35
|
+
return new FsCell(patternInput[0], patternInput[1], FsAddress_$ctor_Z37302880(defaultArg((objectArg_1 = builder.Optional, objectArg_1.Field("row", int)), 0), defaultArg(colNumber, 0)));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module FsSpreadsheet.Json.Column
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Thoth.Json.Core
|
|
5
|
+
|
|
6
|
+
[<Literal>]
|
|
7
|
+
let cells = "cells"
|
|
8
|
+
|
|
9
|
+
[<Literal>]
|
|
10
|
+
let number = "number"
|
|
11
|
+
|
|
12
|
+
let encode (col:FsColumn) =
|
|
13
|
+
Encode.object [
|
|
14
|
+
number, Encode.int col.Index
|
|
15
|
+
cells, Encode.seq (col.Cells |> Seq.map Cell.encodeCols)
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
let encodeNoNumbers (col: FsCell seq) =
|
|
19
|
+
Encode.object [
|
|
20
|
+
cells, Encode.seq (col |> Seq.map Cell.encodeNoNumber)
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
let decode : Decoder<int option*FsCell seq> =
|
|
24
|
+
Decode.object (fun builder ->
|
|
25
|
+
let n = builder.Optional.Field number Decode.int
|
|
26
|
+
let cs = builder.Optional.Field cells (Decode.seq (Cell.decodeCols n)) |> Option.defaultValue Seq.empty
|
|
27
|
+
n,cs
|
|
28
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Json } from "../../Thoth.Json.Core.0.2.1/Types.fs.js";
|
|
2
|
+
import { seq } from "../../Thoth.Json.Core.0.2.1/Encode.fs.js";
|
|
3
|
+
import { empty, map } from "../../fable-library-js.4.16.0/Seq.js";
|
|
4
|
+
import { decodeCols, encodeNoNumber, encodeCols } from "./Cell.fs.js";
|
|
5
|
+
import { seq as seq_1, int, object } from "../../Thoth.Json.Core.0.2.1/Decode.fs.js";
|
|
6
|
+
import { defaultArg } from "../../fable-library-js.4.16.0/Option.js";
|
|
7
|
+
|
|
8
|
+
export function encode(col) {
|
|
9
|
+
let value;
|
|
10
|
+
return new Json(5, [[["number", (value = (col.Index | 0), new Json(7, [value >>> 0]))], ["cells", seq(map(encodeCols, col.Cells))]]]);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function encodeNoNumbers(col) {
|
|
14
|
+
return new Json(5, [[["cells", seq(map(encodeNoNumber, col))]]]);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const decode = object((builder) => {
|
|
18
|
+
let arg_3, objectArg_1;
|
|
19
|
+
let n;
|
|
20
|
+
const objectArg = builder.Optional;
|
|
21
|
+
n = objectArg.Field("number", int);
|
|
22
|
+
return [n, defaultArg((arg_3 = seq_1(decodeCols(n)), (objectArg_1 = builder.Optional, objectArg_1.Field("cells", arg_3))), empty())];
|
|
23
|
+
});
|
|
24
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module FsSpreadsheet.Json.Row
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Thoth.Json.Core
|
|
5
|
+
|
|
6
|
+
[<Literal>]
|
|
7
|
+
let cells = "cells"
|
|
8
|
+
|
|
9
|
+
[<Literal>]
|
|
10
|
+
let number = "number"
|
|
11
|
+
|
|
12
|
+
let encode (row:FsRow) =
|
|
13
|
+
Encode.object [
|
|
14
|
+
number, Encode.int row.Index
|
|
15
|
+
cells, Encode.seq (row.Cells |> Seq.map Cell.encodeRows)
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
let encodeNoNumbers (row: FsCell seq) =
|
|
19
|
+
Encode.object [
|
|
20
|
+
cells, Encode.seq (row |> Seq.map Cell.encodeNoNumber)
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
let decode : Decoder<int option*FsCell seq> =
|
|
24
|
+
Decode.object (fun builder ->
|
|
25
|
+
let n = builder.Optional.Field number Decode.int
|
|
26
|
+
let cs = builder.Optional.Field cells (Decode.seq (Cell.decodeRows n)) |> Option.defaultValue Seq.empty
|
|
27
|
+
n,cs
|
|
28
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Json } from "../../Thoth.Json.Core.0.2.1/Types.fs.js";
|
|
2
|
+
import { seq } from "../../Thoth.Json.Core.0.2.1/Encode.fs.js";
|
|
3
|
+
import { empty, map } from "../../fable-library-js.4.16.0/Seq.js";
|
|
4
|
+
import { decodeRows, encodeNoNumber, encodeRows } from "./Cell.fs.js";
|
|
5
|
+
import { seq as seq_1, int, object } from "../../Thoth.Json.Core.0.2.1/Decode.fs.js";
|
|
6
|
+
import { defaultArg } from "../../fable-library-js.4.16.0/Option.js";
|
|
7
|
+
|
|
8
|
+
export function encode(row) {
|
|
9
|
+
let value;
|
|
10
|
+
return new Json(5, [[["number", (value = (row.Index | 0), new Json(7, [value >>> 0]))], ["cells", seq(map(encodeRows, row.Cells))]]]);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function encodeNoNumbers(row) {
|
|
14
|
+
return new Json(5, [[["cells", seq(map(encodeNoNumber, row))]]]);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const decode = object((builder) => {
|
|
18
|
+
let arg_3, objectArg_1;
|
|
19
|
+
let n;
|
|
20
|
+
const objectArg = builder.Optional;
|
|
21
|
+
n = objectArg.Field("number", int);
|
|
22
|
+
return [n, defaultArg((arg_3 = seq_1(decodeRows(n)), (objectArg_1 = builder.Optional, objectArg_1.Field("cells", arg_3))), empty())];
|
|
23
|
+
});
|
|
24
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module FsSpreadsheet.Json.Workbook
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Thoth.Json.Core
|
|
5
|
+
|
|
6
|
+
[<Literal>]
|
|
7
|
+
let sheets = "sheets"
|
|
8
|
+
|
|
9
|
+
let encodeRows noNumbering (wb:FsWorkbook) =
|
|
10
|
+
Encode.object [
|
|
11
|
+
sheets, Encode.seq (wb.GetWorksheets() |> Seq.map (Worksheet.encodeRows noNumbering))
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
let decodeRows : Decoder<FsWorkbook> =
|
|
15
|
+
Decode.object (fun builder ->
|
|
16
|
+
let wb = new FsWorkbook()
|
|
17
|
+
let ws = builder.Required.Field sheets (Decode.seq Worksheet.decodeRows)
|
|
18
|
+
wb.AddWorksheets(ws)
|
|
19
|
+
wb
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
let encodeColumns noNumbering (wb:FsWorkbook) =
|
|
23
|
+
Encode.object [
|
|
24
|
+
sheets, Encode.seq (wb.GetWorksheets() |> Seq.map (Worksheet.encodeColumns noNumbering))
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
let decodeColumns : Decoder<FsWorkbook> =
|
|
28
|
+
Decode.object (fun builder ->
|
|
29
|
+
let wb = new FsWorkbook()
|
|
30
|
+
let ws = builder.Required.Field sheets (Decode.seq Worksheet.decodeColumns)
|
|
31
|
+
wb.AddWorksheets(ws)
|
|
32
|
+
wb
|
|
33
|
+
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { seq } from "../../Thoth.Json.Core.0.2.1/Encode.fs.js";
|
|
2
|
+
import { map } from "../../fable-library-js.4.16.0/Seq.js";
|
|
3
|
+
import { decodeColumns as decodeColumns_1, encodeColumns as encodeColumns_1, decodeRows as decodeRows_1, encodeRows as encodeRows_1 } from "./Worksheet.fs.js";
|
|
4
|
+
import { Json } from "../../Thoth.Json.Core.0.2.1/Types.fs.js";
|
|
5
|
+
import { seq as seq_1, object } from "../../Thoth.Json.Core.0.2.1/Decode.fs.js";
|
|
6
|
+
import { FsWorkbook } from "../FsWorkbook.fs.js";
|
|
7
|
+
|
|
8
|
+
export function encodeRows(noNumbering, wb) {
|
|
9
|
+
return new Json(5, [[["sheets", seq(map((sheet) => encodeRows_1(noNumbering, sheet), wb.GetWorksheets()))]]]);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const decodeRows = object((builder) => {
|
|
13
|
+
const wb = new FsWorkbook();
|
|
14
|
+
let ws;
|
|
15
|
+
const arg_1 = seq_1(decodeRows_1);
|
|
16
|
+
const objectArg = builder.Required;
|
|
17
|
+
ws = objectArg.Field("sheets", arg_1);
|
|
18
|
+
wb.AddWorksheets(ws);
|
|
19
|
+
return wb;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export function encodeColumns(noNumbering, wb) {
|
|
23
|
+
return new Json(5, [[["sheets", seq(map((sheet) => encodeColumns_1(noNumbering, sheet), wb.GetWorksheets()))]]]);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const decodeColumns = object((builder) => {
|
|
27
|
+
const wb = new FsWorkbook();
|
|
28
|
+
let ws;
|
|
29
|
+
const arg_1 = seq_1(decodeColumns_1);
|
|
30
|
+
const objectArg = builder.Required;
|
|
31
|
+
ws = objectArg.Field("sheets", arg_1);
|
|
32
|
+
wb.AddWorksheets(ws);
|
|
33
|
+
return wb;
|
|
34
|
+
});
|
|
35
|
+
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
module FsSpreadsheet.Json.Worksheet
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Thoth.Json.Core
|
|
5
|
+
|
|
6
|
+
[<Literal>]
|
|
7
|
+
let name = "name"
|
|
8
|
+
|
|
9
|
+
[<Literal>]
|
|
10
|
+
let rows = "rows"
|
|
11
|
+
|
|
12
|
+
[<Literal>]
|
|
13
|
+
let columns = "columns"
|
|
14
|
+
|
|
15
|
+
[<Literal>]
|
|
16
|
+
let tables = "tables"
|
|
17
|
+
|
|
18
|
+
let encodeRows noNumbering (sheet:FsWorksheet) =
|
|
19
|
+
|
|
20
|
+
sheet.RescanRows()
|
|
21
|
+
let jRows =
|
|
22
|
+
if noNumbering then
|
|
23
|
+
[
|
|
24
|
+
for r = 1 to sheet.MaxRowIndex do
|
|
25
|
+
[
|
|
26
|
+
for c = 1 to sheet.MaxColumnIndex do
|
|
27
|
+
match sheet.CellCollection.TryGetCell(r,c) with
|
|
28
|
+
| Some cell -> cell
|
|
29
|
+
| None -> new FsCell("")
|
|
30
|
+
|
|
31
|
+
]
|
|
32
|
+
|> Row.encodeNoNumbers
|
|
33
|
+
]
|
|
34
|
+
|> Encode.seq
|
|
35
|
+
else
|
|
36
|
+
Encode.seq (sheet.Rows |> Seq.map Row.encode)
|
|
37
|
+
|
|
38
|
+
Encode.object [
|
|
39
|
+
name, Encode.string sheet.Name
|
|
40
|
+
if Seq.isEmpty sheet.Tables |> not then
|
|
41
|
+
tables, Encode.seq (sheet.Tables |> Seq.map Table.encode)
|
|
42
|
+
rows, jRows
|
|
43
|
+
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
let decodeRows : Decoder<FsWorksheet> =
|
|
47
|
+
Decode.object (fun builder ->
|
|
48
|
+
let mutable rowIndex = 0
|
|
49
|
+
|
|
50
|
+
let n = builder.Required.Field name Decode.string
|
|
51
|
+
let ts = builder.Optional.Field tables (Decode.seq Table.decode)
|
|
52
|
+
let rs = builder.Optional.Field rows (Decode.seq Row.decode) |> Option.defaultValue Seq.empty
|
|
53
|
+
let sheet = new FsWorksheet(n)
|
|
54
|
+
rs
|
|
55
|
+
|> Seq.iter (fun (rowI,cells) ->
|
|
56
|
+
let mutable colIndex = 0
|
|
57
|
+
let rowI =
|
|
58
|
+
match rowI with
|
|
59
|
+
| Some i -> i
|
|
60
|
+
| None -> rowIndex + 1
|
|
61
|
+
rowIndex <- rowI
|
|
62
|
+
let r = sheet.Row(rowI)
|
|
63
|
+
cells
|
|
64
|
+
|> Seq.iter (fun cell ->
|
|
65
|
+
let colI =
|
|
66
|
+
match cell.ColumnNumber with
|
|
67
|
+
| 0 -> colIndex + 1
|
|
68
|
+
| i -> i
|
|
69
|
+
colIndex <- colI
|
|
70
|
+
let c = r[colI]
|
|
71
|
+
c.Value <- cell.Value
|
|
72
|
+
c.DataType <- cell.DataType
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
match ts with
|
|
76
|
+
| Some ts ->
|
|
77
|
+
ts
|
|
78
|
+
|> Seq.iter (fun t ->
|
|
79
|
+
sheet.AddTable(t) |> ignore
|
|
80
|
+
)
|
|
81
|
+
| None -> ()
|
|
82
|
+
sheet
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
let encodeColumns noNumbering (sheet:FsWorksheet) =
|
|
86
|
+
sheet.RescanRows()
|
|
87
|
+
|
|
88
|
+
let jColumns =
|
|
89
|
+
if noNumbering then
|
|
90
|
+
[
|
|
91
|
+
for c = 1 to sheet.MaxColumnIndex do
|
|
92
|
+
[
|
|
93
|
+
for r = 1 to sheet.MaxRowIndex do
|
|
94
|
+
match sheet.CellCollection.TryGetCell(r,c) with
|
|
95
|
+
| Some cell -> cell
|
|
96
|
+
| None -> new FsCell("")
|
|
97
|
+
|
|
98
|
+
]
|
|
99
|
+
|> Column.encodeNoNumbers
|
|
100
|
+
]
|
|
101
|
+
|> Encode.seq
|
|
102
|
+
else
|
|
103
|
+
Encode.seq (sheet.Columns |> Seq.map Column.encode)
|
|
104
|
+
|
|
105
|
+
Encode.object [
|
|
106
|
+
name, Encode.string sheet.Name
|
|
107
|
+
if Seq.isEmpty sheet.Tables |> not then
|
|
108
|
+
tables, Encode.seq (sheet.Tables |> Seq.map Table.encode)
|
|
109
|
+
columns, jColumns
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
let decodeColumns : Decoder<FsWorksheet> =
|
|
113
|
+
Decode.object (fun builder ->
|
|
114
|
+
let mutable colIndex = 0
|
|
115
|
+
let n = builder.Required.Field name Decode.string
|
|
116
|
+
let ts = builder.Optional.Field tables (Decode.seq Table.decode)
|
|
117
|
+
let cs = builder.Required.Field columns (Decode.seq Column.decode)
|
|
118
|
+
let sheet = new FsWorksheet(n)
|
|
119
|
+
cs
|
|
120
|
+
|> Seq.iter (fun (colI,cells) ->
|
|
121
|
+
let mutable rowIndex = 0
|
|
122
|
+
let colI =
|
|
123
|
+
match colI with
|
|
124
|
+
| Some i -> i
|
|
125
|
+
| None -> colIndex + 1
|
|
126
|
+
colIndex <- colI
|
|
127
|
+
let col = sheet.Column(colI)
|
|
128
|
+
cells
|
|
129
|
+
|> Seq.iter (fun cell ->
|
|
130
|
+
let rowI =
|
|
131
|
+
match cell.RowNumber with
|
|
132
|
+
| 0 -> rowIndex + 1
|
|
133
|
+
| i -> i
|
|
134
|
+
rowIndex <- rowI
|
|
135
|
+
let c = col[rowIndex]
|
|
136
|
+
c.Value <- cell.Value
|
|
137
|
+
c.DataType <- cell.DataType
|
|
138
|
+
)
|
|
139
|
+
)
|
|
140
|
+
match ts with
|
|
141
|
+
| Some ts ->
|
|
142
|
+
ts
|
|
143
|
+
|> Seq.iter (fun t ->
|
|
144
|
+
sheet.AddTable(t) |> ignore
|
|
145
|
+
)
|
|
146
|
+
| None -> ()
|
|
147
|
+
sheet
|
|
148
|
+
)
|