refac/fix: valves array type handling

Co-Authored-By: Jacob Leksan <63938553+jmleksan@users.noreply.github.com>
This commit is contained in:
Timothy Jaeryang Baek
2025-09-25 13:13:03 -05:00
parent a7061383e8
commit 53cd660de7
2 changed files with 28 additions and 7 deletions

View File

@@ -52,7 +52,14 @@
// Convert string to array
for (const property in valvesSpec.properties) {
if (valvesSpec.properties[property]?.type === 'array') {
valves[property] = (valves[property] ?? '').split(',').map((v) => v.trim());
if (typeof valves[property] === 'string') {
valves[property] = (valves[property] ?? '')
.split(',')
.map((v) => v.trim())
.filter((v) => v.length > 0);
} else if (valves[property] == null) {
valves[property] = null;
}
}
}
@@ -120,10 +127,15 @@
}
if (valvesSpec) {
// Convert array to string
for (const property in valvesSpec.properties) {
if (valvesSpec.properties[property]?.type === 'array') {
valves[property] = (valves[property] ?? []).join(',');
if (valves[property] != null) {
valves[property] = (Array.isArray(valves[property]) ? valves[property] : []).join(
','
);
} else {
valves[property] = null;
}
}
}
}