diff --git a/flutter_rust_bridge.yaml b/flutter_rust_bridge.yaml index 7878c89..59b82c0 100644 --- a/flutter_rust_bridge.yaml +++ b/flutter_rust_bridge.yaml @@ -1,6 +1,7 @@ rust_input: crate::api rust_root: packages/mimir/native/ dart_output: packages/mimir/lib/src/ +full_dep: true c_output: packages/flutter_mimir/ios/Classes/frb.h duplicated_c_output: - packages/flutter_mimir/macos/Classes/frb.h diff --git a/packages/flutter_mimir/ios/Classes/frb.h b/packages/flutter_mimir/ios/Classes/frb.h index ad87ade..227ce93 100644 --- a/packages/flutter_mimir/ios/Classes/frb.h +++ b/packages/flutter_mimir/ios/Classes/frb.h @@ -1 +1,277 @@ -// Nothing when using full_dep=false mode \ No newline at end of file +#include +#include +#include +// EXTRA BEGIN +typedef struct DartCObject *WireSyncRust2DartDco; +typedef struct WireSyncRust2DartSse { + uint8_t *ptr; + int32_t len; +} WireSyncRust2DartSse; + +typedef int64_t DartPort; +typedef bool (*DartPostCObjectFnType)(DartPort port_id, void *message); +void store_dart_post_cobject(DartPostCObjectFnType ptr); +// EXTRA END +typedef struct _Dart_Handle* Dart_Handle; + +typedef struct wire_cst_list_prim_u_8_strict { + uint8_t *ptr; + int32_t len; +} wire_cst_list_prim_u_8_strict; + +typedef struct wire_cst_list_String { + struct wire_cst_list_prim_u_8_strict **ptr; + int32_t len; +} wire_cst_list_String; + +typedef struct wire_cst_SortBy_Asc { + struct wire_cst_list_prim_u_8_strict *field0; +} wire_cst_SortBy_Asc; + +typedef struct wire_cst_SortBy_Desc { + struct wire_cst_list_prim_u_8_strict *field0; +} wire_cst_SortBy_Desc; + +typedef union SortByKind { + struct wire_cst_SortBy_Asc Asc; + struct wire_cst_SortBy_Desc Desc; +} SortByKind; + +typedef struct wire_cst_sort_by { + int32_t tag; + union SortByKind kind; +} wire_cst_sort_by; + +typedef struct wire_cst_list_sort_by { + struct wire_cst_sort_by *ptr; + int32_t len; +} wire_cst_list_sort_by; + +typedef struct wire_cst_list_filter { + struct wire_cst_filter *ptr; + int32_t len; +} wire_cst_list_filter; + +typedef struct wire_cst_Filter_Or { + struct wire_cst_list_filter *field0; +} wire_cst_Filter_Or; + +typedef struct wire_cst_Filter_And { + struct wire_cst_list_filter *field0; +} wire_cst_Filter_And; + +typedef struct wire_cst_Filter_Not { + struct wire_cst_filter *field0; +} wire_cst_Filter_Not; + +typedef struct wire_cst_Filter_Exists { + struct wire_cst_list_prim_u_8_strict *field; +} wire_cst_Filter_Exists; + +typedef struct wire_cst_Filter_InValues { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_String *values; +} wire_cst_Filter_InValues; + +typedef struct wire_cst_Filter_GreaterThan { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_GreaterThan; + +typedef struct wire_cst_Filter_GreaterThanOrEqual { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_GreaterThanOrEqual; + +typedef struct wire_cst_Filter_Equal { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_Equal; + +typedef struct wire_cst_Filter_NotEqual { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_NotEqual; + +typedef struct wire_cst_Filter_LessThan { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_LessThan; + +typedef struct wire_cst_Filter_LessThanOrEqual { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_LessThanOrEqual; + +typedef struct wire_cst_Filter_Between { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *from; + struct wire_cst_list_prim_u_8_strict *to; +} wire_cst_Filter_Between; + +typedef struct wire_cst_Filter_IsNull { + struct wire_cst_list_prim_u_8_strict *field; +} wire_cst_Filter_IsNull; + +typedef struct wire_cst_Filter_IsEmpty { + struct wire_cst_list_prim_u_8_strict *field; +} wire_cst_Filter_IsEmpty; + +typedef union FilterKind { + struct wire_cst_Filter_Or Or; + struct wire_cst_Filter_And And; + struct wire_cst_Filter_Not Not; + struct wire_cst_Filter_Exists Exists; + struct wire_cst_Filter_InValues InValues; + struct wire_cst_Filter_GreaterThan GreaterThan; + struct wire_cst_Filter_GreaterThanOrEqual GreaterThanOrEqual; + struct wire_cst_Filter_Equal Equal; + struct wire_cst_Filter_NotEqual NotEqual; + struct wire_cst_Filter_LessThan LessThan; + struct wire_cst_Filter_LessThanOrEqual LessThanOrEqual; + struct wire_cst_Filter_Between Between; + struct wire_cst_Filter_IsNull IsNull; + struct wire_cst_Filter_IsEmpty IsEmpty; +} FilterKind; + +typedef struct wire_cst_filter { + int32_t tag; + union FilterKind kind; +} wire_cst_filter; + +typedef struct wire_cst_synonyms { + struct wire_cst_list_prim_u_8_strict *word; + struct wire_cst_list_String *synonyms; +} wire_cst_synonyms; + +typedef struct wire_cst_list_synonyms { + struct wire_cst_synonyms *ptr; + int32_t len; +} wire_cst_list_synonyms; + +typedef struct wire_cst_mimir_index_settings { + struct wire_cst_list_prim_u_8_strict *primary_key; + struct wire_cst_list_String *searchable_fields; + struct wire_cst_list_String *filterable_fields; + struct wire_cst_list_String *sortable_fields; + struct wire_cst_list_String *ranking_rules; + struct wire_cst_list_String *stop_words; + struct wire_cst_list_synonyms *synonyms; + bool typos_enabled; + uint8_t min_word_size_for_one_typo; + uint8_t min_word_size_for_two_typos; + struct wire_cst_list_String *disallow_typos_on_words; + struct wire_cst_list_String *disallow_typos_on_fields; +} wire_cst_mimir_index_settings; + +void frbgen_mimir_wire__crate__api__add_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_String *documents); + +void frbgen_mimir_wire__crate__api__delete_all_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__delete_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_String *document_ids); + +void frbgen_mimir_wire__crate__api__ensure_index_initialized(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__ensure_instance_initialized(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *tmp_dir); + +void frbgen_mimir_wire__crate__api__get_all_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__get_document(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_prim_u_8_strict *document_id); + +void frbgen_mimir_wire__crate__api__get_settings(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__number_of_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__search_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_prim_u_8_strict *query, + uint32_t *limit, + uint32_t *offset, + struct wire_cst_list_sort_by *sort_criteria, + struct wire_cst_filter *filter, + int32_t *matching_strategy); + +void frbgen_mimir_wire__crate__api__set_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_String *documents); + +void frbgen_mimir_wire__crate__api__set_settings(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_mimir_index_settings *settings); + +void frbgen_mimir_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue(const void *ptr); + +void frbgen_mimir_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue(const void *ptr); + +struct wire_cst_filter *frbgen_mimir_cst_new_box_autoadd_filter(void); + +struct wire_cst_mimir_index_settings *frbgen_mimir_cst_new_box_autoadd_mimir_index_settings(void); + +int32_t *frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy(int32_t value); + +uint32_t *frbgen_mimir_cst_new_box_autoadd_u_32(uint32_t value); + +struct wire_cst_filter *frbgen_mimir_cst_new_box_filter(void); + +struct wire_cst_list_String *frbgen_mimir_cst_new_list_String(int32_t len); + +struct wire_cst_list_filter *frbgen_mimir_cst_new_list_filter(int32_t len); + +struct wire_cst_list_prim_u_8_strict *frbgen_mimir_cst_new_list_prim_u_8_strict(int32_t len); + +struct wire_cst_list_sort_by *frbgen_mimir_cst_new_list_sort_by(int32_t len); + +struct wire_cst_list_synonyms *frbgen_mimir_cst_new_list_synonyms(int32_t len); +static int64_t dummy_method_to_enforce_bundling(void) { + int64_t dummy_var = 0; + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_filter); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_mimir_index_settings); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_u_32); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_filter); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_String); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_filter); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_prim_u_8_strict); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_sort_by); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_synonyms); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__add_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__delete_all_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__delete_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__ensure_index_initialized); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__ensure_instance_initialized); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_all_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_document); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_settings); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__number_of_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__search_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__set_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__set_settings); + dummy_var ^= ((int64_t) (void*) store_dart_post_cobject); + return dummy_var; +} diff --git a/packages/flutter_mimir/macos/Classes/frb.h b/packages/flutter_mimir/macos/Classes/frb.h index ad87ade..227ce93 100644 --- a/packages/flutter_mimir/macos/Classes/frb.h +++ b/packages/flutter_mimir/macos/Classes/frb.h @@ -1 +1,277 @@ -// Nothing when using full_dep=false mode \ No newline at end of file +#include +#include +#include +// EXTRA BEGIN +typedef struct DartCObject *WireSyncRust2DartDco; +typedef struct WireSyncRust2DartSse { + uint8_t *ptr; + int32_t len; +} WireSyncRust2DartSse; + +typedef int64_t DartPort; +typedef bool (*DartPostCObjectFnType)(DartPort port_id, void *message); +void store_dart_post_cobject(DartPostCObjectFnType ptr); +// EXTRA END +typedef struct _Dart_Handle* Dart_Handle; + +typedef struct wire_cst_list_prim_u_8_strict { + uint8_t *ptr; + int32_t len; +} wire_cst_list_prim_u_8_strict; + +typedef struct wire_cst_list_String { + struct wire_cst_list_prim_u_8_strict **ptr; + int32_t len; +} wire_cst_list_String; + +typedef struct wire_cst_SortBy_Asc { + struct wire_cst_list_prim_u_8_strict *field0; +} wire_cst_SortBy_Asc; + +typedef struct wire_cst_SortBy_Desc { + struct wire_cst_list_prim_u_8_strict *field0; +} wire_cst_SortBy_Desc; + +typedef union SortByKind { + struct wire_cst_SortBy_Asc Asc; + struct wire_cst_SortBy_Desc Desc; +} SortByKind; + +typedef struct wire_cst_sort_by { + int32_t tag; + union SortByKind kind; +} wire_cst_sort_by; + +typedef struct wire_cst_list_sort_by { + struct wire_cst_sort_by *ptr; + int32_t len; +} wire_cst_list_sort_by; + +typedef struct wire_cst_list_filter { + struct wire_cst_filter *ptr; + int32_t len; +} wire_cst_list_filter; + +typedef struct wire_cst_Filter_Or { + struct wire_cst_list_filter *field0; +} wire_cst_Filter_Or; + +typedef struct wire_cst_Filter_And { + struct wire_cst_list_filter *field0; +} wire_cst_Filter_And; + +typedef struct wire_cst_Filter_Not { + struct wire_cst_filter *field0; +} wire_cst_Filter_Not; + +typedef struct wire_cst_Filter_Exists { + struct wire_cst_list_prim_u_8_strict *field; +} wire_cst_Filter_Exists; + +typedef struct wire_cst_Filter_InValues { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_String *values; +} wire_cst_Filter_InValues; + +typedef struct wire_cst_Filter_GreaterThan { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_GreaterThan; + +typedef struct wire_cst_Filter_GreaterThanOrEqual { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_GreaterThanOrEqual; + +typedef struct wire_cst_Filter_Equal { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_Equal; + +typedef struct wire_cst_Filter_NotEqual { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_NotEqual; + +typedef struct wire_cst_Filter_LessThan { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_LessThan; + +typedef struct wire_cst_Filter_LessThanOrEqual { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *value; +} wire_cst_Filter_LessThanOrEqual; + +typedef struct wire_cst_Filter_Between { + struct wire_cst_list_prim_u_8_strict *field; + struct wire_cst_list_prim_u_8_strict *from; + struct wire_cst_list_prim_u_8_strict *to; +} wire_cst_Filter_Between; + +typedef struct wire_cst_Filter_IsNull { + struct wire_cst_list_prim_u_8_strict *field; +} wire_cst_Filter_IsNull; + +typedef struct wire_cst_Filter_IsEmpty { + struct wire_cst_list_prim_u_8_strict *field; +} wire_cst_Filter_IsEmpty; + +typedef union FilterKind { + struct wire_cst_Filter_Or Or; + struct wire_cst_Filter_And And; + struct wire_cst_Filter_Not Not; + struct wire_cst_Filter_Exists Exists; + struct wire_cst_Filter_InValues InValues; + struct wire_cst_Filter_GreaterThan GreaterThan; + struct wire_cst_Filter_GreaterThanOrEqual GreaterThanOrEqual; + struct wire_cst_Filter_Equal Equal; + struct wire_cst_Filter_NotEqual NotEqual; + struct wire_cst_Filter_LessThan LessThan; + struct wire_cst_Filter_LessThanOrEqual LessThanOrEqual; + struct wire_cst_Filter_Between Between; + struct wire_cst_Filter_IsNull IsNull; + struct wire_cst_Filter_IsEmpty IsEmpty; +} FilterKind; + +typedef struct wire_cst_filter { + int32_t tag; + union FilterKind kind; +} wire_cst_filter; + +typedef struct wire_cst_synonyms { + struct wire_cst_list_prim_u_8_strict *word; + struct wire_cst_list_String *synonyms; +} wire_cst_synonyms; + +typedef struct wire_cst_list_synonyms { + struct wire_cst_synonyms *ptr; + int32_t len; +} wire_cst_list_synonyms; + +typedef struct wire_cst_mimir_index_settings { + struct wire_cst_list_prim_u_8_strict *primary_key; + struct wire_cst_list_String *searchable_fields; + struct wire_cst_list_String *filterable_fields; + struct wire_cst_list_String *sortable_fields; + struct wire_cst_list_String *ranking_rules; + struct wire_cst_list_String *stop_words; + struct wire_cst_list_synonyms *synonyms; + bool typos_enabled; + uint8_t min_word_size_for_one_typo; + uint8_t min_word_size_for_two_typos; + struct wire_cst_list_String *disallow_typos_on_words; + struct wire_cst_list_String *disallow_typos_on_fields; +} wire_cst_mimir_index_settings; + +void frbgen_mimir_wire__crate__api__add_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_String *documents); + +void frbgen_mimir_wire__crate__api__delete_all_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__delete_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_String *document_ids); + +void frbgen_mimir_wire__crate__api__ensure_index_initialized(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__ensure_instance_initialized(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *tmp_dir); + +void frbgen_mimir_wire__crate__api__get_all_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__get_document(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_prim_u_8_strict *document_id); + +void frbgen_mimir_wire__crate__api__get_settings(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__number_of_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name); + +void frbgen_mimir_wire__crate__api__search_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_prim_u_8_strict *query, + uint32_t *limit, + uint32_t *offset, + struct wire_cst_list_sort_by *sort_criteria, + struct wire_cst_filter *filter, + int32_t *matching_strategy); + +void frbgen_mimir_wire__crate__api__set_documents(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_list_String *documents); + +void frbgen_mimir_wire__crate__api__set_settings(int64_t port_, + struct wire_cst_list_prim_u_8_strict *instance_dir, + struct wire_cst_list_prim_u_8_strict *index_name, + struct wire_cst_mimir_index_settings *settings); + +void frbgen_mimir_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue(const void *ptr); + +void frbgen_mimir_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue(const void *ptr); + +struct wire_cst_filter *frbgen_mimir_cst_new_box_autoadd_filter(void); + +struct wire_cst_mimir_index_settings *frbgen_mimir_cst_new_box_autoadd_mimir_index_settings(void); + +int32_t *frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy(int32_t value); + +uint32_t *frbgen_mimir_cst_new_box_autoadd_u_32(uint32_t value); + +struct wire_cst_filter *frbgen_mimir_cst_new_box_filter(void); + +struct wire_cst_list_String *frbgen_mimir_cst_new_list_String(int32_t len); + +struct wire_cst_list_filter *frbgen_mimir_cst_new_list_filter(int32_t len); + +struct wire_cst_list_prim_u_8_strict *frbgen_mimir_cst_new_list_prim_u_8_strict(int32_t len); + +struct wire_cst_list_sort_by *frbgen_mimir_cst_new_list_sort_by(int32_t len); + +struct wire_cst_list_synonyms *frbgen_mimir_cst_new_list_synonyms(int32_t len); +static int64_t dummy_method_to_enforce_bundling(void) { + int64_t dummy_var = 0; + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_filter); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_mimir_index_settings); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_autoadd_u_32); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_box_filter); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_String); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_filter); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_prim_u_8_strict); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_sort_by); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_cst_new_list_synonyms); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__add_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__delete_all_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__delete_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__ensure_index_initialized); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__ensure_instance_initialized); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_all_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_document); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__get_settings); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__number_of_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__search_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__set_documents); + dummy_var ^= ((int64_t) (void*) frbgen_mimir_wire__crate__api__set_settings); + dummy_var ^= ((int64_t) (void*) store_dart_post_cobject); + return dummy_var; +} diff --git a/packages/mimir/lib/src/frb_generated.dart b/packages/mimir/lib/src/frb_generated.dart index 3d1e6c0..142b7fe 100644 --- a/packages/mimir/lib/src/frb_generated.dart +++ b/packages/mimir/lib/src/frb_generated.dart @@ -146,16 +146,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { required List documents}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - sse_encode_list_String(documents, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 3, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + var arg2 = cst_encode_list_String(documents); + return wire.wire__crate__api__add_documents(port_, arg0, arg1, arg2); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiAddDocumentsConstMeta, argValues: [instanceDir, indexName, documents], @@ -173,15 +171,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { {required String instanceDir, required String indexName}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 4, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + return wire.wire__crate__api__delete_all_documents(port_, arg0, arg1); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiDeleteAllDocumentsConstMeta, argValues: [instanceDir, indexName], @@ -201,16 +197,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { required List documentIds}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - sse_encode_list_String(documentIds, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 5, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + var arg2 = cst_encode_list_String(documentIds); + return wire.wire__crate__api__delete_documents(port_, arg0, arg1, arg2); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiDeleteDocumentsConstMeta, argValues: [instanceDir, indexName, documentIds], @@ -228,15 +222,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { {required String instanceDir, required String indexName}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 6, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + return wire.wire__crate__api__ensure_index_initialized( + port_, arg0, arg1); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiEnsureIndexInitializedConstMeta, argValues: [instanceDir, indexName], @@ -255,15 +248,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { {required String instanceDir, String? tmpDir}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_opt_String(tmpDir, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 7, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_opt_String(tmpDir); + return wire.wire__crate__api__ensure_instance_initialized( + port_, arg0, arg1); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiEnsureInstanceInitializedConstMeta, argValues: [instanceDir, tmpDir], @@ -282,15 +274,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { {required String instanceDir, required String indexName}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 8, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + return wire.wire__crate__api__get_all_documents(port_, arg0, arg1); }, - codec: SseCodec( - decodeSuccessData: sse_decode_list_String, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_list_String, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiGetAllDocumentsConstMeta, argValues: [instanceDir, indexName], @@ -310,16 +300,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { required String documentId}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - sse_encode_String(documentId, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 9, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + var arg2 = cst_encode_String(documentId); + return wire.wire__crate__api__get_document(port_, arg0, arg1, arg2); }, - codec: SseCodec( - decodeSuccessData: sse_decode_opt_String, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_opt_String, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiGetDocumentConstMeta, argValues: [instanceDir, indexName, documentId], @@ -337,15 +325,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { {required String instanceDir, required String indexName}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 10, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + return wire.wire__crate__api__get_settings(port_, arg0, arg1); }, - codec: SseCodec( - decodeSuccessData: sse_decode_mimir_index_settings, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_mimir_index_settings, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiGetSettingsConstMeta, argValues: [instanceDir, indexName], @@ -363,15 +349,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { {required String instanceDir, required String indexName}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 11, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + return wire.wire__crate__api__number_of_documents(port_, arg0, arg1); }, - codec: SseCodec( - decodeSuccessData: sse_decode_u_64, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_u_64, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiNumberOfDocumentsConstMeta, argValues: [instanceDir, indexName], @@ -396,22 +380,21 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { TermsMatchingStrategy? matchingStrategy}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - sse_encode_opt_String(query, serializer); - sse_encode_opt_box_autoadd_u_32(limit, serializer); - sse_encode_opt_box_autoadd_u_32(offset, serializer); - sse_encode_opt_list_sort_by(sortCriteria, serializer); - sse_encode_opt_box_autoadd_filter(filter, serializer); - sse_encode_opt_box_autoadd_terms_matching_strategy( - matchingStrategy, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 12, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + var arg2 = cst_encode_opt_String(query); + var arg3 = cst_encode_opt_box_autoadd_u_32(limit); + var arg4 = cst_encode_opt_box_autoadd_u_32(offset); + var arg5 = cst_encode_opt_list_sort_by(sortCriteria); + var arg6 = cst_encode_opt_box_autoadd_filter(filter); + var arg7 = cst_encode_opt_box_autoadd_terms_matching_strategy( + matchingStrategy); + return wire.wire__crate__api__search_documents( + port_, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); }, - codec: SseCodec( - decodeSuccessData: sse_decode_list_String, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_list_String, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiSearchDocumentsConstMeta, argValues: [ @@ -449,16 +432,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { required List documents}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - sse_encode_list_String(documents, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 13, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + var arg2 = cst_encode_list_String(documents); + return wire.wire__crate__api__set_documents(port_, arg0, arg1, arg2); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiSetDocumentsConstMeta, argValues: [instanceDir, indexName, documents], @@ -478,16 +459,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { required MimirIndexSettings settings}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(instanceDir, serializer); - sse_encode_String(indexName, serializer); - sse_encode_box_autoadd_mimir_index_settings(settings, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 14, port: port_); + var arg0 = cst_encode_String(instanceDir); + var arg1 = cst_encode_String(indexName); + var arg2 = cst_encode_box_autoadd_mimir_index_settings(settings); + return wire.wire__crate__api__set_settings(port_, arg0, arg1, arg2); }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, + codec: DcoCodec( + decodeSuccessData: dco_decode_unit, + decodeErrorData: dco_decode_AnyhowException, ), constMeta: kCrateApiSetSettingsConstMeta, argValues: [instanceDir, indexName, settings], @@ -1174,6 +1153,58 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { return deserializer.buffer.getBigUint64(); } + @protected + int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( + MapStringValue raw) { + // Codec=Cst (C-struct based), see doc to use other codecs +// ignore: invalid_use_of_internal_member + return (raw as MapStringValueImpl).frbInternalCstEncode(move: true); + } + + @protected + int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( + MapStringValue raw) { + // Codec=Cst (C-struct based), see doc to use other codecs +// ignore: invalid_use_of_internal_member + return (raw as MapStringValueImpl).frbInternalCstEncode(); + } + + @protected + bool cst_encode_bool(bool raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + + @protected + int cst_encode_i_32(int raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + + @protected + int cst_encode_terms_matching_strategy(TermsMatchingStrategy raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_i_32(raw.index); + } + + @protected + int cst_encode_u_32(int raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + + @protected + int cst_encode_u_8(int raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + + @protected + void cst_encode_unit(void raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + @protected void sse_encode_AnyhowException( AnyhowException self, SseSerializer serializer) { diff --git a/packages/mimir/lib/src/frb_generated.io.dart b/packages/mimir/lib/src/frb_generated.io.dart index 484b1a7..b19de79 100644 --- a/packages/mimir/lib/src/frb_generated.io.dart +++ b/packages/mimir/lib/src/frb_generated.io.dart @@ -236,6 +236,358 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected BigInt sse_decode_usize(SseDeserializer deserializer); + @protected + ffi.Pointer cst_encode_AnyhowException( + AnyhowException raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + throw UnimplementedError(); + } + + @protected + ffi.Pointer cst_encode_String(String raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_list_prim_u_8_strict(utf8.encoder.convert(raw)); + } + + @protected + ffi.Pointer cst_encode_box_autoadd_filter(Filter raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ptr = wire.cst_new_box_autoadd_filter(); + cst_api_fill_to_wire_filter(raw, ptr.ref); + return ptr; + } + + @protected + ffi.Pointer + cst_encode_box_autoadd_mimir_index_settings(MimirIndexSettings raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ptr = wire.cst_new_box_autoadd_mimir_index_settings(); + cst_api_fill_to_wire_mimir_index_settings(raw, ptr.ref); + return ptr; + } + + @protected + ffi.Pointer cst_encode_box_autoadd_terms_matching_strategy( + TermsMatchingStrategy raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return wire.cst_new_box_autoadd_terms_matching_strategy( + cst_encode_terms_matching_strategy(raw)); + } + + @protected + ffi.Pointer cst_encode_box_autoadd_u_32(int raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return wire.cst_new_box_autoadd_u_32(cst_encode_u_32(raw)); + } + + @protected + ffi.Pointer cst_encode_box_filter(Filter raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ptr = wire.cst_new_box_filter(); + cst_api_fill_to_wire_filter(raw, ptr.ref); + return ptr; + } + + @protected + ffi.Pointer cst_encode_list_String(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ans = wire.cst_new_list_String(raw.length); + for (var i = 0; i < raw.length; ++i) { + ans.ref.ptr[i] = cst_encode_String(raw[i]); + } + return ans; + } + + @protected + ffi.Pointer cst_encode_list_filter(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ans = wire.cst_new_list_filter(raw.length); + for (var i = 0; i < raw.length; ++i) { + cst_api_fill_to_wire_filter(raw[i], ans.ref.ptr[i]); + } + return ans; + } + + @protected + ffi.Pointer cst_encode_list_prim_u_8_strict( + Uint8List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ans = wire.cst_new_list_prim_u_8_strict(raw.length); + ans.ref.ptr.asTypedList(raw.length).setAll(0, raw); + return ans; + } + + @protected + ffi.Pointer cst_encode_list_sort_by(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ans = wire.cst_new_list_sort_by(raw.length); + for (var i = 0; i < raw.length; ++i) { + cst_api_fill_to_wire_sort_by(raw[i], ans.ref.ptr[i]); + } + return ans; + } + + @protected + ffi.Pointer cst_encode_list_synonyms( + List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ans = wire.cst_new_list_synonyms(raw.length); + for (var i = 0; i < raw.length; ++i) { + cst_api_fill_to_wire_synonyms(raw[i], ans.ref.ptr[i]); + } + return ans; + } + + @protected + ffi.Pointer cst_encode_opt_String( + String? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? ffi.nullptr : cst_encode_String(raw); + } + + @protected + ffi.Pointer cst_encode_opt_box_autoadd_filter(Filter? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? ffi.nullptr : cst_encode_box_autoadd_filter(raw); + } + + @protected + ffi.Pointer cst_encode_opt_box_autoadd_terms_matching_strategy( + TermsMatchingStrategy? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null + ? ffi.nullptr + : cst_encode_box_autoadd_terms_matching_strategy(raw); + } + + @protected + ffi.Pointer cst_encode_opt_box_autoadd_u_32(int? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? ffi.nullptr : cst_encode_box_autoadd_u_32(raw); + } + + @protected + ffi.Pointer cst_encode_opt_list_String( + List? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? ffi.nullptr : cst_encode_list_String(raw); + } + + @protected + ffi.Pointer cst_encode_opt_list_sort_by( + List? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? ffi.nullptr : cst_encode_list_sort_by(raw); + } + + @protected + int cst_encode_u_64(BigInt raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.toSigned(64).toInt(); + } + + @protected + int cst_encode_usize(BigInt raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.toSigned(64).toInt(); + } + + @protected + void cst_api_fill_to_wire_box_autoadd_filter( + Filter apiObj, ffi.Pointer wireObj) { + cst_api_fill_to_wire_filter(apiObj, wireObj.ref); + } + + @protected + void cst_api_fill_to_wire_box_autoadd_mimir_index_settings( + MimirIndexSettings apiObj, + ffi.Pointer wireObj) { + cst_api_fill_to_wire_mimir_index_settings(apiObj, wireObj.ref); + } + + @protected + void cst_api_fill_to_wire_box_filter( + Filter apiObj, ffi.Pointer wireObj) { + cst_api_fill_to_wire_filter(apiObj, wireObj.ref); + } + + @protected + void cst_api_fill_to_wire_filter(Filter apiObj, wire_cst_filter wireObj) { + if (apiObj is Filter_Or) { + var pre_field0 = cst_encode_list_filter(apiObj.field0); + wireObj.tag = 0; + wireObj.kind.Or.field0 = pre_field0; + return; + } + if (apiObj is Filter_And) { + var pre_field0 = cst_encode_list_filter(apiObj.field0); + wireObj.tag = 1; + wireObj.kind.And.field0 = pre_field0; + return; + } + if (apiObj is Filter_Not) { + var pre_field0 = cst_encode_box_filter(apiObj.field0); + wireObj.tag = 2; + wireObj.kind.Not.field0 = pre_field0; + return; + } + if (apiObj is Filter_Exists) { + var pre_field = cst_encode_String(apiObj.field); + wireObj.tag = 3; + wireObj.kind.Exists.field = pre_field; + return; + } + if (apiObj is Filter_InValues) { + var pre_field = cst_encode_String(apiObj.field); + var pre_values = cst_encode_list_String(apiObj.values); + wireObj.tag = 4; + wireObj.kind.InValues.field = pre_field; + wireObj.kind.InValues.values = pre_values; + return; + } + if (apiObj is Filter_GreaterThan) { + var pre_field = cst_encode_String(apiObj.field); + var pre_value = cst_encode_String(apiObj.value); + wireObj.tag = 5; + wireObj.kind.GreaterThan.field = pre_field; + wireObj.kind.GreaterThan.value = pre_value; + return; + } + if (apiObj is Filter_GreaterThanOrEqual) { + var pre_field = cst_encode_String(apiObj.field); + var pre_value = cst_encode_String(apiObj.value); + wireObj.tag = 6; + wireObj.kind.GreaterThanOrEqual.field = pre_field; + wireObj.kind.GreaterThanOrEqual.value = pre_value; + return; + } + if (apiObj is Filter_Equal) { + var pre_field = cst_encode_String(apiObj.field); + var pre_value = cst_encode_String(apiObj.value); + wireObj.tag = 7; + wireObj.kind.Equal.field = pre_field; + wireObj.kind.Equal.value = pre_value; + return; + } + if (apiObj is Filter_NotEqual) { + var pre_field = cst_encode_String(apiObj.field); + var pre_value = cst_encode_String(apiObj.value); + wireObj.tag = 8; + wireObj.kind.NotEqual.field = pre_field; + wireObj.kind.NotEqual.value = pre_value; + return; + } + if (apiObj is Filter_LessThan) { + var pre_field = cst_encode_String(apiObj.field); + var pre_value = cst_encode_String(apiObj.value); + wireObj.tag = 9; + wireObj.kind.LessThan.field = pre_field; + wireObj.kind.LessThan.value = pre_value; + return; + } + if (apiObj is Filter_LessThanOrEqual) { + var pre_field = cst_encode_String(apiObj.field); + var pre_value = cst_encode_String(apiObj.value); + wireObj.tag = 10; + wireObj.kind.LessThanOrEqual.field = pre_field; + wireObj.kind.LessThanOrEqual.value = pre_value; + return; + } + if (apiObj is Filter_Between) { + var pre_field = cst_encode_String(apiObj.field); + var pre_from = cst_encode_String(apiObj.from); + var pre_to = cst_encode_String(apiObj.to); + wireObj.tag = 11; + wireObj.kind.Between.field = pre_field; + wireObj.kind.Between.from = pre_from; + wireObj.kind.Between.to = pre_to; + return; + } + if (apiObj is Filter_IsNull) { + var pre_field = cst_encode_String(apiObj.field); + wireObj.tag = 12; + wireObj.kind.IsNull.field = pre_field; + return; + } + if (apiObj is Filter_IsEmpty) { + var pre_field = cst_encode_String(apiObj.field); + wireObj.tag = 13; + wireObj.kind.IsEmpty.field = pre_field; + return; + } + } + + @protected + void cst_api_fill_to_wire_mimir_index_settings( + MimirIndexSettings apiObj, wire_cst_mimir_index_settings wireObj) { + wireObj.primary_key = cst_encode_opt_String(apiObj.primaryKey); + wireObj.searchable_fields = + cst_encode_opt_list_String(apiObj.searchableFields); + wireObj.filterable_fields = cst_encode_list_String(apiObj.filterableFields); + wireObj.sortable_fields = cst_encode_list_String(apiObj.sortableFields); + wireObj.ranking_rules = cst_encode_list_String(apiObj.rankingRules); + wireObj.stop_words = cst_encode_list_String(apiObj.stopWords); + wireObj.synonyms = cst_encode_list_synonyms(apiObj.synonyms); + wireObj.typos_enabled = cst_encode_bool(apiObj.typosEnabled); + wireObj.min_word_size_for_one_typo = + cst_encode_u_8(apiObj.minWordSizeForOneTypo); + wireObj.min_word_size_for_two_typos = + cst_encode_u_8(apiObj.minWordSizeForTwoTypos); + wireObj.disallow_typos_on_words = + cst_encode_list_String(apiObj.disallowTyposOnWords); + wireObj.disallow_typos_on_fields = + cst_encode_list_String(apiObj.disallowTyposOnFields); + } + + @protected + void cst_api_fill_to_wire_sort_by(SortBy apiObj, wire_cst_sort_by wireObj) { + if (apiObj is SortBy_Asc) { + var pre_field0 = cst_encode_String(apiObj.field0); + wireObj.tag = 0; + wireObj.kind.Asc.field0 = pre_field0; + return; + } + if (apiObj is SortBy_Desc) { + var pre_field0 = cst_encode_String(apiObj.field0); + wireObj.tag = 1; + wireObj.kind.Desc.field0 = pre_field0; + return; + } + } + + @protected + void cst_api_fill_to_wire_synonyms( + Synonyms apiObj, wire_cst_synonyms wireObj) { + wireObj.word = cst_encode_String(apiObj.word); + wireObj.synonyms = cst_encode_list_String(apiObj.synonyms); + } + + @protected + int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( + MapStringValue raw); + + @protected + int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( + MapStringValue raw); + + @protected + bool cst_encode_bool(bool raw); + + @protected + int cst_encode_i_32(int raw); + + @protected + int cst_encode_terms_matching_strategy(TermsMatchingStrategy raw); + + @protected + int cst_encode_u_32(int raw); + + @protected + int cst_encode_u_8(int raw); + + @protected + void cst_encode_unit(void raw); + @protected void sse_encode_AnyhowException( AnyhowException self, SseSerializer serializer); @@ -348,6 +700,13 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { // Section: wire_class +// ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +// ignore_for_file: type=lint + +/// generated by flutter_rust_bridge class RustLibWire implements BaseWire { factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => RustLibWire(lib.ffiDynamicLibrary); @@ -360,6 +719,370 @@ class RustLibWire implements BaseWire { RustLibWire(ffi.DynamicLibrary dynamicLibrary) : _lookup = dynamicLibrary.lookup; + /// The symbols are looked up with [lookup]. + RustLibWire.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; + + void store_dart_post_cobject( + DartPostCObjectFnType ptr, + ) { + return _store_dart_post_cobject( + ptr, + ); + } + + late final _store_dart_post_cobjectPtr = + _lookup>( + 'store_dart_post_cobject'); + late final _store_dart_post_cobject = _store_dart_post_cobjectPtr + .asFunction(); + + void wire__crate__api__add_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ffi.Pointer documents, + ) { + return _wire__crate__api__add_documents( + port_, + instance_dir, + index_name, + documents, + ); + } + + late final _wire__crate__api__add_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__add_documents'); + late final _wire__crate__api__add_documents = + _wire__crate__api__add_documentsPtr.asFunction< + void Function( + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__delete_all_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ) { + return _wire__crate__api__delete_all_documents( + port_, + instance_dir, + index_name, + ); + } + + late final _wire__crate__api__delete_all_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__delete_all_documents'); + late final _wire__crate__api__delete_all_documents = + _wire__crate__api__delete_all_documentsPtr.asFunction< + void Function(int, ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__delete_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ffi.Pointer document_ids, + ) { + return _wire__crate__api__delete_documents( + port_, + instance_dir, + index_name, + document_ids, + ); + } + + late final _wire__crate__api__delete_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__delete_documents'); + late final _wire__crate__api__delete_documents = + _wire__crate__api__delete_documentsPtr.asFunction< + void Function( + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__ensure_index_initialized( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ) { + return _wire__crate__api__ensure_index_initialized( + port_, + instance_dir, + index_name, + ); + } + + late final _wire__crate__api__ensure_index_initializedPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__ensure_index_initialized'); + late final _wire__crate__api__ensure_index_initialized = + _wire__crate__api__ensure_index_initializedPtr.asFunction< + void Function(int, ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__ensure_instance_initialized( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer tmp_dir, + ) { + return _wire__crate__api__ensure_instance_initialized( + port_, + instance_dir, + tmp_dir, + ); + } + + late final _wire__crate__api__ensure_instance_initializedPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__ensure_instance_initialized'); + late final _wire__crate__api__ensure_instance_initialized = + _wire__crate__api__ensure_instance_initializedPtr.asFunction< + void Function(int, ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__get_all_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ) { + return _wire__crate__api__get_all_documents( + port_, + instance_dir, + index_name, + ); + } + + late final _wire__crate__api__get_all_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__get_all_documents'); + late final _wire__crate__api__get_all_documents = + _wire__crate__api__get_all_documentsPtr.asFunction< + void Function(int, ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__get_document( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ffi.Pointer document_id, + ) { + return _wire__crate__api__get_document( + port_, + instance_dir, + index_name, + document_id, + ); + } + + late final _wire__crate__api__get_documentPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__get_document'); + late final _wire__crate__api__get_document = + _wire__crate__api__get_documentPtr.asFunction< + void Function( + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__get_settings( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ) { + return _wire__crate__api__get_settings( + port_, + instance_dir, + index_name, + ); + } + + late final _wire__crate__api__get_settingsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__get_settings'); + late final _wire__crate__api__get_settings = + _wire__crate__api__get_settingsPtr.asFunction< + void Function(int, ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__number_of_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ) { + return _wire__crate__api__number_of_documents( + port_, + instance_dir, + index_name, + ); + } + + late final _wire__crate__api__number_of_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__number_of_documents'); + late final _wire__crate__api__number_of_documents = + _wire__crate__api__number_of_documentsPtr.asFunction< + void Function(int, ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__search_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ffi.Pointer query, + ffi.Pointer limit, + ffi.Pointer offset, + ffi.Pointer sort_criteria, + ffi.Pointer filter, + ffi.Pointer matching_strategy, + ) { + return _wire__crate__api__search_documents( + port_, + instance_dir, + index_name, + query, + limit, + offset, + sort_criteria, + filter, + matching_strategy, + ); + } + + late final _wire__crate__api__search_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__search_documents'); + late final _wire__crate__api__search_documents = + _wire__crate__api__search_documentsPtr.asFunction< + void Function( + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__set_documents( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ffi.Pointer documents, + ) { + return _wire__crate__api__set_documents( + port_, + instance_dir, + index_name, + documents, + ); + } + + late final _wire__crate__api__set_documentsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__set_documents'); + late final _wire__crate__api__set_documents = + _wire__crate__api__set_documentsPtr.asFunction< + void Function( + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + + void wire__crate__api__set_settings( + int port_, + ffi.Pointer instance_dir, + ffi.Pointer index_name, + ffi.Pointer settings, + ) { + return _wire__crate__api__set_settings( + port_, + instance_dir, + index_name, + settings, + ); + } + + late final _wire__crate__api__set_settingsPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_mimir_wire__crate__api__set_settings'); + late final _wire__crate__api__set_settings = + _wire__crate__api__set_settingsPtr.asFunction< + void Function( + int, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( ffi.Pointer ptr, @@ -391,4 +1114,362 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValuePtr .asFunction)>(); + + ffi.Pointer cst_new_box_autoadd_filter() { + return _cst_new_box_autoadd_filter(); + } + + late final _cst_new_box_autoadd_filterPtr = + _lookup Function()>>( + 'frbgen_mimir_cst_new_box_autoadd_filter'); + late final _cst_new_box_autoadd_filter = _cst_new_box_autoadd_filterPtr + .asFunction Function()>(); + + ffi.Pointer + cst_new_box_autoadd_mimir_index_settings() { + return _cst_new_box_autoadd_mimir_index_settings(); + } + + late final _cst_new_box_autoadd_mimir_index_settingsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function()>>( + 'frbgen_mimir_cst_new_box_autoadd_mimir_index_settings'); + late final _cst_new_box_autoadd_mimir_index_settings = + _cst_new_box_autoadd_mimir_index_settingsPtr + .asFunction Function()>(); + + ffi.Pointer cst_new_box_autoadd_terms_matching_strategy( + int value, + ) { + return _cst_new_box_autoadd_terms_matching_strategy( + value, + ); + } + + late final _cst_new_box_autoadd_terms_matching_strategyPtr = + _lookup Function(ffi.Int32)>>( + 'frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy'); + late final _cst_new_box_autoadd_terms_matching_strategy = + _cst_new_box_autoadd_terms_matching_strategyPtr + .asFunction Function(int)>(); + + ffi.Pointer cst_new_box_autoadd_u_32( + int value, + ) { + return _cst_new_box_autoadd_u_32( + value, + ); + } + + late final _cst_new_box_autoadd_u_32Ptr = + _lookup Function(ffi.Uint32)>>( + 'frbgen_mimir_cst_new_box_autoadd_u_32'); + late final _cst_new_box_autoadd_u_32 = _cst_new_box_autoadd_u_32Ptr + .asFunction Function(int)>(); + + ffi.Pointer cst_new_box_filter() { + return _cst_new_box_filter(); + } + + late final _cst_new_box_filterPtr = + _lookup Function()>>( + 'frbgen_mimir_cst_new_box_filter'); + late final _cst_new_box_filter = _cst_new_box_filterPtr + .asFunction Function()>(); + + ffi.Pointer cst_new_list_String( + int len, + ) { + return _cst_new_list_String( + len, + ); + } + + late final _cst_new_list_StringPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Int32)>>('frbgen_mimir_cst_new_list_String'); + late final _cst_new_list_String = _cst_new_list_StringPtr + .asFunction Function(int)>(); + + ffi.Pointer cst_new_list_filter( + int len, + ) { + return _cst_new_list_filter( + len, + ); + } + + late final _cst_new_list_filterPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Int32)>>('frbgen_mimir_cst_new_list_filter'); + late final _cst_new_list_filter = _cst_new_list_filterPtr + .asFunction Function(int)>(); + + ffi.Pointer cst_new_list_prim_u_8_strict( + int len, + ) { + return _cst_new_list_prim_u_8_strict( + len, + ); + } + + late final _cst_new_list_prim_u_8_strictPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Int32)>>('frbgen_mimir_cst_new_list_prim_u_8_strict'); + late final _cst_new_list_prim_u_8_strict = _cst_new_list_prim_u_8_strictPtr + .asFunction Function(int)>(); + + ffi.Pointer cst_new_list_sort_by( + int len, + ) { + return _cst_new_list_sort_by( + len, + ); + } + + late final _cst_new_list_sort_byPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Int32)>>('frbgen_mimir_cst_new_list_sort_by'); + late final _cst_new_list_sort_by = _cst_new_list_sort_byPtr + .asFunction Function(int)>(); + + ffi.Pointer cst_new_list_synonyms( + int len, + ) { + return _cst_new_list_synonyms( + len, + ); + } + + late final _cst_new_list_synonymsPtr = _lookup< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Int32)>>('frbgen_mimir_cst_new_list_synonyms'); + late final _cst_new_list_synonyms = _cst_new_list_synonymsPtr + .asFunction Function(int)>(); + + int dummy_method_to_enforce_bundling() { + return _dummy_method_to_enforce_bundling(); + } + + late final _dummy_method_to_enforce_bundlingPtr = + _lookup>( + 'dummy_method_to_enforce_bundling'); + late final _dummy_method_to_enforce_bundling = + _dummy_method_to_enforce_bundlingPtr.asFunction(); +} + +typedef DartPostCObjectFnType + = ffi.Pointer>; +typedef DartPostCObjectFnTypeFunction = ffi.Bool Function( + DartPort port_id, ffi.Pointer message); +typedef DartDartPostCObjectFnTypeFunction = bool Function( + DartDartPort port_id, ffi.Pointer message); +typedef DartPort = ffi.Int64; +typedef DartDartPort = int; + +final class wire_cst_list_prim_u_8_strict extends ffi.Struct { + external ffi.Pointer ptr; + + @ffi.Int32() + external int len; +} + +final class wire_cst_list_String extends ffi.Struct { + external ffi.Pointer> ptr; + + @ffi.Int32() + external int len; +} + +final class wire_cst_SortBy_Asc extends ffi.Struct { + external ffi.Pointer field0; +} + +final class wire_cst_SortBy_Desc extends ffi.Struct { + external ffi.Pointer field0; +} + +final class SortByKind extends ffi.Union { + external wire_cst_SortBy_Asc Asc; + + external wire_cst_SortBy_Desc Desc; +} + +final class wire_cst_sort_by extends ffi.Struct { + @ffi.Int32() + external int tag; + + external SortByKind kind; +} + +final class wire_cst_list_sort_by extends ffi.Struct { + external ffi.Pointer ptr; + + @ffi.Int32() + external int len; +} + +final class wire_cst_list_filter extends ffi.Struct { + external ffi.Pointer ptr; + + @ffi.Int32() + external int len; +} + +final class wire_cst_filter extends ffi.Struct { + @ffi.Int32() + external int tag; + + external FilterKind kind; +} + +final class FilterKind extends ffi.Union { + external wire_cst_Filter_Or Or; + + external wire_cst_Filter_And And; + + external wire_cst_Filter_Not Not; + + external wire_cst_Filter_Exists Exists; + + external wire_cst_Filter_InValues InValues; + + external wire_cst_Filter_GreaterThan GreaterThan; + + external wire_cst_Filter_GreaterThanOrEqual GreaterThanOrEqual; + + external wire_cst_Filter_Equal Equal; + + external wire_cst_Filter_NotEqual NotEqual; + + external wire_cst_Filter_LessThan LessThan; + + external wire_cst_Filter_LessThanOrEqual LessThanOrEqual; + + external wire_cst_Filter_Between Between; + + external wire_cst_Filter_IsNull IsNull; + + external wire_cst_Filter_IsEmpty IsEmpty; +} + +final class wire_cst_Filter_Or extends ffi.Struct { + external ffi.Pointer field0; +} + +final class wire_cst_Filter_And extends ffi.Struct { + external ffi.Pointer field0; +} + +final class wire_cst_Filter_Not extends ffi.Struct { + external ffi.Pointer field0; +} + +final class wire_cst_Filter_Exists extends ffi.Struct { + external ffi.Pointer field; +} + +final class wire_cst_Filter_InValues extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer values; +} + +final class wire_cst_Filter_GreaterThan extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer value; +} + +final class wire_cst_Filter_GreaterThanOrEqual extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer value; +} + +final class wire_cst_Filter_Equal extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer value; +} + +final class wire_cst_Filter_NotEqual extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer value; +} + +final class wire_cst_Filter_LessThan extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer value; +} + +final class wire_cst_Filter_LessThanOrEqual extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer value; +} + +final class wire_cst_Filter_Between extends ffi.Struct { + external ffi.Pointer field; + + external ffi.Pointer from; + + external ffi.Pointer to; +} + +final class wire_cst_Filter_IsNull extends ffi.Struct { + external ffi.Pointer field; +} + +final class wire_cst_Filter_IsEmpty extends ffi.Struct { + external ffi.Pointer field; +} + +final class wire_cst_synonyms extends ffi.Struct { + external ffi.Pointer word; + + external ffi.Pointer synonyms; +} + +final class wire_cst_list_synonyms extends ffi.Struct { + external ffi.Pointer ptr; + + @ffi.Int32() + external int len; +} + +final class wire_cst_mimir_index_settings extends ffi.Struct { + external ffi.Pointer primary_key; + + external ffi.Pointer searchable_fields; + + external ffi.Pointer filterable_fields; + + external ffi.Pointer sortable_fields; + + external ffi.Pointer ranking_rules; + + external ffi.Pointer stop_words; + + external ffi.Pointer synonyms; + + @ffi.Bool() + external bool typos_enabled; + + @ffi.Uint8() + external int min_word_size_for_one_typo; + + @ffi.Uint8() + external int min_word_size_for_two_typos; + + external ffi.Pointer disallow_typos_on_words; + + external ffi.Pointer disallow_typos_on_fields; } diff --git a/packages/mimir/lib/src/frb_generated.web.dart b/packages/mimir/lib/src/frb_generated.web.dart index 28c7acc..a5c1dbd 100644 --- a/packages/mimir/lib/src/frb_generated.web.dart +++ b/packages/mimir/lib/src/frb_generated.web.dart @@ -238,6 +238,259 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected BigInt sse_decode_usize(SseDeserializer deserializer); + @protected + String cst_encode_AnyhowException(AnyhowException raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + throw UnimplementedError(); + } + + @protected + String cst_encode_String(String raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + + @protected + JSAny cst_encode_box_autoadd_filter(Filter raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_filter(raw); + } + + @protected + JSAny cst_encode_box_autoadd_mimir_index_settings(MimirIndexSettings raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_mimir_index_settings(raw); + } + + @protected + int cst_encode_box_autoadd_terms_matching_strategy( + TermsMatchingStrategy raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_terms_matching_strategy(raw); + } + + @protected + int cst_encode_box_autoadd_u_32(int raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_u_32(raw); + } + + @protected + JSAny cst_encode_box_filter(Filter raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_filter(raw); + } + + @protected + JSAny cst_encode_filter(Filter raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + if (raw is Filter_Or) { + return [0, cst_encode_list_filter(raw.field0)].jsify()!; + } + if (raw is Filter_And) { + return [1, cst_encode_list_filter(raw.field0)].jsify()!; + } + if (raw is Filter_Not) { + return [2, cst_encode_box_filter(raw.field0)].jsify()!; + } + if (raw is Filter_Exists) { + return [3, cst_encode_String(raw.field)].jsify()!; + } + if (raw is Filter_InValues) { + return [ + 4, + cst_encode_String(raw.field), + cst_encode_list_String(raw.values) + ].jsify()!; + } + if (raw is Filter_GreaterThan) { + return [5, cst_encode_String(raw.field), cst_encode_String(raw.value)] + .jsify()!; + } + if (raw is Filter_GreaterThanOrEqual) { + return [6, cst_encode_String(raw.field), cst_encode_String(raw.value)] + .jsify()!; + } + if (raw is Filter_Equal) { + return [7, cst_encode_String(raw.field), cst_encode_String(raw.value)] + .jsify()!; + } + if (raw is Filter_NotEqual) { + return [8, cst_encode_String(raw.field), cst_encode_String(raw.value)] + .jsify()!; + } + if (raw is Filter_LessThan) { + return [9, cst_encode_String(raw.field), cst_encode_String(raw.value)] + .jsify()!; + } + if (raw is Filter_LessThanOrEqual) { + return [10, cst_encode_String(raw.field), cst_encode_String(raw.value)] + .jsify()!; + } + if (raw is Filter_Between) { + return [ + 11, + cst_encode_String(raw.field), + cst_encode_String(raw.from), + cst_encode_String(raw.to) + ].jsify()!; + } + if (raw is Filter_IsNull) { + return [12, cst_encode_String(raw.field)].jsify()!; + } + if (raw is Filter_IsEmpty) { + return [13, cst_encode_String(raw.field)].jsify()!; + } + + throw Exception('unreachable'); + } + + @protected + JSAny cst_encode_list_String(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.map(cst_encode_String).toList().jsify()!; + } + + @protected + JSAny cst_encode_list_filter(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.map(cst_encode_filter).toList().jsify()!; + } + + @protected + JSAny cst_encode_list_prim_u_8_strict(Uint8List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.jsify()!; + } + + @protected + JSAny cst_encode_list_sort_by(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.map(cst_encode_sort_by).toList().jsify()!; + } + + @protected + JSAny cst_encode_list_synonyms(List raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw.map(cst_encode_synonyms).toList().jsify()!; + } + + @protected + JSAny cst_encode_mimir_index_settings(MimirIndexSettings raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return [ + cst_encode_opt_String(raw.primaryKey), + cst_encode_opt_list_String(raw.searchableFields), + cst_encode_list_String(raw.filterableFields), + cst_encode_list_String(raw.sortableFields), + cst_encode_list_String(raw.rankingRules), + cst_encode_list_String(raw.stopWords), + cst_encode_list_synonyms(raw.synonyms), + cst_encode_bool(raw.typosEnabled), + cst_encode_u_8(raw.minWordSizeForOneTypo), + cst_encode_u_8(raw.minWordSizeForTwoTypos), + cst_encode_list_String(raw.disallowTyposOnWords), + cst_encode_list_String(raw.disallowTyposOnFields) + ].jsify()!; + } + + @protected + String? cst_encode_opt_String(String? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? null : cst_encode_String(raw); + } + + @protected + JSAny? cst_encode_opt_box_autoadd_filter(Filter? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? null : cst_encode_box_autoadd_filter(raw); + } + + @protected + int? cst_encode_opt_box_autoadd_terms_matching_strategy( + TermsMatchingStrategy? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null + ? null + : cst_encode_box_autoadd_terms_matching_strategy(raw); + } + + @protected + int? cst_encode_opt_box_autoadd_u_32(int? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? null : cst_encode_box_autoadd_u_32(raw); + } + + @protected + JSAny? cst_encode_opt_list_String(List? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? null : cst_encode_list_String(raw); + } + + @protected + JSAny? cst_encode_opt_list_sort_by(List? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? null : cst_encode_list_sort_by(raw); + } + + @protected + JSAny cst_encode_sort_by(SortBy raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + if (raw is SortBy_Asc) { + return [0, cst_encode_String(raw.field0)].jsify()!; + } + if (raw is SortBy_Desc) { + return [1, cst_encode_String(raw.field0)].jsify()!; + } + + throw Exception('unreachable'); + } + + @protected + JSAny cst_encode_synonyms(Synonyms raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return [cst_encode_String(raw.word), cst_encode_list_String(raw.synonyms)] + .jsify()!; + } + + @protected + JSAny cst_encode_u_64(BigInt raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return castNativeBigInt(raw); + } + + @protected + JSAny cst_encode_usize(BigInt raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return castNativeBigInt(raw); + } + + @protected + int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( + MapStringValue raw); + + @protected + int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( + MapStringValue raw); + + @protected + bool cst_encode_bool(bool raw); + + @protected + int cst_encode_i_32(int raw); + + @protected + int cst_encode_terms_matching_strategy(TermsMatchingStrategy raw); + + @protected + int cst_encode_u_32(int raw); + + @protected + int cst_encode_u_8(int raw); + + @protected + void cst_encode_unit(void raw); + @protected void sse_encode_AnyhowException( AnyhowException self, SseSerializer serializer); @@ -353,6 +606,82 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { class RustLibWire implements BaseWire { RustLibWire.fromExternalLibrary(ExternalLibrary lib); + void wire__crate__api__add_documents(NativePortType port_, + String instance_dir, String index_name, JSAny documents) => + wasmModule.wire__crate__api__add_documents( + port_, instance_dir, index_name, documents); + + void wire__crate__api__delete_all_documents( + NativePortType port_, String instance_dir, String index_name) => + wasmModule.wire__crate__api__delete_all_documents( + port_, instance_dir, index_name); + + void wire__crate__api__delete_documents(NativePortType port_, + String instance_dir, String index_name, JSAny document_ids) => + wasmModule.wire__crate__api__delete_documents( + port_, instance_dir, index_name, document_ids); + + void wire__crate__api__ensure_index_initialized( + NativePortType port_, String instance_dir, String index_name) => + wasmModule.wire__crate__api__ensure_index_initialized( + port_, instance_dir, index_name); + + void wire__crate__api__ensure_instance_initialized( + NativePortType port_, String instance_dir, String? tmp_dir) => + wasmModule.wire__crate__api__ensure_instance_initialized( + port_, instance_dir, tmp_dir); + + void wire__crate__api__get_all_documents( + NativePortType port_, String instance_dir, String index_name) => + wasmModule.wire__crate__api__get_all_documents( + port_, instance_dir, index_name); + + void wire__crate__api__get_document(NativePortType port_, String instance_dir, + String index_name, String document_id) => + wasmModule.wire__crate__api__get_document( + port_, instance_dir, index_name, document_id); + + void wire__crate__api__get_settings( + NativePortType port_, String instance_dir, String index_name) => + wasmModule.wire__crate__api__get_settings( + port_, instance_dir, index_name); + + void wire__crate__api__number_of_documents( + NativePortType port_, String instance_dir, String index_name) => + wasmModule.wire__crate__api__number_of_documents( + port_, instance_dir, index_name); + + void wire__crate__api__search_documents( + NativePortType port_, + String instance_dir, + String index_name, + String? query, + int? limit, + int? offset, + JSAny? sort_criteria, + JSAny? filter, + int? matching_strategy) => + wasmModule.wire__crate__api__search_documents( + port_, + instance_dir, + index_name, + query, + limit, + offset, + sort_criteria, + filter, + matching_strategy); + + void wire__crate__api__set_documents(NativePortType port_, + String instance_dir, String index_name, JSAny documents) => + wasmModule.wire__crate__api__set_documents( + port_, instance_dir, index_name, documents); + + void wire__crate__api__set_settings(NativePortType port_, String instance_dir, + String index_name, JSAny settings) => + wasmModule.wire__crate__api__set_settings( + port_, instance_dir, index_name, settings); + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( int ptr) => wasmModule @@ -372,6 +701,50 @@ external RustLibWasmModule get wasmModule; @JS() @anonymous extension type RustLibWasmModule._(JSObject _) implements JSObject { + external void wire__crate__api__add_documents(NativePortType port_, + String instance_dir, String index_name, JSAny documents); + + external void wire__crate__api__delete_all_documents( + NativePortType port_, String instance_dir, String index_name); + + external void wire__crate__api__delete_documents(NativePortType port_, + String instance_dir, String index_name, JSAny document_ids); + + external void wire__crate__api__ensure_index_initialized( + NativePortType port_, String instance_dir, String index_name); + + external void wire__crate__api__ensure_instance_initialized( + NativePortType port_, String instance_dir, String? tmp_dir); + + external void wire__crate__api__get_all_documents( + NativePortType port_, String instance_dir, String index_name); + + external void wire__crate__api__get_document(NativePortType port_, + String instance_dir, String index_name, String document_id); + + external void wire__crate__api__get_settings( + NativePortType port_, String instance_dir, String index_name); + + external void wire__crate__api__number_of_documents( + NativePortType port_, String instance_dir, String index_name); + + external void wire__crate__api__search_documents( + NativePortType port_, + String instance_dir, + String index_name, + String? query, + int? limit, + int? offset, + JSAny? sort_criteria, + JSAny? filter, + int? matching_strategy); + + external void wire__crate__api__set_documents(NativePortType port_, + String instance_dir, String index_name, JSAny documents); + + external void wire__crate__api__set_settings(NativePortType port_, + String instance_dir, String index_name, JSAny settings); + external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( int ptr); diff --git a/packages/mimir/lib/src/lib.dart b/packages/mimir/lib/src/lib.dart index de900fd..0ed7c59 100644 --- a/packages/mimir/lib/src/lib.dart +++ b/packages/mimir/lib/src/lib.dart @@ -6,5 +6,5 @@ import 'frb_generated.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -// Rust type: RustOpaqueMoi>> +// Rust type: RustOpaqueNom>> abstract class MapStringValue implements RustOpaqueInterface {} diff --git a/packages/mimir/native/Cargo.toml b/packages/mimir/native/Cargo.toml index 42bf9be..ecac49f 100644 --- a/packages/mimir/native/Cargo.toml +++ b/packages/mimir/native/Cargo.toml @@ -6,9 +6,6 @@ edition = "2021" [lib] crate-type = ["staticlib", "cdylib"] -[build-dependencies] -flutter_rust_bridge_codegen = "=2.1.0" - [dependencies] flutter_rust_bridge = "=2.1.0" anyhow = "1.0.*" diff --git a/packages/mimir/native/src/frb_generated.rs b/packages/mimir/native/src/frb_generated.rs index f205567..3d53c4b 100644 --- a/packages/mimir/native/src/frb_generated.rs +++ b/packages/mimir/native/src/frb_generated.rs @@ -33,9 +33,9 @@ use flutter_rust_bridge::{Handler, IntoIntoDart}; // Section: boilerplate flutter_rust_bridge::frb_generated_boilerplate!( - default_stream_sink_codec = SseCodec, - default_rust_opaque = RustOpaqueMoi, - default_rust_auto_opaque = RustAutoOpaqueMoi, + default_stream_sink_codec = DcoCodec, + default_rust_opaque = RustOpaqueNom, + default_rust_auto_opaque = RustAutoOpaqueNom, ); pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.1.0"; pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = 1727542745; @@ -48,32 +48,22 @@ flutter_rust_bridge::frb_generated_default_handler!(); fn wire__crate__api__add_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, + documents: impl CstDecode>, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "add_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - let api_documents = >::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); + let api_documents = documents.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::add_documents( api_instance_dir, @@ -89,31 +79,20 @@ fn wire__crate__api__add_documents_impl( } fn wire__crate__api__delete_all_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "delete_all_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::delete_all_documents(api_instance_dir, api_index_name)?; @@ -126,32 +105,22 @@ fn wire__crate__api__delete_all_documents_impl( } fn wire__crate__api__delete_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, + document_ids: impl CstDecode>, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "delete_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - let api_document_ids = >::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); + let api_document_ids = document_ids.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::delete_documents( api_instance_dir, @@ -167,31 +136,20 @@ fn wire__crate__api__delete_documents_impl( } fn wire__crate__api__ensure_index_initialized_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "ensure_index_initialized", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::ensure_index_initialized(api_instance_dir, api_index_name)?; @@ -204,31 +162,20 @@ fn wire__crate__api__ensure_index_initialized_impl( } fn wire__crate__api__ensure_instance_initialized_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + tmp_dir: impl CstDecode>, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "ensure_instance_initialized", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_tmp_dir = >::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_tmp_dir = tmp_dir.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::ensure_instance_initialized(api_instance_dir, api_tmp_dir)?; @@ -241,31 +188,20 @@ fn wire__crate__api__ensure_instance_initialized_impl( } fn wire__crate__api__get_all_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "get_all_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::get_all_documents(api_instance_dir, api_index_name)?; @@ -278,32 +214,22 @@ fn wire__crate__api__get_all_documents_impl( } fn wire__crate__api__get_document_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, + document_id: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "get_document", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - let api_document_id = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); + let api_document_id = document_id.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::get_document( api_instance_dir, @@ -319,31 +245,20 @@ fn wire__crate__api__get_document_impl( } fn wire__crate__api__get_settings_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "get_settings", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::get_settings(api_instance_dir, api_index_name)?; Ok(output_ok) @@ -355,31 +270,20 @@ fn wire__crate__api__get_settings_impl( } fn wire__crate__api__number_of_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "number_of_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::number_of_documents(api_instance_dir, api_index_name)?; @@ -392,39 +296,32 @@ fn wire__crate__api__number_of_documents_impl( } fn wire__crate__api__search_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, + query: impl CstDecode>, + limit: impl CstDecode>, + offset: impl CstDecode>, + sort_criteria: impl CstDecode>>, + filter: impl CstDecode>, + matching_strategy: impl CstDecode>, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "search_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - let api_query = >::sse_decode(&mut deserializer); - let api_limit = >::sse_decode(&mut deserializer); - let api_offset = >::sse_decode(&mut deserializer); - let api_sort_criteria = - >>::sse_decode(&mut deserializer); - let api_filter = >::sse_decode(&mut deserializer); - let api_matching_strategy = - >::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); + let api_query = query.cst_decode(); + let api_limit = limit.cst_decode(); + let api_offset = offset.cst_decode(); + let api_sort_criteria = sort_criteria.cst_decode(); + let api_filter = filter.cst_decode(); + let api_matching_strategy = matching_strategy.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::search_documents( api_instance_dir, @@ -445,32 +342,22 @@ fn wire__crate__api__search_documents_impl( } fn wire__crate__api__set_documents_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, + documents: impl CstDecode>, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "set_documents", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - let api_documents = >::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); + let api_documents = documents.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::set_documents( api_instance_dir, @@ -486,32 +373,22 @@ fn wire__crate__api__set_documents_impl( } fn wire__crate__api__set_settings_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + instance_dir: impl CstDecode, + index_name: impl CstDecode, + settings: impl CstDecode, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { debug_name: "set_settings", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_instance_dir = ::sse_decode(&mut deserializer); - let api_index_name = ::sse_decode(&mut deserializer); - let api_settings = ::sse_decode(&mut deserializer); - deserializer.end(); + let api_instance_dir = instance_dir.cst_decode(); + let api_index_name = index_name.cst_decode(); + let api_settings = settings.cst_decode(); move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>( (move || { let output_ok = crate::api::set_settings( api_instance_dir, @@ -526,14 +403,54 @@ fn wire__crate__api__set_settings_impl( ) } -// Section: related_funcs - -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); - // Section: dart2rust +impl CstDecode for bool { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> bool { + self + } +} +impl CstDecode for i32 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> i32 { + self + } +} +impl CstDecode for i32 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::TermsMatchingStrategy { + match self { + 0 => crate::api::TermsMatchingStrategy::Last, + 1 => crate::api::TermsMatchingStrategy::All, + _ => unreachable!("Invalid variant for TermsMatchingStrategy: {}", self), + } + } +} +impl CstDecode for u32 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u32 { + self + } +} +impl CstDecode for u64 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u64 { + self + } +} +impl CstDecode for u8 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u8 { + self + } +} +impl CstDecode for usize { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> usize { + self + } +} impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -545,7 +462,7 @@ impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error { impl SseDecode for Map { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, >>::sse_decode(deserializer); return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); @@ -553,12 +470,12 @@ impl SseDecode for Map { } impl SseDecode - for RustOpaqueMoi>> + for RustOpaqueNom>> { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); + return unsafe { decode_rust_opaque_nom(inner) }; } } @@ -939,18 +856,6 @@ fn pde_ffi_dispatcher_primary_impl( ) { // Codec=Pde (Serialization + dispatch), see doc to use other codecs match func_id { - 3 => wire__crate__api__add_documents_impl(port, ptr, rust_vec_len, data_len), - 4 => wire__crate__api__delete_all_documents_impl(port, ptr, rust_vec_len, data_len), - 5 => wire__crate__api__delete_documents_impl(port, ptr, rust_vec_len, data_len), - 6 => wire__crate__api__ensure_index_initialized_impl(port, ptr, rust_vec_len, data_len), - 7 => wire__crate__api__ensure_instance_initialized_impl(port, ptr, rust_vec_len, data_len), - 8 => wire__crate__api__get_all_documents_impl(port, ptr, rust_vec_len, data_len), - 9 => wire__crate__api__get_document_impl(port, ptr, rust_vec_len, data_len), - 10 => wire__crate__api__get_settings_impl(port, ptr, rust_vec_len, data_len), - 11 => wire__crate__api__number_of_documents_impl(port, ptr, rust_vec_len, data_len), - 12 => wire__crate__api__search_documents_impl(port, ptr, rust_vec_len, data_len), - 13 => wire__crate__api__set_documents_impl(port, ptr, rust_vec_len, data_len), - 14 => wire__crate__api__set_settings_impl(port, ptr, rust_vec_len, data_len), _ => unreachable!(), } } @@ -972,7 +877,7 @@ fn pde_ffi_dispatcher_sync_impl( // Codec=Dco (DartCObject based), see doc to use other codecs impl flutter_rust_bridge::IntoDart for FrbWrapper> { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self.0) .into_dart() } } @@ -1173,12 +1078,12 @@ impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error { impl SseEncode for Map { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self), serializer); } } impl SseEncode - for RustOpaqueMoi>> + for RustOpaqueNom>> { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -1518,18 +1423,750 @@ mod io { flutter_rust_bridge::frb_generated_boilerplate_io!(); + // Section: dart2rust + + impl CstDecode + for *mut wire_cst_list_prim_u_8_strict + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> flutter_rust_bridge::for_generated::anyhow::Error { + unimplemented!() + } + } + impl CstDecode> for usize { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Map { + flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(CstDecode::< + RustOpaqueNom< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + >, + >::cst_decode( + self + )) + } + } + impl + CstDecode< + RustOpaqueNom< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + >, + > for usize + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode( + self, + ) -> RustOpaqueNom< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > { + unsafe { decode_rust_opaque_nom(self as _) } + } + } + impl CstDecode for *mut wire_cst_list_prim_u_8_strict { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> String { + let vec: Vec = self.cst_decode(); + String::from_utf8(vec).unwrap() + } + } + impl CstDecode for *mut wire_cst_filter { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::Filter { + let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; + CstDecode::::cst_decode(*wrap).into() + } + } + impl CstDecode for *mut wire_cst_mimir_index_settings { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::MimirIndexSettings { + let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; + CstDecode::::cst_decode(*wrap).into() + } + } + impl CstDecode for *mut i32 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::TermsMatchingStrategy { + let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; + CstDecode::::cst_decode(*wrap).into() + } + } + impl CstDecode for *mut u32 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u32 { + unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) } + } + } + impl CstDecode> for *mut wire_cst_filter { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Box { + let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; + CstDecode::::cst_decode(*wrap).into() + } + } + impl CstDecode for wire_cst_filter { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::Filter { + match self.tag { + 0 => { + let ans = unsafe { self.kind.Or }; + crate::api::Filter::Or(ans.field0.cst_decode()) + } + 1 => { + let ans = unsafe { self.kind.And }; + crate::api::Filter::And(ans.field0.cst_decode()) + } + 2 => { + let ans = unsafe { self.kind.Not }; + crate::api::Filter::Not(ans.field0.cst_decode()) + } + 3 => { + let ans = unsafe { self.kind.Exists }; + crate::api::Filter::Exists { + field: ans.field.cst_decode(), + } + } + 4 => { + let ans = unsafe { self.kind.InValues }; + crate::api::Filter::InValues { + field: ans.field.cst_decode(), + values: ans.values.cst_decode(), + } + } + 5 => { + let ans = unsafe { self.kind.GreaterThan }; + crate::api::Filter::GreaterThan { + field: ans.field.cst_decode(), + value: ans.value.cst_decode(), + } + } + 6 => { + let ans = unsafe { self.kind.GreaterThanOrEqual }; + crate::api::Filter::GreaterThanOrEqual { + field: ans.field.cst_decode(), + value: ans.value.cst_decode(), + } + } + 7 => { + let ans = unsafe { self.kind.Equal }; + crate::api::Filter::Equal { + field: ans.field.cst_decode(), + value: ans.value.cst_decode(), + } + } + 8 => { + let ans = unsafe { self.kind.NotEqual }; + crate::api::Filter::NotEqual { + field: ans.field.cst_decode(), + value: ans.value.cst_decode(), + } + } + 9 => { + let ans = unsafe { self.kind.LessThan }; + crate::api::Filter::LessThan { + field: ans.field.cst_decode(), + value: ans.value.cst_decode(), + } + } + 10 => { + let ans = unsafe { self.kind.LessThanOrEqual }; + crate::api::Filter::LessThanOrEqual { + field: ans.field.cst_decode(), + value: ans.value.cst_decode(), + } + } + 11 => { + let ans = unsafe { self.kind.Between }; + crate::api::Filter::Between { + field: ans.field.cst_decode(), + from: ans.from.cst_decode(), + to: ans.to.cst_decode(), + } + } + 12 => { + let ans = unsafe { self.kind.IsNull }; + crate::api::Filter::IsNull { + field: ans.field.cst_decode(), + } + } + 13 => { + let ans = unsafe { self.kind.IsEmpty }; + crate::api::Filter::IsEmpty { + field: ans.field.cst_decode(), + } + } + _ => unreachable!(), + } + } + } + impl CstDecode> for *mut wire_cst_list_String { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + let vec = unsafe { + let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); + flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) + }; + vec.into_iter().map(CstDecode::cst_decode).collect() + } + } + impl CstDecode> for *mut wire_cst_list_filter { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + let vec = unsafe { + let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); + flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) + }; + vec.into_iter().map(CstDecode::cst_decode).collect() + } + } + impl CstDecode> for *mut wire_cst_list_prim_u_8_strict { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + unsafe { + let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); + flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) + } + } + } + impl CstDecode> for *mut wire_cst_list_sort_by { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + let vec = unsafe { + let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); + flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) + }; + vec.into_iter().map(CstDecode::cst_decode).collect() + } + } + impl CstDecode> for *mut wire_cst_list_synonyms { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + let vec = unsafe { + let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); + flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) + }; + vec.into_iter().map(CstDecode::cst_decode).collect() + } + } + impl CstDecode for wire_cst_mimir_index_settings { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::MimirIndexSettings { + crate::api::MimirIndexSettings { + primary_key: self.primary_key.cst_decode(), + searchable_fields: self.searchable_fields.cst_decode(), + filterable_fields: self.filterable_fields.cst_decode(), + sortable_fields: self.sortable_fields.cst_decode(), + ranking_rules: self.ranking_rules.cst_decode(), + stop_words: self.stop_words.cst_decode(), + synonyms: self.synonyms.cst_decode(), + typos_enabled: self.typos_enabled.cst_decode(), + min_word_size_for_one_typo: self.min_word_size_for_one_typo.cst_decode(), + min_word_size_for_two_typos: self.min_word_size_for_two_typos.cst_decode(), + disallow_typos_on_words: self.disallow_typos_on_words.cst_decode(), + disallow_typos_on_fields: self.disallow_typos_on_fields.cst_decode(), + } + } + } + impl CstDecode for wire_cst_sort_by { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::SortBy { + match self.tag { + 0 => { + let ans = unsafe { self.kind.Asc }; + crate::api::SortBy::Asc(ans.field0.cst_decode()) + } + 1 => { + let ans = unsafe { self.kind.Desc }; + crate::api::SortBy::Desc(ans.field0.cst_decode()) + } + _ => unreachable!(), + } + } + } + impl CstDecode for wire_cst_synonyms { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::Synonyms { + crate::api::Synonyms { + word: self.word.cst_decode(), + synonyms: self.synonyms.cst_decode(), + } + } + } + impl NewWithNullPtr for wire_cst_filter { + fn new_with_null_ptr() -> Self { + Self { + tag: -1, + kind: FilterKind { nil__: () }, + } + } + } + impl Default for wire_cst_filter { + fn default() -> Self { + Self::new_with_null_ptr() + } + } + impl NewWithNullPtr for wire_cst_mimir_index_settings { + fn new_with_null_ptr() -> Self { + Self { + primary_key: core::ptr::null_mut(), + searchable_fields: core::ptr::null_mut(), + filterable_fields: core::ptr::null_mut(), + sortable_fields: core::ptr::null_mut(), + ranking_rules: core::ptr::null_mut(), + stop_words: core::ptr::null_mut(), + synonyms: core::ptr::null_mut(), + typos_enabled: Default::default(), + min_word_size_for_one_typo: Default::default(), + min_word_size_for_two_typos: Default::default(), + disallow_typos_on_words: core::ptr::null_mut(), + disallow_typos_on_fields: core::ptr::null_mut(), + } + } + } + impl Default for wire_cst_mimir_index_settings { + fn default() -> Self { + Self::new_with_null_ptr() + } + } + impl NewWithNullPtr for wire_cst_sort_by { + fn new_with_null_ptr() -> Self { + Self { + tag: -1, + kind: SortByKind { nil__: () }, + } + } + } + impl Default for wire_cst_sort_by { + fn default() -> Self { + Self::new_with_null_ptr() + } + } + impl NewWithNullPtr for wire_cst_synonyms { + fn new_with_null_ptr() -> Self { + Self { + word: core::ptr::null_mut(), + synonyms: core::ptr::null_mut(), + } + } + } + impl Default for wire_cst_synonyms { + fn default() -> Self { + Self::new_with_null_ptr() + } + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__add_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + documents: *mut wire_cst_list_String, + ) { + wire__crate__api__add_documents_impl(port_, instance_dir, index_name, documents) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__delete_all_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__delete_all_documents_impl(port_, instance_dir, index_name) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__delete_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + document_ids: *mut wire_cst_list_String, + ) { + wire__crate__api__delete_documents_impl(port_, instance_dir, index_name, document_ids) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__ensure_index_initialized( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__ensure_index_initialized_impl(port_, instance_dir, index_name) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__ensure_instance_initialized( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + tmp_dir: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__ensure_instance_initialized_impl(port_, instance_dir, tmp_dir) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__get_all_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__get_all_documents_impl(port_, instance_dir, index_name) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__get_document( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + document_id: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__get_document_impl(port_, instance_dir, index_name, document_id) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__get_settings( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__get_settings_impl(port_, instance_dir, index_name) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__number_of_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + ) { + wire__crate__api__number_of_documents_impl(port_, instance_dir, index_name) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__search_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + query: *mut wire_cst_list_prim_u_8_strict, + limit: *mut u32, + offset: *mut u32, + sort_criteria: *mut wire_cst_list_sort_by, + filter: *mut wire_cst_filter, + matching_strategy: *mut i32, + ) { + wire__crate__api__search_documents_impl( + port_, + instance_dir, + index_name, + query, + limit, + offset, + sort_criteria, + filter, + matching_strategy, + ) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__set_documents( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + documents: *mut wire_cst_list_String, + ) { + wire__crate__api__set_documents_impl(port_, instance_dir, index_name, documents) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_wire__crate__api__set_settings( + port_: i64, + instance_dir: *mut wire_cst_list_prim_u_8_strict, + index_name: *mut wire_cst_list_prim_u_8_strict, + settings: *mut wire_cst_mimir_index_settings, + ) { + wire__crate__api__set_settings_impl(port_, instance_dir, index_name, settings) + } + #[no_mangle] pub extern "C" fn frbgen_mimir_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( ptr: *const std::ffi::c_void, ) { - MoiArc::>>::increment_strong_count(ptr as _); + unsafe { + StdArc::>>::increment_strong_count(ptr as _); + } } #[no_mangle] pub extern "C" fn frbgen_mimir_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( ptr: *const std::ffi::c_void, ) { - MoiArc::>>::decrement_strong_count(ptr as _); + unsafe { + StdArc::>>::decrement_strong_count(ptr as _); + } + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_box_autoadd_filter() -> *mut wire_cst_filter { + flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_filter::new_with_null_ptr()) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_box_autoadd_mimir_index_settings( + ) -> *mut wire_cst_mimir_index_settings { + flutter_rust_bridge::for_generated::new_leak_box_ptr( + wire_cst_mimir_index_settings::new_with_null_ptr(), + ) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_box_autoadd_terms_matching_strategy( + value: i32, + ) -> *mut i32 { + flutter_rust_bridge::for_generated::new_leak_box_ptr(value) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_box_autoadd_u_32(value: u32) -> *mut u32 { + flutter_rust_bridge::for_generated::new_leak_box_ptr(value) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_box_filter() -> *mut wire_cst_filter { + flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_filter::new_with_null_ptr()) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_list_String(len: i32) -> *mut wire_cst_list_String { + let wrap = wire_cst_list_String { + ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr( + <*mut wire_cst_list_prim_u_8_strict>::new_with_null_ptr(), + len, + ), + len, + }; + flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_list_filter(len: i32) -> *mut wire_cst_list_filter { + let wrap = wire_cst_list_filter { + ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr( + ::new_with_null_ptr(), + len, + ), + len, + }; + flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_list_prim_u_8_strict( + len: i32, + ) -> *mut wire_cst_list_prim_u_8_strict { + let ans = wire_cst_list_prim_u_8_strict { + ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len), + len, + }; + flutter_rust_bridge::for_generated::new_leak_box_ptr(ans) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_list_sort_by(len: i32) -> *mut wire_cst_list_sort_by { + let wrap = wire_cst_list_sort_by { + ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr( + ::new_with_null_ptr(), + len, + ), + len, + }; + flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap) + } + + #[no_mangle] + pub extern "C" fn frbgen_mimir_cst_new_list_synonyms(len: i32) -> *mut wire_cst_list_synonyms { + let wrap = wire_cst_list_synonyms { + ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr( + ::new_with_null_ptr(), + len, + ), + len, + }; + flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap) + } + + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_filter { + tag: i32, + kind: FilterKind, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub union FilterKind { + Or: wire_cst_Filter_Or, + And: wire_cst_Filter_And, + Not: wire_cst_Filter_Not, + Exists: wire_cst_Filter_Exists, + InValues: wire_cst_Filter_InValues, + GreaterThan: wire_cst_Filter_GreaterThan, + GreaterThanOrEqual: wire_cst_Filter_GreaterThanOrEqual, + Equal: wire_cst_Filter_Equal, + NotEqual: wire_cst_Filter_NotEqual, + LessThan: wire_cst_Filter_LessThan, + LessThanOrEqual: wire_cst_Filter_LessThanOrEqual, + Between: wire_cst_Filter_Between, + IsNull: wire_cst_Filter_IsNull, + IsEmpty: wire_cst_Filter_IsEmpty, + nil__: (), + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_Or { + field0: *mut wire_cst_list_filter, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_And { + field0: *mut wire_cst_list_filter, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_Not { + field0: *mut wire_cst_filter, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_Exists { + field: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_InValues { + field: *mut wire_cst_list_prim_u_8_strict, + values: *mut wire_cst_list_String, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_GreaterThan { + field: *mut wire_cst_list_prim_u_8_strict, + value: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_GreaterThanOrEqual { + field: *mut wire_cst_list_prim_u_8_strict, + value: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_Equal { + field: *mut wire_cst_list_prim_u_8_strict, + value: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_NotEqual { + field: *mut wire_cst_list_prim_u_8_strict, + value: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_LessThan { + field: *mut wire_cst_list_prim_u_8_strict, + value: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_LessThanOrEqual { + field: *mut wire_cst_list_prim_u_8_strict, + value: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_Between { + field: *mut wire_cst_list_prim_u_8_strict, + from: *mut wire_cst_list_prim_u_8_strict, + to: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_IsNull { + field: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_Filter_IsEmpty { + field: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_list_String { + ptr: *mut *mut wire_cst_list_prim_u_8_strict, + len: i32, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_list_filter { + ptr: *mut wire_cst_filter, + len: i32, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_list_prim_u_8_strict { + ptr: *mut u8, + len: i32, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_list_sort_by { + ptr: *mut wire_cst_sort_by, + len: i32, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_list_synonyms { + ptr: *mut wire_cst_synonyms, + len: i32, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_mimir_index_settings { + primary_key: *mut wire_cst_list_prim_u_8_strict, + searchable_fields: *mut wire_cst_list_String, + filterable_fields: *mut wire_cst_list_String, + sortable_fields: *mut wire_cst_list_String, + ranking_rules: *mut wire_cst_list_String, + stop_words: *mut wire_cst_list_String, + synonyms: *mut wire_cst_list_synonyms, + typos_enabled: bool, + min_word_size_for_one_typo: u8, + min_word_size_for_two_typos: u8, + disallow_typos_on_words: *mut wire_cst_list_String, + disallow_typos_on_fields: *mut wire_cst_list_String, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_sort_by { + tag: i32, + kind: SortByKind, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub union SortByKind { + Asc: wire_cst_SortBy_Asc, + Desc: wire_cst_SortBy_Desc, + nil__: (), + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_SortBy_Asc { + field0: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_SortBy_Desc { + field0: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] + pub struct wire_cst_synonyms { + word: *mut wire_cst_list_prim_u_8_strict, + synonyms: *mut wire_cst_list_String, } } #[cfg(not(target_family = "wasm"))] @@ -1557,18 +2194,443 @@ mod web { flutter_rust_bridge::frb_generated_boilerplate_web!(); + // Section: dart2rust + + impl CstDecode for String { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> flutter_rust_bridge::for_generated::anyhow::Error { + unimplemented!() + } + } + impl CstDecode for String { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> String { + self + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::Filter { + let self_ = self.unchecked_into::(); + match self_.get(0).unchecked_into_f64() as _ { + 0 => crate::api::Filter::Or(self_.get(1).cst_decode()), + 1 => crate::api::Filter::And(self_.get(1).cst_decode()), + 2 => crate::api::Filter::Not(self_.get(1).cst_decode()), + 3 => crate::api::Filter::Exists { + field: self_.get(1).cst_decode(), + }, + 4 => crate::api::Filter::InValues { + field: self_.get(1).cst_decode(), + values: self_.get(2).cst_decode(), + }, + 5 => crate::api::Filter::GreaterThan { + field: self_.get(1).cst_decode(), + value: self_.get(2).cst_decode(), + }, + 6 => crate::api::Filter::GreaterThanOrEqual { + field: self_.get(1).cst_decode(), + value: self_.get(2).cst_decode(), + }, + 7 => crate::api::Filter::Equal { + field: self_.get(1).cst_decode(), + value: self_.get(2).cst_decode(), + }, + 8 => crate::api::Filter::NotEqual { + field: self_.get(1).cst_decode(), + value: self_.get(2).cst_decode(), + }, + 9 => crate::api::Filter::LessThan { + field: self_.get(1).cst_decode(), + value: self_.get(2).cst_decode(), + }, + 10 => crate::api::Filter::LessThanOrEqual { + field: self_.get(1).cst_decode(), + value: self_.get(2).cst_decode(), + }, + 11 => crate::api::Filter::Between { + field: self_.get(1).cst_decode(), + from: self_.get(2).cst_decode(), + to: self_.get(3).cst_decode(), + }, + 12 => crate::api::Filter::IsNull { + field: self_.get(1).cst_decode(), + }, + 13 => crate::api::Filter::IsEmpty { + field: self_.get(1).cst_decode(), + }, + _ => unreachable!(), + } + } + } + impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + self.dyn_into::() + .unwrap() + .iter() + .map(CstDecode::cst_decode) + .collect() + } + } + impl CstDecode> + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + self.dyn_into::() + .unwrap() + .iter() + .map(CstDecode::cst_decode) + .collect() + } + } + impl CstDecode> for Box<[u8]> { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + self.into_vec() + } + } + impl CstDecode> + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + self.dyn_into::() + .unwrap() + .iter() + .map(CstDecode::cst_decode) + .collect() + } + } + impl CstDecode> + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + self.dyn_into::() + .unwrap() + .iter() + .map(CstDecode::cst_decode) + .collect() + } + } + impl CstDecode + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::MimirIndexSettings { + let self_ = self + .dyn_into::() + .unwrap(); + assert_eq!( + self_.length(), + 12, + "Expected 12 elements, got {}", + self_.length() + ); + crate::api::MimirIndexSettings { + primary_key: self_.get(0).cst_decode(), + searchable_fields: self_.get(1).cst_decode(), + filterable_fields: self_.get(2).cst_decode(), + sortable_fields: self_.get(3).cst_decode(), + ranking_rules: self_.get(4).cst_decode(), + stop_words: self_.get(5).cst_decode(), + synonyms: self_.get(6).cst_decode(), + typos_enabled: self_.get(7).cst_decode(), + min_word_size_for_one_typo: self_.get(8).cst_decode(), + min_word_size_for_two_typos: self_.get(9).cst_decode(), + disallow_typos_on_words: self_.get(10).cst_decode(), + disallow_typos_on_fields: self_.get(11).cst_decode(), + } + } + } + impl CstDecode> for Option { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Option { + self.map(CstDecode::cst_decode) + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::SortBy { + let self_ = self.unchecked_into::(); + match self_.get(0).unchecked_into_f64() as _ { + 0 => crate::api::SortBy::Asc(self_.get(1).cst_decode()), + 1 => crate::api::SortBy::Desc(self_.get(1).cst_decode()), + _ => unreachable!(), + } + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::Synonyms { + let self_ = self + .dyn_into::() + .unwrap(); + assert_eq!( + self_.length(), + 2, + "Expected 2 elements, got {}", + self_.length() + ); + crate::api::Synonyms { + word: self_.get(0).cst_decode(), + synonyms: self_.get(1).cst_decode(), + } + } + } + impl CstDecode + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> flutter_rust_bridge::for_generated::anyhow::Error { + unimplemented!() + } + } + impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Map { + flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(CstDecode::< + RustOpaqueNom< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + >, + >::cst_decode( + self + )) + } + } + impl + CstDecode< + RustOpaqueNom< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + >, + > for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode( + self, + ) -> RustOpaqueNom< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > { + #[cfg(target_pointer_width = "64")] + { + compile_error!("64-bit pointers are not supported."); + } + unsafe { decode_rust_opaque_nom((self.as_f64().unwrap() as usize) as _) } + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> String { + self.as_string().expect("non-UTF-8 string, or not a string") + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> bool { + self.is_truthy() + } + } + impl CstDecode> + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Box { + Box::new(self.cst_decode()) + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> i32 { + self.unchecked_into_f64() as _ + } + } + impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> Vec { + self.unchecked_into::() + .to_vec() + .into() + } + } + impl CstDecode + for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue + { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::api::TermsMatchingStrategy { + (self.unchecked_into_f64() as i32).cst_decode() + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u32 { + self.unchecked_into_f64() as _ + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u64 { + ::std::convert::TryInto::::try_into(self).unwrap() as _ + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> u8 { + self.unchecked_into_f64() as _ + } + } + impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> usize { + ::std::convert::TryInto::::try_into(self).unwrap() as _ + } + } + + #[wasm_bindgen] + pub fn wire__crate__api__add_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + documents: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ) { + wire__crate__api__add_documents_impl(port_, instance_dir, index_name, documents) + } + + #[wasm_bindgen] + pub fn wire__crate__api__delete_all_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + ) { + wire__crate__api__delete_all_documents_impl(port_, instance_dir, index_name) + } + + #[wasm_bindgen] + pub fn wire__crate__api__delete_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + document_ids: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ) { + wire__crate__api__delete_documents_impl(port_, instance_dir, index_name, document_ids) + } + + #[wasm_bindgen] + pub fn wire__crate__api__ensure_index_initialized( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + ) { + wire__crate__api__ensure_index_initialized_impl(port_, instance_dir, index_name) + } + + #[wasm_bindgen] + pub fn wire__crate__api__ensure_instance_initialized( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + tmp_dir: Option, + ) { + wire__crate__api__ensure_instance_initialized_impl(port_, instance_dir, tmp_dir) + } + + #[wasm_bindgen] + pub fn wire__crate__api__get_all_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + ) { + wire__crate__api__get_all_documents_impl(port_, instance_dir, index_name) + } + + #[wasm_bindgen] + pub fn wire__crate__api__get_document( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + document_id: String, + ) { + wire__crate__api__get_document_impl(port_, instance_dir, index_name, document_id) + } + + #[wasm_bindgen] + pub fn wire__crate__api__get_settings( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + ) { + wire__crate__api__get_settings_impl(port_, instance_dir, index_name) + } + + #[wasm_bindgen] + pub fn wire__crate__api__number_of_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + ) { + wire__crate__api__number_of_documents_impl(port_, instance_dir, index_name) + } + + #[wasm_bindgen] + pub fn wire__crate__api__search_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + query: Option, + limit: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + offset: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + sort_criteria: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + filter: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + matching_strategy: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ) { + wire__crate__api__search_documents_impl( + port_, + instance_dir, + index_name, + query, + limit, + offset, + sort_criteria, + filter, + matching_strategy, + ) + } + + #[wasm_bindgen] + pub fn wire__crate__api__set_documents( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + documents: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ) { + wire__crate__api__set_documents_impl(port_, instance_dir, index_name, documents) + } + + #[wasm_bindgen] + pub fn wire__crate__api__set_settings( + port_: flutter_rust_bridge::for_generated::MessagePort, + instance_dir: String, + index_name: String, + settings: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ) { + wire__crate__api__set_settings_impl(port_, instance_dir, index_name, settings) + } + #[wasm_bindgen] pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( ptr: *const std::ffi::c_void, ) { - MoiArc::>>::increment_strong_count(ptr as _); + unsafe { + StdArc::>>::increment_strong_count(ptr as _); + } } #[wasm_bindgen] pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMapStringValue( ptr: *const std::ffi::c_void, ) { - MoiArc::>>::decrement_strong_count(ptr as _); + unsafe { + StdArc::>>::decrement_strong_count(ptr as _); + } } } #[cfg(target_family = "wasm")] diff --git a/packages/mimir/native/src/lib.rs b/packages/mimir/native/src/lib.rs index 15391cd..2c9850d 100644 --- a/packages/mimir/native/src/lib.rs +++ b/packages/mimir/native/src/lib.rs @@ -2,3 +2,6 @@ mod frb_generated; /* AUTO INJECTED BY flutter_rust_bridge. This line may not be mod api; mod embedded_milli; + +// NOTE: fixes a random missing import bug in frb codegen +use serde_json::{Map, Value};