UNPKG

nitro-codegen

Version:

The code-generator for react-native-nitro-modules.

38 lines (37 loc) 1.12 kB
import { getForwardDeclaration } from '../c++/getForwardDeclaration.js'; export class HybridObjectBaseType { constructor() { } get canBePassedByReference() { // It's a shared_ptr<..>, no copy. return true; } get kind() { return 'hybrid-object-base'; } getCode(language) { switch (language) { case 'c++': return `std::shared_ptr<HybridObject>`; default: throw new Error(`The base type \`HybridObject\` cannot be used directly in ${language} yet. Use a specific derived class of \`HybridObject\` instead!`); } } getExtraFiles() { return []; } getRequiredImports() { return [ { language: 'c++', name: 'memory', space: 'system', }, { name: `NitroModules/HybridObject.hpp`, forwardDeclaration: getForwardDeclaration('class', 'HybridObject', 'margelo::nitro'), language: 'c++', space: 'system', }, ]; } }