typescript-to-lua
Version:
A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!
25 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformBlock = void 0;
exports.transformBlockOrStatement = transformBlockOrStatement;
exports.transformScopeBlock = transformScopeBlock;
const ts = require("typescript");
const lua = require("../../LuaAST");
const scope_1 = require("../utils/scope");
function transformBlockOrStatement(context, statement) {
return context.transformStatements(ts.isBlock(statement) ? statement.statements : statement);
}
function transformScopeBlock(context, node, scopeType) {
context.pushScope(scopeType, node);
const statements = (0, scope_1.performHoisting)(context, context.transformStatements(node.statements));
const scope = context.popScope();
return [lua.createBlock(statements, node), scope];
}
const transformBlock = (node, context) => {
context.pushScope(scope_1.ScopeType.Block, node);
const statements = (0, scope_1.performHoisting)(context, context.transformStatements(node.statements));
context.popScope();
return lua.createDoStatement(statements, node);
};
exports.transformBlock = transformBlock;
//# sourceMappingURL=block.js.map