Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: circular dependencies #3081

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 9 additions & 15 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,24 @@

const SqlString = require('sqlstring');

const Connection = require('./lib/connection.js');
const ConnectionConfig = require('./lib/connection_config.js');
const parserCache = require('./lib/parsers/parser_cache');
const parserCache = require('./lib/parsers/parser_cache.js');

exports.createConnection = function(opts) {
return new Connection({ config: new ConnectionConfig(opts) });
};
const Connection = require('./lib/connection.js');

exports.createConnection = require('./lib/create_connection.js');
exports.connect = exports.createConnection;
exports.Connection = Connection;
exports.Connection = Connection
exports.ConnectionConfig = ConnectionConfig;

const Pool = require('./lib/pool.js');
const PoolCluster = require('./lib/pool_cluster.js');
const createPool = require('./lib/create_pool.js');
const createPoolCluster = require('./lib/create_pool_cluster.js');

exports.createPool = function(config) {
const PoolConfig = require('./lib/pool_config.js');
return new Pool({ config: new PoolConfig(config) });
};
exports.createPool = createPool

exports.createPoolCluster = function(config) {
const PoolCluster = require('./lib/pool_cluster.js');
return new PoolCluster(config);
};
exports.createPoolCluster = createPoolCluster;

exports.createQuery = Connection.createQuery;

Expand All @@ -42,7 +36,7 @@ exports.createServer = function(handler) {
return s;
};

exports.PoolConnection = require('./lib/pool_connection');
exports.PoolConnection = require('./lib/pool_connection.js');
exports.authPlugins = require('./lib/auth_plugins');
exports.escape = SqlString.escape;
exports.escapeId = SqlString.escapeId;
Expand Down
10 changes: 10 additions & 0 deletions lib/create_connection.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

const Connection = require('./connection.js');
const ConnectionConfig = require('./connection_config.js');

function createConnection(opts) {
return new Connection({ config: new ConnectionConfig(opts) });
}

module.exports = createConnection;
10 changes: 10 additions & 0 deletions lib/create_pool.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

const Pool = require('./pool.js');
const PoolConfig = require('./pool_config.js');

function createPool(config) {
return new Pool({ config: new PoolConfig(config) });
}

module.exports = createPool
9 changes: 9 additions & 0 deletions lib/create_pool_cluster.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
'use strict';

const PoolCluster = require('./pool_cluster.js');

function createPoolCluster(config) {
return new PoolCluster(config);
}

module.exports = createPoolCluster;
9 changes: 4 additions & 5 deletions lib/pool.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
'use strict';

const process = require('process');
const mysql = require('../index.js');

const SqlString = require('sqlstring');
const EventEmitter = require('events').EventEmitter;
const PoolConnection = require('./pool_connection.js');
const Queue = require('denque');
Expand Down Expand Up @@ -214,7 +213,7 @@ class Pool extends EventEmitter {
}

