Mountain/RPC/CocoonService/GenericNotification/SkyEmit/OnDidReceiveMessage.rs
1use serde_json::{Value, json};
2use tauri::Emitter;
3
4use crate::Environment::MountainEnvironment::MountainEnvironment;
5
6pub fn Fn(Params:Value, Env:&MountainEnvironment) {
7 let Handle = Params.get("handle").and_then(|V| V.as_u64()).unwrap_or(0);
8
9 let Message = Params
10 .get("stringMessage")
11 .and_then(|V| V.as_str())
12 .map(|S| S.to_string())
13 .or_else(|| Params.get("bytesMessage").map(|_| "[binary]".to_string()))
14 .unwrap_or_default();
15
16 let _ = Env
17 .ApplicationHandle
18 .emit("sky://webview/postMessage", json!({ "handle": Handle, "message": Message }));
19}