@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.
Files changed (95) hide show
  1. package/ARC.js +1 -1
  2. package/Spreadsheet/AnnotationTable/ArcTable.js +5 -5
  3. package/Spreadsheet/AnnotationTable/CompositeColumn.js +1 -1
  4. package/Spreadsheet/ArcAssay.js +2 -2
  5. package/Spreadsheet/ArcInvestigation.js +2 -2
  6. package/Spreadsheet/ArcStudy.js +2 -2
  7. package/Spreadsheet/DataMap.js +1 -1
  8. package/Spreadsheet/DataMapTable/DataMapColumn.js +1 -1
  9. package/Spreadsheet/DataMapTable/DataMapHeader.js +1 -1
  10. package/Spreadsheet/DataMapTable/DataMapTable.js +5 -5
  11. package/Spreadsheet/Metadata/SparseTable.js +7 -7
  12. package/Spreadsheet/Template.js +2 -2
  13. package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsSpreadsheet.fableproj +1 -0
  14. package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorksheet.fs +4 -0
  15. package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorksheet.fs.js +9 -1
  16. package/fable_modules/FsSpreadsheet.6.2.0/Json/Cell.fs +45 -0
  17. package/fable_modules/FsSpreadsheet.6.2.0/Json/Cell.fs.js +38 -0
  18. package/fable_modules/FsSpreadsheet.6.2.0/Json/Column.fs +28 -0
  19. package/fable_modules/FsSpreadsheet.6.2.0/Json/Column.fs.js +24 -0
  20. package/fable_modules/FsSpreadsheet.6.2.0/Json/Row.fs +28 -0
  21. package/fable_modules/FsSpreadsheet.6.2.0/Json/Row.fs.js +24 -0
  22. package/fable_modules/FsSpreadsheet.6.2.0/Json/Workbook.fs +33 -0
  23. package/fable_modules/FsSpreadsheet.6.2.0/Json/Workbook.fs.js +35 -0
  24. package/fable_modules/FsSpreadsheet.6.2.0/Json/Worksheet.fs +148 -0
  25. package/fable_modules/FsSpreadsheet.6.2.0/Json/Worksheet.fs.js +109 -0
  26. package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +3 -3
  27. package/fable_modules/project_cracked.json +1 -1
  28. package/package.json +1 -1
  29. package/fable_modules/FsSpreadsheet.6.1.2/Json/Cell.fs +0 -23
  30. package/fable_modules/FsSpreadsheet.6.1.2/Json/Cell.fs.js +0 -21
  31. package/fable_modules/FsSpreadsheet.6.1.2/Json/Row.fs +0 -23
  32. package/fable_modules/FsSpreadsheet.6.1.2/Json/Row.fs.js +0 -19
  33. package/fable_modules/FsSpreadsheet.6.1.2/Json/Workbook.fs +0 -20
  34. package/fable_modules/FsSpreadsheet.6.1.2/Json/Workbook.fs.js +0 -21
  35. package/fable_modules/FsSpreadsheet.6.1.2/Json/Worksheet.fs +0 -49
  36. package/fable_modules/FsSpreadsheet.6.1.2/Json/Worksheet.fs.js +0 -44
  37. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCell.fs +0 -0
  38. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCell.fs.js +0 -0
  39. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCellsCollection.fs +0 -0
  40. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Cells/FsCellsCollection.fs.js +0 -0
  41. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/CellBuilder.fs +0 -0
  42. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/CellBuilder.fs.js +0 -0
  43. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/ColumnBuilder.fs +0 -0
  44. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/ColumnBuilder.fs.js +0 -0
  45. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/DSL.fs +0 -0
  46. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/DSL.fs.js +0 -0
  47. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Expression.fs +0 -0
  48. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Expression.fs.js +0 -0
  49. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Operators.fs +0 -0
  50. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Operators.fs.js +0 -0
  51. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/RowBuilder.fs +0 -0
  52. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/RowBuilder.fs.js +0 -0
  53. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/SheetBuilder.fs +0 -0
  54. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/SheetBuilder.fs.js +0 -0
  55. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/TableBuilder.fs +0 -0
  56. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/TableBuilder.fs.js +0 -0
  57. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Transform.fs +0 -0
  58. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Transform.fs.js +0 -0
  59. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Types.fs +0 -0
  60. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/Types.fs.js +0 -0
  61. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/WorkbookBuilder.fs +0 -0
  62. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/DSL/WorkbookBuilder.fs.js +0 -0
  63. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsAddress.fs +0 -0
  64. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsAddress.fs.js +0 -0
  65. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsColumn.fs +0 -0
  66. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsColumn.fs.js +0 -0
  67. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsRow.fs +0 -0
  68. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsRow.fs.js +0 -0
  69. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorkbook.fs +0 -0
  70. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/FsWorkbook.fs.js +0 -0
  71. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Table.fs +0 -0
  72. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Table.fs.js +0 -0
  73. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Value.fs +0 -0
  74. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Json/Value.fs.js +0 -0
  75. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRange.fs +0 -0
  76. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRange.fs.js +0 -0
  77. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeAddress.fs +0 -0
  78. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeAddress.fs.js +0 -0
  79. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeBase.fs +0 -0
  80. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeBase.fs.js +0 -0
  81. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeColumn.fs +0 -0
  82. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeColumn.fs.js +0 -0
  83. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeRow.fs +0 -0
  84. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Ranges/FsRangeRow.fs.js +0 -0
  85. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/SheetBuilder.fs +0 -0
  86. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/SheetBuilder.fs.js +0 -0
  87. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTable.fs +0 -0
  88. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTable.fs.js +0 -0
  89. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableField.fs +0 -0
  90. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableField.fs.js +0 -0
  91. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableRow.fs +0 -0
  92. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/Tables/FsTableRow.fs.js +0 -0
  93. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
  94. /package/fable_modules/{FsSpreadsheet.6.1.2 → FsSpreadsheet.6.2.0}/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +0 -0
  95. /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.1.2/Cells/FsCellsCollection.fs.js";
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.1.2/Cells/FsCellsCollection.fs.js";
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.1.2/FsAddress.fs.js";
9
- import { FsRangeAddress_$ctor_7E77A4A0, FsRangeAddress__get_LastAddress } from "../../fable_modules/FsSpreadsheet.6.1.2/Ranges/FsRangeAddress.fs.js";
10
- import { FsRangeBase__Cell_Z3407A44B, FsRangeBase__get_RangeAddress } from "../../fable_modules/FsSpreadsheet.6.1.2/Ranges/FsRangeBase.fs.js";
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.1.2/FsWorksheet.fs.js";
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.1.2/Cells/FsCell.fs.js";
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.
@@ -1,4 +1,4 @@
1
- import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.1.2/FsWorksheet.fs.js";
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.1.2/FsWorkbook.fs.js";
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.1.2/FsWorksheet.fs.js";
21
- import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.1.2/FsWorkbook.fs.js";
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) {
@@ -1,4 +1,4 @@
1
- import { FsWorksheet } from "../fable_modules/FsSpreadsheet.6.1.2/FsWorksheet.fs.js";
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.1.2/FsWorkbook.fs.js";
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;
@@ -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.1.2/FsWorkbook.fs.js";
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.1.2/Cells/FsCell.fs.js";
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.1.2/Cells/FsCell.fs.js";
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.1.2/FsWorksheet.fs.js";
10
- import { FsRangeAddress_$ctor_7E77A4A0 } from "../../fable_modules/FsSpreadsheet.6.1.2/Ranges/FsRangeAddress.fs.js";
11
- import { FsAddress_$ctor_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.1.2/FsAddress.fs.js";
12
- import { Dictionary_tryGet } from "../../fable_modules/FsSpreadsheet.6.1.2/Cells/FsCellsCollection.fs.js";
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.1.2/Ranges/FsRangeBase.fs.js";
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.1.2/DSL/RowBuilder.fs.js";
6
- import { CellBuilder_$ctor, CellBuilder__AsCellElement_6F87C2ED } from "../../fable_modules/FsSpreadsheet.6.1.2/DSL/CellBuilder.fs.js";
7
- import { Messages_format, SheetEntity$1_some_2B595 } from "../../fable_modules/FsSpreadsheet.6.1.2/DSL/Types.fs.js";
8
- import { DataType } from "../../fable_modules/FsSpreadsheet.6.1.2/Cells/FsCell.fs.js";
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.1.2/DSL/Types.fs.js";
11
- import { FsRangeAddress_$ctor_7E77A4A0 } from "../../fable_modules/FsSpreadsheet.6.1.2/Ranges/FsRangeAddress.fs.js";
12
- import { FsAddress_$ctor_Z37302880 } from "../../fable_modules/FsSpreadsheet.6.1.2/FsAddress.fs.js";
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";
@@ -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.1.2/FsWorksheet.fs.js";
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.1.2/FsWorkbook.fs.js";
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
+ )