Initial commit

Co-Authored-By: Eric Tuvesson <eric.tuvesson@gmail.com>
Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com>
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com>
Co-Authored-By: Anders Larsson <64838990+anders-topp@users.noreply.github.com>
Co-Authored-By: Johan  <4934465+joolsus@users.noreply.github.com>
Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com>
Co-Authored-By: victoratndl <99176179+victoratndl@users.noreply.github.com>
This commit is contained in:
Michael Cartner
2024-01-26 11:52:55 +01:00
commit b9c60b07dc
2789 changed files with 868795 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
"use strict";
function NodeRegister(context) {
this._constructors = {};
this.context = context;
}
NodeRegister.prototype.register = function(nodeDefinition) {
var name = nodeDefinition.metadata.name;
this._constructors[name] = nodeDefinition;
};
NodeRegister.prototype.createNode = function(name, id, nodeScope) {
if(this._constructors.hasOwnProperty(name) === false) {
throw new Error("Unknown node type with name " + name);
}
return this._constructors[name](this.context, id, nodeScope);
};
NodeRegister.prototype.getNodeMetadata = function(type) {
if(this._constructors.hasOwnProperty(type) === false) {
throw new Error("Unknown node type with name " + type);
}
return this._constructors[type].metadata;
};
NodeRegister.prototype.hasNode = function(type) {
return this._constructors.hasOwnProperty(type);
};
NodeRegister.prototype.getInputType = function(type, inputName) {
const metadata = this.getNodeMetadata(type);
return metadata.inputs[inputName] && metadata.inputs[inputName].type;
}
module.exports = NodeRegister;