git.fiddlerwoaroof.com
Raw Blame History
{:rename-macros {}, :renames {}, :use-macros {not== datascript.btset, half datascript.btset}, :excludes #{iter}, :name datascript.btset, :imports nil, :requires {da datascript.arrays, datascript.arrays datascript.arrays}, :uses nil, :defs {-next-path {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 623, :column 7, :end-line 623, :end-column 17, :arglists (quote ([node path level]))}, :name datascript.btset/-next-path, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([node path level]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 623, :end-line 623, :max-fixed-arity 3, :fn-var true, :arglists (quote ([node path level]))}, node-len {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 267, :column 4, :end-line 267, :end-column 12, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_]))}, :protocol datascript.btset/INode, :name datascript.btset/node-len, :variadic false, :file "out/datascript/btset.cljc", :end-column 12, :method-params ([_]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 267, :max-fixed-arity 1, :fn-var true, :arglists (quote ([_])), :doc nil}, alast {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 106, :column 7, :end-line 106, :end-column 12, :arglists (quote ([arr]))}, :name datascript.btset/alast, :variadic false, :file "out/datascript/btset.cljc", :end-column 12, :method-params ([arr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 106, :end-line 106, :max-fixed-arity 1, :fn-var true, :arglists (quote ([arr]))}, distance {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 939, :column 7, :end-line 939, :end-column 15, :arglists (quote ([set path-l path-r]))}, :name datascript.btset/distance, :variadic false, :file "out/datascript/btset.cljc", :end-column 15, :method-params ([set path-l path-r]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 939, :end-line 939, :max-fixed-arity 3, :fn-var true, :arglists (quote ([set path-l path-r]))}, ->Iter {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 715, :column 10, :end-line 715, :end-column 14, :protocols #{cljs.core/IReversible cljs.core/IChunkedNext cljs.core/ISeq cljs.core/INext cljs.core/ISeqable cljs.core/IChunkedSeq cljs.core/IReduce}, :skip-protocol-flag #{cljs.core/IReversible cljs.core/IChunkedNext cljs.core/ISeq cljs.core/INext cljs.core/ISeqable cljs.core/IChunkedSeq cljs.core/IReduce}, :factory :positional, :arglists (quote ([set left right keys idx]))}, :protocols #{cljs.core/IReversible cljs.core/IChunkedNext cljs.core/ISeq cljs.core/INext cljs.core/ISeqable cljs.core/IChunkedSeq cljs.core/IReduce}, :name datascript.btset/->Iter, :variadic false, :file "out/datascript/btset.cljc", :end-column 14, :method-params ([set left right keys idx]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 715, :end-line 715, :max-fixed-arity 5, :fn-var true, :arglists (quote ([set left right keys idx])), :skip-protocol-flag #{cljs.core/IReversible cljs.core/IChunkedNext cljs.core/ISeq cljs.core/INext cljs.core/ISeqable cljs.core/IChunkedSeq cljs.core/IReduce}}, path-get {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 58, :column 7, :end-line 58, :end-column 15, :arglists (quote ([path level]))}, :name datascript.btset/path-get, :variadic false, :file "out/datascript/btset.cljc", :end-column 15, :method-params ([path level]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 58, :end-line 58, :max-fixed-arity 2, :fn-var true, :arglists (quote ([path level]))}, iter-reduce {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 819, :column 7, :end-line 819, :end-column 18, :arglists (quote ([iter f] [iter f start])), :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([iter f] [iter f start]), :arglists ([iter f] [iter f start]), :arglists-meta (nil nil)}}, :name datascript.btset/iter-reduce, :variadic false, :file "out/datascript/btset.cljc", :end-column 18, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([iter f] [iter f start]), :arglists ([iter f] [iter f start]), :arglists-meta (nil nil)}, :method-params ([iter f] [iter f start]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 819, :end-line 819, :max-fixed-arity 3, :fn-var true, :arglists ([iter f] [iter f start])}, min-len {:name datascript.btset/min-len, :file "out/datascript/btset.cljc", :line 48, :column 1, :end-line 48, :end-column 21, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 48, :column 14, :end-line 48, :end-column 21, :const true}}, iter {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 768, :column 7, :end-line 768, :end-column 11, :arglists (quote ([set left right]))}, :name datascript.btset/iter, :variadic false, :file "out/datascript/btset.cljc", :end-column 11, :method-params ([set left right]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 768, :end-line 768, :max-fixed-arity 3, :fn-var true, :arglists (quote ([set left right]))}, -rseek {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 970, :column 7, :end-line 970, :end-column 13, :arglists (quote ([set key])), :doc "Returns path to the first element that is > key.\n   If all elements in a set are <= key, returns `(-rpath set) + 1`.\n   It’s a virtual path that is bigger than any path in a tree"}, :name datascript.btset/-rseek, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([set key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 970, :end-line 970, :max-fixed-arity 2, :fn-var true, :arglists (quote ([set key])), :doc "Returns path to the first element that is > key.\n   If all elements in a set are <= key, returns `(-rpath set) + 1`.\n   It’s a virtual path that is bigger than any path in a tree"}, sorted-arr-distinct {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 221, :column 8, :end-line 221, :end-column 27, :private true, :arglists (quote ([arr cmp])), :doc "Filter out repetitive values in a sorted array.\n   Optimized for no-duplicates case"}, :private true, :name datascript.btset/sorted-arr-distinct, :variadic false, :file "out/datascript/btset.cljc", :end-column 27, :method-params ([arr cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 221, :end-line 221, :max-fixed-arity 2, :fn-var true, :arglists (quote ([arr cmp])), :doc "Filter out repetitive values in a sorted array.\n   Optimized for no-duplicates case"}, -seek {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 952, :column 7, :end-line 952, :end-column 12, :arglists (quote ([set key])), :doc "Returns path to first element >= key,\n   or -1 if all elements in a set < key"}, :name datascript.btset/-seek, :variadic false, :file "out/datascript/btset.cljc", :end-column 12, :method-params ([set key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 952, :end-line 952, :max-fixed-arity 2, :fn-var true, :arglists (quote ([set key])), :doc "Returns path to first element >= key,\n   or -1 if all elements in a set < key"}, node-merge-n-split {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 269, :column 4, :end-line 269, :end-column 22, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_ next]))}, :protocol datascript.btset/INode, :name datascript.btset/node-merge-n-split, :variadic false, :file "out/datascript/btset.cljc", :end-column 22, :method-params ([_ next]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 269, :max-fixed-arity 2, :fn-var true, :arglists (quote ([_ next])), :doc nil}, iter-chunked-next {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 802, :column 7, :end-line 802, :end-column 24, :arglists (quote ([iter]))}, :name datascript.btset/iter-chunked-next, :variadic false, :file "out/datascript/btset.cljc", :end-column 24, :method-params ([iter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 802, :end-line 802, :max-fixed-arity 1, :fn-var true, :arglists (quote ([iter]))}, BTSet {:num-fields 6, :protocols #{cljs.core/IReversible cljs.core/IEquiv cljs.core/IHash cljs.core/IFn cljs.core/ICollection cljs.core/ISet cljs.core/IEmptyableCollection datascript.btset/Object cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/ILookup cljs.core/IReduce}, :name datascript.btset/BTSet, :file "out/datascript/btset.cljc", :end-column 15, :type true, :column 10, :line 423, :record false, :end-line 423, :skip-protocol-flag #{cljs.core/IReversible cljs.core/IEquiv cljs.core/IHash cljs.core/IFn cljs.core/ICollection cljs.core/ISet cljs.core/IEmptyableCollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/ILookup cljs.core/IReduce}}, node-lookup {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 270, :column 4, :end-line 270, :end-column 15, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_ cmp key]))}, :protocol datascript.btset/INode, :name datascript.btset/node-lookup, :variadic false, :file "out/datascript/btset.cljc", :end-column 15, :method-params ([_ cmp key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 270, :max-fixed-arity 3, :fn-var true, :arglists (quote ([_ cmp key])), :doc nil}, riter-first {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 893, :column 7, :end-line 893, :end-column 18, :arglists (quote ([riter]))}, :name datascript.btset/riter-first, :variadic false, :file "out/datascript/btset.cljc", :end-column 18, :method-params ([riter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 893, :end-line 893, :max-fixed-arity 1, :fn-var true, :arglists (quote ([riter]))}, btset-disj {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 600, :column 7, :end-line 600, :end-column 17, :arglists (quote ([set key cmp]))}, :name datascript.btset/btset-disj, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([set key cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 600, :end-line 600, :max-fixed-arity 3, :fn-var true, :arglists (quote ([set key cmp]))}, cut {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 120, :column 7, :end-line 120, :end-column 10, :arglists (quote ([arr cut-from] [arr cut-from cut-to])), :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([arr cut-from] [arr cut-from cut-to]), :arglists ([arr cut-from] [arr cut-from cut-to]), :arglists-meta (nil nil)}}, :name datascript.btset/cut, :variadic false, :file "out/datascript/btset.cljc", :end-column 10, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([arr cut-from] [arr cut-from cut-to]), :arglists ([arr cut-from] [arr cut-from cut-to]), :arglists-meta (nil nil)}, :method-params ([arr cut-from] [arr cut-from cut-to]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 120, :end-line 120, :max-fixed-arity 3, :fn-var true, :arglists ([arr cut-from] [arr cut-from cut-to])}, node-merge {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 268, :column 4, :end-line 268, :end-column 14, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_ next]))}, :protocol datascript.btset/INode, :name datascript.btset/node-merge, :variadic false, :file "out/datascript/btset.cljc", :end-column 14, :method-params ([_ next]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 268, :max-fixed-arity 2, :fn-var true, :arglists (quote ([_ next])), :doc nil}, keys-for {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 570, :column 7, :end-line 570, :end-column 15, :arglists (quote ([set path]))}, :name datascript.btset/keys-for, :variadic false, :file "out/datascript/btset.cljc", :end-column 15, :method-params ([set path]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 570, :end-line 570, :max-fixed-arity 2, :fn-var true, :arglists (quote ([set path]))}, -slice {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 989, :column 7, :end-line 989, :end-column 13, :arglists (quote ([set key-from key-to]))}, :name datascript.btset/-slice, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([set key-from key-to]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 989, :end-line 989, :max-fixed-arity 3, :fn-var true, :arglists (quote ([set key-from key-to]))}, max-len {:name datascript.btset/max-len, :file "out/datascript/btset.cljc", :line 49, :column 1, :end-line 49, :end-column 21, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 49, :column 14, :end-line 49, :end-column 21, :const true}}, btset {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 1028, :column 7, :end-line 1028, :end-column 12, :arglists (quote ([] [& keys])), :top-fn {:variadic true, :max-fixed-arity 0, :method-params ([]), :arglists ([] [& keys]), :arglists-meta (nil nil)}}, :name datascript.btset/btset, :variadic true, :file "out/datascript/btset.cljc", :end-column 12, :top-fn {:variadic true, :max-fixed-arity 0, :method-params ([]), :arglists ([] [& keys]), :arglists-meta (nil nil)}, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1028, :end-line 1028, :max-fixed-arity 0, :fn-var true, :arglists ([] [& keys])}, iter-rseq {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 812, :column 7, :end-line 812, :end-column 16, :arglists (quote ([iter]))}, :name datascript.btset/iter-rseq, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([iter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 812, :end-line 812, :max-fixed-arity 1, :fn-var true, :arglists (quote ([iter]))}, -rpath {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 650, :column 7, :end-line 650, :end-column 13, :arglists (quote ([node level])), :doc "Returns rightmost path possible starting from node and going deeper"}, :name datascript.btset/-rpath, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([node level]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 650, :end-line 650, :max-fixed-arity 2, :fn-var true, :arglists (quote ([node level])), :doc "Returns rightmost path possible starting from node and going deeper"}, btset-by {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 1023, :column 7, :end-line 1023, :end-column 15, :arglists (quote ([cmp] [cmp & keys])), :top-fn {:variadic true, :max-fixed-arity 1, :method-params ([cmp]), :arglists ([cmp] [cmp & keys]), :arglists-meta (nil nil)}}, :name datascript.btset/btset-by, :variadic true, :file "out/datascript/btset.cljc", :end-column 15, :top-fn {:variadic true, :max-fixed-arity 1, :method-params ([cmp]), :arglists ([cmp] [cmp & keys]), :arglists-meta (nil nil)}, :method-params ([cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1023, :end-line 1023, :max-fixed-arity 1, :fn-var true, :arglists ([cmp] [cmp & keys])}, eq-arr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 157, :column 16, :end-line 157, :end-column 22, :tag boolean, :arglists (quote ([cmp a1 a1-from a1-to a2 a2-from a2-to]))}, :name datascript.btset/eq-arr, :variadic false, :file "out/datascript/btset.cljc", :end-column 22, :method-params ([cmp a1 a1-from a1-to a2 a2-from a2-to]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 157, :ret-tag boolean, :end-line 157, :max-fixed-arity 7, :tag boolean, :fn-var true, :arglists (quote ([cmp a1 a1-from a1-to a2 a2-from a2-to]))}, ->ReverseIter {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 853, :column 10, :end-line 853, :end-column 21, :protocols #{cljs.core/IReversible cljs.core/ISeq cljs.core/INext cljs.core/ISeqable}, :skip-protocol-flag #{cljs.core/IReversible cljs.core/ISeq cljs.core/INext cljs.core/ISeqable}, :factory :positional, :arglists (quote ([set left right keys idx]))}, :protocols #{cljs.core/IReversible cljs.core/ISeq cljs.core/INext cljs.core/ISeqable}, :name datascript.btset/->ReverseIter, :variadic false, :file "out/datascript/btset.cljc", :end-column 21, :method-params ([set left right keys idx]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 853, :end-line 853, :max-fixed-arity 5, :fn-var true, :arglists (quote ([set left right keys idx])), :skip-protocol-flag #{cljs.core/IReversible cljs.core/ISeq cljs.core/INext cljs.core/ISeqable}}, -prev-path {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 664, :column 7, :end-line 664, :end-column 17, :arglists (quote ([node path level]))}, :name datascript.btset/-prev-path, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([node path level]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 664, :end-line 664, :max-fixed-arity 3, :fn-var true, :arglists (quote ([node path level]))}, -btset-from-seq {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 1019, :column 7, :end-line 1019, :end-column 22, :arglists (quote ([seq cmp]))}, :name datascript.btset/-btset-from-seq, :variadic false, :file "out/datascript/btset.cljc", :end-column 22, :method-params ([seq cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1019, :end-line 1019, :max-fixed-arity 2, :fn-var true, :arglists (quote ([seq cmp]))}, merge-n-split {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 138, :column 7, :end-line 138, :end-column 20, :arglists (quote ([a1 a2]))}, :name datascript.btset/merge-n-split, :variadic false, :file "out/datascript/btset.cljc", :end-column 20, :method-params ([a1 a2]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 138, :end-line 138, :max-fixed-arity 2, :fn-var true, :arglists (quote ([a1 a2]))}, insert {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 135, :column 7, :end-line 135, :end-column 13, :arglists (quote ([arr idx xs]))}, :name datascript.btset/insert, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([arr idx xs]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 135, :end-line 135, :max-fixed-arity 3, :fn-var true, :arglists (quote ([arr idx xs]))}, riter {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 890, :column 7, :end-line 890, :end-column 12, :arglists (quote ([set left right]))}, :name datascript.btset/riter, :variadic false, :file "out/datascript/btset.cljc", :end-column 12, :method-params ([set left right]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 890, :end-line 890, :max-fixed-arity 3, :fn-var true, :arglists (quote ([set left right]))}, iter-chunk {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 790, :column 7, :end-line 790, :end-column 17, :arglists (quote ([iter]))}, :name datascript.btset/iter-chunk, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([iter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 790, :end-line 790, :max-fixed-arity 1, :fn-var true, :arglists (quote ([iter]))}, level-shift {:name datascript.btset/level-shift, :file "out/datascript/btset.cljc", :line 51, :column 1, :end-line 51, :end-column 25, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 51, :column 14, :end-line 51, :end-column 25, :const true}}, splice {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 132, :column 7, :end-line 132, :end-column 13, :arglists (quote ([arr splice-from splice-to xs]))}, :name datascript.btset/splice, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([arr splice-from splice-to xs]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 132, :end-line 132, :max-fixed-arity 4, :fn-var true, :arglists (quote ([arr splice-from splice-to xs]))}, iter-next {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 775, :column 7, :end-line 775, :end-column 16, :arglists (quote ([iter]))}, :name datascript.btset/iter-next, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([iter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 775, :end-line 775, :max-fixed-arity 1, :fn-var true, :arglists (quote ([iter]))}, ReverseIter {:num-fields 5, :protocols #{cljs.core/IReversible cljs.core/ISeq cljs.core/INext cljs.core/ISeqable}, :name datascript.btset/ReverseIter, :file "out/datascript/btset.cljc", :end-column 21, :type true, :column 10, :line 853, :record false, :end-line 853, :skip-protocol-flag #{cljs.core/IReversible cljs.core/ISeq cljs.core/INext cljs.core/ISeqable}}, node-lim-key {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 266, :column 4, :end-line 266, :end-column 16, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_]))}, :protocol datascript.btset/INode, :name datascript.btset/node-lim-key, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([_]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 266, :max-fixed-arity 1, :fn-var true, :arglists (quote ([_])), :doc nil}, INode {:meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 265, :column 14, :end-line 265, :end-column 19, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {node-lim-key [[_]], node-len [[_]], node-merge [[_ next]], node-merge-n-split [[_ next]], node-lookup [[_ cmp key]], node-conj [[_ cmp key]], node-disj [[_ cmp key root? left right]]}}}, :protocol-symbol true, :name datascript.btset/INode, :file "out/datascript/btset.cljc", :end-column 19, :column 1, :line 265, :protocol-info {:methods {node-lim-key [[_]], node-len [[_]], node-merge [[_ next]], node-merge-n-split [[_ next]], node-lookup [[_ cmp key]], node-conj [[_ cmp key]], node-disj [[_ cmp key root? left right]]}}, :info nil, :end-line 265, :impls #{datascript.btset/Node datascript.btset/Leaf}, :doc nil, :jsdoc ("@interface")}, next-path {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 644, :column 7, :end-line 644, :end-column 16, :arglists (quote ([set path])), :doc "Returns path representing next item after `path` in natural traversal order,\n   or -1 if end of tree has been reached"}, :name datascript.btset/next-path, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([set path]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 644, :end-line 644, :max-fixed-arity 2, :fn-var true, :arglists (quote ([set path])), :doc "Returns path representing next item after `path` in natural traversal order,\n   or -1 if end of tree has been reached"}, riter-rseq {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 912, :column 7, :end-line 912, :end-column 17, :arglists (quote ([riter]))}, :name datascript.btset/riter-rseq, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([riter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 912, :end-line 912, :max-fixed-arity 1, :fn-var true, :arglists (quote ([riter]))}, binary-search-r {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 78, :column 7, :end-line 78, :end-column 22, :arglists (quote ([cmp arr r k]))}, :name datascript.btset/binary-search-r, :variadic false, :file "out/datascript/btset.cljc", :end-column 22, :method-params ([cmp arr r k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 78, :end-line 78, :max-fixed-arity 4, :fn-var true, :arglists (quote ([cmp arr r k]))}, prev-path {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 688, :column 7, :end-line 688, :end-column 16, :arglists (quote ([set path])), :doc "Returns path representing previous item before `path` in natural traversal order,\n   or -1 if `path` was already beginning of a tree"}, :name datascript.btset/prev-path, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([set path]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 688, :end-line 688, :max-fixed-arity 2, :fn-var true, :arglists (quote ([set path])), :doc "Returns path representing previous item before `path` in natural traversal order,\n   or -1 if `path` was already beginning of a tree"}, node-conj {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 271, :column 4, :end-line 271, :end-column 13, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_ cmp key]))}, :protocol datascript.btset/INode, :name datascript.btset/node-conj, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([_ cmp key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 271, :max-fixed-arity 3, :fn-var true, :arglists (quote ([_ cmp key])), :doc nil}, ->Leaf {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 359, :column 10, :end-line 359, :end-column 14, :protocols #{datascript.btset/INode}, :skip-protocol-flag nil, :factory :positional, :arglists (quote ([keys]))}, :protocols #{datascript.btset/INode}, :name datascript.btset/->Leaf, :variadic false, :file "out/datascript/btset.cljc", :end-column 14, :method-params ([keys]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 359, :end-line 359, :max-fixed-arity 1, :fn-var true, :arglists (quote ([keys])), :skip-protocol-flag nil}, empty-path {:name datascript.btset/empty-path, :file "out/datascript/btset.cljc", :line 56, :column 1, :end-line 56, :end-column 30, :tag long, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 56, :column 20, :end-line 56, :end-column 30, :tag long, :const true}}, alter-btset {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 567, :column 7, :end-line 567, :end-column 18, :arglists (quote ([set root shift cnt]))}, :name datascript.btset/alter-btset, :variadic false, :file "out/datascript/btset.cljc", :end-column 18, :method-params ([set root shift cnt]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 567, :end-line 567, :max-fixed-arity 4, :fn-var true, :arglists (quote ([set root shift cnt]))}, btset-iter {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 707, :column 7, :end-line 707, :end-column 17, :arglists (quote ([set])), :doc "Iterator that represents whole set"}, :name datascript.btset/btset-iter, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([set]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 707, :end-line 707, :max-fixed-arity 1, :fn-var true, :arglists (quote ([set])), :doc "Iterator that represents whole set"}, path-mask {:name datascript.btset/path-mask, :file "out/datascript/btset.cljc", :line 55, :column 1, :end-line 55, :end-column 23, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 55, :column 14, :end-line 55, :end-column 23, :const true}}, -distance {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 925, :column 7, :end-line 925, :end-column 16, :arglists (quote ([node left right level]))}, :name datascript.btset/-distance, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([node left right level]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 925, :end-line 925, :max-fixed-arity 4, :fn-var true, :arglists (quote ([node left right level]))}, btset-conj {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 579, :column 7, :end-line 579, :end-column 17, :arglists (quote ([set key cmp]))}, :name datascript.btset/btset-conj, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([set key cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 579, :end-line 579, :max-fixed-arity 3, :fn-var true, :arglists (quote ([set key cmp]))}, est-count {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 946, :column 7, :end-line 946, :end-column 16, :arglists (quote ([iter]))}, :name datascript.btset/est-count, :variadic false, :file "out/datascript/btset.cljc", :end-column 16, :method-params ([iter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 946, :end-line 946, :max-fixed-arity 1, :fn-var true, :arglists (quote ([iter]))}, path-set {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 62, :column 7, :end-line 62, :end-column 15, :arglists (quote ([path level idx]))}, :name datascript.btset/path-set, :variadic false, :file "out/datascript/btset.cljc", :end-column 15, :method-params ([path level idx]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 62, :end-line 62, :max-fixed-arity 3, :fn-var true, :arglists (quote ([path level idx]))}, cut-n-splice {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 109, :column 7, :end-line 109, :end-column 19, :arglists (quote ([arr cut-from cut-to splice-from splice-to xs]))}, :name datascript.btset/cut-n-splice, :variadic false, :file "out/datascript/btset.cljc", :end-column 19, :method-params ([arr cut-from cut-to splice-from splice-to xs]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 109, :end-line 109, :max-fixed-arity 6, :fn-var true, :arglists (quote ([arr cut-from cut-to splice-from splice-to xs]))}, riter-next {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 897, :column 7, :end-line 897, :end-column 17, :arglists (quote ([ri]))}, :name datascript.btset/riter-next, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([ri]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 897, :end-line 897, :max-fixed-arity 1, :fn-var true, :arglists (quote ([ri]))}, ->BTSet {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 423, :column 10, :end-line 423, :end-column 15, :protocols #{cljs.core/IReversible cljs.core/IEquiv cljs.core/IHash cljs.core/IFn cljs.core/ICollection cljs.core/ISet cljs.core/IEmptyableCollection datascript.btset/Object cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/ILookup cljs.core/IReduce}, :skip-protocol-flag #{cljs.core/IReversible cljs.core/IEquiv cljs.core/IHash cljs.core/IFn cljs.core/ICollection cljs.core/ISet cljs.core/IEmptyableCollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/ILookup cljs.core/IReduce}, :factory :positional, :arglists (quote ([root shift cnt comparator meta __hash]))}, :protocols #{cljs.core/IReversible cljs.core/IEquiv cljs.core/IHash cljs.core/IFn cljs.core/ICollection cljs.core/ISet cljs.core/IEmptyableCollection datascript.btset/Object cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/ILookup cljs.core/IReduce}, :name datascript.btset/->BTSet, :variadic false, :file "out/datascript/btset.cljc", :end-column 15, :method-params ([root shift cnt comparator meta __hash]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 423, :end-line 423, :max-fixed-arity 6, :fn-var true, :arglists (quote ([root shift cnt comparator meta __hash])), :skip-protocol-flag #{cljs.core/IReversible cljs.core/IEquiv cljs.core/IHash cljs.core/IFn cljs.core/ICollection cljs.core/ISet cljs.core/IEmptyableCollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/ILookup cljs.core/IReduce}}, -btset-from-sorted-arr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 1005, :column 7, :end-line 1005, :end-column 29, :arglists (quote ([arr cmp]))}, :name datascript.btset/-btset-from-sorted-arr, :variadic false, :file "out/datascript/btset.cljc", :end-column 29, :method-params ([arr cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 1005, :end-line 1005, :max-fixed-arity 2, :fn-var true, :arglists (quote ([arr cmp]))}, avg-len {:name datascript.btset/avg-len, :file "out/datascript/btset.cljc", :line 50, :column 1, :end-line 50, :end-column 21, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 50, :column 14, :end-line 50, :end-column 21, :const true}}, ->Node {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 303, :column 10, :end-line 303, :end-column 14, :protocols #{datascript.btset/INode}, :skip-protocol-flag nil, :factory :positional, :arglists (quote ([keys pointers]))}, :protocols #{datascript.btset/INode}, :name datascript.btset/->Node, :variadic false, :file "out/datascript/btset.cljc", :end-column 14, :method-params ([keys pointers]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 303, :end-line 303, :max-fixed-arity 2, :fn-var true, :arglists (quote ([keys pointers])), :skip-protocol-flag nil}, Leaf {:num-fields 1, :protocols #{datascript.btset/INode}, :name datascript.btset/Leaf, :file "out/datascript/btset.cljc", :end-column 14, :type true, :column 10, :line 359, :record false, :end-line 359, :skip-protocol-flag nil}, sorted-arr-distinct? {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 208, :column 8, :end-line 208, :end-column 28, :private true, :arglists (quote ([arr cmp]))}, :private true, :name datascript.btset/sorted-arr-distinct?, :variadic false, :file "out/datascript/btset.cljc", :end-column 28, :method-params ([arr cmp]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 208, :end-line 208, :max-fixed-arity 2, :fn-var true, :arglists (quote ([arr cmp]))}, lookup-exact {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 89, :column 7, :end-line 89, :end-column 19, :arglists (quote ([cmp arr key]))}, :name datascript.btset/lookup-exact, :variadic false, :file "out/datascript/btset.cljc", :end-column 19, :method-params ([cmp arr key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 89, :end-line 89, :max-fixed-arity 3, :fn-var true, :arglists (quote ([cmp arr key]))}, arr-partition-approx {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 185, :column 8, :end-line 185, :end-column 28, :private true, :arglists (quote ([min-len max-len arr])), :doc "Splits `arr` into arrays of size between min-len and max-len,\n   trying to stick to (min+max)/2"}, :private true, :name datascript.btset/arr-partition-approx, :variadic false, :file "out/datascript/btset.cljc", :end-column 28, :method-params ([min-len max-len arr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 185, :end-line 185, :max-fixed-arity 3, :fn-var true, :arglists (quote ([min-len max-len arr])), :doc "Splits `arr` into arrays of size between min-len and max-len,\n   trying to stick to (min+max)/2"}, uninitialized-hash {:name datascript.btset/uninitialized-hash, :file "out/datascript/btset.cljc", :line 421, :column 1, :end-line 421, :end-column 32, :const true, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 421, :column 14, :end-line 421, :end-column 32, :const true}}, return-array {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 238, :column 7, :end-line 238, :end-column 19, :arglists (quote ([a1] [a1 a2] [a1 a2 a3])), :doc "Drop non-nil references and return array of arguments", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([a1] [a1 a2] [a1 a2 a3]), :arglists ([a1] [a1 a2] [a1 a2 a3]), :arglists-meta (nil nil nil)}}, :name datascript.btset/return-array, :variadic false, :file "out/datascript/btset.cljc", :end-column 19, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([a1] [a1 a2] [a1 a2 a3]), :arglists ([a1] [a1 a2] [a1 a2 a3]), :arglists-meta (nil nil nil)}, :method-params ([a1] [a1 a2] [a1 a2 a3]), :protocol-impl nil, :arglists-meta (nil nil nil), :column 1, :line 238, :end-line 238, :max-fixed-arity 3, :fn-var true, :arglists ([a1] [a1 a2] [a1 a2 a3]), :doc "Drop non-nil references and return array of arguments"}, slice {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 996, :column 7, :end-line 996, :end-column 12, :arglists (quote ([set key] [set key-from key-to])), :doc "When called with single key, returns iterator over set that contains all elements equal to the key.\n   When called with two keys (range), returns iterator for all X where key-from <= X <= key-to", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([set key] [set key-from key-to]), :arglists ([set key] [set key-from key-to]), :arglists-meta (nil nil)}}, :name datascript.btset/slice, :variadic false, :file "out/datascript/btset.cljc", :end-column 12, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([set key] [set key-from key-to]), :arglists ([set key] [set key-from key-to]), :arglists-meta (nil nil)}, :method-params ([set key] [set key-from key-to]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 996, :end-line 996, :max-fixed-arity 3, :fn-var true, :arglists ([set key] [set key-from key-to]), :doc "When called with single key, returns iterator over set that contains all elements equal to the key.\n   When called with two keys (range), returns iterator for all X where key-from <= X <= key-to"}, Iter {:num-fields 5, :protocols #{cljs.core/IReversible cljs.core/IChunkedNext cljs.core/ISeq cljs.core/INext cljs.core/ISeqable cljs.core/IChunkedSeq cljs.core/IReduce}, :name datascript.btset/Iter, :file "out/datascript/btset.cljc", :end-column 14, :type true, :column 10, :line 715, :record false, :end-line 715, :skip-protocol-flag #{cljs.core/IReversible cljs.core/IChunkedNext cljs.core/ISeq cljs.core/INext cljs.core/ISeqable cljs.core/IChunkedSeq cljs.core/IReduce}}, arr-map-inplace {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 177, :column 7, :end-line 177, :end-column 22, :arglists (quote ([f arr]))}, :name datascript.btset/arr-map-inplace, :variadic false, :file "out/datascript/btset.cljc", :end-column 22, :method-params ([f arr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 177, :end-line 177, :max-fixed-arity 2, :fn-var true, :arglists (quote ([f arr]))}, iter-first {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 771, :column 7, :end-line 771, :end-column 17, :arglists (quote ([iter]))}, :name datascript.btset/iter-first, :variadic false, :file "out/datascript/btset.cljc", :end-column 17, :method-params ([iter]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 771, :end-line 771, :max-fixed-arity 1, :fn-var true, :arglists (quote ([iter]))}, lookup-range {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 97, :column 7, :end-line 97, :end-column 19, :arglists (quote ([cmp arr key]))}, :name datascript.btset/lookup-range, :variadic false, :file "out/datascript/btset.cljc", :end-column 19, :method-params ([cmp arr key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 97, :end-line 97, :max-fixed-arity 3, :fn-var true, :arglists (quote ([cmp arr key]))}, check-n-splice {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 172, :column 7, :end-line 172, :end-column 21, :arglists (quote ([cmp arr from to new-arr]))}, :name datascript.btset/check-n-splice, :variadic false, :file "out/datascript/btset.cljc", :end-column 21, :method-params ([cmp arr from to new-arr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 172, :end-line 172, :max-fixed-arity 5, :fn-var true, :arglists (quote ([cmp arr from to new-arr]))}, node-disj {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 272, :column 4, :end-line 272, :end-column 13, :protocol datascript.btset/INode, :doc nil, :arglists (quote ([_ cmp key root? left right]))}, :protocol datascript.btset/INode, :name datascript.btset/node-disj, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([_ cmp key root? left right]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 265, :end-line 272, :max-fixed-arity 6, :fn-var true, :arglists (quote ([_ cmp key root? left right])), :doc nil}, rotate {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 274, :column 7, :end-line 274, :end-column 13, :arglists (quote ([node root? left right]))}, :name datascript.btset/rotate, :variadic false, :file "out/datascript/btset.cljc", :end-column 13, :method-params ([node root? left right]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 274, :end-line 274, :max-fixed-arity 4, :fn-var true, :arglists (quote ([node root? left right]))}, binary-search-l {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/btset.cljc", :line 66, :column 7, :end-line 66, :end-column 22, :arglists (quote ([cmp arr r k]))}, :name datascript.btset/binary-search-l, :variadic false, :file "out/datascript/btset.cljc", :end-column 22, :method-params ([cmp arr r k]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 66, :end-line 66, :max-fixed-arity 4, :fn-var true, :arglists (quote ([cmp arr r k]))}, Node {:num-fields 2, :protocols #{datascript.btset/INode}, :name datascript.btset/Node, :file "out/datascript/btset.cljc", :end-column 14, :type true, :column 10, :line 303, :record false, :end-line 303, :skip-protocol-flag nil}}, :require-macros {datascript.btset datascript.btset, da datascript.arrays, datascript.arrays datascript.arrays}, :cljs.analyzer/constants {:seen #{idx set :else left shift long __hash meta pointers cnt keys :tag :mutable root comparator right}, :order [:else keys pointers root shift cnt comparator meta __hash :mutable set left :tag long right idx]}, :doc " B+ tree\n  -------\n\n  Leaf: keys[]     :: array of values\n\n  Node:     pointers[] :: links to children nodes\n            keys[]     :: max value for whole subtree\n                          node.keys[i] == max(node.pointers[i].keys)\n  All arrays are 64..128 elements, inclusive\n\n  BTSet:    root       :: Node or Leaf\n            shift      :: path bit-shift of root level, == (depth - 1) * level-shift\n            cnt        :: size of a set, integer, rolling\n            comparator :: comparator used for ordering\n            meta       :: clojure meta map\n            __hash     :: hash code, same as for clojure collections, on-demand, cached\n\n  Path: conceptually a vector of indexes from root to leaf value, but encoded in a single int.\n        E.g. we have path [7 53 11] representing root.pointers[7].pointers[3].keys[11].\n        In our case level-shift is 8, meaning each index will take 8 bits:\n        (7 << 16) | (53 << 8) | 11 = 472331\n        0000 0111   0011 0101   0000 1011\n\n  Iter:     set       :: Set this iterator belongs to\n            left      :: Current path\n            right     :: Right bound path (exclusive)\n            keys      :: Cached ref for keys array for a leaf\n            idx       :: Cached idx in keys array\n  Keys and idx are cached for fast iteration inside a leaf\n"}