mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
var pull = require('../')
|
|
var test = require('tape')
|
|
//test through streams compose on pipe!
|
|
|
|
test('join through streams with pipe', function (t) {
|
|
|
|
var map = pull.map
|
|
|
|
var pipeline =
|
|
pull(
|
|
map(function (d) {
|
|
//make exciting!
|
|
return d + '!'
|
|
}),
|
|
map(function (d) {
|
|
//make loud
|
|
return d.toUpperCase()
|
|
}),
|
|
map(function (d) {
|
|
//add sparkles
|
|
return '*** ' + d + ' ***'
|
|
})
|
|
)
|
|
//the pipe line does not have a source stream.
|
|
//so it should be a reader (function that accepts
|
|
//a read function)
|
|
|
|
t.equal('function', typeof pipeline)
|
|
t.equal(1, pipeline.length)
|
|
|
|
//if we pipe a read function to the pipeline,
|
|
//the pipeline will become readable!
|
|
|
|
var read =
|
|
pull(
|
|
pull.values(['billy', 'joe', 'zeke']),
|
|
pipeline
|
|
)
|
|
|
|
t.equal('function', typeof read)
|
|
//we will know it's a read function,
|
|
//because read takes two args.
|
|
t.equal(2, read.length)
|
|
|
|
pull(
|
|
read,
|
|
pull.collect(function (err, array) {
|
|
console.log(array)
|
|
t.deepEqual(
|
|
array,
|
|
[ '*** BILLY! ***', '*** JOE! ***', '*** ZEKE! ***' ]
|
|
)
|
|
t.end()
|
|
})
|
|
)
|
|
|
|
})
|