Skip to content

Commit

Permalink
chore(cs): add codestyle
Browse files Browse the repository at this point in the history
Signed-off-by: Tobias Gurtzick <magic@wizardtales.com>
  • Loading branch information
wzrdtales committed Feb 11, 2019
1 parent bf2e7c4 commit 014f3c3
Show file tree
Hide file tree
Showing 5 changed files with 544 additions and 319 deletions.
8 changes: 8 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"extends": "standard",
"rules": {
"semi": ["error", "always"],
"no-unused-vars": "warn",
"quotes": ["error", "single", { "avoidEscape": true, "allowTemplateLiterals": true }]
}
}
3 changes: 3 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"singleQuote": true
}
7 changes: 7 additions & 0 deletions .tern-project
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"plugins": {
"node": {},
"lint": {},
"node-extension": {}
}
}
165 changes: 78 additions & 87 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,75 +1,68 @@
var util = require('util');
var sqlite3 = require('sqlite3').verbose();
var Base = require('db-migrate-base');
var Promise = require('bluebird');
var util = require('util');
var log;
var type;
const util = require('util');
const sqlite3 = require('sqlite3').verbose();
const Base = require('db-migrate-base');
const Promise = require('bluebird');


var defaultMode = sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
internals = {};
var defaultMode = sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE;
var internals = {};

var Sqlite3Driver = Base.extend({
init: function(connection) {
init: function (connection, intern) {
this.log = intern.mod.log;
this.type = intern.mod.type;
this._escapeString = '"';
this._super(internals);
this.connection = connection;
},

createDatabase: function(cb){
createDatabase: function (cb) {
// sqlite does this automatically if needed
return Promise.resolve(null).nodeify(cb);
},

startMigration: function(cb){

if(!internals.notransactions) {

return Promise.promisify(this.runSql.bind(this))('BEGIN TRANSACTION;').nodeify(cb);
}
else
return Promise.resolve().nodeify(cb);
startMigration: function (cb) {
if (!internals.notransactions) {
return Promise.promisify(this.runSql.bind(this))(
'BEGIN TRANSACTION;'
).nodeify(cb);
} else return Promise.resolve().nodeify(cb);
},

endMigration: function(cb){

if(!internals.notransactions) {

endMigration: function (cb) {
if (!internals.notransactions) {
return Promise.promisify(this.runSql.bind(this))('COMMIT;').nodeify(cb);
}
else
return Promise.resolve(null).nodeify(cb);
} else return Promise.resolve(null).nodeify(cb);
},

mapDataType: function(str) {
switch(str) {
case type.DATE_TIME:
mapDataType: function (str) {
switch (str) {
case this.type.DATE_TIME:
return 'datetime';
case type.TIME:
case this.type.TIME:
return 'time';
}
return this._super(str);
},

switchDatabase: function(options, callback) {
switchDatabase: function (options, callback) {
callback(null);
},

createColumnDef: function(name, spec, options) {
createColumnDef: function (name, spec, options) {
name = '"' + name + '"';
var dType = this.mapDataType(spec.type);
var len = spec.length ? util.format('(%s)', spec.length) : '';
var dType = this.mapDataType(spec.type);
var len = spec.length ? util.format('(%s)', spec.length) : '';
var constraint = this.createColumnConstraint(spec, options);

if(spec.type === type.INTEGER)
len = '';
if (spec.type === this.type.INTEGER) len = '';

return { foreignKey: null,
constraints: [name, dType, len, constraint].join(' ') };
return {
foreignKey: null,
constraints: [name, dType, len, constraint].join(' ')
};
},

createColumnConstraint: function(spec, options) {
createColumnConstraint: function (spec, options) {
var constraint = [];
if (spec.primaryKey && options.emitPrimaryKey) {
constraint.push('PRIMARY KEY');
Expand All @@ -89,96 +82,94 @@ var Sqlite3Driver = Base.extend({
if (spec.defaultValue !== undefined) {
constraint.push('DEFAULT');

if(typeof(spec.defaultValue) === 'string')
if (typeof spec.defaultValue === 'string') {
constraint.push('"' + spec.defaultValue + '"');
else
constraint.push(spec.defaultValue);
} else constraint.push(spec.defaultValue);
}

return constraint.join(' ');
},

renameTable: function(tableName, newTableName, callback) {
var sql = util.format('ALTER TABLE %s RENAME TO %s', tableName, newTableName);
renameTable: function (tableName, newTableName, callback) {
var sql = util.format(
'ALTER TABLE %s RENAME TO %s',
tableName,
newTableName
);

return this.runSql(sql).nodeify(callback);
},

//removeColumn: function(tableName, columnName, callback) {
//},
// removeColumn: function(tableName, columnName, callback) {
// },

//renameColumn: function(tableName, oldColumnName, newColumnName, callback) {
//};
// renameColumn: function(tableName, oldColumnName, newColumnName, callback) {
// };

//changeColumn: function(tableName, columnName, columnSpec, callback) {
//},
// changeColumn: function(tableName, columnName, columnSpec, callback) {
// },

runSql: function() {
runSql: function () {
var callback = arguments[arguments.length - 1];
var params = arguments;

log.sql.apply(null, arguments);
if(internals.dryRun) {
this.log.sql.apply(null, arguments);
if (internals.dryRun) {
return Promise.resolve().nodeify(callback);
}

return new Promise(function(resolve, reject) {
var prCB = function(err, data) {
return (err ? reject(err) : resolve(data));
};

if( typeof(params[params.length - 1]) === 'function' )
params[params.length - 1] = prCB;
else
params[params.length++] = prCB;


if(params.length === 1 || (callback && typeof(params[1]) === 'function'))
this.connection.exec.apply(this.connection, params);
else
this.connection.run.apply(this.connection, params);
}.bind(this)).nodeify(callback);
return new Promise(
function (resolve, reject) {
var prCB = function (err, data) {
return err ? reject(err) : resolve(data);
};

if (typeof params[params.length - 1] === 'function') {
params[params.length - 1] = prCB;
} else params[params.length++] = prCB;

if (
params.length === 1 ||
(callback && typeof params[1] === 'function')
) {
this.connection.exec.apply(this.connection, params);
} else this.connection.run.apply(this.connection, params);
}.bind(this)
).nodeify(callback);
},

all: function() {

log.sql.apply(null, arguments);
all: function () {
this.log.sql.apply(null, arguments);

this.connection.all.apply(this.connection, arguments);
},

close: function(callback) {
close: function (callback) {
this.connection.close();

if(typeof(callback) === 'function')
callback(null);
else
return Promise.resolve();
if (typeof callback === 'function') callback(null);
else return Promise.resolve();
}

});

Promise.promisifyAll(Sqlite3Driver);

exports.connect = function(config, intern, callback) {
exports.connect = function (config, intern, callback) {
var mode = config.mode || defaultMode;

internals = intern;

log = internals.mod.log;
type = internals.mod.type;

if (config.db) {
callback(null, new Sqlite3Driver(config.db));
} else {
if (typeof(config.filename) === 'undefined') {
if (typeof config.filename === 'undefined') {
console.error('filename is required in database.json');
return;
}
var db = new sqlite3.Database(config.filename, mode);
db.on("error", callback);
db.on("open", function() {
callback(null, new Sqlite3Driver(db));
db.on('error', callback);
db.on('open', function () {
callback(null, new Sqlite3Driver(db, intern));
});
}
};
Loading

0 comments on commit 014f3c3

Please sign in to comment.