UNPKG

nitro-codegen

Version:

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

41 lines (40 loc) 1.15 kB
import {} from '../SourceFile.js'; import { ErrorType } from './ErrorType.js'; export class ResultWrappingType { result; error; constructor(result) { this.result = result; this.error = new ErrorType(); } get canBePassedByReference() { return this.result.canBePassedByReference; } get kind() { return 'result-wrapper'; } getCode(language) { switch (language) { case 'c++': return `Result<${this.result.getCode(language)}>`; case 'swift': return this.result.getCode(language); default: throw new Error(`Language ${language} is not yet supported for VariantType!`); } } getExtraFiles() { return [...this.result.getExtraFiles(), ...this.error.getExtraFiles()]; } getRequiredImports() { return [ { language: 'c++', name: 'NitroModules/Result.hpp', space: 'system', }, ...this.result.getRequiredImports(), ...this.error.getRequiredImports(), ]; } }