You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					38 lines
				
				692 B
			
		
		
			
		
	
	
					38 lines
				
				692 B
			| 
											3 years ago
										 | 'use strict' | ||
|  | 
 | ||
|  | const { join } = require('path') | ||
|  | const ThreadStream = require('..') | ||
|  | const assert = require('assert') | ||
|  | 
 | ||
|  | let worker = null | ||
|  | 
 | ||
|  | function setup () { | ||
|  |   const stream = new ThreadStream({ | ||
|  |     filename: join(__dirname, 'to-file.js'), | ||
|  |     workerData: { dest: process.argv[2] }, | ||
|  |     sync: true | ||
|  |   }) | ||
|  | 
 | ||
|  |   worker = stream.worker | ||
|  | 
 | ||
|  |   stream.write('hello') | ||
|  |   stream.write(' ') | ||
|  |   stream.write('world\n') | ||
|  |   stream.flushSync() | ||
|  |   stream.unref() | ||
|  | 
 | ||
|  |   // the stream object goes out of scope here
 | ||
|  |   setImmediate(gc) // eslint-disable-line
 | ||
|  | } | ||
|  | 
 | ||
|  | setup() | ||
|  | 
 | ||
|  | let exitEmitted = false | ||
|  | worker.on('exit', function () { | ||
|  |   exitEmitted = true | ||
|  | }) | ||
|  | 
 | ||
|  | process.on('exit', function () { | ||
|  |   assert.strictEqual(exitEmitted, true) | ||
|  | }) |