@nfdi4plants/arctrl 2.0.0-alpha.3 → 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.
Files changed (122) hide show
  1. package/ARC.js +178 -21
  2. package/Contract/ARC.js +9 -1
  3. package/Contract/Contract.js +3 -0
  4. package/Contract/Datamap.js +180 -0
  5. package/Contract/Git.js +3 -0
  6. package/Core/ArcTypes.js +189 -120
  7. package/Core/Conversion.js +177 -106
  8. package/Core/Data.js +119 -0
  9. package/Core/{Process/DataFile.js → DataFile.js} +3 -3
  10. package/Core/Helper/Identifier.js +40 -0
  11. package/Core/Helper/Regex.js +13 -0
  12. package/Core/OntologyAnnotation.js +28 -6
  13. package/Core/Process/ColumnIndex.js +13 -3
  14. package/Core/Process/ProcessInput.js +5 -5
  15. package/Core/Process/ProcessOutput.js +5 -5
  16. package/Core/Process/Value.js +1 -1
  17. package/Core/Table/ArcTable.js +24 -2
  18. package/Core/Table/ArcTableAux.js +56 -5
  19. package/Core/Table/ArcTables.js +1 -1
  20. package/Core/Table/CompositeCell.js +67 -10
  21. package/Core/Table/CompositeColumn.js +9 -0
  22. package/Core/Table/CompositeHeader.js +108 -94
  23. package/Core/Table/DataMap.js +166 -0
  24. package/FileSystem/DefaultGitattributes.js +3 -0
  25. package/FileSystem/FileSystemTree.js +18 -4
  26. package/Json/Assay.js +4 -4
  27. package/Json/Process/Data.js +56 -18
  28. package/Json/Process/DataFile.js +5 -5
  29. package/Json/Process/PropertyValue.js +124 -4
  30. package/Json/Study.js +4 -4
  31. package/Json/Table/CompositeCell.js +7 -6
  32. package/Json/Table/CompositeHeader.js +4 -3
  33. package/Spreadsheet/AnnotationTable/ArcTable.js +10 -13
  34. package/Spreadsheet/AnnotationTable/CompositeCell.js +32 -50
  35. package/Spreadsheet/AnnotationTable/CompositeColumn.js +16 -10
  36. package/Spreadsheet/AnnotationTable/CompositeHeader.js +290 -135
  37. package/Spreadsheet/ArcAssay.js +2 -2
  38. package/Spreadsheet/ArcInvestigation.js +2 -2
  39. package/Spreadsheet/ArcStudy.js +2 -2
  40. package/Spreadsheet/DataMap.js +31 -0
  41. package/Spreadsheet/DataMapTable/DataMapColumn.js +36 -0
  42. package/Spreadsheet/DataMapTable/DataMapHeader.js +417 -0
  43. package/Spreadsheet/DataMapTable/DataMapTable.js +98 -0
  44. package/Spreadsheet/Metadata/Assays.js +2 -2
  45. package/Spreadsheet/Metadata/SparseTable.js +7 -7
  46. package/Spreadsheet/Metadata/Study.js +1 -1
  47. package/Spreadsheet/Template.js +2 -2
  48. package/Xlsx.js +29 -6
  49. package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsSpreadsheet.fableproj +9 -3
  50. package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsWorksheet.fs +1 -0
  51. package/fable_modules/FsSpreadsheet.6.1.2/Json/Cell.fs +23 -0
  52. package/fable_modules/FsSpreadsheet.6.1.2/Json/Cell.fs.js +21 -0
  53. package/fable_modules/FsSpreadsheet.6.1.2/Json/Row.fs +23 -0
  54. package/fable_modules/FsSpreadsheet.6.1.2/Json/Row.fs.js +19 -0
  55. package/fable_modules/FsSpreadsheet.6.1.2/Json/Table.fs +24 -0
  56. package/fable_modules/FsSpreadsheet.6.1.2/Json/Table.fs.js +15 -0
  57. package/fable_modules/FsSpreadsheet.6.1.2/Json/Value.fs +70 -0
  58. package/fable_modules/FsSpreadsheet.6.1.2/Json/Value.fs.js +48 -0
  59. package/fable_modules/FsSpreadsheet.6.1.2/Json/Workbook.fs +20 -0
  60. package/fable_modules/FsSpreadsheet.6.1.2/Json/Workbook.fs.js +21 -0
  61. package/fable_modules/FsSpreadsheet.6.1.2/Json/Worksheet.fs +49 -0
  62. package/fable_modules/FsSpreadsheet.6.1.2/Json/Worksheet.fs.js +44 -0
  63. package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +3 -3
  64. package/fable_modules/project_cracked.json +1 -1
  65. package/package.json +1 -1
  66. package/Core/Process/Data.js +0 -55
  67. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Cells/FsCell.fs +0 -0
  68. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Cells/FsCell.fs.js +0 -0
  69. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Cells/FsCellsCollection.fs +0 -0
  70. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Cells/FsCellsCollection.fs.js +0 -0
  71. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/CellBuilder.fs +0 -0
  72. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/CellBuilder.fs.js +0 -0
  73. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/ColumnBuilder.fs +0 -0
  74. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/ColumnBuilder.fs.js +0 -0
  75. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/DSL.fs +0 -0
  76. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/DSL.fs.js +0 -0
  77. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Expression.fs +0 -0
  78. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Expression.fs.js +0 -0
  79. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Operators.fs +0 -0
  80. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Operators.fs.js +0 -0
  81. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/RowBuilder.fs +0 -0
  82. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/RowBuilder.fs.js +0 -0
  83. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/SheetBuilder.fs +0 -0
  84. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/SheetBuilder.fs.js +0 -0
  85. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/TableBuilder.fs +0 -0
  86. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/TableBuilder.fs.js +0 -0
  87. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Transform.fs +0 -0
  88. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Transform.fs.js +0 -0
  89. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Types.fs +0 -0
  90. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/Types.fs.js +0 -0
  91. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/WorkbookBuilder.fs +0 -0
  92. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/DSL/WorkbookBuilder.fs.js +0 -0
  93. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsAddress.fs +0 -0
  94. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsAddress.fs.js +0 -0
  95. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsColumn.fs +0 -0
  96. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsColumn.fs.js +0 -0
  97. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsRow.fs +0 -0
  98. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsRow.fs.js +0 -0
  99. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsWorkbook.fs +0 -0
  100. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsWorkbook.fs.js +0 -0
  101. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/FsWorksheet.fs.js +0 -0
  102. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRange.fs +0 -0
  103. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRange.fs.js +0 -0
  104. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeAddress.fs +0 -0
  105. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeAddress.fs.js +0 -0
  106. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeBase.fs +0 -0
  107. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeBase.fs.js +0 -0
  108. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeColumn.fs +0 -0
  109. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeColumn.fs.js +0 -0
  110. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeRow.fs +0 -0
  111. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Ranges/FsRangeRow.fs.js +0 -0
  112. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/SheetBuilder.fs +0 -0
  113. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/SheetBuilder.fs.js +0 -0
  114. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Tables/FsTable.fs +0 -0
  115. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Tables/FsTable.fs.js +0 -0
  116. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Tables/FsTableField.fs +0 -0
  117. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Tables/FsTableField.fs.js +0 -0
  118. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Tables/FsTableRow.fs +0 -0
  119. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/Tables/FsTableRow.fs.js +0 -0
  120. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
  121. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +0 -0
  122. /package/fable_modules/{FsSpreadsheet.5.1.3 → FsSpreadsheet.6.1.2}/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
