UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

40 lines (39 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryHelper = void 0; var replaceable_1 = require("./replaceable"); var utils_1 = require("./utils"); var QueryHelper = /** @class */ (function () { function QueryHelper() { } QueryHelper.compileWithoutParams = function (query, params) { return replaceable_1.Replaceable.replaceArrayPattern(query, "?", this.formatParamsToInline(params)); }; QueryHelper.splitMultipleCommands = function (sql, params) { var _this = this; var sqls = this.getMultipleCommands(sql); return sqls.map(function (x) { var count = _this.countOccurrence(x, "\\?"); var r = { sql: x.trim(), params: params.splice(0, count) }; return r; }); }; QueryHelper.isMultipleCommands = function (statement) { return this.getMultipleCommands(statement).length > 1; }; QueryHelper.getMultipleCommands = function (statement) { return statement.split(";").filter(function (x) { return x.trim().length > 0; }); }; QueryHelper.countOccurrence = function (that, value) { return (that.match(new RegExp(value, "g")) || []).length; }; QueryHelper.formatParamsToInline = function (params) { return params.map(function (param) { return utils_1.Utils.isString(param) || utils_1.Utils.isBoolean(param) ? "'".concat(param, "'") : param; }); }; return QueryHelper; }()); exports.QueryHelper = QueryHelper;