diff --git a/red/nodes.js b/red/nodes.js index 0ac20bbdf..8638111c7 100644 --- a/red/nodes.js +++ b/red/nodes.js @@ -22,30 +22,6 @@ var events = require("./events"); var storage = null; var settings = null; -function getCallerFilename(type) { - //if (type == "summary") { - // var err = new Error(); - // console.log(err.stack); - // return null; - //} - // Save original Error.prepareStackTrace - var origPrepareStackTrace = Error.prepareStackTrace; - // Override with function that just returns `stack` - Error.prepareStackTrace = function (_, stack) { - return stack; - } - // Create a new `Error`, which automatically gets `stack` - var err = new Error(); - // Evaluate `err.stack`, which calls our new `Error.prepareStackTrace` - var stack = err.stack; - // Restore original `Error.prepareStackTrace` - Error.prepareStackTrace = origPrepareStackTrace; - // Remove superfluous function call on stack - stack.shift(); - stack.shift(); - return stack[0].getFileName(); -} - var registry = (function() { var nodes = {}; var logHandlers = []; @@ -90,35 +66,28 @@ registry.addLogHandler(ConsoleLogHandler); var node_type_registry = (function() { var node_types = {}; - var node_configs = {}; + var node_configs = []; var obj = { register: function(type,node) { util.inherits(node, Node); - var callerFilename = getCallerFilename(type); - if (callerFilename == null) { - util.log("["+type+"] unable to determine filename"); - } else { - var configFilename = callerFilename.replace(/\.js$/,".html"); - if (fs.existsSync(configFilename)) { - node_types[type] = node; - if (! node_configs[configFilename]) { - node_configs[configFilename] = fs.readFileSync(configFilename,'utf8'); - } - events.emit("type-registered",type); - } else { - util.log("["+type+"] missing template file: "+configFilename); - } - } + node_types[type] = node; + events.emit("type-registered",type); + }, + registerConfig: function(config) { + node_configs.push(config); }, get: function(type) { return node_types[type]; }, getNodeConfigs: function() { var result = ""; - for (var nt in node_configs) { - result += node_configs[nt]; + for (var i=0;i