@@ -0,0 +1,166 @@
1
+ import { CompositeHeader, IOType } from "./CompositeHeader.js";
2
+ import { OntologyAnnotation } from "../OntologyAnnotation.js";
3
+ import { exists as exists_1, ofArray } from "../../fable_modules/fable-library-js.4.16.0/List.js";
4
+ import { exists } from "../../fable_modules/fable-library-js.4.16.0/Seq.js";
5
+ import { arrayHash, equalArrays, safeHash, equals } from "../../fable_modules/fable-library-js.4.16.0/Util.js";
6
+ import { printf, toFail } from "../../fable_modules/fable-library-js.4.16.0/String.js";
7
+ import { SanityChecks_validate } from "./ArcTableAux.js";
8
+ import { ArcTable } from "./ArcTable.js";
9
+ import { class_type } from "../../fable_modules/fable-library-js.4.16.0/Reflection.js";
10
+ import { Dictionary } from "../../fable_modules/fable-library-js.4.16.0/MutableMap.js";
11
+ import { unwrap } from "../../fable_modules/fable-library-js.4.16.0/Option.js";
12
+
13
+ export const DataMapAux_dataHeader = new CompositeHeader(11, [new IOType(2, [])]);
14
+
15
+ export const DataMapAux_explication = new OntologyAnnotation("Clarification", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C94778");
16
+
17
+ export const DataMapAux_explicationHeader = new CompositeHeader(3, [DataMapAux_explication]);
18
+
19
+ export const DataMapAux_unit = new OntologyAnnotation("Unit", "UO", "http://purl.obolibrary.org/obo/UO_0000000");
20
+
21
+ export const DataMapAux_unitHeader = new CompositeHeader(3, [DataMapAux_unit]);
22
+
23
+ export const DataMapAux_objectType = new OntologyAnnotation("Data Type", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C42645");
24
+
25
+ export const DataMapAux_objectTypeHeader = new CompositeHeader(3, [DataMapAux_objectType]);
26
+
27
+ export const DataMapAux_descriptionHeader = new CompositeHeader(13, ["Description"]);
28
+
29
+ export const DataMapAux_generatedByHeader = new CompositeHeader(13, ["Generated By"]);
30
+
31
+ export const DataMapAux_allowedHeaders = ofArray([DataMapAux_dataHeader, DataMapAux_explicationHeader, DataMapAux_unitHeader, DataMapAux_objectTypeHeader, DataMapAux_descriptionHeader, DataMapAux_generatedByHeader]);
32
+
33
+ export function DataMapAux_validate(headers, values, raiseException) {
34
+ if (exists((h) => {
35
+ const hasForeignHeader = !exists_1((ah) => equals(ah, h), DataMapAux_allowedHeaders);
36
+ if (raiseException && hasForeignHeader) {
37
+ toFail(printf("Header %O is not allowed in DataMap"))(h);
38
+ }
39
+ return hasForeignHeader;
40
+ }, headers)) {
41
+ return SanityChecks_validate(headers, values, raiseException);
42
+ }
43
+ else {
44
+ return false;
45
+ }
46
+ }
47
+
48
+ export class DataMap {
49
+ constructor(headers, values) {
50
+ DataMapAux_validate(headers, values, true);
51
+ this.table = (new ArcTable("DataMap", headers, values));
52
+ this.staticHash = 0;
53
+ }
54
+ Equals(obj) {
55
+ let dm;
56
+ const this$ = this;
57
+ return (obj instanceof DataMap) && ((dm = obj, equals(DataMap__get_Table(this$), DataMap__get_Table(dm))));
58
+ }
59
+ GetHashCode() {
60
+ const this$ = this;
61
+ return safeHash(DataMap__get_Table(this$)) | 0;
62
+ }
63
+ }
64
+
65
+ export function DataMap_$reflection() {
66
+ return class_type("ARCtrl.DataMap", void 0, DataMap);
67
+ }
68
+
69
+ export function DataMap_$ctor_ZD0829CB(headers, values) {
70
+ return new DataMap(headers, values);
71
+ }
72
+
73
+ export function DataMap__get_Headers(this$) {
74
+ return this$.table.Headers;
75
+ }
76
+
77
+ export function DataMap__get_Values(this$) {
78
+ return this$.table.Values;
79
+ }
80
+
81
+ export function DataMap__get_StaticHash(this$) {
82
+ return this$.staticHash;
83
+ }
84
+
85
+ export function DataMap__set_StaticHash_Z524259A4(this$, value) {
86
+ this$.staticHash = (value | 0);
87
+ }
88
+
89
+ export function DataMap_init() {
90
+ return DataMap_$ctor_ZD0829CB([], new Dictionary([], {
91
+ Equals: equalArrays,
92
+ GetHashCode: arrayHash,
93
+ }));
94
+ }
95
+
96
+ export function DataMap__AddColumns_6369C010(this$, columns, skipFillMissing) {
97
+ columns.forEach((c) => {
98
+ c.Validate(true);
99
+ });
100
+ this$.table.AddColumns(columns, void 0, void 0, unwrap(skipFillMissing));
101
+ DataMapAux_validate(this$.table.Headers, this$.table.Values, true);
102
+ }
103
+
104
+ export function DataMap_addColumns_6369C010(columns, skipFillMissing) {
105
+ return (dm) => {
106
+ const dm_1 = DataMap__Copy(dm);
107
+ DataMap__AddColumns_6369C010(dm_1, columns, unwrap(skipFillMissing));
108
+ return dm_1;
109
+ };
110
+ }
111
+
112
+ export function DataMap__get_Table(this$) {
113
+ return this$.table;
114
+ }
115
+
116
+ export function DataMap__TryGetCellAt_Z37302880(this$, row, column) {
117
+ return this$.table.TryGetCellAt(row, column);
118
+ }
119
+
120
+ export function DataMap__GetExplicationColumn(this$) {
121
+ return this$.table.GetColumnByHeader(DataMapAux_explicationHeader);
122
+ }
123
+
124
+ export function DataMap__AddExplicationColumn_C98E589(this$, cells) {
125
+ this$.table.AddColumn(DataMapAux_explicationHeader, cells);
126
+ }
127
+
128
+ export function DataMap__GetUnitColumn(this$) {
129
+ return this$.table.GetColumnByHeader(DataMapAux_unitHeader);
130
+ }
131
+
132
+ export function DataMap__AddUnitColumn_C98E589(this$, cells) {
133
+ this$.table.AddColumn(DataMapAux_unitHeader, cells);
134
+ }
135
+
136
+ export function DataMap__GetDataTypeColumn(this$) {
137
+ return this$.table.GetColumnByHeader(DataMapAux_objectTypeHeader);
138
+ }
139
+
140
+ export function DataMap__AddDataTypeColumn_C98E589(this$, cells) {
141
+ this$.table.AddColumn(DataMapAux_objectTypeHeader, cells);
142
+ }
143
+
144
+ export function DataMap__GetDescriptionColumn(this$) {
145
+ return this$.table.GetColumnByHeader(DataMapAux_descriptionHeader);
146
+ }
147
+
148
+ export function DataMap__AddDescriptionColumn_C98E589(this$, cells) {
149
+ this$.table.AddColumn(DataMapAux_descriptionHeader, cells);
150
+ }
151
+
152
+ export function DataMap__GetRow_ABCEF95(this$, row, SkipValidation) {
153
+ return this$.table.GetRow(row, unwrap(SkipValidation));
154
+ }
155
+
156
+ export function DataMap_getRow_ABCEF95(row, SkipValidation) {
157
+ return (dm) => DataMap__GetRow_ABCEF95(dm, row, unwrap(SkipValidation));
158
+ }
159
+
160
+ export function DataMap__Copy(this$) {
161
+ return DataMap_$ctor_ZD0829CB(Array.from(DataMap__get_Headers(this$)), new Dictionary(DataMap__get_Values(this$), {
162
+ Equals: equalArrays,
163
+ GetHashCode: arrayHash,
164
+ }));
165
+ }
166
+
@@ -0,0 +1,3 @@
1
+
2
+ export const dga = "**/dataset/**";
3
+
@@ -224,19 +224,33 @@ export class FileSystemTree extends Union {
224
224
  static createEmptyFolder(name) {
225
225
  return FileSystemTree.createFolder(name, [FileSystemTree.createGitKeepFile()]);
226
226
  }
227
- static createAssayFolder(assayName) {
227
+ static createAssayFolder(assayName, hasDataMap) {
228
+ const hasDataMap_1 = defaultArg(hasDataMap, false);
228
229
  const dataset = FileSystemTree.createEmptyFolder("dataset");
229
230
  const protocols = FileSystemTree.createEmptyFolder("protocols");
230
231
  const readme = FileSystemTree.createReadmeFile();
231
232
  const assayFile = FileSystemTree.createFile("isa.assay.xlsx");
232
- return FileSystemTree.createFolder(assayName, [dataset, protocols, assayFile, readme]);
233
+ if (hasDataMap_1) {
234
+ const dataMapFile = FileSystemTree.createFile("isa.datamap.xlsx");
235
+ return FileSystemTree.createFolder(assayName, [dataset, protocols, assayFile, readme, dataMapFile]);
236
+ }
237
+ else {
238
+ return FileSystemTree.createFolder(assayName, [dataset, protocols, assayFile, readme]);
239
+ }
233
240
  }
234
- static createStudyFolder(studyName) {
241
+ static createStudyFolder(studyName, hasDataMap) {
242
+ const hasDataMap_1 = defaultArg(hasDataMap, false);
235
243
  const resources = FileSystemTree.createEmptyFolder("resources");
236
244
  const protocols = FileSystemTree.createEmptyFolder("protocols");
237
245
  const readme = FileSystemTree.createReadmeFile();
238
246
  const studyFile = FileSystemTree.createFile("isa.study.xlsx");
239
- return FileSystemTree.createFolder(studyName, [resources, protocols, studyFile, readme]);
247
+ if (hasDataMap_1) {
248
+ const dataMapFile = FileSystemTree.createFile("isa.datamap.xlsx");
249
+ return FileSystemTree.createFolder(studyName, [resources, protocols, studyFile, readme, dataMapFile]);
250
+ }
251
+ else {
252
+ return FileSystemTree.createFolder(studyName, [resources, protocols, studyFile, readme]);
253
+ }
240
254
  }
241
255
  static createInvestigationFile() {
242
256
  return FileSystemTree.createFile("isa.investigation.xlsx");
package/Json/Assay.js CHANGED
@@ -39,7 +39,7 @@ export function Assay_encoder(assay) {
39
39
 
40
40
  export const Assay_decoder = object((get$) => {
41
41
  let objectArg, objectArg_1, objectArg_2, objectArg_3, arg_9, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6;
42
- return ArcAssay.create((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("MeasurementType", OntologyAnnotation_decoder))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("TechnologyType", OntologyAnnotation_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("TechnologyPlatform", OntologyAnnotation_decoder))), unwrap((arg_9 = Decode_resizeArray(ArcTable_decoder), (objectArg_4 = get$.Optional, objectArg_4.Field("Tables", arg_9)))), unwrap((arg_11 = Decode_resizeArray(Person_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Performers", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Comment_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Comments", arg_13)))));
42
+ return ArcAssay.create((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("MeasurementType", OntologyAnnotation_decoder))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("TechnologyType", OntologyAnnotation_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("TechnologyPlatform", OntologyAnnotation_decoder))), unwrap((arg_9 = Decode_resizeArray(ArcTable_decoder), (objectArg_4 = get$.Optional, objectArg_4.Field("Tables", arg_9)))), void 0, unwrap((arg_11 = Decode_resizeArray(Person_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Performers", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Comment_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Comments", arg_13)))));
43
43
  });
44
44
 
45
45
  export function Assay_encoderCompressed(stringTable, oaTable, cellTable, assay) {
@@ -57,7 +57,7 @@ export function Assay_encoderCompressed(stringTable, oaTable, cellTable, assay)
57
57
  export function Assay_decoderCompressed(stringTable, oaTable, cellTable) {
58
58
  return object((get$) => {
59
59
  let objectArg, objectArg_1, objectArg_2, objectArg_3, arg_9, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6;
60
- return ArcAssay.create((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("MeasurementType", OntologyAnnotation_decoder))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("TechnologyType", OntologyAnnotation_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("TechnologyPlatform", OntologyAnnotation_decoder))), unwrap((arg_9 = Decode_resizeArray(ArcTable_decoderCompressed(stringTable, oaTable, cellTable)), (objectArg_4 = get$.Optional, objectArg_4.Field("Tables", arg_9)))), unwrap((arg_11 = Decode_resizeArray(Person_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Performers", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Comment_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Comments", arg_13)))));
60
+ return ArcAssay.create((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("MeasurementType", OntologyAnnotation_decoder))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("TechnologyType", OntologyAnnotation_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("TechnologyPlatform", OntologyAnnotation_decoder))), unwrap((arg_9 = Decode_resizeArray(ArcTable_decoderCompressed(stringTable, oaTable, cellTable)), (objectArg_4 = get$.Optional, objectArg_4.Field("Tables", arg_9)))), void 0, unwrap((arg_11 = Decode_resizeArray(Person_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Performers", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Comment_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Comments", arg_13)))));
61
61
  });
62
62
  }
