tauri_plugin_fs_stream/
lib.rs1mod cmds;
2mod config;
3mod error;
4mod state;
5
6use error::*;
7use state::*;
8
9
10pub fn init<R: tauri::Runtime>() -> tauri::plugin::TauriPlugin<R, Option<config::Config>> {
12 tauri::plugin::Builder::<R, Option<config::Config>>::new("fs-stream")
13 .setup(|app, api| {
14 use tauri::Manager as _;
15
16 let require_literal_leading_dot = api
17 .config()
18 .as_ref()
19 .and_then(|c| c.require_literal_leading_dot);
20
21 app.manage(new_plugin_config_state(require_literal_leading_dot));
22 app.manage(new_plugin_resources_state(app.app_handle().clone()));
23 Ok(())
24 })
25 .invoke_handler(tauri::generate_handler![
26 cmds::open_read_file_stream,
27 cmds::open_read_text_file_lines_stream,
28 cmds::open_write_file_stream,
29 cmds::close_all_file_streams,
30 ])
31 .js_init_script(format!(
32 "window.__TAURI_FS_STREAM_PLUGIN_INTERNALS__ = {{ supportsRawIpcRequestBody: {} }};",
33 cfg!(not(any(target_os = "android", target_os = "linux")))
35 ))
36 .build()
37}