File tree Expand file tree Collapse file tree 1 file changed +3
-26
lines changed Expand file tree Collapse file tree 1 file changed +3
-26
lines changed Original file line number Diff line number Diff line change 1
1
module . exports = parser
2
2
3
- var Stream = require ( 'stream' ) . Stream
3
+ var through = require ( 'through' )
4
4
, full_parse_expr = require ( './expr' )
5
5
, Scope = require ( './scope' )
6
6
7
- function create_stream ( ) {
8
- var stream = new Stream
9
- stream . readable =
10
- stream . writable = true
11
- return stream
12
- }
13
-
14
7
// singleton!
15
8
var Advance = new Object
16
9
@@ -121,7 +114,7 @@ function parser() {
121
114
122
115
setup_stative_parsers ( )
123
116
124
- var stream = create_stream ( )
117
+ var stream = through ( write , end )
125
118
, check = arguments . length ? [ ] . slice . call ( arguments ) : [ ]
126
119
, depth = 0
127
120
, state = [ ]
@@ -132,10 +125,6 @@ function parser() {
132
125
, token
133
126
, node
134
127
135
- // setup stream
136
- stream . write = write
137
- stream . end = end
138
- stream . destroy = destroy
139
128
140
129
// setup state
141
130
state . shift = special_shift
@@ -210,25 +199,13 @@ function parser() {
210
199
}
211
200
212
201
stream . emit ( 'end' )
213
- stream . readable = false
214
- stream . closed = true
215
- stream . emit ( 'close' )
216
- }
217
-
218
-
219
- function destroy ( ) {
220
- stream . emit ( 'end' )
221
-
222
- stream . write = function ( ) { }
223
- stream . writable = false
224
- stream . emit ( 'close' )
225
202
}
226
203
227
204
function take ( ) {
228
205
if ( errored || ! state . length )
229
206
return errored
230
207
231
- return token = tokens [ 0 ]
208
+ return ( token = tokens [ 0 ] ) && ! stream . paused
232
209
}
233
210
234
211
// ----- state manipulation --------
You can’t perform that action at this time.
0 commit comments