63
63
 
@@ -94,7 +94,7 @@ export const Assay_ROCrate_decoder = object((get$) => {
94
94
  const a = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_4);
95
95
  return a.Tables;
96
96
  }, (arg_3 = list_2(Process_ROCrate_decoder), (objectArg_1 = get$.Optional, objectArg_1.Field("processSequence", arg_3))));
97
- return new ArcAssay(identifier, unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("measurementType", OntologyAnnotation_ROCrate_decoderPropertyValue))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("technologyType", OntologyAnnotation_ROCrate_decoderDefinedTerm))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("technologyPlatform", OntologyAnnotation_ROCrate_decoderDefinedTerm))), unwrap(tables), unwrap((arg_12 = Decode_resizeArray(Person_ROCrate_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("performers", arg_12)))), unwrap((arg_14 = Decode_resizeArray(Comment_ROCrate_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("comments", arg_14)))));
97
+ return new ArcAssay(identifier, unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("measurementType", OntologyAnnotation_ROCrate_decoderPropertyValue))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("technologyType", OntologyAnnotation_ROCrate_decoderDefinedTerm))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("technologyPlatform", OntologyAnnotation_ROCrate_decoderDefinedTerm))), unwrap(tables), void 0, unwrap((arg_12 = Decode_resizeArray(Person_ROCrate_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("performers", arg_12)))), unwrap((arg_14 = Decode_resizeArray(Comment_ROCrate_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("comments", arg_14)))));
98
98
  });
