diff --git a/src/transformation/builtins/array.ts b/src/transformation/builtins/array.ts index 7bbd4cf98..ac48b6409 100644 --- a/src/transformation/builtins/array.ts +++ b/src/transformation/builtins/array.ts @@ -18,6 +18,11 @@ export function transformArrayConstructorCall( switch (expressionName) { case "isArray": return transformLuaLibFunction(context, LuaLibFeature.ArrayIsArray, node, ...params); + case "from": + context.diagnostics.push( + unsupportedProperty(expression.name, "array", expressionName, "Please use the spread operator instead.") + ); + break; default: context.diagnostics.push(unsupportedProperty(expression.name, "Array", expressionName)); } diff --git a/src/transformation/utils/diagnostics.ts b/src/transformation/utils/diagnostics.ts index 25442cdfa..d9788642d 100644 --- a/src/transformation/utils/diagnostics.ts +++ b/src/transformation/utils/diagnostics.ts @@ -91,7 +91,10 @@ export const unsupportedForTarget = createErrorDiagnosticFactory( ); export const unsupportedProperty = createErrorDiagnosticFactory( - (parentName: string, property: string) => `${parentName}.${property} is unsupported.` + (parentName: string, property: string, additionalSuggestion?: string) => { + const msg = `${parentName}.${property} is unsupported.`; + return additionalSuggestion === undefined ? msg : `${msg} ${additionalSuggestion}`; + } ); export const invalidAmbientIdentifierName = createErrorDiagnosticFactory(