fuse-box-typechecker
Version:
Fuse-Box type checker plugin for fusebox 4.0.0 ++
70 lines • 3.17 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const interfaces_1 = require("./interfaces");
const inspectCode_1 = require("./inspectCode");
const printResult_1 = require("./printResult");
const watchSrc_1 = require("./watchSrc");
const printSettings_1 = require("./printSettings");
const debugPrint_1 = require("./debugPrint");
let lastResult;
let printErrorTotal;
// listen for messages
process.on('message', function (msg) {
debugPrint_1.debugPrint(`worker message recived ${msg.type}`);
switch (msg.type) {
// tell checker to inspect code
case interfaces_1.WorkerCommand.inspectCode:
debugPrint_1.debugPrint('worker inspectCode');
if (msg.options) {
lastResult = inspectCode_1.inspectCode(msg.options, lastResult && lastResult.oldProgram);
}
else {
throw new Error('You tried to inspect code without ts/lint options');
}
break;
// tell checker to inspect code
case interfaces_1.WorkerCommand.inspectCodeAndPrint:
debugPrint_1.debugPrint('worker inspectCodeAndPrint');
if (msg.options) {
lastResult = inspectCode_1.inspectCode(msg.options, lastResult && lastResult.oldProgram);
printErrorTotal = printResult_1.printResult(msg.options, lastResult);
printErrorTotal = printErrorTotal;
}
else {
throw new Error('You tried to inspect code without ts/lint options');
}
break;
case interfaces_1.WorkerCommand.printResult:
debugPrint_1.debugPrint('worker printResult');
if (msg.options && lastResult) {
printErrorTotal = printResult_1.printResult(msg.options, lastResult);
}
else {
throw new Error('You tried to print code without ts/lint options or without having inspected code');
}
break;
case interfaces_1.WorkerCommand.printSettings:
debugPrint_1.debugPrint('worker printSettings');
if (msg.options) {
printSettings_1.printSettings(msg.options);
}
else {
throw new Error('You tried to print settings without ts/lint options or without having inspected code');
}
break;
case interfaces_1.WorkerCommand.watch:
debugPrint_1.debugPrint('worker watch');
if (msg.options) {
watchSrc_1.watchSrc(msg.pathToWatch, msg.options, () => {
lastResult = inspectCode_1.inspectCode(msg.options, lastResult && lastResult.oldProgram);
printErrorTotal = printResult_1.printResult(msg.options, lastResult);
});
}
else {
throw new Error('You tried to print code without ts/lint options or without having inspected code');
}
break;
}
});
debugPrint_1.debugPrint('worker started');
//# sourceMappingURL=worker.js.map
;