99
99
 
100
100
  export function Assay_ISAJson_encoder(a) {
@@ -123,7 +123,7 @@ export const Assay_ISAJson_decoder = Decode_objectNoAdditionalProperties(Assay_I
123
123
  const a = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_4);
124
124
  return a.Tables;
125
125
  }, (arg_3 = list_2(Process_ISAJson_decoder), (objectArg_1 = get$.Optional, objectArg_1.Field("processSequence", arg_3))));
126
- return new ArcAssay(identifier, unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("measurementType", OntologyAnnotation_ISAJson_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("technologyType", OntologyAnnotation_ISAJson_decoder))), unwrap((arg_10 = map_1(JsonTypes_decomposeTechnologyPlatform, string), (objectArg_4 = get$.Optional, objectArg_4.Field("technologyPlatform", arg_10)))), unwrap(tables), void 0, unwrap((arg_12 = Decode_resizeArray(Comment_ISAJson_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("comments", arg_12)))));
126
+ return new ArcAssay(identifier, unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("measurementType", OntologyAnnotation_ISAJson_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("technologyType", OntologyAnnotation_ISAJson_decoder))), unwrap((arg_10 = map_1(JsonTypes_decomposeTechnologyPlatform, string), (objectArg_4 = get$.Optional, objectArg_4.Field("technologyPlatform", arg_10)))), unwrap(tables), void 0, void 0, unwrap((arg_12 = Decode_resizeArray(Comment_ISAJson_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("comments", arg_12)))));
127
127
  });
128
128
 
129
129
  export function ARCtrl_ArcAssay__ArcAssay_fromJsonString_Static_Z721C83C5(s) {
@@ -1,19 +1,57 @@
1
- import { printf, toText, replace } from "../../fable_modules/fable-library-js.4.16.0/String.js";
2
- import { URIModule_toString } from "../../Core/URI.js";
3
- import { ofArray, singleton, choose } from "../../fable_modules/fable-library-js.4.16.0/List.js";
1
+ import { singleton, ofArray, choose } from "../../fable_modules/fable-library-js.4.16.0/List.js";
4
2
  import { equals } from "../../fable_modules/fable-library-js.4.16.0/Util.js";
5
3
  import { Json } from "../../fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js";
4
+ import { defaultSpaces, tryIncludeSeq, tryInclude } from "../Encode.js";
5
+ import { DataFile_ROCrate_decoder, DataFile_ROCrate_encoder, DataFile_ISAJson_decoder, DataFile_ISAJson_encoder } from "./DataFile.js";
6
+ import { Comment_ISAJson_decoder, Comment_ISAJson_encoder, Comment_ROCrate_decoder, Comment_ROCrate_encoder, Comment_decoder, Comment_encoder } from "../Comment.js";
7
+ import { string, object } from "../../fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js";
8
+ import { Data } from "../../Core/Data.js";
9
+ import { unwrap } from "../../fable_modules/fable-library-js.4.16.0/Option.js";
10
+ import { Decode_objectNoAdditionalProperties, Decode_resizeArray, Decode_uri } from "../Decode.js";
11
+ import { decodeString, encodeString } from "../StringTable.js";
12
+ import { printf, toText, replace } from "../../fable_modules/fable-library-js.4.16.0/String.js";
13
+ import { URIModule_toString } from "../../Core/URI.js";
6
14
  import { list as list_1 } from "../../fable_modules/Thoth.Json.Core.0.2.1/Encode.fs.js";
7
- import { defaultSpaces, tryIncludeListOpt, tryInclude } from "../Encode.js";
8
- import { DataFile_ISAJson_decoder, DataFile_ISAJson_encoder, DataFile_ROCrate_decoder, DataFile_ROCrate_encoder } from "./DataFile.js";
9
- import { Comment_ISAJson_decoder, Comment_ISAJson_encoder, Comment_ROCrate_decoder, Comment_ROCrate_encoder } from "../Comment.js";
10
15
  import { context_jsonvalue } from "../context/rocrate/isa_data_context.js";
11
- import { list as list_2, string, object } from "../../fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js";
12
- import { Decode_objectNoAdditionalProperties, Decode_uri } from "../Decode.js";
13
- import { Data } from "../../Core/Process/Data.js";
14
16
  import { fromString } from "../../fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js";
15
17
  import { toString } from "../../fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js";
16
18
 
19
+ export function Data_encoder(d) {
20
+ return new Json(5, [choose((tupledArg) => {
21
+ const v = tupledArg[1];
22
+ if (equals(v, new Json(3, []))) {
23
+ return void 0;
24
+ }
25
+ else {
26
+ return [tupledArg[0], v];
27
+ }
28
+ }, ofArray([tryInclude("@id", (value) => (new Json(0, [value])), d.ID), tryInclude("name", (value_2) => (new Json(0, [value_2])), d.Name), tryInclude("dataType", DataFile_ISAJson_encoder, d.DataType), tryInclude("format", (value_4) => (new Json(0, [value_4])), d.Format), tryInclude("selectorFormat", (value_6) => (new Json(0, [value_6])), d.SelectorFormat), tryIncludeSeq("comments", Comment_encoder, d.Comments)]))]);
29
+ }
30
+
31
+ export const Data_decoder = object((get$) => {
32
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5;
33
+ return new Data(unwrap((objectArg = get$.Optional, objectArg.Field("@id", Decode_uri))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("name", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("dataType", DataFile_ISAJson_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("format", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("selectorFormat", Decode_uri))), unwrap((arg_11 = Decode_resizeArray(Comment_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("comments", arg_11)))));
34
+ });
35
+
36
+ export function Data_compressedEncoder(stringTable, d) {
37
+ return new Json(5, [choose((tupledArg) => {
38
+ const v = tupledArg[1];
39
+ if (equals(v, new Json(3, []))) {
40
+ return void 0;
41
+ }
42
+ else {
43
+ return [tupledArg[0], v];
44
+ }
45
+ }, ofArray([tryInclude("i", (s) => encodeString(stringTable, s), d.ID), tryInclude("n", (s_1) => encodeString(stringTable, s_1), d.Name), tryInclude("d", DataFile_ISAJson_encoder, d.DataType), tryInclude("f", (s_2) => encodeString(stringTable, s_2), d.Format), tryInclude("s", (s_3) => encodeString(stringTable, s_3), d.SelectorFormat), tryIncludeSeq("c", Comment_encoder, d.Comments)]))]);
46
+ }
47
+
48
+ export function Data_compressedDecoder(stringTable) {
49
+ return object((get$) => {
50
+ let arg_1, objectArg, arg_3, objectArg_1, objectArg_2, arg_7, objectArg_3, arg_9, objectArg_4, arg_11, objectArg_5;
51
+ return new Data(unwrap((arg_1 = decodeString(stringTable), (objectArg = get$.Optional, objectArg.Field("i", arg_1)))), unwrap((arg_3 = decodeString(stringTable), (objectArg_1 = get$.Optional, objectArg_1.Field("n", arg_3)))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("d", DataFile_ISAJson_decoder))), unwrap((arg_7 = decodeString(stringTable), (objectArg_3 = get$.Optional, objectArg_3.Field("f", arg_7)))), unwrap((arg_9 = decodeString(stringTable), (objectArg_4 = get$.Optional, objectArg_4.Field("s", arg_9)))), unwrap((arg_11 = Decode_resizeArray(Comment_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("c", arg_11)))));
52
+ });
53
+ }
54
+
17
55
  export function Data_ROCrate_genID(d) {
18
56
  const matchValue = d.ID;
19
57
  if (matchValue == null) {
@@ -39,12 +77,12 @@ export function Data_ROCrate_encoder(oa) {
39
77
  else {
40
78
  return [tupledArg[0], v];
41
79
  }
42
- }, ofArray([["@id", new Json(0, [Data_ROCrate_genID(oa)])], ["@type", list_1(singleton(new Json(0, ["Data"])))], tryInclude("name", (value_2) => (new Json(0, [value_2])), oa.Name), tryInclude("type", DataFile_ROCrate_encoder, oa.DataType), tryIncludeListOpt("comments", Comment_ROCrate_encoder, oa.Comments), ["@context", context_jsonvalue]]))]);
80
+ }, ofArray([["@id", new Json(0, [Data_ROCrate_genID(oa)])], ["@type", list_1(singleton(new Json(0, ["Data"])))], tryInclude("name", (value_2) => (new Json(0, [value_2])), oa.Name), tryInclude("type", DataFile_ROCrate_encoder, oa.DataType), tryInclude("encodingFormat", (value_5) => (new Json(0, [value_5])), oa.Format), tryInclude("usageInfo", (value_7) => (new Json(0, [value_7])), oa.SelectorFormat), tryIncludeSeq("comments", Comment_ROCrate_encoder, oa.Comments), ["@context", context_jsonvalue]]))]);
43
81
  }
