2016-04-08 17:40:00 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var AutoTypeParser = require('./auto-type-parser');
|
|
|
|
var Logger = require('../../util/logger');
|
|
|
|
|
|
|
|
var logger = new Logger('auto-type');
|
|
|
|
|
|
|
|
var AutoType = {
|
|
|
|
run: function(entry, sequence, callback) {
|
|
|
|
logger.debug('Start', sequence);
|
|
|
|
try {
|
|
|
|
var parser = new AutoTypeParser(sequence);
|
|
|
|
var runner = parser.parse();
|
2016-04-08 22:33:07 +02:00
|
|
|
logger.debug('Parsed', runner.ops);
|
2016-04-08 17:40:00 +02:00
|
|
|
runner.resolve(entry, function(err) {
|
|
|
|
if (err) {
|
2016-04-08 23:14:09 +02:00
|
|
|
logger.error('Resolve error', err);
|
2016-04-08 17:40:00 +02:00
|
|
|
return callback(err);
|
|
|
|
}
|
2016-04-08 23:12:56 +02:00
|
|
|
logger.debug('Running', runner.ops);
|
2016-04-08 17:40:00 +02:00
|
|
|
runner.run(function(err) {
|
|
|
|
if (err) {
|
|
|
|
logger.error('Run error', err);
|
|
|
|
return callback(err);
|
|
|
|
}
|
|
|
|
logger.debug('Complete');
|
|
|
|
return callback();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
runner.run();
|
|
|
|
} catch (ex) {
|
|
|
|
logger.error('Parse error', ex);
|
|
|
|
return callback(ex);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = AutoType;
|