Source: node-query.js

"use strict";

/** @module node-query */
var nodeQuery = {};

var instance = null;

/**
 * Create a query builder object
 *
 * @alias module:node-query
 * @param {String} drivername - The name of the database type, eg. mysql or pg
 * @param {Object} connObject - A connection object from the database library you are connecting with
 * @param {String} connLib - The name of the db connection library you are using, eg. mysql or mysql2
 * @return {queryBuilder}
 */
nodeQuery.init = function (driverType, connObject, connLib) {
	var fs = require('fs'),
		qb = require('./query-builder');

	var paths = {
		driver: __dirname + '/drivers/' + driverType + '.js',
		adapter: __dirname + '/adapters/' + connLib + '.js'
	};

	Object.keys(paths).forEach(function(type) {
		if ( ! fs.existsSync(paths[type]))
		{
			console.log(paths[type]);
			throw new Error('Selected ' + type + ' does not exist!');
		}
	});

	instance = qb(require(paths.driver), require(paths.adapter)(connObject));

	return instance;
};

/**
 * Return an existing query builder instance
 *
 * @return {queryBuilder}
 */
nodeQuery.getQuery = function () {
	if ( ! instance) {
		throw new Error("No Query Builder instance to return");
	}

	return instance;
};

module.exports = nodeQuery;
DocStrap Copyright © 2012-2014 The contributors to the JSDoc3 and DocStrap projects.
Documentation generated by JSDoc 3.3.0-alpha9 on Tue Nov 4th 2014 using the DocStrap template.