stream-assert
    Overview
    Documentation
    Insights
    Code
    Contributors
    Dependencies
    Alternatives

stream-assert

Assertion library for streams

2.0.3  •  Published 4 years ago  •  by Vsevolod Strukchinsky  •  MIT License

Build Status

Assert streams with ease.

Usage

var intoStream = require('into-stream');
var assert = require('stream-assert');
var is = require('funsert');

intoStream([1, 2, 3])
    .pipe(assert.first(is.equal(1)))
    .pipe(assert.second(is.equal(2)))
    .pipe(assert.nth(2, is.equal(3)))
    .pipe(assert.length(1))
    .pipe(assert.end(console.log));

Chaining

Assertions are chained through passing assertion from pipe to pipe. If you want inject assertions in the middle of pipeline, you can attach on('assertion') handler to manualy catch assertions (instead of placing assert.end).

API

stream-assert

Builder for asserting stream.

nth(n, assertion)

Calls assertion function on nth element in stream.

first(assertion)

alias to nth(0, obj)

second(assertion)

alias to nth(1, obj)

last(assertion)

Calls assertion function on the last element in stream.

length(len)

Asserting, that length of stream is equal len at the end of the stream.

all(assertion)

Checking that all elements in stream pass assertion function.

any(assertion)

Checking that at least one of elements in stream pass assertion function.

end([cb])

Since streams has internal buffer and highWatermark, that stops data flow, when reached — test stream needs a dumping point, that will flush that buffer.

assert.end will dump all data to /dev/null — so all pipes after this point will not get any data.

assert.defaults

Type: Object

Contains defaults, that will be passed to through constructor.

  • highWatermark — by default, will be equal 16. If you don’t want to use assert.end, then you can increase it.

License

MIT © 2014 Vsevolod Strukchinsky

How do you feel about the name Devstore for this site?

Popularity

Weekly Downloads
325
Stars
15

Maintenance

Development

Last ver 4 years ago
Created 5 years ago
Last commit 4 years ago
7 days between commits

Technology

Node version: null
0 unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

2 contributors
Vsevolod Strukchinsky
Maintainer, 52 commits, 1 merges
Works at Yandex
Coen Hyde
1 commits, 1 PRs

Tags

Assert
stream
Ready for the next level?
Join Devstore's founding team to help us build the ultimate open-source app store, work with the latest technologies, and enjoy great culture, impact and autonomy
© 2019 Devstore, Inc.
Devstore helps developers find and use open-source packages, so they can focus on building amazing things