/
githubmirror
/
tauri
Обзор
Документация
Войти
/
githubmirror
/
tauri
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/cli/src/lib.rs
53 строки
1 KB
Tony
chore(deps): update napi to v3 (#13852)
21 июл 2025, 00:03
Не верифицирован
21 июл 2025, 00:03
56277e4
Код
Авторство
О чём код?
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT #![cfg(any(target_os = "macos", target_os = "linux", windows))] use std::sync::Arc; use napi::{ threadsafe_function::{ThreadsafeFunction, ThreadsafeFunctionCallMode}, Error, Result, Status, }; #[napi_derive::napi] pub fn run( args: Vec<String>, bin_name: Option<String>, callback: Arc<ThreadsafeFunction<bool>>, ) -> Result<()> { // we need to run in a separate thread so Node.js consumers // can do work while `tauri dev` is running. std::thread::spawn(move || { let res = match std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { tauri_cli::try_run(args, bin_name).inspect_err(|e| eprintln!("{e:#}")) })) { Ok(t) => t, Err(_) => { return callback.call( Err(Error::new( Status::GenericFailure, "Tauri CLI unexpected panic", )), ThreadsafeFunctionCallMode::Blocking, ); } }; match res { Ok(_) => callback.call(Ok(true), ThreadsafeFunctionCallMode::Blocking), Err(e) => callback.call( Err(Error::new(Status::GenericFailure, format!("{e:#}"))), ThreadsafeFunctionCallMode::Blocking, ), } }); Ok(()) } #[napi_derive::napi] pub fn log_error(error: String) { log::error!("{}", error); }