nitro-codegen
Version:
The code-generator for react-native-nitro-modules.
36 lines (35 loc) • 972 B
JavaScript
import { getForwardDeclaration } from '../c++/getForwardDeclaration.js';
export class MapType {
get canBePassedByReference() {
// It's a shared_ptr<..>, no ref.
return true;
}
get kind() {
return 'map';
}
getCode(language) {
switch (language) {
case 'c++':
return 'std::shared_ptr<AnyMap>';
case 'swift':
return 'AnyMapHolder';
case 'kotlin':
return 'AnyMap';
default:
throw new Error(`Language ${language} is not yet supported for MapType!`);
}
}
getExtraFiles() {
return [];
}
getRequiredImports() {
return [
{
name: 'NitroModules/AnyMap.hpp',
forwardDeclaration: getForwardDeclaration('class', 'AnyMap', 'NitroModules'),
language: 'c++',
space: 'system',
},
];
}
}