liborm
Version:
ORM that use the legacy libsqlite
775 lines (723 loc) • 35.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Select = exports.Update = exports.Delete = exports.Insert = exports.Drop = exports.SQLiteSelection = exports.Selection = undefined;
var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require("babel-runtime/helpers/inherits");
var _inherits3 = _interopRequireDefault(_inherits2);
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require("babel-runtime/helpers/createClass");
var _createClass3 = _interopRequireDefault(_createClass2);
var _sqlite = require("libsqlite/lib/sqlite");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SELECTION_COUNTER = 0; /** @babel */
var Selection = exports.Selection = function () {
function Selection() {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$model = _ref.model,
model = _ref$model === undefined ? null : _ref$model,
_ref$name = _ref.name,
name = _ref$name === undefined ? null : _ref$name;
(0, _classCallCheck3.default)(this, Selection);
this.mSelectedObject = null;
this.mActive = false;
if (model && name) {
this.mModel = model;
this.mName = name;
} else {
this.mName = this.constructor.name + "-" + SELECTION_COUNTER;
}
this.mIndex = -1;
SELECTION_COUNTER++;
}
(0, _createClass3.default)(Selection, [{
key: "getIndex",
value: function getIndex() {
return this.mIndex;
}
}, {
key: "getIndexedName",
value: function getIndexedName() {
return this.mName + "-" + this.getIndex();
}
}, {
key: "getModel",
value: function getModel() {
return this.mModel;
}
}, {
key: "getName",
value: function getName() {
return this.mName;
}
}, {
key: "getSelectedObject",
value: function getSelectedObject() {
return this.mSelectedObject;
}
}, {
key: "isActive",
value: function isActive() {
return this.mActive;
}
}, {
key: "recycle",
value: function recycle() {
this.mActive = false;
this.mSelectedObject = null;
}
}, {
key: "select",
value: function select() {
return null;
}
}, {
key: "setModel",
value: function setModel(model) {
this.mModel = model;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["query"];
var values = selected["values"];
var buffer = "Selection[";
buffer += "\nname:" + this.mName;
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nquery" + (query ? query : "");
buffer += ",\nvalues[" + (values && values.length ? values.join(",") : "") + "]";
buffer += ",\nmodel:" + (this.mModel ? this.mModel.constructor.name : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return Selection;
}();
var SQLiteSelection = exports.SQLiteSelection = function (_Selection) {
(0, _inherits3.default)(SQLiteSelection, _Selection);
function SQLiteSelection() {
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref2$model = _ref2.model,
model = _ref2$model === undefined ? null : _ref2$model,
_ref2$name = _ref2.name,
name = _ref2$name === undefined ? null : _ref2$name,
_ref2$ignoreId = _ref2.ignoreId,
ignoreId = _ref2$ignoreId === undefined ? true : _ref2$ignoreId;
(0, _classCallCheck3.default)(this, SQLiteSelection);
var _this = (0, _possibleConstructorReturn3.default)(this, (SQLiteSelection.__proto__ || (0, _getPrototypeOf2.default)(SQLiteSelection)).call(this, { model: model, name: name }));
_this.mIgnoreId = ignoreId;
return _this;
}
(0, _createClass3.default)(SQLiteSelection, [{
key: "isIgnoreId",
value: function isIgnoreId() {
return this.mIgnoreId;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["query"];
var values = selected["values"];
var buffer = "SQLiteSelection[";
buffer += "\nname:" + this.mName;
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nignoreId:" + this.mIgnoreId;
buffer += ",\nquery:" + (query ? query : "");
buffer += ",\nvalues[" + (values && values.length ? values.join(",") : "") + "]";
buffer += ",\nmodel:" + (this.mModel ? this.mModel.getTableName() : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return SQLiteSelection;
}(Selection);
var Drop = exports.Drop = function (_SQLiteSelection) {
(0, _inherits3.default)(Drop, _SQLiteSelection);
function Drop() {
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref3$model = _ref3.model,
model = _ref3$model === undefined ? null : _ref3$model,
_ref3$name = _ref3.name,
name = _ref3$name === undefined ? null : _ref3$name,
_ref3$ignoreId = _ref3.ignoreId,
ignoreId = _ref3$ignoreId === undefined ? true : _ref3$ignoreId;
(0, _classCallCheck3.default)(this, Drop);
return (0, _possibleConstructorReturn3.default)(this, (Drop.__proto__ || (0, _getPrototypeOf2.default)(Drop)).call(this, { model: model, name: name, ignoreId: ignoreId }));
}
(0, _createClass3.default)(Drop, [{
key: "select",
value: function select() {
if (!this.mActive) {
this.mActive = true;
var entity = this.mModel;
var query = "DROP TABLE IF EXISTS " + entity.getTableName() + ";";
console.log(query);
this.mSelectedObject = {
query: query,
values: []
};
}
return this.mSelectedObject;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["query"];
var values = selected["values"];
var buffer = "Drop[";
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nquery:" + (query ? query : "");
buffer += ",\nmodel:" + (this.mModel ? this.mModel.getTableName() : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return Drop;
}(SQLiteSelection);
var Insert = exports.Insert = function (_SQLiteSelection2) {
(0, _inherits3.default)(Insert, _SQLiteSelection2);
function Insert() {
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref4$model = _ref4.model,
model = _ref4$model === undefined ? null : _ref4$model,
_ref4$name = _ref4.name,
name = _ref4$name === undefined ? null : _ref4$name,
_ref4$ignoreId = _ref4.ignoreId,
ignoreId = _ref4$ignoreId === undefined ? true : _ref4$ignoreId,
_ref4$conflictAlgorit = _ref4.conflictAlgorithm,
conflictAlgorithm = _ref4$conflictAlgorit === undefined ? 0 : _ref4$conflictAlgorit;
(0, _classCallCheck3.default)(this, Insert);
var _this3 = (0, _possibleConstructorReturn3.default)(this, (Insert.__proto__ || (0, _getPrototypeOf2.default)(Insert)).call(this, { model: model, name: name, ignoreId: ignoreId }));
_this3.mConflictAlgorithm = conflictAlgorithm;
return _this3;
}
(0, _createClass3.default)(Insert, [{
key: "select",
value: function select() {
if (!this.mActive) {
this.mActive = true;
var entity = this.mModel;
var ignoreId = this.mIgnoreId;
var values = entity.getValues(ignoreId);
var keys = entity.getKeys(ignoreId);
var query = "INSERT" + _sqlite.SQLiteDatabase.CONFLICT_VALUES[this.mConflictAlgorithm] + " INTO " + entity.getTableName() + '(';
if (values.length) {
query += keys.join(",") + ") VALUES(";
for (var j = 0; j < n; j++) {
query += j > 0 ? ",?" : "?";
}
} else {
query += keys.join(",") + ") VALUES(";
for (var _j = 0; _j < keys.length; _j++) {
query += _j > 0 ? ",NULL" : "NULL";
}
}
query += ")";
console.log(query);
this.mSelectedObject = {
query: query,
values: values
};
}
return this.mSelectedObject;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["query"];
var values = selected["values"];
var buffer = "Insert[";
buffer += "\nname:" + this.mName;
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nignoreId:" + this.mIgnoreId;
buffer += ",\nconflictAlgorithm:" + this.mConflictAlgorithm;
buffer += ",\nquery:" + (query ? query : "");
buffer += ",\nvalues[" + (values && values.length ? values.join(",") : "") + "]";
buffer += ",\nmodel:" + (this.mModel ? this.mModel.getTableName() : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return Insert;
}(SQLiteSelection);
var Delete = exports.Delete = function (_SQLiteSelection3) {
(0, _inherits3.default)(Delete, _SQLiteSelection3);
function Delete() {
var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref5$model = _ref5.model,
model = _ref5$model === undefined ? null : _ref5$model,
_ref5$name = _ref5.name,
name = _ref5$name === undefined ? null : _ref5$name,
_ref5$ignoreId = _ref5.ignoreId,
ignoreId = _ref5$ignoreId === undefined ? true : _ref5$ignoreId,
_ref5$whereAlgorithm = _ref5.whereAlgorithm,
whereAlgorithm = _ref5$whereAlgorithm === undefined ? null : _ref5$whereAlgorithm;
(0, _classCallCheck3.default)(this, Delete);
var _this4 = (0, _possibleConstructorReturn3.default)(this, (Delete.__proto__ || (0, _getPrototypeOf2.default)(Delete)).call(this, { model: model, name: name, ignoreId: ignoreId }));
_this4.mWhereAlgorithm = whereAlgorithm;
return _this4;
}
(0, _createClass3.default)(Delete, [{
key: "select",
value: function select() {
if (!this.mActive) {
this.mActive = true;
var entity = this.mModel;
var ignoreId = this.mIgnoreId;
var values = entity.getValues(ignoreId);
var keys = entity.getKeys(ignoreId);
var bindArgs = null;
var query = "DELETE FROM " + entity.getTableName();
if (this.mWhereAlgorithm) {
if (typeof this.mWhereAlgorithm === "string") {
query += " WHERE ";
if (this.mWhereAlgorithm === "&") {
query += keys.join("= ? AND");
query += "= ?";
bindArgs = values;
} else if (this.mWhereAlgorithm === "OR") {
query += keys.join("= ? OR");
query += "= ?";
bindArgs = values;
} else {
query += this.mWhereAlgorithm;
}
} else if (this.mWhereAlgorithm.constructor === Object) {
if (this.mWhereAlgorithm["clause"]) {
query += " WHERE ";
query += this.mWhereAlgorithm["clause"];
bindArgs = this.mWhereAlgorithm["bindArgs"];
if (this.mWhereAlgorithm["in"]) {
query += " IN (";
var _len = bindArgs.length;
if (_len > 0) {
while (_len--) {
if (_len === 0) {
query += "?";
} else {
query += "?,";
}
}
}
query += ")";
} else if (this.mWhereAlgorithm["not_in"]) {
query += " NOT IN (";
var _len2 = bindArgs.length;
if (_len2 > 0) {
while (_len2--) {
if (_len2 === 0) {
query += "?";
} else {
query += "?,";
}
}
}
query += ")";
}
} else {
throw new TypeError("Unreconized where clause " + this.mWhereAlgorithm);
}
}
}
console.log(query);
this.mSelectedObject = {
query: query,
values: bindArgs || []
};
}
return this.mSelectedObject;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["query"];
var values = selected["values"];
var buffer = "Delete[";
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nignoreId:" + this.mIgnoreId;
buffer += ",\nwhereAlgorithm:" + (this.mWhereAlgorithm || "none");
buffer += ",\nquery:" + (query ? query : "");
buffer += ",\nvalues[" + (values && values.length ? values.join(",") : "") + "]";
buffer += ",\nmodel:" + (this.mModel ? this.mModel.getTableName() : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return Delete;
}(SQLiteSelection);
var Update = exports.Update = function (_SQLiteSelection4) {
(0, _inherits3.default)(Update, _SQLiteSelection4);
function Update() {
var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref6$model = _ref6.model,
model = _ref6$model === undefined ? null : _ref6$model,
_ref6$name = _ref6.name,
name = _ref6$name === undefined ? null : _ref6$name,
_ref6$ignoreId = _ref6.ignoreId,
ignoreId = _ref6$ignoreId === undefined ? true : _ref6$ignoreId,
_ref6$updateAlgorithm = _ref6.updateAlgorithm,
updateAlgorithm = _ref6$updateAlgorithm === undefined ? "*" : _ref6$updateAlgorithm,
_ref6$whereAlgorithm = _ref6.whereAlgorithm,
whereAlgorithm = _ref6$whereAlgorithm === undefined ? null : _ref6$whereAlgorithm;
(0, _classCallCheck3.default)(this, Update);
var _this5 = (0, _possibleConstructorReturn3.default)(this, (Update.__proto__ || (0, _getPrototypeOf2.default)(Update)).call(this, { model: model, name: name, ignoreId: ignoreId }));
_this5.whereAlgorithm = whereAlgorithm;
_this5.mUpdateAlgorithm = updateAlgorithm;
return _this5;
}
(0, _createClass3.default)(Update, [{
key: "select",
value: function select() {
if (!this.mActive) {
this.mActive = true;
var entity = this.mModel;
var ignoreId = this.mIgnoreId;
var values = entity.getValues(ignoreId);
var keys = entity.getKeys(ignoreId);
var updateClause = null;
var bindArgs = null;
if (!this.mUpdateAlgorithm) {
this.mUpdateAlgorithm = keys.join(",");
} else {
if (Array.isArray(this.mUpdateAlgorithm)) {
updateClause = this.mUpdateAlgorithm.join(",");
} else if (typeof this.mUpdateAlgorithm === "string") {
updateClause = this.mUpdateAlgorithm;
} else if (this.mUpdateAlgorithm.constructor === Object) {
if (this.mUpdateAlgorithm["clause"] !== null) {
if (typeof this.mUpdateAlgorithm["clause"] === "string") {
updateClause = this.mUpdateAlgorithm["clause"];
} else if (this.mUpdateAlgorithm["clause"].constructor === Object && this.mUpdateAlgorithm["clause"].CASE !== null) {
var CASE = this.mUpdateAlgorithm["clause"].CASE;
var TNAME = entity.getTableName();
var index = 0;
updateClause = "";
for (var p in CASE) {
if (CASE.hasOwnProperty(p)) {
if (index > 0) {
updateClause += ", ";
}
updateClause += p + "=CASE";
var WHEN = CASE[p].WHEN;
for (var w in WHEN) {
if (WHEN.hasOwnProperty(w)) {
if (w !== "THEN") {
var THEN = WHEN["THEN"];
var fields = WHEN[w];
len = fields.length;
for (var i = 0; i < len; i++) {
updateClause += " WHEN " + w + "=" + "'" + fields[i] + "'";
updateClause += " THEN " + "'" + THEN[i] + "'";
}
}
}
}
updateClause += " END";
index++;
}
}
}
} else {
var alg = "";
for (var _p in this.mUpdateAlgorithm) {
alg += _p + "=" + this.mUpdateAlgorithm[_p] + ",";
}
updateClause = this.mUpdateAlgorithm = alg.substring(0, alg.length - 1);
}
} else {
throw new TypeError("Unreconized update clause " + this.mUpdateAlgorithm);
}
}
var query = "UPDATE " + entity.getTableName() + " SET " + updateClause;
if (this.whereAlgorithm) {
if (typeof this.mWhereAlgorithm === "string") {
query += " WHERE ";
if (this.mWhereAlgorithm === "&") {
query += keys.join("= ? AND");
query += "= ?";
bindArgs = values;
} else if (this.mWhereAlgorithm === "OR") {
query += keys.join("= ? OR");
query += "= ?";
bindArgs = values;
} else {
query += this.mWhereAlgorithm;
}
} else if (this.mWhereAlgorithm.constructor === Object) {
if (this.mWhereAlgorithm["inner_join"]) {
if (Array.isArray(this.mWhereAlgorithm["inner_join"]) && Array.isArray(this.mWhereAlgorithm["on"])) {
var inner_join = this.mWhereAlgorithm["inner_join"];
var on = this.mWhereAlgorithm["on"];
var _len3 = inner_join.length;
for (var _i = 0; _i < _len3; _i++) {
query += " INNER JOIN " + inner_join[_i];
if (on[_i]) {
query += " ON " + on[_i];
}
}
} else {
query += " INNER JOIN " + this.mWhereAlgorithm["inner_join"];
if (this.mWhereAlgorithm["on"]) {
query += " ON " + this.mWhereAlgorithm["on"];
}
}
} else if (this.mWhereAlgorithm["left_join"]) {
if (Array.isArray(this.mWhereAlgorithm["left_join"]) && Array.isArray(this.mWhereAlgorithm["on"])) {
var _inner_join = this.mWhereAlgorithm["left_join"];
var _on = this.mWhereAlgorithm["on"];
var _len4 = _inner_join.length;
for (var _i2 = 0; _i2 < _len4; _i2++) {
query += " LEFT JOIN " + _inner_join[_i2];
if (_on[_i2]) {
query += " ON " + _on[_i2];
}
}
} else {
query += " LEFT JOIN " + this.mWhereAlgorithm["left_join"];
if (this.mWhereAlgorithm["on"]) {
query += " ON " + this.mWhereAlgorithm["on"];
}
}
}
if (this.mWhereAlgorithm["clause"]) {
query += " WHERE ";
query += this.mWhereAlgorithm["clause"];
bindArgs = this.mWhereAlgorithm["bindArgs"];
if (this.mWhereAlgorithm["in"]) {
query += " IN (";
var _len5 = bindArgs.length;
if (_len5 > 0) {
while (_len5--) {
if (_len5 === 0) {
query += "?";
} else {
query += "?,";
}
}
}
query += ")";
} else if (this.mWhereAlgorithm["not_in"]) {
query += " NOT IN (";
var _len6 = bindArgs.length;
if (_len6 > 0) {
while (_len6--) {
if (_len6 === 0) {
query += "?";
} else {
query += "?,";
}
}
}
query += ")";
}
} else {
throw new TypeError("Unreconized where clause " + this.mWhereAlgorithm);
}
}
}
console.log(query);
this.mSelectedObject = {
query: query,
values: bindArgs || []
};
}
return this.mSelectedObject;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["query"];
var values = selected["values"];
var buffer = "Update[";
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nignoreId:" + this.mIgnoreId;
buffer += ",\nupdateAlgorithm:" + this.mUpdateAlgorithm || "none";
buffer += ",\nwhereAlgorithm:" + this.mWhereAlgorithm || "none";
buffer += ",\nquery:" + (query ? query : "");
buffer += ",\nvalues[" + (values && values.length ? values.join(",") : "") + "]";
buffer += ",\nentity:" + (this.mModel ? this.mModel.getTableName() : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return Update;
}(SQLiteSelection);
var Select = exports.Select = function (_SQLiteSelection5) {
(0, _inherits3.default)(Select, _SQLiteSelection5);
function Select() {
var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref7$model = _ref7.model,
model = _ref7$model === undefined ? null : _ref7$model,
_ref7$name = _ref7.name,
name = _ref7$name === undefined ? null : _ref7$name,
_ref7$ignoreId = _ref7.ignoreId,
ignoreId = _ref7$ignoreId === undefined ? true : _ref7$ignoreId,
_ref7$selectAlgorithm = _ref7.selectAlgorithm,
selectAlgorithm = _ref7$selectAlgorithm === undefined ? "*" : _ref7$selectAlgorithm,
_ref7$whereAlgorithm = _ref7.whereAlgorithm,
whereAlgorithm = _ref7$whereAlgorithm === undefined ? null : _ref7$whereAlgorithm;
(0, _classCallCheck3.default)(this, Select);
var _this6 = (0, _possibleConstructorReturn3.default)(this, (Select.__proto__ || (0, _getPrototypeOf2.default)(Select)).call(this, { model: model, name: name, ignoreId: ignoreId }));
_this6.whereAlgorithm = whereAlgorithm;
_this6.mSelectAlgorithm = selectAlgorithm;
return _this6;
}
(0, _createClass3.default)(Select, [{
key: "select",
value: function select() {
if (!this.mActive) {
this.mActive = true;
var entity = this.mModel;
var ignoreId = this.mIgnoreId;
var values = entity.getValues(ignoreId);
var keys = entity.getKeys(ignoreId);
var bindArgs = null;
var selectClause = null;
if (!this.mSelectAlgorithm) {
this.mSelectAlgorithm = keys.join(",");
} else {
if (Array.isArray(this.mSelectAlgorithm)) {
selectClause = this.mSelectAlgorithm.join(",");
} else if (typeof this.mSelectAlgorithm === "string") {
selectClause = this.mSelectAlgorithm;
} else {
throw new TypeError("Unreconized select clause " + this.mSelectAlgorithm);
}
}
var query = "SELECT " + selectClause + " FROM " + entity.getTableName();
if (this.mWhereAlgorithm) {
if (typeof this.mWhereAlgorithm === "string") {
query += " WHERE ";
if (this.mWhereAlgorithm === "&") {
query += keys.join("= ? AND");
query += "= ?";
bindArgs = values;
} else if (this.mWhereAlgorithm === "OR") {
query += keys.join("= ? OR");
query += "= ?";
bindArgs = values;
} else {
query += this.mWhereAlgorithm;
}
} else if (this.mWhereAlgorithm.constructor === Object) {
if (this.mWhereAlgorithm["inner_join"]) {
if (Array.isArray(this.mWhereAlgorithm["inner_join"]) && Array.isArray(this.mWhereAlgorithm["on"])) {
var inner_join = this.mWhereAlgorithm["inner_join"];
var on = this.mWhereAlgorithm["on"];
var _len7 = inner_join.length;
for (var i = 0; i < _len7; i++) {
query += " INNER JOIN " + inner_join[i];
if (on[i]) {
query += " ON " + on[i];
}
}
} else {
query += " INNER JOIN " + this.mWhereAlgorithm["inner_join"];
if (this.mWhereAlgorithm["on"]) {
query += " ON " + this.mWhereAlgorithm["on"];
}
}
} else if (this.mWhereAlgorithm["left_join"]) {
if (Array.isArray(this.mWhereAlgorithm["left_join"]) && Array.isArray(this.mWhereAlgorithm["on"])) {
var _inner_join2 = this.mWhereAlgorithm["left_join"];
var _on2 = this.mWhereAlgorithm["on"];
var _len8 = _inner_join2.length;
for (var _i3 = 0; _i3 < _len8; _i3++) {
query += " LEFT JOIN " + _inner_join2[_i3];
if (_on2[_i3]) {
query += " ON " + _on2[_i3];
}
}
} else {
query += " LEFT JOIN " + this.mWhereAlgorithm["left_join"];
if (this.mWhereAlgorithm["on"]) {
query += " ON " + this.mWhereAlgorithm["on"];
}
}
}
if (this.mWhereAlgorithm["clause"]) {
query += " WHERE ";
query += this.mWhereAlgorithm["clause"];
bindArgs = this.mWhereAlgorithm["bindArgs"];
if (this.mWhereAlgorithm["in"]) {
query += " IN (";
var _len9 = bindArgs.length;
if (_len9 > 0) {
while (_len9--) {
if (_len9 === 0) {
query += "?";
} else {
query += "?,";
}
}
}
query += ")";
} else if (this.mWhereAlgorithm["not_in"]) {
query += " NOT IN (";
var _len10 = bindArgs.length;
if (_len10 > 0) {
while (_len10--) {
if (_len10 === 0) {
query += "?";
} else {
query += "?,";
}
}
}
query += ")";
}
} else {
throw new TypeError("Unreconized where clause " + this.mWhereAlgorithm);
}
if (this.mWhereAlgorithm["order"]) {
query += " ORDER ";
query += this.mWhereAlgorithm["order"];
}
}
}
console.log(query);
this.mSelectedObject = {
query: query,
values: bindArgs || []
};
}
return this.mSelectedObject;
}
}, {
key: "toString",
value: function toString() {
var selected = this.mSelectedObject || {};
var query = selected["sql"];
var values = selected["values"];
var buffer = "Select[";
buffer += "\nindex:" + this.mIndex;
buffer += ",\nactive:" + this.mActive;
buffer += ",\nignoreId:" + this.mIgnoreId;
buffer += ",\nselectAlgorithm:" + this.mSelectAlgorithm || "none";
buffer += ",\nwhereAlgorithm:" + this.mWhereAlgorithm || "none";
buffer += ",\nsql:" + (query ? query : "");
buffer += ",\nvalues[" + (values && values.length ? values.join(",") : "") + "]";
buffer += ",\nentity:" + (this.mModel ? this.mModel.getTableName() : "<unknown>");
buffer += "\n]";
return buffer;
}
}]);
return Select;
}(SQLiteSelection);