不要怂,就是干,撸起袖子干!

Commit cb245674 by Felix Becker Committed by Mick Hansen

Use prototypal inheritance for QueryGenerators (#6291)

instead of _.extend and _.clone
1 parent 95adb78a
...@@ -12,6 +12,8 @@ var throwMethodUndefined = function(methodName) { ...@@ -12,6 +12,8 @@ var throwMethodUndefined = function(methodName) {
}; };
var QueryGenerator = { var QueryGenerator = {
/* jshint proto:true */
__proto__: AbstractQueryGenerator,
options: {}, options: {},
dialect: 'mssql', dialect: 'mssql',
...@@ -710,4 +712,4 @@ function wrapSingleQuote(identifier){ ...@@ -710,4 +712,4 @@ function wrapSingleQuote(identifier){
return Utils.addTicks(identifier, "'"); return Utils.addTicks(identifier, "'");
} }
module.exports = Utils._.extend(Utils._.clone(AbstractQueryGenerator), QueryGenerator); module.exports = QueryGenerator;
'use strict'; 'use strict';
const Utils = require('../../utils'); const Utils = require('../../utils');
const AbstractQueryGenerator = require('../abstract/query-generator');
const QueryGenerator = { const QueryGenerator = {
/* jshint proto:true */
__proto__: AbstractQueryGenerator,
dialect: 'mysql', dialect: 'mysql',
createSchema() { createSchema() {
...@@ -343,4 +346,4 @@ function wrapSingleQuote(identifier){ ...@@ -343,4 +346,4 @@ function wrapSingleQuote(identifier){
return Utils.addTicks(identifier, '\''); return Utils.addTicks(identifier, '\'');
} }
module.exports = Utils._.extend(Utils._.clone(require('../abstract/query-generator')), QueryGenerator); module.exports = QueryGenerator;
...@@ -9,6 +9,8 @@ const semver = require('semver'); ...@@ -9,6 +9,8 @@ const semver = require('semver');
const _ = require('lodash'); const _ = require('lodash');
const QueryGenerator = { const QueryGenerator = {
/* jshint proto:true */
__proto__: AbstractQueryGenerator,
options: {}, options: {},
dialect: 'postgres', dialect: 'postgres',
...@@ -801,4 +803,4 @@ const QueryGenerator = { ...@@ -801,4 +803,4 @@ const QueryGenerator = {
} }
}; };
module.exports = Utils._.extend(Utils._.clone(AbstractQueryGenerator), QueryGenerator); module.exports = QueryGenerator;
...@@ -4,13 +4,11 @@ ...@@ -4,13 +4,11 @@
const Utils = require('../../utils'); const Utils = require('../../utils');
const Transaction = require('../../transaction'); const Transaction = require('../../transaction');
const _ = require('lodash'); const _ = require('lodash');
const MySqlQueryGenerator = require('../mysql/query-generator');
const MySqlQueryGenerator = Utils._.extend(
Utils._.clone(require('../abstract/query-generator')),
Utils._.clone(require('../mysql/query-generator'))
);
const QueryGenerator = { const QueryGenerator = {
/* jshint proto:true */
__proto__: MySqlQueryGenerator,
options: {}, options: {},
dialect: 'sqlite', dialect: 'sqlite',
...@@ -349,4 +347,4 @@ const QueryGenerator = { ...@@ -349,4 +347,4 @@ const QueryGenerator = {
} }
}; };
module.exports = Utils._.extend({}, MySqlQueryGenerator, QueryGenerator); module.exports = QueryGenerator;
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!