UNPKG

yhbatis

Version:

Like Mybatis for nodejs By YYH.

48 lines (45 loc) 1.29 kB
var util = require('util'); var fs = require('fs'); var xml_digester = require("./custom-module/xml-digester"); var digester = xml_digester.XmlDigester({}); var analysis = require("./analysis").analysis; var jsMapper =[]; function yhbatis(){}; var exportYH = new yhbatis(); process.on('uncaughtException', function (err) { console.log('uncaughtException'); console.log(err.stack); }); yhbatis.prototype.createYHBatis = function(mapper){ if(mapper == null || mapper.length == 0){ throw new Error("mapper null"); } recursionXml(mapper,0,function(){ analysis.mappingSection(jsMapper); }); }; yhbatis.prototype.sqlSection = function(section,dto,callback){ analysis.sqlSection(section,dto,pool,callback); } function recursionXml(mapper,i,callback){ if(mapper.length == i ){ callback(); return; } fs.readFile(mapper[i],'utf8', function(error, data) { if (error) { throw new Error(error); } else { digester.digest(data, function(error, res) { if (error) { throw new Error(error); } else { console.log("clear Translated "+mapper[i]); jsMapper[i] = res; recursionXml(mapper,++i,callback); } }); } }); } exports.yhbatis = exportYH;