format(sql, values) {
return mysql.format(
return SqlString.format(
sql,
values,
this.config.connectionConfig.stringifyObjects,
Expand All @@ -223,15 +222,15 @@ class Pool extends EventEmitter {
}

escape(value) {
return mysql.escape(
return SqlString.escape(
value,
this.config.connectionConfig.stringifyObjects,
this.config.connectionConfig.timezone
);
}

escapeId(value) {
return mysql.escapeId(value, false);
return SqlString.escapeId(value, false);
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/pool_connection.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

const Connection = require('../index.js').Connection;
const Connection = require('./connection.js');

class PoolConnection extends Connection {
constructor(pool, options) {
Expand Down
49 changes: 28 additions & 21 deletions promise.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
'use strict';

const core = require('./index.js');
const SqlString = require('sqlstring');
const EventEmitter = require('events').EventEmitter;
const parserCache = require('./lib/parsers/parser_cache.js');
const PoolConnection = require('./lib/pool_connection.js');
const Pool = require('./lib/pool.js');
const PoolCluster = require('./lib/pool_cluster.js');
const createConnection = require('./lib/create_connection.js');
const Connection = require('./lib/connection.js');
const createPool = require('./lib/create_pool.js');
const createPoolCluster = require('./lib/create_pool_cluster.js');

function makeDoneCb(resolve, reject, localErr) {
return function (err, rows, fields) {
Expand Down Expand Up @@ -248,8 +255,8 @@
}
}

function createConnection(opts) {
const coreConnection = core.createConnection(opts);
function createConnectionPromise(opts) {
const coreConnection = createConnection(opts);
const createConnectionErr = new Error();
const thePromise = opts.Promise || Promise;
if (!thePromise) {
Expand Down Expand Up @@ -286,12 +293,12 @@
const func = functionsToWrap[i];

if (
typeof core.Connection.prototype[func] === 'function' &&
typeof Connection.prototype[func] === 'function' &&
PromiseConnection.prototype[func] === undefined
) {
PromiseConnection.prototype[func] = (function factory(funcName) {
return function () {
return core.Connection.prototype[funcName].apply(
return Connection.prototype[funcName].apply(

Check warning on line 301 in promise.js

View check run for this annotation

Codecov / codecov/patch

promise.js#L301

Added line #L301 was not covered by tests
this.connection,
arguments
);
Expand Down Expand Up @@ -319,7 +326,7 @@
}

destroy() {
return core.PoolConnection.prototype.destroy.apply(
return PoolConnection.prototype.destroy.apply(
this.connection,
arguments
);
Expand Down Expand Up @@ -407,8 +414,8 @@
}
}

function createPool(opts) {
const corePool = core.createPool(opts);
function createPromisePool(opts) {
const corePool = createPool(opts);
const thePromise = opts.Promise || Promise;
if (!thePromise) {
throw new Error(
Expand All @@ -426,12 +433,12 @@
const func = functionsToWrap[i];

if (
typeof core.Pool.prototype[func] === 'function' &&
typeof Pool.prototype[func] === 'function' &&
PromisePool.prototype[func] === undefined
) {
PromisePool.prototype[func] = (function factory(funcName) {
return function () {
return core.Pool.prototype[funcName].apply(this.pool, arguments);
return Pool.prototype[funcName].apply(this.pool, arguments);
};
})(func);
}
Expand Down Expand Up @@ -527,12 +534,12 @@
const func = functionsToWrap[i];

if (
typeof core.PoolCluster.prototype[func] === 'function' &&
typeof PoolCluster.prototype[func] === 'function' &&
PromisePoolCluster.prototype[func] === undefined
) {
PromisePoolCluster.prototype[func] = (function factory(funcName) {
return function () {
return core.PoolCluster.prototype[funcName].apply(this.poolCluster, arguments);
return PoolCluster.prototype[funcName].apply(this.poolCluster, arguments);

Check warning on line 542 in promise.js

View check run for this annotation

Codecov / codecov/patch

promise.js#L542

Added line #L542 was not covered by tests
};
})(func);
}
Expand All @@ -541,8 +548,8 @@
'add'
]);

function createPoolCluster(opts) {
const corePoolCluster = core.createPoolCluster(opts);
function createPromisePoolCluster(opts) {
const corePoolCluster = createPoolCluster(opts);
const thePromise = (opts && opts.Promise) || Promise;
if (!thePromise) {
throw new Error(
Expand All @@ -554,13 +561,13 @@
return new PromisePoolCluster(corePoolCluster, thePromise);
}

exports.createConnection = createConnection;
exports.createPool = createPool;
exports.createPoolCluster = createPoolCluster;
exports.escape = core.escape;
exports.escapeId = core.escapeId;
exports.format = core.format;
exports.raw = core.raw;
exports.createConnection = createConnectionPromise;
exports.createPool = createPromisePool;
exports.createPoolCluster = createPromisePoolCluster;
exports.escape = SqlString.escape;
exports.escapeId = SqlString.escapeId;
exports.format = SqlString.format;
exports.raw = SqlString.raw;
exports.PromisePool = PromisePool;
exports.PromiseConnection = PromiseConnection;
exports.PromisePoolConnection = PromisePoolConnection;
Expand Down
Loading