| 'use strict'; | 
| const SPACES_REGEXP = / +/g; | 
|   | 
| const joinCommand = (file, args = []) => { | 
|     if (!Array.isArray(args)) { | 
|         return file; | 
|     } | 
|   | 
|     return [file, ...args].join(' '); | 
| }; | 
|   | 
| // Handle `execa.command()` | 
| const parseCommand = command => { | 
|     const tokens = []; | 
|     for (const token of command.trim().split(SPACES_REGEXP)) { | 
|         // Allow spaces to be escaped by a backslash if not meant as a delimiter | 
|         const previousToken = tokens[tokens.length - 1]; | 
|         if (previousToken && previousToken.endsWith('\\')) { | 
|             // Merge previous token with current one | 
|             tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`; | 
|         } else { | 
|             tokens.push(token); | 
|         } | 
|     } | 
|   | 
|     return tokens; | 
| }; | 
|   | 
| module.exports = { | 
|     joinCommand, | 
|     parseCommand | 
| }; |