streaming-set
v1.0.3
Published
A stream which adds objects written to it to a set, and emits the updated set.
Downloads
9
Readme
streaming-set
A stream which adds objects written to it to a set, and emits the updated set.
Example
var streamingSet = require('modules/streaming-set')
var set = streamingSet(['initial', 'tags'])
set.write('old')
// emits ['initial', 'tags', 'old']
set.remove('initial')
// emits ['tags', 'old']
set.clear()
// emits []
API
var set = streamingSet([items], [identify]) -> Stream
items
: (optional) an array of objects with which to seed the set.identify
: (optional) a function which creates keys from items.
Returns a stream. On write, the stream will add the value written to it to a set
(so long as applying identify
to the item produces a value distinct from any
existing key) that persists between write. On each write, it emits the whole
set, as an array.
set.remove(key)
Apply identify
to each item in the set, and remove any which match key
.
set.clear()
Remove all items from the set.
License
This project is licensed under the Apache License, Version 2.0. See LICENSE for the full license.