@nfdi4plants/arctrl 3.0.0-beta.14 → 3.0.0-beta.16

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 (66) hide show
  1. package/dist/ts/ts/ARC.d.ts +2 -2
  2. package/dist/ts/ts/ARC.d.ts.map +1 -1
  3. package/dist/ts/ts/ARC.js +5 -5
  4. package/dist/ts/ts/CWL/CWLTypes.d.ts +50 -19
  5. package/dist/ts/ts/CWL/CWLTypes.d.ts.map +1 -1
  6. package/dist/ts/ts/CWL/CWLTypes.js +175 -39
  7. package/dist/ts/ts/CWL/Decode.d.ts +30 -4
  8. package/dist/ts/ts/CWL/Decode.d.ts.map +1 -1
  9. package/dist/ts/ts/CWL/Decode.js +679 -44
  10. package/dist/ts/ts/CWL/Encode.d.ts +13 -2
  11. package/dist/ts/ts/CWL/Encode.d.ts.map +1 -1
  12. package/dist/ts/ts/CWL/Encode.js +483 -85
  13. package/dist/ts/ts/CWL/ToolDescription.d.ts +8 -2
  14. package/dist/ts/ts/CWL/ToolDescription.d.ts.map +1 -1
  15. package/dist/ts/ts/CWL/ToolDescription.js +22 -4
  16. package/dist/ts/ts/CWL/WorkflowDescription.d.ts +8 -2
  17. package/dist/ts/ts/CWL/WorkflowDescription.d.ts.map +1 -1
  18. package/dist/ts/ts/CWL/WorkflowDescription.js +22 -4
  19. package/dist/ts/ts/CWL/WorkflowSteps.d.ts +6 -5
  20. package/dist/ts/ts/CWL/WorkflowSteps.d.ts.map +1 -1
  21. package/dist/ts/ts/CWL/WorkflowSteps.js +5 -4
  22. package/dist/ts/ts/Conversion/Investigation.d.ts +1 -1
  23. package/dist/ts/ts/Conversion/Investigation.d.ts.map +1 -1
  24. package/dist/ts/ts/Conversion/Investigation.js +24 -4
  25. package/dist/ts/ts/Conversion/Run.d.ts.map +1 -1
  26. package/dist/ts/ts/Conversion/Run.js +74 -10
  27. package/dist/ts/ts/Conversion/Workflow.d.ts.map +1 -1
  28. package/dist/ts/ts/Conversion/Workflow.js +17 -8
  29. package/dist/ts/ts/Conversion.d.ts +2 -2
  30. package/dist/ts/ts/Conversion.d.ts.map +1 -1
  31. package/dist/ts/ts/Conversion.js +7 -7
  32. package/dist/ts/ts/Json/ROCrate/LDNode.d.ts +1 -0
  33. package/dist/ts/ts/Json/ROCrate/LDNode.d.ts.map +1 -1
  34. package/dist/ts/ts/Json/ROCrate/LDNode.js +17 -6
  35. package/dist/ts/ts/Json.d.ts +0 -2
  36. package/dist/ts/ts/Json.d.ts.map +1 -1
  37. package/dist/ts/ts/Json.js +1 -7
  38. package/dist/ts/ts/JsonIO/Investigation.d.ts +0 -6
  39. package/dist/ts/ts/JsonIO/Investigation.d.ts.map +1 -1
  40. package/dist/ts/ts/JsonIO/Investigation.js +2 -21
  41. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts +7 -5
  42. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.d.ts.map +1 -1
  43. package/dist/ts/ts/ROCrate/LDTypes/ComputationalWorkflow.js +26 -3
  44. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts +3 -1
  45. package/dist/ts/ts/ROCrate/LDTypes/Dataset.d.ts.map +1 -1
  46. package/dist/ts/ts/ROCrate/LDTypes/Dataset.js +16 -4
  47. package/dist/ts/ts/ROCrateIO.d.ts +7 -3
  48. package/dist/ts/ts/ROCrateIO.d.ts.map +1 -1
  49. package/dist/ts/ts/ROCrateIO.js +76 -7
  50. package/dist/ts/ts/Yaml/ValidationPackage.d.ts +1 -1
  51. package/dist/ts/ts/Yaml/ValidationPackage.d.ts.map +1 -1
  52. package/dist/ts/ts/Yaml/ValidationPackage.js +5 -5
  53. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts +1 -1
  54. package/dist/ts/ts/Yaml/ValidationPackagesConfig.d.ts.map +1 -1
  55. package/dist/ts/ts/Yaml/ValidationPackagesConfig.js +5 -5
  56. package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Encode.fs.js +1 -1
  57. package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Reader.fs.js +79 -30
  58. package/package.json +1 -1
  59. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Decode.fs.js +0 -0
  60. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Interop/JsInterop.fs.js +0 -0
  61. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Persil.fs.js +0 -0
  62. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Preprocessing.fs.js +0 -0
  63. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Regex.fs.js +0 -0
  64. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/RegexActivePatterns.fs.js +0 -0
  65. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/Writer.fs.js +0 -0
  66. /package/dist/ts/ts/fable_modules/{YAMLicious.0.0.3 → YAMLicious.1.0.0-alpha.2}/YAMLiciousTypes.fs.js +0 -0
