Skip to content

tabcat/prollipop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e3c385 · Feb 15, 2025
Nov 25, 2024
Sep 22, 2024
Feb 15, 2025
Feb 14, 2025
Dec 28, 2024
Feb 15, 2025
Feb 11, 2025
Feb 15, 2025
Jul 2, 2024
Jan 8, 2025

Repository files navigation

prollipop 🍭

A modded Prolly-tree implementation in Typescript.

Features

  • Efficient diff - yields entry and bucket diffs!
  • Powerful cursor api - climb 🌳s like a pro
  • Structural validation - codec is aware of tree context

Project Status

It's in a decent state but have not done performance analysis. API breaks will result in major version change.

I haven't tested with non-local blockstores. Things may not work well with networked blockstores.

Data-structure

This package implements a modded prolly-tree in Typescript. Most relevant code is in src/mutate.ts and src/diff.ts.

mods:

  • (number, uint8array) tuples for keys
  • right-side backbone
  • key-defined boundaries instead of rolling-hash

Install

npm install prollipop

Build

pnpm install && pnpm build

Usage

See usage.test.ts!!!

API docs

Example database

Learning Resources:

As you can see from the list below, a lot of ideas have been stolen from the Dolt project's blog so be sure to check them out!

Additional Resources:

About

A modded Prolly-tree implementation in Typescript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published