From fdda29f0485bb6c9b8fc889410044c9254e3bd1c Mon Sep 17 00:00:00 2001 From: dxdc Date: Thu, 28 May 2020 01:20:10 -0500 Subject: [PATCH] Support for moment-timezone --- packages/node_modules/@node-red/util/lib/util.js | 2 +- test/unit/@node-red/util/lib/util_spec.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/util/lib/util.js b/packages/node_modules/@node-red/util/lib/util.js index 37848ed33..a72b892f3 100644 --- a/packages/node_modules/@node-red/util/lib/util.js +++ b/packages/node_modules/@node-red/util/lib/util.js @@ -22,7 +22,7 @@ const clone = require("clone"); const jsonata = require("jsonata"); -const moment = require("moment"); +const moment = require("moment-timezone"); const safeJSONStringify = require("json-stringify-safe"); const util = require("util"); diff --git a/test/unit/@node-red/util/lib/util_spec.js b/test/unit/@node-red/util/lib/util_spec.js index 4855a3cd2..f8c77d68a 100644 --- a/test/unit/@node-red/util/lib/util_spec.js +++ b/test/unit/@node-red/util/lib/util_spec.js @@ -515,6 +515,11 @@ describe("@node-red/util/util", function() { var result = util.evaluateJSONataExpression(expr,{}); result.should.eql('2020-07-03'); }); + it('accesses moment-timezone from an expression', function() { + var expr = util.prepareJSONataExpression('$moment("2013-11-18 11:55Z").tz("Asia/Taipei").format()',{}); + var result = util.evaluateJSONataExpression(expr,{}); + result.should.eql('2013-11-18T19:55:00+08:00'); + }); it('handles non-existant flow context variable', function() { var expr = util.prepareJSONataExpression('$flowContext("nonExistant")',{context:function() { return {flow:{get: function(key) { return {'foo':'bar'}[key]}}}}}); var result = util.evaluateJSONataExpression(expr,{payload:"hello"});