Gathering detailed insights and metrics for split2
Gathering detailed insights and metrics for split2
Gathering detailed insights and metrics for split2
Gathering detailed insights and metrics for split2
@types/split2
TypeScript definitions for split2
commit-stream
Turn a `git log` into a stream of commit objects
stream-splicer
streaming pipeline with a mutable configuration
split-webstreams
Break up a stream and reassemble it so that each line is a chunk. `split-webstreams` is inspired by [split2](https://github.com/mcollina/split2).
npm install split2
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
283 Stars
124 Commits
24 Forks
6 Watching
4 Branches
17 Contributors
Updated on 25 Nov 2024
JavaScript (100%)
Cumulative downloads
Total Downloads
Last day
0.5%
4,738,130
Compared to previous day
Last week
5%
25,265,859
Compared to previous week
Last month
17.1%
100,100,858
Compared to previous month
Last year
33.9%
982,263,852
Compared to previous year
7
Break up a stream and reassemble it so that each line is a chunk.
split2
is inspired by @dominictarr split
module,
and it is totally API compatible with it.
However, it is based on Node.js core Transform
.
matcher
may be a String
, or a RegExp
. Example, read every line in a file ...
1 fs.createReadStream(file) 2 .pipe(split2()) 3 .on('data', function (line) { 4 //each chunk now is a separate line! 5 }) 6
split
takes the same arguments as string.split
except it defaults to '/\r?\n/', and the optional limit
paremeter is ignored.
String#split
split
takes an optional options object on it's third argument, which
is directly passed as a
Transform
option.
Additionally, the .maxLength
and .skipOverflow
options are implemented, which set limits on the internal
buffer size and the stream's behavior when the limit is exceeded. There is no limit unless maxLength
is set. When
the internal buffer size exceeds maxLength
, the stream emits an error by default. You may also set skipOverflow
to
true to suppress the error and instead skip past any lines that cause the internal buffer to exceed maxLength
.
Calling .destroy
will make the stream emit close
. Use this to perform cleanup logic
1var splitFile = function(filename) { 2 var file = fs.createReadStream(filename) 3 4 return file 5 .pipe(split2()) 6 .on('close', function() { 7 // destroy the file stream in case the split stream was destroyed 8 file.destroy() 9 }) 10} 11 12var stream = splitFile('my-file.txt') 13 14stream.destroy() // will destroy the input file stream
split2
accepts a function which transforms each line.
1fs.createReadStream(file) 2 .pipe(split2(JSON.parse)) 3 .on('data', function (obj) { 4 //each chunk now is a js object 5 }) 6 .on("error", function(error) { 7 //handling parsing errors 8 })
However, in @dominictarr split
the mapper
is wrapped in a try-catch, while here it is not: if your parsing logic can throw, wrap it yourself. Otherwise, you can also use the stream error handling when mapper function throw.
Copyright (c) 2014-2021, Matteo Collina hello@matteocollina.com
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
security policy file detected
Details
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
Found 8/21 approved changesets -- score normalized to 3
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2024-11-18
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More