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