@@ -32,6 +32,10 @@ export interface FileStream {
3232
3333#[ wasm_bindgen]
3434extern "C" {
35+ #[ derive( Debug ) ]
36+ #[ wasm_bindgen( typescript_type = "() => void" ) ]
37+ pub type SubscribeCallback ;
38+
3539 #[ wasm_bindgen( typescript_type = "number[] | undefined" ) ]
3640 pub type IdVecOption ;
3741
@@ -147,9 +151,11 @@ pub fn to_js<In: serde::ser::Serialize + ?Sized, Out: From<JsValue> + Into<JsVal
147151 serde_wasm_bindgen:: to_value ( value) . unwrap ( ) . into ( )
148152}
149153
150- pub fn to_cb ( callback : js_sys:: Function ) -> Box < dyn Fn ( ) + Send + Sync + ' static > {
154+ pub fn to_cb ( callback : SubscribeCallback ) -> Box < dyn Fn ( ) + Send + Sync + ' static > {
155+ let callback_function: js_sys:: Function = callback. dyn_into ( ) . unwrap ( ) ;
156+
151157 let callback: Box < dyn Fn ( ) + ' static > = Box :: new ( move || {
152- callback . call0 ( & JsValue :: undefined ( ) ) . unwrap ( ) ;
158+ callback_function . call0 ( & JsValue :: undefined ( ) ) . unwrap ( ) ;
153159 } ) ;
154160
155161 let callback: Box < dyn Fn ( ) + Send + Sync + ' static > = unsafe {
@@ -255,7 +261,7 @@ impl WebVault {
255261 // notifications
256262
257263 #[ wasm_bindgen( js_name = notificationsSubscribe) ]
258- pub fn notifications_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
264+ pub fn notifications_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
259265 self . base . notifications_subscribe ( to_cb ( cb) )
260266 }
261267
@@ -283,7 +289,7 @@ impl WebVault {
283289 // dialogs
284290
285291 #[ wasm_bindgen( js_name = dialogsSubscribe) ]
286- pub fn dialogs_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
292+ pub fn dialogs_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
287293 self . base . dialogs_subscribe ( to_cb ( cb) )
288294 }
289295
@@ -293,7 +299,7 @@ impl WebVault {
293299 }
294300
295301 #[ wasm_bindgen( js_name = dialogsDialogSubscribe) ]
296- pub fn dialogs_dialog_subscribe ( & self , dialog_id : u32 , cb : js_sys :: Function ) -> u32 {
302+ pub fn dialogs_dialog_subscribe ( & self , dialog_id : u32 , cb : SubscribeCallback ) -> u32 {
297303 self . base . dialogs_dialog_subscribe ( dialog_id, to_cb ( cb) )
298304 }
299305
@@ -320,7 +326,7 @@ impl WebVault {
320326 // oauth2
321327
322328 #[ wasm_bindgen( js_name = oauth2StatusSubscribe) ]
323- pub fn oauth2_status_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
329+ pub fn oauth2_status_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
324330 self . base . oauth2_status_subscribe ( to_cb ( cb) )
325331 }
326332
@@ -354,7 +360,7 @@ impl WebVault {
354360 // user
355361
356362 #[ wasm_bindgen( js_name = userSubscribe) ]
357- pub fn user_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
363+ pub fn user_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
358364 self . base . user_subscribe ( to_cb ( cb) )
359365 }
360366
@@ -364,7 +370,7 @@ impl WebVault {
364370 }
365371
366372 #[ wasm_bindgen( js_name = userProfilePictureLoadedSubscribe) ]
367- pub fn user_profile_picture_loaded_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
373+ pub fn user_profile_picture_loaded_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
368374 self . base . user_profile_picture_loaded_subscribe ( to_cb ( cb) )
369375 }
370376
@@ -397,7 +403,7 @@ impl WebVault {
397403 // repos
398404
399405 #[ wasm_bindgen( js_name = reposSubscribe) ]
400- pub fn repos_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
406+ pub fn repos_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
401407 self . base . repos_subscribe ( to_cb ( cb) )
402408 }
403409
@@ -407,7 +413,7 @@ impl WebVault {
407413 }
408414
409415 #[ wasm_bindgen( js_name = reposRepoSubscribe) ]
410- pub fn repos_repo_subscribe ( & self , repo_id : String , cb : js_sys :: Function ) -> u32 {
416+ pub fn repos_repo_subscribe ( & self , repo_id : String , cb : SubscribeCallback ) -> u32 {
411417 self . base . repos_repo_subscribe ( repo_id, to_cb ( cb) )
412418 }
413419
@@ -453,7 +459,7 @@ impl WebVault {
453459 }
454460
455461 #[ wasm_bindgen( js_name = repoCreateInfoSubscribe) ]
456- pub fn repo_create_info_subscribe ( & self , create_id : u32 , cb : js_sys :: Function ) -> u32 {
462+ pub fn repo_create_info_subscribe ( & self , create_id : u32 , cb : SubscribeCallback ) -> u32 {
457463 self . base . repo_create_info_subscribe ( create_id, to_cb ( cb) )
458464 }
459465
@@ -531,7 +537,7 @@ impl WebVault {
531537 }
532538
533539 #[ wasm_bindgen( js_name = repoUnlockInfoSubscribe) ]
534- pub fn repo_unlock_info_subscribe ( & self , unlock_id : u32 , cb : js_sys :: Function ) -> u32 {
540+ pub fn repo_unlock_info_subscribe ( & self , unlock_id : u32 , cb : SubscribeCallback ) -> u32 {
535541 self . base . repo_unlock_info_subscribe ( unlock_id, to_cb ( cb) )
536542 }
537543
@@ -558,7 +564,7 @@ impl WebVault {
558564 }
559565
560566 #[ wasm_bindgen( js_name = repoRemoveInfoSubscribe) ]
561- pub fn repo_remove_info_subscribe ( & self , remove_id : u32 , cb : js_sys :: Function ) -> u32 {
567+ pub fn repo_remove_info_subscribe ( & self , remove_id : u32 , cb : SubscribeCallback ) -> u32 {
562568 self . base . repo_remove_info_subscribe ( remove_id, to_cb ( cb) )
563569 }
564570
@@ -585,7 +591,7 @@ impl WebVault {
585591 }
586592
587593 #[ wasm_bindgen( js_name = repoSpaceUsageInfoSubscribe) ]
588- pub fn repo_space_usage_info_subscribe ( & self , usage_id : u32 , cb : js_sys :: Function ) -> u32 {
594+ pub fn repo_space_usage_info_subscribe ( & self , usage_id : u32 , cb : SubscribeCallback ) -> u32 {
589595 self . base
590596 . repo_space_usage_info_subscribe ( usage_id, to_cb ( cb) )
591597 }
@@ -608,7 +614,7 @@ impl WebVault {
608614 // repo_files
609615
610616 #[ wasm_bindgen( js_name = repoFilesFileSubscribe) ]
611- pub fn repo_files_file_subscribe ( & self , file_id : String , cb : js_sys :: Function ) -> u32 {
617+ pub fn repo_files_file_subscribe ( & self , file_id : String , cb : SubscribeCallback ) -> u32 {
612618 self . base . repo_files_file_subscribe ( file_id, to_cb ( cb) )
613619 }
614620
@@ -635,7 +641,7 @@ impl WebVault {
635641 // transfers
636642
637643 #[ wasm_bindgen( js_name = transfersIsActiveSubscribe) ]
638- pub fn transfers_is_active_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
644+ pub fn transfers_is_active_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
639645 self . base . transfers_is_active_subscribe ( to_cb ( cb) )
640646 }
641647
@@ -645,7 +651,7 @@ impl WebVault {
645651 }
646652
647653 #[ wasm_bindgen( js_name = transfersSummarySubscribe) ]
648- pub fn transfers_summary_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
654+ pub fn transfers_summary_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
649655 self . base . transfers_summary_subscribe ( to_cb ( cb) )
650656 }
651657
@@ -655,7 +661,7 @@ impl WebVault {
655661 }
656662
657663 #[ wasm_bindgen( js_name = transfersListSubscribe) ]
658- pub fn transfers_list_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
664+ pub fn transfers_list_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
659665 self . base . transfers_list_subscribe ( to_cb ( cb) )
660666 }
661667
@@ -692,7 +698,7 @@ impl WebVault {
692698 // dir_pickers
693699
694700 #[ wasm_bindgen( js_name = dirPickersItemsSubscribe) ]
695- pub fn dir_pickers_items_subscribe ( & self , picker_id : u32 , cb : js_sys :: Function ) -> u32 {
701+ pub fn dir_pickers_items_subscribe ( & self , picker_id : u32 , cb : SubscribeCallback ) -> u32 {
696702 self . base . dir_pickers_items_subscribe ( picker_id, to_cb ( cb) )
697703 }
698704
@@ -726,7 +732,11 @@ impl WebVault {
726732 }
727733
728734 #[ wasm_bindgen( js_name = repoFilesBrowsersInfoSubscribe) ]
729- pub fn repo_files_browsers_info_subscribe ( & self , browser_id : u32 , cb : js_sys:: Function ) -> u32 {
735+ pub fn repo_files_browsers_info_subscribe (
736+ & self ,
737+ browser_id : u32 ,
738+ cb : SubscribeCallback ,
739+ ) -> u32 {
730740 self . base
731741 . repo_files_browsers_info_subscribe ( browser_id, to_cb ( cb) )
732742 }
@@ -825,7 +835,7 @@ impl WebVault {
825835 }
826836
827837 #[ wasm_bindgen( js_name = repoFilesDetailsInfoSubscribe) ]
828- pub fn repo_files_details_info_subscribe ( & self , details_id : u32 , cb : js_sys :: Function ) -> u32 {
838+ pub fn repo_files_details_info_subscribe ( & self , details_id : u32 , cb : SubscribeCallback ) -> u32 {
829839 self . base
830840 . repo_files_details_info_subscribe ( details_id, to_cb ( cb) )
831841 }
@@ -836,7 +846,7 @@ impl WebVault {
836846 }
837847
838848 #[ wasm_bindgen( js_name = repoFilesDetailsFileSubscribe) ]
839- pub fn repo_files_details_file_subscribe ( & self , details_id : u32 , cb : js_sys :: Function ) -> u32 {
849+ pub fn repo_files_details_file_subscribe ( & self , details_id : u32 , cb : SubscribeCallback ) -> u32 {
840850 self . base
841851 . repo_files_details_file_subscribe ( details_id, to_cb ( cb) )
842852 }
@@ -850,7 +860,7 @@ impl WebVault {
850860 pub fn repo_files_details_content_bytes_subscribe (
851861 & self ,
852862 details_id : u32 ,
853- cb : js_sys :: Function ,
863+ cb : SubscribeCallback ,
854864 ) -> u32 {
855865 self . base
856866 . repo_files_details_content_bytes_subscribe ( details_id, to_cb ( cb) )
@@ -903,7 +913,7 @@ impl WebVault {
903913 // repo_files_move
904914
905915 #[ wasm_bindgen( js_name = repoFilesMoveInfoSubscribe) ]
906- pub fn repo_files_move_info_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
916+ pub fn repo_files_move_info_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
907917 self . base . repo_files_move_info_subscribe ( to_cb ( cb) )
908918 }
909919
@@ -936,7 +946,7 @@ impl WebVault {
936946 // space_usage
937947
938948 #[ wasm_bindgen( js_name = spaceUsageSubscribe) ]
939- pub fn space_usage_subscribe ( & self , cb : js_sys :: Function ) -> u32 {
949+ pub fn space_usage_subscribe ( & self , cb : SubscribeCallback ) -> u32 {
940950 self . base . space_usage_subscribe ( to_cb ( cb) )
941951 }
942952
0 commit comments