Commit e123f25f authored by Kamron Aroonrua's avatar Kamron Aroonrua 💬

transform func extension

parent a934d70a
var crypto = require('crypto');
module.exports.sha256 = function (text) {
return crypto.createHash('sha256').update(text).digest('hex');
}
\ No newline at end of file
...@@ -20,11 +20,21 @@ function perform_function(context,request,response){ ...@@ -20,11 +20,21 @@ function perform_function(context,request,response){
'meta' : in_meta 'meta' : in_meta
}, },
'_env':{}, '_env':{},
'_fn':{},
'type' : in_type, 'type' : in_type,
'data' : in_data, 'data' : in_data,
'meta' : in_meta 'meta' : in_meta
} }
if(param.use_function){
var fns = (Array.isArray(param.use_function))?param.use_function:Array.of(param.use_function);
fns.forEach((fname)=>{
if(typeof fname == 'string' && fname.length>0){
mapenv._fn[fname] = _loadfunc(fname);
}
});
}
if(param.use_register){ if(param.use_register){
memstore.getItem('register',function(err,value){ memstore.getItem('register',function(err,value){
if(err){return response.error("memstore error");} if(err){return response.error("memstore error");}
...@@ -84,4 +94,15 @@ function _compile(mape,param) ...@@ -84,4 +94,15 @@ function _compile(mape,param)
return mapenv; return mapenv;
} }
function _loadfunc(name)
{
var f = null;
try {
f = require('./fn/' + name);
} catch (error) {
}
return f;
}
module.exports = perform_function; module.exports = perform_function;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment