From 1e0a8c6700657af803a97413c1eb0ef07c5c16ed Mon Sep 17 00:00:00 2001 From: Eduardo Speroni Date: Wed, 10 Apr 2024 14:45:20 -0300 Subject: [PATCH 1/2] feat: add protocol information to native types --- .../src/TypeScript/DefinitionWriter.cpp | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/metadata-generator/src/TypeScript/DefinitionWriter.cpp b/metadata-generator/src/TypeScript/DefinitionWriter.cpp index 6d20d891..2fe08a1e 100644 --- a/metadata-generator/src/TypeScript/DefinitionWriter.cpp +++ b/metadata-generator/src/TypeScript/DefinitionWriter.cpp @@ -976,7 +976,26 @@ std::string DefinitionWriter::tsifyType(const Type& type, const bool isFuncParam } } - if (interface.name == "NSArray" && isFuncParam) { + std::vector protocols; + if (type.is(TypeType::TypeInterface) && type.as().protocols.size() > 0) { + for (auto & protocol : type.as().protocols) { + if (protocol->jsName != "NSCopying") { + protocols.push_back(protocol->jsName); + } + } + } + + if (protocols.size() > 0) { + // Example: -(NSObject