ak-data is a package to handle processing streams of JSON objects to do e.g. filtering, object manipulation, grouping, or anything else one can think to do with a stream of objects.
Initial version provides 2 primitives, processMultiple and processSingle. processMultiple expects to process multiple objects in the stream, returning a pipe that can be consumed by the caller. processSingle calls processMultiple to do its processing, but expects that only a single object will make it through the pipe, then accepts a standard node 2-arg callback that gets handed the error status and the object that resulted and passes the object that comes out the end of the stream to that callback, along with error status. It also optionally accepts an options object that today allows you to specify whether it is ok to just return the first instance that it finds, or whether it should error if there is more than one object. Default is to error if more than one object comes down the stream.