Closed
Description
TypeScript Version: 2.3.4
Code
- compiler api invoke
import * as ts from "typescript";
function _go_transpileModule(script: string): string {
let result = ts.transpileModule(script, {compilerOptions: {module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES5}});
return result.outputText;
}
I call _go_transpileModule method in myself embed v8 engine application, not node.js.
- ts source code
function sqlDemo() {
try {
let s = db.sql();
let records = <Object[]>s.exec('select * from script');
records.forEach((r) => printRecord(r));
for (let i = 0; i < records.length; i++) {
printRecord(records[i]);
}
s.exec("update script set id = 1111 where id = 1;");
} catch (error) {
console.log(error.name, error.message);
}
}
- the javascript code after transpiled
function sqlDemo() {
try {
var s = db.sql();
var records = <Object />, _a = > s.exec('select * from script');
records.forEach(function (r) { return printRecord(r); });
for (var i = 0; i < records.length; i++) {
printRecord(records[i]);
}
s.exec("update script set id = 1111 where id = 1;");
}
catch (error) {
console.log(error.name, error.message);
}
}
Expected behavior:
everything is ok.
Actual behavior:
but the follow code:
<Object[]>
has been translated to
<Object />, _a = >
How can I solve this problem?