UNPKG

nitro-codegen

Version:

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

49 lines (47 loc) 1.51 kB
export interface HybridObjectName { /** * The raw name of the Hybrid Object (same as the TS interface name). * @example "Image" */ T: string /** * The debug-only description name of the Hybrid Object as it can be described in natively. * @example "HybridImage" */ HybridT: string /** * The name of the C++ class, Kotlin interface or Swift protocol that represents the * specification (all of it's virtual properties and methods) of the Hybrid Object. * @example "HybridImageSpec" */ HybridTSpec: string /** * The name of the Swift class that bridges any types from * {@linkcode HybridTSpec} over to C++. * This includes a few type conversions or result/exception wrapping. * @example "HybridImage_cxx" */ HybridTSpecCxx: string /** * The name of the C++ class that actually bridges to the Java Hybrid Object. * @example "JHybridImage" */ JHybridTSpec: string /** * The name of the C++ class that extends the Hybrid Object and bridges over to the Swift C++ wrapper class. * @example "HybridImageSwift" */ HybridTSpecSwift: string } export function getHybridObjectName( hybridObjectName: string ): HybridObjectName { return { T: hybridObjectName, HybridT: `Hybrid${hybridObjectName}`, HybridTSpec: `Hybrid${hybridObjectName}Spec`, HybridTSpecCxx: `Hybrid${hybridObjectName}Spec_cxx`, JHybridTSpec: `JHybrid${hybridObjectName}Spec`, HybridTSpecSwift: `Hybrid${hybridObjectName}SpecSwift`, } }