typescript-to-lua
Advanced tools
Comparing version 1.7.2 to 1.8.0
@@ -45,2 +45,3 @@ import { EmitHost } from "./transpilation"; | ||
Iterator = "Iterator", | ||
LuaIteratorSpread = "LuaIteratorSpread", | ||
Map = "Map", | ||
@@ -47,0 +48,0 @@ MathAtan2 = "MathAtan2", |
@@ -49,2 +49,3 @@ "use strict"; | ||
LuaLibFeature["Iterator"] = "Iterator"; | ||
LuaLibFeature["LuaIteratorSpread"] = "LuaIteratorSpread"; | ||
LuaLibFeature["Map"] = "Map"; | ||
@@ -51,0 +52,0 @@ LuaLibFeature["MathAtan2"] = "MathAtan2"; |
@@ -267,2 +267,10 @@ { | ||
}, | ||
"LuaIteratorSpread": { | ||
"exports": [ | ||
"__TS__LuaIteratorSpread" | ||
], | ||
"dependencies": [ | ||
"Unpack" | ||
] | ||
}, | ||
"Map": { | ||
@@ -269,0 +277,0 @@ "exports": [ |
@@ -63,3 +63,4 @@ import * as ts from "typescript"; | ||
} | ||
export declare function isLuaIterable(context: TransformationContext, type: ts.Type): boolean; | ||
export declare function getIterableExtensionTypeForType(context: TransformationContext, type: ts.Type): IterableExtensionKind | undefined; | ||
export declare function getIterableExtensionKindForNode(context: TransformationContext, node: ts.Node): IterableExtensionKind | undefined; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getIterableExtensionKindForNode = exports.getIterableExtensionTypeForType = exports.IterableExtensionKind = exports.getExtensionKindForSymbol = exports.getExtensionKindForNode = exports.getExtensionKindForType = exports.ExtensionKind = void 0; | ||
exports.getIterableExtensionKindForNode = exports.getIterableExtensionTypeForType = exports.isLuaIterable = exports.IterableExtensionKind = exports.getExtensionKindForSymbol = exports.getExtensionKindForNode = exports.getExtensionKindForType = exports.ExtensionKind = void 0; | ||
const ts = require("typescript"); | ||
@@ -99,2 +99,6 @@ var ExtensionKind; | ||
})(IterableExtensionKind = exports.IterableExtensionKind || (exports.IterableExtensionKind = {})); | ||
function isLuaIterable(context, type) { | ||
return getPropertyValue(context, type, "__tstlIterable") !== undefined; | ||
} | ||
exports.isLuaIterable = isLuaIterable; | ||
function getIterableExtensionTypeForType(context, type) { | ||
@@ -101,0 +105,0 @@ const value = getPropertyValue(context, type, "__tstlIterable"); |
@@ -6,2 +6,3 @@ "use strict"; | ||
const lua = require("../../LuaAST"); | ||
const language_extensions_1 = require("../utils/language-extensions"); | ||
const lua_ast_1 = require("../utils/lua-ast"); | ||
@@ -64,2 +65,5 @@ const lualib_1 = require("../utils/lualib"); | ||
const type = context.checker.getTypeAtLocation(node.expression); // not ts-inner expression, in case of casts | ||
if ((0, language_extensions_1.isLuaIterable)(context, type)) { | ||
return (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.LuaIteratorSpread, node, innerExpression); | ||
} | ||
if ((0, typescript_1.isArrayType)(context, type)) { | ||
@@ -66,0 +70,0 @@ return (0, lua_ast_1.createUnpackCall)(context, innerExpression, node); |
{ | ||
"name": "typescript-to-lua", | ||
"version": "1.7.2", | ||
"version": "1.8.0", | ||
"description": "A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!", | ||
@@ -5,0 +5,0 @@ "repository": "https://github.com/TypeScriptToLua/TypeScriptToLua", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
879542
324
14130
1