mirror of
				https://github.com/crazy-max/ghaction-upx.git
				synced 2025-10-29 19:18:12 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| #through
 | |
| 
 | |
| [](http://travis-ci.org/dominictarr/through)
 | |
| [](https://ci.testling.com/dominictarr/through)
 | |
| 
 | |
| Easy way to create a `Stream` that is both `readable` and `writable`. 
 | |
| 
 | |
| * Pass in optional `write` and `end` methods.
 | |
| * `through` takes care of pause/resume logic if you use `this.queue(data)` instead of `this.emit('data', data)`.
 | |
| * Use `this.pause()` and `this.resume()` to manage flow.
 | |
| * Check `this.paused` to see current flow state. (`write` always returns `!this.paused`).
 | |
| 
 | |
| This function is the basis for most of the synchronous streams in 
 | |
| [event-stream](http://github.com/dominictarr/event-stream).
 | |
| 
 | |
| ``` js
 | |
| var through = require('through')
 | |
| 
 | |
| through(function write(data) {
 | |
|     this.queue(data) //data *must* not be null
 | |
|   },
 | |
|   function end () { //optional
 | |
|     this.queue(null)
 | |
|   })
 | |
| ```
 | |
| 
 | |
| Or, can also be used _without_ buffering on pause, use `this.emit('data', data)`,
 | |
| and this.emit('end')
 | |
| 
 | |
| ``` js
 | |
| var through = require('through')
 | |
| 
 | |
| through(function write(data) {
 | |
|     this.emit('data', data)
 | |
|     //this.pause() 
 | |
|   },
 | |
|   function end () { //optional
 | |
|     this.emit('end')
 | |
|   })
 | |
| ```
 | |
| 
 | |
| ## Extended Options
 | |
| 
 | |
| You will probably not need these 99% of the time.
 | |
| 
 | |
| ### autoDestroy=false
 | |
| 
 | |
| By default, `through` emits close when the writable
 | |
| and readable side of the stream has ended.
 | |
| If that is not desired, set `autoDestroy=false`.
 | |
| 
 | |
| ``` js
 | |
| var through = require('through')
 | |
| 
 | |
| //like this
 | |
| var ts = through(write, end, {autoDestroy: false})
 | |
| //or like this
 | |
| var ts = through(write, end)
 | |
| ts.autoDestroy = false
 | |
| ```
 | |
| 
 | |
| ## License
 | |
| 
 | |
| MIT / Apache2
 |