Add $env function to JSONata expressions

This commit is contained in:
Nick O'Leary 2018-05-21 15:28:15 +01:00
parent e13fed9fc6
commit 9ad9c0ec6a
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
3 changed files with 10 additions and 2 deletions

View File

@ -117,6 +117,7 @@
'$contains':{ args:[ 'str', 'pattern' ]},
'$count':{ args:[ 'array' ]},
'$each':{ args:[ 'object', 'function' ]},
'$env': { args:[ 'arg' ]},
'$exists':{ args:[ 'arg' ]},
'$filter':{ args:[ 'array', 'function' ]},
'$floor':{ args:[ 'number' ]},

View File

@ -190,11 +190,11 @@
},
"$flowContext": {
"args": "string",
"desc": "Retrieves a flow context property."
"desc": "Retrieves a flow context property.\n\nThis is a Node-RED defined function."
},
"$globalContext": {
"args": "string",
"desc": "Retrieves a global context property."
"desc": "Retrieves a global context property.\n\nThis is a Node-RED defined function."
},
"$pad": {
"args": "string, width [, char]",
@ -215,5 +215,9 @@
"$toMillis": {
"args": "timestamp",
"desc": "Convert a `timestamp` string in the ISO 8601 format to the number of milliseconds since the Unix Epoch (1 January, 1970 UTC) as a number. An error is thrown if the string is not in the correct format."
},
"$env": {
"args": "arg",
"desc": "Returns the value of an environment variable.\n\nThis is a Node-RED defined function."
}
}

View File

@ -359,6 +359,9 @@ function prepareJSONataExpression(value,node) {
expr.assign('globalContext',function(val) {
return node.context().global.get(val);
});
expr.assign('env', function(val) {
return process.env[val];
})
expr.registerFunction('clone', cloneMessage, '<(oa)-:o>');
expr._legacyMode = /(^|[^a-zA-Z0-9_'"])msg([^a-zA-Z0-9_'"]|$)/.test(value);
return expr;