# Library for KernelSU's module WebUI ## Install ```sh yarn add kernelsu ``` ## API ### exec Spawns a **root** shell and runs a command within that shell, returning a Promise that resolves with the `stdout` and `stderr` outputs upon completion. - `command` `` The command to run, with space-separated arguments. - `options` `` - `cwd` - Current working directory of the child process. - `env` - Environment key-value pairs. ```javascript import { exec } from 'kernelsu'; const { errno, stdout, stderr } = await exec('ls -l', { cwd: '/tmp' }); if (errno === 0) { // success console.log(stdout); } ``` ### spawn Spawns a new process using the given `command` in **root** shell, with command-line arguments in `args`. If omitted, `args` defaults to an empty array. Returns a `ChildProcess` instance. Instances of `ChildProcess` represent spawned child processes. - `command` `` The command to run. - `args` `` List of string arguments. - `options` ``: - `cwd` `` - Current working directory of the child process. - `env` `` - Environment key-value pairs. Example of running `ls -lh /data`, capturing `stdout`, `stderr`, and the exit code: ```javascript import { spawn } from 'kernelsu'; const ls = spawn('ls', ['-lh', '/data']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('exit', (code) => { console.log(`child process exited with code ${code}`); }); ``` #### ChildProcess ##### Event 'exit' - `code` `` The exit code if the child process exited on its own. The `'exit'` event is emitted when the child process ends. If the process exits, `code` contains the final exit code; otherwise, it is null. ##### Event 'error' - `err` `` The error. The `'error'` event is emitted whenever: - The process could not be spawned. - The process could not be killed. ##### `stdout` A `Readable Stream` that represents the child process's `stdout`. ```javascript const subprocess = spawn('ls'); subprocess.stdout.on('data', (data) => { console.log(`Received chunk ${data}`); }); ``` #### `stderr` A `Readable Stream` that represents the child process's `stderr`. ### fullScreen Request the WebView enter/exit full screen. ```javascript import { fullScreen } from 'kernelsu'; fullScreen(true); ``` ### toast Show a toast message. ```javascript import { toast } from 'kernelsu'; toast('Hello, world!'); ``` ### moduleInfo Get module info. ```javascript import { moduleInfo } from 'kernelsu'; // print moduleId in console console.log(moduleInfo()); ```