support oneof for array type
This commit is contained in:
1 parent
826b69a587
commit
de9c9a48c9
6 files changed
+175
-117
No files matched your search
+7
-2
@@ -307,7 +307,7 @@ export const checkNodeArg = (data: NodeData, conf: NodeDef, i: number, verbose?:
|
||||
}
|
||||
if (arg.oneof !== undefined) {
|
||||
const idx = conf.input?.findIndex((v) => v.startsWith(arg.oneof!)) ?? -1;
|
||||
if (!checkOneof(data.args?.[arg.name], data.input?.[idx])) {
|
||||
if (!checkOneof(arg, data.args?.[arg.name], data.input?.[idx])) {
|
||||
if (verbose) {
|
||||
error(
|
||||
data,
|
||||
@@ -321,7 +321,12 @@ export const checkNodeArg = (data: NodeData, conf: NodeDef, i: number, verbose?:
|
||||
return !hasError;
|
||||
};
|
||||
|
||||
export const checkOneof = (argValue: unknown, inputValue: unknown) => {
|
||||
export const checkOneof = (arg: NodeArg, argValue: unknown, inputValue: unknown) => {
|
||||
if (isNodeArgArray(arg)) {
|
||||
if (argValue instanceof Array && argValue.length === 0) {
|
||||
argValue = undefined;
|
||||
}
|
||||
}
|
||||
argValue = argValue === undefined ? "" : argValue;
|
||||
inputValue = inputValue ?? "";
|
||||
return (argValue !== "" && inputValue === "") || (argValue === "" && inputValue !== "");
|
||||
|
||||
Reference in new issue
Block a user