in salesforce/lib/query-builder.js [164:191]
createFieldExpression(field, value) {
let op = "$eq";
// Assume the `$in` operator if value is an array and none was supplied.
if (_.isArray(value)) {
op = "$in";
} else if (_.isObject(value)) {
for (let k in value) {
if (k[0] === "$") {
op = k;
value = value[k];
break;
}
}
}
let sfop = opMap[op];
if (!sfop || _.isUndefined(value)) { return null; }
let valueExpr = this.createValueExpression(value);
if (_.isUndefined(valueExpr)) { return null; }
switch (sfop) {
case "NOT LIKE":
return "(" + ["NOT", field, "LIKE", valueExpr].join(" ") + ")";
case "EXISTS":
return [field, value ? "!=" : "=", "null"].join(" ");
default:
return [field, sfop, valueExpr].join(" ");
}
}