| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | 
							- 'use strict';
 
- exports.__esModule = true;
 
- exports.default = parseConnectionString;
 
- var _url = require('url');
 
- var _url2 = _interopRequireDefault(_url);
 
- var _pgConnectionString = require('pg-connection-string');
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- function parseConnectionString(str) {
 
-   var parsed = _url2.default.parse(str);
 
-   var protocol = parsed.protocol;
 
-   if (protocol && protocol.indexOf('maria') === 0) {
 
-     protocol = 'maria';
 
-   }
 
-   if (protocol === null) {
 
-     return {
 
-       client: 'sqlite3',
 
-       connection: {
 
-         filename: str
 
-       }
 
-     };
 
-   }
 
-   if (protocol.slice(-1) === ':') {
 
-     protocol = protocol.slice(0, -1);
 
-   }
 
-   return {
 
-     client: protocol,
 
-     connection: protocol === 'postgres' ? (0, _pgConnectionString.parse)(str) : connectionObject(parsed)
 
-   };
 
- }
 
- function connectionObject(parsed) {
 
-   var connection = {};
 
-   var db = parsed.pathname;
 
-   if (db[0] === '/') {
 
-     db = db.slice(1);
 
-   }
 
-   if (parsed.protocol.indexOf('maria') === 0) {
 
-     connection.db = db;
 
-   } else {
 
-     connection.database = db;
 
-   }
 
-   if (parsed.hostname) {
 
-     if (parsed.protocol.indexOf('mssql') === 0) {
 
-       connection.server = parsed.hostname;
 
-     } else {
 
-       connection.host = parsed.hostname;
 
-     }
 
-   }
 
-   if (parsed.port) {
 
-     connection.port = parsed.port;
 
-   }
 
-   if (parsed.auth) {
 
-     var idx = parsed.auth.indexOf(':');
 
-     if (idx !== -1) {
 
-       connection.user = parsed.auth.slice(0, idx);
 
-       if (idx < parsed.auth.length - 1) {
 
-         connection.password = parsed.auth.slice(idx + 1);
 
-       }
 
-     } else {
 
-       connection.user = parsed.auth;
 
-     }
 
-   }
 
-   return connection;
 
- }
 
- module.exports = exports['default'];
 
 
  |