import { invoke } from './tauri' /** * spawns a process * * @param command the name of the cmd to execute e.g. 'mkdir' or 'node' * @param [args] command args * @return promise resolving to the stdout text */ async function execute( command: string, args?: string | string[] ): Promise { if (typeof args === 'object') { Object.freeze(args) } return invoke({ __tauriModule: 'Shell', message: { cmd: 'execute', command, args: typeof args === 'string' ? [args] : args } }) } /** * opens an URL on the user default browser * * @param url the URL to open */ async function open(url: string): Promise { return invoke({ __tauriModule: 'Shell', message: { cmd: 'open', uri: url } }) } export { execute, open }