
Product
Introducing Custom Tabs for Org Alerts
Create and share saved alert views with custom tabs on the org alerts page, making it easier for teams to return to consistent, named filter sets.
hyperbee-diff-stream
Advanced tools
Get the diff stream between two versions of a hyperbee (supports autobase views)
Get the diff stream between two snapshots of a hyperbee. Ideal for autobase views.
For example, when reconnecting after having worked locally for a while, it can get the diff stream between a snapshot from just before and from just after the autobase linearisation. Even if several peers (including you in your local fork) made a lot of changes to a particular key, the diff stream will still yield only a single change for it.
npm i hyperbee-diff-stream
V1 uses features introduced in Hyperbee ^2.5.0, Hypercore ^10.8.1 and autobase^6.0.0
V2 works with Hypercore V11, Autobase V7 and Corestore V7.
See example.js
const diffStream = new BeeDiffStream(leftSnapshot, rightSnapshot, [options])Make a new BeeDiffStream instance, which is the stream of changes to get from the state of leftSnapshot to that of rightSnapshot.
The stream is ordered by key.
leftSnapshot and rightSnapshot should be snapshots (or checkouts) of the same hyperbee. The hyperbee can be an autobase view.
The passed snapshots are managed by BeeDiffStream, and will be closed when the diff stream closes.
The opts include:
{
gt: 'only consider keys > than this',
gte: 'only consider keys >= than this',
lt: 'only consider keys < than this',
lte: 'only consider keys <= than this',
keyEncoding: 'utf-8', // a key encoding
valueEncoding: 'json' // a value encoding,
closeSnapshots: true // set to false if you wish to use the passed-in snapshots after the diffStream is fully yielded.
}
By default the key- and value encoding of the hyperbee are used.
The stream yields values which have the same format as a Hyperbee diff stream:
{
left: { seq, key, value },
right: { seq, key, value }
}
left is the current entry, right is the previous entry.
right is null, the key was addedleft is null, the key was deletedleft and right are present, the key was updated from right to left.Note: when used on an autobase view, it might be tricky to interpret the seq value,
since it can refer to either the left or the right snapshot.
(With autobase views, blocks can get removed due to truncates, so the same seq might refer to different entries on different snapshots.)
FAQs
Get the diff stream between two versions of a hyperbee (supports autobase views)
The npm package hyperbee-diff-stream receives a total of 9 weekly downloads. As such, hyperbee-diff-stream popularity was classified as not popular.
We found that hyperbee-diff-stream demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Create and share saved alert views with custom tabs on the org alerts page, making it easier for teams to return to consistent, named filter sets.

Product
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.

Security News
Chrome 144 introduces the Temporal API, a modern approach to date and time handling designed to fix long-standing issues with JavaScript’s Date object.