@nfdi4plants/arctrl 3.0.0-beta.11 → 3.0.0-beta.13

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 (192) hide show
  1. package/README.md +30 -3
  2. package/dist/ts/index.d.ts +15 -15
  3. package/dist/ts/index.d.ts.map +1 -1
  4. package/dist/ts/index.js +16 -16
  5. package/dist/ts/ts/ARC.d.ts +6 -1
  6. package/dist/ts/ts/ARC.d.ts.map +1 -1
  7. package/dist/ts/ts/ARC.js +30 -6
  8. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts +19 -0
  9. package/dist/ts/ts/CWL/CWLProcessingUnit.d.ts.map +1 -0
  10. package/dist/ts/ts/CWL/CWLProcessingUnit.js +26 -0
  11. package/dist/ts/ts/CWL/CWLTypes.d.ts +92 -0
  12. package/dist/ts/ts/CWL/CWLTypes.d.ts.map +1 -0
  13. package/dist/ts/ts/CWL/CWLTypes.js +173 -0
  14. package/dist/ts/ts/CWL/Decode.d.ts +94 -0
  15. package/dist/ts/ts/CWL/Decode.d.ts.map +1 -0
  16. package/dist/ts/ts/CWL/Decode.js +649 -0
  17. package/dist/ts/ts/CWL/Encode.d.ts +28 -0
  18. package/dist/ts/ts/CWL/Encode.d.ts.map +1 -0
  19. package/dist/ts/ts/CWL/Encode.js +546 -0
  20. package/dist/ts/ts/CWL/HashHelpers.d.ts +9 -0
  21. package/dist/ts/ts/CWL/HashHelpers.d.ts.map +1 -0
  22. package/dist/ts/ts/CWL/HashHelpers.js +35 -0
  23. package/dist/ts/ts/CWL/Inputs.d.ts +28 -0
  24. package/dist/ts/ts/CWL/Inputs.d.ts.map +1 -0
  25. package/dist/ts/ts/CWL/Inputs.js +62 -0
  26. package/dist/ts/ts/CWL/Outputs.d.ts +25 -0
  27. package/dist/ts/ts/CWL/Outputs.d.ts.map +1 -0
  28. package/dist/ts/ts/CWL/Outputs.js +59 -0
  29. package/dist/ts/ts/CWL/ParameterReference.d.ts +23 -0
  30. package/dist/ts/ts/CWL/ParameterReference.d.ts.map +1 -0
  31. package/dist/ts/ts/CWL/ParameterReference.js +60 -0
  32. package/dist/ts/ts/CWL/Requirements.d.ts +71 -0
  33. package/dist/ts/ts/CWL/Requirements.d.ts.map +1 -0
  34. package/dist/ts/ts/CWL/Requirements.js +116 -0
  35. package/dist/ts/ts/CWL/ToolDescription.d.ts +33 -0
  36. package/dist/ts/ts/CWL/ToolDescription.d.ts.map +1 -0
  37. package/dist/ts/ts/CWL/ToolDescription.js +80 -0
  38. package/dist/ts/ts/CWL/WorkflowDescription.d.ts +34 -0
  39. package/dist/ts/ts/CWL/WorkflowDescription.d.ts.map +1 -0
  40. package/dist/ts/ts/CWL/WorkflowDescription.js +80 -0
  41. package/dist/ts/ts/CWL/WorkflowSteps.d.ts +45 -0
  42. package/dist/ts/ts/CWL/WorkflowSteps.d.ts.map +1 -0
  43. package/dist/ts/ts/CWL/WorkflowSteps.js +99 -0
  44. package/dist/ts/ts/Contract/ARC.d.ts.map +1 -1
  45. package/dist/ts/ts/Contract/ARC.js +27 -9
  46. package/dist/ts/ts/Contract/ArcRun.d.ts +6 -0
  47. package/dist/ts/ts/Contract/ArcRun.d.ts.map +1 -1
  48. package/dist/ts/ts/Contract/ArcRun.js +131 -4
  49. package/dist/ts/ts/Contract/ArcWorkflow.d.ts +3 -0
  50. package/dist/ts/ts/Contract/ArcWorkflow.d.ts.map +1 -1
  51. package/dist/ts/ts/Contract/ArcWorkflow.js +70 -4
  52. package/dist/ts/ts/ContractIO/ContractIO.d.ts.map +1 -1
  53. package/dist/ts/ts/ContractIO/ContractIO.js +3 -1
  54. package/dist/ts/ts/Conversion/Assay.d.ts +13 -0
  55. package/dist/ts/ts/Conversion/Assay.d.ts.map +1 -0
  56. package/dist/ts/ts/Conversion/Assay.js +69 -0
  57. package/dist/ts/ts/Conversion/Basic.d.ts +105 -0
  58. package/dist/ts/ts/Conversion/Basic.d.ts.map +1 -0
  59. package/dist/ts/ts/Conversion/Basic.js +452 -0
  60. package/dist/ts/ts/Conversion/ColumnIndex.d.ts +10 -0
  61. package/dist/ts/ts/Conversion/ColumnIndex.d.ts.map +1 -0
  62. package/dist/ts/ts/Conversion/ColumnIndex.js +52 -0
  63. package/dist/ts/ts/Conversion/Datamap.d.ts +11 -0
  64. package/dist/ts/ts/Conversion/Datamap.d.ts.map +1 -0
  65. package/dist/ts/ts/Conversion/Datamap.js +21 -0
  66. package/dist/ts/ts/Conversion/DateTime.d.ts +4 -0
  67. package/dist/ts/ts/Conversion/DateTime.d.ts.map +1 -0
  68. package/dist/ts/ts/Conversion/DateTime.js +23 -0
  69. package/dist/ts/ts/Conversion/Investigation.d.ts +12 -0
  70. package/dist/ts/ts/Conversion/Investigation.d.ts.map +1 -0
  71. package/dist/ts/ts/Conversion/Investigation.js +59 -0
  72. package/dist/ts/ts/Conversion/Person.d.ts +16 -0
  73. package/dist/ts/ts/Conversion/Person.d.ts.map +1 -0
  74. package/dist/ts/ts/Conversion/Person.js +100 -0
  75. package/dist/ts/ts/Conversion/Process.d.ts +84 -0
  76. package/dist/ts/ts/Conversion/Process.d.ts.map +1 -0
  77. package/dist/ts/ts/Conversion/Process.js +455 -0
  78. package/dist/ts/ts/Conversion/Run.d.ts +26 -0
  79. package/dist/ts/ts/Conversion/Run.d.ts.map +1 -0
  80. package/dist/ts/ts/Conversion/Run.js +190 -0
  81. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts +16 -0
  82. package/dist/ts/ts/Conversion/ScholarlyArticle.d.ts.map +1 -0
  83. package/dist/ts/ts/Conversion/ScholarlyArticle.js +116 -0
  84. package/dist/ts/ts/Conversion/Study.d.ts +12 -0
  85. package/dist/ts/ts/Conversion/Study.d.ts.map +1 -0
  86. package/dist/ts/ts/Conversion/Study.js +51 -0
  87. package/dist/ts/ts/Conversion/Table.d.ts +45 -0
  88. package/dist/ts/ts/Conversion/Table.d.ts.map +1 -0
  89. package/dist/ts/ts/Conversion/Table.js +203 -0
  90. package/dist/ts/ts/Conversion/Workflow.d.ts +45 -0
  91. package/dist/ts/ts/Conversion/Workflow.d.ts.map +1 -0
  92. package/dist/ts/ts/Conversion/Workflow.js +305 -0
  93. package/dist/ts/ts/Conversion.d.ts +23 -274
  94. package/dist/ts/ts/Conversion.d.ts.map +1 -1
  95. package/dist/ts/ts/Conversion.js +62 -1475
  96. package/dist/ts/ts/Core/ArcTypes.d.ts +48 -38
  97. package/dist/ts/ts/Core/ArcTypes.d.ts.map +1 -1
  98. package/dist/ts/ts/Core/ArcTypes.js +183 -103
  99. package/dist/ts/ts/Core/Helper/Identifier.d.ts +24 -0
  100. package/dist/ts/ts/Core/Helper/Identifier.d.ts.map +1 -1
  101. package/dist/ts/ts/Core/Helper/Identifier.js +35 -2
  102. package/dist/ts/ts/FileSystem/FileSystemTree.d.ts +2 -2
  103. package/dist/ts/ts/FileSystem/FileSystemTree.d.ts.map +1 -1
  104. package/dist/ts/ts/FileSystem/FileSystemTree.js +8 -15
  105. package/dist/ts/ts/Json/ROCrate/LDContext.d.ts.map +1 -1
  106. package/dist/ts/ts/Json/ROCrate/LDContext.js +21 -11
  107. package/dist/ts/ts/Json/Run.js +2 -2
  108. package/dist/ts/ts/Json/Workflow.d.ts.map +1 -1
  109. package/dist/ts/ts/Json/Workflow.js +8 -9
  110. package/dist/ts/ts/ROCrate/LDContext.d.ts.map +1 -1
  111. package/dist/ts/ts/ROCrate/LDContext.js +35 -31
  112. package/dist/ts/ts/ROCrate/LDObject.d.ts +2 -2
  113. package/dist/ts/ts/ROCrate/LDObject.js +2 -2
  114. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.d.ts.map +1 -1
  115. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts +61 -0
  116. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts.map +1 -0
  117. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.js +338 -0
  118. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.d.ts +39 -0
  119. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.d.ts.map +1 -0
  120. package/dist/ts/ts/ROCrate/LDTypes/ComputerLanguage.js +219 -0
  121. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.d.ts +43 -0
  122. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.d.ts.map +1 -0
  123. package/dist/ts/ts/ROCrate/LDTypes/CreateAction.js +224 -0
  124. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.d.ts.map +1 -1
  125. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.js +1 -1
  126. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Dataset.d.ts +32 -22
  127. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts.map +1 -0
  128. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Dataset.js +45 -0
  129. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.d.ts.map +1 -1
  130. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/File.d.ts +10 -4
  131. package/dist/ts/ts/ROCrate/LDTypes/File.d.ts.map +1 -0
  132. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/File.js +34 -1
  133. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.d.ts +59 -0
  134. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.d.ts.map +1 -0
  135. package/dist/ts/ts/ROCrate/LDTypes/FormalParameter.js +344 -0
  136. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProcess.d.ts +2 -0
  137. package/dist/ts/ts/ROCrate/LDTypes/LabProcess.d.ts.map +1 -0
  138. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProcess.js +31 -5
  139. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProtocol.d.ts +6 -2
  140. package/dist/ts/ts/ROCrate/LDTypes/LabProtocol.d.ts.map +1 -0
  141. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/LabProtocol.js +66 -15
  142. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.d.ts.map +1 -1
  143. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.d.ts.map +1 -1
  144. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.d.ts.map +1 -1
  145. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PropertyValue.d.ts +35 -11
  146. package/dist/ts/ts/ROCrate/LDTypes/PropertyValue.d.ts.map +1 -0
  147. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PropertyValue.js +191 -1
  148. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.d.ts.map +1 -1
  149. package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.d.ts.map +1 -1
  150. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.d.ts +46 -0
  151. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.d.ts.map +1 -0
  152. package/dist/ts/ts/ROCrate/LDTypes/SoftwareSourceCode.js +247 -0
  153. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.d.ts +12 -0
  154. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.d.ts.map +1 -0
  155. package/dist/ts/ts/ROCrate/LDTypes/WorkflowInvocation.js +40 -0
  156. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.d.ts +11 -0
  157. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.d.ts.map +1 -0
  158. package/dist/ts/ts/ROCrate/LDTypes/WorkflowProtocol.js +46 -0
  159. package/dist/ts/ts/ROCrate/ROCrateContext.d.ts +2 -2
  160. package/dist/ts/ts/ROCrate/ROCrateContext.d.ts.map +1 -1
  161. package/dist/ts/ts/ROCrate/ROCrateContext.js +6 -6
  162. package/dist/ts/ts/ROCrateIO.js +6 -6
  163. package/dist/ts/ts/Spreadsheet/Metadata/Run.js +1 -1
  164. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.d.ts.map +1 -1
  165. package/dist/ts/ts/Spreadsheet/Metadata/Workflow.js +4 -4
  166. package/dist/ts/ts/fable_modules/DynamicObj.7.1.0/DynObj.fs.js +109 -0
  167. package/package.json +1 -1
  168. package/dist/ts/ts/ROCrate/Generic/Dataset.d.ts.map +0 -1
  169. package/dist/ts/ts/ROCrate/Generic/File.d.ts.map +0 -1
  170. package/dist/ts/ts/ROCrate/Generic/LabProcess.d.ts.map +0 -1
  171. package/dist/ts/ts/ROCrate/Generic/LabProtocol.d.ts.map +0 -1
  172. package/dist/ts/ts/ROCrate/Generic/PropertyValue.d.ts.map +0 -1
  173. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.d.ts +0 -0
  174. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Comment.js +0 -0
  175. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/CreativeWork.d.ts +0 -0
  176. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.d.ts +0 -0
  177. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/DefinedTerm.js +0 -0
  178. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.d.ts +0 -0
  179. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Organization.js +0 -0
  180. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.d.ts +0 -0
  181. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Person.js +0 -0
  182. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.d.ts +0 -0
  183. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/PostalAddress.js +0 -0
  184. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.d.ts +0 -0
  185. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/Sample.js +0 -0
  186. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.d.ts +0 -0
  187. /package/dist/ts/ts/ROCrate/{Generic → LDTypes}/ScholarlyArticle.js +0 -0
  188. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/DynamicObj.fs.js +0 -0
  189. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/FableJS.fs.js +0 -0
  190. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/HashCodes.fs.js +0 -0
  191. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/PropertyHelper.fs.js +0 -0
  192. /package/dist/ts/ts/fable_modules/{DynamicObj.7.0.1 → DynamicObj.7.1.0}/ReflectionUtils.fs.js +0 -0
