Order keys generating algorithm. Similar to fractional indexing.
Also see:
- Clojure(Older version with known edge cases) https://github.com/Cumulo/bisection-key.cljs
- Rust(not finished yet) https://github.com/Cumulo/bisection-key.rs
TODO
bisection-key.core/bisect |a |bCharset, base65:
+-/0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Install calcit-runner to run demo:
cr -1 # run once
cr # run and watchFor JavaScript:
cr --emit-js -1 # emit-js once
yarn build
node js-out/bundle.js # run codeNothing could be inserted between a and a+ since + is very close to zero. Such a key which ends with + should not be created from current implementation.
Smallest visible value is +, largest visible values would be zzzzz.....(infinitely). They are both tricky.
https://github.com/calcit-lang/calcit-workflow
MIT