match-stream

WebJar for match-stream

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

match-stream
Last Version

Last Version

0.0.2
Release Date

Release Date

Type

Type

jar
Description

Description

match-stream
WebJar for match-stream
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/EvanOxfeld/match-stream

Download match-stream

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/match-stream/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>match-stream</artifactId>
    <version>0.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/match-stream/
implementation 'org.webjars.npm:match-stream:0.0.2'
// https://jarcasting.com/artifacts/org.webjars.npm/match-stream/
implementation ("org.webjars.npm:match-stream:0.0.2")
'org.webjars.npm:match-stream:jar:0.0.2'
<dependency org="org.webjars.npm" name="match-stream" rev="0.0.2">
  <artifact name="match-stream" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='match-stream', version='0.0.2')
)
libraryDependencies += "org.webjars.npm" % "match-stream" % "0.0.2"
[org.webjars.npm/match-stream "0.0.2"]

Dependencies

compile (2)

Group / Artifact Type Version
org.webjars.npm » buffers jar [0.1.1,0.2)
org.webjars.npm : readable-stream jar [1.0.0,1.1)

Project Modules

There are no modules declared in this project.

match-stream Build Status

Supply a function to handle pattern matches within a NodeJS stream.

Installation

$ npm install match-stream

Quick Examples

End stream on match

var MatchStream = require('match-stream');
var streamBuffers = require("stream-buffers");

var ms = new MatchStream({ pattern: 'World'}, function (buf, matched, extra) {
  if (!matched) {
    return this.push(buf);
  }
  this.push(buf);
  return this.push(null); //signal end of data
});

var sourceStream = new streamBuffers.ReadableStreamBuffer();
sourceStream.put("Hello World");
var writableStream = new streamBuffers.WritableStreamBuffer();

sourceStream
  .pipe(ms)
  .pipe(writableStream)
  .once('close', function () {
    var str = writableStream.getContentsAsString('utf8');
    console.log('Piped data before pattern occurs:', "'" + str + "'");
    sourceStream.destroy();
  });

//Output
//Piped data before pattern occurs: 'Hello '

Split stream

var MatchStream = require('match-stream');
var fs = require('fs');

var line = "";
var loremLines = [];
var ms = new MatchStream({ pattern: '.', consume: true}, function (buf, matched, extra) {
  line += buf.toString();
  if (matched) {
    loremLines.push(line.trim());
    line = "";
  }
});

fs.createReadStream('lorem.txt')
  .pipe(ms)
  .once('finish', function() {
    console.log(loremLines);
  });

License

MIT

Acknowledgements

Special thanks to @wanderview for assisting with the API.

Versions

Version
0.0.2