44
82
 
45
83
  export const Data_ROCrate_decoder = object((get$) => {
46
- let objectArg, objectArg_1, objectArg_2, arg_7, objectArg_3;
47
- return new Data((objectArg = get$.Optional, objectArg.Field("@id", Decode_uri)), (objectArg_1 = get$.Optional, objectArg_1.Field("name", string)), (objectArg_2 = get$.Optional, objectArg_2.Field("type", DataFile_ROCrate_decoder)), (arg_7 = list_2(Comment_ROCrate_decoder), (objectArg_3 = get$.Optional, objectArg_3.Field("comments", arg_7))));
84
+ let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5;
85
+ return new Data(unwrap((objectArg = get$.Optional, objectArg.Field("@id", Decode_uri))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("name", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("type", DataFile_ROCrate_decoder))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("encodingFormat", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("usageInfo", Decode_uri))), unwrap((arg_11 = Decode_resizeArray(Comment_ROCrate_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("comments", arg_11)))));
48
86
  });
49
87
 
50
88
  export function Data_ISAJson_encoder(oa) {
@@ -56,17 +94,17 @@ export function Data_ISAJson_encoder(oa) {
56
94
  else {
57
95
  return [tupledArg[0], v];
58
96
  }
59
- }, ofArray([tryInclude("@id", (value) => (new Json(0, [value])), oa.ID), tryInclude("name", (value_2) => (new Json(0, [value_2])), oa.Name), tryInclude("type", DataFile_ISAJson_encoder, oa.DataType), tryIncludeListOpt("comments", Comment_ISAJson_encoder, oa.Comments)]))]);
97
+ }, ofArray([tryInclude("@id", (value) => (new Json(0, [value])), oa.ID), tryInclude("name", (value_2) => (new Json(0, [value_2])), oa.Name), tryInclude("type", DataFile_ISAJson_encoder, oa.DataType), tryIncludeSeq("comments", Comment_ISAJson_encoder, oa.Comments)]))]);
60
98
  }
61
99
 
62
100
  export const Data_ISAJson_allowedFields = ofArray(["@id", "name", "type", "comments", "@type", "@context"]);
63
101
 
64
102
  export const Data_ISAJson_decoder = Decode_objectNoAdditionalProperties(Data_ISAJson_allowedFields, (get$) => {
65
103
  let objectArg, objectArg_1, objectArg_2, arg_7, objectArg_3;
66
- return new Data((objectArg = get$.Optional, objectArg.Field("@id", Decode_uri)), (objectArg_1 = get$.Optional, objectArg_1.Field("name", string)), (objectArg_2 = get$.Optional, objectArg_2.Field("type", DataFile_ISAJson_decoder)), (arg_7 = list_2(Comment_ISAJson_decoder), (objectArg_3 = get$.Optional, objectArg_3.Field("comments", arg_7))));
104
+ return new Data(unwrap((objectArg = get$.Optional, objectArg.Field("@id", Decode_uri))), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("name", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("type", DataFile_ISAJson_decoder))), void 0, void 0, unwrap((arg_7 = Decode_resizeArray(Comment_ISAJson_decoder), (objectArg_3 = get$.Optional, objectArg_3.Field("comments", arg_7)))));
67
105
  });
68
106
 
