> It seems new streams were rushed out a bit. As long as I continue to see > usability problems almost every day I'm holding off on trying them.
Well, such is the nature of platform software development. Most people won't it until it is marked "stable" and you can't possibly address use cases without trying them, so any change ends up breaking some things. Actually, I'm seeing a lot *fewer* issues with new streams than I would have expected, considering that they have involved a rewrite of so much of the JavaScript layer in Node. The number of problems is more due to the size of Node's community right now, than any problems with the change itself. Consider it to the fallout from the close/end event change in 0.8 child processes (which was a relatively minor change that caused TONS of issues), or the transition to libuv in 0.6 (zomg), and really, I'm quite proud of how well it's gone. Let's focus on the issue: Your line-buffering module is treating any string of any length to be valid output. Also, it's expecting that strings will not be concatenated, or otherwise manipulated. A zero-length string is a valid data point. This is an objectMode stream on the readable side. What about an approach like this? https://gist.github.com/5272525 On Fri, Mar 29, 2013 at 10:42 AM, Marco Rogers <[email protected]> wrote: > I'm not sure why this stopped working. But I'm also not sure why you would > expect pushing no data to do something. Don't get me wrong, I understand the > argument. I just don't know which behavior really makes the most sense. > There's an argument that the new behavior is better. > > :Marco > > > On Friday, March 29, 2013 9:17:11 AM UTC-7, Mark Volkmann wrote: >> >> I have a node module in npm called liner. See >> http://github.com/mvolkmann/node-liner. >> It reads from a file or a stream and emits each line by looking for >> newline characters. >> >> I just pushed a new version today that supports both old-style and >> new-style streams. >> >> With old-style streams, if there is a blank line in the source I can emit >> a data event with an empty string. >> With new-style streams, it seems I can't do that. Calling push with an >> empty string doesn't allow listeners to read anything. So for now when I >> want to push an empty string, I am pushing just a newline character instead. >> >> Is there a better workaround for this? >> >> -- >> R. Mark Volkmann >> Object Computing, Inc. > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
