@nfdi4plants/arctrl 1.0.0-beta.8 → 1.0.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.
Files changed (38) hide show
  1. package/ARC.js +9 -8
  2. package/Contracts/Contracts.ArcTypes.js +12 -9
  3. package/ISA/ISA/ArcTypes/ArcTable.js +17 -17
  4. package/ISA/ISA/ArcTypes/ArcTableAux.js +13 -11
  5. package/ISA/ISA/ArcTypes/ArcTables.js +6 -6
  6. package/ISA/ISA/ArcTypes/ArcTypes.js +209 -185
  7. package/ISA/ISA/ArcTypes/CompositeHeader.js +2 -2
  8. package/ISA/ISA/ArcTypes/CompositeRow.js +4 -4
  9. package/ISA/ISA/Fable.js +83 -10
  10. package/ISA/ISA/Helper.js +11 -4
  11. package/ISA/ISA/Identifier.js +10 -8
  12. package/ISA/ISA/JsonTypes/ColumnIndex.js +2 -2
  13. package/ISA/ISA/JsonTypes/Component.js +24 -16
  14. package/ISA/ISA/JsonTypes/OntologyAnnotation.js +3 -2
  15. package/ISA/ISA/JsonTypes/Process.js +7 -6
  16. package/ISA/ISA/JsonTypes/ProcessParameterValue.js +70 -92
  17. package/ISA/ISA/JsonTypes/ProtocolParameter.js +51 -79
  18. package/ISA/ISA/JsonTypes/Value.js +100 -165
  19. package/ISA/ISA/Regex.js +12 -6
  20. package/ISA/ISA.Json/ArcTypes/ArcAssay.js +197 -0
  21. package/ISA/ISA.Json/ArcTypes/ArcInvestigation.js +79 -0
  22. package/ISA/ISA.Json/ArcTypes/ArcStudy.js +77 -0
  23. package/ISA/ISA.Json/ArcTypes/ArcTable.js +57 -0
  24. package/ISA/ISA.Json/ArcTypes/CompositeCell.js +51 -0
  25. package/ISA/ISA.Json/ArcTypes/CompositeHeader.js +82 -0
  26. package/ISA/ISA.Json/ArcTypes/IOType.js +35 -0
  27. package/ISA/ISA.Json/Assay.js +0 -18
  28. package/ISA/ISA.Json/Investigation.js +17 -35
  29. package/ISA/ISA.Json/Process.js +3 -3
  30. package/ISA/ISA.Json/Study.js +0 -18
  31. package/ISA/ISA.Spreadsheet/ArcAssay.js +3 -3
  32. package/ISA/ISA.Spreadsheet/ArcInvestigation.js +21 -5
  33. package/ISA/ISA.Spreadsheet/ArcStudy.js +3 -5
  34. package/ISA/ISA.Spreadsheet/Metadata/Conversions.js +3 -3
  35. package/SemVer.js +5 -7
  36. package/Templates/Template.Json.js +12 -17
  37. package/fable_modules/project_cracked.json +1 -1
  38. package/package.json +5 -5
package/ARC.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { concat, fold, map, exactlyOne, choose } from "./fable_modules/fable-library.4.5.0/Array.js";
2
- import { ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract, ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract, ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract, ARCtrl_ISA_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F, ARCtrl_ISA_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F, ARCtrl_ISA_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F } from "./Contracts/Contracts.ArcTypes.js";
2
+ import { ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract, ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49, ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract, ARCtrl_ISA_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F, ARCtrl_ISA_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F, ARCtrl_ISA_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F } from "./Contracts/Contracts.ArcTypes.js";
3
3
  import { collect, empty, iterate, find, tryFind, map as map_1, singleton, append, delay, toList, toArray } from "./fable_modules/fable-library.4.5.0/Seq.js";
4
4
  import { createRunsFolder, createWorkflowsFolder, createInvestigationFile, createStudyFolder, createStudiesFolder, createAssayFolder, createAssaysFolder } from "./FileSystemTree.js";
5
5
  import { FileSystemTree } from "./FileSystem/FileSystemTree.js";
@@ -11,7 +11,7 @@ import { ofArray } from "./fable_modules/fable-library.4.5.0/List.js";
11
11
  import { tryISAReadContractFromPath } from "./Contracts/Contracts.ARCtrl.js";