@@ -0,0 +1,203 @@
1
+ import { fold, zip, toList, delay, map as map$1 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
2
+ import { LDLabProtocol } from '../ROCrate/LDTypes/LabProtocol.js';
3
+ import { BaseTypes_composeComponent, BaseTypes_composeDefinedTerm_ZDED3A0F, BaseTypes_decomposeComponent_Z2F770004 } from './Basic.js';
4
+ import { ResizeArray_appendSingleton, ResizeArray_singleton } from '../Core/Helper/Collections.js';
5
+ import { unwrap, map } from '../../node_modules/@fable-org/fable-library-js/Option.js';
6
+ import { ArcTable } from '../Core/Table/ArcTable.js';
7
+ import { getEnumerator, disposeSafe, safeHash, equals } from '../../node_modules/@fable-org/fable-library-js/Util.js';
8
+ import { ARCtrl_ROCrate_LDNode__LDNode_TryGetColumnIndex } from './ColumnIndex.js';
9
+ import { ProcessConversion_tryGetProtocolType_Z6839B9E8, ProcessConversion_getProcessGetter, ProcessConversion_processToRows_Z6839B9E8, ProcessConversion_groupProcesses_Z27F0B586 } from './Process.js';
10
+ import { LDPropertyValue } from '../ROCrate/LDTypes/PropertyValue.js';
11
+ import { createMissingIdentifier } from '../Core/Helper/Identifier.js';
12
+ import { singleton, initialize, collect, ofSeq, map as map$2 } from '../../node_modules/@fable-org/fable-library-js/List.js';
13
+ import { List_distinct } from '../../node_modules/@fable-org/fable-library-js/Seq2.js';
14
+ import { LDLabProcess } from '../ROCrate/LDTypes/LabProcess.js';
15
+ import { rangeDouble } from '../../node_modules/@fable-org/fable-library-js/Range.js';
16
+ import { Unchecked_alignByHeaders } from '../Core/Table/ArcTableAux.js';
17
+ import { ArcTables } from '../Core/Table/ArcTables.js';
18
+
19
+ function CompositeRow_toProtocol(tableName, row) {
20
+ return fold((p, hc) => {
21
+ let matchResult, oa, v, v_1, v_2, v_3;
22
+ switch (hc[0].tag) {
23
+ case /* ProtocolType */
24
+ 4: {
25
+ if (hc[1].tag === /* Term */
26
+ 0) {
27
+ matchResult = 0;
28
+ oa = hc[1].fields[0];
29
+ } else {
30
+ matchResult = 6;
31
+ }
32
+ break;
33
+ }
34
+ case /* ProtocolVersion */
35
+ 7: {
36
+ if (hc[1].tag === /* FreeText */
37
+ 1) {
38
+ matchResult = 1;
39
+ v = hc[1].fields[0];
40
+ } else {
41
+ matchResult = 6;
42
+ }
43
+ break;
44
+ }
45
+ case /* ProtocolUri */
46
+ 6: {
47
+ if (hc[1].tag === /* FreeText */
48
+ 1) {
49
+ matchResult = 2;
50
+ v_1 = hc[1].fields[0];
51
+ } else {
52
+ matchResult = 6;
53
+ }
54
+ break;
55
+ }
56
+ case /* ProtocolDescription */
57
+ 5: {
58
+ if (hc[1].tag === /* FreeText */
59
+ 1) {
60
+ matchResult = 3;
61
+ v_2 = hc[1].fields[0];
62
+ } else {
63
+ matchResult = 6;
64
+ }
65
+ break;
66
+ }
67
+ case /* ProtocolREF */
68
+ 8: {
69
+ if (hc[1].tag === /* FreeText */
70
+ 1) {
71
+ matchResult = 4;
72
+ v_3 = hc[1].fields[0];
73
+ } else {
74
+ matchResult = 6;
75
+ }
76
+ break;
77
+ }
78
+ case /* Component */
79
+ 0: {
80
+ switch (hc[1].tag) {
81
+ case /* Term */
82
+ 0:
83
+ case /* Unitized */
84
+ 2: {
85
+ matchResult = 5;
86
+ break;
87
+ }
88
+ default:
89
+ matchResult = 6;
90
+ }
91
+ break;
92
+ }
93
+ default:
94
+ matchResult = 6;
95
+ }
96
+ switch (matchResult) {
97
+ case 0: {
98
+ LDLabProtocol.setIntendedUseAsDefinedTerm(p, BaseTypes_composeDefinedTerm_ZDED3A0F(oa));
99
+ break;
100
+ }
101
+ case 1: {
102
+ LDLabProtocol.setVersionAsString(p, v);
103
+ break;
104
+ }
105
+ case 2: {
106
+ LDLabProtocol.setUrl(p, v_1);
107
+ break;
108
+ }
109
+ case 3: {
110
+ LDLabProtocol.setDescriptionAsString(p, v_2);
111
+ break;
112
+ }
113
+ case 4: {
114
+ LDLabProtocol.setNameAsString(p, v_3);
115
+ break;
116
+ }
117
+ case 5: {
118
+ const newC = ResizeArray_appendSingleton(BaseTypes_composeComponent(hc[0], hc[1]), LDLabProtocol.getLabEquipments(p));
119
+ LDLabProtocol.setLabEquipments(p, newC);
120
+ break;
121
+ }
122
+ }
123
+ return p;
124
+ }, LDLabProtocol.create(tableName, tableName), row);
125
+ }
126
+ function ARCtrl_ArcTable__ArcTable_fromProtocol_Static_Z6839B9E8(p, graph, context) {
127
+ const name = LDLabProtocol.getNameAsString(p, unwrap(context));
128
+ const t = ArcTable.init(name);
129
+ let enumerator = getEnumerator(LDLabProtocol.getComponents(p, unwrap(graph), unwrap(context)));
130
+ try {
131
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
132
+ const c = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
133
+ const patternInput = BaseTypes_decomposeComponent_Z2F770004(c, unwrap(context));
134
+ t.AddColumn(patternInput[0], ResizeArray_singleton(patternInput[1]), unwrap(ARCtrl_ROCrate_LDNode__LDNode_TryGetColumnIndex(c)));
135
+ }
136
+ } finally {
137
+ disposeSafe(enumerator);
138
+ }
139
+ map((d) => {
140
+ t.AddProtocolDescriptionColumn(ResizeArray_singleton(d));
141
+ }, LDLabProtocol.tryGetDescriptionAsString(p, unwrap(context)));
142
+ map((d_1) => {
143
+ t.AddProtocolVersionColumn(ResizeArray_singleton(d_1));
144
+ }, LDLabProtocol.tryGetVersionAsString(p, unwrap(context)));
145
+ map((d_2) => {
146
+ t.AddProtocolTypeColumn(ResizeArray_singleton(d_2));
147
+ }, ProcessConversion_tryGetProtocolType_Z6839B9E8(p, void 0, unwrap(context)));
148
+ map((d_3) => {
149
+ t.AddProtocolUriColumn(ResizeArray_singleton(d_3));
150
+ }, LDLabProtocol.tryGetUrl(p, unwrap(context)));
151
+ t.AddProtocolNameColumn(ResizeArray_singleton(name));
152
+ return t;
153
+ }
154
+ function ARCtrl_ArcTable__ArcTable_GetProtocols(this$) {
155
+ let source;
156
+ if (this$.RowCount === 0) {
157
+ return singleton((source = this$.Headers, fold((p, h) => {
158
+ if (h.tag === /* Component */
159
+ 0) {
160
+ const oa = h.fields[0];
161
+ const matchValue = oa.NameText;
162
+ const matchValue_1 = oa.TermAccessionOntobeeUrl;
163
+ const newC = ResizeArray_appendSingleton(LDPropertyValue.createComponent(matchValue, "Empty Component Value", void 0, matchValue_1), LDLabProtocol.getLabEquipments(p));
164
+ LDLabProtocol.setLabEquipments(p, newC);
165
+ }
166
+ return p;
167
+ }, LDLabProtocol.create(createMissingIdentifier(), this$.Name), source)));
168
+ } else {
169
+ return List_distinct(initialize(this$.RowCount, (i) => {
170
+ let row;
171
+ const source_2 = this$.GetRow(i, true);
172
+ row = zip(this$.Headers, source_2);
173
+ return CompositeRow_toProtocol(this$.Name, row);
174
+ }), {
175
+ Equals: equals,
176
+ GetHashCode: safeHash
177
+ });
178
+ }
179
+ }
180
+ function ARCtrl_ArcTable__ArcTable_GetProcesses_5E660E5C(this$, assayName, studyName, fs) {
181
+ if (this$.RowCount === 0) {
182
+ return singleton(LDLabProcess.create(this$.Name));
183
+ } else {
184
+ const getter = ProcessConversion_getProcessGetter(assayName, studyName, this$.Name, this$.Headers, fs);
185
+ return toList(delay(() => map$1((i) => getter(this$)(i), rangeDouble(0, 1, this$.RowCount - 1))));
186
+ }
187
+ }
188
+ function ARCtrl_ArcTable__ArcTable_fromProcesses_Static_Z3575FB5F(name, ps, graph, context) {
189
+ const tupledArg = Unchecked_alignByHeaders(true, collect((p) => ofSeq(ProcessConversion_processToRows_Z6839B9E8(p, unwrap(graph), unwrap(context))), ps));
190
+ return ArcTable.fromArcTableValues(name, tupledArg[0], tupledArg[1]);
191
+ }
192
+ function ARCtrl_ArcTables__ArcTables_GetProcesses_5E660E5C(this$, assayName, studyName, fs) {
193
+ return collect((t) => ARCtrl_ArcTable__ArcTable_GetProcesses_5E660E5C(t, unwrap(assayName), unwrap(studyName), unwrap(fs)), toList(this$.Tables));
194
+ }
195
+ function ARCtrl_ArcTables__ArcTables_fromProcesses_Static_Z27F0B586(ps, graph, context) {
196
+ let collection;
197
+ return new ArcTables((collection = map$2((tupledArg) => {
198
+ const tupledArg_1 = Unchecked_alignByHeaders(true, collect((p) => ofSeq(ProcessConversion_processToRows_Z6839B9E8(p, unwrap(graph), unwrap(context))), tupledArg[1]));
199
+ return ArcTable.fromArcTableValues(tupledArg[0], tupledArg_1[0], tupledArg_1[1]);
200
+ }, ProcessConversion_groupProcesses_Z27F0B586(ps, unwrap(graph), unwrap(context))), Array.from(collection)));
201
+ }
202
+
203
+ export { ARCtrl_ArcTable__ArcTable_GetProcesses_5E660E5C, ARCtrl_ArcTable__ArcTable_GetProtocols, ARCtrl_ArcTable__ArcTable_fromProcesses_Static_Z3575FB5F, ARCtrl_ArcTable__ArcTable_fromProtocol_Static_Z6839B9E8, ARCtrl_ArcTables__ArcTables_GetProcesses_5E660E5C, ARCtrl_ArcTables__ArcTables_fromProcesses_Static_Z27F0B586, CompositeRow_toProtocol };
@@ -0,0 +1,45 @@
1
+ import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
2
+ import { CWLType_$union } from '../CWL/CWLTypes.js';
3
+ import { Option } from '@fable-org/fable-library-js/Option.js';
4
+ import { int32 } from '@fable-org/fable-library-js/Int32.js';
5
+ import { LDGraph, LDNode } from '../ROCrate/LDObject.js';
6
+ import { CWLInput, InputBinding } from '../CWL/Inputs.js';
7
+ import { LDContext } from '../ROCrate/LDContext.js';
8
+ import { CWLOutput, OutputBinding } from '../CWL/Outputs.js';
9
+ import { Component } from '../Core/Process/Component.js';
10
+ import { CWLWorkflowDescription } from '../CWL/WorkflowDescription.js';
11
+ import { CWLToolDescription } from '../CWL/ToolDescription.js';
12
+ import { CWLProcessingUnit_$union } from '../CWL/CWLProcessingUnit.js';
13
+ import { WorkflowStep } from '../CWL/WorkflowSteps.js';
14
+ import { ArcWorkflow } from '../Core/ArcTypes.js';
15
+ import { FileSystem } from '../FileSystem/FileSystem.js';
16
+ export declare class WorkflowConversion {
17
+ constructor();
18
+ }
19
+ export declare function WorkflowConversion_$reflection(): TypeInfo;
20
+ export declare function WorkflowConversion_composeAdditionalType_Z5C31A0F9(t: CWLType_$union): string;
21
+ export declare function WorkflowConversion_decomposeAdditionalType_Z721C83C5(t: string): CWLType_$union;
22
+ export declare function WorkflowConversion_composeFormalParamInputIdentifiers(prefix: Option<string>, position: Option<int32>): Option<LDNode[]>;
23
+ export declare function WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(inp: CWLInput, workflowName?: string, runName?: string): LDNode;
24
+ export declare function WorkflowConversion_decomposeInputBindings_1AAAE9A5(identifiers: LDNode[], context?: LDContext): Option<InputBinding>;
25
+ export declare function WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(inp: LDNode, context?: LDContext, graph?: LDGraph): CWLInput;
26
+ export declare function WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678(glob: Option<string>): Option<LDNode[]>;
27
+ export declare function WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(out: CWLOutput, workflowName?: string, runName?: string): LDNode;
28
+ export declare function WorkflowConversion_decomposeOutputBindings_1AAAE9A5(identifiers: LDNode[], context?: LDContext): OutputBinding;
29
+ export declare function WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(inp: LDNode, context?: LDContext, graph?: LDGraph): CWLOutput;
30
+ export declare function WorkflowConversion_composeComputationalTool_Z685B8F25(tool: Component): LDNode;
31
+ export declare function WorkflowConversion_decomposeComputationalTool_Z6839B9E8(tool: LDNode, graph?: LDGraph, context?: LDContext): Component;
32
+ export declare function WorkflowConversion_getInputParametersFromProcessingUnit_30922B92(pu: CWLProcessingUnit_$union): CWLInput[];
33
+ export declare function WorkflowConversion_get_toolDescriptionTypeName(): string;
34
+ export declare function WorkflowConversion_get_workflowDescriptionTypeName(): string;
35
+ export declare function WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA(filePath: string, workflow: CWLToolDescription, workflowName?: string, runName?: string): LDNode;
36
+ export declare function WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8(protocol: LDNode, context?: LDContext, graph?: LDGraph): CWLToolDescription;
37
+ export declare function WorkflowConversion_composeWorkflowStep_Z35AB9E5D<$a>(step: WorkflowStep, workflowID: $a): LDNode;
38
+ export declare function WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F(filePath: string, workflow: CWLWorkflowDescription, workflowName?: string, runName?: string): LDNode;
39
+ export declare function WorkflowConversion_decomposeWorkflowStep_2664C4B8(step: LDNode, context?: LDContext, graph?: LDGraph): WorkflowStep;
40
+ export declare function WorkflowConversion_decomposeWorkflowProtocolToWorkflow_2664C4B8(protocol: LDNode, context?: LDContext, graph?: LDGraph): CWLWorkflowDescription;
41
+ export declare function WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7(filePath: string, pu: CWLProcessingUnit_$union, workflowName?: string, runName?: string): LDNode;
42
+ export declare function WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_2664C4B8(protocol: LDNode, context?: LDContext, graph?: LDGraph): CWLProcessingUnit_$union;
43
+ export declare function WorkflowConversion_composeWorkflow_42450E6E(workflow: ArcWorkflow, fs?: FileSystem): LDNode;
44
+ export declare function WorkflowConversion_decomposeWorkflow_Z6839B9E8(workflow: LDNode, graph?: LDGraph, context?: LDContext): ArcWorkflow;
45
+ //# sourceMappingURL=Workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../../../src/ARCtrl/ts/Conversion/Workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,305 @@
1
+ import { class_type } from '../../node_modules/@fable-org/fable-library-js/Reflection.js';
2
+ import { writeYaml, encodeCWLType } from '../CWL/Encode.js';
3
+ import { object } from '../fable_modules/YAMLicious.0.0.3/Decode.fs.js';
4
+ import { Decode_cwlTypeStringMatcher } from '../CWL/Decode.js';
5
+ import { YAMLElement_Comment } from '../fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js';
6
+ import { value, defaultArg, unwrap, bind, map } from '../../node_modules/@fable-org/fable-library-js/Option.js';
7
+ import { LDPropertyValue } from '../ROCrate/LDTypes/PropertyValue.js';
8
+ import { LDFormalParameter } from '../ROCrate/LDTypes/FormalParameter.js';
9
+ import { InputBinding_create_ZAC0108A, CWLInput } from '../CWL/Inputs.js';
10
+ import { tryPick, exactlyOne, find } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
11
+ import { OutputBinding_create_6DFDD678, CWLOutput } from '../CWL/Outputs.js';
12
+ import { int32ToString } from '../../node_modules/@fable-org/fable-library-js/Util.js';
13
+ import { Component_create_Z2F0B38C7 } from '../Core/Process/Component.js';
14
+ import { BaseTypes_decomposePropertyValue_Z2F770004, BaseTypes_composeDefinedTerm_ZDED3A0F, BaseTypes_composeComment_Z13201A7E, BaseTypes_decomposeDefinedTerm_Z2F770004, BaseTypes_decomposeComment_Z2F770004 } from './Basic.js';
15
+ import { CWLWorkflowDescription } from '../CWL/WorkflowDescription.js';
16
+ import { ResizeArray_map, ResizeArray_singleton, ResizeArray_choose, Option_fromSeq, Option_fromValueWithDefault } from '../Core/Helper/Collections.js';
17
+ import { CWLToolDescription } from '../CWL/ToolDescription.js';
18
+ import { CWLProcessingUnit_Workflow, CWLProcessingUnit_CommandLineTool } from '../CWL/CWLProcessingUnit.js';
19
+ import { LDWorkflowProtocol } from '../ROCrate/LDTypes/WorkflowProtocol.js';
20
+ import { LDComputerLanguage } from '../ROCrate/LDTypes/ComputerLanguage.js';
21
+ import { LDComputationalWorkflow } from '../ROCrate/LDTypes/ComputationalWorkflow.js';
22
+ import { LDDataset } from '../ROCrate/LDTypes/Dataset.js';
23
+ import { WorkflowStep, StepOutput } from '../CWL/WorkflowSteps.js';
24
+ import { Workflow_cwlFileNameFromIdentifier } from '../Core/Helper/Identifier.js';
25
+ import { toFail, printf } from '../../node_modules/@fable-org/fable-library-js/String.js';
26
+ import { LDLabProtocol } from '../ROCrate/LDTypes/LabProtocol.js';
27
+ import { DatamapConversion_composeFragmentDescriptors_Z8923FA3, DatamapConversion_decomposeFragmentDescriptors_Z6E59645F } from './Datamap.js';
28
+ import { DataMap } from '../Core/DataMap.js';
29
+ import { PersonConversion_composePerson_Z64D846DC, PersonConversion_decomposePerson_Z6839B9E8 } from './Person.js';
30
+ import { ArcWorkflow } from '../Core/ArcTypes.js';
31
+
32
+ class WorkflowConversion {
33
+ constructor() {
34
+ }
35
+ }
36
+ function WorkflowConversion_$reflection() {
37
+ return class_type("ARCtrl.Conversion.WorkflowConversion", void 0, WorkflowConversion);
38
+ }
39
+ function WorkflowConversion_composeAdditionalType_Z5C31A0F9(t) {
40
+ const s = writeYaml(encodeCWLType(t));
41
+ return s.trim();
42
+ }
43
+ function WorkflowConversion_decomposeAdditionalType_Z721C83C5(t) {
44
+ return object((get$) => Decode_cwlTypeStringMatcher(t, get$), YAMLElement_Comment("dawd"))[0];
45
+ }
46
+ function WorkflowConversion_composeFormalParamInputIdentifiers(prefix, position) {
47
+ if (prefix == null) {
48
+ if (position == null) {
49
+ return void 0;
50
+ } else {
51
+ const po_1 = value(position) | 0;
52
+ return [LDPropertyValue.createPosition(po_1)];
53
+ }
54
+ } else if (position == null) {
55
+ const pr_1 = value(prefix);
56
+ return [LDPropertyValue.createPrefix(pr_1)];
57
+ } else {
58
+ const po = value(position) | 0;
59
+ const pr = value(prefix);
60
+ return [LDPropertyValue.createPosition(po), LDPropertyValue.createPrefix(pr)];
61
+ }
62
+ }
63
+ function WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(inp, workflowName, runName) {
64
+ let additionalType;
65
+ const matchValue = inp.Type_;
66
+ if (matchValue == null) {
67
+ throw new Error("Input must have a type");
68
+ } else {
69
+ additionalType = WorkflowConversion_composeAdditionalType_Z5C31A0F9(value(matchValue));
70
+ }
71
+ const valueRequired = !defaultArg(inp.Optional, false);
72
+ const id = LDFormalParameter.genID(inp.Name, unwrap(workflowName), unwrap(runName));
73
+ const identifiers = bind((ib) => WorkflowConversion_composeFormalParamInputIdentifiers(ib.Prefix, ib.Position), inp.InputBinding);
74
+ return LDFormalParameter.create(additionalType, id, void 0, inp.Name, void 0, void 0, void 0, void 0, valueRequired, unwrap(identifiers));
75
+ }
76
+ function WorkflowConversion_decomposeInputBindings_1AAAE9A5(identifiers, context) {
77
+ const prefix = tryPick((n) => LDPropertyValue.tryGetAsPrefix(n, unwrap(context)), identifiers);
78
+ const position = tryPick((n_1) => LDPropertyValue.tryGetAsPosition(n_1, unwrap(context)), identifiers);
79
+ let matchResult;
80
+ if (prefix == null) {
81
+ if (position == null) {
82
+ matchResult = 0;
83
+ } else {
84
+ matchResult = 1;
85
+ }
86
+ } else {
87
+ matchResult = 1;
88
+ }
89
+ switch (matchResult) {
90
+ case 0:
91
+ return void 0;
92
+ default:
93
+ return InputBinding_create_ZAC0108A(unwrap(prefix), unwrap(position));
94
+ }
95
+ }
96
+ function WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(inp, context, graph) {
97
+ const t_1 = WorkflowConversion_decomposeAdditionalType_Z721C83C5(exactlyOne(inp.AdditionalType));
98
+ const binding = WorkflowConversion_decomposeInputBindings_1AAAE9A5(LDFormalParameter.getIdentifiers(inp, unwrap(graph), unwrap(context)), unwrap(context));
99
+ let optional;
100
+ const matchValue = LDFormalParameter.tryGetValueRequiredAsBoolean(inp, unwrap(context));
101
+ let matchResult;
102
+ if (matchValue != null) {
103
+ if (value(matchValue)) {
104
+ matchResult = 0;
105
+ } else {
106
+ matchResult = 1;
107
+ }
108
+ } else {
109
+ matchResult = 1;
110
+ }
111
+ switch (matchResult) {
112
+ case 0: {
113
+ optional = void 0;
114
+ break;
115
+ }
116
+ default:
117
+ optional = true;
118
+ }
119
+ return new CWLInput(LDFormalParameter.getNameAsString(inp, unwrap(context)), t_1, unwrap(binding), unwrap(optional));
120
+ }
121
+ function WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678(glob) {
122
+ if (glob == null) {
123
+ return void 0;
124
+ } else {
125
+ const g = value(glob);
126
+ return [LDPropertyValue.createGlob(g)];
127
+ }
128
+ }
129
+ function WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(out, workflowName, runName) {
130
+ let additionalType;
131
+ const matchValue = out.Type_;
132
+ if (matchValue == null) {
133
+ throw new Error("Output must have a type");
134
+ } else {
135
+ additionalType = WorkflowConversion_composeAdditionalType_Z5C31A0F9(value(matchValue));
136
+ }
137
+ const id = LDFormalParameter.genID(out.Name, unwrap(workflowName), unwrap(runName));
138
+ const identifiers = bind((ob) => WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678(ob.Glob), out.OutputBinding);
139
+ return LDFormalParameter.create(additionalType, id, void 0, out.Name, void 0, void 0, void 0, void 0, true, unwrap(identifiers));
140
+ }
141
+ function WorkflowConversion_decomposeOutputBindings_1AAAE9A5(identifiers, context) {
142
+ return OutputBinding_create_6DFDD678(unwrap(tryPick((n) => LDPropertyValue.tryGetAsGlob(n, unwrap(context)), identifiers)));
143
+ }
144
+ function WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(inp, context, graph) {
145
+ const t_1 = WorkflowConversion_decomposeAdditionalType_Z721C83C5(exactlyOne(inp.AdditionalType));
146
+ const binding = WorkflowConversion_decomposeOutputBindings_1AAAE9A5(LDFormalParameter.getIdentifiers(inp, unwrap(graph), unwrap(context)), unwrap(context));
147
+ const optional = map((value) => !value, LDFormalParameter.tryGetValueRequiredAsBoolean(inp, unwrap(context)));
148
+ return new CWLOutput(LDFormalParameter.getNameAsString(inp, unwrap(context)), t_1, binding);
149
+ }
150
+ function WorkflowConversion_composeComputationalTool_Z685B8F25(tool) {
151
+ let c, f, i, oa, s;
152
+ let patternInput;
153
+ const matchValue = tool.ComponentType;
154
+ let matchResult, c_1;
155
+ if (matchValue != null) {
156
+ if (c = value(matchValue), c.Name != null) {
157
+ matchResult = 0;
158
+ c_1 = value(matchValue);
159
+ } else {
160
+ matchResult = 1;
161
+ }
162
+ } else {
163
+ matchResult = 1;
164
+ }
165
+ switch (matchResult) {
166
+ case 0: {
167
+ patternInput = [value(c_1.Name), c_1.TermAccessionNumber];
168
+ break;
169
+ }
170
+ default:
171
+ throw new Error("Component must have a type");
172
+ }
173
+ let patternInput_1;
174
+ const matchValue_1 = tool.ComponentValue;
175
+ patternInput_1 = matchValue_1 == null ? [void 0, void 0] : value(matchValue_1).tag === /* Float */
176
+ 2 ? (f = value(matchValue_1).fields[0], [f.toString(), void 0]) : value(matchValue_1).tag === /* Int */
177
+ 1 ? (i = value(matchValue_1).fields[0] | 0, [int32ToString(i), void 0]) : value(matchValue_1).tag === /* Ontology */
178
+ 0 ? (oa = value(matchValue_1).fields[0], [oa.Name, oa.TermAccessionNumber]) : (s = value(matchValue_1).fields[0], [s, void 0]);
179
+ let patternInput_2;
180
+ const matchValue_2 = tool.ComponentUnit;
181
+ if (matchValue_2 == null) {
182
+ patternInput_2 = [void 0, void 0];
183
+ } else {
184
+ const oa_1 = value(matchValue_2);
185
+ patternInput_2 = [oa_1.Name, oa_1.TermAccessionNumber];
186
+ }
187
+ return LDPropertyValue.createComponent(patternInput[0], unwrap(patternInput_1[0]), void 0, unwrap(patternInput[1]), unwrap(patternInput_2[1]), unwrap(patternInput_2[0]), unwrap(patternInput_1[1]));
188
+ }
189
+ function WorkflowConversion_decomposeComputationalTool_Z6839B9E8(tool, graph, context) {
190
+ const patternInput = BaseTypes_decomposePropertyValue_Z2F770004(tool, unwrap(context));
191
+ return Component_create_Z2F0B38C7(unwrap(patternInput[1]), unwrap(patternInput[2]), patternInput[0]);
192
+ }
193
+ function WorkflowConversion_getInputParametersFromProcessingUnit_30922B92(pu) {
194
+ if (pu.tag === /* Workflow */
195
+ 1) {
196
+ const wf = pu.fields[0];
197
+ return ResizeArray_map((i_1) => i_1, wf.Inputs);
198
+ } else {
199
+ const tool = pu.fields[0];
200
+ const matchValue = tool.Inputs;
201
+ if (matchValue == null) {
202
+ return [];
203
+ } else {
204
+ return ResizeArray_map((i) => i, value(matchValue));
205
+ }
206
+ }
207
+ }
208
+ function WorkflowConversion_get_toolDescriptionTypeName() {
209
+ return "ToolDescription";
210
+ }
211
+ function WorkflowConversion_get_workflowDescriptionTypeName() {
212
+ return "WorkflowDescription";
213
+ }
214
+ function WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA(filePath, workflow, workflowName, runName) {
215
+ const inputs = map((a) => ResizeArray_map((i) => WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(i, unwrap(workflowName), unwrap(runName)), a), workflow.Inputs);
216
+ const outputs = ResizeArray_map((o) => WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(o, unwrap(workflowName), unwrap(runName)), workflow.Outputs);
217
+ return LDWorkflowProtocol.create(filePath, unwrap(inputs), outputs, void 0, void 0, void 0, void 0, ResizeArray_singleton(LDComputerLanguage.createCWL()), void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, [WorkflowConversion_get_toolDescriptionTypeName()]);
218
+ }
219
+ function WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8(protocol, context, graph) {
220
+ const inputs = ResizeArray_map((i) => WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(i, unwrap(context), unwrap(graph)), LDComputationalWorkflow.getInputsAsFormalParameters(protocol, unwrap(graph), unwrap(context)));
221
+ return new CWLToolDescription(ResizeArray_map((o) => WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(o, unwrap(context), unwrap(graph)), LDComputationalWorkflow.getOutputsAsFormalParameter(protocol, unwrap(graph), unwrap(context))), void 0, void 0, void 0, void 0, inputs);
222
+ }
223
+ function WorkflowConversion_composeWorkflowStep_Z35AB9E5D(step, workflowID) {
224
+ const id = `WorkflowStep_${workflowID}_${step.Id}`;
225
+ const cw = LDComputationalWorkflow.create(id, void 0, void 0, void 0, void 0, void 0, step.Id);
226
+ LDDataset.setIdentifierAsString(cw, step.Run);
227
+ return cw;
228
+ }
229
+ function WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F(filePath, workflow, workflowName, runName) {
230
+ const inputs = ResizeArray_map((i) => WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(i, unwrap(workflowName), unwrap(runName)), workflow.Inputs);
231
+ const outputs = ResizeArray_map((o) => WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(o, unwrap(workflowName), unwrap(runName)), workflow.Outputs);
232
+ const steps = ResizeArray_map((s) => WorkflowConversion_composeWorkflowStep_Z35AB9E5D(s, filePath), workflow.Steps);
233
+ return LDWorkflowProtocol.create(filePath, inputs, outputs, void 0, void 0, void 0, void 0, ResizeArray_singleton(LDComputerLanguage.createCWL()), void 0, void 0, void 0, void 0, steps, void 0, void 0, void 0, [WorkflowConversion_get_workflowDescriptionTypeName()]);
234
+ }
235
+ function WorkflowConversion_decomposeWorkflowStep_2664C4B8(step, context, graph) {
236
+ const name = LDComputationalWorkflow.getNameAsString(step, unwrap(context));
237
+ const run = LDDataset.getIdentifierAsString(step, unwrap(context));
238
+ return new WorkflowStep(name, [], StepOutput.create([]), run);
239
+ }
240
+ function WorkflowConversion_decomposeWorkflowProtocolToWorkflow_2664C4B8(protocol, context, graph) {
241
+ const inputs = ResizeArray_map((i) => WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(i, unwrap(context), unwrap(graph)), LDComputationalWorkflow.getInputsAsFormalParameters(protocol, unwrap(graph), unwrap(context)));
242
+ const outputs = ResizeArray_map((o) => WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(o, unwrap(context), unwrap(graph)), LDComputationalWorkflow.getOutputsAsFormalParameter(protocol, unwrap(graph), unwrap(context)));
243
+ return new CWLWorkflowDescription(ResizeArray_map((s) => WorkflowConversion_decomposeWorkflowStep_2664C4B8(s, unwrap(context), unwrap(graph)), LDComputationalWorkflow.getHasPart(protocol, unwrap(graph), unwrap(context))), inputs, outputs);
244
+ }
245
+ function WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7(filePath, pu, workflowName, runName) {
246
+ if (pu.tag === /* Workflow */
247
+ 1) {
248
+ return WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F(filePath, pu.fields[0], unwrap(workflowName), unwrap(runName));
249
+ } else {
250
+ return WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA(filePath, pu.fields[0], unwrap(workflowName), unwrap(runName));
251
+ }
252
+ }
253
+ function WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_2664C4B8(protocol, context, graph) {
254
+ if (LDComputationalWorkflow.getAdditionalTypeAsString(protocol, unwrap(context)) === WorkflowConversion_get_workflowDescriptionTypeName()) {
255
+ return CWLProcessingUnit_Workflow(WorkflowConversion_decomposeWorkflowProtocolToWorkflow_2664C4B8(protocol, unwrap(context), unwrap(graph)));
256
+ } else {
257
+ return CWLProcessingUnit_CommandLineTool(WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8(protocol, unwrap(context), unwrap(graph)));
258
+ }
259
+ }
260
+ function WorkflowConversion_composeWorkflow_42450E6E(workflow, fs) {
261
+ let workflowProtocol;
262
+ const workflowFilePath = Workflow_cwlFileNameFromIdentifier(workflow.Identifier);
263
+ const matchValue = workflow.CWLDescription;
264
+ if (matchValue == null) {
265
+ const arg = workflow.Identifier;
266
+ workflowProtocol = toFail(printf("Workflow %s must have a CWL description"))(arg);
267
+ } else {
268
+ workflowProtocol = WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7(workflowFilePath, value(matchValue), workflow.Identifier);
269
+ }
270
+ if (workflow.Version != null) {
271
+ LDLabProtocol.setVersionAsString(workflowProtocol, value(workflow.Version));
272
+ }
273
+ if (workflow.URI != null) {
274
+ LDLabProtocol.setUrl(workflowProtocol, value(workflow.URI));
275
+ }
276
+ if (workflow.WorkflowType != null) {
277
+ const intendedUse = BaseTypes_composeDefinedTerm_ZDED3A0F(value(workflow.WorkflowType));
278
+ LDLabProtocol.setIntendedUseAsDefinedTerm(workflowProtocol, intendedUse);
279
+ }
280
+ const dataFiles = ResizeArray_choose((df) => LDPropertyValue.tryGetSubjectOf(df), defaultArg(map(DatamapConversion_composeFragmentDescriptors_Z8923FA3, workflow.DataMap), []));
281
+ if (workflow.Components.length > 0) {
282
+ const softwareTools = ResizeArray_map(WorkflowConversion_composeComputationalTool_Z685B8F25, workflow.Components);
283
+ LDLabProtocol.setComputationalTools(workflowProtocol, softwareTools);
284
+ }
285
+ const creators = Option_fromSeq(ResizeArray_map(PersonConversion_composePerson_Z64D846DC, workflow.Contacts));
286
+ const hasParts = Option_fromSeq(dataFiles);
287
+ const comments = Option_fromSeq(ResizeArray_map(BaseTypes_composeComment_Z13201A7E, workflow.Comments));
288
+ return LDDataset.createARCWorkflow(workflow.Identifier, ResizeArray_singleton(workflowProtocol), void 0, unwrap(workflow.Title), unwrap(workflow.Description), unwrap(creators), unwrap(hasParts), unwrap(comments));
289
+ }
290
+ function WorkflowConversion_decomposeWorkflow_Z6839B9E8(workflow, graph, context) {
291
+ const workflowProtocol = find((me) => LDComputationalWorkflow.validate(me, unwrap(context)), LDDataset.getMainEntities(workflow, unwrap(graph), unwrap(context)));
292
+ const cwlDescription = WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_2664C4B8(workflowProtocol, unwrap(context), unwrap(graph));
293
+ const version = LDLabProtocol.tryGetVersionAsString(workflowProtocol, unwrap(context));
294
+ const uri = LDLabProtocol.tryGetUrl(workflowProtocol, unwrap(context));
295
+ const workflowType = map((iu) => BaseTypes_decomposeDefinedTerm_Z2F770004(iu, unwrap(context)), LDLabProtocol.tryGetIntendedUseAsDefinedTerm(workflowProtocol, unwrap(graph), unwrap(context)));
296
+ const components = ResizeArray_map((ct) => WorkflowConversion_decomposeComputationalTool_Z6839B9E8(ct, unwrap(graph), unwrap(context)), LDLabProtocol.getComputationalTools(workflowProtocol, unwrap(graph), unwrap(context)));
297
+ const contacts = ResizeArray_map((c) => PersonConversion_decomposePerson_Z6839B9E8(c, unwrap(graph), unwrap(context)), LDDataset.getCreators(workflow, unwrap(graph), unwrap(context)));
298
+ const comments = ResizeArray_map((c_1) => BaseTypes_decomposeComment_Z2F770004(c_1, unwrap(context)), LDDataset.getComments(workflow, unwrap(graph), unwrap(context)));
299
+ let dataMap;
300
+ const v = DatamapConversion_decomposeFragmentDescriptors_Z6E59645F(LDDataset.getVariableMeasuredAsFragmentDescriptors(workflow, unwrap(graph), unwrap(context)), unwrap(graph), unwrap(context));
301
+ dataMap = Option_fromValueWithDefault(DataMap.init(), v);
302
+ return ArcWorkflow.create(LDDataset.getIdentifierAsString(workflow, unwrap(context)), unwrap(LDDataset.tryGetNameAsString(workflow, unwrap(context))), unwrap(LDDataset.tryGetDescriptionAsString(workflow, unwrap(context))), unwrap(workflowType), unwrap(uri), unwrap(version), void 0, void 0, components, unwrap(dataMap), contacts, cwlDescription, comments);
303
+ }
304
+
305
+ export { WorkflowConversion, WorkflowConversion_$reflection, WorkflowConversion_composeAdditionalType_Z5C31A0F9, WorkflowConversion_composeComputationalTool_Z685B8F25, WorkflowConversion_composeFormalParamInputIdentifiers, WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7, WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80, WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678, WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7, WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA, WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F, WorkflowConversion_composeWorkflowStep_Z35AB9E5D, WorkflowConversion_composeWorkflow_42450E6E, WorkflowConversion_decomposeAdditionalType_Z721C83C5, WorkflowConversion_decomposeComputationalTool_Z6839B9E8, WorkflowConversion_decomposeInputBindings_1AAAE9A5, WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8, WorkflowConversion_decomposeOutputBindings_1AAAE9A5, WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8, WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_2664C4B8, WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8, WorkflowConversion_decomposeWorkflowProtocolToWorkflow_2664C4B8, WorkflowConversion_decomposeWorkflowStep_2664C4B8, WorkflowConversion_decomposeWorkflow_Z6839B9E8, WorkflowConversion_getInputParametersFromProcessingUnit_30922B92, WorkflowConversion_get_toolDescriptionTypeName, WorkflowConversion_get_workflowDescriptionTypeName };