pimatic
Version:
A home automation server and framework for the Raspberry PI running on node.js
93 lines (71 loc) • 2.87 kB
JavaScript
;
exports.__esModule = true;
var _defineProperties = require('babel-runtime/core-js/object/define-properties');
var _defineProperties2 = _interopRequireDefault(_defineProperties);
var _assign2 = require('lodash/assign');
var _assign3 = _interopRequireDefault(_assign2);
exports.default = Knex;
var _raw = require('./raw');
var _raw2 = _interopRequireDefault(_raw);
var _helpers = require('./helpers');
var _client = require('./client');
var _client2 = _interopRequireDefault(_client);
var _makeKnex = require('./util/make-knex');
var _makeKnex2 = _interopRequireDefault(_makeKnex);
var _parseConnection = require('./util/parse-connection');
var _parseConnection2 = _interopRequireDefault(_parseConnection);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// The client names we'll allow in the `{name: lib}` pairing.
var aliases = {
'mariadb': 'maria',
'mariasql': 'maria',
'pg': 'postgres',
'postgresql': 'postgres',
'sqlite': 'sqlite3'
};
function Knex(config) {
if (typeof config === 'string') {
return new Knex((0, _assign3.default)((0, _parseConnection2.default)(config), arguments[2]));
}
var Dialect = void 0;
if (arguments.length === 0 || !config.client && !config.dialect) {
Dialect = _client2.default;
} else if (typeof config.client === 'function' && config.client.prototype instanceof _client2.default) {
Dialect = config.client;
} else {
var clientName = config.client || config.dialect;
Dialect = require('./dialects/' + (aliases[clientName] || clientName) + '/index.js');
}
if (typeof config.connection === 'string') {
config = (0, _assign3.default)({}, config, { connection: (0, _parseConnection2.default)(config.connection).connection });
}
return (0, _makeKnex2.default)(new Dialect(config));
}
// Expose Client on the main Knex namespace.
Knex.Client = _client2.default;
(0, _defineProperties2.default)(Knex, {
VERSION: {
get: function get() {
(0, _helpers.warn)('Knex.VERSION is deprecated, you can get the module version' + "by running require('knex/package').version");
return '0.12.6';
}
},
Promise: {
get: function get() {
(0, _helpers.warn)('Knex.Promise is deprecated, either require bluebird or use the global Promise');
return require('bluebird');
}
}
});
// Run a "raw" query, though we can't do anything with it other than put
// it in a query statement.
Knex.raw = function (sql, bindings) {
(0, _helpers.warn)('global Knex.raw is deprecated, use knex.raw (chain off an initialized knex object)');
return new _raw2.default().set(sql, bindings);
};
// Doing this ensures Browserify works. Still need to figure out
// the best way to do some of this.
if (process.browser) {
require('./dialects/websql/index.js');
}
module.exports = exports['default'];