26 lines
		
	
	
		
			782 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			782 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import {DiscardedError} from '../return/final-error.js';
 | |
| import {isMaxBufferSync} from '../io/max-buffer.js';
 | |
| import {isFailedExit} from './exit-async.js';
 | |
| 
 | |
| // Retrieve exit code, signal name and error information, with synchronous methods
 | |
| export const getExitResultSync = ({error, status: exitCode, signal, output}, {maxBuffer}) => {
 | |
| 	const resultError = getResultError(error, exitCode, signal);
 | |
| 	const timedOut = resultError?.code === 'ETIMEDOUT';
 | |
| 	const isMaxBuffer = isMaxBufferSync(resultError, output, maxBuffer);
 | |
| 	return {
 | |
| 		resultError,
 | |
| 		exitCode,
 | |
| 		signal,
 | |
| 		timedOut,
 | |
| 		isMaxBuffer,
 | |
| 	};
 | |
| };
 | |
| 
 | |
| const getResultError = (error, exitCode, signal) => {
 | |
| 	if (error !== undefined) {
 | |
| 		return error;
 | |
| 	}
 | |
| 
 | |
| 	return isFailedExit(exitCode, signal) ? new DiscardedError() : undefined;
 | |
| };
 |