sphinxql
Version:
SphinxQL query builder for Node.JS. Supports Sphinx search(2.x and 3.x) and Manticore search
50 lines (41 loc) • 1.3 kB
text/typescript
import ClientInterface from './ClientInterface';
import QueryBuilder from './QueryBuilder';
import SphinxClient from './SphinxClient';
import SphinxClientPool from './SphinxClientPool';
export default class Sphinxql {
protected connection: ClientInterface;
public constructor(connection: ClientInterface) {
this.connection = connection;
}
/**
* Creates a client connection and returns an instance of this class.
*
* @param params object containing configuration parameters
*/
public static createConnection(params: object): Sphinxql {
const client = new SphinxClient(params);
return new Sphinxql(client);
}
/**
* Creates a client pool connection and returns an instance of this class.
*
* @param params an object containing the MySQL client connection properties
*/
public static createPoolConnection(params: object) : Sphinxql {
const client = new SphinxClientPool(params);
return new Sphinxql(client);
}
/**
* Returns the client connection instance.
*/
public getConnection() : ClientInterface {
return this.connection;
}
/**
* Gets the query builder instance. Then you can start building
* the query.
*/
public getQueryBuilder() : QueryBuilder {
return new QueryBuilder(this.connection);
}
}