Skip to content

Commit

Permalink
Preparando para #23
Browse files Browse the repository at this point in the history
  • Loading branch information
diegoefe committed Nov 7, 2016
1 parent e7e95bf commit 4d2c532
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 8 deletions.
8 changes: 5 additions & 3 deletions bin/fast.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function fastFinalize(info, outStream) {

function streamToPromise(stream) {
function resolveResult(func) {
return func(stream.preparedResult);
return func({preparedResult:stream.preparedResult, stats:stream.stats});
}
return new Promise(function(resolve, reject) {
var res = resolveResult.bind(undefined, resolve);
Expand All @@ -85,8 +85,9 @@ function doFast(params, inputBase, fastBufferingThreshold, outputStream) {
var rl;
var preparedResult;
return Promise.resolve().then(function() {
return txtToSql.verifyInputParams(params);
}).then(fastProcessEncodingOptions)
return txtToSql.initializeStats(params);
}).then(txtToSql.verifyInputParams)
.then(fastProcessEncodingOptions)
.then(function(info) {
inStream = fsSync.createReadStream(inputBase+'.txt', {encoding:'utf8'});
outStream = outputStream || fsSync.createWriteStream(inputBase+'.sql', {encoding:'utf8'});
Expand Down Expand Up @@ -128,6 +129,7 @@ function doFast(params, inputBase, fastBufferingThreshold, outputStream) {
fastFinalize(info, outStream);
}
rl.preparedResult = preparedResult;
rl.stats = txtToSql.generateStats(info).stats;
outStream.end();
});
return streamToPromise(rl);
Expand Down
10 changes: 7 additions & 3 deletions bin/txt-to-sql-run.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,14 @@ Promises.start(function() {
}).then(function(rawInput) {
params.rawTable = rawInput;
if(cmdParams.fast) {
return fast.doFast(params, inputBase, fastBufferingThreshold).then(function(preparedResult) {
return writeConfigYaml(createParams(params, preparedResult), inputBase+'.yaml');
var result;
return fast.doFast(params, inputBase, fastBufferingThreshold).then(function(res) {
result = res;
return writeConfigYaml(createParams(params, result.preparedResult), inputBase+'.yaml');
}).then(function() {
process.stdout.write("Generated '"+inputBase+".sql'")
process.stdout.write("Generated '"+inputBase+".sql'");
// WARN: implicit string conversion of result.stats!
process.stdout.write("\n"+result.stats);
});
} else if (cmdParams.prepare) {
return doPrepare(params, inputYaml);
Expand Down
17 changes: 16 additions & 1 deletion lib/txt-to-sql.js
Original file line number Diff line number Diff line change
Expand Up @@ -657,14 +657,27 @@ function prepare(info) {
.catch(catchErrors.bind(null, info));
}

function initializeStats(info) {
info.stats = {};
return info;
}

function generateStats(info) {
info.stats = JSON.stringify(info.stats);
return info;
}

function generateScripts(info){
return setup(info)
return Promise.resolve(info)
.then(initializeStats)
.then(setup)
.then(quoteNames)
.then(generateDropTable)
.then(generateCreateScript)
.then(removeIgnoredLines)
.then(generateInsertScript)
.then(processOutputBuffer)
.then(generateStats)
.catch(catchErrors.bind(null, info));
}

Expand Down Expand Up @@ -700,6 +713,8 @@ txtToSql.createAdaptedRows = createAdaptedRows;
txtToSql.createInsertInto = createInsertInto;
txtToSql.createInsertValues = createInsertValues;
txtToSql.generatePrepareResult = generatePrepareResult;
txtToSql.initializeStats = initializeStats;
txtToSql.generateStats = generateStats;

txtToSql.engines = engines;

Expand Down
17 changes: 16 additions & 1 deletion web/txt-to-sql.js
Original file line number Diff line number Diff line change
Expand Up @@ -657,14 +657,27 @@ function prepare(info) {
.catch(catchErrors.bind(null, info));
}

function initializeStats(info) {
info.stats = {};
return info;
}

function generateStats(info) {
info.stats = JSON.stringify(info.stats);
return info;
}

function generateScripts(info){
return setup(info)
return Promise.resolve(info)
.then(initializeStats)
.then(setup)
.then(quoteNames)
.then(generateDropTable)
.then(generateCreateScript)
.then(removeIgnoredLines)
.then(generateInsertScript)
.then(processOutputBuffer)
.then(generateStats)
.catch(catchErrors.bind(null, info));
}

Expand Down Expand Up @@ -700,6 +713,8 @@ txtToSql.createAdaptedRows = createAdaptedRows;
txtToSql.createInsertInto = createInsertInto;
txtToSql.createInsertValues = createInsertValues;
txtToSql.generatePrepareResult = generatePrepareResult;
txtToSql.initializeStats = initializeStats;
txtToSql.generateStats = generateStats;

txtToSql.engines = engines;

Expand Down

0 comments on commit 4d2c532

Please sign in to comment.