var textParsers = require(__dirname + "/textParsers"), binaryParsers = require(__dirname + "/binaryParsers"); var typeParsers = { text: {}, binary: {} }; //the empty parse function var noParse = function(val) { return String(val); } //returns a function used to convert a specific type (specified by //oid) into a result javascript type var getTypeParser = function(oid, format) { if (!typeParsers[format]) return noParse; return typeParsers[format][oid] || noParse; }; var setTypeParser = function(oid, format, parseFn) { if(typeof format == 'function') { parseFn = format; format = 'text'; } typeParsers[format][oid] = parseFn; } textParsers.init(function(oid, converter) { typeParsers.text[oid] = function(value) { return converter(String(value)); }; }); binaryParsers.init(function(oid, converter) { typeParsers.binary[oid] = converter; }); module.exports = { getTypeParser: getTypeParser, setTypeParser: setTypeParser }