add.js 884 B

123456789101112131415
  1. import {initializeConcurrentStreams} from './concurrent.js';
  2. import {createReadable} from './readable.js';
  3. import {createWritable} from './writable.js';
  4. import {createDuplex} from './duplex.js';
  5. import {createIterable} from './iterable.js';
  6. // Add methods to convert the subprocess to a stream or iterable
  7. export const addConvertedStreams = (subprocess, {encoding}) => {
  8. const concurrentStreams = initializeConcurrentStreams();
  9. subprocess.readable = createReadable.bind(undefined, {subprocess, concurrentStreams, encoding});
  10. subprocess.writable = createWritable.bind(undefined, {subprocess, concurrentStreams});
  11. subprocess.duplex = createDuplex.bind(undefined, {subprocess, concurrentStreams, encoding});
  12. subprocess.iterable = createIterable.bind(undefined, subprocess, encoding);
  13. subprocess[Symbol.asyncIterator] = createIterable.bind(undefined, subprocess, encoding, {});
  14. };