mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 18:31:52 +00:00
* add comments to everything potentially consumer facing * rework smtp --------- Co-authored-by: Aiden McClelland <3732071+dr-bonez@users.noreply.github.com>
21 lines
638 B
TypeScript
21 lines
638 B
TypeScript
/**
|
|
* Normalizes a command into an argv-style string array.
|
|
* If given a string, wraps it as `["sh", "-c", command]`.
|
|
* If given a tuple, returns it as-is.
|
|
*
|
|
* @param command - A shell command string or a pre-split argv tuple
|
|
* @returns An argv-style string array suitable for process execution
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* splitCommand("echo hello") // ["sh", "-c", "echo hello"]
|
|
* splitCommand(["node", "index.js"]) // ["node", "index.js"]
|
|
* ```
|
|
*/
|
|
export const splitCommand = (
|
|
command: string | [string, ...string[]],
|
|
): string[] => {
|
|
if (Array.isArray(command)) return command
|
|
return ['sh', '-c', command]
|
|
}
|