@galaxy-tool-util/schema 1.12.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/test-format/tests.schema.generated.d.ts +47 -0
- package/dist/test-format/tests.schema.generated.d.ts.map +1 -1
- package/dist/test-format/tests.schema.generated.js +62 -0
- package/dist/test-format/tests.schema.generated.js.map +1 -1
- package/dist/workflow/cytoscape.d.ts.map +1 -1
- package/dist/workflow/cytoscape.js +5 -3
- package/dist/workflow/cytoscape.js.map +1 -1
- package/dist/workflow/draft-checks.d.ts +2 -1
- package/dist/workflow/draft-checks.d.ts.map +1 -1
- package/dist/workflow/draft-checks.js +134 -64
- package/dist/workflow/draft-checks.js.map +1 -1
- package/dist/workflow/index.d.ts +4 -2
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +4 -2
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/layout-properties.d.ts +10 -0
- package/dist/workflow/layout-properties.d.ts.map +1 -0
- package/dist/workflow/layout-properties.js +112 -0
- package/dist/workflow/layout-properties.js.map +1 -0
- package/dist/workflow/layout.d.ts +84 -0
- package/dist/workflow/layout.d.ts.map +1 -0
- package/dist/workflow/layout.js +356 -0
- package/dist/workflow/layout.js.map +1 -0
- package/dist/workflow/lint-rules.d.ts +6 -0
- package/dist/workflow/lint-rules.d.ts.map +1 -1
- package/dist/workflow/lint-rules.js +6 -0
- package/dist/workflow/lint-rules.js.map +1 -1
- package/dist/workflow/lint.d.ts +1 -1
- package/dist/workflow/lint.d.ts.map +1 -1
- package/dist/workflow/lint.js +83 -15
- package/dist/workflow/lint.js.map +1 -1
- package/dist/workflow/lint_profiles.yml +1 -0
- package/dist/workflow/mermaid.d.ts +1 -1
- package/dist/workflow/mermaid.d.ts.map +1 -1
- package/dist/workflow/mermaid.js +5 -3
- package/dist/workflow/mermaid.js.map +1 -1
- package/dist/workflow/normalized/expanded.d.ts +12 -0
- package/dist/workflow/normalized/expanded.d.ts.map +1 -1
- package/dist/workflow/normalized/expanded.js +50 -3
- package/dist/workflow/normalized/expanded.js.map +1 -1
- package/dist/workflow/normalized/format2.d.ts +22 -1
- package/dist/workflow/normalized/format2.d.ts.map +1 -1
- package/dist/workflow/normalized/format2.js +26 -5
- package/dist/workflow/normalized/format2.js.map +1 -1
- package/dist/workflow/normalized/index.d.ts +3 -3
- package/dist/workflow/normalized/index.d.ts.map +1 -1
- package/dist/workflow/normalized/index.js +3 -3
- package/dist/workflow/normalized/index.js.map +1 -1
- package/dist/workflow/normalized/labels.d.ts +7 -0
- package/dist/workflow/normalized/labels.d.ts.map +1 -1
- package/dist/workflow/normalized/labels.js +11 -0
- package/dist/workflow/normalized/labels.js.map +1 -1
- package/dist/workflow/normalized/toFormat2.d.ts +1 -0
- package/dist/workflow/normalized/toFormat2.d.ts.map +1 -1
- package/dist/workflow/normalized/toFormat2.js +38 -23
- package/dist/workflow/normalized/toFormat2.js.map +1 -1
- package/dist/workflow/normalized/toNative.d.ts +16 -1
- package/dist/workflow/normalized/toNative.d.ts.map +1 -1
- package/dist/workflow/normalized/toNative.js +39 -32
- package/dist/workflow/normalized/toNative.js.map +1 -1
- package/dist/workflow/semantic-validators.d.ts +9 -0
- package/dist/workflow/semantic-validators.d.ts.map +1 -1
- package/dist/workflow/semantic-validators.js +27 -14
- package/dist/workflow/semantic-validators.js.map +1 -1
- package/package.json +1 -1
|
@@ -27,8 +27,9 @@ function _columnDefaultMatchesType(columnType, value) {
|
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
29
|
function validateColumnDefinition(column) {
|
|
30
|
-
if (!column || typeof column !== "object")
|
|
31
|
-
|
|
30
|
+
if (!column || typeof column !== "object" || Array.isArray(column)) {
|
|
31
|
+
throw new Error("Expected a mapping for semantic validation");
|
|
32
|
+
}
|
|
32
33
|
const col = column;
|
|
33
34
|
const name = col.name;
|
|
34
35
|
if (typeof name === "string" && !COLUMN_NAME_RE.test(name)) {
|
|
@@ -41,8 +42,11 @@ function validateColumnDefinition(column) {
|
|
|
41
42
|
}
|
|
42
43
|
for (const field of ["restrictions", "suggestions"]) {
|
|
43
44
|
const values = col[field];
|
|
44
|
-
if (
|
|
45
|
+
if (values == null || (Array.isArray(values) && values.length === 0))
|
|
45
46
|
continue;
|
|
47
|
+
if (!Array.isArray(values)) {
|
|
48
|
+
throw new Error(`Sample sheet column '${String(name)}' ${field} must be a list`);
|
|
49
|
+
}
|
|
46
50
|
for (const v of values) {
|
|
47
51
|
if (!_columnDefaultMatchesType(columnType, v)) {
|
|
48
52
|
throw new Error(`Sample sheet column '${String(name)}' ${field} entry ${JSON.stringify(v)} does not match column type ${JSON.stringify(columnType)}`);
|
|
@@ -57,14 +61,20 @@ function _typeList(typeValue) {
|
|
|
57
61
|
return [];
|
|
58
62
|
return [String(typeValue)];
|
|
59
63
|
}
|
|
60
|
-
function validateInputParameter(inputParam) {
|
|
64
|
+
export function validateInputParameter(inputParam) {
|
|
61
65
|
if (!inputParam || typeof inputParam !== "object")
|
|
62
66
|
return;
|
|
63
67
|
const data = inputParam;
|
|
64
68
|
const typeValues = _typeList(data.type);
|
|
65
69
|
const isTextOnly = typeValues.length > 0 && typeValues.every((t) => TEXT_TYPE_VALUES.has(t));
|
|
66
70
|
const isCollectionOnly = typeValues.length > 0 && typeValues.every((t) => COLLECTION_TYPE_VALUES.has(t));
|
|
71
|
+
if (data.collection_type != null && typeof data.collection_type !== "string") {
|
|
72
|
+
throw new Error("collection_type must be a string");
|
|
73
|
+
}
|
|
67
74
|
const columnDefinitions = data.column_definitions;
|
|
75
|
+
if (columnDefinitions != null && !Array.isArray(columnDefinitions)) {
|
|
76
|
+
throw new Error("column_definitions must be a list");
|
|
77
|
+
}
|
|
68
78
|
if (Array.isArray(columnDefinitions) && columnDefinitions.length > 0) {
|
|
69
79
|
if (!isCollectionOnly && typeValues.length > 0) {
|
|
70
80
|
throw new Error(`column_definitions is only valid on collection inputs, got type=${JSON.stringify(data.type)}`);
|
|
@@ -77,6 +87,17 @@ function validateInputParameter(inputParam) {
|
|
|
77
87
|
validateColumnDefinition(column);
|
|
78
88
|
}
|
|
79
89
|
}
|
|
90
|
+
// Record-input fields validation (mirrors gxformat2 #216).
|
|
91
|
+
const fields = data.fields;
|
|
92
|
+
if (Array.isArray(fields) && fields.length > 0) {
|
|
93
|
+
if (!isCollectionOnly && typeValues.length > 0) {
|
|
94
|
+
throw new Error(`fields is only valid on collection inputs, got type=${JSON.stringify(data.type)}`);
|
|
95
|
+
}
|
|
96
|
+
const collectionType = typeof data.collection_type === "string" ? data.collection_type : "";
|
|
97
|
+
if (!collectionType.split(":").some((part) => part === "record")) {
|
|
98
|
+
throw new Error(`fields is only valid on record-typed collection inputs, got collection_type=${JSON.stringify(data.collection_type)}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
80
101
|
for (const field of ["restrictions", "suggestions", "restrictOnConnections"]) {
|
|
81
102
|
const value = data[field];
|
|
82
103
|
if (value == null)
|
|
@@ -89,14 +110,6 @@ function validateInputParameter(inputParam) {
|
|
|
89
110
|
throw new Error(`${field} is only valid on text/string inputs, got type=${JSON.stringify(data.type)}`);
|
|
90
111
|
}
|
|
91
112
|
}
|
|
92
|
-
// Record-input fields validation (mirrors gxformat2 #216).
|
|
93
|
-
const fields = data.fields;
|
|
94
|
-
if (Array.isArray(fields) && fields.length > 0) {
|
|
95
|
-
const collectionType = typeof data.collection_type === "string" ? data.collection_type : "";
|
|
96
|
-
if (!collectionType.split(":").some((part) => part === "record")) {
|
|
97
|
-
throw new Error(`fields is only valid on record-typed collection inputs, got collection_type=${JSON.stringify(data.collection_type)}`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
113
|
}
|
|
101
114
|
/**
|
|
102
115
|
* True when a step's `state`/`tool_state` field actually carries content.
|
|
@@ -124,7 +137,7 @@ function _stateIsSpecified(value) {
|
|
|
124
137
|
* says "Only one or the other should be specified") — they are two encodings of
|
|
125
138
|
* the same tool state, so carrying both is ambiguous.
|
|
126
139
|
*/
|
|
127
|
-
function validateStep(step) {
|
|
140
|
+
export function validateStep(step) {
|
|
128
141
|
if (_stateIsSpecified(step.state) && _stateIsSpecified(step.tool_state)) {
|
|
129
142
|
throw new Error("Workflow step specifies both 'state' and 'tool_state'; only one may be set");
|
|
130
143
|
}
|
|
@@ -161,7 +174,7 @@ export function validateWorkflowSemantics(workflow) {
|
|
|
161
174
|
const run = step.run;
|
|
162
175
|
if (run &&
|
|
163
176
|
typeof run === "object" &&
|
|
164
|
-
run.class
|
|
177
|
+
["GalaxyWorkflow", "GalaxyWorkflowDraft"].includes(String(run.class))) {
|
|
165
178
|
validateWorkflowSemantics(run);
|
|
166
179
|
}
|
|
167
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-validators.js","sourceRoot":"","sources":["../../src/workflow/semantic-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,cAAc,GAAG,cAAc,CAAC;AAEtC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEnG,SAAS,yBAAyB,CAAC,UAAmB,EAAE,KAAc;IACpE,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,oBAAoB;QAChE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IACnC,IAAI,UAAU,KAAK,KAAK;QACtB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;IAC5F,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;IAC3F,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAe;IAC/C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ
|
|
1
|
+
{"version":3,"file":"semantic-validators.js","sourceRoot":"","sources":["../../src/workflow/semantic-validators.ts"],"names":[],"mappings":"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"}
|