Fix exception when passing null as PARAM arg
This commit is contained in:
1 parent
ec44ccfc07
commit
19c5bb03ea
3 files changed
+4
-2
No files matched your search
@@ -84,7 +84,7 @@ export async function connectionRequest(
|
|||||||
|
|
||||||
const evalCallback = (exp): Expression => {
|
const evalCallback = (exp): Expression => {
|
||||||
if (!Array.isArray(exp)) return exp;
|
if (!Array.isArray(exp)) return exp;
|
||||||
if (exp[0] === "PARAM") {
|
if (exp[0] === "PARAM" && typeof exp[1] === "string") {
|
||||||
let name = exp[1];
|
let name = exp[1];
|
||||||
if (name === "id") name = "DeviceID.ID";
|
if (name === "id") name = "DeviceID.ID";
|
||||||
else if (name === "serialNumber") name = "DeviceID.SerialNumber";
|
else if (name === "serialNumber") name = "DeviceID.SerialNumber";
|
||||||
|
|||||||
@@ -131,6 +131,8 @@ export function evaluateCallback(exp: Expression): Expression {
|
|||||||
if (exp[2] == null) return null;
|
if (exp[2] == null) return null;
|
||||||
if (!isArray(exp[2])) return toString(exp[2]).toLowerCase();
|
if (!isArray(exp[2])) return toString(exp[2]).toLowerCase();
|
||||||
}
|
}
|
||||||
|
} else if (exp[0] === "PARAM") {
|
||||||
|
if (exp[1] == null) return null;
|
||||||
} else if (exp[0] === "AND") {
|
} else if (exp[0] === "AND") {
|
||||||
for (let i = 1; i < exp.length; ++i)
|
for (let i = 1; i < exp.length; ++i)
|
||||||
if (!Array.isArray(exp[i]) && exp[i] != null && !exp[i]) return false;
|
if (!Array.isArray(exp[i]) && exp[i] != null && !exp[i]) return false;
|
||||||
|
|||||||
+1
-1
@@ -113,7 +113,7 @@ export function configContextCallback(
|
|||||||
exp: Expression
|
exp: Expression
|
||||||
): Expression {
|
): Expression {
|
||||||
if (!Array.isArray(exp)) return exp;
|
if (!Array.isArray(exp)) return exp;
|
||||||
if (exp[0] === "PARAM") {
|
if (exp[0] === "PARAM" && typeof exp[1] === "string") {
|
||||||
let name = exp[1];
|
let name = exp[1];
|
||||||
if (name === "id") name = "DeviceID.ID";
|
if (name === "id") name = "DeviceID.ID";
|
||||||
else if (name === "serialNumber") name = "DeviceID.SerialNumber";
|
else if (name === "serialNumber") name = "DeviceID.SerialNumber";
|
||||||
|
|||||||
Reference in new issue
Block a user