12
12
  import { ArcTables } from "./ISA/ISA/ArcTypes/ArcTables.js";
13
13
  import { addToDict } from "./fable_modules/fable-library.4.5.0/MapUtil.js";
14
- import { toFsWorkbook } from "./ISA/ISA.Spreadsheet/ArcInvestigation.js";
14
+ import { toFsWorkbook, toLightFsWorkbook } from "./ISA/ISA.Spreadsheet/ArcInvestigation.js";
15
15
  import { ArcInvestigation } from "./ISA/ISA/ArcTypes/ArcTypes.js";
16
16
  import { Assay_fileNameFromIdentifier, Study_fileNameFromIdentifier } from "./ISA/ISA/Identifier.js";
17
17
  import { ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9 } from "./ISA/ISA.Spreadsheet/ArcStudy.js";
@@ -113,7 +113,7 @@ export class ARC {
113
113
  const assayFolderPath = getAssayFolderPath(assayIdentifier);
114
114
  const filteredPaths = paths.filter((p) => !(p.indexOf(assayFolderPath) === 0));
115
115
  this$.SetFilePaths(filteredPaths);
116
- const collection = toList(delay(() => append(singleton(ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract(assay)), delay(() => append(singleton(ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract(isa)), delay(() => map_1(ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract, studies)))))));
116
+ const collection = toList(delay(() => append(singleton(ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract(assay)), delay(() => append(singleton(ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(isa)), delay(() => map_1(ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract, studies)))))));
117
117
  return Array.from(collection);
118
118
  }
