├── .github └── workflows │ ├── ci.yml │ ├── pages.yml │ └── publish.yml ├── .gitignore ├── .husky └── pre-commit ├── package.json ├── pnpm-lock.yaml ├── readme.md ├── src ├── __mocks__ │ └── boundary.ts ├── boundary.ts ├── codec.ts ├── common.ts ├── compare.ts ├── constants.ts ├── cursor │ ├── index.ts │ └── internal.ts ├── database.ts ├── diff.ts ├── impls.ts ├── index.ts ├── interface.ts ├── mutate.ts └── utils.ts ├── test ├── boundary.test.ts ├── codec.test.ts ├── common.test.ts ├── compare.test.ts ├── cursor.test.ts ├── database.test.ts ├── diff.test.ts ├── helpers │ ├── build-tree.ts │ ├── constants.ts │ ├── odd-tree.ts │ └── utils.ts ├── index.test.ts ├── mutate.test.ts ├── stress │ ├── diff.test.ts │ ├── merge.test.ts │ ├── mutate.test.ts │ ├── range.test.ts │ ├── search.test.ts │ └── trees.ts ├── usage.test.ts └── utils.test.ts ├── tsconfig.json └── vitest.config.ts /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/.github/workflows/pages.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | docs 4 | notes -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | # .husky/pre-commit 2 | 3 | npx lint-staged 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/readme.md -------------------------------------------------------------------------------- /src/__mocks__/boundary.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/__mocks__/boundary.ts -------------------------------------------------------------------------------- /src/boundary.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/boundary.ts -------------------------------------------------------------------------------- /src/codec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/codec.ts -------------------------------------------------------------------------------- /src/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/common.ts -------------------------------------------------------------------------------- /src/compare.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/compare.ts -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/cursor/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/cursor/index.ts -------------------------------------------------------------------------------- /src/cursor/internal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/cursor/internal.ts -------------------------------------------------------------------------------- /src/database.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/database.ts -------------------------------------------------------------------------------- /src/diff.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/diff.ts -------------------------------------------------------------------------------- /src/impls.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/impls.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/interface.ts -------------------------------------------------------------------------------- /src/mutate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/mutate.ts -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/src/utils.ts -------------------------------------------------------------------------------- /test/boundary.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/boundary.test.ts -------------------------------------------------------------------------------- /test/codec.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/codec.test.ts -------------------------------------------------------------------------------- /test/common.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/common.test.ts -------------------------------------------------------------------------------- /test/compare.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/compare.test.ts -------------------------------------------------------------------------------- /test/cursor.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/cursor.test.ts -------------------------------------------------------------------------------- /test/database.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/database.test.ts -------------------------------------------------------------------------------- /test/diff.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/diff.test.ts -------------------------------------------------------------------------------- /test/helpers/build-tree.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/helpers/build-tree.ts -------------------------------------------------------------------------------- /test/helpers/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/helpers/constants.ts -------------------------------------------------------------------------------- /test/helpers/odd-tree.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/helpers/odd-tree.ts -------------------------------------------------------------------------------- /test/helpers/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/helpers/utils.ts -------------------------------------------------------------------------------- /test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/index.test.ts -------------------------------------------------------------------------------- /test/mutate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/mutate.test.ts -------------------------------------------------------------------------------- /test/stress/diff.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/stress/diff.test.ts -------------------------------------------------------------------------------- /test/stress/merge.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/stress/merge.test.ts -------------------------------------------------------------------------------- /test/stress/mutate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/stress/mutate.test.ts -------------------------------------------------------------------------------- /test/stress/range.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/stress/range.test.ts -------------------------------------------------------------------------------- /test/stress/search.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/stress/search.test.ts -------------------------------------------------------------------------------- /test/stress/trees.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/stress/trees.ts -------------------------------------------------------------------------------- /test/usage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/usage.test.ts -------------------------------------------------------------------------------- /test/utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/test/utils.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tabcat/prollipop/HEAD/vitest.config.ts --------------------------------------------------------------------------------