From 08e3933c4a6b4a4cd511dde945b343a598e5a75a Mon Sep 17 00:00:00 2001 From: Shweelan Samson Date: Tue, 2 Apr 2019 20:48:13 +0300 Subject: [PATCH] Support function context in expression's evaluate --- lib/common/expression.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/common/expression.ts b/lib/common/expression.ts index d2611e4..43a934f 100644 --- a/lib/common/expression.ts +++ b/lib/common/expression.ts @@ -88,7 +88,10 @@ export function evaluate(exp, obj?, now?: number, cb?: Function): Expression { } else if (e[0] === "PARAM") { if (e[1] == null) return null; if (obj && !isArray(e[1])) { - let v = obj[e[1]]; + let v; + if (typeof obj === "function") v = obj(e[1]); + else v = obj[e[1]]; + if (v == null) return null; if (typeof v === "object") v = v.value ? v.value[0] : null; return v;