From 7a5253e8ad1e75135605c9514c434a0951bc7107 Mon Sep 17 00:00:00 2001 From: farfromrefuge Date: Sat, 1 Nov 2025 17:34:20 +0100 Subject: [PATCH] fix: optional error parameter for NSError out parameters Add optional error parameter for methods with NSError** --- .../src/TypeScript/DefinitionWriter.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/metadata-generator/src/TypeScript/DefinitionWriter.cpp b/metadata-generator/src/TypeScript/DefinitionWriter.cpp index 3d8b86ab..d081c8fb 100644 --- a/metadata-generator/src/TypeScript/DefinitionWriter.cpp +++ b/metadata-generator/src/TypeScript/DefinitionWriter.cpp @@ -611,6 +611,17 @@ std::string DefinitionWriter::writeMethod(MethodMeta* meta, BaseClassMeta* owner } + // If the method has an NSError** last parameter, emit an optional error parameter + if (meta->getFlags(::Meta::MetaFlags::MethodHasErrorOutParameter)) { + // If there were already parameters emitted, ensure we add a comma + if (lastParamIndex > 1) { + output << ", "; + } + // Emit a typed optional parameter for the NSError** out parameter. + // We use the conventional name 'error' and the interop.Reference wrapper expected by NativeScript. + output << "error?: interop.Reference"; + } + output << "): "; if (skipGenerics) { output << "any;";