@nfdi4plants/arctrl 3.0.0-alpha.4 → 3.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/README.md +16 -8
- package/dist/ts/cjs/ts/ARC.js +31 -20
- package/dist/ts/cjs/ts/Conversion.js +122 -76
- package/dist/ts/cjs/ts/Core/ArcTypes.js +1 -1
- package/dist/ts/cjs/ts/Core/Conversion.js +110 -43
- package/dist/ts/cjs/ts/Core/Data.js +4 -2
- package/dist/ts/cjs/ts/Core/Helper/Collections.js +69 -1
- package/dist/ts/cjs/ts/Core/OntologyAnnotation.js +27 -23
- package/dist/ts/cjs/ts/Core/Table/ArcTable.js +234 -217
- package/dist/ts/cjs/ts/Core/Table/ArcTableAux.js +904 -255
- package/dist/ts/cjs/ts/Core/Table/ArcTables.js +12 -19
- package/dist/ts/cjs/ts/Core/Table/CompositeColumn.js +4 -2
- package/dist/ts/cjs/ts/FileSystem/DefaultGitattributes.js +1 -1
- package/dist/ts/cjs/ts/Json/Decode.js +105 -0
- package/dist/ts/cjs/ts/Json/Encode.js +42 -0
- package/dist/ts/cjs/ts/Json/Table/ArcTable.js +100 -113
- package/dist/ts/cjs/ts/Json.js +46 -1
- package/dist/ts/cjs/ts/ROCrateIO.js +12 -1
- package/dist/ts/cjs/ts/Spreadsheet/AnnotationTable/ArcTable.js +15 -4
- package/dist/ts/cjs/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +77 -6
- package/dist/ts/cjs/ts/Spreadsheet/ArcInvestigation.js +31 -15
- package/dist/ts/cjs/ts/Spreadsheet/DataMapTable/DataMapHeader.js +1 -1
- package/dist/ts/cjs/ts/Spreadsheet/Metadata/SparseTable.js +2 -5
- package/dist/ts/esm/ts/ARC.js +34 -23
- package/dist/ts/esm/ts/Conversion.js +128 -82
- package/dist/ts/esm/ts/Core/ArcTypes.js +1 -1
- package/dist/ts/esm/ts/Core/Conversion.js +112 -45
- package/dist/ts/esm/ts/Core/Data.js +7 -5
- package/dist/ts/esm/ts/Core/Helper/Collections.js +61 -1
- package/dist/ts/esm/ts/Core/OntologyAnnotation.js +29 -25
- package/dist/ts/esm/ts/Core/Table/ArcTable.js +243 -226
- package/dist/ts/esm/ts/Core/Table/ArcTableAux.js +897 -264
- package/dist/ts/esm/ts/Core/Table/ArcTables.js +15 -22
- package/dist/ts/esm/ts/Core/Table/CompositeColumn.js +5 -3
- package/dist/ts/esm/ts/FileSystem/DefaultGitattributes.js +1 -1
- package/dist/ts/esm/ts/Json/Decode.js +105 -3
- package/dist/ts/esm/ts/Json/Encode.js +42 -2
- package/dist/ts/esm/ts/Json/Table/ArcTable.js +108 -121
- package/dist/ts/esm/ts/Json.js +39 -0
- package/dist/ts/esm/ts/ROCrateIO.js +14 -3
- package/dist/ts/esm/ts/Spreadsheet/AnnotationTable/ArcTable.js +17 -7
- package/dist/ts/esm/ts/Spreadsheet/AnnotationTable/CompositeColumn.js +78 -9
- package/dist/ts/esm/ts/Spreadsheet/ArcInvestigation.js +33 -17
- package/dist/ts/esm/ts/Spreadsheet/DataMapTable/DataMapHeader.js +1 -1
- package/dist/ts/esm/ts/Spreadsheet/Metadata/SparseTable.js +3 -6
- package/dist/ts/types/ts/ARC.d.ts +2 -2
- package/dist/ts/types/ts/ARC.d.ts.map +1 -1
- package/dist/ts/types/ts/Conversion.d.ts +15 -16
- package/dist/ts/types/ts/Conversion.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/ArcTypes.d.ts +2 -0
- package/dist/ts/types/ts/Core/ArcTypes.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Conversion.d.ts +14 -15
- package/dist/ts/types/ts/Core/Conversion.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Data.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Helper/Collections.d.ts +8 -0
- package/dist/ts/types/ts/Core/Helper/Collections.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/OntologyAnnotation.d.ts +9 -0
- package/dist/ts/types/ts/Core/OntologyAnnotation.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Table/ArcTable.d.ts +35 -28
- package/dist/ts/types/ts/Core/Table/ArcTable.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Table/ArcTableAux.d.ts +83 -35
- package/dist/ts/types/ts/Core/Table/ArcTableAux.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Table/ArcTables.d.ts.map +1 -1
- package/dist/ts/types/ts/Core/Table/CompositeColumn.d.ts.map +1 -1
- package/dist/ts/types/ts/FileSystem/DefaultGitattributes.d.ts +1 -1
- package/dist/ts/types/ts/FileSystem/DefaultGitattributes.d.ts.map +1 -1
- package/dist/ts/types/ts/Json/Decode.d.ts +6 -0
- package/dist/ts/types/ts/Json/Decode.d.ts.map +1 -1
- package/dist/ts/types/ts/Json/Encode.d.ts +2 -0
- package/dist/ts/types/ts/Json/Encode.d.ts.map +1 -1
- package/dist/ts/types/ts/Json/Table/ArcTable.d.ts +4 -3
- package/dist/ts/types/ts/Json/Table/ArcTable.d.ts.map +1 -1
- package/dist/ts/types/ts/Json.d.ts +17 -0
- package/dist/ts/types/ts/Json.d.ts.map +1 -1
- package/dist/ts/types/ts/ROCrateIO.d.ts +1 -1
- package/dist/ts/types/ts/ROCrateIO.d.ts.map +1 -1
- package/dist/ts/types/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts +5 -0
- package/dist/ts/types/ts/Spreadsheet/AnnotationTable/ArcTable.d.ts.map +1 -1
- package/dist/ts/types/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts +7 -0
- package/dist/ts/types/ts/Spreadsheet/AnnotationTable/CompositeColumn.d.ts.map +1 -1
- package/dist/ts/types/ts/Spreadsheet/ArcInvestigation.d.ts.map +1 -1
- package/dist/ts/types/ts/Spreadsheet/Metadata/SparseTable.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -19,11 +19,10 @@ const CompositeHeader_js_1 = require("./CompositeHeader.js");
|
|
|
19
19
|
const Util_js_1 = require("@fable-org/fable-library-js/Util.js");
|
|
20
20
|
const Collections_js_1 = require("../Helper/Collections.js");
|
|
21
21
|
const MapUtil_js_1 = require("@fable-org/fable-library-js/MapUtil.js");
|
|
22
|
-
const Array_js_1 = require("@fable-org/fable-library-js/Array.js");
|
|
23
22
|
const Seq2_js_1 = require("@fable-org/fable-library-js/Seq2.js");
|
|
24
23
|
const Set_js_1 = require("@fable-org/fable-library-js/Set.js");
|
|
24
|
+
const Array_js_1 = require("@fable-org/fable-library-js/Array.js");
|
|
25
25
|
const Map_js_1 = require("@fable-org/fable-library-js/Map.js");
|
|
26
|
-
const ArcTableAux_js_1 = require("./ArcTableAux.js");
|
|
27
26
|
const Reflection_js_1 = require("@fable-org/fable-library-js/Reflection.js");
|
|
28
27
|
/**
|
|
29
28
|
* If a table with the given name exists in the TableList, returns it, else returns None.
|
|
@@ -71,9 +70,9 @@ function ArcTablesAux_getIOMap(tables) {
|
|
|
71
70
|
else {
|
|
72
71
|
const ic = (0, Option_js_1.value)(matchValue_1);
|
|
73
72
|
const ioType_1 = (0, Option_js_1.value)(ic.Header.TryInput());
|
|
74
|
-
|
|
73
|
+
(0, Collections_js_1.ResizeArray_iter)((c) => {
|
|
75
74
|
includeInMap(c.ToFreeTextCell().AsFreeText, ioType_1);
|
|
76
|
-
});
|
|
75
|
+
}, ic.Cells);
|
|
77
76
|
}
|
|
78
77
|
const matchValue_2 = table.TryGetOutputColumn();
|
|
79
78
|
if (matchValue_2 == null) {
|
|
@@ -81,9 +80,9 @@ function ArcTablesAux_getIOMap(tables) {
|
|
|
81
80
|
else {
|
|
82
81
|
const oc = (0, Option_js_1.value)(matchValue_2);
|
|
83
82
|
const ioType_2 = (0, Option_js_1.value)(oc.Header.TryOutput());
|
|
84
|
-
|
|
83
|
+
(0, Collections_js_1.ResizeArray_iter)((c_1) => {
|
|
85
84
|
includeInMap(c_1.ToFreeTextCell().AsFreeText, ioType_2);
|
|
86
|
-
});
|
|
85
|
+
}, oc.Cells);
|
|
87
86
|
}
|
|
88
87
|
}
|
|
89
88
|
}
|
|
@@ -103,7 +102,7 @@ function ArcTablesAux_applyIOMap(map, tables) {
|
|
|
103
102
|
else {
|
|
104
103
|
const ic = (0, Option_js_1.value)(matchValue);
|
|
105
104
|
const index = (0, Seq_js_1.findIndex)((x) => x.isInput, table.Headers) | 0;
|
|
106
|
-
const newIOType = (0,
|
|
105
|
+
const newIOType = (0, Collections_js_1.ResizeArray_fold)((io, c) => {
|
|
107
106
|
const matchValue_1 = (0, Collections_js_1.Dictionary_tryFind)(c.ToFreeTextCell().AsFreeText, map);
|
|
108
107
|
if (matchValue_1 == null) {
|
|
109
108
|
return io;
|
|
@@ -121,7 +120,7 @@ function ArcTablesAux_applyIOMap(map, tables) {
|
|
|
121
120
|
else {
|
|
122
121
|
const oc = (0, Option_js_1.value)(matchValue_2);
|
|
123
122
|
const index_1 = (0, Seq_js_1.findIndex)((x_1) => x_1.isOutput, table.Headers) | 0;
|
|
124
|
-
const newIOType_1 = (0,
|
|
123
|
+
const newIOType_1 = (0, Collections_js_1.ResizeArray_fold)((io_1, c_1) => {
|
|
125
124
|
const matchValue_3 = (0, Collections_js_1.Dictionary_tryFind)(c_1.ToFreeTextCell().AsFreeText, map);
|
|
126
125
|
if (matchValue_3 == null) {
|
|
127
126
|
return io_1;
|
|
@@ -422,16 +421,13 @@ class ArcTables {
|
|
|
422
421
|
this$.Tables.splice(newIndex, 0, table);
|
|
423
422
|
}
|
|
424
423
|
static updateReferenceTablesBySheets(referenceTables, sheetTables, keepUnusedRefTables) {
|
|
425
|
-
let collection, s,
|
|
424
|
+
let collection, s, a;
|
|
426
425
|
const keepUnusedRefTables_1 = (0, Option_js_1.defaultArg)(keepUnusedRefTables, false);
|
|
427
426
|
const usedTables = new Set([]);
|
|
428
|
-
const referenceTableMap = (0, Map_js_1.ofSeq)((0, Seq_js_1.choose)((t) => (0, Option_js_1.map)((c) => [
|
|
427
|
+
const referenceTableMap = (0, Map_js_1.ofSeq)((0, Seq_js_1.choose)((t) => (0, Option_js_1.map)((c) => [c.Cells[0].AsFreeText, t], t.TryGetProtocolNameColumn()), referenceTables.Tables), {
|
|
429
428
|
Compare: Util_js_1.comparePrimitives,
|
|
430
429
|
});
|
|
431
|
-
return new ArcTables((collection = ((s = (0,
|
|
432
|
-
(0, ArcTableAux_js_1.Unchecked_fillMissingCells)(t_3.Headers, t_3.Values);
|
|
433
|
-
return t_3;
|
|
434
|
-
}, (0, Array_js_1.map)((tupledArg) => (0, Seq_js_1.reduce)((table, table_1) => ArcTable_js_1.ArcTable.append(table, table_1), tupledArg[1]), (0, Seq2_js_1.Array_groupBy)((t_2) => t_2.Name, (0, Array_js_1.map)((t_1) => {
|
|
430
|
+
return new ArcTables((collection = ((s = (0, Collections_js_1.ResizeArray_map)((tupledArg) => (0, Seq_js_1.reduce)((table, table_1) => ArcTable_js_1.ArcTable.append(table, table_1), tupledArg[1]), (0, Collections_js_1.ResizeArray_groupBy)((t_2) => t_2.Name, (0, Collections_js_1.ResizeArray_map)((t_1) => {
|
|
435
431
|
const k = (0, Option_js_1.defaultArg)((0, Option_js_1.bind)((c_1) => {
|
|
436
432
|
if (c_1.AsFreeText === "") {
|
|
437
433
|
return undefined;
|
|
@@ -448,12 +444,9 @@ class ArcTables {
|
|
|
448
444
|
const rt = (0, Option_js_1.value)(matchValue);
|
|
449
445
|
(0, MapUtil_js_1.addToSet)(k, usedTables);
|
|
450
446
|
const updatedTable = ArcTable_js_1.ArcTable.updateReferenceByAnnotationTable(rt, t_1);
|
|
451
|
-
return ArcTable_js_1.ArcTable.
|
|
447
|
+
return ArcTable_js_1.ArcTable.fromArcTableValues(t_1.Name, updatedTable.Headers, updatedTable.Values);
|
|
452
448
|
}
|
|
453
|
-
}, (
|
|
454
|
-
Equals: (x_2, y_1) => (x_2 === y_1),
|
|
455
|
-
GetHashCode: Util_js_1.stringHash,
|
|
456
|
-
}))), keepUnusedRefTables_1 ? (0, Seq_js_1.append)((0, Seq_js_1.choose)((kv) => {
|
|
449
|
+
}, (a = sheetTables.Tables, (0, Collections_js_1.ResizeArray_collect)(ArcTable_js_1.ArcTable.SplitByProtocolREF, a))))), keepUnusedRefTables_1 ? (0, Seq_js_1.append)((0, Seq_js_1.choose)((kv) => {
|
|
457
450
|
if (usedTables.has(kv[0])) {
|
|
458
451
|
return undefined;
|
|
459
452
|
}
|
|
@@ -23,8 +23,10 @@ class CompositeColumn extends Types_js_1.Record {
|
|
|
23
23
|
}
|
|
24
24
|
TryGetColumnUnits() {
|
|
25
25
|
const this$ = this;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
let arr;
|
|
27
|
+
const collection = (0, Seq_js_1.toArray)((0, Seq_js_1.delay)(() => (0, Seq_js_1.collect)((cell) => (cell.isUnitized ? (0, Seq_js_1.singleton)(cell.AsUnitized[1]) : (0, Seq_js_1.empty)()), this$.Cells)));
|
|
28
|
+
arr = Array.from(collection);
|
|
29
|
+
return (0, Seq_js_1.isEmpty)(arr) ? undefined : arr;
|
|
28
30
|
}
|
|
29
31
|
GetDefaultEmptyCell() {
|
|
30
32
|
const this$ = this;
|
|
@@ -7,6 +7,9 @@ exports.Decode_hasUnknownFields = Decode_hasUnknownFields;
|
|
|
7
7
|
exports.Decode_objectNoAdditionalProperties = Decode_objectNoAdditionalProperties;
|
|
8
8
|
exports.Decode_noAdditionalProperties = Decode_noAdditionalProperties;
|
|
9
9
|
exports.Decode_resizeArrayOrSingleton = Decode_resizeArrayOrSingleton;
|
|
10
|
+
exports.Decode_dictionary = Decode_dictionary;
|
|
11
|
+
exports.Decode_intDictionary = Decode_intDictionary;
|
|
12
|
+
exports.Decode_tryOneOf = Decode_tryOneOf;
|
|
10
13
|
const Types_fs_js_1 = require("../fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js");
|
|
11
14
|
const Decode_fs_js_1 = require("../fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js");
|
|
12
15
|
const Result_js_1 = require("@fable-org/fable-library-js/Result.js");
|
|
@@ -18,6 +21,8 @@ const List_js_1 = require("@fable-org/fable-library-js/List.js");
|
|
|
18
21
|
const Array_js_1 = require("@fable-org/fable-library-js/Array.js");
|
|
19
22
|
const Date_js_1 = require("@fable-org/fable-library-js/Date.js");
|
|
20
23
|
const Types_js_1 = require("@fable-org/fable-library-js/Types.js");
|
|
24
|
+
const MutableMap_js_1 = require("@fable-org/fable-library-js/MutableMap.js");
|
|
25
|
+
const MapUtil_js_1 = require("@fable-org/fable-library-js/MapUtil.js");
|
|
21
26
|
function Helpers_prependPath(path, err_, err__1) {
|
|
22
27
|
const err = [err_, err__1];
|
|
23
28
|
return [path + err[0], err[1]];
|
|
@@ -124,3 +129,103 @@ exports.Decode_datetime = {
|
|
|
124
129
|
}
|
|
125
130
|
},
|
|
126
131
|
};
|
|
132
|
+
function Decode_dictionary(keyDecoder, valueDecoder) {
|
|
133
|
+
return {
|
|
134
|
+
Decode(helpers, value) {
|
|
135
|
+
if (helpers.isArray(value)) {
|
|
136
|
+
let errors = (0, List_js_1.empty)();
|
|
137
|
+
const tokens = helpers.asArray(value);
|
|
138
|
+
const dict = new MutableMap_js_1.Dictionary([], {
|
|
139
|
+
Equals: Util_js_1.equals,
|
|
140
|
+
GetHashCode: Util_js_1.structuralHash,
|
|
141
|
+
});
|
|
142
|
+
const decoder = (0, Decode_fs_js_1.tuple2)(keyDecoder, valueDecoder);
|
|
143
|
+
return (0, Array_js_1.fold)((acc, value_1) => {
|
|
144
|
+
if (acc.tag === /* Ok */ 0) {
|
|
145
|
+
const acc_1 = acc.fields[0];
|
|
146
|
+
const matchValue = decoder.Decode(helpers, value_1);
|
|
147
|
+
if (matchValue.tag === /* Ok */ 0) {
|
|
148
|
+
const tupledArg = matchValue.fields[0];
|
|
149
|
+
(0, MapUtil_js_1.addToDict)(acc_1, tupledArg[0], tupledArg[1]);
|
|
150
|
+
return (0, Result_js_1.FSharpResult$2_Ok)(acc_1);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
return (0, Result_js_1.FSharpResult$2_Error)(matchValue.fields[0]);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
return acc;
|
|
158
|
+
}
|
|
159
|
+
}, (0, Result_js_1.FSharpResult$2_Ok)(dict), tokens);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
return (0, Result_js_1.FSharpResult$2_Error)(["", (0, Types_fs_js_1.ErrorReason$1_BadPrimitive)("an object", value)]);
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
function Decode_intDictionary(valueDecoder) {
|
|
168
|
+
return {
|
|
169
|
+
Decode(helpers, value) {
|
|
170
|
+
if (helpers.isArray(value)) {
|
|
171
|
+
let errors = (0, List_js_1.empty)();
|
|
172
|
+
const tokens = helpers.asArray(value);
|
|
173
|
+
const dict = new Map([]);
|
|
174
|
+
const decoder = (0, Decode_fs_js_1.tuple2)(Decode_fs_js_1.int, valueDecoder);
|
|
175
|
+
return (0, Array_js_1.fold)((acc, value_1) => {
|
|
176
|
+
if (acc.tag === /* Ok */ 0) {
|
|
177
|
+
const acc_1 = acc.fields[0];
|
|
178
|
+
const matchValue = decoder.Decode(helpers, value_1);
|
|
179
|
+
if (matchValue.tag === /* Ok */ 0) {
|
|
180
|
+
const tupledArg = matchValue.fields[0];
|
|
181
|
+
(0, MapUtil_js_1.addToDict)(acc_1, tupledArg[0], tupledArg[1]);
|
|
182
|
+
return (0, Result_js_1.FSharpResult$2_Ok)(acc_1);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
return (0, Result_js_1.FSharpResult$2_Error)(matchValue.fields[0]);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
return acc;
|
|
190
|
+
}
|
|
191
|
+
}, (0, Result_js_1.FSharpResult$2_Ok)(dict), tokens);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
return (0, Result_js_1.FSharpResult$2_Error)(["", (0, Types_fs_js_1.ErrorReason$1_BadPrimitive)("an object", value)]);
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
function Decode_tryOneOf(decoders) {
|
|
200
|
+
return {
|
|
201
|
+
Decode(helpers, value) {
|
|
202
|
+
const loop = (errors_mut, decoders_1_mut) => {
|
|
203
|
+
loop: while (true) {
|
|
204
|
+
const errors = errors_mut, decoders_1 = decoders_1_mut;
|
|
205
|
+
if (!(0, List_js_1.isEmpty)(decoders_1)) {
|
|
206
|
+
let decodingResult;
|
|
207
|
+
try {
|
|
208
|
+
decodingResult = (0, List_js_1.head)(decoders_1).Decode(helpers, value);
|
|
209
|
+
}
|
|
210
|
+
catch (e) {
|
|
211
|
+
decodingResult = (0, Result_js_1.FSharpResult$2_Error)(["", (0, Types_fs_js_1.ErrorReason$1_FailMessage)(e.message)]);
|
|
212
|
+
}
|
|
213
|
+
if (decodingResult.tag === /* Error */ 1) {
|
|
214
|
+
errors_mut = (0, List_js_1.cons)(decodingResult.fields[0], errors);
|
|
215
|
+
decoders_1_mut = (0, List_js_1.tail)(decoders_1);
|
|
216
|
+
continue loop;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
return (0, Result_js_1.FSharpResult$2_Ok)(decodingResult.fields[0]);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
return (0, Result_js_1.FSharpResult$2_Error)(["", (0, Types_fs_js_1.ErrorReason$1_BadOneOf)(errors)]);
|
|
224
|
+
}
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
return loop((0, List_js_1.empty)(), decoders);
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
}
|
|
@@ -10,6 +10,8 @@ exports.defaultSpaces = defaultSpaces;
|
|
|
10
10
|
exports.dateTime = dateTime;
|
|
11
11
|
exports.addPropertyToObject = addPropertyToObject;
|
|
12
12
|
exports.resizeArrayOrSingleton = resizeArrayOrSingleton;
|
|
13
|
+
exports.dictionary = dictionary;
|
|
14
|
+
exports.intDictionary = intDictionary;
|
|
13
15
|
const Option_js_1 = require("@fable-org/fable-library-js/Option.js");
|
|
14
16
|
const Types_fs_js_1 = require("../fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js");
|
|
15
17
|
const Seq_js_1 = require("@fable-org/fable-library-js/Seq.js");
|
|
@@ -17,6 +19,8 @@ const Encode_fs_js_1 = require("../fable_modules/Thoth.Json.Core.0.4.0/Encode.fs
|
|
|
17
19
|
const Array_js_1 = require("@fable-org/fable-library-js/Array.js");
|
|
18
20
|
const List_js_1 = require("@fable-org/fable-library-js/List.js");
|
|
19
21
|
const Date_js_1 = require("@fable-org/fable-library-js/Date.js");
|
|
22
|
+
const CollectionUtil_js_1 = require("@fable-org/fable-library-js/CollectionUtil.js");
|
|
23
|
+
const String_js_1 = require("@fable-org/fable-library-js/String.js");
|
|
20
24
|
/**
|
|
21
25
|
* Try to encode the given object using the given encoder, or return Encode.nil if the object is null
|
|
22
26
|
*/
|
|
@@ -73,3 +77,41 @@ function resizeArrayOrSingleton(encoder, values) {
|
|
|
73
77
|
return (0, Encode_fs_js_1.seq)((0, Seq_js_1.map)(encoder, values));
|
|
74
78
|
}
|
|
75
79
|
}
|
|
80
|
+
function dictionary(keyEncoder, valueEncoder, values) {
|
|
81
|
+
if ((0, CollectionUtil_js_1.count)(values) === 0) {
|
|
82
|
+
return {
|
|
83
|
+
Encode(helpers) {
|
|
84
|
+
return helpers.encodeNull();
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return (0, Encode_fs_js_1.seq)((0, Seq_js_1.toArray)((0, Seq_js_1.map)((_arg) => {
|
|
90
|
+
const activePatternResult = _arg;
|
|
91
|
+
return (0, Encode_fs_js_1.tuple2)(keyEncoder, valueEncoder, activePatternResult[0], activePatternResult[1]);
|
|
92
|
+
}, values)));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function intDictionary(valueEncoder, values) {
|
|
96
|
+
if ((0, CollectionUtil_js_1.count)(values) === 0) {
|
|
97
|
+
return {
|
|
98
|
+
Encode(helpers) {
|
|
99
|
+
return helpers.encodeNull();
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return (0, Encode_fs_js_1.seq)((0, Seq_js_1.toArray)((0, Seq_js_1.map)((_arg) => {
|
|
105
|
+
const activePatternResult = _arg;
|
|
106
|
+
const k = activePatternResult[0] | 0;
|
|
107
|
+
if ((k > 2147483647) ? true : (k < -2147483648)) {
|
|
108
|
+
(0, String_js_1.toFail)((0, String_js_1.printf)("Key %d is out of bounds for Int32"))(k);
|
|
109
|
+
}
|
|
110
|
+
return (0, Encode_fs_js_1.tuple2)((value) => ({
|
|
111
|
+
Encode(helpers_1) {
|
|
112
|
+
return helpers_1.encodeSignedIntegralNumber(value);
|
|
113
|
+
},
|
|
114
|
+
}), valueEncoder, k, activePatternResult[1]);
|
|
115
|
+
}, values)));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
@@ -1,60 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decoder = void 0;
|
|
3
|
+
exports.decoder = exports.decoderV2Deprecated = void 0;
|
|
4
4
|
exports.encoder = encoder;
|
|
5
|
-
exports.encoderCompressedColumn = encoderCompressedColumn;
|
|
6
5
|
exports.decoderCompressedColumn = decoderCompressedColumn;
|
|
7
6
|
exports.arrayi = arrayi;
|
|
8
7
|
exports.encoderCompressed = encoderCompressed;
|
|
8
|
+
exports.decoderCompressedV2Deprecated = decoderCompressedV2Deprecated;
|
|
9
9
|
exports.decoderCompressed = decoderCompressed;
|
|
10
|
-
const
|
|
10
|
+
const Util_js_1 = require("@fable-org/fable-library-js/Util.js");
|
|
11
|
+
const CompositeCell_js_1 = require("./CompositeCell.js");
|
|
12
|
+
const MapUtil_js_1 = require("@fable-org/fable-library-js/MapUtil.js");
|
|
11
13
|
const Types_fs_js_1 = require("../../fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js");
|
|
14
|
+
const Seq_js_1 = require("@fable-org/fable-library-js/Seq.js");
|
|
12
15
|
const Encode_fs_js_1 = require("../../fable_modules/Thoth.Json.Core.0.4.0/Encode.fs.js");
|
|
13
16
|
const CompositeHeader_js_1 = require("./CompositeHeader.js");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const Util_js_1 = require("@fable-org/fable-library-js/Util.js");
|
|
17
|
+
const Encode_js_1 = require("../Encode.js");
|
|
18
|
+
const ArcTableAux_js_1 = require("../../Core/Table/ArcTableAux.js");
|
|
17
19
|
const ArcTable_js_1 = require("../../Core/Table/ArcTable.js");
|
|
18
20
|
const Decode_fs_js_1 = require("../../fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js");
|
|
19
21
|
const Option_js_1 = require("@fable-org/fable-library-js/Option.js");
|
|
20
22
|
const List_js_1 = require("@fable-org/fable-library-js/List.js");
|
|
21
23
|
const MutableMap_js_1 = require("@fable-org/fable-library-js/MutableMap.js");
|
|
24
|
+
const Map_js_1 = require("@fable-org/fable-library-js/Map.js");
|
|
25
|
+
const Decode_js_1 = require("../Decode.js");
|
|
26
|
+
const Result_js_1 = require("@fable-org/fable-library-js/Result.js");
|
|
22
27
|
const CellTable_js_1 = require("./CellTable.js");
|
|
23
|
-
const MapUtil_js_1 = require("@fable-org/fable-library-js/MapUtil.js");
|
|
24
|
-
const Range_js_1 = require("@fable-org/fable-library-js/Range.js");
|
|
25
28
|
const Array_js_1 = require("@fable-org/fable-library-js/Array.js");
|
|
26
|
-
const Result_js_1 = require("@fable-org/fable-library-js/Result.js");
|
|
27
29
|
const StringTable_js_1 = require("../StringTable.js");
|
|
28
30
|
function encoder(table) {
|
|
31
|
+
const valueMap = table.Values.ValueMap;
|
|
32
|
+
const cellEncoder = (hash) => (0, CompositeCell_js_1.encoder)((0, MapUtil_js_1.getItemFromDict)(valueMap, hash));
|
|
29
33
|
const values = (0, Seq_js_1.toList)((0, Seq_js_1.delay)(() => {
|
|
30
|
-
let
|
|
31
|
-
return (0, Seq_js_1.append)((0, Seq_js_1.singleton)(["name", (
|
|
32
|
-
Encode(helpers_2) {
|
|
33
|
-
return helpers_2.encodeString(value_4);
|
|
34
|
-
},
|
|
35
|
-
})]), (0, Seq_js_1.delay)(() => (0, Seq_js_1.append)((table.Headers.length !== 0) ? (0, Seq_js_1.singleton)(["header", (0, Encode_fs_js_1.list)((0, Seq_js_1.toList)((0, Seq_js_1.delay)(() => (0, Seq_js_1.map)(CompositeHeader_js_1.encoder, table.Headers))))]) : (0, Seq_js_1.empty)(), (0, Seq_js_1.delay)(() => ((table.Values.size !== 0) ? (0, Seq_js_1.singleton)(["values", (0, Encode_fs_js_1.map)((tupledArg) => (0, Encode_fs_js_1.tuple2)((value) => ({
|
|
34
|
+
let value;
|
|
35
|
+
return (0, Seq_js_1.append)((0, Seq_js_1.singleton)(["name", (value = table.Name, {
|
|
36
36
|
Encode(helpers) {
|
|
37
|
-
return helpers.
|
|
37
|
+
return helpers.encodeString(value);
|
|
38
38
|
},
|
|
39
|
-
}), (
|
|
40
|
-
|
|
41
|
-
return
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}, table.Values))
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
})]), (0, Seq_js_1.delay)(() => (0, Seq_js_1.append)((table.Headers.length !== 0) ? (0, Seq_js_1.singleton)(["headers", (0, Encode_fs_js_1.list)((0, Seq_js_1.toList)((0, Seq_js_1.delay)(() => (0, Seq_js_1.map)(CompositeHeader_js_1.encoder, table.Headers))))]) : (0, Seq_js_1.empty)(), (0, Seq_js_1.delay)(() => ((table.Values.RowCount !== 0) ? (0, Seq_js_1.append)((0, Seq_js_1.singleton)(["columns", (0, Encode_js_1.intDictionary)((col) => {
|
|
40
|
+
if (col.tag === /* Sparse */ 1) {
|
|
41
|
+
return (0, Encode_js_1.intDictionary)(cellEncoder, col.fields[0]);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return cellEncoder(col.fields[0]);
|
|
45
|
+
}
|
|
46
|
+
}, table.Values.Columns)]), (0, Seq_js_1.delay)(() => {
|
|
47
|
+
let value_1;
|
|
48
|
+
return (0, Seq_js_1.singleton)(["rowCount", (value_1 = (table.RowCount | 0), {
|
|
49
|
+
Encode(helpers_1) {
|
|
50
|
+
return helpers_1.encodeSignedIntegralNumber(value_1);
|
|
51
|
+
},
|
|
52
|
+
})]);
|
|
53
|
+
})) : (0, Seq_js_1.empty)())))));
|
|
49
54
|
}));
|
|
50
55
|
return {
|
|
51
|
-
Encode(
|
|
52
|
-
const arg = (0, Seq_js_1.map)((
|
|
53
|
-
return
|
|
56
|
+
Encode(helpers_2) {
|
|
57
|
+
const arg = (0, Seq_js_1.map)((tupledArg) => [tupledArg[0], tupledArg[1].Encode(helpers_2)], values);
|
|
58
|
+
return helpers_2.encodeObject(arg);
|
|
54
59
|
},
|
|
55
60
|
};
|
|
56
61
|
}
|
|
57
|
-
exports.
|
|
62
|
+
exports.decoderV2Deprecated = (0, Decode_fs_js_1.object)((get$) => {
|
|
58
63
|
let arg_1, objectArg, arg_3, objectArg_1, objectArg_2;
|
|
59
64
|
let decodedHeader;
|
|
60
65
|
const collection = (0, Option_js_1.defaultArg)((arg_1 = (0, Decode_fs_js_1.list)(CompositeHeader_js_1.decoder), (objectArg = get$.Optional, objectArg.Field("header", arg_1))), (0, List_js_1.empty)());
|
|
@@ -65,67 +70,35 @@ exports.decoder = (0, Decode_fs_js_1.object)((get$) => {
|
|
|
65
70
|
Equals: Util_js_1.equalArrays,
|
|
66
71
|
GetHashCode: Util_js_1.arrayHash,
|
|
67
72
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const arg = (0, Array_js_1.map)((v) => v.Encode(helpers), values);
|
|
76
|
-
return helpers.encodeArray(arg);
|
|
77
|
-
},
|
|
78
|
-
};
|
|
73
|
+
const t = ArcTable_js_1.ArcTable.create((objectArg_2 = get$.Required, objectArg_2.Field("name", Decode_fs_js_1.string)), decodedHeader, []);
|
|
74
|
+
let enumerator = (0, Util_js_1.getEnumerator)(decodedValues);
|
|
75
|
+
try {
|
|
76
|
+
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
77
|
+
const activePatternResult = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
78
|
+
t.SetCellAt(activePatternResult[0][0], activePatternResult[0][1], activePatternResult[1]);
|
|
79
|
+
}
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
let from = 0;
|
|
83
|
-
const values_3 = (0, Seq_js_1.toArray)((0, Seq_js_1.delay)(() => (0, Seq_js_1.append)((0, Seq_js_1.collect)((i) => {
|
|
84
|
-
let values_1, value, value_1;
|
|
85
|
-
const next = (0, MapUtil_js_1.getItemFromDict)(table.Values, [columnIndex, i]);
|
|
86
|
-
return !(0, Util_js_1.equals)(next, current) ? (0, Seq_js_1.append)((0, Seq_js_1.singleton)((values_1 = [["f", (value = (from | 0), {
|
|
87
|
-
Encode(helpers_1) {
|
|
88
|
-
return helpers_1.encodeSignedIntegralNumber(value);
|
|
89
|
-
},
|
|
90
|
-
})], ["t", (value_1 = ((i - 1) | 0), {
|
|
91
|
-
Encode(helpers_2) {
|
|
92
|
-
return helpers_2.encodeSignedIntegralNumber(value_1);
|
|
93
|
-
},
|
|
94
|
-
})], ["v", (0, CellTable_js_1.encodeCell)(cellTable, current)]], {
|
|
95
|
-
Encode(helpers_3) {
|
|
96
|
-
const arg_1 = (0, Seq_js_1.map)((tupledArg) => [tupledArg[0], tupledArg[1].Encode(helpers_3)], values_1);
|
|
97
|
-
return helpers_3.encodeObject(arg_1);
|
|
98
|
-
},
|
|
99
|
-
})), (0, Seq_js_1.delay)(() => {
|
|
100
|
-
current = next;
|
|
101
|
-
from = (i | 0);
|
|
102
|
-
return (0, Seq_js_1.empty)();
|
|
103
|
-
})) : (0, Seq_js_1.empty)();
|
|
104
|
-
}, (0, Range_js_1.rangeDouble)(1, 1, rowCount - 1)), (0, Seq_js_1.delay)(() => {
|
|
105
|
-
let values_2, value_2, value_3;
|
|
106
|
-
return (0, Seq_js_1.singleton)((values_2 = [["f", (value_2 = (from | 0), {
|
|
107
|
-
Encode(helpers_4) {
|
|
108
|
-
return helpers_4.encodeSignedIntegralNumber(value_2);
|
|
109
|
-
},
|
|
110
|
-
})], ["t", (value_3 = ((rowCount - 1) | 0), {
|
|
111
|
-
Encode(helpers_5) {
|
|
112
|
-
return helpers_5.encodeSignedIntegralNumber(value_3);
|
|
113
|
-
},
|
|
114
|
-
})], ["v", (0, CellTable_js_1.encodeCell)(cellTable, current)]], {
|
|
115
|
-
Encode(helpers_6) {
|
|
116
|
-
const arg_2 = (0, Seq_js_1.map)((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_6)], values_2);
|
|
117
|
-
return helpers_6.encodeObject(arg_2);
|
|
118
|
-
},
|
|
119
|
-
}));
|
|
120
|
-
}))));
|
|
121
|
-
return {
|
|
122
|
-
Encode(helpers_7) {
|
|
123
|
-
const arg_3 = (0, Array_js_1.map)((v_3) => v_3.Encode(helpers_7), values_3);
|
|
124
|
-
return helpers_7.encodeArray(arg_3);
|
|
125
|
-
},
|
|
126
|
-
};
|
|
81
|
+
finally {
|
|
82
|
+
(0, Util_js_1.disposeSafe)(enumerator);
|
|
127
83
|
}
|
|
128
|
-
|
|
84
|
+
return t;
|
|
85
|
+
});
|
|
86
|
+
exports.decoder = (() => {
|
|
87
|
+
const valueMap = new Map([]);
|
|
88
|
+
const cellDecoder = (0, Decode_fs_js_1.map)((cell) => (0, ArcTableAux_js_1.ensureCellHashInValueMap)(cell, valueMap), CompositeCell_js_1.decoder);
|
|
89
|
+
const columnDecoder = (0, Decode_js_1.Decode_tryOneOf)((0, List_js_1.ofArray)([(0, Decode_fs_js_1.map)(ArcTableAux_js_1.ColumnValueRefs_Constant, cellDecoder), (0, Decode_fs_js_1.map)(ArcTableAux_js_1.ColumnValueRefs_Sparse, (0, Decode_js_1.Decode_intDictionary)(cellDecoder))]));
|
|
90
|
+
const decoder_1 = (0, Decode_fs_js_1.object)((get$) => {
|
|
91
|
+
let arg_1, objectArg, arg_3, objectArg_1, objectArg_2, objectArg_3;
|
|
92
|
+
const decodedHeader = (0, Option_js_1.defaultArg)((arg_1 = (0, Decode_fs_js_1.resizeArray)(CompositeHeader_js_1.decoder), (objectArg = get$.Optional, objectArg.Field("headers", arg_1))), []);
|
|
93
|
+
const values = new ArcTableAux_js_1.ArcTableValues((0, Option_js_1.defaultArg)((arg_3 = (0, Decode_js_1.Decode_dictionary)(Decode_fs_js_1.int, columnDecoder), (objectArg_1 = get$.Optional, objectArg_1.Field("columns", arg_3))), new Map([])), valueMap, (0, Option_js_1.defaultArg)((objectArg_2 = get$.Optional, objectArg_2.Field("rowCount", Decode_fs_js_1.int)), 0));
|
|
94
|
+
return ArcTable_js_1.ArcTable.fromArcTableValues((objectArg_3 = get$.Required, objectArg_3.Field("name", Decode_fs_js_1.string)), decodedHeader, values);
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
Decode(helper, column) {
|
|
98
|
+
return helper.hasProperty("values", column) ? exports.decoderV2Deprecated.Decode(helper, column) : decoder_1.Decode(helper, column);
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
})();
|
|
129
102
|
function decoderCompressedColumn(cellTable, table, columnIndex) {
|
|
130
103
|
return {
|
|
131
104
|
Decode(helper, column) {
|
|
@@ -144,7 +117,7 @@ function decoderCompressedColumn(cellTable, table, columnIndex) {
|
|
|
144
117
|
const objectArg_2 = get$.Required;
|
|
145
118
|
value = objectArg_2.Field("v", arg_5);
|
|
146
119
|
for (let i = from; i <= to_; i++) {
|
|
147
|
-
(0,
|
|
120
|
+
(0, ArcTableAux_js_1.Unchecked_setCellAt)(columnIndex, i, value, table.Values);
|
|
148
121
|
}
|
|
149
122
|
});
|
|
150
123
|
const matchValue_1 = (0, Decode_fs_js_1.array)(rangeDecoder).Decode(helper, column);
|
|
@@ -152,7 +125,7 @@ function decoderCompressedColumn(cellTable, table, columnIndex) {
|
|
|
152
125
|
}
|
|
153
126
|
else {
|
|
154
127
|
(0, Array_js_1.iterateIndexed)((r, cell) => {
|
|
155
|
-
(0,
|
|
128
|
+
(0, ArcTableAux_js_1.Unchecked_setCellAt)(columnIndex, r, cell, table.Values);
|
|
156
129
|
}, matchValue.fields[0]);
|
|
157
130
|
return (0, Result_js_1.FSharpResult$2_Ok)(undefined);
|
|
158
131
|
}
|
|
@@ -192,39 +165,53 @@ function arrayi(decoderi) {
|
|
|
192
165
|
};
|
|
193
166
|
}
|
|
194
167
|
function encoderCompressed(stringTable, oaTable, cellTable, table) {
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
168
|
+
const cellEncoder = (hash) => (0, CellTable_js_1.encodeCell)(cellTable, (0, MapUtil_js_1.getItemFromDict)(table.Values.ValueMap, hash));
|
|
169
|
+
const values = (0, Seq_js_1.toList)((0, Seq_js_1.delay)(() => (0, Seq_js_1.append)((0, Seq_js_1.singleton)(["n", (0, StringTable_js_1.encodeString)(stringTable, table.Name)]), (0, Seq_js_1.delay)(() => (0, Seq_js_1.append)((table.Headers.length !== 0) ? (0, Seq_js_1.singleton)(["h", (0, Encode_fs_js_1.list)((0, Seq_js_1.toList)((0, Seq_js_1.delay)(() => (0, Seq_js_1.map)(CompositeHeader_js_1.encoder, table.Headers))))]) : (0, Seq_js_1.empty)(), (0, Seq_js_1.delay)(() => ((table.Values.RowCount !== 0) ? (0, Seq_js_1.append)((0, Seq_js_1.singleton)(["c", (0, Encode_js_1.intDictionary)((col) => {
|
|
170
|
+
if (col.tag === /* Sparse */ 1) {
|
|
171
|
+
return (0, Encode_js_1.intDictionary)(cellEncoder, col.fields[0]);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
return cellEncoder(col.fields[0]);
|
|
175
|
+
}
|
|
176
|
+
}, table.Values.Columns)]), (0, Seq_js_1.delay)(() => {
|
|
177
|
+
let value;
|
|
178
|
+
return (0, Seq_js_1.singleton)(["r", (value = (table.RowCount | 0), {
|
|
179
|
+
Encode(helpers) {
|
|
180
|
+
return helpers.encodeSignedIntegralNumber(value);
|
|
181
|
+
},
|
|
182
|
+
})]);
|
|
183
|
+
})) : (0, Seq_js_1.empty)())))))));
|
|
210
184
|
return {
|
|
211
185
|
Encode(helpers_1) {
|
|
212
|
-
const
|
|
213
|
-
return helpers_1.encodeObject(
|
|
186
|
+
const arg = (0, Seq_js_1.map)((tupledArg) => [tupledArg[0], tupledArg[1].Encode(helpers_1)], values);
|
|
187
|
+
return helpers_1.encodeObject(arg);
|
|
214
188
|
},
|
|
215
189
|
};
|
|
216
190
|
}
|
|
217
|
-
function
|
|
191
|
+
function decoderCompressedV2Deprecated(stringTable, oaTable, cellTable) {
|
|
218
192
|
return (0, Decode_fs_js_1.object)((get$) => {
|
|
219
193
|
let arg_1, objectArg, arg_3, objectArg_1, arg_5, objectArg_2;
|
|
220
194
|
let decodedHeader;
|
|
221
195
|
const collection = (0, Option_js_1.defaultArg)((arg_1 = (0, Decode_fs_js_1.list)(CompositeHeader_js_1.decoder), (objectArg = get$.Optional, objectArg.Field("h", arg_1))), (0, List_js_1.empty)());
|
|
222
196
|
decodedHeader = Array.from(collection);
|
|
223
|
-
const table = ArcTable_js_1.ArcTable.create((arg_3 = (0, StringTable_js_1.decodeString)(stringTable), (objectArg_1 = get$.Required, objectArg_1.Field("n", arg_3))), decodedHeader,
|
|
224
|
-
Equals: Util_js_1.equalArrays,
|
|
225
|
-
GetHashCode: Util_js_1.arrayHash,
|
|
226
|
-
}));
|
|
197
|
+
const table = ArcTable_js_1.ArcTable.create((arg_3 = (0, StringTable_js_1.decodeString)(stringTable), (objectArg_1 = get$.Required, objectArg_1.Field("n", arg_3))), decodedHeader, []);
|
|
227
198
|
(arg_5 = arrayi((columnIndex) => decoderCompressedColumn(cellTable, table, columnIndex)), (objectArg_2 = get$.Optional, objectArg_2.Field("c", arg_5)));
|
|
228
199
|
return table;
|
|
229
200
|
});
|
|
230
201
|
}
|
|
202
|
+
function decoderCompressed(stringTable, oaTable, cellTable) {
|
|
203
|
+
const valueMap = new Map([]);
|
|
204
|
+
const cellDecoder = (0, Decode_fs_js_1.map)((i) => (0, ArcTableAux_js_1.ensureCellHashInValueMap)((0, Array_js_1.item)(i, cellTable), valueMap), Decode_fs_js_1.int);
|
|
205
|
+
const columnDecoder = (0, Decode_js_1.Decode_tryOneOf)((0, List_js_1.ofArray)([(0, Decode_fs_js_1.map)(ArcTableAux_js_1.ColumnValueRefs_Constant, cellDecoder), (0, Decode_fs_js_1.map)(ArcTableAux_js_1.ColumnValueRefs_Sparse, (0, Decode_js_1.Decode_intDictionary)(cellDecoder))]));
|
|
206
|
+
const decoder_1 = (0, Decode_fs_js_1.object)((get$) => {
|
|
207
|
+
let arg_1, objectArg, arg_3, objectArg_1, objectArg_2, arg_7, objectArg_3;
|
|
208
|
+
const decodedHeader = (0, Option_js_1.defaultArg)((arg_1 = (0, Decode_fs_js_1.resizeArray)(CompositeHeader_js_1.decoder), (objectArg = get$.Optional, objectArg.Field("h", arg_1))), []);
|
|
209
|
+
const values = new ArcTableAux_js_1.ArcTableValues((0, Option_js_1.defaultArg)((arg_3 = (0, Decode_js_1.Decode_dictionary)(Decode_fs_js_1.int, columnDecoder), (objectArg_1 = get$.Optional, objectArg_1.Field("c", arg_3))), new Map([])), valueMap, (0, Option_js_1.defaultArg)((objectArg_2 = get$.Optional, objectArg_2.Field("r", Decode_fs_js_1.int)), 0));
|
|
210
|
+
return ArcTable_js_1.ArcTable.fromArcTableValues((arg_7 = (0, StringTable_js_1.decodeString)(stringTable), (objectArg_3 = get$.Required, objectArg_3.Field("n", arg_7))), decodedHeader, values);
|
|
211
|
+
});
|
|
212
|
+
return {
|
|
213
|
+
Decode(helper, column) {
|
|
214
|
+
return !helper.hasProperty("r", column) ? decoderCompressedV2Deprecated(stringTable, oaTable, cellTable).Decode(helper, column) : decoder_1.Decode(helper, column);
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
}
|