@nfdi4plants/arctrl 2.0.0-alpha.4 → 2.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARC.js +69 -7
- package/Contract/Contract.js +3 -0
- package/Contract/Git.js +3 -0
- package/Core/ArcTypes.js +43 -1
- package/Core/Conversion.js +78 -39
- package/Core/Helper/Regex.js +13 -0
- package/Core/OntologyAnnotation.js +15 -2
- package/Core/Table/ArcTable.js +24 -2
- package/Core/Table/ArcTableAux.js +42 -2
- package/Core/Table/ArcTables.js +1 -1
- package/Core/Table/CompositeHeader.js +50 -26
- package/FileSystem/DefaultGitattributes.js +3 -0
- package/Json/Table/CompositeHeader.js +4 -3
- package/Spreadsheet/AnnotationTable/ArcTable.js +1 -0
- package/Spreadsheet/AnnotationTable/CompositeHeader.js +41 -5
- package/fable_modules/project_cracked.json +1 -1
- package/package.json +1 -1
package/ARC.js
CHANGED
|
@@ -3,11 +3,13 @@ import { ARCtrl_ArcAssay__ArcAssay_ToUpdateContract, ARCtrl_ArcAssay__ArcAssay_T
|
|
|
3
3
|
import { ARCtrl_DataMap__DataMap_ToUpdateContractForAssay_Z721C83C5, ARCtrl_DataMap__DataMap_ToCreateContractForAssay_Z721C83C5, ARCtrl_DataMap__DataMap_ToUpdateContractForStudy_Z721C83C5, ARCtrl_DataMap__DataMap_ToCreateContractForStudy_Z721C83C5, ARCtrl_DataMap__DataMap_tryFromReadContractForStudy_Static, ARCtrl_DataMap__DataMap_tryFromReadContractForAssay_Static } from "./Contract/Datamap.js";
|
|
4
4
|
import { ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49, ARCtrl_ArcStudy__ArcStudy_ToUpdateContract, ARCtrl_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F } from "./Contract/ArcStudy.js";
|
|
5
5
|
import { ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49, ARCtrl_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F } from "./Contract/ArcInvestigation.js";
|
|
6
|
-
import { collect, empty, iterate, find, tryFind, map as map_1, singleton, append, delay, toList, toArray } from "./fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
6
|
+
import { collect, empty, iterate, find, tryFind, map as map_1, singleton, append, delay, toList, contains, toArray } from "./fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
7
7
|
import { FileSystemTree } from "./FileSystem/FileSystemTree.js";
|
|
8
8
|
import { FileSystem } from "./FileSystem/FileSystem.js";
|
|
9
9
|
import { bind, map as map_2, value as value_2, defaultArg, unwrap } from "./fable_modules/fable-library-js.4.16.0/Option.js";
|
|
10
|
+
import { comparePrimitives, safeHash, stringHash } from "./fable_modules/fable-library-js.4.16.0/Util.js";
|
|
10
11
|
import { getStudyFolderPath, getAssayFolderPath } from "./FileSystem/Path.js";
|
|
12
|
+
import { printf, toText, replace } from "./fable_modules/fable-library-js.4.16.0/String.js";
|
|
11
13
|
import { Contract } from "./Contract/Contract.js";
|
|
12
14
|
import { ofArray } from "./fable_modules/fable-library-js.4.16.0/List.js";
|
|
13
15
|
import { tryISAReadContractFromPath } from "./Contract/ARC.js";
|
|
@@ -18,16 +20,14 @@ import { ArcInvestigation } from "./Core/ArcTypes.js";
|
|
|
18
20
|
import { Assay_datamapFileNameFromIdentifier, Assay_fileNameFromIdentifier, Study_datamapFileNameFromIdentifier, Study_fileNameFromIdentifier } from "./Core/Helper/Identifier.js";
|
|
19
21
|
import { ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_353D0DB7 } from "./Spreadsheet/ArcStudy.js";
|
|
20
22
|
import { DataMap__get_StaticHash, DataMap__set_StaticHash_Z524259A4 } from "./Core/Table/DataMap.js";
|
|
21
|
-
import { comparePrimitives, safeHash } from "./fable_modules/fable-library-js.4.16.0/Util.js";
|
|
22
23
|
import { toFsWorkbook as toFsWorkbook_1 } from "./Spreadsheet/DataMap.js";
|
|
23
24
|
import { toFsWorkbook as toFsWorkbook_2 } from "./Spreadsheet/ArcAssay.js";
|
|
24
25
|
import { Dictionary_tryGet } from "./fable_modules/FsSpreadsheet.6.1.2/Cells/FsCellsCollection.fs.js";
|
|
25
|
-
import { Clone_createCloneContract_5000466F, Init_createAddRemoteContract_Z721C83C5, gitignoreContract, Init_createInitContract_6DFDD678 } from "./Contract/Git.js";
|
|
26
|
+
import { Clone_createCloneContract_5000466F, Init_createAddRemoteContract_Z721C83C5, gitignoreContract, gitattributesContract, Init_createInitContract_6DFDD678 } from "./Contract/Git.js";
|
|
26
27
|
import { FSharpSet__Contains, ofSeq, unionMany } from "./fable_modules/fable-library-js.4.16.0/Set.js";
|
|
27
28
|
import { ofSeq as ofSeq_1 } from "./fable_modules/fable-library-js.4.16.0/Map.js";
|
|
28
29
|
import { fromString } from "./fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js";
|
|
29
30
|
import { encoder, decoder as decoder_1 } from "./Json/ARC.js";
|
|
30
|
-
import { printf, toText } from "./fable_modules/fable-library-js.4.16.0/String.js";
|
|
31
31
|
import { toString } from "./fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js";
|
|
32
32
|
import { defaultSpaces } from "./Json/Encode.js";
|
|
33
33
|
import { class_type } from "./fable_modules/fable-library-js.4.16.0/Reflection.js";
|
|
@@ -118,14 +118,22 @@ export class ARC {
|
|
|
118
118
|
this$._fs = fs;
|
|
119
119
|
}
|
|
120
120
|
RemoveAssay(assayIdentifier) {
|
|
121
|
+
let i;
|
|
121
122
|
const this$ = this;
|
|
122
123
|
let isa;
|
|
123
124
|
const matchValue = this$.ISA;
|
|
124
125
|
if (matchValue == null) {
|
|
125
126
|
throw new Error("Cannot remove assay from null ISA value.");
|
|
126
127
|
}
|
|
128
|
+
else if ((i = matchValue, contains(assayIdentifier, i.AssayIdentifiers, {
|
|
129
|
+
Equals: (x, y) => (x === y),
|
|
130
|
+
GetHashCode: stringHash,
|
|
131
|
+
}))) {
|
|
132
|
+
const i_1 = matchValue;
|
|
133
|
+
isa = i_1;
|
|
134
|
+
}
|
|
127
135
|
else {
|
|
128
|
-
|
|
136
|
+
throw new Error("ARC does not contain assay with given name");
|
|
129
137
|
}
|
|
130
138
|
const assay = isa.GetAssay(assayIdentifier);
|
|
131
139
|
const studies = assay.StudiesRegisteredIn;
|
|
@@ -137,6 +145,33 @@ export class ARC {
|
|
|
137
145
|
const collection = toList(delay(() => append(singleton(ARCtrl_ArcAssay__ArcAssay_ToDeleteContract(assay)), delay(() => append(singleton(ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(isa)), delay(() => map_1(ARCtrl_ArcStudy__ArcStudy_ToUpdateContract, studies)))))));
|
|
138
146
|
return Array.from(collection);
|
|
139
147
|
}
|
|
148
|
+
RenameAssay(oldAssayIdentifier, newAssayIdentifier) {
|
|
149
|
+
let i;
|
|
150
|
+
const this$ = this;
|
|
151
|
+
let isa;
|
|
152
|
+
const matchValue = this$.ISA;
|
|
153
|
+
if (matchValue == null) {
|
|
154
|
+
throw new Error("Cannot rename assay in null ISA value.");
|
|
155
|
+
}
|
|
156
|
+
else if ((i = matchValue, contains(oldAssayIdentifier, i.AssayIdentifiers, {
|
|
157
|
+
Equals: (x, y) => (x === y),
|
|
158
|
+
GetHashCode: stringHash,
|
|
159
|
+
}))) {
|
|
160
|
+
const i_1 = matchValue;
|
|
161
|
+
isa = i_1;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
throw new Error("ARC does not contain assay with given name");
|
|
165
|
+
}
|
|
166
|
+
isa.RenameAssay(oldAssayIdentifier, newAssayIdentifier);
|
|
167
|
+
const paths = this$.FileSystem.Tree.ToFilePaths();
|
|
168
|
+
const oldAssayFolderPath = getAssayFolderPath(oldAssayIdentifier);
|
|
169
|
+
const newAssayFolderPath = getAssayFolderPath(newAssayIdentifier);
|
|
170
|
+
const renamedPaths = map((p) => replace(p, oldAssayFolderPath, newAssayFolderPath), paths);
|
|
171
|
+
this$.SetFilePaths(renamedPaths);
|
|
172
|
+
const collection = toList(delay(() => append(singleton(Contract.createRename(oldAssayFolderPath, newAssayFolderPath)), delay(() => this$.GetUpdateContracts()))));
|
|
173
|
+
return Array.from(collection);
|
|
174
|
+
}
|
|
140
175
|
RemoveStudy(studyIdentifier) {
|
|
141
176
|
const this$ = this;
|
|
142
177
|
let isa;
|
|
@@ -155,6 +190,33 @@ export class ARC {
|
|
|
155
190
|
const collection = ofArray([Contract.createDelete(studyFolderPath), ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(isa)]);
|
|
156
191
|
return Array.from(collection);
|
|
157
192
|
}
|
|
193
|
+
RenameStudy(oldStudyIdentifier, newStudyIdentifier) {
|
|
194
|
+
let i;
|
|
195
|
+
const this$ = this;
|
|
196
|
+
let isa;
|
|
197
|
+
const matchValue = this$.ISA;
|
|
198
|
+
if (matchValue == null) {
|
|
199
|
+
throw new Error("Cannot rename study in null ISA value.");
|
|
200
|
+
}
|
|
201
|
+
else if ((i = matchValue, contains(oldStudyIdentifier, i.StudyIdentifiers, {
|
|
202
|
+
Equals: (x, y) => (x === y),
|
|
203
|
+
GetHashCode: stringHash,
|
|
204
|
+
}))) {
|
|
205
|
+
const i_1 = matchValue;
|
|
206
|
+
isa = i_1;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
throw new Error("ARC does not contain study with given name");
|
|
210
|
+
}
|
|
211
|
+
isa.RenameStudy(oldStudyIdentifier, newStudyIdentifier);
|
|
212
|
+
const paths = this$.FileSystem.Tree.ToFilePaths();
|
|
213
|
+
const oldStudyFolderPath = getStudyFolderPath(oldStudyIdentifier);
|
|
214
|
+
const newStudyFolderPath = getStudyFolderPath(newStudyIdentifier);
|
|
215
|
+
const renamedPaths = map((p) => replace(p, oldStudyFolderPath, newStudyFolderPath), paths);
|
|
216
|
+
this$.SetFilePaths(renamedPaths);
|
|
217
|
+
const collection = toList(delay(() => append(singleton(Contract.createRename(oldStudyFolderPath, newStudyFolderPath)), delay(() => this$.GetUpdateContracts()))));
|
|
218
|
+
return Array.from(collection);
|
|
219
|
+
}
|
|
158
220
|
static fromFilePaths(filePaths) {
|
|
159
221
|
return new ARC(void 0, void 0, FileSystem.fromFilePaths(filePaths));
|
|
160
222
|
}
|
|
@@ -366,7 +428,7 @@ export class ARC {
|
|
|
366
428
|
}
|
|
367
429
|
GetGitInitContracts(branch, repositoryAddress, defaultGitignore) {
|
|
368
430
|
const defaultGitignore_1 = defaultArg(defaultGitignore, false);
|
|
369
|
-
return toArray(delay(() => append(singleton(Init_createInitContract_6DFDD678(unwrap(branch))), delay(() => append(defaultGitignore_1 ? singleton(gitignoreContract) : empty(), delay(() => ((repositoryAddress != null) ? singleton(Init_createAddRemoteContract_Z721C83C5(value_2(repositoryAddress))) : empty())))))));
|
|
431
|
+
return toArray(delay(() => append(singleton(Init_createInitContract_6DFDD678(unwrap(branch))), delay(() => append(singleton(gitattributesContract), delay(() => append(defaultGitignore_1 ? singleton(gitignoreContract) : empty(), delay(() => ((repositoryAddress != null) ? singleton(Init_createAddRemoteContract_Z721C83C5(value_2(repositoryAddress))) : empty())))))))));
|
|
370
432
|
}
|
|
371
433
|
static getCloneContract(remoteUrl, merge, branch, token, nolfs) {
|
|
372
434
|
return Clone_createCloneContract_5000466F(remoteUrl, unwrap(merge), unwrap(branch), unwrap(token), unwrap(nolfs));
|
|
@@ -442,7 +504,7 @@ export class ARC {
|
|
|
442
504
|
}, (tree = ((paths = ((array = FileSystemTree.toFilePaths()(this$._fs.Copy().Tree), array.filter((p) => !FSharpSet__Contains(registeredPayload, p)))), FileSystemTree.fromFilePaths(paths))), ignoreHidden ? FileSystemTree.filterFiles((n) => !(n.indexOf(".") === 0))(tree) : tree)), FileSystemTree.fromFilePaths([]));
|
|
443
505
|
}
|
|
444
506
|
static get DefaultContracts() {
|
|
445
|
-
return ofSeq_1([[".gitignore", gitignoreContract]], {
|
|
507
|
+
return ofSeq_1([[".gitignore", gitignoreContract], [".gitattributes", gitattributesContract]], {
|
|
446
508
|
Compare: comparePrimitives,
|
|
447
509
|
});
|
|
448
510
|
}
|
package/Contract/Contract.js
CHANGED
|
@@ -87,6 +87,9 @@ export class Contract extends Record {
|
|
|
87
87
|
static createExecute(dto, path) {
|
|
88
88
|
return new Contract("EXECUTE", defaultArg(path, ""), "Cli", dto);
|
|
89
89
|
}
|
|
90
|
+
static createRename(oldPath, newPath) {
|
|
91
|
+
return new Contract("RENAME", oldPath, void 0, newPath);
|
|
92
|
+
}
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
export function Contract_$reflection() {
|
package/Contract/Git.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Contract, CLITool } from "./Contract.js";
|
|
2
2
|
import { dgi } from "../FileSystem/DefaultGitignore.js";
|
|
3
|
+
import { dga } from "../FileSystem/DefaultGitattributes.js";
|
|
3
4
|
import { class_type } from "../fable_modules/fable-library-js.4.16.0/Reflection.js";
|
|
4
5
|
import { value, defaultArg } from "../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
5
6
|
import { replace } from "../fable_modules/fable-library-js.4.16.0/String.js";
|
|
@@ -19,6 +20,8 @@ export function createGitContract(arguments$) {
|
|
|
19
20
|
|
|
20
21
|
export const gitignoreContract = Contract.createCreate(".gitignore", "PlainText", dgi);
|
|
21
22
|
|
|
23
|
+
export const gitattributesContract = Contract.createCreate(".gitattributes", "PlainText", dga);
|
|
24
|
+
|
|
22
25
|
export class Init {
|
|
23
26
|
constructor() {
|
|
24
27
|
}
|
package/Core/ArcTypes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { value as value_4, defaultArg, map, unwrap } from "../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
2
|
-
import { collect, append as append_3, tryFind, removeAt, tryFindIndex, exists, choose, item, map as map_1, delay, toList, fold, length, forAll, contains, filter, toArray } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
2
|
+
import { collect, append as append_3, tryFind, removeAt, iterateIndexed, iterate, tryFindIndex, exists, choose, item, map as map_1, delay, toList, fold, length, forAll, contains, filter, toArray } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
3
3
|
import { defaultOf, safeHash, equals, disposeSafe, getEnumerator, stringHash } from "../fable_modules/fable-library-js.4.16.0/Util.js";
|
|
4
4
|
import { ResizeArray_choose, ResizeArray_filter, ResizeArray_map } from "./Helper/Collections.js";
|
|
5
5
|
import { DataMap__Copy } from "./Table/DataMap.js";
|
|
@@ -1576,6 +1576,28 @@ export class ArcInvestigation {
|
|
|
1576
1576
|
return newInv;
|
|
1577
1577
|
};
|
|
1578
1578
|
}
|
|
1579
|
+
RenameAssay(oldIdentifier, newIdentifier) {
|
|
1580
|
+
const this$ = this;
|
|
1581
|
+
iterate((a) => {
|
|
1582
|
+
if (a.Identifier === oldIdentifier) {
|
|
1583
|
+
a.Identifier = newIdentifier;
|
|
1584
|
+
}
|
|
1585
|
+
}, this$.Assays);
|
|
1586
|
+
iterate((s) => {
|
|
1587
|
+
iterateIndexed((i, ai) => {
|
|
1588
|
+
if (ai === oldIdentifier) {
|
|
1589
|
+
s.RegisteredAssayIdentifiers[i] = newIdentifier;
|
|
1590
|
+
}
|
|
1591
|
+
}, s.RegisteredAssayIdentifiers);
|
|
1592
|
+
}, this$.Studies);
|
|
1593
|
+
}
|
|
1594
|
+
static renameAssay(oldIdentifier, newIdentifier) {
|
|
1595
|
+
return (inv) => {
|
|
1596
|
+
const newInv = inv.Copy();
|
|
1597
|
+
newInv.RenameAssay(oldIdentifier, newIdentifier);
|
|
1598
|
+
return newInv;
|
|
1599
|
+
};
|
|
1600
|
+
}
|
|
1579
1601
|
SetAssayAt(index, assay) {
|
|
1580
1602
|
const this$ = this;
|
|
1581
1603
|
const assayIdent = assay.Identifier;
|
|
@@ -1810,6 +1832,26 @@ export class ArcInvestigation {
|
|
|
1810
1832
|
return copy;
|
|
1811
1833
|
};
|
|
1812
1834
|
}
|
|
1835
|
+
RenameStudy(oldIdentifier, newIdentifier) {
|
|
1836
|
+
const this$ = this;
|
|
1837
|
+
iterate((s) => {
|
|
1838
|
+
if (s.Identifier === oldIdentifier) {
|
|
1839
|
+
s.Identifier = newIdentifier;
|
|
1840
|
+
}
|
|
1841
|
+
}, this$.Studies);
|
|
1842
|
+
iterateIndexed((i, si) => {
|
|
1843
|
+
if (si === oldIdentifier) {
|
|
1844
|
+
this$.RegisteredStudyIdentifiers[i] = newIdentifier;
|
|
1845
|
+
}
|
|
1846
|
+
}, this$.RegisteredStudyIdentifiers);
|
|
1847
|
+
}
|
|
1848
|
+
static renameStudy(oldIdentifier, newIdentifier) {
|
|
1849
|
+
return (inv) => {
|
|
1850
|
+
const newInv = inv.Copy();
|
|
1851
|
+
newInv.RenameStudy(oldIdentifier, newIdentifier);
|
|
1852
|
+
return newInv;
|
|
1853
|
+
};
|
|
1854
|
+
}
|
|
1813
1855
|
SetStudyAt(index, study) {
|
|
1814
1856
|
const this$ = this;
|
|
1815
1857
|
const study_1 = study;
|
package/Core/Conversion.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { remove, toFail, endsWith, printf, toText } from "../fable_modules/fable-library-js.4.16.0/String.js";
|
|
2
2
|
import { Comment$ } from "./Comment.js";
|
|
3
3
|
import { zip as zip_1, fold, empty as empty_1, singleton as singleton_1, append, delay, map as map_1, filter, toList, indexed, tryPick, choose } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
4
|
-
import { unwrap, value as
|
|
4
|
+
import { unwrap, value as value_10, map, defaultArg } from "../fable_modules/fable-library-js.4.16.0/Option.js";
|
|
5
5
|
import { Option_fromValueWithDefault, ResizeArray_filter } from "./Helper/Collections.js";
|
|
6
6
|
import { Value as Value_2 } from "./Process/Value.js";
|
|
7
7
|
import { Component_create_4208F9FC } from "./Process/Component.js";
|
|
@@ -68,7 +68,7 @@ export function Person_getSourceAssayIdentifiersFromComments(person) {
|
|
|
68
68
|
export function Person_removeSourceAssayComments(person) {
|
|
69
69
|
return ResizeArray_filter((c) => {
|
|
70
70
|
if (c.Name != null) {
|
|
71
|
-
return !(
|
|
71
|
+
return !(value_10(c.Name).indexOf(Person_AssayIdentifierPrefix) === 0);
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
74
|
return false;
|
|
@@ -80,7 +80,7 @@ export function Person_setOrcidFromComments(person) {
|
|
|
80
80
|
const person_1 = person.Copy();
|
|
81
81
|
const isOrcidComment = (c) => {
|
|
82
82
|
if (c.Name != null) {
|
|
83
|
-
return endsWith(
|
|
83
|
+
return endsWith(value_10(c.Name).toLocaleUpperCase(), Person_orcidKey);
|
|
84
84
|
}
|
|
85
85
|
else {
|
|
86
86
|
return false;
|
|
@@ -341,28 +341,28 @@ export function JsonTypes_cellOfValue(value, unit) {
|
|
|
341
341
|
* Convert an ISA Component to a CompositeHeader and Cell tuple
|
|
342
342
|
*/
|
|
343
343
|
export function JsonTypes_decomposeComponent(c) {
|
|
344
|
-
return [new CompositeHeader(0, [
|
|
344
|
+
return [new CompositeHeader(0, [value_10(c.ComponentType)]), JsonTypes_cellOfValue(c.ComponentValue, c.ComponentUnit)];
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
/**
|
|
348
348
|
* Convert an ISA ProcessParameterValue to a CompositeHeader and Cell tuple
|
|
349
349
|
*/
|
|
350
350
|
export function JsonTypes_decomposeParameterValue(ppv) {
|
|
351
|
-
return [new CompositeHeader(3, [
|
|
351
|
+
return [new CompositeHeader(3, [value_10(value_10(ppv.Category).ParameterName)]), JsonTypes_cellOfValue(ppv.Value, ppv.Unit)];
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
/**
|
|
355
355
|
* Convert an ISA FactorValue to a CompositeHeader and Cell tuple
|
|
356
356
|
*/
|
|
357
357
|
export function JsonTypes_decomposeFactorValue(fv) {
|
|
358
|
-
return [new CompositeHeader(2, [
|
|
358
|
+
return [new CompositeHeader(2, [value_10(value_10(fv.Category).FactorType)]), JsonTypes_cellOfValue(fv.Value, fv.Unit)];
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
/**
|
|
362
362
|
* Convert an ISA MaterialAttributeValue to a CompositeHeader and Cell tuple
|
|
363
363
|
*/
|
|
364
364
|
export function JsonTypes_decomposeCharacteristicValue(cv) {
|
|
365
|
-
return [new CompositeHeader(1, [
|
|
365
|
+
return [new CompositeHeader(1, [value_10(value_10(cv.Category).CharacteristicType)]), JsonTypes_cellOfValue(cv.Value, cv.Unit)];
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
/**
|
|
@@ -376,7 +376,7 @@ export function JsonTypes_decomposeProcessInput(pi) {
|
|
|
376
376
|
return [new CompositeHeader(11, [new IOType(3, [])]), new CompositeCell(1, [defaultArg(pi.fields[0].Name, "")])];
|
|
377
377
|
case 2: {
|
|
378
378
|
const d = pi.fields[0];
|
|
379
|
-
const dataType =
|
|
379
|
+
const dataType = value_10(d.DataType);
|
|
380
380
|
switch (dataType.tag) {
|
|
381
381
|
case 0:
|
|
382
382
|
return [new CompositeHeader(11, [new IOType(2, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
@@ -400,7 +400,7 @@ export function JsonTypes_decomposeProcessOutput(po) {
|
|
|
400
400
|
return [new CompositeHeader(12, [new IOType(3, [])]), new CompositeCell(1, [defaultArg(po.fields[0].Name, "")])];
|
|
401
401
|
case 1: {
|
|
402
402
|
const d = po.fields[0];
|
|
403
|
-
const dataType =
|
|
403
|
+
const dataType = value_10(d.DataType);
|
|
404
404
|
switch (dataType.tag) {
|
|
405
405
|
case 0:
|
|
406
406
|
return [new CompositeHeader(12, [new IOType(2, [])]), new CompositeCell(1, [defaultArg(d.Name, "")])];
|
|
@@ -455,7 +455,7 @@ export function JsonTypes_decomposeTechnologyPlatform(name) {
|
|
|
455
455
|
}
|
|
456
456
|
|
|
457
457
|
/**
|
|
458
|
-
* If the headers
|
|
458
|
+
* If the given headers depict a component, returns a function for parsing the values of the matrix to the values of this component
|
|
459
459
|
*/
|
|
460
460
|
export function ProcessParsing_tryComponentGetter(generalI, valueI, valueHeader) {
|
|
461
461
|
if (valueHeader.tag === 0) {
|
|
@@ -469,7 +469,7 @@ export function ProcessParsing_tryComponentGetter(generalI, valueI, valueHeader)
|
|
|
469
469
|
}
|
|
470
470
|
|
|
471
471
|
/**
|
|
472
|
-
* If the headers
|
|
472
|
+
* If the given headers depict a parameter, returns a function for parsing the values of the matrix to the values of this type
|
|
473
473
|
*/
|
|
474
474
|
export function ProcessParsing_tryParameterGetter(generalI, valueI, valueHeader) {
|
|
475
475
|
if (valueHeader.tag === 3) {
|
|
@@ -481,6 +481,9 @@ export function ProcessParsing_tryParameterGetter(generalI, valueI, valueHeader)
|
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
483
|
|
|
484
|
+
/**
|
|
485
|
+
* If the given headers depict a factor, returns a function for parsing the values of the matrix to the values of this type
|
|
486
|
+
*/
|
|
484
487
|
export function ProcessParsing_tryFactorGetter(generalI, valueI, valueHeader) {
|
|
485
488
|
if (valueHeader.tag === 2) {
|
|
486
489
|
const cat = new CompositeHeader(2, [ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0])]);
|
|
@@ -491,6 +494,9 @@ export function ProcessParsing_tryFactorGetter(generalI, valueI, valueHeader) {
|
|
|
491
494
|
}
|
|
492
495
|
}
|
|
493
496
|
|
|
497
|
+
/**
|
|
498
|
+
* If the given headers depict a protocolType, returns a function for parsing the values of the matrix to the values of this type
|
|
499
|
+
*/
|
|
494
500
|
export function ProcessParsing_tryCharacteristicGetter(generalI, valueI, valueHeader) {
|
|
495
501
|
if (valueHeader.tag === 1) {
|
|
496
502
|
const cat = new CompositeHeader(1, [ARCtrl_OntologyAnnotation__OntologyAnnotation_setColumnIndex_Static(valueI, valueHeader.fields[0])]);
|
|
@@ -502,7 +508,7 @@ export function ProcessParsing_tryCharacteristicGetter(generalI, valueI, valueHe
|
|
|
502
508
|
}
|
|
503
509
|
|
|
504
510
|
/**
|
|
505
|
-
* If the headers
|
|
511
|
+
* If the given headers depict a protocolType, returns a function for parsing the values of the matrix to the values of this type
|
|
506
512
|
*/
|
|
507
513
|
export function ProcessParsing_tryGetProtocolTypeGetter(generalI, header) {
|
|
508
514
|
if (header.tag === 4) {
|
|
@@ -513,6 +519,9 @@ export function ProcessParsing_tryGetProtocolTypeGetter(generalI, header) {
|
|
|
513
519
|
}
|
|
514
520
|
}
|
|
515
521
|
|
|
522
|
+
/**
|
|
523
|
+
* If the given headers depict a protocolREF, returns a function for parsing the values of the matrix to the values of this type
|
|
524
|
+
*/
|
|
516
525
|
export function ProcessParsing_tryGetProtocolREFGetter(generalI, header) {
|
|
517
526
|
if (header.tag === 8) {
|
|
518
527
|
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
@@ -522,6 +531,9 @@ export function ProcessParsing_tryGetProtocolREFGetter(generalI, header) {
|
|
|
522
531
|
}
|
|
523
532
|
}
|
|
524
533
|
|
|
534
|
+
/**
|
|
535
|
+
* If the given headers depict a protocolDescription, returns a function for parsing the values of the matrix to the values of this type
|
|
536
|
+
*/
|
|
525
537
|
export function ProcessParsing_tryGetProtocolDescriptionGetter(generalI, header) {
|
|
526
538
|
if (header.tag === 5) {
|
|
527
539
|
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
@@ -531,6 +543,9 @@ export function ProcessParsing_tryGetProtocolDescriptionGetter(generalI, header)
|
|
|
531
543
|
}
|
|
532
544
|
}
|
|
533
545
|
|
|
546
|
+
/**
|
|
547
|
+
* If the given headers depict a protocolURI, returns a function for parsing the values of the matrix to the values of this type
|
|
548
|
+
*/
|
|
534
549
|
export function ProcessParsing_tryGetProtocolURIGetter(generalI, header) {
|
|
535
550
|
if (header.tag === 6) {
|
|
536
551
|
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
@@ -540,6 +555,9 @@ export function ProcessParsing_tryGetProtocolURIGetter(generalI, header) {
|
|
|
540
555
|
}
|
|
541
556
|
}
|
|
542
557
|
|
|
558
|
+
/**
|
|
559
|
+
* If the given headers depict a protocolVersion, returns a function for parsing the values of the matrix to the values of this type
|
|
560
|
+
*/
|
|
543
561
|
export function ProcessParsing_tryGetProtocolVersionGetter(generalI, header) {
|
|
544
562
|
if (header.tag === 7) {
|
|
545
563
|
return (matrix) => ((i) => getItemFromDict(matrix, [generalI, i]).AsFreeText);
|
|
@@ -549,6 +567,9 @@ export function ProcessParsing_tryGetProtocolVersionGetter(generalI, header) {
|
|
|
549
567
|
}
|
|
550
568
|
}
|
|
551
569
|
|
|
570
|
+
/**
|
|
571
|
+
* If the given headers depict an input, returns a function for parsing the values of the matrix to the values of this type
|
|
572
|
+
*/
|
|
552
573
|
export function ProcessParsing_tryGetInputGetter(generalI, header) {
|
|
553
574
|
if (header.tag === 11) {
|
|
554
575
|
return (matrix) => ((i) => JsonTypes_composeProcessInput(header, getItemFromDict(matrix, [generalI, i])));
|
|
@@ -558,6 +579,9 @@ export function ProcessParsing_tryGetInputGetter(generalI, header) {
|
|
|
558
579
|
}
|
|
559
580
|
}
|
|
560
581
|
|
|
582
|
+
/**
|
|
583
|
+
* If the given headers depict an output, returns a function for parsing the values of the matrix to the values of this type
|
|
584
|
+
*/
|
|
561
585
|
export function ProcessParsing_tryGetOutputGetter(generalI, header) {
|
|
562
586
|
if (header.tag === 12) {
|
|
563
587
|
return (matrix) => ((i) => JsonTypes_composeProcessOutput(header, getItemFromDict(matrix, [generalI, i])));
|
|
@@ -567,6 +591,18 @@ export function ProcessParsing_tryGetOutputGetter(generalI, header) {
|
|
|
567
591
|
}
|
|
568
592
|
}
|
|
569
593
|
|
|
594
|
+
/**
|
|
595
|
+
* If the given headers depict a comment, returns a function for parsing the values of the matrix to the values of this type
|
|
596
|
+
*/
|
|
597
|
+
export function ProcessParsing_tryGetCommentGetter(generalI, header) {
|
|
598
|
+
if (header.tag === 14) {
|
|
599
|
+
return (matrix) => ((i) => (new Comment$(header.fields[0], getItemFromDict(matrix, [generalI, i]).AsFreeText)));
|
|
600
|
+
}
|
|
601
|
+
else {
|
|
602
|
+
return void 0;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
|
|
570
606
|
/**
|
|
571
607
|
* Given the header sequence of an ArcTable, returns a function for parsing each row of the table to a process
|
|
572
608
|
*/
|
|
@@ -594,8 +630,9 @@ export function ProcessParsing_getProcessGetter(processNameRoot, headers) {
|
|
|
594
630
|
const protocolDescriptionGetter = tryPick((tupledArg_6) => ProcessParsing_tryGetProtocolDescriptionGetter(tupledArg_6[0], tupledArg_6[1]), headers_1);
|
|
595
631
|
const protocolURIGetter = tryPick((tupledArg_7) => ProcessParsing_tryGetProtocolURIGetter(tupledArg_7[0], tupledArg_7[1]), headers_1);
|
|
596
632
|
const protocolVersionGetter = tryPick((tupledArg_8) => ProcessParsing_tryGetProtocolVersionGetter(tupledArg_8[0], tupledArg_8[1]), headers_1);
|
|
633
|
+
const commentGetters = toList(choose((tupledArg_9) => ProcessParsing_tryGetCommentGetter(tupledArg_9[0], tupledArg_9[1]), headers_1));
|
|
597
634
|
let inputGetter_1;
|
|
598
|
-
const matchValue = tryPick((
|
|
635
|
+
const matchValue = tryPick((tupledArg_10) => ProcessParsing_tryGetInputGetter(tupledArg_10[0], tupledArg_10[1]), headers_1);
|
|
599
636
|
if (matchValue == null) {
|
|
600
637
|
inputGetter_1 = ((matrix_1) => ((i_1) => singleton(new ProcessInput(0, [Source_create_Z5CA08497(void 0, `${processNameRoot}_Input_${i_1}`, toList(map_1((f_1) => f_1(matrix_1)(i_1), charGetters)))]))));
|
|
601
638
|
}
|
|
@@ -608,7 +645,7 @@ export function ProcessParsing_getProcessGetter(processNameRoot, headers) {
|
|
|
608
645
|
}));
|
|
609
646
|
}
|
|
610
647
|
let outputGetter_1;
|
|
611
|
-
const matchValue_1 = tryPick((
|
|
648
|
+
const matchValue_1 = tryPick((tupledArg_11) => ProcessParsing_tryGetOutputGetter(tupledArg_11[0], tupledArg_11[1]), headers_1);
|
|
612
649
|
if (matchValue_1 == null) {
|
|
613
650
|
outputGetter_1 = ((matrix_3) => ((i_3) => singleton(new ProcessOutput(0, [Sample_create_62424AD2(void 0, `${processNameRoot}_Output_${i_3}`, void 0, toList(map_1((f_3) => f_3(matrix_3)(i_3), factorValueGetters)))]))));
|
|
614
651
|
}
|
|
@@ -623,9 +660,10 @@ export function ProcessParsing_getProcessGetter(processNameRoot, headers) {
|
|
|
623
660
|
return (matrix_4) => ((i_4) => {
|
|
624
661
|
const pn = map((p) => Process_composeName(p, i_4), Option_fromValueWithDefault("", processNameRoot));
|
|
625
662
|
const paramvalues = Option_fromValueWithDefault(empty(), map_2((f_4) => f_4(matrix_4)(i_4), parameterValueGetters));
|
|
626
|
-
const parameters = map((list_5) => map_2((pv) =>
|
|
663
|
+
const parameters = map((list_5) => map_2((pv) => value_10(pv.Category), list_5), paramvalues);
|
|
664
|
+
const comments = Option_fromValueWithDefault(empty(), map_2((f_5) => f_5(matrix_4)(i_4), commentGetters));
|
|
627
665
|
let protocol;
|
|
628
|
-
const p_1 = Protocol_make(void 0, map((
|
|
666
|
+
const p_1 = Protocol_make(void 0, map((f_6) => f_6(matrix_4)(i_4), protocolREFGetter), map((f_7) => f_7(matrix_4)(i_4), protocolTypeGetter), map((f_8) => f_8(matrix_4)(i_4), protocolDescriptionGetter), map((f_9) => f_9(matrix_4)(i_4), protocolURIGetter), map((f_10) => f_10(matrix_4)(i_4), protocolVersionGetter), parameters, Option_fromValueWithDefault(empty(), map_2((f_11) => f_11(matrix_4)(i_4), componentGetters)), void 0);
|
|
629
667
|
let matchResult;
|
|
630
668
|
if (p_1.Name == null) {
|
|
631
669
|
if (p_1.ProtocolType == null) {
|
|
@@ -670,7 +708,7 @@ export function ProcessParsing_getProcessGetter(processNameRoot, headers) {
|
|
|
670
708
|
const inputs = inputGetter_1(matrix_4)(i_4);
|
|
671
709
|
const outputs = outputGetter_1(matrix_4)(i_4);
|
|
672
710
|
patternInput = (((length(inputs) === 1) && (length(outputs) === 2)) ? [ofArray([item(0, inputs), item(0, inputs)]), outputs] : (((length(inputs) === 2) && (length(outputs) === 1)) ? [inputs, ofArray([item(0, outputs), item(0, outputs)])] : [inputs, outputs]));
|
|
673
|
-
return Process_make(void 0, pn, protocol, paramvalues, void 0, void 0, void 0, void 0, patternInput[0], patternInput[1],
|
|
711
|
+
return Process_make(void 0, pn, protocol, paramvalues, void 0, void 0, void 0, void 0, patternInput[0], patternInput[1], comments);
|
|
674
712
|
});
|
|
675
713
|
}
|
|
676
714
|
|
|
@@ -683,21 +721,21 @@ export function ProcessParsing_getProcessGetter(processNameRoot, headers) {
|
|
|
683
721
|
*/
|
|
684
722
|
export function ProcessParsing_groupProcesses(ps) {
|
|
685
723
|
return List_groupBy((x) => {
|
|
686
|
-
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(
|
|
687
|
-
return Process_decomposeName_Z721C83C5(
|
|
724
|
+
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(value_10(x.Name))[1] != null)) {
|
|
725
|
+
return Process_decomposeName_Z721C83C5(value_10(x.Name))[0];
|
|
688
726
|
}
|
|
689
|
-
else if ((x.ExecutesProtocol != null) && (
|
|
690
|
-
return
|
|
727
|
+
else if ((x.ExecutesProtocol != null) && (value_10(x.ExecutesProtocol).Name != null)) {
|
|
728
|
+
return value_10(value_10(x.ExecutesProtocol).Name);
|
|
691
729
|
}
|
|
692
|
-
else if ((x.Name != null) && (
|
|
693
|
-
const lastUnderScoreIndex =
|
|
694
|
-
return remove(
|
|
730
|
+
else if ((x.Name != null) && (value_10(x.Name).indexOf("_") >= 0)) {
|
|
731
|
+
const lastUnderScoreIndex = value_10(x.Name).lastIndexOf("_") | 0;
|
|
732
|
+
return remove(value_10(x.Name), lastUnderScoreIndex);
|
|
695
733
|
}
|
|
696
734
|
else if (x.Name != null) {
|
|
697
|
-
return
|
|
735
|
+
return value_10(x.Name);
|
|
698
736
|
}
|
|
699
|
-
else if ((x.ExecutesProtocol != null) && (
|
|
700
|
-
return
|
|
737
|
+
else if ((x.ExecutesProtocol != null) && (value_10(x.ExecutesProtocol).ID != null)) {
|
|
738
|
+
return value_10(value_10(x.ExecutesProtocol).ID);
|
|
701
739
|
}
|
|
702
740
|
else {
|
|
703
741
|
return createMissingIdentifier();
|
|
@@ -713,14 +751,14 @@ export function ProcessParsing_groupProcesses(ps) {
|
|
|
713
751
|
*/
|
|
714
752
|
export function ProcessParsing_mergeIdenticalProcesses(processes) {
|
|
715
753
|
const l = List_groupBy((x) => {
|
|
716
|
-
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(
|
|
717
|
-
return [Process_decomposeName_Z721C83C5(
|
|
754
|
+
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(value_10(x.Name))[1] != null)) {
|
|
755
|
+
return [Process_decomposeName_Z721C83C5(value_10(x.Name))[0], boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues), map(boxHashSeq, x.Comments)];
|
|
718
756
|
}
|
|
719
|
-
else if ((x.ExecutesProtocol != null) && (
|
|
720
|
-
return [
|
|
757
|
+
else if ((x.ExecutesProtocol != null) && (value_10(x.ExecutesProtocol).Name != null)) {
|
|
758
|
+
return [value_10(value_10(x.ExecutesProtocol).Name), boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues), map(boxHashSeq, x.Comments)];
|
|
721
759
|
}
|
|
722
760
|
else {
|
|
723
|
-
return [createMissingIdentifier(), boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues)];
|
|
761
|
+
return [createMissingIdentifier(), boxHashOption(x.ExecutesProtocol), map(boxHashSeq, x.ParameterValues), map(boxHashSeq, x.Comments)];
|
|
724
762
|
}
|
|
725
763
|
}, processes, {
|
|
726
764
|
Equals: equalArrays,
|
|
@@ -732,12 +770,12 @@ export function ProcessParsing_mergeIdenticalProcesses(processes) {
|
|
|
732
770
|
const pVs = item(0, processes_1).ParameterValues;
|
|
733
771
|
const inputs = Option_fromValueWithDefault(empty(), collect((p) => defaultArg(p.Inputs, empty()), processes_1));
|
|
734
772
|
const outputs = Option_fromValueWithDefault(empty(), collect((p_1) => defaultArg(p_1.Outputs, empty()), processes_1));
|
|
735
|
-
return Process_create_Z7C1F7FA9(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, item(0, processes_1).ExecutesProtocol, pVs, void 0, void 0, void 0, void 0, inputs, outputs);
|
|
773
|
+
return Process_create_Z7C1F7FA9(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, unwrap(item(0, processes_1).ExecutesProtocol), unwrap(pVs), void 0, void 0, void 0, void 0, unwrap(inputs), unwrap(outputs), unwrap(item(0, processes_1).Comments));
|
|
736
774
|
}, l);
|
|
737
775
|
}
|
|
738
776
|
|
|
739
777
|
export function ProcessParsing_processToRows(p) {
|
|
740
|
-
let
|
|
778
|
+
let list_4;
|
|
741
779
|
const pvs = map_2((ppv) => [JsonTypes_decomposeParameterValue(ppv), tryGetParameterColumnIndex(ppv)], defaultArg(p.ParameterValues, empty()));
|
|
742
780
|
let components;
|
|
743
781
|
const matchValue = p.ExecutesProtocol;
|
|
@@ -749,8 +787,9 @@ export function ProcessParsing_processToRows(p) {
|
|
|
749
787
|
}
|
|
750
788
|
else {
|
|
751
789
|
const prot_1 = matchValue_1;
|
|
752
|
-
protVals = toList(delay(() => append((prot_1.Name != null) ? singleton_1([new CompositeHeader(8, []), new CompositeCell(1, [
|
|
790
|
+
protVals = toList(delay(() => append((prot_1.Name != null) ? singleton_1([new CompositeHeader(8, []), new CompositeCell(1, [value_10(prot_1.Name)])]) : empty_1(), delay(() => append((prot_1.ProtocolType != null) ? singleton_1([new CompositeHeader(4, []), new CompositeCell(0, [value_10(prot_1.ProtocolType)])]) : empty_1(), delay(() => append((prot_1.Description != null) ? singleton_1([new CompositeHeader(5, []), new CompositeCell(1, [value_10(prot_1.Description)])]) : empty_1(), delay(() => append((prot_1.Uri != null) ? singleton_1([new CompositeHeader(6, []), new CompositeCell(1, [value_10(prot_1.Uri)])]) : empty_1(), delay(() => ((prot_1.Version != null) ? singleton_1([new CompositeHeader(7, []), new CompositeCell(1, [value_10(prot_1.Version)])]) : empty_1())))))))))));
|
|
753
791
|
}
|
|
792
|
+
const comments = map_2((c) => [new CompositeHeader(14, [defaultArg(c.Name, "")]), new CompositeCell(1, [defaultArg(c.Value, "")])], defaultArg(p.Comments, empty()));
|
|
754
793
|
return map_2((tupledArg_1) => {
|
|
755
794
|
const ios = tupledArg_1[1];
|
|
756
795
|
const inputForCharas = defaultArg(tryPick_1((tupledArg_2) => {
|
|
@@ -793,8 +832,8 @@ export function ProcessParsing_processToRows(p) {
|
|
|
793
832
|
const vals = map_2((tuple_5) => tuple_5[0], sortBy((arg) => defaultArg(arg[1], 10000), append_1(chars, append_1(components, append_1(pvs, map_2((fv) => [JsonTypes_decomposeFactorValue(fv), tryGetFactorColumnIndex(fv)], ProcessOutput_getFactorValues_Z42C11600(outputForFactors))))), {
|
|
794
833
|
Compare: comparePrimitives,
|
|
795
834
|
}));
|
|
796
|
-
return toList(delay(() => append(singleton_1(JsonTypes_decomposeProcessInput(inputForType)), delay(() => append(protVals, delay(() => append(vals, delay(() => singleton_1(JsonTypes_decomposeProcessOutput(outputForType))))))))));
|
|
797
|
-
}, List_groupBy((tupledArg) => [ProcessInput__get_Name(tupledArg[0]), ProcessOutput__get_Name(tupledArg[1])], (
|
|
835
|
+
return toList(delay(() => append(singleton_1(JsonTypes_decomposeProcessInput(inputForType)), delay(() => append(protVals, delay(() => append(vals, delay(() => append(comments, delay(() => singleton_1(JsonTypes_decomposeProcessOutput(outputForType))))))))))));
|
|
836
|
+
}, List_groupBy((tupledArg) => [ProcessInput__get_Name(tupledArg[0]), ProcessOutput__get_Name(tupledArg[1])], (list_4 = defaultArg(p.Outputs, empty()), zip(defaultArg(p.Inputs, empty()), list_4)), {
|
|
798
837
|
Equals: equalArrays,
|
|
799
838
|
GetHashCode: arrayHash,
|
|
800
839
|
}));
|
|
@@ -959,7 +998,7 @@ export function ARCtrl_ArcTable__ArcTable_fromProtocol_Static_3BF20962(p) {
|
|
|
959
998
|
try {
|
|
960
999
|
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
961
1000
|
const pp = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
962
|
-
t.AddColumn(new CompositeHeader(3, [
|
|
1001
|
+
t.AddColumn(new CompositeHeader(3, [value_10(pp.ParameterName)]), void 0, ARCtrl_Process_ProtocolParameter__ProtocolParameter_TryGetColumnIndex(pp));
|
|
963
1002
|
}
|
|
964
1003
|
}
|
|
965
1004
|
finally {
|
|
@@ -970,7 +1009,7 @@ export function ARCtrl_ArcTable__ArcTable_fromProtocol_Static_3BF20962(p) {
|
|
|
970
1009
|
while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
|
|
971
1010
|
const c = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
972
1011
|
const v_1 = map((arg) => singleton_2(ARCtrl_CompositeCell__CompositeCell_fromValue_Static_6B24B5AD(arg, unwrap(c.ComponentUnit))), c.ComponentValue);
|
|
973
|
-
t.AddColumn(new CompositeHeader(3, [
|
|
1012
|
+
t.AddColumn(new CompositeHeader(3, [value_10(c.ComponentType)]), v_1, ARCtrl_Process_Component__Component_TryGetColumnIndex(c));
|
|
974
1013
|
}
|
|
975
1014
|
}
|
|
976
1015
|
finally {
|
package/Core/Helper/Regex.js
CHANGED
|
@@ -20,6 +20,8 @@ export const Pattern_InputPattern = `Input\\s\\[(?<${"iotype"}>.+)\\]`;
|
|
|
20
20
|
|
|
21
21
|
export const Pattern_OutputPattern = `Output\\s\\[(?<${"iotype"}>.+)\\]`;
|
|
22
22
|
|
|
23
|
+
export const Pattern_CommentPattern = `Comment\\s\\[(?<${"commentKey"}>.+)\\]`;
|
|
24
|
+
|
|
23
25
|
/**
|
|
24
26
|
* Matches, if the input string matches the given regex pattern.
|
|
25
27
|
*/
|
|
@@ -324,6 +326,17 @@ export function ActivePatterns_$007CAutoGeneratedTableName$007C_$007C(input) {
|
|
|
324
326
|
}
|
|
325
327
|
}
|
|
326
328
|
|
|
329
|
+
export function ActivePatterns_$007CComment$007C_$007C(input) {
|
|
330
|
+
const activePatternResult = ActivePatterns_$007CRegex$007C_$007C(Pattern_CommentPattern, input);
|
|
331
|
+
if (activePatternResult != null) {
|
|
332
|
+
const r = activePatternResult;
|
|
333
|
+
return (r.groups && r.groups.commentKey) || "";
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
return void 0;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
327
340
|
export function tryParseReferenceColumnHeader(str) {
|
|
328
341
|
const matchValue = str.trim();
|
|
329
342
|
const activePatternResult = ActivePatterns_$007CReferenceColumnHeader$007C_$007C(matchValue);
|
|
@@ -4,8 +4,9 @@ import { StringBuilder__Append_Z721C83C5, StringBuilder_$ctor } from "../fable_m
|
|
|
4
4
|
import { printf, toText, join } from "../fable_modules/fable-library-js.4.16.0/String.js";
|
|
5
5
|
import { toArray, empty, singleton, append, delay, toList } from "../fable_modules/fable-library-js.4.16.0/Seq.js";
|
|
6
6
|
import { toString } from "../fable_modules/fable-library-js.4.16.0/Types.js";
|
|
7
|
-
import { hash, boxHashOption, boxHashArray } from "./Helper/HashCodes.js";
|
|
7
|
+
import { hash as hash_1, boxHashOption, boxHashArray } from "./Helper/HashCodes.js";
|
|
8
8
|
import { ResizeArray_map } from "./Helper/Collections.js";
|
|
9
|
+
import { safeHash } from "../fable_modules/fable-library-js.4.16.0/Util.js";
|
|
9
10
|
import { class_type } from "../fable_modules/fable-library-js.4.16.0/Reflection.js";
|
|
10
11
|
|
|
11
12
|
export class OntologyAnnotation {
|
|
@@ -166,7 +167,7 @@ export class OntologyAnnotation {
|
|
|
166
167
|
}
|
|
167
168
|
Equals(obj) {
|
|
168
169
|
const this$ = this;
|
|
169
|
-
return
|
|
170
|
+
return hash_1(this$) === hash_1(obj);
|
|
170
171
|
}
|
|
171
172
|
Copy() {
|
|
172
173
|
const this$ = this;
|
|
@@ -184,6 +185,18 @@ export class OntologyAnnotation {
|
|
|
184
185
|
const this$ = this;
|
|
185
186
|
return "OA " + this$.NameText;
|
|
186
187
|
}
|
|
188
|
+
CompareTo(obj) {
|
|
189
|
+
const this$ = this;
|
|
190
|
+
if (obj instanceof OntologyAnnotation) {
|
|
191
|
+
const oa = obj;
|
|
192
|
+
const hash = safeHash(this$) | 0;
|
|
193
|
+
const otherHash = safeHash(oa) | 0;
|
|
194
|
+
return ((hash === otherHash) ? 0 : ((hash < otherHash) ? -1 : 1)) | 0;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
return 1;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
187
200
|
}
|
|
188
201
|
|
|
189
202
|
export function OntologyAnnotation_$reflection() {
|