69
- export function ARCtrl_Process_Data__Data_fromISAJsonString_Static_Z721C83C5(s) {
107
+ export function ARCtrl_Data__Data_fromISAJsonString_Static_Z721C83C5(s) {
70
108
  const matchValue = fromString(Data_ISAJson_decoder, s);
71
109
  if (matchValue.tag === 1) {
72
110
  throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
@@ -76,14 +114,14 @@ export function ARCtrl_Process_Data__Data_fromISAJsonString_Static_Z721C83C5(s)
76
114
  }
77
115
  }
78
116
 
79
- export function ARCtrl_Process_Data__Data_toISAJsonString_Static_71136F3F(spaces) {
117
+ export function ARCtrl_Data__Data_toISAJsonString_Static_71136F3F(spaces) {
80
118
  return (f) => {
81
119
  const value = Data_ISAJson_encoder(f);
82
120
  return toString(defaultSpaces(spaces), value);
83
121
  };
84
122
  }
85
123
 
86
- export function ARCtrl_Process_Data__Data_fromROCrateJsonString_Static_Z721C83C5(s) {
124
+ export function ARCtrl_Data__Data_fromROCrateJsonString_Static_Z721C83C5(s) {
87
125
  const matchValue = fromString(Data_ROCrate_decoder, s);
88
126
  if (matchValue.tag === 1) {
89
127
  throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
@@ -93,7 +131,7 @@ export function ARCtrl_Process_Data__Data_fromROCrateJsonString_Static_Z721C83C5
93
131
  }
94
132
  }
95
133
 
96
- export function ARCtrl_Process_Data__Data_toROCrateJsonString_Static_71136F3F(spaces) {
134
+ export function ARCtrl_Data__Data_toROCrateJsonString_Static_71136F3F(spaces) {
97
135
  return (f) => {
98
136
  const value = Data_ROCrate_encoder(f);
99
137
  return toString(defaultSpaces(spaces), value);
@@ -1,7 +1,7 @@
1
1
  import { ErrorReason$1, Json } from "../../fable_modules/Thoth.Json.Core.0.2.1/Types.fs.js";
2
2
  import { string } from "../../fable_modules/Thoth.Json.Core.0.2.1/Decode.fs.js";
3
3
  import { FSharpResult$2 } from "../../fable_modules/fable-library-js.4.16.0/Result.js";
4
- import { DataFile } from "../../Core/Process/DataFile.js";
4
+ import { DataFile } from "../../Core/DataFile.js";
5
5
  import { fromString } from "../../fable_modules/Thoth.Json.JavaScript.0.1.0/Decode.fs.js";
6
6
  import { printf, toText } from "../../fable_modules/fable-library-js.4.16.0/String.js";
7
7
  import { toString } from "../../fable_modules/Thoth.Json.JavaScript.0.1.0/Encode.fs.js";
@@ -45,7 +45,7 @@ export const DataFile_ISAJson_encoder = DataFile_ROCrate_encoder;
45
45
 
46
46
  export const DataFile_ISAJson_decoder = DataFile_ROCrate_decoder;
47
47
 
48
- export function ARCtrl_Process_DataFile__DataFile_fromISAJsonString_Static_Z721C83C5(s) {
48
+ export function ARCtrl_DataFile__DataFile_fromISAJsonString_Static_Z721C83C5(s) {
49
49
  const matchValue = fromString(DataFile_ISAJson_decoder, s);
50
50
  if (matchValue.tag === 1) {
51
51
  throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
@@ -55,14 +55,14 @@ export function ARCtrl_Process_DataFile__DataFile_fromISAJsonString_Static_Z721C
55
55
  }
56
56
  }
57
57
 
58
- export function ARCtrl_Process_DataFile__DataFile_toISAJsonString_Static_71136F3F(spaces) {
58
+ export function ARCtrl_DataFile__DataFile_toISAJsonString_Static_71136F3F(spaces) {
59
59
  return (f) => {
60
60
  const value = DataFile_ISAJson_encoder(f);
61
61
  return toString(defaultSpaces(spaces), value);
62
62
  };
63
63
  }
64
64
 
65
- export function ARCtrl_Process_DataFile__DataFile_fromROCrateJsonString_Static_Z721C83C5(s) {
65
+ export function ARCtrl_DataFile__DataFile_fromROCrateJsonString_Static_Z721C83C5(s) {
66
66
  const matchValue = fromString(DataFile_ROCrate_decoder, s);
67
67
  if (matchValue.tag === 1) {
68
68
  throw new Error(toText(printf("Error decoding string: %O"))(matchValue.fields[0]));
@@ -72,7 +72,7 @@ export function ARCtrl_Process_DataFile__DataFile_fromROCrateJsonString_Static_Z
72
72
  }
73
73
  }
74
74
 
75
- export function ARCtrl_Process_DataFile__DataFile_toROCrateJsonString_Static_71136F3F(spaces) {
75
+ export function ARCtrl_DataFile__DataFile_toROCrateJsonString_Static_71136F3F(spaces) {
76
76
  return (f) => {
77
77
  const value = DataFile_ROCrate_encoder(f);
78
78
  return toString(defaultSpaces(spaces), value);
@@ -12,10 +12,11 @@ import { Value } from "../../Core/Process/Value.js";
12
12
  export function genID(p) {
13
13
  const matchValue = p.GetCategory();
14
14
  if (matchValue == null) {
15
- return `#Empty${() => p.GetAdditionalType()}`;
15
+ return `#Empty${p.GetAdditionalType()}`;
16
16
  }
17
17
  else {
18
- return `${() => p.GetAdditionalType()}/${matchValue}${p.GetValue()}${p.GetUnit()}`;
18
+ const t = matchValue;
19
+ return `${p.GetAdditionalType()}/${t}${p.GetValue()}${p.GetUnit()}`;
19
20
  }
20
21
  }
21
22
 
@@ -76,8 +77,127 @@ export function encoder(pv) {
76
77
 
77
78
  export function decoder(create) {
78
79
  return object((get$) => {
79
- let name, objectArg, code, objectArg_1, code_1, value, objectArg_2, code_2, objectArg_3, name_1, objectArg_4, code_3, objectArg_5, code_4;
80
- return create((name = ((objectArg = get$.Optional, objectArg.Field("category", string))), (code = ((objectArg_1 = get$.Optional, objectArg_1.Field("categoryCode", string))), (name == null) ? ((code != null) ? ((code_1 = code, OntologyAnnotation.fromTermAnnotation(code_1, unwrap(name)))) : void 0) : ((code != null) ? ((code_1 = code, OntologyAnnotation.fromTermAnnotation(code_1, unwrap(name)))) : OntologyAnnotation.create(name)))), (value = ((objectArg_2 = get$.Optional, objectArg_2.Field("value", AnnotationValue_decoder))), (code_2 = ((objectArg_3 = get$.Optional, objectArg_3.Field("valueCode", string))), ((value == null) && (code_2 == null)) ? void 0 : Value.fromOptions(value, void 0, code_2))), (name_1 = ((objectArg_4 = get$.Optional, objectArg_4.Field("unit", string))), (code_3 = ((objectArg_5 = get$.Optional, objectArg_5.Field("unitCode", string))), (name_1 == null) ? ((code_3 != null) ? ((code_4 = code_3, OntologyAnnotation.fromTermAnnotation(code_4, unwrap(name_1)))) : void 0) : ((code_3 != null) ? ((code_4 = code_3, OntologyAnnotation.fromTermAnnotation(code_4, unwrap(name_1)))) : OntologyAnnotation.create(name_1)))));
80
+ let value, objectArg_4, code_4, objectArg_5;
81
+ let category;
82
+ let name;
83
+ const objectArg = get$.Optional;
84
+ name = objectArg.Field("category", string);
85
+ let code;
86
+ const objectArg_1 = get$.Optional;
87
+ code = objectArg_1.Field("categoryCode", string);
88
+ let matchResult, code_1;
89
+ if (name == null) {
90
+ if (code != null) {
91
+ if (code === "") {
92
+ matchResult = 0;
93
+ }
94
+ else {
95
+ matchResult = 2;
96
+ code_1 = code;
97
+ }
98
+ }
99
+ else {
100
+ matchResult = 0;
101
+ }
102
+ }
103
+ else if (code != null) {
104
+ if (code === "") {
105
+ matchResult = 1;
106
+ }
107
+ else {
108
+ matchResult = 2;
109
+ code_1 = code;
110
+ }
111
+ }
112
+ else {
113
+ matchResult = 1;
114
+ }
115
+ switch (matchResult) {
116
+ case 0: {
117
+ category = void 0;
118
+ break;
119
+ }
120
+ case 1: {
121
+ try {
122
+ category = OntologyAnnotation.create(name);
123
+ }
124
+ catch (err) {
125
+ throw new Error(`Error while decoding category (name:${name}): ${err}`);
126
+ }
127
+ break;
128
+ }
129
+ default:
130
+ try {
131
+ category = OntologyAnnotation.fromTermAnnotation(code_1, unwrap(name));
132
+ }
133
+ catch (err_1) {
134
+ throw new Error(`Error while decoding category (name:${name}, code:${code_1}): ${err_1}`);
135
+ }
136
+ }
137
+ let unit;
138
+ let name_1;
139
+ const objectArg_2 = get$.Optional;
140
+ name_1 = objectArg_2.Field("unit", string);
141
+ let code_2;
142
+ const objectArg_3 = get$.Optional;
143
+ code_2 = objectArg_3.Field("unitCode", string);
144
+ let matchResult_1, code_3;
145
+ if (name_1 == null) {
146
+ if (code_2 != null) {
147
+ if (code_2 === "") {
148
+ matchResult_1 = 0;
149
+ }
150
+ else {
151
+ matchResult_1 = 2;
152
+ code_3 = code_2;
153
+ }
154
+ }
155
+ else {
156
+ matchResult_1 = 0;
157
+ }
158
+ }
159
+ else if (code_2 != null) {
160
+ if (code_2 === "") {
161
+ matchResult_1 = 1;
162
+ }
163
+ else {
164
+ matchResult_1 = 2;
165
+ code_3 = code_2;
166
+ }
167
+ }
168
+ else {
169
+ matchResult_1 = 1;
170
+ }
171
+ switch (matchResult_1) {
172
+ case 0: {
173
+ unit = void 0;
174
+ break;
175
+ }
176
+ case 1: {
177
+ try {
178
+ unit = OntologyAnnotation.create(name_1);
179
+ }
180
+ catch (err_2) {
181
+ throw new Error(`Error while decoding unit (name:${name_1}): ${err_2}`);
182
+ }
183
+ break;
184
+ }
185
+ default:
186
+ try {
187
+ unit = OntologyAnnotation.fromTermAnnotation(code_3, unwrap(name_1));
188
+ }
189
+ catch (err_3) {
190
+ throw new Error(`Error while decoding unit (name:${name_1}, code:${code_3}): ${err_3}`);
191
+ }
192
+ }
193
+ return create(category, (value = ((objectArg_4 = get$.Optional, objectArg_4.Field("value", AnnotationValue_decoder))), (code_4 = ((objectArg_5 = get$.Optional, objectArg_5.Field("valueCode", string))), ((value == null) && (code_4 == null)) ? void 0 : (() => {
194
+ try {
195
+ return Value.fromOptions(value, void 0, code_4);
196
+ }
197
+ catch (err_4) {
198
+ throw new Error(`Error while decoding value ${value},${code_4}: ${err_4}`);
199
+ }
200
+ })())), unit);
81
201
  });
82
202
  }
83
203
 
package/Json/Study.js CHANGED
@@ -55,7 +55,7 @@ export function Study_encoder(study) {
55
55
 
56
56
  export const Study_decoder = object((get$) => {
57
57
  let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9, arg_21, objectArg_10;
58
- return new ArcStudy((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string))), unwrap((arg_11 = Decode_resizeArray(Publication_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Publications", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Person_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Contacts", arg_13)))), unwrap((arg_15 = Decode_resizeArray(OntologyAnnotation_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("StudyDesignDescriptors", arg_15)))), unwrap((arg_17 = Decode_resizeArray(ArcTable_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("Tables", arg_17)))), unwrap((arg_19 = Decode_resizeArray(string), (objectArg_9 = get$.Optional, objectArg_9.Field("RegisteredAssayIdentifiers", arg_19)))), unwrap((arg_21 = Decode_resizeArray(Comment_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("Comments", arg_21)))));
58
+ return new ArcStudy((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string))), unwrap((arg_11 = Decode_resizeArray(Publication_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Publications", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Person_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Contacts", arg_13)))), unwrap((arg_15 = Decode_resizeArray(OntologyAnnotation_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("StudyDesignDescriptors", arg_15)))), unwrap((arg_17 = Decode_resizeArray(ArcTable_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("Tables", arg_17)))), void 0, unwrap((arg_19 = Decode_resizeArray(string), (objectArg_9 = get$.Optional, objectArg_9.Field("RegisteredAssayIdentifiers", arg_19)))), unwrap((arg_21 = Decode_resizeArray(Comment_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("Comments", arg_21)))));
59
59
  });
60
60
 
61
61
  export function Study_encoderCompressed(stringTable, oaTable, cellTable, study) {
@@ -73,7 +73,7 @@ export function Study_encoderCompressed(stringTable, oaTable, cellTable, study)
73
73
  export function Study_decoderCompressed(stringTable, oaTable, cellTable) {
74
74
  return object((get$) => {
75
75
  let objectArg, objectArg_1, objectArg_2, objectArg_3, objectArg_4, arg_11, objectArg_5, arg_13, objectArg_6, arg_15, objectArg_7, arg_17, objectArg_8, arg_19, objectArg_9, arg_21, objectArg_10;
76
- return new ArcStudy((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string))), unwrap((arg_11 = Decode_resizeArray(Publication_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Publications", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Person_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Contacts", arg_13)))), unwrap((arg_15 = Decode_resizeArray(OntologyAnnotation_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("StudyDesignDescriptors", arg_15)))), unwrap((arg_17 = Decode_resizeArray(ArcTable_decoderCompressed(stringTable, oaTable, cellTable)), (objectArg_8 = get$.Optional, objectArg_8.Field("Tables", arg_17)))), unwrap((arg_19 = Decode_resizeArray(string), (objectArg_9 = get$.Optional, objectArg_9.Field("RegisteredAssayIdentifiers", arg_19)))), unwrap((arg_21 = Decode_resizeArray(Comment_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("Comments", arg_21)))));
76
+ return new ArcStudy((objectArg = get$.Required, objectArg.Field("Identifier", string)), unwrap((objectArg_1 = get$.Optional, objectArg_1.Field("Title", string))), unwrap((objectArg_2 = get$.Optional, objectArg_2.Field("Description", string))), unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("SubmissionDate", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("PublicReleaseDate", string))), unwrap((arg_11 = Decode_resizeArray(Publication_decoder), (objectArg_5 = get$.Optional, objectArg_5.Field("Publications", arg_11)))), unwrap((arg_13 = Decode_resizeArray(Person_decoder), (objectArg_6 = get$.Optional, objectArg_6.Field("Contacts", arg_13)))), unwrap((arg_15 = Decode_resizeArray(OntologyAnnotation_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("StudyDesignDescriptors", arg_15)))), unwrap((arg_17 = Decode_resizeArray(ArcTable_decoderCompressed(stringTable, oaTable, cellTable)), (objectArg_8 = get$.Optional, objectArg_8.Field("Tables", arg_17)))), void 0, unwrap((arg_19 = Decode_resizeArray(string), (objectArg_9 = get$.Optional, objectArg_9.Field("RegisteredAssayIdentifiers", arg_19)))), unwrap((arg_21 = Decode_resizeArray(Comment_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("Comments", arg_21)))));
77
77
  });
78
78
  }
79
79
 
@@ -115,7 +115,7 @@ export const Study_ROCrate_decoder = object((get$) => {
115
115
  return Array.from(collection);
116
116
  }, assays);
117
117
  const tables = map((ps) => ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(ps).Tables, (arg_6 = list_2(Process_ROCrate_decoder), (objectArg_2 = get$.Optional, objectArg_2.Field("processSequence", arg_6))));
118
- return [new ArcStudy(identifier, unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("title", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("description", string))), unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("submissionDate", string))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("publicReleaseDate", string))), unwrap((arg_16 = Decode_resizeArray(Publication_ROCrate_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("publications", arg_16)))), unwrap((arg_18 = Decode_resizeArray(Person_ROCrate_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("people", arg_18)))), unwrap((arg_20 = Decode_resizeArray(OntologyAnnotation_ROCrate_decoderDefinedTerm), (objectArg_9 = get$.Optional, objectArg_9.Field("studyDesignDescriptors", arg_20)))), unwrap(tables), unwrap(assayIdentifiers), unwrap((arg_22 = Decode_resizeArray(Comment_ROCrate_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("comments", arg_22))))), defaultArg(assays, empty())];
118
+ return [new ArcStudy(identifier, unwrap((objectArg_3 = get$.Optional, objectArg_3.Field("title", string))), unwrap((objectArg_4 = get$.Optional, objectArg_4.Field("description", string))), unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("submissionDate", string))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("publicReleaseDate", string))), unwrap((arg_16 = Decode_resizeArray(Publication_ROCrate_decoder), (objectArg_7 = get$.Optional, objectArg_7.Field("publications", arg_16)))), unwrap((arg_18 = Decode_resizeArray(Person_ROCrate_decoder), (objectArg_8 = get$.Optional, objectArg_8.Field("people", arg_18)))), unwrap((arg_20 = Decode_resizeArray(OntologyAnnotation_ROCrate_decoderDefinedTerm), (objectArg_9 = get$.Optional, objectArg_9.Field("studyDesignDescriptors", arg_20)))), unwrap(tables), void 0, unwrap(assayIdentifiers), unwrap((arg_22 = Decode_resizeArray(Comment_ROCrate_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("comments", arg_22))))), defaultArg(assays, empty())];
119
119
  });
