diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 39869889a..034f8c91e 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -1175,7 +1175,7 @@ export abstract class LuaTranspiler { if (tsHelper.isTupleReturnCall(node.initializer, this.checker)) { return `local ${vars}=${value}\n`; } else { - return `local ${vars}=table.unpack(${value})\n`; + return `local ${vars}=${this.getUnpackFunction()}(${value})\n`; } } else { throw new TranspileError( @@ -1535,4 +1535,8 @@ export abstract class LuaTranspiler { return result; } + + protected getUnpackFunction() { + return "unpack"; + } } diff --git a/src/targets/Transpiler.52.ts b/src/targets/Transpiler.52.ts index 07b48e50a..4bb938edd 100644 --- a/src/targets/Transpiler.52.ts +++ b/src/targets/Transpiler.52.ts @@ -53,4 +53,9 @@ export class LuaTranspiler52 extends LuaTranspiler51 { return `bit32.arshift(${lhs},${rhs})`; } } + + /** @override */ + protected getUnpackFunction() { + return "table.unpack"; + } }