sphinxql
Version:
SphinxQL query builder for Node.JS. Supports Sphinx search(2.x and 3.x) and Manticore search
68 lines • 3.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var FlushRTIndexStatement_1 = require("./Statements/FlushRTIndexStatement");
var InsertReplaceStatement_1 = require("./Statements/InsertReplaceStatement");
var SelectStatement_1 = require("./Statements/SelectStatement");
var TransactionStatement_1 = require("./Statements/TransactionStatement");
var UpdateStatement_1 = require("./Statements/UpdateStatement");
var DeleteStatement_1 = require("./Statements/DeleteStatement");
var AttachIndexStatement_1 = require("./Statements/AttachIndexStatement");
var TruncateStatement_1 = require("./Statements/TruncateStatement");
var ReloadIndexStatement_1 = require("./Statements/ReloadIndexStatement");
var OptimizeIndexStatement_1 = require("./Statements/OptimizeIndexStatement");
var QueryBuilder = (function () {
function QueryBuilder(connection) {
this.connection = connection;
}
QueryBuilder.prototype.query = function (q, values) {
if (values !== undefined) {
return this.connection.execute(q, values);
}
return this.connection.query(q);
};
QueryBuilder.prototype.select = function () {
var fields = [];
for (var _i = 0; _i < arguments.length; _i++) {
fields[_i] = arguments[_i];
}
return new (SelectStatement_1.default.bind.apply(SelectStatement_1.default, tslib_1.__spreadArrays([void 0, this.connection], fields)))();
};
QueryBuilder.prototype.insert = function (index, values) {
return new InsertReplaceStatement_1.default(this.connection, index, values);
};
QueryBuilder.prototype.replace = function (index, values) {
return new InsertReplaceStatement_1.default(this.connection, index, values, 'REPLACE');
};
QueryBuilder.prototype.update = function (index) {
return new UpdateStatement_1.default(this.connection, index);
};
QueryBuilder.prototype.delete = function (index) {
return new DeleteStatement_1.default(this.connection, index);
};
QueryBuilder.prototype.optimizeIndex = function (index) {
return new OptimizeIndexStatement_1.default(this.connection, index);
};
QueryBuilder.prototype.attachIndex = function (diskIndex) {
return new AttachIndexStatement_1.default(this.connection, diskIndex);
};
QueryBuilder.prototype.flushRTIndex = function (index) {
return new FlushRTIndexStatement_1.default(this.connection, index);
};
QueryBuilder.prototype.truncate = function (rtIndex) {
return new TruncateStatement_1.default(this.connection, rtIndex);
};
QueryBuilder.prototype.reloadIndex = function (index) {
return new ReloadIndexStatement_1.default(this.connection, index);
};
Object.defineProperty(QueryBuilder.prototype, "transaction", {
get: function () {
return new TransactionStatement_1.default(this.connection);
},
enumerable: true,
configurable: true
});
return QueryBuilder;
}());
exports.default = QueryBuilder;
//# sourceMappingURL=QueryBuilder.js.map