120
120
 
121
121
  /**
@@ -227,7 +227,7 @@ export const Study_ISAJson_decoder = Decode_objectNoAdditionalProperties(Study_I
227
227
  const collection = map_1((a_1) => a_1.Identifier, arg_11);
228
228
  return Array.from(collection);
229
229
  }, assays);
230
- return [new ArcStudy(identifier, unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("title", string))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("description", string))), unwrap((objectArg_7 = get$.Optional, objectArg_7.Field("submissionDate", string))), unwrap((objectArg_8 = get$.Optional, objectArg_8.Field("publicReleaseDate", string))), unwrap((arg_21 = Decode_resizeArray(Publication_ISAJson_decoder), (objectArg_9 = get$.Optional, objectArg_9.Field("publications", arg_21)))), unwrap((persons.length === 0) ? void 0 : persons), unwrap((arg_23 = Decode_resizeArray(OntologyAnnotation_ISAJson_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("studyDesignDescriptors", arg_23)))), unwrap(tables), unwrap(assayIdentifiers), unwrap((arg_25 = Decode_resizeArray(Comment_ISAJson_decoder), (objectArg_11 = get$.Optional, objectArg_11.Field("comments", arg_25))))), defaultArg(assays, empty())];
230
+ return [new ArcStudy(identifier, unwrap((objectArg_5 = get$.Optional, objectArg_5.Field("title", string))), unwrap((objectArg_6 = get$.Optional, objectArg_6.Field("description", string))), unwrap((objectArg_7 = get$.Optional, objectArg_7.Field("submissionDate", string))), unwrap((objectArg_8 = get$.Optional, objectArg_8.Field("publicReleaseDate", string))), unwrap((arg_21 = Decode_resizeArray(Publication_ISAJson_decoder), (objectArg_9 = get$.Optional, objectArg_9.Field("publications", arg_21)))), unwrap((persons.length === 0) ? void 0 : persons), unwrap((arg_23 = Decode_resizeArray(OntologyAnnotation_ISAJson_decoder), (objectArg_10 = get$.Optional, objectArg_10.Field("studyDesignDescriptors", arg_23)))), unwrap(tables), void 0, unwrap(assayIdentifiers), unwrap((arg_25 = Decode_resizeArray(Comment_ISAJson_decoder), (objectArg_11 = get$.Optional, objectArg_11.Field("comments", arg_25))))), defaultArg(assays, empty())];
231
231
  });
232
232
 
233
233
  export function ARCtrl_ArcStudy__ArcStudy_fromJsonString_Static_Z721C83C5(s) {