fix(basic.gblib): Error handling improved.

This commit is contained in:
Rodrigo Rodriguez 2021-02-23 07:26:08 -03:00
parent 4d70f9827f
commit a4c3f42911
2 changed files with 14 additions and 11 deletions

View file

@ -424,31 +424,31 @@ export class GBVMService extends GBService {
code = code.replace(/("[^"]*"|'[^']*')|\btalk\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.talk' : $1;
});
code = code.replace(/\bhear\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\bhear\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.hear' : $1;
});
code = code.replace(/\bsendEmail\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\bsendEmail\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.sendEmail' : $1;
});
code = code.replace(/\baskEmail\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\baskEmail\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.askEmail' : $1;
});
code = code.replace(/\bsendFileTo\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\bsendFileTo\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.sendFileTo' : $1;
});
code = code.replace(/\bsendFile\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\bsendFile\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.sendFile' : $1;
});
code = code.replace(/\bsetLanguage\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\bsetLanguage\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.setLanguage' : $1;
});
code = code.replace(/\btransfer\b/gi, ($0, $1) => {
code = code.replace(/("[^"]*"|'[^']*')|\btransfer\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.transfer' : $1;
});
code = code.replace(/("[^"]*"|'[^']*')|\bmenu\b/gi, ($0, $1) => {
return $1 === undefined ? 'this.menu' : $1;
});
// await insertion.
code = code.replace(/this\./gm, 'await this.');

View file

@ -47,7 +47,10 @@ export class TSCompiler {
private static shouldIgnoreError(diagnostic) {
const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
if (message.indexOf('Cannot find name') >= 0 || message.indexOf('Cannot use imports') >= 0) {
if (message.indexOf('Cannot find name') >= 0
|| message.indexOf('Cannot find module') >= 0
|| message.indexOf('implicitly has an') >= 0
) {
return true;
}
@ -84,10 +87,10 @@ export class TSCompiler {
diagnostic.file.fileName.indexOf('request-promise') == -1
) {
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
GBLog.warn(`BASIC error: ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
GBLog.error(`BASIC error: ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
}
} else {
GBLog.warn(`BASIC error: ${message}`);
GBLog.error(`BASIC error: ${message}`);
}
}
});