Skip to main content

tauri_plugin_fs_stream/
lib.rs

1mod cmds;
2mod error;
3
4pub use error::{Error, Result};
5
6
7/// Initializes the plugin.
8pub fn init<R: tauri::Runtime>() -> tauri::plugin::TauriPlugin<R> {
9	tauri::plugin::Builder::new("fs-stream")
10		.setup(|app, _| {
11			use tauri::Manager as _;
12			app.manage(cmds::plugin_resources_state(app.app_handle().clone()));
13			Ok(())
14		})
15		.invoke_handler(tauri::generate_handler![
16			cmds::open_read_file_stream,
17			cmds::open_read_text_file_lines_stream,
18			cmds::open_write_file_stream,
19			cmds::close_all_file_streams,
20		])
21		.js_init_script(format!(
22            "window.__TAURI_FS_STREAM_PLUGIN_INTERNALS__ = {{ supportsRawIpcRequestBody: {} }};",
23            // https://github.com/tauri-apps/tauri/issues/10573
24			cfg!(not(any(target_os = "android", target_os = "linux")))
25        ))
26		.build()
27}