// This file was autogenerated by some hot garbage in the `uniffi-bindgen-react-native` crate. // Trust me, you don't want to mess with it! #include "church_core.hpp" #include "UniffiJsiTypes.h" #include #include #include #include #include namespace react = facebook::react; namespace jsi = facebook::jsi; // Calling into Rust. extern "C" { typedef void (*UniffiRustFutureContinuationCallback)( uint64_t data, int8_t poll_result ); typedef void (*UniffiForeignFutureFree)( uint64_t handle ); typedef void (*UniffiCallbackInterfaceFree)( uint64_t handle );typedef struct UniffiForeignFuture { uint64_t handle; UniffiForeignFutureFree free; } UniffiForeignFuture;typedef struct UniffiForeignFutureStructU8 { uint8_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructU8; typedef void (*UniffiForeignFutureCompleteU8)( uint64_t callback_data, UniffiForeignFutureStructU8 result );typedef struct UniffiForeignFutureStructI8 { int8_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructI8; typedef void (*UniffiForeignFutureCompleteI8)( uint64_t callback_data, UniffiForeignFutureStructI8 result );typedef struct UniffiForeignFutureStructU16 { uint16_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructU16; typedef void (*UniffiForeignFutureCompleteU16)( uint64_t callback_data, UniffiForeignFutureStructU16 result );typedef struct UniffiForeignFutureStructI16 { int16_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructI16; typedef void (*UniffiForeignFutureCompleteI16)( uint64_t callback_data, UniffiForeignFutureStructI16 result );typedef struct UniffiForeignFutureStructU32 { uint32_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructU32; typedef void (*UniffiForeignFutureCompleteU32)( uint64_t callback_data, UniffiForeignFutureStructU32 result );typedef struct UniffiForeignFutureStructI32 { int32_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructI32; typedef void (*UniffiForeignFutureCompleteI32)( uint64_t callback_data, UniffiForeignFutureStructI32 result );typedef struct UniffiForeignFutureStructU64 { uint64_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructU64; typedef void (*UniffiForeignFutureCompleteU64)( uint64_t callback_data, UniffiForeignFutureStructU64 result );typedef struct UniffiForeignFutureStructI64 { int64_t return_value; RustCallStatus call_status; } UniffiForeignFutureStructI64; typedef void (*UniffiForeignFutureCompleteI64)( uint64_t callback_data, UniffiForeignFutureStructI64 result );typedef struct UniffiForeignFutureStructF32 { float return_value; RustCallStatus call_status; } UniffiForeignFutureStructF32; typedef void (*UniffiForeignFutureCompleteF32)( uint64_t callback_data, UniffiForeignFutureStructF32 result );typedef struct UniffiForeignFutureStructF64 { double return_value; RustCallStatus call_status; } UniffiForeignFutureStructF64; typedef void (*UniffiForeignFutureCompleteF64)( uint64_t callback_data, UniffiForeignFutureStructF64 result );typedef struct UniffiForeignFutureStructPointer { void * return_value; RustCallStatus call_status; } UniffiForeignFutureStructPointer; typedef void (*UniffiForeignFutureCompletePointer)( uint64_t callback_data, UniffiForeignFutureStructPointer result );typedef struct UniffiForeignFutureStructRustBuffer { RustBuffer return_value; RustCallStatus call_status; } UniffiForeignFutureStructRustBuffer; typedef void (*UniffiForeignFutureCompleteRustBuffer)( uint64_t callback_data, UniffiForeignFutureStructRustBuffer result );typedef struct UniffiForeignFutureStructVoid { RustCallStatus call_status; } UniffiForeignFutureStructVoid; typedef void (*UniffiForeignFutureCompleteVoid)( uint64_t callback_data, UniffiForeignFutureStructVoid result ); RustBuffer uniffi_church_core_fn_func_create_calendar_event_data( RustBuffer event_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_create_sermon_share_items_json( RustBuffer title, RustBuffer speaker, RustBuffer video_url, RustBuffer audio_url, RustCallStatus *uniffi_out_err ); int8_t uniffi_church_core_fn_func_device_supports_av1(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_extract_full_verse_text( RustBuffer verses_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_extract_scripture_references_string( RustBuffer scripture_text, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_extract_stream_url_from_status( RustBuffer status_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_bible_verse_json( RustBuffer query, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_bulletins_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_cached_image_base64( RustBuffer url, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_config_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_current_bulletin_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_events_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_featured_events_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_live_stream_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_livestream_archive_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_random_bible_verse_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_scripture_verses_for_sermon_json( RustBuffer sermon_id, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_sermons_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_fetch_stream_status_json(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_filter_sermons_by_media_type( RustBuffer sermons_json, RustBuffer media_type_str, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_format_event_for_display_json( RustBuffer event_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_format_scripture_text_json( RustBuffer scripture_text, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_format_time_range_string( RustBuffer start_time, RustBuffer end_time, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_generate_home_feed_json( RustBuffer events_json, RustBuffer sermons_json, RustBuffer bulletins_json, RustBuffer verse_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_generate_verse_description( RustBuffer verses_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_about_text(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_av1_streaming_url( RustBuffer media_id, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_brand_color(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_church_address(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_church_name(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_contact_email(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_contact_phone(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_coordinates(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_donation_url(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_facebook_url(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_hls_streaming_url( RustBuffer media_id, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_instagram_url(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_livestream_url(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_media_type_display_name( RustBuffer media_type_str, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_media_type_icon( RustBuffer media_type_str, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_mission_statement(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_optimal_streaming_url( RustBuffer media_id, RustCallStatus *uniffi_out_err ); int8_t uniffi_church_core_fn_func_get_stream_live_status(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_website_url(RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_get_youtube_url(RustCallStatus *uniffi_out_err ); int8_t uniffi_church_core_fn_func_is_multi_day_event_check( RustBuffer date, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_parse_bible_verse_from_json( RustBuffer verse_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_parse_bulletins_from_json( RustBuffer bulletins_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_parse_calendar_event_data( RustBuffer calendar_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_parse_contact_result_from_json( RustBuffer result_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_parse_events_from_json( RustBuffer events_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_parse_sermons_from_json( RustBuffer sermons_json, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_submit_contact_json( RustBuffer name, RustBuffer email, RustBuffer message, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_submit_contact_v2_json( RustBuffer name, RustBuffer email, RustBuffer subject, RustBuffer message, RustBuffer phone, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_submit_contact_v2_json_legacy( RustBuffer first_name, RustBuffer last_name, RustBuffer email, RustBuffer subject, RustBuffer message, RustCallStatus *uniffi_out_err ); RustBuffer uniffi_church_core_fn_func_validate_contact_form_json( RustBuffer form_json, RustCallStatus *uniffi_out_err ); int8_t uniffi_church_core_fn_func_validate_email_address( RustBuffer email, RustCallStatus *uniffi_out_err ); int8_t uniffi_church_core_fn_func_validate_phone_number( RustBuffer phone, RustCallStatus *uniffi_out_err ); RustBuffer ffi_church_core_rustbuffer_alloc( uint64_t size, RustCallStatus *uniffi_out_err ); RustBuffer ffi_church_core_rustbuffer_from_bytes( ForeignBytes bytes, RustCallStatus *uniffi_out_err ); void ffi_church_core_rustbuffer_free( RustBuffer buf, RustCallStatus *uniffi_out_err ); RustBuffer ffi_church_core_rustbuffer_reserve( RustBuffer buf, uint64_t additional, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_u8( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_u8( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_u8( /*handle*/ uint64_t handle ); uint8_t ffi_church_core_rust_future_complete_u8( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_i8( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_i8( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_i8( /*handle*/ uint64_t handle ); int8_t ffi_church_core_rust_future_complete_i8( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_u16( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_u16( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_u16( /*handle*/ uint64_t handle ); uint16_t ffi_church_core_rust_future_complete_u16( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_i16( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_i16( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_i16( /*handle*/ uint64_t handle ); int16_t ffi_church_core_rust_future_complete_i16( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_u32( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_u32( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_u32( /*handle*/ uint64_t handle ); uint32_t ffi_church_core_rust_future_complete_u32( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_i32( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_i32( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_i32( /*handle*/ uint64_t handle ); int32_t ffi_church_core_rust_future_complete_i32( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_u64( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_u64( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_u64( /*handle*/ uint64_t handle ); uint64_t ffi_church_core_rust_future_complete_u64( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_i64( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_i64( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_i64( /*handle*/ uint64_t handle ); int64_t ffi_church_core_rust_future_complete_i64( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_f32( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_f32( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_f32( /*handle*/ uint64_t handle ); float ffi_church_core_rust_future_complete_f32( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_f64( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_f64( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_f64( /*handle*/ uint64_t handle ); double ffi_church_core_rust_future_complete_f64( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_pointer( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_pointer( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_pointer( /*handle*/ uint64_t handle ); void * ffi_church_core_rust_future_complete_pointer( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_rust_buffer( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_rust_buffer( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_rust_buffer( /*handle*/ uint64_t handle ); RustBuffer ffi_church_core_rust_future_complete_rust_buffer( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); void ffi_church_core_rust_future_poll_void( /*handle*/ uint64_t handle, UniffiRustFutureContinuationCallback callback, /*handle*/ uint64_t callback_data ); void ffi_church_core_rust_future_cancel_void( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_free_void( /*handle*/ uint64_t handle ); void ffi_church_core_rust_future_complete_void( /*handle*/ uint64_t handle, RustCallStatus *uniffi_out_err ); uint16_t uniffi_church_core_checksum_func_create_calendar_event_data( ); uint16_t uniffi_church_core_checksum_func_create_sermon_share_items_json( ); uint16_t uniffi_church_core_checksum_func_device_supports_av1( ); uint16_t uniffi_church_core_checksum_func_extract_full_verse_text( ); uint16_t uniffi_church_core_checksum_func_extract_scripture_references_string( ); uint16_t uniffi_church_core_checksum_func_extract_stream_url_from_status( ); uint16_t uniffi_church_core_checksum_func_fetch_bible_verse_json( ); uint16_t uniffi_church_core_checksum_func_fetch_bulletins_json( ); uint16_t uniffi_church_core_checksum_func_fetch_cached_image_base64( ); uint16_t uniffi_church_core_checksum_func_fetch_config_json( ); uint16_t uniffi_church_core_checksum_func_fetch_current_bulletin_json( ); uint16_t uniffi_church_core_checksum_func_fetch_events_json( ); uint16_t uniffi_church_core_checksum_func_fetch_featured_events_json( ); uint16_t uniffi_church_core_checksum_func_fetch_live_stream_json( ); uint16_t uniffi_church_core_checksum_func_fetch_livestream_archive_json( ); uint16_t uniffi_church_core_checksum_func_fetch_random_bible_verse_json( ); uint16_t uniffi_church_core_checksum_func_fetch_scripture_verses_for_sermon_json( ); uint16_t uniffi_church_core_checksum_func_fetch_sermons_json( ); uint16_t uniffi_church_core_checksum_func_fetch_stream_status_json( ); uint16_t uniffi_church_core_checksum_func_filter_sermons_by_media_type( ); uint16_t uniffi_church_core_checksum_func_format_event_for_display_json( ); uint16_t uniffi_church_core_checksum_func_format_scripture_text_json( ); uint16_t uniffi_church_core_checksum_func_format_time_range_string( ); uint16_t uniffi_church_core_checksum_func_generate_home_feed_json( ); uint16_t uniffi_church_core_checksum_func_generate_verse_description( ); uint16_t uniffi_church_core_checksum_func_get_about_text( ); uint16_t uniffi_church_core_checksum_func_get_av1_streaming_url( ); uint16_t uniffi_church_core_checksum_func_get_brand_color( ); uint16_t uniffi_church_core_checksum_func_get_church_address( ); uint16_t uniffi_church_core_checksum_func_get_church_name( ); uint16_t uniffi_church_core_checksum_func_get_contact_email( ); uint16_t uniffi_church_core_checksum_func_get_contact_phone( ); uint16_t uniffi_church_core_checksum_func_get_coordinates( ); uint16_t uniffi_church_core_checksum_func_get_donation_url( ); uint16_t uniffi_church_core_checksum_func_get_facebook_url( ); uint16_t uniffi_church_core_checksum_func_get_hls_streaming_url( ); uint16_t uniffi_church_core_checksum_func_get_instagram_url( ); uint16_t uniffi_church_core_checksum_func_get_livestream_url( ); uint16_t uniffi_church_core_checksum_func_get_media_type_display_name( ); uint16_t uniffi_church_core_checksum_func_get_media_type_icon( ); uint16_t uniffi_church_core_checksum_func_get_mission_statement( ); uint16_t uniffi_church_core_checksum_func_get_optimal_streaming_url( ); uint16_t uniffi_church_core_checksum_func_get_stream_live_status( ); uint16_t uniffi_church_core_checksum_func_get_website_url( ); uint16_t uniffi_church_core_checksum_func_get_youtube_url( ); uint16_t uniffi_church_core_checksum_func_is_multi_day_event_check( ); uint16_t uniffi_church_core_checksum_func_parse_bible_verse_from_json( ); uint16_t uniffi_church_core_checksum_func_parse_bulletins_from_json( ); uint16_t uniffi_church_core_checksum_func_parse_calendar_event_data( ); uint16_t uniffi_church_core_checksum_func_parse_contact_result_from_json( ); uint16_t uniffi_church_core_checksum_func_parse_events_from_json( ); uint16_t uniffi_church_core_checksum_func_parse_sermons_from_json( ); uint16_t uniffi_church_core_checksum_func_submit_contact_json( ); uint16_t uniffi_church_core_checksum_func_submit_contact_v2_json( ); uint16_t uniffi_church_core_checksum_func_submit_contact_v2_json_legacy( ); uint16_t uniffi_church_core_checksum_func_validate_contact_form_json( ); uint16_t uniffi_church_core_checksum_func_validate_email_address( ); uint16_t uniffi_church_core_checksum_func_validate_phone_number( ); uint32_t ffi_church_core_uniffi_contract_version( ); } namespace uniffi::church_core { template struct Bridging; using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template struct Bridging> { static jsi::Value jsNew(jsi::Runtime &rt) { auto holder = jsi::Object(rt); return holder; } static T fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &value) { auto obj = value.asObject(rt); if (obj.hasProperty(rt, "pointee")) { auto pointee = obj.getProperty(rt, "pointee"); return uniffi::church_core::Bridging::fromJs(rt, callInvoker, pointee); } throw jsi::JSError( rt, "Expected ReferenceHolder to have a pointee property. This is likely a bug in uniffi-bindgen-react-native" ); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static RustBuffer rustbuffer_alloc(int32_t size) { RustCallStatus status = { UNIFFI_CALL_STATUS_OK }; return ffi_church_core_rustbuffer_alloc( size, &status ); } static void rustbuffer_free(RustBuffer buf) { RustCallStatus status = { UNIFFI_CALL_STATUS_OK }; ffi_church_core_rustbuffer_free( buf, &status ); } static RustBuffer rustbuffer_from_bytes(ForeignBytes bytes) { RustCallStatus status = { UNIFFI_CALL_STATUS_OK }; return ffi_church_core_rustbuffer_from_bytes( bytes, &status ); } static RustBuffer fromJs(jsi::Runtime &rt, std::shared_ptr, const jsi::Value &value) { try { auto buffer = uniffi_jsi::Bridging::value_to_arraybuffer(rt, value); auto bytes = ForeignBytes{ .len = static_cast(buffer.length(rt)), .data = buffer.data(rt), }; // This buffer is constructed from foreign bytes. Rust scaffolding copies // the bytes, to make the RustBuffer. auto buf = rustbuffer_from_bytes(bytes); // Once it leaves this function, the buffer is immediately passed back // into Rust, where it's used to deserialize into the Rust versions of the // arguments. At that point, the copy is destroyed. return buf; } catch (const std::logic_error &e) { throw jsi::JSError(rt, e.what()); } } static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr, RustBuffer buf) { // We need to make a copy of the bytes from Rust's memory space into // Javascripts memory space. We need to do this because the two languages // manages memory very differently: a garbage collector needs to track all // the memory at runtime, Rust is doing it all closer to compile time. uint8_t *bytes = new uint8_t[buf.len]; std::memcpy(bytes, buf.data, buf.len); // Construct an ArrayBuffer with copy of the bytes from the RustBuffer. auto payload = std::make_shared( uniffi_jsi::CMutableBuffer((uint8_t *)bytes, buf.len)); auto arrayBuffer = jsi::ArrayBuffer(rt, payload); // Once we have a Javascript version, we no longer need the Rust version, so // we can call into Rust to tell it it's okay to free that memory. rustbuffer_free(buf); // Finally, return the ArrayBuffer. return uniffi_jsi::Bridging::arraybuffer_to_value(rt, arrayBuffer);; } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value jsSuccess(jsi::Runtime &rt) { auto statusObject = jsi::Object(rt); statusObject.setProperty(rt, "code", jsi::Value(rt, UNIFFI_CALL_STATUS_OK)); return statusObject; } static RustCallStatus rustSuccess(jsi::Runtime &rt) { return {UNIFFI_CALL_STATUS_OK}; } static void copyIntoJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const RustCallStatus status, const jsi::Value &jsStatus) { auto statusObject = jsStatus.asObject(rt); if (status.error_buf.data != nullptr) { auto rbuf = Bridging::toJs(rt, callInvoker, status.error_buf); statusObject.setProperty(rt, "errorBuf", rbuf); } if (status.code != UNIFFI_CALL_STATUS_OK) { auto code = uniffi_jsi::Bridging::toJs(rt, callInvoker, status.code); statusObject.setProperty(rt, "code", code); } } static RustCallStatus fromJs(jsi::Runtime &rt, std::shared_ptr invoker, const jsi::Value &jsStatus) { RustCallStatus status; auto statusObject = jsStatus.asObject(rt); if (statusObject.hasProperty(rt, "errorBuf")) { auto rbuf = statusObject.getProperty(rt, "errorBuf"); status.error_buf = Bridging::fromJs(rt, invoker, rbuf); } if (statusObject.hasProperty(rt, "code")) { auto code = statusObject.getProperty(rt, "code"); status.code = uniffi_jsi::Bridging::fromJs(rt, invoker, code); } return status; } static void copyFromJs(jsi::Runtime &rt, std::shared_ptr invoker, const jsi::Value &jsStatus, RustCallStatus *status) { auto statusObject = jsStatus.asObject(rt); if (statusObject.hasProperty(rt, "errorBuf")) { auto rbuf = statusObject.getProperty(rt, "errorBuf"); status->error_buf = Bridging::fromJs(rt, invoker, rbuf); } if (statusObject.hasProperty(rt, "code")) { auto code = statusObject.getProperty(rt, "code"); status->code = uniffi_jsi::Bridging::fromJs(rt, invoker, code); } } }; } // namespace uniffi::church_core // In other uniffi bindings, it is assumed that the foreign language holds on // to the vtable, which the Rust just gets a pointer to. // Here, we need to hold on to them, but also be able to clear them at just the // right time so we can support hot-reloading. namespace uniffi::church_core::registry { template class VTableHolder { public: T vtable; VTableHolder(T v) : vtable(v) {} }; // Mutex to bind the storage and setting of vtable together. // We declare it here, but the lock is taken by callers of the putTable // method who are also sending a pointer to Rust. static std::mutex vtableMutex; // Registry to hold all vtables so they persist even when JS objects are GC'd. // The only reason this exists is to prevent a dangling pointer in the // Rust machinery: i.e. we don't need to access or write to this registry // after startup. // Registry to hold all vtables so they persist even when JS objects are GC'd. // Maps string identifiers to vtable holders using type erasure static std::unordered_map> vtableRegistry; // Add a vtable to the registry with an identifier template static T* putTable(std::string_view identifier, T vtable) { auto holder = std::make_shared>(vtable); // Store the raw pointer to the vtable before type erasure T* rawPtr = &(holder->vtable); // Store the holder using type erasure with the string identifier vtableRegistry[std::string(identifier)] = std::shared_ptr(holder); return rawPtr; } // Clear the registry. // // Conceptually, this is called after teardown of the module (i.e. after // teardown of the jsi::Runtime). However, because Rust is dropping callbacks // because the Runtime is being torn down, we must keep the registry intact // until after the runtime goes away. // // Therefore, in practice we should call this when the next runtime is // being stood up. static void clearRegistry() { std::lock_guard lock(vtableMutex); vtableRegistry.clear(); } } // namespace uniffi::church_core::registry // This calls into Rust. // Implementation of callback function calling from Rust to JS RustFutureContinuationCallback // Callback function: uniffi::church_core::cb::rustfuturecontinuationcallback::UniffiRustFutureContinuationCallback // // We have the following constraints: // - we need to pass a function pointer to Rust. // - we need a jsi::Runtime and jsi::Function to call into JS. // - function pointers can't store state, so we can't use a lamda. // // For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls // the lambda, which itself calls the `body` which then calls into JS. // // We then give the `callback` function pointer to Rust which will call the lambda sometime in the // future. namespace uniffi::church_core::cb::rustfuturecontinuationcallback { using namespace facebook; // We need to store a lambda in a global so we can call it from // a function pointer. The function pointer is passed to Rust. static std::function rsLambda = nullptr; // This is the main body of the callback. It's called from the lambda, // which itself is called from the callback function which is passed to Rust. static void body(jsi::Runtime &rt, std::shared_ptr callInvoker, std::shared_ptr callbackValue ,uint64_t rs_data ,int8_t rs_pollResult) { // Convert the arguments from Rust, into jsi::Values. // We'll use the Bridging class to do this… auto js_data = uniffi_jsi::Bridging::toJs(rt, callInvoker, rs_data); auto js_pollResult = uniffi_jsi::Bridging::toJs(rt, callInvoker, rs_pollResult); // Now we are ready to call the callback. // We are already on the JS thread, because this `body` function was // invoked from the CallInvoker. try { // Getting the callback function auto cb = callbackValue->asObject(rt).asFunction(rt); auto uniffiResult = cb.call(rt, js_data, js_pollResult ); } catch (const jsi::JSError &error) { std::cout << "Error in callback UniffiRustFutureContinuationCallback: " << error.what() << std::endl; throw error; } } static void callback(uint64_t rs_data, int8_t rs_pollResult) { // If the runtime has shutdown, then there is no point in trying to // call into Javascript. BUT how do we tell if the runtime has shutdown? // // Answer: the module destructor calls into callback `cleanup` method, // which nulls out the rsLamda. // // If rsLamda is null, then there is no runtime to call into. if (rsLambda == nullptr) { // This only occurs when destructors are calling into Rust free/drop, // which causes the JS callback to be dropped. return; } // The runtime, the actual callback jsi::funtion, and the callInvoker // are all in the lambda. rsLambda( rs_data, rs_pollResult); } static UniffiRustFutureContinuationCallback makeCallbackFunction( // uniffi::church_core::cb::rustfuturecontinuationcallback jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &value) { if (rsLambda != nullptr) { // `makeCallbackFunction` is called in two circumstances: // // 1. at startup, when initializing callback interface vtables. // 2. when polling futures. This happens at least once per future that is // exposed to Javascript. We know that this is always the same function, // `uniffiFutureContinuationCallback` in `async-rust-calls.ts`. // // We can therefore return the callback function without making anything // new if we've been initialized already. return callback; } auto callbackFunction = value.asObject(rt).asFunction(rt); auto callbackValue = std::make_shared(rt, callbackFunction); rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_data, int8_t rs_pollResult) { // We immediately make a lambda which will do the work of transforming the // arguments into JSI values and calling the callback. uniffi_runtime::UniffiCallFunc jsLambda = [ callInvoker, callbackValue , rs_data , rs_pollResult](jsi::Runtime &rt) mutable { body(rt, callInvoker, callbackValue , rs_data , rs_pollResult); }; // We'll then call that lambda from the callInvoker which will // look after calling it on the correct thread. callInvoker->invokeNonBlocking(rt, jsLambda); }; return callback; } // This method is called from the destructor of NativeChurchCore, which only happens // when the jsi::Runtime is being destroyed. static void cleanup() { // The lambda holds a reference to the the Runtime, so when this is nulled out, // then the pointer will no longer be left dangling. rsLambda = nullptr; } } // namespace uniffi::church_core::cb::rustfuturecontinuationcallback // Implementation of callback function calling from JS to Rust ForeignFutureFree, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureFree rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureFree"), 1, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureFree func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core // Implementation of free callback function CallbackInterfaceFree // Callback function: uniffi::church_core::st::foreignfuture::foreignfuture::free::UniffiCallbackInterfaceFree // // We have the following constraints: // - we need to pass a function pointer to Rust. // - we need a jsi::Runtime and jsi::Function to call into JS. // - function pointers can't store state, so we can't use a lamda. // // For this, we store a lambda as a global, as `rsLambda`. The `callback` function calls // the lambda, which itself calls the `body` which then calls into JS. // // We then give the `callback` function pointer to Rust which will call the lambda sometime in the // future. namespace uniffi::church_core::st::foreignfuture::foreignfuture::free { using namespace facebook; // We need to store a lambda in a global so we can call it from // a function pointer. The function pointer is passed to Rust. static std::function rsLambda = nullptr; // This is the main body of the callback. It's called from the lambda, // which itself is called from the callback function which is passed to Rust. static void body(jsi::Runtime &rt, std::shared_ptr callInvoker, std::shared_ptr callbackValue ,uint64_t rs_handle) { // Convert the arguments from Rust, into jsi::Values. // We'll use the Bridging class to do this… auto js_handle = uniffi_jsi::Bridging::toJs(rt, callInvoker, rs_handle); // Now we are ready to call the callback. // We are already on the JS thread, because this `body` function was // invoked from the CallInvoker. try { // Getting the callback function auto cb = callbackValue->asObject(rt).asFunction(rt); auto uniffiResult = cb.call(rt, js_handle ); } catch (const jsi::JSError &error) { std::cout << "Error in callback UniffiCallbackInterfaceFree: " << error.what() << std::endl; throw error; } } static void callback(uint64_t rs_handle) { // If the runtime has shutdown, then there is no point in trying to // call into Javascript. BUT how do we tell if the runtime has shutdown? // // Answer: the module destructor calls into callback `cleanup` method, // which nulls out the rsLamda. // // If rsLamda is null, then there is no runtime to call into. if (rsLambda == nullptr) { // This only occurs when destructors are calling into Rust free/drop, // which causes the JS callback to be dropped. return; } // The runtime, the actual callback jsi::funtion, and the callInvoker // are all in the lambda. rsLambda( rs_handle); } static UniffiCallbackInterfaceFree makeCallbackFunction( // uniffi::church_core::st::foreignfuture::foreignfuture::free jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &value) { if (rsLambda != nullptr) { // `makeCallbackFunction` is called in two circumstances: // // 1. at startup, when initializing callback interface vtables. // 2. when polling futures. This happens at least once per future that is // exposed to Javascript. We know that this is always the same function, // `uniffiFutureContinuationCallback` in `async-rust-calls.ts`. // // We can therefore return the callback function without making anything // new if we've been initialized already. return callback; } auto callbackFunction = value.asObject(rt).asFunction(rt); auto callbackValue = std::make_shared(rt, callbackFunction); rsLambda = [&rt, callInvoker, callbackValue](uint64_t rs_handle) { // We immediately make a lambda which will do the work of transforming the // arguments into JSI values and calling the callback. uniffi_runtime::UniffiCallFunc jsLambda = [ callInvoker, callbackValue , rs_handle](jsi::Runtime &rt) mutable { body(rt, callInvoker, callbackValue , rs_handle); }; // We'll then call that lambda from the callInvoker which will // look after calling it on the correct thread. callInvoker->invokeNonBlocking(rt, jsLambda); }; return callback; } // This method is called from the destructor of NativeChurchCore, which only happens // when the jsi::Runtime is being destroyed. static void cleanup() { // The lambda holds a reference to the the Runtime, so when this is nulled out, // then the pointer will no longer be left dangling. rsLambda = nullptr; } } // namespace uniffi::church_core::st::foreignfuture::foreignfuture::free namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFuture fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFuture"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFuture rsObject; // Create the vtable from the js callbacks. rsObject.handle = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "handle") ); rsObject.free = uniffi::church_core::st::foreignfuture::foreignfuture::free::makeCallbackFunction( rt, callInvoker, jsObject.getProperty(rt, "free") ); return rsObject; } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructU8 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructU8"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructU8 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU8, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteU8 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU8"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteU8 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructI8 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructI8"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructI8 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI8, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteI8 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI8"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteI8 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructU16 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructU16"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructU16 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU16, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteU16 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU16"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteU16 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructI16 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructI16"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructI16 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI16, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteI16 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI16"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteI16 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructU32 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructU32"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructU32 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU32, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteU32 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU32"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteU32 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructI32 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructI32"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructI32 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI32, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteI32 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI32"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteI32 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructU64 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructU64"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructU64 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteU64, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteU64 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteU64"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteU64 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructI64 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructI64"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructI64 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteI64, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteI64 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteI64"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteI64 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructF32 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructF32"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructF32 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteF32, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteF32 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteF32"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteF32 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructF64 fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructF64"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructF64 rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteF64, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteF64 rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteF64"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteF64 func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructPointer fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructPointer"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructPointer rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi_jsi::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompletePointer, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompletePointer rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompletePointer"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompletePointer func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructRustBuffer fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructRustBuffer"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructRustBuffer rsObject; // Create the vtable from the js callbacks. rsObject.return_value = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "returnValue") ); rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteRustBuffer, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteRustBuffer rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteRustBuffer"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteRustBuffer func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiForeignFutureStructVoid fromJs(jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &jsValue ) { // Check if the input is an object if (!jsValue.isObject()) { throw jsi::JSError(rt, "Expected an object for UniffiForeignFutureStructVoid"); } // Get the object from the jsi::Value auto jsObject = jsValue.getObject(rt); // Create the vtable struct UniffiForeignFutureStructVoid rsObject; // Create the vtable from the js callbacks. rsObject.call_status = uniffi::church_core::Bridging::fromJs( rt, callInvoker, jsObject.getProperty(rt, "callStatus") ); return rsObject; } }; } // namespace uniffi::church_core // Implementation of callback function calling from JS to Rust ForeignFutureCompleteVoid, // passed from Rust to JS as part of async callbacks. namespace uniffi::church_core { using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static jsi::Value toJs(jsi::Runtime &rt, std::shared_ptr callInvoker, UniffiForeignFutureCompleteVoid rsCallback) { return jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "--ForeignFutureCompleteVoid"), 2, [rsCallback, callInvoker]( jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *arguments, size_t count) -> jsi::Value { return intoRust(rt, callInvoker, thisValue, arguments, count, rsCallback); } ); } static jsi::Value intoRust( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &thisValue, const jsi::Value *args, size_t count, UniffiForeignFutureCompleteVoid func) { // Convert the arguments into the Rust, with Bridging::fromJs, // then call the rs_callback with those arguments. func(uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]) ); return jsi::Value::undefined(); } }; } // namespace uniffi::church_core namespace uniffi::church_core { using namespace facebook; using CallInvoker = uniffi_runtime::UniffiCallInvoker; template <> struct Bridging { static UniffiRustFutureContinuationCallback fromJs( jsi::Runtime &rt, std::shared_ptr callInvoker, const jsi::Value &value ) { try { return uniffi::church_core::cb::rustfuturecontinuationcallback::makeCallbackFunction( rt, callInvoker, value ); } catch (const std::logic_error &e) { throw jsi::JSError(rt, e.what()); } } }; } // namespace uniffi::church_core NativeChurchCore::NativeChurchCore( jsi::Runtime &rt, std::shared_ptr invoker ) : callInvoker(invoker), props() { // Map from Javascript names to the cpp names props["ubrn_uniffi_internal_fn_func_ffi__string_to_byte_length"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_func_ffi__string_to_byte_length"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_internal_fn_func_ffi__string_to_byte_length(rt, thisVal, args, count); } ); props["ubrn_uniffi_internal_fn_func_ffi__string_to_arraybuffer"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_func_ffi__string_to_arraybuffer"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_internal_fn_func_ffi__string_to_arraybuffer(rt, thisVal, args, count); } ); props["ubrn_uniffi_internal_fn_func_ffi__arraybuffer_to_string"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_func_ffi__arraybuffer_to_string"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_internal_fn_func_ffi__arraybuffer_to_string(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_create_calendar_event_data"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_create_calendar_event_data"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_create_calendar_event_data(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_create_sermon_share_items_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_create_sermon_share_items_json"), 4, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_create_sermon_share_items_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_device_supports_av1"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_device_supports_av1"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_device_supports_av1(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_extract_full_verse_text"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_extract_full_verse_text"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_extract_full_verse_text(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_extract_scripture_references_string"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_extract_scripture_references_string"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_extract_scripture_references_string(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_extract_stream_url_from_status"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_extract_stream_url_from_status"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_extract_stream_url_from_status(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_bible_verse_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_bible_verse_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_bible_verse_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_bulletins_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_bulletins_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_bulletins_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_cached_image_base64"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_cached_image_base64"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_cached_image_base64(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_config_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_config_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_config_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_current_bulletin_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_current_bulletin_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_current_bulletin_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_events_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_events_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_events_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_featured_events_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_featured_events_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_featured_events_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_live_stream_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_live_stream_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_live_stream_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_livestream_archive_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_livestream_archive_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_livestream_archive_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_random_bible_verse_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_random_bible_verse_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_random_bible_verse_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_scripture_verses_for_sermon_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_scripture_verses_for_sermon_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_scripture_verses_for_sermon_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_sermons_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_sermons_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_sermons_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_fetch_stream_status_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_fetch_stream_status_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_fetch_stream_status_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_filter_sermons_by_media_type"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_filter_sermons_by_media_type"), 2, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_filter_sermons_by_media_type(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_format_event_for_display_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_format_event_for_display_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_format_event_for_display_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_format_scripture_text_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_format_scripture_text_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_format_scripture_text_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_format_time_range_string"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_format_time_range_string"), 2, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_format_time_range_string(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_generate_home_feed_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_generate_home_feed_json"), 4, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_generate_home_feed_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_generate_verse_description"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_generate_verse_description"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_generate_verse_description(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_about_text"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_about_text"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_about_text(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_av1_streaming_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_av1_streaming_url"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_av1_streaming_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_brand_color"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_brand_color"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_brand_color(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_church_address"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_church_address"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_church_address(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_church_name"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_church_name"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_church_name(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_contact_email"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_contact_email"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_contact_email(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_contact_phone"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_contact_phone"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_contact_phone(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_coordinates"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_coordinates"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_coordinates(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_donation_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_donation_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_donation_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_facebook_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_facebook_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_facebook_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_hls_streaming_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_hls_streaming_url"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_hls_streaming_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_instagram_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_instagram_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_instagram_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_livestream_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_livestream_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_livestream_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_media_type_display_name"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_media_type_display_name"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_media_type_display_name(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_media_type_icon"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_media_type_icon"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_media_type_icon(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_mission_statement"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_mission_statement"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_mission_statement(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_optimal_streaming_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_optimal_streaming_url"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_optimal_streaming_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_stream_live_status"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_stream_live_status"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_stream_live_status(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_website_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_website_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_website_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_get_youtube_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_get_youtube_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_get_youtube_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_is_multi_day_event_check"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_is_multi_day_event_check"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_is_multi_day_event_check(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_parse_bible_verse_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_parse_bible_verse_from_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_parse_bible_verse_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_parse_bulletins_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_parse_bulletins_from_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_parse_bulletins_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_parse_calendar_event_data"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_parse_calendar_event_data"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_parse_calendar_event_data(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_parse_contact_result_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_parse_contact_result_from_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_parse_contact_result_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_parse_events_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_parse_events_from_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_parse_events_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_parse_sermons_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_parse_sermons_from_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_parse_sermons_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_submit_contact_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_submit_contact_json"), 3, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_submit_contact_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_submit_contact_v2_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_submit_contact_v2_json"), 5, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_submit_contact_v2_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_submit_contact_v2_json_legacy"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_submit_contact_v2_json_legacy"), 5, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_submit_contact_v2_json_legacy(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_validate_contact_form_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_validate_contact_form_json"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_validate_contact_form_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_validate_email_address"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_validate_email_address"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_validate_email_address(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_fn_func_validate_phone_number"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_fn_func_validate_phone_number"), 1, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_fn_func_validate_phone_number(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_create_calendar_event_data"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_create_calendar_event_data"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_create_calendar_event_data(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_create_sermon_share_items_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_create_sermon_share_items_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_create_sermon_share_items_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_device_supports_av1"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_device_supports_av1"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_device_supports_av1(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_extract_full_verse_text"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_extract_full_verse_text"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_extract_full_verse_text(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_extract_scripture_references_string"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_extract_scripture_references_string"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_extract_scripture_references_string(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_extract_stream_url_from_status"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_extract_stream_url_from_status"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_extract_stream_url_from_status(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_bible_verse_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_bible_verse_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_bible_verse_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_bulletins_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_bulletins_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_bulletins_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_cached_image_base64"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_cached_image_base64"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_cached_image_base64(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_config_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_config_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_config_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_current_bulletin_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_current_bulletin_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_current_bulletin_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_events_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_events_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_events_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_featured_events_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_featured_events_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_featured_events_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_live_stream_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_live_stream_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_live_stream_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_livestream_archive_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_livestream_archive_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_livestream_archive_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_random_bible_verse_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_random_bible_verse_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_random_bible_verse_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_scripture_verses_for_sermon_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_scripture_verses_for_sermon_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_scripture_verses_for_sermon_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_sermons_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_sermons_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_sermons_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_fetch_stream_status_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_fetch_stream_status_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_fetch_stream_status_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_filter_sermons_by_media_type"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_filter_sermons_by_media_type"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_filter_sermons_by_media_type(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_format_event_for_display_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_format_event_for_display_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_format_event_for_display_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_format_scripture_text_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_format_scripture_text_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_format_scripture_text_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_format_time_range_string"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_format_time_range_string"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_format_time_range_string(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_generate_home_feed_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_generate_home_feed_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_generate_home_feed_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_generate_verse_description"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_generate_verse_description"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_generate_verse_description(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_about_text"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_about_text"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_about_text(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_av1_streaming_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_av1_streaming_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_av1_streaming_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_brand_color"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_brand_color"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_brand_color(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_church_address"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_church_address"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_church_address(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_church_name"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_church_name"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_church_name(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_contact_email"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_contact_email"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_contact_email(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_contact_phone"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_contact_phone"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_contact_phone(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_coordinates"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_coordinates"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_coordinates(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_donation_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_donation_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_donation_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_facebook_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_facebook_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_facebook_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_hls_streaming_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_hls_streaming_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_hls_streaming_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_instagram_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_instagram_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_instagram_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_livestream_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_livestream_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_livestream_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_media_type_display_name"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_media_type_display_name"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_media_type_display_name(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_media_type_icon"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_media_type_icon"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_media_type_icon(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_mission_statement"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_mission_statement"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_mission_statement(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_optimal_streaming_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_optimal_streaming_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_optimal_streaming_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_stream_live_status"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_stream_live_status"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_stream_live_status(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_website_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_website_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_website_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_get_youtube_url"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_get_youtube_url"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_get_youtube_url(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_is_multi_day_event_check"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_is_multi_day_event_check"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_is_multi_day_event_check(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_parse_bible_verse_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_parse_bible_verse_from_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_parse_bible_verse_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_parse_bulletins_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_parse_bulletins_from_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_parse_bulletins_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_parse_calendar_event_data"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_parse_calendar_event_data"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_parse_calendar_event_data(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_parse_contact_result_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_parse_contact_result_from_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_parse_contact_result_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_parse_events_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_parse_events_from_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_parse_events_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_parse_sermons_from_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_parse_sermons_from_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_parse_sermons_from_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_submit_contact_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_submit_contact_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_submit_contact_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_submit_contact_v2_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_submit_contact_v2_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_submit_contact_v2_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_submit_contact_v2_json_legacy"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_submit_contact_v2_json_legacy"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_submit_contact_v2_json_legacy(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_validate_contact_form_json"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_validate_contact_form_json"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_validate_contact_form_json(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_validate_email_address"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_validate_email_address"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_validate_email_address(rt, thisVal, args, count); } ); props["ubrn_uniffi_church_core_checksum_func_validate_phone_number"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_uniffi_church_core_checksum_func_validate_phone_number"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_uniffi_church_core_checksum_func_validate_phone_number(rt, thisVal, args, count); } ); props["ubrn_ffi_church_core_uniffi_contract_version"] = jsi::Function::createFromHostFunction( rt, jsi::PropNameID::forAscii(rt, "ubrn_ffi_church_core_uniffi_contract_version"), 0, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this->cpp_ffi_church_core_uniffi_contract_version(rt, thisVal, args, count); } ); } void NativeChurchCore::registerModule(jsi::Runtime &rt, std::shared_ptr callInvoker) { auto invoker = std::make_shared(callInvoker); auto tm = std::make_shared(rt, invoker); auto obj = rt.global().createFromHostObject(rt, tm); rt.global().setProperty(rt, "NativeChurchCore", obj); } void NativeChurchCore::unregisterModule(jsi::Runtime &rt) { uniffi::church_core::registry::clearRegistry(); } jsi::Value NativeChurchCore::get(jsi::Runtime& rt, const jsi::PropNameID& name) { try { return jsi::Value(rt, props.at(name.utf8(rt))); } catch (std::out_of_range &e) { return jsi::Value::undefined(); } } std::vector NativeChurchCore::getPropertyNames(jsi::Runtime& rt) { std::vector rval; for (auto& [key, value] : props) { rval.push_back(jsi::PropNameID::forUtf8(rt, key)); } return rval; } void NativeChurchCore::set(jsi::Runtime& rt, const jsi::PropNameID& name, const jsi::Value& value) { props.insert_or_assign(name.utf8(rt), &value); } NativeChurchCore::~NativeChurchCore() { // Cleanup for callback function RustFutureContinuationCallback uniffi::church_core::cb::rustfuturecontinuationcallback::cleanup(); // Cleanup for "free" callback function CallbackInterfaceFree uniffi::church_core::st::foreignfuture::foreignfuture::free::cleanup(); } // Utility functions for serialization/deserialization of strings. jsi::Value NativeChurchCore::cpp_uniffi_internal_fn_func_ffi__string_to_byte_length(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { return uniffi_jsi::Bridging::string_to_bytelength(rt, args[0]); } jsi::Value NativeChurchCore::cpp_uniffi_internal_fn_func_ffi__string_to_arraybuffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { return uniffi_jsi::Bridging::string_to_arraybuffer(rt, args[0]); } jsi::Value NativeChurchCore::cpp_uniffi_internal_fn_func_ffi__arraybuffer_to_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { return uniffi_jsi::Bridging::arraybuffer_to_string(rt, args[0]); } // Methods calling directly into the uniffi generated C API of the Rust crate. jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_create_calendar_event_data(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_create_calendar_event_data(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_create_sermon_share_items_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_create_sermon_share_items_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[2]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[3]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_device_supports_av1(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_device_supports_av1(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_extract_full_verse_text(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_extract_full_verse_text(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_extract_scripture_references_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_extract_scripture_references_string(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_extract_stream_url_from_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_extract_stream_url_from_status(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_bible_verse_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_bible_verse_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_bulletins_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_bulletins_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_cached_image_base64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_cached_image_base64(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_config_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_config_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_current_bulletin_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_current_bulletin_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_events_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_events_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_featured_events_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_featured_events_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_live_stream_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_live_stream_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_livestream_archive_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_livestream_archive_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_random_bible_verse_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_random_bible_verse_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_scripture_verses_for_sermon_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_scripture_verses_for_sermon_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_sermons_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_sermons_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_fetch_stream_status_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_fetch_stream_status_json(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_filter_sermons_by_media_type(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_filter_sermons_by_media_type(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_format_event_for_display_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_format_event_for_display_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_format_scripture_text_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_format_scripture_text_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_format_time_range_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_format_time_range_string(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_generate_home_feed_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_generate_home_feed_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[2]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[3]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_generate_verse_description(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_generate_verse_description(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_about_text(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_about_text(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_av1_streaming_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_av1_streaming_url(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_brand_color(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_brand_color(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_church_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_church_address(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_church_name(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_church_name(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_contact_email(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_contact_email(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_contact_phone(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_contact_phone(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_coordinates(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_coordinates(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_donation_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_donation_url(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_facebook_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_facebook_url(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_hls_streaming_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_hls_streaming_url(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_instagram_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_instagram_url(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_livestream_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_livestream_url(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_media_type_display_name(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_media_type_display_name(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_media_type_icon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_media_type_icon(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_mission_statement(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_mission_statement(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_optimal_streaming_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_optimal_streaming_url(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_stream_live_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_stream_live_status(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_website_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_website_url(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_get_youtube_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_get_youtube_url(&status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_is_multi_day_event_check(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_is_multi_day_event_check(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_parse_bible_verse_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_parse_bible_verse_from_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_parse_bulletins_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_parse_bulletins_from_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_parse_calendar_event_data(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_parse_calendar_event_data(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_parse_contact_result_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_parse_contact_result_from_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_parse_events_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_parse_events_from_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_parse_sermons_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_parse_sermons_from_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_submit_contact_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_submit_contact_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[2]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_submit_contact_v2_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_submit_contact_v2_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[2]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[3]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[4]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_submit_contact_v2_json_legacy(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_submit_contact_v2_json_legacy(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[1]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[2]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[3]), uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[4]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_validate_contact_form_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_validate_contact_form_json(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi::church_core::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_validate_email_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_validate_email_address(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_fn_func_validate_phone_number(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { RustCallStatus status = uniffi::church_core::Bridging::rustSuccess(rt); auto value = uniffi_church_core_fn_func_validate_phone_number(uniffi::church_core::Bridging::fromJs(rt, callInvoker, args[0]), &status ); uniffi::church_core::Bridging::copyIntoJs(rt, callInvoker, status, args[count - 1]); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_create_calendar_event_data(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_create_calendar_event_data( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_create_sermon_share_items_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_create_sermon_share_items_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_device_supports_av1(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_device_supports_av1( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_extract_full_verse_text(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_extract_full_verse_text( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_extract_scripture_references_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_extract_scripture_references_string( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_extract_stream_url_from_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_extract_stream_url_from_status( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_bible_verse_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_bible_verse_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_bulletins_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_bulletins_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_cached_image_base64(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_cached_image_base64( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_config_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_config_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_current_bulletin_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_current_bulletin_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_events_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_events_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_featured_events_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_featured_events_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_live_stream_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_live_stream_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_livestream_archive_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_livestream_archive_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_random_bible_verse_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_random_bible_verse_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_scripture_verses_for_sermon_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_scripture_verses_for_sermon_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_sermons_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_sermons_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_fetch_stream_status_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_fetch_stream_status_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_filter_sermons_by_media_type(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_filter_sermons_by_media_type( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_format_event_for_display_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_format_event_for_display_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_format_scripture_text_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_format_scripture_text_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_format_time_range_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_format_time_range_string( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_generate_home_feed_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_generate_home_feed_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_generate_verse_description(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_generate_verse_description( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_about_text(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_about_text( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_av1_streaming_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_av1_streaming_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_brand_color(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_brand_color( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_church_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_church_address( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_church_name(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_church_name( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_contact_email(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_contact_email( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_contact_phone(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_contact_phone( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_coordinates(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_coordinates( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_donation_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_donation_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_facebook_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_facebook_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_hls_streaming_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_hls_streaming_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_instagram_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_instagram_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_livestream_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_livestream_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_media_type_display_name(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_media_type_display_name( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_media_type_icon(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_media_type_icon( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_mission_statement(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_mission_statement( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_optimal_streaming_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_optimal_streaming_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_stream_live_status(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_stream_live_status( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_website_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_website_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_get_youtube_url(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_get_youtube_url( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_is_multi_day_event_check(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_is_multi_day_event_check( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_parse_bible_verse_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_parse_bible_verse_from_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_parse_bulletins_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_parse_bulletins_from_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_parse_calendar_event_data(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_parse_calendar_event_data( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_parse_contact_result_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_parse_contact_result_from_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_parse_events_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_parse_events_from_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_parse_sermons_from_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_parse_sermons_from_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_submit_contact_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_submit_contact_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_submit_contact_v2_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_submit_contact_v2_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_submit_contact_v2_json_legacy(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_submit_contact_v2_json_legacy( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_validate_contact_form_json(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_validate_contact_form_json( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_validate_email_address(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_validate_email_address( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_uniffi_church_core_checksum_func_validate_phone_number(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = uniffi_church_core_checksum_func_validate_phone_number( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeChurchCore::cpp_ffi_church_core_uniffi_contract_version(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) { auto value = ffi_church_core_uniffi_contract_version( ); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); }