mybatis3
Version:
mybatis3 mapper
1,288 lines (1,082 loc) • 93.3 kB
JavaScript
require("source-map-support").install();
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define("library", [], factory);
else if(typeof exports === 'object')
exports["library"] = factory();
else
root["library"] = factory();
})(global, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./src/config/index.js":
/*!*****************************!*\
!*** ./src/config/index.js ***!
\*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony default export */ __webpack_exports__["default"] = ({
sql: {
queryFormat: /:([\w_.()]+)/g,
stringifyObjects: false,
timezone: false
},
log: {
level: 'info',
// 'fatal', 'error', 'warn', 'info', 'debug', 'trace'
traceLinenumber: true,
timeFormat: 'YYYY-MM-DD A hh:mm:ss',
pretty: true,
map: {
mybatis3: 'fatal',
'*': 'trace'
}
}
});
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "@babel/runtime/helpers/defineProperty");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ "@babel/runtime/regenerator");
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "@babel/runtime/helpers/asyncToGenerator");
/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "@babel/runtime/helpers/classCallCheck");
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "@babel/runtime/helpers/createClass");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var xml2js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! xml2js */ "xml2js");
/* harmony import */ var xml2js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(xml2js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var node_eval__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! node-eval */ "node-eval");
/* harmony import */ var node_eval__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(node_eval__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! fs */ "fs");
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash */ "lodash");
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var bluebird__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! bluebird */ "bluebird");
/* harmony import */ var bluebird__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(bluebird__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./config */ "./src/config/index.js");
/* harmony import */ var sqlstring__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! sqlstring */ "sqlstring");
/* harmony import */ var sqlstring__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(sqlstring__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! path */ "path");
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_12__);
// import $log from './log'
var parser = new xml2js__WEBPACK_IMPORTED_MODULE_5___default.a.Parser({
trim: true,
normalize: true,
preserveChildrenOrder: true,
explicitChildren: true,
explicitCharkey: true,
charsAsChildren: true
}); // const log = $log.getInstance('mybatis3')
var Mybatis3 = /*#__PURE__*/function () {
function Mybatis3() {
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Mybatis3);
this.tablesRaw = [];
this.tables = [];
this.lastQuery = {};
this.sqlData = {}; // xml raw query
this.references = []; // include가 정의된 array
}
_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Mybatis3, [{
key: "setConnection",
value: function setConnection(pool) {
this.pool = pool;
this.pool.getConnectionAsync = bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.promisify(this.pool.getConnection);
}
}, {
key: "getConnection",
value: function getConnection() {
if (Object(lodash__WEBPACK_IMPORTED_MODULE_8__["isFunction"])(this.pool)) {
return this.pool();
} else {
return this.pool;
}
}
}, {
key: "fnModel",
value: function fnModel(name, conn) {
var ctx = {};
var table = this.getQuery(name);
var self = this;
Object(lodash__WEBPACK_IMPORTED_MODULE_8__["forEach"])(table, function (fn, key) {
if (key === 'lastQuery') {
Object.defineProperty(ctx, key, {
get: function get() {
return self.lastQuery[name];
}
});
} else {
ctx[key] = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["partialRight"])(fn, conn);
}
});
return ctx;
}
}, {
key: "transaction",
value: function () {
var _transaction = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(execQuery) {
var connection, rst;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_context.next = 3;
return this.pool.getConnectionAsync();
case 3:
connection = _context.sent;
connection.table = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["partialRight"])(this.fnModel, connection).bind(this);
_context.next = 7;
return connection.beginTransaction();
case 7:
_context.next = 9;
return execQuery(connection);
case 9:
rst = _context.sent;
_context.next = 12;
return connection.commit();
case 12:
connection.release();
_context.next = 21;
break;
case 15:
_context.prev = 15;
_context.t0 = _context["catch"](0);
_context.next = 19;
return connection.rollback();
case 19:
connection.release();
throw _context.t0;
case 21:
return _context.abrupt("return", rst);
case 22:
case "end":
return _context.stop();
}
}
}, _callee, this, [[0, 15]]);
}));
function transaction(_x) {
return _transaction.apply(this, arguments);
}
return transaction;
}() // loadQuery(path, idx) {
}, {
key: "loadQuery",
value: function loadQuery(tableName, path, xmlFilenames) {
var _this = this;
Object(lodash__WEBPACK_IMPORTED_MODULE_8__["forEach"])(xmlFilenames, function (filename, idx) {
_this.sqlData = idx === 0 ? {} : _this.sqlData;
var ext = Object(path__WEBPACK_IMPORTED_MODULE_12__["extname"])(filename);
var dir = ext ? Object(path__WEBPACK_IMPORTED_MODULE_12__["join"])(path, filename) : Object(path__WEBPACK_IMPORTED_MODULE_12__["join"])(path, filename + '.xml');
var xml = Object(fs__WEBPACK_IMPORTED_MODULE_7__["readFileSync"])(dir, 'utf-8'); // log.debug('xmls', xml)
parser.parseString(xml, function (err, data) {
if (err) {
return console.error(err.stack || err);
}
var jsonData = data.query;
_this.references = jsonData.sql;
var commands = ['select', 'update', 'insert', 'delete'];
Object(lodash__WEBPACK_IMPORTED_MODULE_8__["chain"])(commands).map(function (cmd) {
return jsonData[cmd] || [];
}).flatten().map(function (item) {
return _this.sqlData[item.$.id] = item;
}).value();
});
});
this.tablesRaw[tableName] = this.sqlData;
delete this.tables[tableName]; // log.debug(this.sqlData)
}
}, {
key: "table",
value: function table(tableName, dir, xmls) {
if (xmls) {
this.loadQuery(tableName, dir, xmls);
} else {
return this.getQuery(tableName);
}
}
}, {
key: "model",
value: function model() {}
/**
* query에 대한 function으로 반환 받기
*/
}, {
key: "getQuery",
value: function getQuery(tableName) {
var _this2 = this;
if (this.tables[tableName]) return this.tables[tableName];
var self = this;
var sqlData = this.tablesRaw[tableName];
var rst = {
get lastQuery() {
return self.lastQuery[tableName];
}
};
Object(lodash__WEBPACK_IMPORTED_MODULE_8__["forEach"])(sqlData, function (sql, key) {
rst[key] = /*#__PURE__*/function () {
var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee2(params, conn) {
var qry, _conn;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return _this2.process(sqlData[key], params).then(function (xml) {
return _this2.processVariable(xml._, params);
})["catch"](function (err) {
return console.error(err.stack);
});
case 2:
qry = _context2.sent;
self.lastQuery[tableName] = qry;
if (!conn) {
_context2.next = 8;
break;
}
return _context2.abrupt("return", conn.query(qry)["finally"](function () {
return conn.release();
}));
case 8:
_conn = _this2.getConnection();
if (!_conn) {
_context2.next = 13;
break;
}
return _context2.abrupt("return", _conn.query(qry));
case 13:
return _context2.abrupt("return", qry);
case 14:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function (_x2, _x3) {
return _ref.apply(this, arguments);
};
}();
});
this.tables[tableName] = rst;
return rst;
}
}, {
key: "process",
value: function () {
var _process = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee5(xml, params) {
var _this3 = this;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
return _context5.abrupt("return", bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.resolve(xml).then( /*#__PURE__*/function () {
var _ref2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee4(xml) {
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
// process xml.$$
xml._ = '';
_context4.next = 3;
return bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.each(xml.$$, /*#__PURE__*/function () {
var _ref3 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee3(item) {
var proc;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (!(item['#name'] === '__text__')) {
_context3.next = 3;
break;
}
_context3.next = 6;
break;
case 3:
proc = "process".concat(_this3.capitalizeFirstLetter(item['#name']));
_context3.next = 6;
return _this3[proc](item, params);
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function (_x7) {
return _ref3.apply(this, arguments);
};
}());
case 3:
// xml -> xml.$$ -> xml._ build
_this3.merge_(xml); // log.debug(xml, 'processed')
// log.debug(xml['$$'][1], 'processed')
return _context4.abrupt("return", xml);
case 5:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
return function (_x6) {
return _ref2.apply(this, arguments);
};
}()));
case 1:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
function process(_x4, _x5) {
return _process.apply(this, arguments);
}
return process;
}()
}, {
key: "processInclude",
value: function () {
var _processInclude = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee6(item, params) {
var id, t;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
// log.info('--- process include')
id = item.$.refid;
t = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["find"])(this.references, {
$: {
id: id
}
});
if (t) {
_context6.next = 4;
break;
}
throw new Error("There is no include id: ".concat(id));
case 4:
_context6.next = 6;
return this.processDeep(t, params);
case 6:
item._ = t._;
case 7:
case "end":
return _context6.stop();
}
}
}, _callee6, this);
}));
function processInclude(_x8, _x9) {
return _processInclude.apply(this, arguments);
}
return processInclude;
}()
}, {
key: "processDeep",
value: function () {
var _processDeep = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee7(xml, params) {
var keys;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
// log.info('--- process deep')
// log.debug(xml)
keys = Object.keys(xml).filter(function (key) {
return !/_|\${1,2}|#name/.test(key);
});
if (!(keys.length !== 0)) {
_context7.next = 4;
break;
}
_context7.next = 4;
return this.process(xml, params);
case 4:
case "end":
return _context7.stop();
}
}
}, _callee7, this);
}));
function processDeep(_x10, _x11) {
return _processDeep.apply(this, arguments);
}
return processDeep;
}()
}, {
key: "processIf",
value: function () {
var _processIf = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee8(item, params) {
var test;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
_context8.next = 2;
return this.processVariable(item.$.test, params).then(this.changeAndOr);
case 2:
test = _context8.sent;
if (!node_eval__WEBPACK_IMPORTED_MODULE_6___default()(test)) {
_context8.next = 11;
break;
}
_context8.next = 6;
return this.processDeep(item, params);
case 6:
_context8.next = 8;
return this.processVariable(item._, params);
case 8:
item._ = _context8.sent;
_context8.next = 12;
break;
case 11:
item._ = '';
case 12:
case "end":
return _context8.stop();
}
}
}, _callee8, this);
}));
function processIf(_x12, _x13) {
return _processIf.apply(this, arguments);
}
return processIf;
}()
}, {
key: "processChoose",
value: function () {
var _processChoose = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee10(item, params) {
var _this4 = this;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
_context10.next = 2;
return bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.each(item.$$, /*#__PURE__*/function () {
var _ref4 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee9(_case) {
var testStr, test;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
// log.debug(_case, '_case')
testStr = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["get"])(_case, '$.test');
if (!testStr) {
_context9.next = 15;
break;
}
_context9.next = 4;
return _this4.processVariable(testStr, params).then(_this4.changeAndOr);
case 4:
test = _context9.sent;
if (!node_eval__WEBPACK_IMPORTED_MODULE_6___default()(test)) {
_context9.next = 14;
break;
}
_context9.next = 8;
return _this4.processDeep(_case, params);
case 8:
_context9.next = 10;
return _this4.processVariable(_case._, params);
case 10:
_case._ = _context9.sent;
throw new bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.CancellationError('matched');
case 14:
_case._ = '';
case 15:
case "end":
return _context9.stop();
}
}
}, _callee9);
}));
return function (_x16) {
return _ref4.apply(this, arguments);
};
}())["catch"](bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.CancellationError, function () {
return '';
});
case 2:
this.merge_(item, true); // log.debug(item, 'item')
case 3:
case "end":
return _context10.stop();
}
}
}, _callee10, this);
}));
function processChoose(_x14, _x15) {
return _processChoose.apply(this, arguments);
}
return processChoose;
}()
}, {
key: "processTrim",
value: function () {
var _processTrim = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee12(item, params) {
var _this5 = this;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
_context12.next = 2;
return bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.each(item.$$, /*#__PURE__*/function () {
var _ref5 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee11(_case) {
var testStr, test;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
// log.debug(_case, '_case')
testStr = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["get"])(_case, '$.test');
if (!testStr) {
_context11.next = 14;
break;
}
_context11.next = 4;
return _this5.processVariable(testStr, params).then(_this5.changeAndOr);
case 4:
test = _context11.sent;
if (!node_eval__WEBPACK_IMPORTED_MODULE_6___default()(test)) {
_context11.next = 13;
break;
}
_context11.next = 8;
return _this5.processDeep(_case, params);
case 8:
_context11.next = 10;
return _this5.processVariable(_case._, params);
case 10:
_case._ = _context11.sent;
_context11.next = 14;
break;
case 13:
_case._ = '';
case 14:
case "end":
return _context11.stop();
}
}
}, _callee11);
}));
return function (_x19) {
return _ref5.apply(this, arguments);
};
}());
case 2:
this.merge_(item);
this.processFix(item, item);
case 4:
case "end":
return _context12.stop();
}
}
}, _callee12, this);
}));
function processTrim(_x17, _x18) {
return _processTrim.apply(this, arguments);
}
return processTrim;
}()
}, {
key: "processWhere",
value: function () {
var _processWhere = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee14(item, params) {
var _this6 = this;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee14$(_context14) {
while (1) {
switch (_context14.prev = _context14.next) {
case 0:
_context14.next = 2;
return bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.each(item.$$, /*#__PURE__*/function () {
var _ref6 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee13(_case) {
var testStr, test;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee13$(_context13) {
while (1) {
switch (_context13.prev = _context13.next) {
case 0:
// log.debug(_case, '_case')
testStr = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["get"])(_case, '$.test');
if (!testStr) {
_context13.next = 14;
break;
}
_context13.next = 4;
return _this6.processVariable(testStr, params).then(_this6.changeAndOr);
case 4:
test = _context13.sent;
if (!node_eval__WEBPACK_IMPORTED_MODULE_6___default()(test)) {
_context13.next = 13;
break;
}
_context13.next = 8;
return _this6.processDeep(_case, params);
case 8:
_context13.next = 10;
return _this6.processVariable(_case._, params);
case 10:
_case._ = _context13.sent;
_context13.next = 14;
break;
case 13:
_case._ = '';
case 14:
case "end":
return _context13.stop();
}
}
}, _callee13);
}));
return function (_x22) {
return _ref6.apply(this, arguments);
};
}());
case 2:
this.merge_(item);
this.processFix(item, {
$: {
prefixOverrides: 'and |or ',
prefix: 'WHERE'
}
}); // log.debug(item, 'item')
case 4:
case "end":
return _context14.stop();
}
}
}, _callee14, this);
}));
function processWhere(_x20, _x21) {
return _processWhere.apply(this, arguments);
}
return processWhere;
}()
}, {
key: "processSet",
value: function () {
var _processSet = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee16(item, params) {
var _this7 = this;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee16$(_context16) {
while (1) {
switch (_context16.prev = _context16.next) {
case 0:
_context16.next = 2;
return bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.each(item.$$, /*#__PURE__*/function () {
var _ref7 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee15(_case) {
var testStr, test;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee15$(_context15) {
while (1) {
switch (_context15.prev = _context15.next) {
case 0:
// log.debug(_case, '_case')
testStr = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["get"])(_case, '$.test');
if (!testStr) {
_context15.next = 14;
break;
}
_context15.next = 4;
return _this7.processVariable(testStr, params).then(_this7.changeAndOr);
case 4:
test = _context15.sent;
if (!node_eval__WEBPACK_IMPORTED_MODULE_6___default()(test)) {
_context15.next = 13;
break;
}
_context15.next = 8;
return _this7.processDeep(_case, params);
case 8:
_context15.next = 10;
return _this7.processVariable(_case._, params);
case 10:
_case._ = _context15.sent;
_context15.next = 14;
break;
case 13:
_case._ = '';
case 14:
case "end":
return _context15.stop();
}
}
}, _callee15);
}));
return function (_x25) {
return _ref7.apply(this, arguments);
};
}());
case 2:
this.merge_(item);
this.processFix(item, {
$: {
suffixOverrides: ',',
prefix: 'SET'
}
}); // log.debug(item, 'item')
case 4:
case "end":
return _context16.stop();
}
}
}, _callee16, this);
}));
function processSet(_x23, _x24) {
return _processSet.apply(this, arguments);
}
return processSet;
}()
}, {
key: "processForeach",
value: function () {
var _processForeach = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee18(item, params) {
var _this8 = this;
var collection, processedArr;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee18$(_context18) {
while (1) {
switch (_context18.prev = _context18.next) {
case 0:
_context18.next = 2;
return this.processDeep(item, params);
case 2:
collection = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["get"])(params, item.$.collection) || [];
processedArr = []; // log.debug(collection, 'collection')
_context18.next = 6;
return bluebird__WEBPACK_IMPORTED_MODULE_9___default.a.each(collection, /*#__PURE__*/function () {
var _ref8 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee17(col, idx) {
var _this8$processVariabl;
var qry;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee17$(_context17) {
while (1) {
switch (_context17.prev = _context17.next) {
case 0:
_context17.next = 2;
return _this8.processVariable(item._, (_this8$processVariabl = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_this8$processVariabl, item.$.item, col), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_this8$processVariabl, item.$.index, idx), _this8$processVariabl));
case 2:
qry = _context17.sent;
processedArr.push(qry);
case 4:
case "end":
return _context17.stop();
}
}
}, _callee17);
}));
return function (_x28, _x29) {
return _ref8.apply(this, arguments);
};
}());
case 6:
item._ = processedArr.join(item.$.separator);
item.$.suffixOverrides = item.$.separator;
item.$.prefix = item.$.open;
item.$.suffix = item.$.close;
this.processFix(item, item); // log.debug(item, 'item')
case 11:
case "end":
return _context18.stop();
}
}
}, _callee18, this);
}));
function processForeach(_x26, _x27) {
return _processForeach.apply(this, arguments);
}
return processForeach;
}()
}, {
key: "processBind",
value: function () {
var _processBind = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee19(item, params) {
var s;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee19$(_context19) {
while (1) {
switch (_context19.prev = _context19.next) {
case 0:
_context19.next = 2;
return this.processVariable(item.$.value, params).then(this.changeAndOr);
case 2:
s = _context19.sent;
params[item.$.name] = node_eval__WEBPACK_IMPORTED_MODULE_6___default()(s);
case 4:
case "end":
return _context19.stop();
}
}
}, _callee19, this);
}));
function processBind(_x30, _x31) {
return _processBind.apply(this, arguments);
}
return processBind;
}()
}, {
key: "processVariable",
value: function () {
var _processVariable = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee20(qry, params) {
var rst, escape, reg;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee20$(_context20) {
while (1) {
switch (_context20.prev = _context20.next) {
case 0:
if (!params) {
rst = qry;
}
escape = sqlstring__WEBPACK_IMPORTED_MODULE_11___default.a.escape;
reg = _config__WEBPACK_IMPORTED_MODULE_10__["default"].sql.queryFormat ? new RegExp(_config__WEBPACK_IMPORTED_MODULE_10__["default"].sql.queryFormat, 'g') : /#{([\w_.]+)}/g;
rst = qry.replace(/\)/g, ' )').replace(/\( \)/g, '()').replace(reg, function (txt, key) {
key = key.replace(/\(\)/g, '');
var val = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["get"])(params, key);
if (Object(lodash__WEBPACK_IMPORTED_MODULE_8__["isFunction"])(val)) {
val = val();
} else if (Object(lodash__WEBPACK_IMPORTED_MODULE_8__["isObject"])(val) || Object(lodash__WEBPACK_IMPORTED_MODULE_8__["isArray"])(val)) {
val = true;
}
return escape(val, _config__WEBPACK_IMPORTED_MODULE_10__["default"].sql.stringifyObjects, _config__WEBPACK_IMPORTED_MODULE_10__["default"].sql.timezone);
});
return _context20.abrupt("return", rst.replace(/^\s+|\s+$/g, '').replace(/\s+/g, ' ').replace(/NULL/g, 'undefined'));
case 5:
case "end":
return _context20.stop();
}
}
}, _callee20);
}));
function processVariable(_x32, _x33) {
return _processVariable.apply(this, arguments);
}
return processVariable;
}()
}, {
key: "changeAndOr",
value: function () {
var _changeAndOr = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee21(str) {
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee21$(_context21) {
while (1) {
switch (_context21.prev = _context21.next) {
case 0:
return _context21.abrupt("return", str.replace(/ and /gi, ' && ').replace(/ or /gi, ' || '));
case 1:
case "end":
return _context21.stop();
}
}
}, _callee21);
}));
function changeAndOr(_x34) {
return _changeAndOr.apply(this, arguments);
}
return changeAndOr;
}()
}, {
key: "processFix",
value: function processFix(item, xml) {
if (xml.$.prefixOverrides) {
var reg = new RegExp("^".concat(xml.$.prefixOverrides), 'gi');
item._ = item._.replace(reg, '');
} // log.debug('fix', item._)
if (xml.$.suffixOverrides) {
var _reg = new RegExp("".concat(xml.$.suffixOverrides, "$"), 'gi');
item._ = item._.replace(_reg, '');
} // log.debug('fix', '|' + item._ + '|')
if (!Object(lodash__WEBPACK_IMPORTED_MODULE_8__["isEmpty"])(item._)) {
item._ = "".concat(xml.$.prefix || '', " ").concat(item._, " ").concat(xml.$.suffix || '');
} // log.debug('fix', item._)
}
}, {
key: "capitalizeFirstLetter",
value: function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
}, {
key: "merge_",
value: function merge_(xml, choose) {
var processedArr = [];
Object(lodash__WEBPACK_IMPORTED_MODULE_8__["forEach"])(xml.$$, function (item) {
if (item._) {
processedArr.push(item._);
if (choose) {
return false;
}
} // item._ && processedArr.push(item._)
});
xml._ = processedArr.join(' ');
}
}]);
return Mybatis3;
}();
/* harmony default export */ __webpack_exports__["default"] = (new Mybatis3());
/***/ }),
/***/ "@babel/runtime/helpers/asyncToGenerator":
/*!**********************************************************!*\
!*** external "@babel/runtime/helpers/asyncToGenerator" ***!
\**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("@babel/runtime/helpers/asyncToGenerator");
/***/ }),
/***/ "@babel/runtime/helpers/classCallCheck":
/*!********************************************************!*\
!*** external "@babel/runtime/helpers/classCallCheck" ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("@babel/runtime/helpers/classCallCheck");
/***/ }),
/***/ "@babel/runtime/helpers/createClass":
/*!*****************************************************!*\
!*** external "@babel/runtime/helpers/createClass" ***!
\*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("@babel/runtime/helpers/createClass");
/***/ }),
/***/ "@babel/runtime/helpers/defineProperty":
/*!********************************************************!*\
!*** external "@babel/runtime/helpers/defineProperty" ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("@babel/runtime/helpers/defineProperty");
/***/ }),
/***/ "@babel/runtime/regenerator":
/*!*********************************************!*\
!*** external "@babel/runtime/regenerator" ***!
\*********************************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("@babel/runtime/regenerator");
/***/ }),
/***/ "bluebird":
/*!***************************!*\
!*** external "bluebird" ***!
\***************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("bluebird");
/***/ }),
/***/ "fs":
/*!*********************!*\
!*** external "fs" ***!
\*********************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("fs");
/***/ }),
/***/ "lodash":
/*!*************************!*\
!*** external "lodash" ***!
\*************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("lodash");
/***/ }),
/***/ "node-eval":
/*!****************************!*\
!*** external "node-eval" ***!
\****************************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = require("node-eval");
/***/ }),
/***/ "path":
/*!**********