16 lines
		
	
	
		
			884 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			884 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import {initializeConcurrentStreams} from './concurrent.js';
 | |
| import {createReadable} from './readable.js';
 | |
| import {createWritable} from './writable.js';
 | |
| import {createDuplex} from './duplex.js';
 | |
| import {createIterable} from './iterable.js';
 | |
| 
 | |
| // Add methods to convert the subprocess to a stream or iterable
 | |
| export const addConvertedStreams = (subprocess, {encoding}) => {
 | |
| 	const concurrentStreams = initializeConcurrentStreams();
 | |
| 	subprocess.readable = createReadable.bind(undefined, {subprocess, concurrentStreams, encoding});
 | |
| 	subprocess.writable = createWritable.bind(undefined, {subprocess, concurrentStreams});
 | |
| 	subprocess.duplex = createDuplex.bind(undefined, {subprocess, concurrentStreams, encoding});
 | |
| 	subprocess.iterable = createIterable.bind(undefined, subprocess, encoding);
 | |
| 	subprocess[Symbol.asyncIterator] = createIterable.bind(undefined, subprocess, encoding, {});
 | |
| };
 |