@@ -1,12 +1,12 @@
1
- import { YAMLElement_Value, YAMLContent, YAMLElement_Object, YAMLElement_Mapping, YAMLElement_Sequence, Config } from '../fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js';
2
- import { map, isEmpty, tail, head, ofArray, append, singleton, choose, empty, ofSeq, reverse, cons, length } from '../../node_modules/@fable-org/fable-library-js/List.js';
3
- import { string, int, float } from '../fable_modules/YAMLicious.0.0.3/Encode.fs.js';
4
- import { value, map as map$1 } from '../../node_modules/@fable-org/fable-library-js/Option.js';
5
- import { toList, choose as choose$1, map as map$2, delay, append as append$1, singleton as singleton$1, empty as empty$1 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
1
+ import { YAMLElement_Value, YAMLContent, YAMLElement_Object, YAMLElement_Mapping, YAMLElement_Sequence, Config } from '../fable_modules/YAMLicious.1.0.0-alpha.2/YAMLiciousTypes.fs.js';
2
+ import { map, isEmpty, tail, head, ofArray, append, singleton, empty, ofSeq, choose, reverse, cons, length } from '../../node_modules/@fable-org/fable-library-js/List.js';
3
+ import { trimEnd, replace, split, trimStart, join } from '../../node_modules/@fable-org/fable-library-js/String.js';
4
+ import { string, int, float } from '../fable_modules/YAMLicious.1.0.0-alpha.2/Encode.fs.js';
5
+ import { value, map as map$2 } from '../../node_modules/@fable-org/fable-library-js/Option.js';
6
+ import { toList, map as map$1, choose as choose$1, delay, append as append$1, singleton as singleton$1, empty as empty$1 } from '../../node_modules/@fable-org/fable-library-js/Seq.js';
6
7
  import { toList as toList$1 } from '../../node_modules/@fable-org/fable-library-js/Map.js';
7
- import { split, trimEnd, replace, trimStart, join } from '../../node_modules/@fable-org/fable-library-js/String.js';
8
8
  import { item } from '../../node_modules/@fable-org/fable-library-js/Array.js';
9
- import { write } from '../fable_modules/YAMLicious.0.0.3/Writer.fs.js';
9
+ import { write } from '../fable_modules/YAMLicious.1.0.0-alpha.2/Writer.fs.js';
10
10
  import { toString } from '../../node_modules/@fable-org/fable-library-js/Types.js';
11
11
 
12
12
  function yBool(b) {
@@ -19,6 +19,15 @@ function yMap(pairs) {
19
19
  3 ? !isEmpty(_arg.fields[0]) ? isEmpty(tail(_arg.fields[0])) ? (single = head(_arg.fields[0]), single) : _arg : _arg : _arg));
20
20
  }, pairs));
21
21
  }
