@nfdi4plants/arctrl 2.3.1 → 2.4.0
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/Core/Table/ArcTable.js +6 -0
- package/Core/Table/CompositeHeader.js +4 -0
- package/Json/Assay.js +1 -1
- package/Json/Investigation.js +5 -4
- package/Json/Study.js +5 -4
- package/Json/context/rocrate/isa_investigation_context.js +2 -2
- package/Json/context/rocrate/isa_study_context.js +15 -11
- package/Json/context/rocrate/rocrate_context.js +1 -1
- package/README.md +12 -3
- package/Spreadsheet/DataMap.js +11 -3
- package/Xlsx.js +21 -8
- package/package.json +1 -1
package/Core/Table/ArcTable.js
CHANGED
|
@@ -83,10 +83,16 @@ export class ArcTable {
|
|
|
83
83
|
const this$ = this;
|
|
84
84
|
return getColumnCount(this$.Headers) | 0;
|
|
85
85
|
}
|
|
86
|
+
static columnCount(table) {
|
|
87
|
+
return table.ColumnCount;
|
|
88
|
+
}
|
|
86
89
|
get RowCount() {
|
|
87
90
|
const this$ = this;
|
|
88
91
|
return getRowCount(this$.Values) | 0;
|
|
89
92
|
}
|
|
93
|
+
static rowCount(table) {
|
|
94
|
+
return table.RowCount;
|
|
95
|
+
}
|
|
90
96
|
get Columns() {
|
|
91
97
|
const this$ = this;
|
|
92
98
|
return toArray(delay(() => map((i) => this$.GetColumn(i), rangeDouble(0, 1, this$.ColumnCount - 1))));
|
|
@@ -490,6 +490,10 @@ export class CompositeHeader extends Union {
|
|
|
490
490
|
const this$ = this;
|
|
491
491
|
return (this$.tag === 3) ? (new CompositeHeader(3, [this$.fields[0].Copy()])) : ((this$.tag === 2) ? (new CompositeHeader(2, [this$.fields[0].Copy()])) : ((this$.tag === 1) ? (new CompositeHeader(1, [this$.fields[0].Copy()])) : ((this$.tag === 0) ? (new CompositeHeader(0, [this$.fields[0].Copy()])) : this$)));
|
|
492
492
|
}
|
|
493
|
+
TryGetTerm() {
|
|
494
|
+
const this$ = this;
|
|
495
|
+
return (this$.tag === 3) ? this$.fields[0] : ((this$.tag === 2) ? this$.fields[0] : ((this$.tag === 1) ? this$.fields[0] : ((this$.tag === 0) ? this$.fields[0] : undefined)));
|
|
496
|
+
}
|
|
493
497
|
static component(oa) {
|
|
494
498
|
return new CompositeHeader(0, [oa]);
|
|
495
499
|
}
|
package/Json/Assay.js
CHANGED
package/Json/Investigation.js
CHANGED
|
@@ -10,6 +10,7 @@ import { ISAJson_decoder as ISAJson_decoder_5, ISAJson_encoder as ISAJson_encode
|
|
|
10
10
|
import { concat, map as map_1 } from "../fable_modules/fable-library-js.4.24.0/Seq.js";
|
|
11
11
|
import { list as list_1, resizeArray, string, object } from "../fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js";
|
|
12
12
|
import { ArcInvestigation } from "../Core/ArcTypes.js";
|
|
13
|
+
import { toString, today } from "../fable_modules/fable-library-js.4.24.0/Date.js";
|
|
13
14
|
import { context_jsonvalue } from "./context/rocrate/isa_investigation_context.js";
|
|
14
15
|
import { createMissingIdentifier } from "../Core/Helper/Identifier.js";
|
|
15
16
|
import { distinctBy } from "../fable_modules/fable-library-js.4.24.0/Seq2.js";
|
|
@@ -104,7 +105,7 @@ export function ROCrate_genID(i) {
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
export function ROCrate_encoder(oa) {
|
|
107
|
-
let value, value_3, value_4;
|
|
108
|
+
let value, value_3, value_4, value_12, copyOfStruct;
|
|
108
109
|
const values = choose((tupledArg) => map((v_1) => [tupledArg[0], v_1], tupledArg[1]), ofArray([["@id", (value = ROCrate_genID(oa), {
|
|
109
110
|
Encode(helpers) {
|
|
110
111
|
return helpers.encodeString(value);
|
|
@@ -137,11 +138,11 @@ export function ROCrate_encoder(oa) {
|
|
|
137
138
|
Encode(helpers_7) {
|
|
138
139
|
return helpers_7.encodeString(value_9);
|
|
139
140
|
},
|
|
140
|
-
}), oa.SubmissionDate),
|
|
141
|
+
}), oa.SubmissionDate), ["publicReleaseDate", (value_12 = defaultArg(oa.PublicReleaseDate, (copyOfStruct = today(), toString(copyOfStruct, "yyyy-MM-dd"))), {
|
|
141
142
|
Encode(helpers_8) {
|
|
142
|
-
return helpers_8.encodeString(
|
|
143
|
+
return helpers_8.encodeString(value_12);
|
|
143
144
|
},
|
|
144
|
-
}),
|
|
145
|
+
})], tryIncludeSeq("ontologySourceReferences", ROCrate_encoder_1, oa.OntologySourceReferences), tryIncludeSeq("publications", ROCrate_encoder_2, oa.Publications), tryIncludeSeq("people", ROCrate_encoder_3, oa.Contacts), tryIncludeSeq("studies", (s) => ROCrate_encoder_4(undefined, s), oa.Studies), tryIncludeSeq("comments", ROCrate_encoder_5, oa.Comments), ["@context", context_jsonvalue]]));
|
|
145
146
|
return {
|
|
146
147
|
Encode(helpers_9) {
|
|
147
148
|
const arg = map_1((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_9)], values);
|
package/Json/Study.js
CHANGED
|
@@ -8,7 +8,7 @@ import { ISAJson_decoder as ISAJson_decoder_3, ISAJson_encoder as ISAJson_encode
|
|
|
8
8
|
import { OntologyAnnotation_ISAJson_decoder, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ROCrate_decoderDefinedTerm, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_decoder, OntologyAnnotation_encoder } from "./OntologyAnnotation.js";
|
|
9
9
|
import { decoderCompressed as decoderCompressed_1, encoderCompressed as encoderCompressed_1, decoder as decoder_4, encoder as encoder_7 } from "./Table/ArcTable.js";
|
|
10
10
|
import { decoderCompressed as decoderCompressed_2, encoderCompressed as encoderCompressed_2, decoder as decoder_5, encoder as encoder_8 } from "./DataMap/DataMap.js";
|
|
11
|
-
import { ISAJson_decoder as ISAJson_decoder_5, ISAJson_encoder as ISAJson_encoder_6, ROCrate_decoder as ROCrate_decoder_5, ROCrate_encoder as
|
|
11
|
+
import { ISAJson_decoder as ISAJson_decoder_5, ISAJson_encoder as ISAJson_encoder_6, ROCrate_decoder as ROCrate_decoder_5, ROCrate_encoder as ROCrate_encoder_6, decoder as decoder_6, encoder as encoder_9 } from "./Comment.js";
|
|
12
12
|
import { isEmpty, map as map_1 } from "../fable_modules/fable-library-js.4.24.0/Seq.js";
|
|
13
13
|
import { list as list_2, resizeArray, string, object } from "../fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js";
|
|
14
14
|
import { replace } from "../fable_modules/fable-library-js.4.24.0/String.js";
|
|
@@ -17,9 +17,10 @@ import { Person_removeSourceAssayComments, Person_getSourceAssayIdentifiersFromC
|
|
|
17
17
|
import { list as list_1 } from "../fable_modules/Thoth.Json.Core.0.4.0/Encode.fs.js";
|
|
18
18
|
import { ISAJson_decoder as ISAJson_decoder_1, ISAJson_encoder as ISAJson_encoder_4, ROCrate_decoder as ROCrate_decoder_2, ROCrate_encoder as ROCrate_encoder_3 } from "./Process/Process.js";
|
|
19
19
|
import { ISAJson_decoder as ISAJson_decoder_2, ISAJson_encoder as ISAJson_encoder_5, ROCrate_decoder as ROCrate_decoder_1, ROCrate_encoder as ROCrate_encoder_4 } from "./Assay.js";
|
|
20
|
+
import { ROCrate_encoder as ROCrate_encoder_5 } from "./Data.js";
|
|
21
|
+
import { getProtocols, getCharacteristics, getFactors, getUnits, getData } from "../Core/Process/ProcessSequence.js";
|
|
20
22
|
import { context_jsonvalue } from "./context/rocrate/isa_study_context.js";
|
|
21
23
|
import { disposeSafe, getEnumerator } from "../fable_modules/fable-library-js.4.24.0/Util.js";
|
|
22
|
-
import { getProtocols, getCharacteristics, getFactors, getUnits } from "../Core/Process/ProcessSequence.js";
|
|
23
24
|
import { encoder as encoder_10 } from "./Process/Factor.js";
|
|
24
25
|
import { encoder as encoder_11 } from "./Process/MaterialAttribute.js";
|
|
25
26
|
import { encoder as encoder_12 } from "./Process/StudyMaterials.js";
|
|
@@ -127,7 +128,7 @@ export function ROCrate_genID(a) {
|
|
|
127
128
|
return "#EmptyStudy";
|
|
128
129
|
}
|
|
129
130
|
else {
|
|
130
|
-
return
|
|
131
|
+
return `studies/${replace(matchValue, " ", "_")}/`;
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
|
|
@@ -172,7 +173,7 @@ export function ROCrate_encoder(assays, s) {
|
|
|
172
173
|
Encode(helpers_8) {
|
|
173
174
|
return helpers_8.encodeString(value_12);
|
|
174
175
|
},
|
|
175
|
-
}), s.PublicReleaseDate), tryIncludeSeq("publications", ROCrate_encoder_1, s.Publications), tryIncludeSeq("people", ROCrate_encoder_2, s.Contacts), tryIncludeList("processSequence", (studyName = s.Identifier, (oa_3) => ROCrate_encoder_3(studyName, undefined, oa_3)), processes), tryIncludeSeq("assays", (studyName_1 = s.Identifier, (a_1) => ROCrate_encoder_4(studyName_1, a_1)), assays_1), tryIncludeSeq("comments",
|
|
176
|
+
}), s.PublicReleaseDate), tryIncludeSeq("publications", ROCrate_encoder_1, s.Publications), tryIncludeSeq("people", ROCrate_encoder_2, s.Contacts), tryIncludeList("processSequence", (studyName = s.Identifier, (oa_3) => ROCrate_encoder_3(studyName, undefined, oa_3)), processes), tryIncludeSeq("assays", (studyName_1 = s.Identifier, (a_1) => ROCrate_encoder_4(studyName_1, a_1)), assays_1), tryIncludeList("dataFiles", ROCrate_encoder_5, getData(processes)), tryIncludeSeq("comments", ROCrate_encoder_6, s.Comments), ["@context", context_jsonvalue]]));
|
|
176
177
|
return {
|
|
177
178
|
Encode(helpers_9) {
|
|
178
179
|
const arg = map_1((tupledArg_1) => [tupledArg_1[0], tupledArg_1[1].Encode(helpers_9)], values);
|
|
@@ -42,7 +42,7 @@ export const context_jsonvalue = (() => {
|
|
|
42
42
|
},
|
|
43
43
|
}], ["title", {
|
|
44
44
|
Encode(helpers_3) {
|
|
45
|
-
return helpers_3.encodeString("sdo:
|
|
45
|
+
return helpers_3.encodeString("sdo:name");
|
|
46
46
|
},
|
|
47
47
|
}], ["additionalType", {
|
|
48
48
|
Encode(helpers_4) {
|
|
@@ -93,5 +93,5 @@ export const context_jsonvalue = (() => {
|
|
|
93
93
|
};
|
|
94
94
|
})();
|
|
95
95
|
|
|
96
|
-
export const context_str = "\r\n{\r\n \"@context\": {\r\n \"sdo\": \"http://schema.org/\",\r\n \"arc\": \"http://purl.org/nfdi4plants/ontology/\",\r\n\r\n \"Investigation\": \"sdo:Dataset\",\r\n\r\n \"identifier\" : \"sdo:identifier\",\r\n \"title\": \"sdo:
|
|
96
|
+
export const context_str = "\r\n{\r\n \"@context\": {\r\n \"sdo\": \"http://schema.org/\",\r\n \"arc\": \"http://purl.org/nfdi4plants/ontology/\",\r\n\r\n \"Investigation\": \"sdo:Dataset\",\r\n\r\n \"identifier\" : \"sdo:identifier\",\r\n \"title\": \"sdo:name\",\r\n \"description\": \"sdo:description\",\r\n \"submissionDate\": \"sdo:dateCreated\",\r\n \"publicReleaseDate\": \"sdo:datePublished\",\r\n \"publications\": \"sdo:citation\",\r\n \"people\": \"sdo:creator\",\r\n \"studies\": \"sdo:hasPart\",\r\n \"ontologySourceReferences\": \"sdo:mentions\",\r\n \"comments\": \"sdo:disambiguatingDescription\",\r\n\r\n \"publications?\": \"sdo:SubjectOf?\",\r\n \"filename\": \"sdo:alternateName\"\r\n }\r\n}\r\n ";
|
|
97
97
|
|
|
@@ -81,27 +81,31 @@ export const context_jsonvalue = (() => {
|
|
|
81
81
|
Encode(helpers_10) {
|
|
82
82
|
return helpers_10.encodeString("sdo:hasPart");
|
|
83
83
|
},
|
|
84
|
-
}], ["
|
|
84
|
+
}], ["dataFiles", {
|
|
85
85
|
Encode(helpers_11) {
|
|
86
|
-
return helpers_11.encodeString("sdo:
|
|
86
|
+
return helpers_11.encodeString("sdo:hasPart");
|
|
87
87
|
},
|
|
88
|
-
}], ["
|
|
88
|
+
}], ["filename", {
|
|
89
89
|
Encode(helpers_12) {
|
|
90
|
-
return helpers_12.encodeString("sdo:
|
|
90
|
+
return helpers_12.encodeString("sdo:alternateName");
|
|
91
91
|
},
|
|
92
|
-
}], ["
|
|
92
|
+
}], ["comments", {
|
|
93
93
|
Encode(helpers_13) {
|
|
94
|
-
return helpers_13.encodeString("sdo:
|
|
94
|
+
return helpers_13.encodeString("sdo:comment");
|
|
95
95
|
},
|
|
96
|
-
}], ["
|
|
96
|
+
}], ["processSequence", {
|
|
97
97
|
Encode(helpers_14) {
|
|
98
|
-
return helpers_14.encodeString("
|
|
98
|
+
return helpers_14.encodeString("sdo:about");
|
|
99
|
+
},
|
|
100
|
+
}], ["studyDesignDescriptors", {
|
|
101
|
+
Encode(helpers_15) {
|
|
102
|
+
return helpers_15.encodeString("arc:ARC#ARC_00000037");
|
|
99
103
|
},
|
|
100
104
|
}]];
|
|
101
105
|
return {
|
|
102
|
-
Encode(
|
|
103
|
-
const arg = map((tupledArg) => [tupledArg[0], tupledArg[1].Encode(
|
|
104
|
-
return
|
|
106
|
+
Encode(helpers_16) {
|
|
107
|
+
const arg = map((tupledArg) => [tupledArg[0], tupledArg[1].Encode(helpers_16)], values);
|
|
108
|
+
return helpers_16.encodeObject(arg);
|
|
105
109
|
},
|
|
106
110
|
};
|
|
107
111
|
})();
|
package/README.md
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+

|
|
3
|
+
|
|
1
4
|
# ARCtrl
|
|
2
5
|
|
|
3
6
|
> **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! ❤️
|
|
@@ -34,9 +37,7 @@ pip install arctrl
|
|
|
34
37
|
|
|
35
38
|
## Docs
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
[Check it out!](/docs)
|
|
40
|
+
Documentation can be found [here](https://nfdi4plants.github.io/nfdi4plants.knowledgebase/arctrl/)
|
|
40
41
|
|
|
41
42
|
## Development
|
|
42
43
|
|
|
@@ -75,6 +76,14 @@ On windows you can use the `setup.cmd` to run the following steps automatically!
|
|
|
75
76
|
|
|
76
77
|
Verify correct setup with `./build.cmd runtests` ✨
|
|
77
78
|
|
|
79
|
+
## Branding
|
|
80
|
+
|
|
81
|
+
Feel free to reference `ARCtrl` on slides or elsewhere using our logos:
|
|
82
|
+
|
|
83
|
+
|Square | Horizontal | Vertical |
|
|
84
|
+
| - | - | - |
|
|
85
|
+
|  |  |  |
|
|
86
|
+
|
|
78
87
|
## Performance
|
|
79
88
|
|
|
80
89
|
Measured on 13th Gen Intel(R) Core(TM) i7-13800H
|
package/Spreadsheet/DataMap.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { printf, toFail } from "../fable_modules/fable-library-js.4.24.0/String.js";
|
|
2
|
-
import { tryPick } from "../fable_modules/fable-library-js.4.24.0/Seq.js";
|
|
2
|
+
import { forAll, tryPick } from "../fable_modules/fable-library-js.4.24.0/Seq.js";
|
|
3
3
|
import { toFsWorksheet, tryFromFsWorksheet } from "./DataMapTable/DataMapTable.js";
|
|
4
|
+
import { FsCellsCollection__get_Count } from "../fable_modules/FsSpreadsheet.6.3.1/Cells/FsCellsCollection.fs.js";
|
|
5
|
+
import { DataMap_init } from "../Core/DataMap.js";
|
|
4
6
|
import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.3.1/FsWorkbook.fs.js";
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -8,9 +10,15 @@ import { FsWorkbook } from "../fable_modules/FsSpreadsheet.6.3.1/FsWorkbook.fs.j
|
|
|
8
10
|
*/
|
|
9
11
|
export function fromFsWorkbook(doc) {
|
|
10
12
|
try {
|
|
11
|
-
const
|
|
13
|
+
const worksheets = doc.GetWorksheets();
|
|
14
|
+
const dataMapTable = tryPick(tryFromFsWorksheet, worksheets);
|
|
12
15
|
if (dataMapTable == null) {
|
|
13
|
-
|
|
16
|
+
if (forAll((sheet) => (FsCellsCollection__get_Count(sheet.CellCollection) === 0), worksheets)) {
|
|
17
|
+
return DataMap_init();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw new Error("No DataMapTable was found in any of the sheets of the workbook");
|
|
21
|
+
}
|
|
14
22
|
}
|
|
15
23
|
else {
|
|
16
24
|
return dataMapTable;
|
package/Xlsx.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { toFsWorkbook, fromFsWorkbook } from "./Spreadsheet/DataMap.js";
|
|
2
|
-
import {
|
|
2
|
+
import { map } from "./CrossAsync.js";
|
|
3
|
+
import { FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static, FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5 } from "./fable_modules/FsSpreadsheet.Js.6.3.1/FsExtensions.fs.js";
|
|
3
4
|
import { class_type } from "./fable_modules/fable-library-js.4.24.0/Reflection.js";
|
|
4
5
|
import { ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F, ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D } from "./Spreadsheet/ArcAssay.js";
|
|
5
6
|
import { ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522, ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D } from "./Spreadsheet/ArcStudy.js";
|
|
6
|
-
import { map, unwrap } from "./fable_modules/fable-library-js.4.24.0/Option.js";
|
|
7
|
+
import { map as map_1, unwrap } from "./fable_modules/fable-library-js.4.24.0/Option.js";
|
|
7
8
|
import { ofSeq } from "./fable_modules/fable-library-js.4.24.0/List.js";
|
|
8
9
|
import { ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF, ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D } from "./Spreadsheet/ArcInvestigation.js";
|
|
9
10
|
|
|
@@ -16,7 +17,10 @@ export class XlsxHelper_DatamapXlsx {
|
|
|
16
17
|
toFsWorkbook(datamap) {
|
|
17
18
|
return toFsWorkbook(datamap);
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
fromXlsxFileAsync(path) {
|
|
21
|
+
return map(fromFsWorkbook, FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path));
|
|
22
|
+
}
|
|
23
|
+
toXlsxFileAsync(path, datamap) {
|
|
20
24
|
return FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, toFsWorkbook(datamap));
|
|
21
25
|
}
|
|
22
26
|
}
|
|
@@ -38,7 +42,10 @@ export class XlsxHelper_AssayXlsx {
|
|
|
38
42
|
toFsWorkbook(assay) {
|
|
39
43
|
return ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(assay);
|
|
40
44
|
}
|
|
41
|
-
|
|
45
|
+
fromXlsxFileAsync(path) {
|
|
46
|
+
return map(ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D, FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path));
|
|
47
|
+
}
|
|
48
|
+
toXlsxFileAsync(path, assay) {
|
|
42
49
|
return FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(assay));
|
|
43
50
|
}
|
|
44
51
|
}
|
|
@@ -58,10 +65,13 @@ export class XlsxHelper_StudyXlsx {
|
|
|
58
65
|
return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(fswb);
|
|
59
66
|
}
|
|
60
67
|
toFsWorkbook(study, assays) {
|
|
61
|
-
return ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, unwrap(
|
|
68
|
+
return ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, unwrap(map_1(ofSeq, assays)));
|
|
62
69
|
}
|
|
63
|
-
|
|
64
|
-
return
|
|
70
|
+
fromXlsxFileAsync(path) {
|
|
71
|
+
return map(ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D, FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path));
|
|
72
|
+
}
|
|
73
|
+
toXlsxFileAsync(path, study, assays) {
|
|
74
|
+
return FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, unwrap(map_1(ofSeq, assays))));
|
|
65
75
|
}
|
|
66
76
|
}
|
|
67
77
|
|
|
@@ -82,7 +92,10 @@ export class XlsxHelper_InvestigationXlsx {
|
|
|
82
92
|
toFsWorkbook(investigation) {
|
|
83
93
|
return ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(investigation);
|
|
84
94
|
}
|
|
85
|
-
|
|
95
|
+
fromXlsxFileAsync(path) {
|
|
96
|
+
return map(ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D, FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path));
|
|
97
|
+
}
|
|
98
|
+
toXlsxFileAsync(path, investigation) {
|
|
86
99
|
return FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(investigation));
|
|
87
100
|
}
|
|
88
101
|
}
|