119
119
  RemoveStudy(studyIdentifier) {
@@ -131,7 +131,7 @@ export class ARC {
131
131
  const studyFolderPath = getStudyFolderPath(studyIdentifier);
132
132
  const filteredPaths = paths.filter((p) => !(p.indexOf(studyFolderPath) === 0));
133
133
  this$.SetFilePaths(filteredPaths);
134
- const collection = ofArray([Contract.createDelete(studyFolderPath), ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract(isa)]);
134
+ const collection = ofArray([Contract.createDelete(studyFolderPath), ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(isa)]);
135
135
  return Array.from(collection);
136
136
  }
137
137
  static fromFilePaths(filePaths) {
@@ -160,7 +160,7 @@ export class ARC {
160
160
  const array_4 = investigation.StudyIdentifiers;
161
161
  array_4.forEach((si) => {
162
162
  if (!studies.some((s) => (s.Identifier === si))) {
163
- investigation.RemoveStudy(si);
163
+ investigation.DeleteStudy(si);
164
164
  }
165
165
  });
166
166
  studies.forEach((study) => {
@@ -197,16 +197,17 @@ export class ARC {
197
197
  newFS = ARCAux_updateFSByCWL(this$._cwl, fs);
198
198
  this$._fs = newFS;
199
199
  }
200
- GetWriteContracts() {
200
+ GetWriteContracts(isLight) {
201
201
  const this$ = this;
202
+ const isLight_1 = defaultArg(isLight, true);
202
203
  const workbooks = new Map([]);
203
204
  const matchValue = this$.ISA;
204
205
  if (matchValue == null) {
205
- addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", toFsWorkbook(ArcInvestigation.create("MISSING_IDENTIFIER_"))]);
206
+ addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", toLightFsWorkbook(ArcInvestigation.create("MISSING_IDENTIFIER_"))]);
206
207
  }
207
208
  else {
208
209
  const inv = matchValue;
209
- addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", toFsWorkbook(inv)]);
210
+ addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", (isLight_1 ? (toLightFsWorkbook) : (toFsWorkbook))(inv)]);
210
211
  iterate((s) => {
211
212
  addToDict(workbooks, Study_fileNameFromIdentifier(s.Identifier), ["ISA_Study", ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9(s)]);
212
213
  }, inv.Studies);
@@ -1,8 +1,9 @@
1
1
  import { combineMany } from "../FileSystem/Path.js";
2
2
  import { equalsWith } from "../fable_modules/fable-library.4.5.0/Array.js";
3
3
  import { defaultOf } from "../fable_modules/fable-library.4.5.0/Util.js";
4
+ import { unwrap, defaultArg } from "../fable_modules/fable-library.4.5.0/Option.js";
5
+ import { fromFsWorkbook, toFsWorkbook, toLightFsWorkbook } from "../ISA/ISA.Spreadsheet/ArcInvestigation.js";
4
6
  import { Contract } from "../Contract/Contract.js";
5
- import { fromFsWorkbook, toFsWorkbook } from "../ISA/ISA.Spreadsheet/ArcInvestigation.js";
6
7
  import { Assay_fileNameFromIdentifier, Study_fileNameFromIdentifier } from "../ISA/ISA/Identifier.js";
7
8
  import { ARCtrl_ISA_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D, ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9 } from "../ISA/ISA.Spreadsheet/ArcStudy.js";
8
9
  import { getAssayFolderPath, getStudyFolderPath } from "../Path.js";
@@ -85,20 +86,22 @@ export function $007CInvestigationPath$007C_$007C(input) {
85
86
  }
86
87
  }
87
88
 
88
- export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToCreateContract(this$) {
89
- return Contract.createCreate("isa.investigation.xlsx", "ISA_Investigation", toFsWorkbook(this$));
89
+ export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToCreateContract_6FCE9E49(this$, isLight) {
90
+ const converter = defaultArg(isLight, true) ? (toLightFsWorkbook) : (toFsWorkbook);
91
+ return Contract.createCreate("isa.investigation.xlsx", "ISA_Investigation", converter(this$));
90
92
  }
91
93
 
92
- export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract(this$) {
93
- return Contract.createUpdate("isa.investigation.xlsx", "ISA_Investigation", toFsWorkbook(this$));
94
+ export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(this$, isLight) {
95
+ const converter = defaultArg(isLight, true) ? (toLightFsWorkbook) : (toFsWorkbook);
96
+ return Contract.createUpdate("isa.investigation.xlsx", "ISA_Investigation", converter(this$));
94
97
  }
95
98
 
96
- export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_toCreateContract_Static_Z4D87C88C(inv) {
97
- return ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToCreateContract(inv);
99
+ export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_toCreateContract_Static_6EB1BBBD(inv, isLight) {
100
+ return ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToCreateContract_6FCE9E49(inv, unwrap(isLight));
98
101
  }
99
102
 
100
- export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_Z4D87C88C(inv) {
101
- return ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract(inv);
103
+ export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_6EB1BBBD(inv, isLight) {
104
+ return ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(inv, unwrap(isLight));
102
105
  }
103
106
 
104
107
  export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F(c) {
@@ -16,7 +16,7 @@ import { createMissingIdentifier } from "../Identifier.js";
16
16
  import { ARCtrl_ISA_Component__Component_TryGetColumnIndex, ARCtrl_ISA_ProtocolParameter__ProtocolParameter_TryGetColumnIndex } from "../JsonTypes/ColumnIndex.js";
17
17
  import { Protocol_create_Z7DFD6E67, Protocol_addComponent, Protocol_addParameter, Protocol_setName, Protocol_setDescription, Protocol_setUri, Protocol_setVersion, Protocol_setProtocolType } from "../JsonTypes/Protocol.js";
18
18
  import { OntologyAnnotation } from "../JsonTypes/OntologyAnnotation.js";
19
- import { ProtocolParameter_create_Z6C54B221 } from "../JsonTypes/ProtocolParameter.js";
19
+ import { ProtocolParameter } from "../JsonTypes/ProtocolParameter.js";
20
20
  import { Component_create_61502994 } from "../JsonTypes/Component.js";
21
21
  import { Array_groupBy, List_distinct } from "../../../fable_modules/fable-library.4.5.0/Seq2.js";
22
22
  import { toProtocol } from "./CompositeRow.js";
@@ -27,33 +27,33 @@ import { class_type } from "../../../fable_modules/fable-library.4.5.0/Reflectio
27
27
 
28
28
  export class ArcTable {
29
29
  constructor(name, headers, values) {
30
- this._name = name;
31
- this["Headers@"] = headers;
32
- this["Values@"] = values;
30
+ this["name@20"] = name;
31
+ this["headers@21"] = headers;
32
+ this["values@22"] = values;
33
33
  }
34
34
  get Headers() {
35
- const __ = this;
36
- return __["Headers@"];
35
+ const this$ = this;
36
+ return this$["headers@21"];
37
37
  }
38
- set Headers(v) {
39
- const __ = this;
40
- __["Headers@"] = v;
38
+ set Headers(newHeaders) {
39
+ const this$ = this;
40
+ this$["headers@21"] = newHeaders;
41
41
  }
42
42
  get Values() {
43
- const __ = this;
44
- return __["Values@"];
43
+ const this$ = this;
44
+ return this$["values@22"];
45
45
  }
46
- set Values(v) {
47
- const __ = this;
48
- __["Values@"] = v;
46
+ set Values(newValues) {
47
+ const this$ = this;
48
+ this$["values@22"] = newValues;
49
49
  }
50
50
  get Name() {
51
51
  const this$ = this;
52
- return this$._name;
52
+ return this$["name@20"];
53
53
  }
54
54
  set Name(newName) {
55
55
  const this$ = this;
56
- this$._name = newName;
56
+ this$["name@20"] = newName;
57
57
  }
58
58
  static create(name, headers, values) {
59
59
  return new ArcTable(name, headers, values);
@@ -720,7 +720,7 @@ export class ArcTable {
720
720
  case 8:
721
721
  return Protocol_setName(p, "");
722
722
  case 3:
723
- return Protocol_addParameter(ProtocolParameter_create_Z6C54B221(void 0, h.fields[0]), p);
723
+ return Protocol_addParameter(ProtocolParameter.create(void 0, h.fields[0]), p);
724
724
  case 0:
725
725
  return Protocol_addComponent(Component_create_61502994(void 0, void 0, void 0, h.fields[0]), p);
726
726
  default:
@@ -7,10 +7,10 @@ import { CompositeCell } from "./CompositeCell.js";
7
7
  import { max } from "../../../fable_modules/fable-library.4.5.0/Double.js";
8
8
  import { iterateIndexed } from "../../../fable_modules/fable-library.4.5.0/Array.js";
9
9
  import { FSharpSet__get_MinimumElement, FSharpSet__get_IsEmpty, difference, ofSeq as ofSeq_1 } from "../../../fable_modules/fable-library.4.5.0/Set.js";
10
- import { Value_fromString_Z721C83C5, Value as Value_1 } from "../JsonTypes/Value.js";
10
+ import { Value as Value_1 } from "../JsonTypes/Value.js";
11
11
  import { Component_fromOptions } from "../JsonTypes/Component.js";
12
- import { ProcessParameterValue_create_569825F3 } from "../JsonTypes/ProcessParameterValue.js";
13
- import { ProtocolParameter_create_Z6C54B221 } from "../JsonTypes/ProtocolParameter.js";
12
+ import { ProtocolParameter } from "../JsonTypes/ProtocolParameter.js";
13
+ import { ProcessParameterValue } from "../JsonTypes/ProcessParameterValue.js";
14
14
  import { FactorValue_create_18335379 } from "../JsonTypes/FactorValue.js";
15
15
  import { Factor } from "../JsonTypes/Factor.js";
16
16
  import { toString } from "../../../fable_modules/fable-library.4.5.0/Types.js";
@@ -24,7 +24,7 @@ import { tryGetFactorColumnIndex, tryGetCharacteristicColumnIndex, tryGetCompone
24
24
  import { Source_create_7A281ED9 } from "../JsonTypes/Source.js";
25
25
  import { Sample_create_E50ED22 } from "../JsonTypes/Sample.js";
26
26
  import { Process_create_Z42860F3E, Process_decomposeName_Z721C83C5, Process_make, Process_composeName } from "../JsonTypes/Process.js";
27
- import { List_tryPickAndRemove, Option_fromValueWithDefault } from "../Helper.js";
27
+ import { List_tryPickAndRemove, HashCodes_boxHashSeq, Option_fromValueWithDefault } from "../Helper.js";
28
28
  import { Protocol_make } from "../JsonTypes/Protocol.js";
29
29
  import { List_groupBy } from "../../../fable_modules/fable-library.4.5.0/Seq2.js";
30
30
  import { createMissingIdentifier } from "../Identifier.js";
@@ -420,9 +420,9 @@ export function JsonTypes_valueOfCell(value) {
420
420
  case 0:
421
421
  return [new Value_1(0, [value.fields[0]]), void 0];
422
422
  case 2:
423
- return [Value_fromString_Z721C83C5(value.fields[0]), value.fields[1]];
423
+ return [Value_1.fromString(value.fields[0]), value.fields[1]];
424
424
  default:
425
- return [Value_fromString_Z721C83C5(value.fields[0]), void 0];
425
+ return [Value_1.fromString(value.fields[0]), void 0];
426
426
  }
427
427
  }
428
428
 
@@ -439,7 +439,8 @@ export function JsonTypes_composeComponent(header, value) {
439
439
  */
440
440
  export function JsonTypes_composeParameterValue(header, value) {
441
441
  const patternInput = JsonTypes_valueOfCell(value);
442
- return ProcessParameterValue_create_569825F3(ProtocolParameter_create_Z6C54B221(void 0, header.ToTerm()), patternInput[0], unwrap(patternInput[1]));
442
+ const p = ProtocolParameter.create(void 0, header.ToTerm());
443
+ return ProcessParameterValue.create(p, patternInput[0], unwrap(patternInput[1]));
443
444
  }
444
445
 
445
446
  /**
@@ -941,13 +942,13 @@ export function ProcessParsing_groupProcesses(ps) {
941
942
  export function ProcessParsing_mergeIdenticalProcesses(processes) {
942
943
  const l = List_groupBy((x) => {
943
944
  if ((x.Name != null) && (Process_decomposeName_Z721C83C5(value_9(x.Name))[1] != null)) {
944
- return [Process_decomposeName_Z721C83C5(value_9(x.Name))[0], x.ExecutesProtocol, x.ParameterValues];
945
+ return [Process_decomposeName_Z721C83C5(value_9(x.Name))[0], x.ExecutesProtocol, map_1(HashCodes_boxHashSeq, x.ParameterValues)];
945
946
  }
946
947
  else if ((x.ExecutesProtocol != null) && (value_9(x.ExecutesProtocol).Name != null)) {
947
- return [value_9(value_9(x.ExecutesProtocol).Name), x.ExecutesProtocol, x.ParameterValues];
948
+ return [value_9(value_9(x.ExecutesProtocol).Name), x.ExecutesProtocol, map_1(HashCodes_boxHashSeq, x.ParameterValues)];
948
949
  }
949
950
  else {
950
- return [createMissingIdentifier(), x.ExecutesProtocol, x.ParameterValues];
951
+ return [createMissingIdentifier(), x.ExecutesProtocol, map_1(HashCodes_boxHashSeq, x.ParameterValues)];
951
952
  }
952
953
  }, processes, {
953
954
  Equals: equalArrays,
@@ -957,9 +958,10 @@ export function ProcessParsing_mergeIdenticalProcesses(processes) {
957
958
  const _arg = tupledArg[0];
958
959
  const processes_1 = tupledArg[1];
959
960
  const n = _arg[0];
961
+ const pVs = item(0, processes_1).ParameterValues;
960
962
  const inputs = Option_fromValueWithDefault(empty_1(), collect((p) => defaultArg(p.Inputs, empty_1()), processes_1));
961
963
  const outputs = Option_fromValueWithDefault(empty_1(), collect((p_1) => defaultArg(p_1.Outputs, empty_1()), processes_1));
962
- return Process_create_Z42860F3E(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, _arg[1], _arg[2], void 0, void 0, void 0, void 0, inputs, outputs);
964
+ return Process_create_Z42860F3E(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, _arg[1], pVs, void 0, void 0, void 0, void 0, inputs, outputs);
963
965
  }, l);
964
966
  }
965
967
 
@@ -200,15 +200,15 @@ export function ArcTablesAux_SanityChecks_validateNewNamesUnique(newNames, exist
200
200
 
201
201
  export class ArcTables {
202
202
  constructor(initTables) {
203
- this["Tables@"] = initTables;
203
+ this.tables = initTables;
204
204
  }
205
205
  get Tables() {
206
- const __ = this;
207
- return __["Tables@"];
206
+ const this$ = this;
207
+ return this$.tables;
208
208
  }
209
- set Tables(v) {
210
- const __ = this;
211
- __["Tables@"] = v;
209
+ set Tables(newTables) {
210
+ const this$ = this;
211
+ this$.tables = newTables;
212
212
  }
213
213
  get_Item(index) {
214
214
  const this$ = this;