Mirth 3.3 验证函数总是创建类型 "Object"

Mirth 3.3 validate function always creates type "Object"

升级到 Mirth 3.3 时,我发现

validate(isEmptyString, fallback); //returns isEmptyString if not empty, or fallback if it is empty

已更改。在 3.3 之前,validate() 总是返回一个字符串。现在有了 3.3,它 returns 一个对象。这在以下代码中是有问题的:

var procedure = validate("", ""); // used to return an empty string. Now returns an object.
var description = "This is the description";
var output = procedure || description;

因为 procedure 是一个对象,它永远不会 returns 虚假,因此 output = procedure 总是。

我也尝试过使用上述逻辑中的 toString()procedure 转换为字符串,但无法转换。

在上面的代码中,执行此类检查的新标准是什么?在 3.3 之前,上面的 || 会非常有效。有没有办法强制类型为字符串(正如我提到的,简单地将 .toString() 添加到 .validate() 函数的末尾不会强制变量为字符串类型)?

您应该能够向相关对象添加一个空字符串,rhino 会将其转换为允许您的第 3 行工作的字符串。

var procedure = validate("", "")+"";
var description = "This is the description";
var output = procedure || description