pub fn plugin<R: Runtime, TCtx, TMeta>( router: Arc<Router<TCtx, TMeta>>, ctx_fn: impl Fn(AppHandle<R>) -> TCtx + Send + Sync + 'static ) -> TauriPlugin<R>where TCtx: Send + 'static, TMeta: Send + Sync + 'static,