import { invoke } from "@tauri-apps/api/core";
let _currentPluginId = "";
export function _setPluginId(id) {
_currentPluginId = id;
}
export function _getPluginId() {
return _currentPluginId;
}
export async function invokePlugin(command, args) {
if (!_currentPluginId) {
throw new Error("[plugin-sdk] invokePlugin: plugin ID not set. Did you call registerPlugin()?");
}
const wireName = `plugin_${_currentPluginId.replace(/[.\-]/g, "_")}_${command}`;
return invoke("plugin_invoke", {
args: { wire_name: wireName, args: args ?? {} },
});
}
export async function invokeOtherPlugin(targetPluginId, command, args) {
const wireName = `plugin_${targetPluginId.replace(/[.\-]/g, "_")}_${command}`;
return invoke("plugin_invoke", {
args: { wire_name: wireName, args: args ?? {} },
});
}
export async function invokeHost(command, args) {
return invoke(command, args);
}