UNPKG

roblox-ts

Version:

<div align="center"><img width=25% src="https://i.imgur.com/yCjHmng.png"></div> <h1 align="center"><a href="https://roblox-ts.github.io/">roblox-ts</a></h1> <div align="center">A TypeScript-to-Lua Compiler for Roblox</div> <br> <div align="center"> <a hr

37 lines 1.39 kB
"use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const ts = __importStar(require("ts-morph")); const _1 = require("."); const typeUtilities_1 = require("../typeUtilities"); const utility_1 = require("../utility"); function compileArrayLiteralExpression(state, node) { const elements = node.getElements(); if (elements.length === 0) { return "{}"; } // optimizations if (elements.length === 1) { const element = elements[0]; if (ts.TypeGuards.isSpreadElement(element)) { const exp = utility_1.skipNodesDownwards(element.getExpression()); if (!typeUtilities_1.isArrayType(typeUtilities_1.getType(exp))) { return _1.compileSpreadExpression(state, exp); } } } if (_1.shouldCompileAsSpreadableList(elements)) { return _1.compileSpreadableListAndJoin(state, elements); } else { return `{ ${_1.compileList(state, elements).join(", ")} }`; } } exports.compileArrayLiteralExpression = compileArrayLiteralExpression; //# sourceMappingURL=array.js.map