mirror of
https://github.com/danbulant/sql2csv
synced 2026-05-19 12:28:51 +00:00
Add options
This commit is contained in:
parent
b338bbbf84
commit
a912fde338
1 changed files with 51 additions and 2 deletions
53
sql2csv.js
53
sql2csv.js
|
|
@ -1,2 +1,51 @@
|
|||
var sql2csv = {};
|
||||
module.exports = sql2scv;
|
||||
const { execSync } = require('child_process');
|
||||
|
||||
class sql2csv {
|
||||
log(str){
|
||||
if(!this.options.logging) return;
|
||||
console.log(this.options.prefix + str + "\x1b[0m");
|
||||
}
|
||||
warn(str){
|
||||
if(!this.options.logging) return;
|
||||
console.warn(this.options.prefix + "\x1b[33m" + str + "\x1b[0m");
|
||||
}
|
||||
|
||||
constructor(options) {
|
||||
if(typeof options != undefined){
|
||||
this.options = options;
|
||||
if(this.options.conn) this.conn = this.options.conn;
|
||||
if(this.options.connection) this.conn = this.options.connection;//long alias for conn
|
||||
if(!this.options.prefix) this.options.prefix = "[SQL2CSV] ";
|
||||
if(this.options.colors) this.options.colors = true;
|
||||
} else {
|
||||
this.options = {};
|
||||
}
|
||||
if(!this.options.skipMysqlCheck){
|
||||
try {
|
||||
this.log("Checking for mysql driver...");
|
||||
execSync('npm ls mysql --json');
|
||||
this.log("\x1b[32mMysql driver is installed");
|
||||
} catch(e){
|
||||
this.warn("Remember sql2csv needs mysql driver.");
|
||||
this.warn("You can still use sql2csv with other drivers, but the conversion might not work.")
|
||||
}
|
||||
} else {
|
||||
this.warn("Mysql driver check skipped");
|
||||
}
|
||||
this.log("\x1b[32mInitialized");
|
||||
}
|
||||
//update certain option
|
||||
setOption(name, value){
|
||||
this.options[name] = value;
|
||||
}
|
||||
//overwrites options
|
||||
setOptions(options){
|
||||
this.options = options;
|
||||
}
|
||||
//set connection
|
||||
setConnection(conn){
|
||||
this.conn = conn;
|
||||
}
|
||||
|
||||
}
|
||||
module.exports = sql2csv;
|
||||
|
|
|
|||
Loading…
Reference in a new issue