UNPKG

roblox-ts

Version:

A TypeScript-to-Luau Compiler for Roblox

33 lines 1.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformPropertyDeclaration = transformPropertyDeclaration; const luau_ast_1 = __importDefault(require("@roblox-ts/luau-ast")); const diagnostics_1 = require("../../../Shared/diagnostics"); const DiagnosticService_1 = require("../../classes/DiagnosticService"); const transformExpression_1 = require("../expressions/transformExpression"); const transformPropertyName_1 = require("../transformPropertyName"); const typescript_1 = __importDefault(require("typescript")); function transformPropertyDeclaration(state, node, name) { if (!typescript_1.default.hasStaticModifier(node)) { return luau_ast_1.default.list.make(); } if (typescript_1.default.isPrivateIdentifier(node.name)) { DiagnosticService_1.DiagnosticService.addDiagnostic(diagnostics_1.errors.noPrivateIdentifier(node)); return luau_ast_1.default.list.make(); } if (!node.initializer) { return luau_ast_1.default.list.make(); } return luau_ast_1.default.list.make(luau_ast_1.default.create(luau_ast_1.default.SyntaxKind.Assignment, { left: luau_ast_1.default.create(luau_ast_1.default.SyntaxKind.ComputedIndexExpression, { expression: name, index: (0, transformPropertyName_1.transformPropertyName)(state, node.name), }), operator: "=", right: (0, transformExpression_1.transformExpression)(state, node.initializer), })); } //# sourceMappingURL=transformPropertyDeclaration.js.map