pull-paginate
Wrap a pull-stream, for pagination. This piece of logic lets you wrap the beginning and end of a stream, and also handle an empty stream. The intended use case is to render a stream to HTML while adding a "previous" hyperlink at the beginning, and a "next" hyperlink at the end, where those hyperlinks include information about the position of the stream at the first or last value respectively.
This module was factored out of git-ssb-web.
API
var paginate = require('pull-paginate')
paginate(onFirst, transform, onLast, onEmpty): through
. wrap a stream for pagination.onFirst(value, cb)
: given the first item in the source stream, callback a new item to prepend to the stream.onLast(value, cb)
: given the last item in the source stream, callback a new item to append to the stream.transform
: through stream to transform the source values of the stream.onEmpty(cb)
: given an empty stream, callback an item to add to the stream.onEmpty
gets called if and only ifonFirst
andonLast
are not called.
License
Copyright (c) 2016, 2017 Charles Lehner
Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument.
DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.