22
+ function normalizeDocString(doc) {
23
+ return trimEnd(trimEnd(replace(doc, "\r\n", "\n"), "\n"), "\r");
24
+ }
25
+ function encodeLabel(label) {
26
+ return ["label", string(label)];
27
+ }
28
+ function encodeDoc(doc) {
29
+ return ["doc", string(normalizeDocString(doc))];
30
+ }
22
31
  function encodeCWLType(t) {
23
32
  let value_4, acc_3, value_2, acc_1;
24
33
  switch (t.tag) {
@@ -54,61 +63,312 @@ function encodeCWLType(t) {
54
63
  case /* Null */
55
64
  10:
56
65
  return string("null");
66
+ case /* Union */
67
+ 14: {
68
+ const typesList = toList(t.fields[0]);
69
+ let matchResult, otherType;
70
+ if (!isEmpty(typesList)) {
71
+ if (head(typesList).tag === /* Null */
72
+ 10) {
73
+ if (!isEmpty(tail(typesList))) {
74
+ if (isEmpty(tail(tail(typesList)))) {
75
+ matchResult = 0;
76
+ otherType = head(tail(typesList));
77
+ } else {
78
+ matchResult = 1;
79
+ }
80
+ } else {
81
+ matchResult = 1;
82
+ }
83
+ } else if (!isEmpty(tail(typesList))) {
84
+ if (head(tail(typesList)).tag === /* Null */
85
+ 10) {
86
+ if (isEmpty(tail(tail(typesList)))) {
87
+ matchResult = 0;
88
+ otherType = head(typesList);
89
+ } else {
90
+ matchResult = 1;
91
+ }
92
+ } else {
93
+ matchResult = 1;
94
+ }
95
+ } else {
96
+ matchResult = 1;
97
+ }
98
+ } else {
99
+ matchResult = 1;
100
+ }
101
+ switch (matchResult) {
102
+ case 0:
103
+ switch (otherType.tag) {
104
+ case /* File */
105
+ 0:
106
+ return string("File?");
107
+ case /* Directory */
108
+ 1:
109
+ return string("Directory?");
110
+ case /* String */
111
+ 3:
112
+ return string("string?");
113
+ case /* Int */
114
+ 4:
115
+ return string("int?");
116
+ case /* Long */
117
+ 5:
118
+ return string("long?");
119
+ case /* Float */
120
+ 6:
121
+ return string("float?");
122
+ case /* Double */
123
+ 7:
124
+ return string("double?");
125
+ case /* Boolean */
126
+ 8:
127
+ return string("boolean?");
128
+ case /* Array */
129
+ 11: {
130
+ const arraySchema = otherType.fields[0];
131
+ const matchValue = arraySchema.Items;
132
+ switch (matchValue.tag) {
133
+ case /* File */
134
+ 0:
135
+ return string("File[]?");
136
+ case /* Directory */
137
+ 1:
138
+ return string("Directory[]?");
139
+ case /* String */
140
+ 3:
141
+ return string("string[]?");
142
+ case /* Int */
143
+ 4:
144
+ return string("int[]?");
145
+ case /* Long */
146
+ 5:
147
+ return string("long[]?");
148
+ case /* Float */
149
+ 6:
150
+ return string("float[]?");
151
+ case /* Double */
152
+ 7:
153
+ return string("double[]?");
154
+ case /* Boolean */
155
+ 8:
156
+ return string("boolean[]?");
157
+ default:
158
+ return YAMLElement_Sequence(ofArray([string("null"), encodeInputArraySchema(arraySchema)]));
159
+ }
160
+ }
161
+ default:
162
+ return YAMLElement_Sequence(map(encodeCWLType, typesList));
163
+ }
164
+ default:
165
+ return YAMLElement_Sequence(map(encodeCWLType, typesList));
166
+ }
167
+ }
57
168
  case /* Array */
58
169
  11: {
59
- const inner = t.fields[0];
60
- const shortForm = inner.tag === /* File */
61
- 0 ? "File[]" : inner.tag === /* Directory */
62
- 1 ? "Directory[]" : inner.tag === /* Dirent */
63
- 2 ? "Dirent[]" : inner.tag === /* String */
64
- 3 ? "string[]" : inner.tag === /* Int */
65
- 4 ? "int[]" : inner.tag === /* Long */
66
- 5 ? "long[]" : inner.tag === /* Float */
67
- 6 ? "float[]" : inner.tag === /* Double */
68
- 7 ? "double[]" : inner.tag === /* Boolean */
170
+ const arraySchema_1 = t.fields[0];
171
+ let shortForm;
172
+ const matchValue_1 = arraySchema_1.Items;
173
+ shortForm = matchValue_1.tag === /* File */
174
+ 0 ? "File[]" : matchValue_1.tag === /* Directory */
175
+ 1 ? "Directory[]" : matchValue_1.tag === /* Dirent */
176
+ 2 ? "Dirent[]" : matchValue_1.tag === /* String */
177
+ 3 ? "string[]" : matchValue_1.tag === /* Int */
178
+ 4 ? "int[]" : matchValue_1.tag === /* Long */
179
+ 5 ? "long[]" : matchValue_1.tag === /* Float */
180
+ 6 ? "float[]" : matchValue_1.tag === /* Double */
181
+ 7 ? "double[]" : matchValue_1.tag === /* Boolean */
69
182
  8 ? "boolean[]" : void 0;
70
183
  if (shortForm == null) {
71
- return yMap(ofArray([["type", string("array")], ["items", encodeCWLType(inner)]]));
184
+ return encodeInputArraySchema(arraySchema_1);
72
185
  } else {
73
186
  return string(value(shortForm));
74
187
  }
75
188
  }
189
+ case /* Record */
190
+ 12:
191
+ return encodeInputRecordSchema(t.fields[0]);
192
+ case /* Enum */
193
+ 13:
194
+ return encodeInputEnumSchema(t.fields[0]);
76
195
  default:
77
196
  return string("File");
78
197
  }
79
198
  }
199
+ function encodeInputRecordField(field) {
200
+ return [field.Name, yMap(singleton(["type", encodeCWLType(field.Type)]))];
201
+ }
202
+ function encodeInputRecordSchema(schema) {
203
+ let fieldsElement;
204
+ const matchValue = schema.Fields;
205
+ fieldsElement = matchValue == null ? yMap(empty()) : yMap(toList(map$1(encodeInputRecordField, value(matchValue))));
206
+ return yMap(ofArray([["type", string("record")], ["fields", fieldsElement]]));
207
+ }
208
+ function encodeInputEnumSchema(schema) {
209
+ return yMap(append(singleton(["type", string("enum")]), singleton(["symbols", YAMLElement_Sequence(ofSeq(map$1(string, schema.Symbols)))])));
210
+ }
211
+ function encodeInputArraySchema(schema) {
212
+ return yMap(ofArray([["type", string("array")], ["items", encodeCWLType(schema.Items)]]));
213
+ }
80
214
  function encodeOutputBinding(ob) {
81
- return yMap(choose((x) => x, singleton(map$1((g) => ["glob", string(g)], ob.Glob))));
215
+ return yMap(choose((x) => x, singleton(map$2((g) => ["glob", string(g)], ob.Glob))));
82
216
  }
83
217
  function encodeCWLOutput(o) {
84
218
  let pairs;
85
219
  let acc_4;
86
220
  let acc_2;
87
- const value_1 = o.Type_;
221
+ const value$1 = map$2((t) => {
222
+ switch (t.tag) {
223
+ case /* Union */
224
+ 14: {
225
+ const typesList = toList(t.fields[0]);
226
+ let matchResult, otherType;
227
+ if (!isEmpty(typesList)) {
228
+ if (head(typesList).tag === /* Null */
229
+ 10) {
230
+ if (!isEmpty(tail(typesList))) {
231
+ if (isEmpty(tail(tail(typesList)))) {
232
+ matchResult = 0;
233
+ otherType = head(tail(typesList));
234
+ } else {
235
+ matchResult = 1;
236
+ }
237
+ } else {
238
+ matchResult = 1;
239
+ }
240
+ } else if (!isEmpty(tail(typesList))) {
241
+ if (head(tail(typesList)).tag === /* Null */
242
+ 10) {
243
+ if (isEmpty(tail(tail(typesList)))) {
244
+ matchResult = 0;
245
+ otherType = head(typesList);
246
+ } else {
247
+ matchResult = 1;
248
+ }
249
+ } else {
250
+ matchResult = 1;
251
+ }
252
+ } else {
253
+ matchResult = 1;
254
+ }
255
+ } else {
256
+ matchResult = 1;
257
+ }
258
+ switch (matchResult) {
259
+ case 0:
260
+ switch (otherType.tag) {
261
+ case /* File */
262
+ 0:
263
+ case /* Directory */
264
+ 1:
265
+ case /* String */
266
+ 3:
267
+ case /* Int */
268
+ 4:
269
+ case /* Long */
270
+ 5:
271
+ case /* Float */
272
+ 6:
273
+ case /* Double */
274
+ 7:
275
+ case /* Boolean */
276
+ 8:
277
+ return encodeCWLType(t);
278
+ case /* Array */
279
+ 11: {
280
+ const matchValue = otherType.fields[0].Items;
281
+ switch (matchValue.tag) {
282
+ case /* File */
283
+ 0:
284
+ case /* Directory */
285
+ 1:
286
+ case /* String */
287
+ 3:
288
+ case /* Int */
289
+ 4:
290
+ case /* Long */
291
+ 5:
292
+ case /* Float */
293
+ 6:
294
+ case /* Double */
295
+ 7:
296
+ case /* Boolean */
297
+ 8:
298
+ return encodeCWLType(t);
299
+ default:
300
+ return encodeCWLType(t);
301
+ }
302
+ }
303
+ default:
304
+ return encodeCWLType(t);
305
+ }
306
+ default:
307
+ return encodeCWLType(t);
308
+ }
309
+ }
310
+ case /* Array */
311
+ 11: {
312
+ const arraySchema_1 = t.fields[0];
313
+ const matchValue_1 = arraySchema_1.Items;
314
+ switch (matchValue_1.tag) {
315
+ case /* File */
316
+ 0:
317
+ case /* Directory */
318
+ 1:
319
+ case /* Dirent */
320
+ 2:
321
+ case /* String */
322
+ 3:
323
+ case /* Int */
324
+ 4:
325
+ case /* Long */
326
+ 5:
327
+ case /* Float */
328
+ 6:
329
+ case /* Double */
330
+ 7:
331
+ case /* Boolean */
332
+ 8:
333
+ return encodeCWLType(t);
334
+ default:
335
+ return yMap(singleton(["type", encodeInputArraySchema(arraySchema_1)]));
336
+ }
337
+ }
338
+ case /* Record */
339
+ 12:
340
+ return yMap(singleton(["type", encodeInputRecordSchema(t.fields[0])]));
341
+ case /* Enum */
342
+ 13:
343
+ return yMap(singleton(["type", encodeInputEnumSchema(t.fields[0])]));
344
+ default:
345
+ return encodeCWLType(t);
346
+ }
347
+ }, o.Type_);
88
348
  const acc_1 = empty();
89
- acc_2 = value_1 == null ? acc_1 : append(acc_1, singleton(["type", encodeCWLType(value(value_1))]));
90
- const value_3 = o.OutputBinding;
349
+ acc_2 = value$1 == null ? acc_1 : append(acc_1, singleton(["type", value(value$1)]));
350
+ const value_2 = o.OutputBinding;
91
351
  const acc_3 = acc_2;
92
- acc_4 = value_3 == null ? acc_3 : append(acc_3, singleton(["outputBinding", encodeOutputBinding(value(value_3))]));
93
- const value_6 = o.OutputSource;
352
+ acc_4 = value_2 == null ? acc_3 : append(acc_3, singleton(["outputBinding", encodeOutputBinding(value(value_2))]));
353
+ const value_5 = o.OutputSource;
94
354
  const acc_5 = acc_4;
95
- pairs = value_6 == null ? acc_5 : append(acc_5, singleton(["outputSource", string(value(value_6))]));
96
- let matchResult, t_1;
355
+ pairs = value_5 == null ? acc_5 : append(acc_5, singleton(["outputSource", string(value(value_5))]));
356
+ let matchResult_1, t_1;
97
357
  if (!isEmpty(pairs)) {
98
358
  if (head(pairs)[0] === "type") {
99
359
  if (isEmpty(tail(pairs))) {
100
- matchResult = 0;
360
+ matchResult_1 = 0;
101
361
  t_1 = head(pairs)[1];
102
362
  } else {
103
- matchResult = 1;
363
+ matchResult_1 = 1;
104
364
  }
105
365
  } else {
106
- matchResult = 1;
366
+ matchResult_1 = 1;
107
367
  }
108
368
  } else {
109
- matchResult = 1;
369
+ matchResult_1 = 1;
110
370
  }
111
- switch (matchResult) {
371
+ switch (matchResult_1) {
112
372
  case 0:
113
373
  return [o.Name, t_1];
114
374
  default:
@@ -123,31 +383,157 @@ function encodeCWLInput(i) {
123
383
  let pairs;
124
384
  let acc_4;
125
385
  let acc_2;
126
- const value_1 = i.Type_;
386
+ const value$1 = map$2((t) => {
387
+ switch (t.tag) {
388
+ case /* Union */
389
+ 14: {
390
+ const typesList = toList(t.fields[0]);
391
+ let matchResult, otherType;
392
+ if (!isEmpty(typesList)) {
393
+ if (head(typesList).tag === /* Null */
394
+ 10) {
395
+ if (!isEmpty(tail(typesList))) {
396
+ if (isEmpty(tail(tail(typesList)))) {
397
+ matchResult = 0;
398
+ otherType = head(tail(typesList));
399
+ } else {
400
+ matchResult = 1;
401
+ }
402
+ } else {
403
+ matchResult = 1;
404
+ }
405
+ } else if (!isEmpty(tail(typesList))) {
406
+ if (head(tail(typesList)).tag === /* Null */
407
+ 10) {
408
+ if (isEmpty(tail(tail(typesList)))) {
409
+ matchResult = 0;
410
+ otherType = head(typesList);
411
+ } else {
412
+ matchResult = 1;
413
+ }
414
+ } else {
415
+ matchResult = 1;
416
+ }
417
+ } else {
418
+ matchResult = 1;
419
+ }
420
+ } else {
421
+ matchResult = 1;
422
+ }
423
+ switch (matchResult) {
424
+ case 0:
425
+ switch (otherType.tag) {
426
+ case /* File */
427
+ 0:
428
+ case /* Directory */
429
+ 1:
430
+ case /* String */
431
+ 3:
432
+ case /* Int */
433
+ 4:
434
+ case /* Long */
435
+ 5:
436
+ case /* Float */
437
+ 6:
438
+ case /* Double */
439
+ 7:
440
+ case /* Boolean */
441
+ 8:
442
+ return encodeCWLType(t);
443
+ case /* Array */
444
+ 11: {
445
+ const matchValue = otherType.fields[0].Items;
446
+ switch (matchValue.tag) {
447
+ case /* File */
448
+ 0:
449
+ case /* Directory */
450
+ 1:
451
+ case /* String */
452
+ 3:
453
+ case /* Int */
454
+ 4:
455
+ case /* Long */
456
+ 5:
457
+ case /* Float */
458
+ 6:
459
+ case /* Double */
460
+ 7:
461
+ case /* Boolean */
462
+ 8:
463
+ return encodeCWLType(t);
464
+ default:
465
+ return encodeCWLType(t);
466
+ }
467
+ }
468
+ default:
469
+ return encodeCWLType(t);
470
+ }
471
+ default:
472
+ return encodeCWLType(t);
473
+ }
474
+ }
475
+ case /* Array */
476
+ 11: {
477
+ const arraySchema_1 = t.fields[0];
478
+ const matchValue_1 = arraySchema_1.Items;
479
+ switch (matchValue_1.tag) {
480
+ case /* File */
481
+ 0:
482
+ case /* Directory */
483
+ 1:
484
+ case /* Dirent */
485
+ 2:
486
+ case /* String */
487
+ 3:
488
+ case /* Int */
489
+ 4:
490
+ case /* Long */
491
+ 5:
492
+ case /* Float */
493
+ 6:
494
+ case /* Double */
495
+ 7:
496
+ case /* Boolean */
497
+ 8:
498
+ return encodeCWLType(t);
499
+ default:
500
+ return yMap(singleton(["type", encodeInputArraySchema(arraySchema_1)]));
501
+ }
502
+ }
503
+ case /* Record */
504
+ 12:
505
+ return yMap(singleton(["type", encodeInputRecordSchema(t.fields[0])]));
506
+ case /* Enum */
507
+ 13:
508
+ return yMap(singleton(["type", encodeInputEnumSchema(t.fields[0])]));
509
+ default:
510
+ return encodeCWLType(t);
511
+ }
512
+ }, i.Type_);
127
513
  const acc_1 = empty();
128
- acc_2 = value_1 == null ? acc_1 : append(acc_1, singleton(["type", encodeCWLType(value(value_1))]));
129
- const value_3 = i.InputBinding;
514
+ acc_2 = value$1 == null ? acc_1 : append(acc_1, singleton(["type", value(value$1)]));
515
+ const value_2 = i.InputBinding;
130
516
  const acc_3 = acc_2;
131
- acc_4 = value_3 == null ? acc_3 : append(acc_3, singleton(["inputBinding", encodeInputBinding(value(value_3))]));
132
- const value_5 = i.Optional;
517
+ acc_4 = value_2 == null ? acc_3 : append(acc_3, singleton(["inputBinding", encodeInputBinding(value(value_2))]));
518
+ const value_4 = i.Optional;
133
519
  const acc_5 = acc_4;
134
- pairs = value_5 == null ? acc_5 : append(acc_5, singleton(["optional", yBool(value(value_5))]));
135
- let matchResult, t_1;
520
+ pairs = value_4 == null ? acc_5 : append(acc_5, singleton(["optional", yBool(value(value_4))]));
521
+ let matchResult_1, t_1;
136
522
  if (!isEmpty(pairs)) {
137
523
  if (head(pairs)[0] === "type") {
138
524
  if (isEmpty(tail(pairs))) {
139
- matchResult = 0;
525
+ matchResult_1 = 0;
140
526
  t_1 = head(pairs)[1];
141
527
  } else {
142
- matchResult = 1;
528
+ matchResult_1 = 1;
143
529
  }
144
530
  } else {
145
- matchResult = 1;
531
+ matchResult_1 = 1;
146
532
  }
147
533
  } else {
148
- matchResult = 1;
534
+ matchResult_1 = 1;
149
535
  }
150
- switch (matchResult) {
536
+ switch (matchResult_1) {
151
537
  case 0:
152
538
  return [i.Name, t_1];
153
539
  default:
@@ -171,7 +557,7 @@ function encodeRequirement(r) {
171
557
  case /* SchemaDefRequirement */
172
558
  1: {
173
559
  const types = r.fields[0];
174
- return yMap(ofArray([["class", string("SchemaDefRequirement")], ["types", YAMLElement_Sequence(ofSeq(map$2(encodeSchemaDefRequirementType, types)))]]));
560
+ return yMap(ofArray([["class", string("SchemaDefRequirement")], ["types", YAMLElement_Sequence(ofSeq(map$1(encodeSchemaDefRequirementType, types)))]]));
175
561
  }
176
562
  case /* DockerRequirement */
177
563
  2: {
@@ -181,15 +567,15 @@ function encodeRequirement(r) {
181
567
  case /* SoftwareRequirement */
182
568
  3: {
183
569
  const pkgs = r.fields[0];
184
- return yMap(ofArray([["class", string("SoftwareRequirement")], ["packages", YAMLElement_Sequence(ofSeq(map$2((p) => {
570
+ return yMap(ofArray([["class", string("SoftwareRequirement")], ["packages", YAMLElement_Sequence(ofSeq(map$1((p) => {
185
571
  let value_13, acc_10, value_10, acc_8;
186
- return yMap((value_13 = p.Specs, acc_10 = (value_10 = p.Version, acc_8 = append(empty(), singleton(["package", string(p.Package)])), value_10 == null ? acc_8 : append(acc_8, singleton(["version", YAMLElement_Sequence(ofSeq(map$2(string, value(value_10))))]))), value_13 == null ? acc_10 : append(acc_10, singleton(["specs", YAMLElement_Sequence(ofSeq(map$2(string, value(value_13))))]))));
572
+ return yMap((value_13 = p.Specs, acc_10 = (value_10 = p.Version, acc_8 = append(empty(), singleton(["package", string(p.Package)])), value_10 == null ? acc_8 : append(acc_8, singleton(["version", YAMLElement_Sequence(ofSeq(map$1(string, value(value_10))))]))), value_13 == null ? acc_10 : append(acc_10, singleton(["specs", YAMLElement_Sequence(ofSeq(map$1(string, value(value_13))))]))));
187
573
  }, pkgs)))]]));
188
574
  }
189
575
  case /* InitialWorkDirRequirement */
190
576
  4: {
191
577
  const listing = r.fields[0];
192
- return yMap(ofArray([["class", string("InitialWorkDirRequirement")], ["listing", YAMLElement_Sequence(ofSeq(map$2((_arg) => {
578
+ return yMap(ofArray([["class", string("InitialWorkDirRequirement")], ["listing", YAMLElement_Sequence(ofSeq(map$1((_arg) => {
193
579
  let value_18, acc_15, value_16, acc_12;
194
580
  if (_arg.tag === /* Dirent */
195
581
  2) {
@@ -210,7 +596,7 @@ function encodeRequirement(r) {
210
596
  case /* EnvVarRequirement */
211
597
  5: {
212
598
  const envs = r.fields[0];
213
- return yMap(ofArray([["class", string("EnvVarRequirement")], ["envDef", YAMLElement_Sequence(ofSeq(map$2((e) => {
599
+ return yMap(ofArray([["class", string("EnvVarRequirement")], ["envDef", YAMLElement_Sequence(ofSeq(map$1((e) => {
214
600
  const v_8 = (e.EnvValue === "true" ? true : e.EnvValue === "false") ? '"' + e.EnvValue + '"' : e.EnvValue;
215
601
  return yMap(ofArray([["envName", string(e.EnvName)], ["envValue", string(v_8)]]));
216
602
  }, envs)))]]));
@@ -267,22 +653,32 @@ function encodeRequirement(r) {
267
653
  return yMap(singleton(["class", string("InlineJavascriptRequirement")]));
268
654
  }
269
655
  }
656
+ function encodeSourceArray(sources) {
657
+ if (sources.length === 1) {
658
+ return string(sources[0]);
659
+ } else {
660
+ return YAMLElement_Sequence(ofSeq(map$1((s) => YAMLElement_Object(singleton(YAMLElement_Value(new YAMLContent(s, void 0)))), sources)));
661
+ }
662
+ }
270
663
  function encodeStepInput(si) {
271
664
  let pairs;
272
- const value_8 = si.ValueFrom;
665
+ const value_10 = si.LinkMerge;
666
+ let acc_7;
667
+ const value_7 = si.ValueFrom;
273
668
  let acc_5;
274
- const value_5 = si.DefaultValue;
669
+ const value_4 = si.DefaultValue;
275
670
  let acc_3;
276
- const value_2 = si.Source;
671
+ const value_1 = si.Source;
277
672
  const acc_1 = empty();
278
- acc_3 = value_2 == null ? acc_1 : append(acc_1, singleton(["source", string(value(value_2))]));
279
- acc_5 = value_5 == null ? acc_3 : append(acc_3, singleton(["default", string(value(value_5))]));
280
- pairs = value_8 == null ? acc_5 : append(acc_5, singleton(["valueFrom", string(value(value_8))]));
673
+ acc_3 = value_1 == null ? acc_1 : append(acc_1, singleton(["source", encodeSourceArray(value(value_1))]));
674
+ acc_5 = value_4 == null ? acc_3 : append(acc_3, singleton(["default", string(value(value_4))]));
675
+ acc_7 = value_7 == null ? acc_5 : append(acc_5, singleton(["valueFrom", string(value(value_7))]));
676
+ pairs = value_10 == null ? acc_7 : append(acc_7, singleton(["linkMerge", string(value(value_10))]));
281
677
  let matchResult, s_1;
282
678
  if (!isEmpty(pairs)) {
283
679
  if (head(pairs)[0] === "source") {
284
680
  if (isEmpty(tail(pairs))) {
285
- if (si.DefaultValue == null && si.ValueFrom == null) {
681
+ if (si.DefaultValue == null && si.ValueFrom == null && si.LinkMerge == null) {
286
682
  matchResult = 0;
287
683
  s_1 = head(pairs)[1];
288
684
  } else {
@@ -305,10 +701,10 @@ function encodeStepInput(si) {
305
701
  }
306
702
  }
307
703
  function encodeStepInputs(inputs) {
308
- return yMap(toList(map$2(encodeStepInput, inputs)));
704
+ return yMap(toList(map$1(encodeStepInput, inputs)));
309
705
  }
310
706
  function encodeStepOutput(so) {
311
- return YAMLElement_Sequence(ofSeq(map$2(string, so.Id)));
707
+ return YAMLElement_Sequence(ofSeq(map$1(string, so.Id)));
312
708
  }
313
709
  function encodeWorkflowStep(ws) {
314
710
  let r, h;
@@ -328,7 +724,7 @@ function encodeWorkflowStep(ws) {
328
724
  }
329
725
  switch (matchResult) {
330
726
  case 0: {
331
- withReq = append(basePairs, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))]));
727
+ withReq = append(basePairs, singleton(["requirements", YAMLElement_Sequence(ofSeq(map$1(encodeRequirement, r_1)))]));
332
728
  break;
333
729
  }
334
730
  default:
@@ -349,7 +745,7 @@ function encodeWorkflowStep(ws) {
349
745
  }
350
746
  switch (matchResult_1) {
351
747
  case 0: {
352
- withHints = append(withReq, singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, h_1)))]));
748
+ withHints = append(withReq, singleton(["hints", YAMLElement_Sequence(ofSeq(map$1(encodeRequirement, h_1)))]));
353
749
  break;
354
750
  }
355
751
  default:
@@ -361,27 +757,28 @@ function writeYaml(element) {
361
757
  return write(element, (c) => new Config(2, c.Level));
362
758
  }
363
759
  function encodeToolDescription(td) {
760
+ let acc_2, acc, pairOpt_1, acc_1, pairOpt_3, acc_3;
364
761
  const section = (pairs) => {
365
762
  const s = writeYaml(yMap(pairs));
366
763
  return ofArray(trimEnd(replace(s, "\r\n", "\n"), "\n").split("\n"));
367
764
  };
368
- const baseLines = section(ofArray([["cwlVersion", string(td.CWLVersion)], ["class", string("CommandLineTool")]]));
369
- const hintsLines = map$1((h) => section(singleton(["hints", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, h)))])), td.Hints);
370
- const reqLines = map$1((r_1) => section(singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r_1)))])), td.Requirements);
371
- const baseCommandLines = map$1((bc) => section(singleton(["baseCommand", YAMLElement_Sequence(ofSeq(map$2(string, bc)))])), td.BaseCommand);
372
- const inputsLines = map$1((i) => section(singleton(["inputs", yMap(toList(map$2(encodeCWLInput, i)))])), td.Inputs);
373
- const outputsLines = section(singleton(["outputs", yMap(toList(map$2(encodeCWLOutput, td.Outputs)))]));
374
- const metadataLines = map$1((md) => {
375
- const s_2 = writeYaml(yMap(toList(map$2((kvp) => {
765
+ const baseLines = section((acc_2 = (acc = ofArray([["cwlVersion", string(td.CWLVersion)], ["class", string("CommandLineTool")]]), pairOpt_1 = map$2(encodeLabel, td.Label), acc_1 = acc, pairOpt_1 == null ? acc_1 : append(acc_1, singleton(value(pairOpt_1)))), pairOpt_3 = map$2(encodeDoc, td.Doc), acc_3 = acc_2, pairOpt_3 == null ? acc_3 : append(acc_3, singleton(value(pairOpt_3)))));
766
+ const hintsLines = map$2((h) => section(singleton(["hints", YAMLElement_Sequence(ofSeq(map$1(encodeRequirement, h)))])), td.Hints);
767
+ const reqLines = map$2((r_1) => section(singleton(["requirements", YAMLElement_Sequence(ofSeq(map$1(encodeRequirement, r_1)))])), td.Requirements);
768
+ const baseCommandLines = map$2((bc) => section(singleton(["baseCommand", YAMLElement_Sequence(ofSeq(map$1(string, bc)))])), td.BaseCommand);
769
+ const inputsLines = map$2((i) => section(singleton(["inputs", yMap(toList(map$1(encodeCWLInput, i)))])), td.Inputs);
770
+ const outputsLines = section(singleton(["outputs", yMap(toList(map$1(encodeCWLOutput, td.Outputs)))]));
771
+ const metadataLines = map$2((md) => {
772
+ const s_2 = writeYaml(yMap(toList(map$1((kvp) => {
376
773
  let matchValue, s_1;
377
774
  return [kvp[0], (matchValue = kvp[1], typeof matchValue === "string" ? (s_1 = matchValue, string(s_1)) : string(toString(kvp[1])))];
378
775
  }, md.GetProperties(false)))));
379
776
  return ofArray(trimEnd(replace(s_2, "\r\n", "\n"), "\n").split("\n"));
380
777
  }, td.Metadata);
381
- const merge = (acc_mut, remaining_mut) => {
778
+ const merge = (acc_4_mut, remaining_mut) => {
382
779
  merge:
383
780
  while (true) {
384
- const acc = acc_mut, remaining = remaining_mut;
781
+ const acc_4 = acc_4_mut, remaining = remaining_mut;
385
782
  let matchResult, a_1, b_1, rest_1, l_6, rest_2;
386
783
  if (isEmpty(remaining)) {
387
784
  matchResult = 2;
@@ -403,17 +800,17 @@ function encodeToolDescription(td) {
403
800
  }
404
801
  switch (matchResult) {
405
802
  case 0: {
406
- acc_mut = cons(a_1 + " " + b_1.trim(), acc);
803
+ acc_4_mut = cons(a_1 + " " + b_1.trim(), acc_4);
407
804
  remaining_mut = rest_1;
408
805
  continue merge;
409
806
  }
410
807
  case 1: {
411
- acc_mut = cons(l_6, acc);
808
+ acc_4_mut = cons(l_6, acc_4);
412
809
  remaining_mut = rest_2;
413
810
  continue merge;
414
811
  }
415
812
  default:
416
- return reverse(acc);
813
+ return reverse(acc_4);
417
814
  }
418
815
  break;
419
816
  }
@@ -453,26 +850,27 @@ function encodeToolDescription(td) {
453
850
  }))))))), ["\r\n"], void 0, 0))));
454
851
  }
455
852
  function encodeWorkflowDescription(wd) {
853
+ let acc_2, acc, pairOpt_1, acc_1, pairOpt_3, acc_3;
456
854
  const section = (pairs) => {
457
855
  const s = writeYaml(yMap(pairs));
458
856
  return ofArray(trimEnd(replace(s, "\r\n", "\n"), "\n").split("\n"));
459
857
  };
460
- const baseLines = section(ofArray([["cwlVersion", string(wd.CWLVersion)], ["class", string("Workflow")]]));
461
- const reqLines = map$1((r) => section(singleton(["requirements", YAMLElement_Sequence(ofSeq(map$2(encodeRequirement, r)))])), wd.Requirements);
462
- const inputsLines = section(singleton(["inputs", yMap(toList(map$2(encodeCWLInput, wd.Inputs)))]));
463
- const stepsLines = section(singleton(["steps", yMap(toList(map$2(encodeWorkflowStep, wd.Steps)))]));
464
- const outputsLines = section(singleton(["outputs", yMap(toList(map$2(encodeCWLOutput, wd.Outputs)))]));
465
- const metadataLines = map$1((md) => {
466
- const s_2 = writeYaml(yMap(toList(map$2((kvp) => {
858
+ const baseLines = section((acc_2 = (acc = ofArray([["cwlVersion", string(wd.CWLVersion)], ["class", string("Workflow")]]), pairOpt_1 = map$2(encodeLabel, wd.Label), acc_1 = acc, pairOpt_1 == null ? acc_1 : append(acc_1, singleton(value(pairOpt_1)))), pairOpt_3 = map$2(encodeDoc, wd.Doc), acc_3 = acc_2, pairOpt_3 == null ? acc_3 : append(acc_3, singleton(value(pairOpt_3)))));
859
+ const reqLines = map$2((r) => section(singleton(["requirements", YAMLElement_Sequence(ofSeq(map$1(encodeRequirement, r)))])), wd.Requirements);
860
+ const inputsLines = section(singleton(["inputs", yMap(toList(map$1(encodeCWLInput, wd.Inputs)))]));
861
+ const stepsLines = section(singleton(["steps", yMap(toList(map$1(encodeWorkflowStep, wd.Steps)))]));
862
+ const outputsLines = section(singleton(["outputs", yMap(toList(map$1(encodeCWLOutput, wd.Outputs)))]));
863
+ const metadataLines = map$2((md) => {
864
+ const s_2 = writeYaml(yMap(toList(map$1((kvp) => {
467
865
  let matchValue, s_1;
468
866
  return [kvp[0], (matchValue = kvp[1], typeof matchValue === "string" ? (s_1 = matchValue, string(s_1)) : string(toString(kvp[1])))];
469
867
  }, md.GetProperties(false)))));
470
868
  return ofArray(trimEnd(replace(s_2, "\r\n", "\n"), "\n").split("\n"));
471
869
  }, wd.Metadata);
472
- const merge = (acc_mut, remaining_mut) => {
870
+ const merge = (acc_4_mut, remaining_mut) => {
473
871
  merge:
474
872
  while (true) {
475
- const acc = acc_mut, remaining = remaining_mut;
873
+ const acc_4 = acc_4_mut, remaining = remaining_mut;
476
874
  let matchResult, a_1, b_1, rest_1, l_3, rest_2;
477
875
  if (isEmpty(remaining)) {
478
876
  matchResult = 2;
@@ -494,17 +892,17 @@ function encodeWorkflowDescription(wd) {
494
892
  }
495
893
  switch (matchResult) {
496
894
  case 0: {
497
- acc_mut = cons(a_1 + " " + b_1.trim(), acc);
895
+ acc_4_mut = cons(a_1 + " " + b_1.trim(), acc_4);
498
896
  remaining_mut = rest_1;
499
897
  continue merge;
500
898
  }
501
899
  case 1: {
502
- acc_mut = cons(l_3, acc);
900
+ acc_4_mut = cons(l_3, acc_4);
503
901
  remaining_mut = rest_2;
504
902
  continue merge;
505
903
  }
506
904
  default:
507
- return reverse(acc);
905
+ return reverse(acc_4);
508
906
  }
509
907
  break;
510
908
  }
@@ -543,4 +941,4 @@ function encodeProcessingUnit(pu) {
543
941
  }
544
942
  }
545
943
 
546
- export { encodeCWLInput, encodeCWLOutput, encodeCWLType, encodeInputBinding, encodeOutputBinding, encodeProcessingUnit, encodeRequirement, encodeSchemaDefRequirementType, encodeStepInput, encodeStepInputs, encodeStepOutput, encodeToolDescription, encodeWorkflowDescription, encodeWorkflowStep, writeYaml, yBool, yMap };
944
+ export { encodeCWLInput, encodeCWLOutput, encodeCWLType, encodeDoc, encodeInputArraySchema, encodeInputBinding, encodeInputEnumSchema, encodeInputRecordField, encodeInputRecordSchema, encodeLabel, encodeOutputBinding, encodeProcessingUnit, encodeRequirement, encodeSchemaDefRequirementType, encodeSourceArray, encodeStepInput, encodeStepInputs, encodeStepOutput, encodeToolDescription, encodeWorkflowDescription, encodeWorkflowStep, normalizeDocString, writeYaml, yBool, yMap };