craby_codegen 0.1.0-dev.20251030010210

Craby code generator
Documentation
use craby_common::utils::string::pascal_case;

/// eg. `CxxFastCalculatorModule`
pub fn cxx_mod_cls_name(name: &str) -> String {
    format!("Cxx{}Module", pascal_case(name))
}

/// eg. `FastCalculatorModuleProvider`
pub fn objc_mod_provider_name(name: &str) -> String {
    format!("{}ModuleProvider", pascal_case(name))
}

pub const GENERATED_COMMENT: &str = "Auto generated by Craby. DO NOT EDIT.";

pub mod specs {
    pub const NATIVE_MODULE_PKG: &str = "craby-modules";
    pub const NATIVE_MODULE_INTERFACE: &str = "NativeModule";
    pub const NATIVE_MODULE_REGISTRY: &str = "NativeModuleRegistry";
    pub const SIGNAL_TYPE: &str = "Signal";
    pub const REGISTRY_GET: &str = "get";
    pub const REGISTRY_GET_ENFORCING: &str = "getEnforcing";

    pub const RESERVED_TYPE_PROMISE: &str = "Promise";

    /// `it_` is reserved for the `shared_ptr` of the module
    pub const RESERVED_ARG_NAME_MODULE: &str = "it_";

    /// `emit` is reserved for signals
    pub const RESERVED_METHOD_NAME_MODULE: &str = "emit";
}