data-structure-typed 2.4.0 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +2 -3
- package/README_CN.md +0 -1
- package/dist/cjs/index.cjs +85 -30
- package/dist/cjs-legacy/index.cjs +85 -30
- package/dist/esm/index.mjs +85 -30
- package/dist/esm-legacy/index.mjs +85 -30
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +17 -6
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +13 -5
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +12 -5
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +15 -4
- package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +6 -1
- package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +6 -1
- package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +6 -1
- package/dist/umd/data-structure-typed.js +85 -29
- package/dist/umd/data-structure-typed.min.js +4 -4
- package/package.json +11 -5
- package/src/data-structures/binary-tree/tree-map.ts +35 -13
- package/src/data-structures/binary-tree/tree-multi-map.ts +41 -20
- package/src/data-structures/binary-tree/tree-multi-set.ts +17 -6
- package/src/data-structures/binary-tree/tree-set.ts +19 -6
- package/src/data-structures/trie/trie.ts +6 -8
- package/src/types/data-structures/binary-tree/tree-map.ts +7 -1
- package/src/types/data-structures/binary-tree/tree-multi-set.ts +7 -1
- package/src/types/data-structures/binary-tree/tree-set.ts +7 -1
- package/CMakeLists.txt +0 -52
- package/benchmark/report.html +0 -143
- package/benchmark/report.json +0 -1972
- package/build/CMakeCache.txt +0 -603
- package/build/CMakeFiles/4.0.3/CMakeCXXCompiler.cmake +0 -104
- package/build/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/build/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
- package/build/CMakeFiles/4.0.3/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -920
- package/build/CMakeFiles/4.0.3/CompilerIdCXX/a.out +0 -0
- package/build/CMakeFiles/4.0.3/CompilerIdCXX/apple-sdk.cpp +0 -1
- package/build/CMakeFiles/CMakeConfigureLog.yaml +0 -2146
- package/build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/CMakeFiles/InstallScripts.json +0 -9
- package/build/CMakeFiles/Makefile.cmake +0 -100
- package/build/CMakeFiles/Makefile2 +0 -720
- package/build/CMakeFiles/TargetDirectories.txt +0 -23
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp.o +0 -0
- package/build/CMakeFiles/avl-rb-range-search-benchmark.dir/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp.o.d +0 -835
- package/build/CMakeFiles/avl-tree-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/avl-tree-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/avl-tree-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/avl-tree-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/avl-tree-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/avl-tree-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/avl-tree-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/avl-tree-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/avl-tree-benchmark.dir/test/performance/data-structures/binary-tree/avl-tree.test.cpp.o +0 -0
- package/build/CMakeFiles/avl-tree-benchmark.dir/test/performance/data-structures/binary-tree/avl-tree.test.cpp.o.d +0 -835
- package/build/CMakeFiles/cmake.check_cache +0 -1
- package/build/CMakeFiles/deque-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/deque-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/deque-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.internal +0 -791
- package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.make +0 -2362
- package/build/CMakeFiles/deque-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/deque-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/deque-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/deque-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/deque-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/deque-benchmark.dir/test/performance/data-structures/queue/deque.test.cpp.o +0 -0
- package/build/CMakeFiles/deque-benchmark.dir/test/performance/data-structures/queue/deque.test.cpp.o.d +0 -787
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.internal +0 -790
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.make +0 -2359
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp.o +0 -0
- package/build/CMakeFiles/doubly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp.o.d +0 -786
- package/build/CMakeFiles/hash-map-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/hash-map-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/hash-map-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.internal +0 -790
- package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.make +0 -2359
- package/build/CMakeFiles/hash-map-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/hash-map-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/hash-map-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/hash-map-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/hash-map-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/hash-map-benchmark.dir/test/performance/data-structures/hash/hash-map.test.cpp.o +0 -0
- package/build/CMakeFiles/hash-map-benchmark.dir/test/performance/data-structures/hash/hash-map.test.cpp.o.d +0 -786
- package/build/CMakeFiles/heap-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/heap-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/heap-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.internal +0 -843
- package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.make +0 -2518
- package/build/CMakeFiles/heap-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/heap-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/heap-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/heap-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/heap-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/heap-benchmark.dir/test/performance/data-structures/heap/heap.test.cpp.o +0 -0
- package/build/CMakeFiles/heap-benchmark.dir/test/performance/data-structures/heap/heap.test.cpp.o.d +0 -839
- package/build/CMakeFiles/priority-queue-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/priority-queue-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/priority-queue-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.internal +0 -793
- package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.make +0 -2368
- package/build/CMakeFiles/priority-queue-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/priority-queue-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/priority-queue-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/priority-queue-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/priority-queue-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/priority-queue-benchmark.dir/test/performance/data-structures/priority-queue/priority-queue.test.cpp.o +0 -0
- package/build/CMakeFiles/priority-queue-benchmark.dir/test/performance/data-structures/priority-queue/priority-queue.test.cpp.o.d +0 -789
- package/build/CMakeFiles/progress.marks +0 -1
- package/build/CMakeFiles/queue-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/queue-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/queue-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.internal +0 -793
- package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.make +0 -2368
- package/build/CMakeFiles/queue-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/queue-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/queue-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/queue-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/queue-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/queue-benchmark.dir/test/performance/data-structures/queue/queue.test.cpp.o +0 -0
- package/build/CMakeFiles/queue-benchmark.dir/test/performance/data-structures/queue/queue.test.cpp.o.d +0 -789
- package/build/CMakeFiles/red-black-tree-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/red-black-tree-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/red-black-tree-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/red-black-tree-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/red-black-tree-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/red-black-tree-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/red-black-tree-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/red-black-tree-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/red-black-tree-benchmark.dir/test/performance/data-structures/binary-tree/red-black-tree.test.cpp.o +0 -0
- package/build/CMakeFiles/red-black-tree-benchmark.dir/test/performance/data-structures/binary-tree/red-black-tree.test.cpp.o.d +0 -835
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.internal +0 -790
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.make +0 -2359
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/singly-linked-list.test.cpp.o +0 -0
- package/build/CMakeFiles/singly-linked-list-benchmark.dir/test/performance/data-structures/linked-list/singly-linked-list.test.cpp.o.d +0 -786
- package/build/CMakeFiles/stack-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/stack-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/stack-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.internal +0 -793
- package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.make +0 -2368
- package/build/CMakeFiles/stack-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/stack-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/stack-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/stack-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/stack-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/stack-benchmark.dir/test/performance/data-structures/stack/stack.test.cpp.o +0 -0
- package/build/CMakeFiles/stack-benchmark.dir/test/performance/data-structures/stack/stack.test.cpp.o.d +0 -789
- package/build/CMakeFiles/tree-map-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-map-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-map-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-map-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-map-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-map-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-map-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-map-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-map.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-map.test.cpp.o.d +0 -835
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-multi-map-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp.o.d +0 -835
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-multi-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp.o.d +0 -835
- package/build/CMakeFiles/tree-set-benchmark.dir/DependInfo.cmake +0 -23
- package/build/CMakeFiles/tree-set-benchmark.dir/build.make +0 -114
- package/build/CMakeFiles/tree-set-benchmark.dir/cmake_clean.cmake +0 -11
- package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.internal +0 -839
- package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.make +0 -2506
- package/build/CMakeFiles/tree-set-benchmark.dir/compiler_depend.ts +0 -2
- package/build/CMakeFiles/tree-set-benchmark.dir/depend.make +0 -2
- package/build/CMakeFiles/tree-set-benchmark.dir/flags.make +0 -10
- package/build/CMakeFiles/tree-set-benchmark.dir/link.txt +0 -1
- package/build/CMakeFiles/tree-set-benchmark.dir/progress.make +0 -3
- package/build/CMakeFiles/tree-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-set.test.cpp.o +0 -0
- package/build/CMakeFiles/tree-set-benchmark.dir/test/performance/data-structures/binary-tree/tree-set.test.cpp.o.d +0 -835
- package/build/Makefile +0 -783
- package/build/_deps/benchmark-build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/_deps/benchmark-build/CMakeFiles/progress.marks +0 -1
- package/build/_deps/benchmark-build/Makefile +0 -140
- package/build/_deps/benchmark-build/benchmark.pc +0 -12
- package/build/_deps/benchmark-build/benchmarkConfig.cmake +0 -14
- package/build/_deps/benchmark-build/benchmarkConfigVersion.cmake +0 -65
- package/build/_deps/benchmark-build/benchmarkTargets.cmake +0 -84
- package/build/_deps/benchmark-build/cmake_install.cmake +0 -50
- package/build/_deps/benchmark-build/src/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/DependInfo.cmake +0 -41
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark.cc.o.d +0 -875
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o.d +0 -802
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_name.cc.o.d +0 -772
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o.d +0 -841
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o.d +0 -833
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/build.make +0 -402
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/check.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/check.cc.o.d +0 -784
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/cmake_clean.cmake +0 -47
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/cmake_clean_target.cmake +0 -3
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/colorprint.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/colorprint.cc.o.d +0 -791
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o.d +0 -795
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.internal +0 -15519
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.make +0 -17500
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/compiler_depend.ts +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/complexity.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/complexity.cc.o.d +0 -793
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/console_reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/console_reporter.cc.o.d +0 -802
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/counter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/counter.cc.o.d +0 -773
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o.d +0 -799
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/depend.make +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/flags.make +0 -10
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/json_reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/json_reporter.cc.o.d +0 -800
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/link.txt +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/perf_counters.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/perf_counters.cc.o.d +0 -807
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/progress.make +0 -21
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/reporter.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/reporter.cc.o.d +0 -798
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/statistics.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/statistics.cc.o.d +0 -800
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/string_util.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/string_util.cc.o.d +0 -795
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/sysinfo.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/sysinfo.cc.o.d +0 -933
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/timers.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark.dir/timers.cc.o.d +0 -904
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/DependInfo.cmake +0 -23
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o +0 -0
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/benchmark_main.cc.o.d +0 -772
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/build.make +0 -114
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/cmake_clean.cmake +0 -11
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/cmake_clean_target.cmake +0 -3
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.internal +0 -776
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.make +0 -2317
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/compiler_depend.ts +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/depend.make +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/flags.make +0 -10
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/link.txt +0 -2
- package/build/_deps/benchmark-build/src/CMakeFiles/benchmark_main.dir/progress.make +0 -3
- package/build/_deps/benchmark-build/src/CMakeFiles/progress.marks +0 -1
- package/build/_deps/benchmark-build/src/Makefile +0 -710
- package/build/_deps/benchmark-build/src/cmake_install.cmake +0 -45
- package/build/_deps/benchmark-build/src/libbenchmark.a +0 -0
- package/build/_deps/benchmark-build/src/libbenchmark_main.a +0 -0
- package/build/_deps/benchmark-src/.clang-format +0 -5
- package/build/_deps/benchmark-src/.clang-tidy +0 -7
- package/build/_deps/benchmark-src/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
- package/build/_deps/benchmark-src/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/build/_deps/benchmark-src/.github/install_bazel.sh +0 -13
- package/build/_deps/benchmark-src/.github/libcxx-setup.sh +0 -26
- package/build/_deps/benchmark-src/.github/workflows/bazel.yml +0 -35
- package/build/_deps/benchmark-src/.github/workflows/build-and-test-min-cmake.yml +0 -46
- package/build/_deps/benchmark-src/.github/workflows/build-and-test-perfcounters.yml +0 -51
- package/build/_deps/benchmark-src/.github/workflows/build-and-test.yml +0 -114
- package/build/_deps/benchmark-src/.github/workflows/clang-format-lint.yml +0 -17
- package/build/_deps/benchmark-src/.github/workflows/clang-tidy.yml +0 -38
- package/build/_deps/benchmark-src/.github/workflows/doxygen.yml +0 -28
- package/build/_deps/benchmark-src/.github/workflows/pylint.yml +0 -28
- package/build/_deps/benchmark-src/.github/workflows/sanitizer.yml +0 -96
- package/build/_deps/benchmark-src/.github/workflows/test_bindings.yml +0 -29
- package/build/_deps/benchmark-src/.github/workflows/wheels.yml +0 -79
- package/build/_deps/benchmark-src/.travis.yml +0 -208
- package/build/_deps/benchmark-src/.ycm_extra_conf.py +0 -115
- package/build/_deps/benchmark-src/AUTHORS +0 -71
- package/build/_deps/benchmark-src/BUILD.bazel +0 -87
- package/build/_deps/benchmark-src/CMakeLists.txt +0 -340
- package/build/_deps/benchmark-src/CONTRIBUTING.md +0 -58
- package/build/_deps/benchmark-src/CONTRIBUTORS +0 -95
- package/build/_deps/benchmark-src/LICENSE +0 -202
- package/build/_deps/benchmark-src/MODULE.bazel +0 -24
- package/build/_deps/benchmark-src/README.md +0 -223
- package/build/_deps/benchmark-src/WORKSPACE +0 -22
- package/build/_deps/benchmark-src/WORKSPACE.bzlmod +0 -2
- package/build/_deps/benchmark-src/_config.yml +0 -2
- package/build/_deps/benchmark-src/appveyor.yml +0 -50
- package/build/_deps/benchmark-src/bazel/benchmark_deps.bzl +0 -65
- package/build/_deps/benchmark-src/bindings/python/BUILD +0 -3
- package/build/_deps/benchmark-src/bindings/python/build_defs.bzl +0 -25
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/BUILD +0 -40
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/__init__.py +0 -162
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/benchmark.cc +0 -184
- package/build/_deps/benchmark-src/bindings/python/google_benchmark/example.py +0 -136
- package/build/_deps/benchmark-src/bindings/python/nanobind.BUILD +0 -17
- package/build/_deps/benchmark-src/bindings/python/python_headers.BUILD +0 -6
- package/build/_deps/benchmark-src/cmake/AddCXXCompilerFlag.cmake +0 -78
- package/build/_deps/benchmark-src/cmake/CXXFeatureCheck.cmake +0 -82
- package/build/_deps/benchmark-src/cmake/Config.cmake.in +0 -7
- package/build/_deps/benchmark-src/cmake/GetGitVersion.cmake +0 -58
- package/build/_deps/benchmark-src/cmake/GoogleTest.cmake +0 -58
- package/build/_deps/benchmark-src/cmake/GoogleTest.cmake.in +0 -59
- package/build/_deps/benchmark-src/cmake/benchmark.pc.in +0 -12
- package/build/_deps/benchmark-src/cmake/gnu_posix_regex.cpp +0 -12
- package/build/_deps/benchmark-src/cmake/llvm-toolchain.cmake +0 -8
- package/build/_deps/benchmark-src/cmake/posix_regex.cpp +0 -14
- package/build/_deps/benchmark-src/cmake/pthread_affinity.cpp +0 -16
- package/build/_deps/benchmark-src/cmake/split_list.cmake +0 -3
- package/build/_deps/benchmark-src/cmake/std_regex.cpp +0 -10
- package/build/_deps/benchmark-src/cmake/steady_clock.cpp +0 -7
- package/build/_deps/benchmark-src/cmake/thread_safety_attributes.cpp +0 -4
- package/build/_deps/benchmark-src/docs/AssemblyTests.md +0 -149
- package/build/_deps/benchmark-src/docs/_config.yml +0 -3
- package/build/_deps/benchmark-src/docs/assets/images/icon.png +0 -0
- package/build/_deps/benchmark-src/docs/assets/images/icon.xcf +0 -0
- package/build/_deps/benchmark-src/docs/assets/images/icon_black.png +0 -0
- package/build/_deps/benchmark-src/docs/assets/images/icon_black.xcf +0 -0
- package/build/_deps/benchmark-src/docs/dependencies.md +0 -13
- package/build/_deps/benchmark-src/docs/index.md +0 -12
- package/build/_deps/benchmark-src/docs/perf_counters.md +0 -35
- package/build/_deps/benchmark-src/docs/platform_specific_build_instructions.md +0 -48
- package/build/_deps/benchmark-src/docs/python_bindings.md +0 -34
- package/build/_deps/benchmark-src/docs/random_interleaving.md +0 -13
- package/build/_deps/benchmark-src/docs/reducing_variance.md +0 -100
- package/build/_deps/benchmark-src/docs/releasing.md +0 -41
- package/build/_deps/benchmark-src/docs/tools.md +0 -343
- package/build/_deps/benchmark-src/docs/user_guide.md +0 -1266
- package/build/_deps/benchmark-src/include/benchmark/benchmark.h +0 -1991
- package/build/_deps/benchmark-src/include/benchmark/export.h +0 -47
- package/build/_deps/benchmark-src/pyproject.toml +0 -50
- package/build/_deps/benchmark-src/setup.py +0 -113
- package/build/_deps/benchmark-src/src/CMakeLists.txt +0 -170
- package/build/_deps/benchmark-src/src/arraysize.h +0 -33
- package/build/_deps/benchmark-src/src/benchmark.cc +0 -779
- package/build/_deps/benchmark-src/src/benchmark_api_internal.cc +0 -118
- package/build/_deps/benchmark-src/src/benchmark_api_internal.h +0 -87
- package/build/_deps/benchmark-src/src/benchmark_main.cc +0 -18
- package/build/_deps/benchmark-src/src/benchmark_name.cc +0 -59
- package/build/_deps/benchmark-src/src/benchmark_register.cc +0 -520
- package/build/_deps/benchmark-src/src/benchmark_register.h +0 -109
- package/build/_deps/benchmark-src/src/benchmark_runner.cc +0 -497
- package/build/_deps/benchmark-src/src/benchmark_runner.h +0 -131
- package/build/_deps/benchmark-src/src/check.cc +0 -11
- package/build/_deps/benchmark-src/src/check.h +0 -106
- package/build/_deps/benchmark-src/src/colorprint.cc +0 -200
- package/build/_deps/benchmark-src/src/colorprint.h +0 -33
- package/build/_deps/benchmark-src/src/commandlineflags.cc +0 -298
- package/build/_deps/benchmark-src/src/commandlineflags.h +0 -133
- package/build/_deps/benchmark-src/src/complexity.cc +0 -244
- package/build/_deps/benchmark-src/src/complexity.h +0 -55
- package/build/_deps/benchmark-src/src/console_reporter.cc +0 -206
- package/build/_deps/benchmark-src/src/counter.cc +0 -80
- package/build/_deps/benchmark-src/src/counter.h +0 -32
- package/build/_deps/benchmark-src/src/csv_reporter.cc +0 -161
- package/build/_deps/benchmark-src/src/cycleclock.h +0 -230
- package/build/_deps/benchmark-src/src/internal_macros.h +0 -115
- package/build/_deps/benchmark-src/src/json_reporter.cc +0 -320
- package/build/_deps/benchmark-src/src/log.h +0 -88
- package/build/_deps/benchmark-src/src/mutex.h +0 -155
- package/build/_deps/benchmark-src/src/perf_counters.cc +0 -282
- package/build/_deps/benchmark-src/src/perf_counters.h +0 -200
- package/build/_deps/benchmark-src/src/re.h +0 -158
- package/build/_deps/benchmark-src/src/reporter.cc +0 -118
- package/build/_deps/benchmark-src/src/statistics.cc +0 -209
- package/build/_deps/benchmark-src/src/statistics.h +0 -44
- package/build/_deps/benchmark-src/src/string_util.cc +0 -254
- package/build/_deps/benchmark-src/src/string_util.h +0 -70
- package/build/_deps/benchmark-src/src/sysinfo.cc +0 -855
- package/build/_deps/benchmark-src/src/thread_manager.h +0 -63
- package/build/_deps/benchmark-src/src/thread_timer.h +0 -86
- package/build/_deps/benchmark-src/src/timers.cc +0 -272
- package/build/_deps/benchmark-src/src/timers.h +0 -48
- package/build/_deps/benchmark-src/test/AssemblyTests.cmake +0 -67
- package/build/_deps/benchmark-src/test/BUILD +0 -127
- package/build/_deps/benchmark-src/test/CMakeLists.txt +0 -309
- package/build/_deps/benchmark-src/test/args_product_test.cc +0 -77
- package/build/_deps/benchmark-src/test/basic_test.cc +0 -180
- package/build/_deps/benchmark-src/test/benchmark_gtest.cc +0 -169
- package/build/_deps/benchmark-src/test/benchmark_min_time_flag_iters_test.cc +0 -66
- package/build/_deps/benchmark-src/test/benchmark_min_time_flag_time_test.cc +0 -90
- package/build/_deps/benchmark-src/test/benchmark_name_gtest.cc +0 -82
- package/build/_deps/benchmark-src/test/benchmark_random_interleaving_gtest.cc +0 -126
- package/build/_deps/benchmark-src/test/benchmark_setup_teardown_test.cc +0 -157
- package/build/_deps/benchmark-src/test/benchmark_test.cc +0 -274
- package/build/_deps/benchmark-src/test/clobber_memory_assembly_test.cc +0 -64
- package/build/_deps/benchmark-src/test/commandlineflags_gtest.cc +0 -228
- package/build/_deps/benchmark-src/test/complexity_test.cc +0 -228
- package/build/_deps/benchmark-src/test/cxx03_test.cc +0 -62
- package/build/_deps/benchmark-src/test/diagnostics_test.cc +0 -91
- package/build/_deps/benchmark-src/test/display_aggregates_only_test.cc +0 -45
- package/build/_deps/benchmark-src/test/donotoptimize_assembly_test.cc +0 -201
- package/build/_deps/benchmark-src/test/donotoptimize_test.cc +0 -69
- package/build/_deps/benchmark-src/test/filter_test.cc +0 -117
- package/build/_deps/benchmark-src/test/fixture_test.cc +0 -51
- package/build/_deps/benchmark-src/test/internal_threading_test.cc +0 -185
- package/build/_deps/benchmark-src/test/link_main_test.cc +0 -9
- package/build/_deps/benchmark-src/test/map_test.cc +0 -59
- package/build/_deps/benchmark-src/test/memory_manager_test.cc +0 -47
- package/build/_deps/benchmark-src/test/min_time_parse_gtest.cc +0 -30
- package/build/_deps/benchmark-src/test/multiple_ranges_test.cc +0 -96
- package/build/_deps/benchmark-src/test/options_test.cc +0 -77
- package/build/_deps/benchmark-src/test/output_test.h +0 -211
- package/build/_deps/benchmark-src/test/output_test_helper.cc +0 -519
- package/build/_deps/benchmark-src/test/perf_counters_gtest.cc +0 -307
- package/build/_deps/benchmark-src/test/perf_counters_test.cc +0 -92
- package/build/_deps/benchmark-src/test/register_benchmark_test.cc +0 -196
- package/build/_deps/benchmark-src/test/repetitions_test.cc +0 -214
- package/build/_deps/benchmark-src/test/report_aggregates_only_test.cc +0 -41
- package/build/_deps/benchmark-src/test/reporter_output_test.cc +0 -1130
- package/build/_deps/benchmark-src/test/skip_with_error_test.cc +0 -199
- package/build/_deps/benchmark-src/test/spec_arg_test.cc +0 -105
- package/build/_deps/benchmark-src/test/spec_arg_verbosity_test.cc +0 -43
- package/build/_deps/benchmark-src/test/state_assembly_test.cc +0 -68
- package/build/_deps/benchmark-src/test/statistics_gtest.cc +0 -35
- package/build/_deps/benchmark-src/test/string_util_gtest.cc +0 -199
- package/build/_deps/benchmark-src/test/templated_fixture_test.cc +0 -28
- package/build/_deps/benchmark-src/test/time_unit_gtest.cc +0 -37
- package/build/_deps/benchmark-src/test/user_counters_tabular_test.cc +0 -558
- package/build/_deps/benchmark-src/test/user_counters_test.cc +0 -561
- package/build/_deps/benchmark-src/test/user_counters_thousands_test.cc +0 -186
- package/build/_deps/benchmark-src/tools/BUILD.bazel +0 -19
- package/build/_deps/benchmark-src/tools/compare.py +0 -432
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test1_run1.json +0 -127
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test1_run2.json +0 -127
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test2_run.json +0 -81
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test3_run0.json +0 -65
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test3_run1.json +0 -65
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run.json +0 -96
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run0.json +0 -21
- package/build/_deps/benchmark-src/tools/gbench/Inputs/test4_run1.json +0 -21
- package/build/_deps/benchmark-src/tools/gbench/__init__.py +0 -8
- package/build/_deps/benchmark-src/tools/gbench/report.py +0 -1201
- package/build/_deps/benchmark-src/tools/gbench/util.py +0 -203
- package/build/_deps/benchmark-src/tools/libpfm.BUILD.bazel +0 -22
- package/build/_deps/benchmark-src/tools/requirements.txt +0 -2
- package/build/_deps/benchmark-src/tools/strip_asm.py +0 -151
- package/build/_deps/benchmark-subbuild/CMakeCache.txt +0 -133
- package/build/_deps/benchmark-subbuild/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
- package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeConfigureLog.yaml +0 -11
- package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- package/build/_deps/benchmark-subbuild/CMakeFiles/CMakeRuleHashes.txt +0 -11
- package/build/_deps/benchmark-subbuild/CMakeFiles/InstallScripts.json +0 -7
- package/build/_deps/benchmark-subbuild/CMakeFiles/Makefile.cmake +0 -52
- package/build/_deps/benchmark-subbuild/CMakeFiles/Makefile2 +0 -122
- package/build/_deps/benchmark-subbuild/CMakeFiles/TargetDirectories.txt +0 -3
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate-complete +0 -0
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/DependInfo.cmake +0 -22
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/Labels.json +0 -46
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/Labels.txt +0 -14
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/build.make +0 -162
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/cmake_clean.cmake +0 -17
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/compiler_depend.make +0 -2
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/compiler_depend.ts +0 -2
- package/build/_deps/benchmark-subbuild/CMakeFiles/benchmark-populate.dir/progress.make +0 -10
- package/build/_deps/benchmark-subbuild/CMakeFiles/cmake.check_cache +0 -1
- package/build/_deps/benchmark-subbuild/CMakeFiles/progress.marks +0 -1
- package/build/_deps/benchmark-subbuild/CMakeLists.txt +0 -42
- package/build/_deps/benchmark-subbuild/Makefile +0 -162
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-build +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-configure +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-done +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-download +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-gitclone-lastrun.txt +0 -15
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-gitinfo.txt +0 -15
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-install +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-mkdir +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-patch +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-patch-info.txt +0 -6
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-test +0 -0
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/src/benchmark-populate-stamp/benchmark-populate-update-info.txt +0 -7
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-cfgcmd.txt +0 -1
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-gitclone.cmake +0 -87
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-gitupdate.cmake +0 -317
- package/build/_deps/benchmark-subbuild/benchmark-populate-prefix/tmp/benchmark-populate-mkdirs.cmake +0 -27
- package/build/_deps/benchmark-subbuild/cmake_install.cmake +0 -56
- package/build/bin/avl-rb-range-search-benchmark +0 -0
- package/build/bin/avl-tree-benchmark +0 -0
- package/build/bin/deque-benchmark +0 -0
- package/build/bin/doubly-linked-list-benchmark +0 -0
- package/build/bin/hash-map-benchmark +0 -0
- package/build/bin/heap-benchmark +0 -0
- package/build/bin/priority-queue-benchmark +0 -0
- package/build/bin/queue-benchmark +0 -0
- package/build/bin/red-black-tree-benchmark +0 -0
- package/build/bin/singly-linked-list-benchmark +0 -0
- package/build/bin/stack-benchmark +0 -0
- package/build/bin/tree-map-benchmark +0 -0
- package/build/bin/tree-multi-map-benchmark +0 -0
- package/build/bin/tree-multi-set-benchmark +0 -0
- package/build/bin/tree-set-benchmark +0 -0
- package/build/cmake_install.cmake +0 -66
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs-legacy/index.cjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm-legacy/index.mjs.map +0 -1
- package/dist/umd/data-structure-typed.js.map +0 -1
- package/dist/umd/data-structure-typed.min.js.map +0 -1
- package/eslint.config.mjs +0 -73
- package/test/config.ts +0 -4
- package/test/integration/all-in-one.test.ts +0 -110
- package/test/integration/avl-tree.test.ts +0 -127
- package/test/integration/bst.test.ts +0 -385
- package/test/integration/compile.test.mjs +0 -159
- package/test/integration/compile.test.ts +0 -176
- package/test/integration/heap.test.js +0 -21
- package/test/integration/index.html +0 -462
- package/test/performance/benchmark-runner-enhanced.mjs +0 -818
- package/test/performance/cmake-benchmark-runner.mjs +0 -234
- package/test/performance/data-structures/binary-tree/avl-rb-range-search.test.cpp +0 -112
- package/test/performance/data-structures/binary-tree/avl-rb-range-search.test.mjs +0 -51
- package/test/performance/data-structures/binary-tree/avl-tree.test.cpp +0 -181
- package/test/performance/data-structures/binary-tree/avl-tree.test.mjs +0 -138
- package/test/performance/data-structures/binary-tree/binary-tree-overall.test.mjs +0 -85
- package/test/performance/data-structures/binary-tree/binary-tree.test.mjs +0 -100
- package/test/performance/data-structures/binary-tree/bst.test.mjs +0 -61
- package/test/performance/data-structures/binary-tree/red-black-tree-cjs.test.mjs +0 -259
- package/test/performance/data-structures/binary-tree/red-black-tree.test.cpp +0 -213
- package/test/performance/data-structures/binary-tree/red-black-tree.test.mjs +0 -275
- package/test/performance/data-structures/binary-tree/tree-map.test.cpp +0 -129
- package/test/performance/data-structures/binary-tree/tree-map.test.mjs +0 -171
- package/test/performance/data-structures/binary-tree/tree-multi-map.test.cpp +0 -205
- package/test/performance/data-structures/binary-tree/tree-multi-map.test.mjs +0 -106
- package/test/performance/data-structures/binary-tree/tree-multi-set.test.cpp +0 -217
- package/test/performance/data-structures/binary-tree/tree-multi-set.test.mjs +0 -91
- package/test/performance/data-structures/binary-tree/tree-set.test.cpp +0 -127
- package/test/performance/data-structures/binary-tree/tree-set.test.mjs +0 -174
- package/test/performance/data-structures/comparison/comparison.test.mjs +0 -99
- package/test/performance/data-structures/graph/directed-graph.test.mjs +0 -38
- package/test/performance/data-structures/hash/hash-map.test.cpp +0 -183
- package/test/performance/data-structures/hash/hash-map.test.mjs +0 -187
- package/test/performance/data-structures/heap/heap.test.cpp +0 -61
- package/test/performance/data-structures/heap/heap.test.mjs +0 -31
- package/test/performance/data-structures/linked-list/doubly-linked-list.test.cpp +0 -84
- package/test/performance/data-structures/linked-list/doubly-linked-list.test.mjs +0 -125
- package/test/performance/data-structures/linked-list/singly-linked-list.test.cpp +0 -77
- package/test/performance/data-structures/linked-list/singly-linked-list.test.mjs +0 -84
- package/test/performance/data-structures/priority-queue/max-priority-queue.test.mjs +0 -40
- package/test/performance/data-structures/priority-queue/priority-queue.test.cpp +0 -59
- package/test/performance/data-structures/priority-queue/priority-queue.test.mjs +0 -64
- package/test/performance/data-structures/queue/deque.test.cpp +0 -119
- package/test/performance/data-structures/queue/deque.test.mjs +0 -144
- package/test/performance/data-structures/queue/queue.test.cpp +0 -59
- package/test/performance/data-structures/queue/queue.test.mjs +0 -77
- package/test/performance/data-structures/stack/stack.test.cpp +0 -40
- package/test/performance/data-structures/stack/stack.test.mjs +0 -69
- package/test/performance/data-structures/trie/trie.test.mjs +0 -43
- package/test/performance/reportor-enhanced.mjs +0 -871
- package/test/performance/runner-config.json +0 -51
- package/test/types/index.ts +0 -1
- package/test/types/utils/big-o.ts +0 -1
- package/test/types/utils/index.ts +0 -2
- package/test/types/utils/json2html.ts +0 -5
- package/test/unit/data-structures/base/iterable-element-base.coverage.test.ts +0 -106
- package/test/unit/data-structures/base/iterable-element-base.more-branches.coverage.test.ts +0 -61
- package/test/unit/data-structures/base/linear-base.array.coverage.test.ts +0 -168
- package/test/unit/data-structures/base/linear-base.concat-else.coverage.test.ts +0 -82
- package/test/unit/data-structures/base/linear-base.coverage.test.ts +0 -72
- package/test/unit/data-structures/base/linear-base.more-branches.coverage.test.ts +0 -414
- package/test/unit/data-structures/binary-tree/avl-tree-node.familyPosition-root-left.coverage.test.ts +0 -17
- package/test/unit/data-structures/binary-tree/avl-tree.more-branches-2.coverage.test.ts +0 -99
- package/test/unit/data-structures/binary-tree/avl-tree.test.ts +0 -729
- package/test/unit/data-structures/binary-tree/binary-index-tree.test.ts +0 -345
- package/test/unit/data-structures/binary-tree/binary-indexed-tree.more-branches.coverage.test.ts +0 -18
- package/test/unit/data-structures/binary-tree/binary-tree.more-branches.coverage.test.ts +0 -56
- package/test/unit/data-structures/binary-tree/binary-tree.remaining-branches.coverage.test.ts +0 -232
- package/test/unit/data-structures/binary-tree/binary-tree.test.ts +0 -1912
- package/test/unit/data-structures/binary-tree/bst.bound-by-predicate.coverage.test.ts +0 -33
- package/test/unit/data-structures/binary-tree/bst.coverage.test.ts +0 -94
- package/test/unit/data-structures/binary-tree/bst.deletebykey.coverage.test.ts +0 -70
- package/test/unit/data-structures/binary-tree/bst.deletewhere.coverage.test.ts +0 -37
- package/test/unit/data-structures/binary-tree/bst.floor-lower-predicate.coverage.test.ts +0 -29
- package/test/unit/data-structures/binary-tree/bst.floor-setmany.coverage.test.ts +0 -72
- package/test/unit/data-structures/binary-tree/bst.getnode.range-ensure.coverage.test.ts +0 -22
- package/test/unit/data-structures/binary-tree/bst.misc-branches.coverage.test.ts +0 -100
- package/test/unit/data-structures/binary-tree/bst.more-branches-2.coverage.test.ts +0 -133
- package/test/unit/data-structures/binary-tree/bst.more-branches-3.coverage.test.ts +0 -45
- package/test/unit/data-structures/binary-tree/bst.more-branches-4.coverage.test.ts +0 -36
- package/test/unit/data-structures/binary-tree/bst.more-branches-5.coverage.test.ts +0 -40
- package/test/unit/data-structures/binary-tree/bst.more.coverage.test.ts +0 -39
- package/test/unit/data-structures/binary-tree/bst.node-family.coverage.test.ts +0 -29
- package/test/unit/data-structures/binary-tree/bst.range-pruning.coverage.test.ts +0 -43
- package/test/unit/data-structures/binary-tree/bst.search-fastpath.coverage.test.ts +0 -30
- package/test/unit/data-structures/binary-tree/bst.test.ts +0 -3472
- package/test/unit/data-structures/binary-tree/data/cost-of-living-by-country.ts +0 -259
- package/test/unit/data-structures/binary-tree/overall.test.ts +0 -219
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-corruption-repair.coverage.test.ts +0 -66
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-max-update.coverage.test.ts +0 -18
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-null.coverage.test.ts +0 -53
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-stale-cache.coverage.test.ts +0 -25
- package/test/unit/data-structures/binary-tree/red-black-tree.boundary-update.coverage.test.ts +0 -23
- package/test/unit/data-structures/binary-tree/red-black-tree.cache-delete.coverage.test.ts +0 -49
- package/test/unit/data-structures/binary-tree/red-black-tree.cache-edge.coverage.test.ts +0 -37
- package/test/unit/data-structures/binary-tree/red-black-tree.cache-stale-insert.coverage.test.ts +0 -39
- package/test/unit/data-structures/binary-tree/red-black-tree.coverage.test.ts +0 -334
- package/test/unit/data-structures/binary-tree/red-black-tree.delete-fixup.coverage.test.ts +0 -68
- package/test/unit/data-structures/binary-tree/red-black-tree.delete-successor.coverage.test.ts +0 -75
- package/test/unit/data-structures/binary-tree/red-black-tree.factories.coverage.test.ts +0 -26
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-compare-update.coverage.test.ts +0 -74
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-no-update.coverage.test.ts +0 -44
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-nullish.coverage.test.ts +0 -61
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-defined.coverage.test.ts +0 -35
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-undefined.coverage.test.ts +0 -43
- package/test/unit/data-structures/binary-tree/red-black-tree.hint-more.coverage.test.ts +0 -99
- package/test/unit/data-structures/binary-tree/red-black-tree.hint.coverage.test.ts +0 -60
- package/test/unit/data-structures/binary-tree/red-black-tree.insert-cache-nullish.coverage.test.ts +0 -29
- package/test/unit/data-structures/binary-tree/red-black-tree.insert-header-parent-nullish.coverage.test.ts +0 -17
- package/test/unit/data-structures/binary-tree/red-black-tree.internal-walk.coverage.test.ts +0 -57
- package/test/unit/data-structures/binary-tree/red-black-tree.minmax-cache.test.ts +0 -65
- package/test/unit/data-structures/binary-tree/red-black-tree.misc-inputs.coverage.test.ts +0 -17
- package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-2.coverage.test.ts +0 -121
- package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-3.coverage.test.ts +0 -55
- package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-4.coverage.test.ts +0 -44
- package/test/unit/data-structures/binary-tree/red-black-tree.predsucc.coverage.test.ts +0 -40
- package/test/unit/data-structures/binary-tree/red-black-tree.remaining-branches.coverage.test.ts +0 -123
- package/test/unit/data-structures/binary-tree/red-black-tree.set-inputs.coverage.test.ts +0 -64
- package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-parent-cache.coverage.test.ts +0 -79
- package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-remaining.coverage.test.ts +0 -44
- package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-uncovered.coverage.test.ts +0 -74
- package/test/unit/data-structures/binary-tree/red-black-tree.test.ts +0 -936
- package/test/unit/data-structures/binary-tree/red-black-tree.update-branches.coverage.test.ts +0 -30
- package/test/unit/data-structures/binary-tree/segment-tree.more-branches.coverage.test.ts +0 -31
- package/test/unit/data-structures/binary-tree/segment-tree.test.ts +0 -104
- package/test/unit/data-structures/binary-tree/tree-map.test.ts +0 -270
- package/test/unit/data-structures/binary-tree/tree-multi-map.coverage.test.ts +0 -245
- package/test/unit/data-structures/binary-tree/tree-multi-map.legacy.test.ts.skip +0 -1115
- package/test/unit/data-structures/binary-tree/tree-multi-map.more-branches-2.coverage.test.ts.skip +0 -59
- package/test/unit/data-structures/binary-tree/tree-multi-map.rfc.test.ts +0 -99
- package/test/unit/data-structures/binary-tree/tree-multi-map.simplified.test.ts +0 -482
- package/test/unit/data-structures/binary-tree/tree-multi-set.test.ts +0 -545
- package/test/unit/data-structures/binary-tree/tree-set.test.ts +0 -187
- package/test/unit/data-structures/graph/abstract-graph.more-branches-2.coverage.test.ts +0 -40
- package/test/unit/data-structures/graph/abstract-graph.more-branches-3.coverage.test.ts +0 -65
- package/test/unit/data-structures/graph/abstract-graph.more-branches-4.coverage.test.ts +0 -98
- package/test/unit/data-structures/graph/abstract-graph.more-branches-5.coverage.test.ts +0 -51
- package/test/unit/data-structures/graph/abstract-graph.more-branches.coverage.test.ts +0 -62
- package/test/unit/data-structures/graph/abstract-graph.test.ts +0 -117
- package/test/unit/data-structures/graph/directed-graph.more-branches-2.coverage.test.ts +0 -38
- package/test/unit/data-structures/graph/directed-graph.more-branches-3.coverage.test.ts +0 -25
- package/test/unit/data-structures/graph/directed-graph.more-branches.coverage.test.ts +0 -82
- package/test/unit/data-structures/graph/directed-graph.test.ts +0 -1185
- package/test/unit/data-structures/graph/map-graph.more-branches.coverage.test.ts +0 -22
- package/test/unit/data-structures/graph/map-graph.test.ts +0 -148
- package/test/unit/data-structures/graph/overall.test.ts +0 -49
- package/test/unit/data-structures/graph/salty-edges.json +0 -875
- package/test/unit/data-structures/graph/salty-vertexes.json +0 -200
- package/test/unit/data-structures/graph/undirected-graph.more-branches-2.coverage.test.ts +0 -35
- package/test/unit/data-structures/graph/undirected-graph.more-branches.coverage.test.ts +0 -87
- package/test/unit/data-structures/graph/undirected-graph.test.ts +0 -782
- package/test/unit/data-structures/hash/hash-map.more-branches.coverage.test.ts +0 -64
- package/test/unit/data-structures/hash/hash-map.test.ts +0 -1125
- package/test/unit/data-structures/hash/hash-map.toEntryFn-branch.coverage.test.ts +0 -9
- package/test/unit/data-structures/heap/heap.misc-branches.coverage.test.ts +0 -110
- package/test/unit/data-structures/heap/heap.remaining-branches.coverage.test.ts +0 -22
- package/test/unit/data-structures/heap/heap.test.ts +0 -760
- package/test/unit/data-structures/heap/max-heap.coverage.test.ts +0 -29
- package/test/unit/data-structures/heap/max-heap.test.ts +0 -98
- package/test/unit/data-structures/heap/min-heap.test.ts +0 -117
- package/test/unit/data-structures/linked-list/doubly-linked-list.more-branches.coverage.test.ts +0 -72
- package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +0 -1150
- package/test/unit/data-structures/linked-list/linked-list.test.ts +0 -8
- package/test/unit/data-structures/linked-list/linked-list.unshiftMany-else.coverage.test.ts +0 -15
- package/test/unit/data-structures/linked-list/singly-linked-list.coverage.test.ts +0 -221
- package/test/unit/data-structures/linked-list/singly-linked-list.more-branches.coverage.test.ts +0 -86
- package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +0 -836
- package/test/unit/data-structures/linked-list/skip-linked-list.more-branches.coverage.test.ts +0 -31
- package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +0 -13
- package/test/unit/data-structures/linked-list/skip-list.test.ts +0 -86
- package/test/unit/data-structures/matrix/matrix.more-branches.coverage.test.ts +0 -81
- package/test/unit/data-structures/matrix/matrix.pivotElement-nullish.coverage.test.ts +0 -28
- package/test/unit/data-structures/matrix/matrix.test.ts +0 -377
- package/test/unit/data-structures/matrix/navigator.test.ts +0 -244
- package/test/unit/data-structures/priority-queue/max-priority-queue.more-branches.coverage.test.ts +0 -10
- package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +0 -160
- package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +0 -78
- package/test/unit/data-structures/priority-queue/priority-queue.coverage.test.ts +0 -21
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +0 -101
- package/test/unit/data-structures/queue/deque.coverage.test.ts +0 -173
- package/test/unit/data-structures/queue/deque.more-branches-2.coverage.test.ts +0 -39
- package/test/unit/data-structures/queue/deque.more-branches-3.coverage.test.ts +0 -9
- package/test/unit/data-structures/queue/deque.more-branches.coverage.test.ts +0 -95
- package/test/unit/data-structures/queue/deque.test.ts +0 -936
- package/test/unit/data-structures/queue/queue.coverage.test.ts +0 -138
- package/test/unit/data-structures/queue/queue.more-branches-2.coverage.test.ts +0 -27
- package/test/unit/data-structures/queue/queue.test.ts +0 -703
- package/test/unit/data-structures/stack/stack.coverage.test.ts +0 -112
- package/test/unit/data-structures/stack/stack.test.ts +0 -438
- package/test/unit/data-structures/tree/tree.more-branches.coverage.test.ts +0 -9
- package/test/unit/data-structures/tree/tree.test.ts +0 -58
- package/test/unit/data-structures/trie/trie.more-branches-2.coverage.test.ts +0 -51
- package/test/unit/data-structures/trie/trie.test.ts +0 -1181
- package/test/unit/unrestricted-interconversion.test.ts +0 -299
- package/test/unit/utils/utils.test.ts +0 -174
- package/test/utils/array.ts +0 -5517
- package/test/utils/big-o.ts +0 -228
- package/test/utils/console.ts +0 -31
- package/test/utils/index.ts +0 -8
- package/test/utils/is.ts +0 -56
- package/test/utils/json2html.ts +0 -164
- package/test/utils/number.ts +0 -13
- package/test/utils/patch.ts +0 -33
- package/test/utils/perf.mjs +0 -34
- package/test/utils/performanc.ts +0 -7
- package/test/utils/string.ts +0 -49
- package/tsconfig.types.json +0 -15
- package/tsup.config.js +0 -63
- package/tsup.umd.config.js +0 -29
package/dist/esm/index.mjs
CHANGED
|
@@ -11858,17 +11858,30 @@ var TreeSet = class _TreeSet {
|
|
|
11858
11858
|
#isDefaultComparator;
|
|
11859
11859
|
#userComparator;
|
|
11860
11860
|
/**
|
|
11861
|
-
* Create a TreeSet from an iterable of keys.
|
|
11861
|
+
* Create a TreeSet from an iterable of keys or raw elements.
|
|
11862
11862
|
*
|
|
11863
|
+
* @param elements - Iterable of keys, or raw elements if `toElementFn` is provided.
|
|
11864
|
+
* @param options - Configuration options including optional `toElementFn` to transform raw elements.
|
|
11863
11865
|
* @throws {TypeError} When using the default comparator and encountering unsupported key types,
|
|
11864
11866
|
* or invalid keys (e.g. `NaN`, invalid `Date`).
|
|
11867
|
+
* @example
|
|
11868
|
+
* // Standard usage with keys
|
|
11869
|
+
* const set = new TreeSet([3, 1, 2]);
|
|
11870
|
+
*
|
|
11871
|
+
* // Using toElementFn to transform raw objects
|
|
11872
|
+
* const users = [{ id: 3, name: 'Alice' }, { id: 1, name: 'Bob' }];
|
|
11873
|
+
* const set = new TreeSet<number, User>(users, { toElementFn: u => u.id });
|
|
11865
11874
|
*/
|
|
11866
11875
|
constructor(elements = [], options = {}) {
|
|
11867
11876
|
this.#userComparator = options.comparator;
|
|
11877
|
+
const toElementFn = options.toElementFn;
|
|
11868
11878
|
const comparator = options.comparator ?? _TreeSet.createDefaultComparator();
|
|
11869
11879
|
this.#isDefaultComparator = options.comparator === void 0;
|
|
11870
11880
|
this.#core = new RedBlackTree([], { comparator, isMapMode: options.isMapMode });
|
|
11871
|
-
for (const
|
|
11881
|
+
for (const item of elements) {
|
|
11882
|
+
const k = toElementFn ? toElementFn(item) : item;
|
|
11883
|
+
this.add(k);
|
|
11884
|
+
}
|
|
11872
11885
|
}
|
|
11873
11886
|
/**
|
|
11874
11887
|
* Create the strict default comparator.
|
|
@@ -12179,16 +12192,34 @@ var TreeMultiMap = class _TreeMultiMap {
|
|
|
12179
12192
|
#isDefaultComparator;
|
|
12180
12193
|
/**
|
|
12181
12194
|
* Creates a new TreeMultiMap.
|
|
12182
|
-
* @param keysNodesEntriesOrRaws - Initial entries
|
|
12183
|
-
* @param options - Configuration options
|
|
12195
|
+
* @param keysNodesEntriesOrRaws - Initial entries, or raw elements if `toEntryFn` is provided.
|
|
12196
|
+
* @param options - Configuration options including optional `toEntryFn` to transform raw elements.
|
|
12184
12197
|
* @remarks Time O(m log m), Space O(m) where m is the number of initial entries
|
|
12198
|
+
* @example
|
|
12199
|
+
* // Standard usage with entries
|
|
12200
|
+
* const mmap = new TreeMultiMap([['a', ['x', 'y']], ['b', ['z']]]);
|
|
12201
|
+
*
|
|
12202
|
+
* // Using toEntryFn to transform raw objects
|
|
12203
|
+
* const players = [{ score: 100, items: ['sword'] }, { score: 200, items: ['shield', 'bow'] }];
|
|
12204
|
+
* const mmap = new TreeMultiMap(players, { toEntryFn: p => [p.score, p.items] });
|
|
12185
12205
|
*/
|
|
12186
12206
|
constructor(keysNodesEntriesOrRaws = [], options = {}) {
|
|
12187
12207
|
const comparator = options.comparator ?? TreeSet.createDefaultComparator();
|
|
12188
12208
|
this.#isDefaultComparator = options.comparator === void 0;
|
|
12209
|
+
const toEntryFn = options.toEntryFn;
|
|
12189
12210
|
this.#core = new RedBlackTree([], { ...options, comparator, isMapMode: options.isMapMode });
|
|
12190
12211
|
for (const x of keysNodesEntriesOrRaws) {
|
|
12191
12212
|
if (x === null || x === void 0) continue;
|
|
12213
|
+
if (toEntryFn) {
|
|
12214
|
+
const [k, bucket] = toEntryFn(x);
|
|
12215
|
+
if (k === null || k === void 0) continue;
|
|
12216
|
+
if (bucket !== void 0) {
|
|
12217
|
+
this.#core.set(k, Array.isArray(bucket) ? [...bucket] : [bucket]);
|
|
12218
|
+
} else {
|
|
12219
|
+
this.#core.set(k, []);
|
|
12220
|
+
}
|
|
12221
|
+
continue;
|
|
12222
|
+
}
|
|
12192
12223
|
if (Array.isArray(x)) {
|
|
12193
12224
|
const [k, bucket] = x;
|
|
12194
12225
|
if (k === null || k === void 0) continue;
|
|
@@ -12524,8 +12555,8 @@ var TreeMultiMap = class _TreeMultiMap {
|
|
|
12524
12555
|
* Prints the internal tree structure (for debugging).
|
|
12525
12556
|
* @remarks Time O(n), Space O(n)
|
|
12526
12557
|
*/
|
|
12527
|
-
print(
|
|
12528
|
-
|
|
12558
|
+
print() {
|
|
12559
|
+
this.#core.print();
|
|
12529
12560
|
}
|
|
12530
12561
|
/**
|
|
12531
12562
|
* Executes a callback for each entry.
|
|
@@ -12576,7 +12607,7 @@ var TreeMultiMap = class _TreeMultiMap {
|
|
|
12576
12607
|
setMany(keysNodesEntriesOrRaws) {
|
|
12577
12608
|
const results = [];
|
|
12578
12609
|
for (const x of keysNodesEntriesOrRaws) {
|
|
12579
|
-
results.push(this.set(x
|
|
12610
|
+
results.push(this.set(x));
|
|
12580
12611
|
}
|
|
12581
12612
|
return results;
|
|
12582
12613
|
}
|
|
@@ -12584,22 +12615,22 @@ var TreeMultiMap = class _TreeMultiMap {
|
|
|
12584
12615
|
* Searches for entries within a key range.
|
|
12585
12616
|
* @remarks Time O(log n + k), Space O(k) where k is result size
|
|
12586
12617
|
*/
|
|
12587
|
-
rangeSearch(range, callback
|
|
12588
|
-
return this.#core.rangeSearch(range, callback
|
|
12618
|
+
rangeSearch(range, callback) {
|
|
12619
|
+
return this.#core.rangeSearch(range, callback);
|
|
12589
12620
|
}
|
|
12590
12621
|
/**
|
|
12591
12622
|
* Creates a shallow clone of this map.
|
|
12592
12623
|
* @remarks Time O(n log n), Space O(n)
|
|
12593
12624
|
*/
|
|
12594
12625
|
clone() {
|
|
12595
|
-
return new _TreeMultiMap(this, { comparator: this.comparator, isMapMode: this.#core.
|
|
12626
|
+
return new _TreeMultiMap(this, { comparator: this.comparator, isMapMode: this.#core.isMapMode });
|
|
12596
12627
|
}
|
|
12597
12628
|
/**
|
|
12598
12629
|
* Expose comparator for advanced usage/testing (read-only).
|
|
12599
12630
|
* @remarks Time O(1), Space O(1)
|
|
12600
12631
|
*/
|
|
12601
12632
|
get comparator() {
|
|
12602
|
-
return this.#core.
|
|
12633
|
+
return this.#core.comparator;
|
|
12603
12634
|
}
|
|
12604
12635
|
};
|
|
12605
12636
|
|
|
@@ -12612,22 +12643,38 @@ var TreeMap = class _TreeMap {
|
|
|
12612
12643
|
#isDefaultComparator;
|
|
12613
12644
|
#userComparator;
|
|
12614
12645
|
/**
|
|
12615
|
-
* Create a TreeMap from an iterable of `[key, value]` entries.
|
|
12646
|
+
* Create a TreeMap from an iterable of `[key, value]` entries or raw elements.
|
|
12647
|
+
*
|
|
12648
|
+
* @param entries - Iterable of `[key, value]` tuples, or raw elements if `toEntryFn` is provided.
|
|
12649
|
+
* @param options - Configuration options including optional `toEntryFn` to transform raw elements.
|
|
12650
|
+
* @throws {TypeError} If any entry is not a 2-tuple-like value (when no toEntryFn), or when using
|
|
12651
|
+
* the default comparator and encountering unsupported/invalid keys (e.g. `NaN`, invalid `Date`).
|
|
12652
|
+
* @example
|
|
12653
|
+
* // Standard usage with entries
|
|
12654
|
+
* const map = new TreeMap([['a', 1], ['b', 2]]);
|
|
12616
12655
|
*
|
|
12617
|
-
*
|
|
12618
|
-
*
|
|
12656
|
+
* // Using toEntryFn to transform raw objects
|
|
12657
|
+
* const users = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
|
|
12658
|
+
* const map = new TreeMap<number, User, User>(users, { toEntryFn: u => [u.id, u] });
|
|
12619
12659
|
*/
|
|
12620
12660
|
constructor(entries = [], options = {}) {
|
|
12621
12661
|
this.#userComparator = options.comparator;
|
|
12662
|
+
const toEntryFn = options.toEntryFn;
|
|
12622
12663
|
const comparator = options.comparator ?? _TreeMap.createDefaultComparator();
|
|
12623
12664
|
this.#isDefaultComparator = options.comparator === void 0;
|
|
12624
12665
|
this.#core = new RedBlackTree([], { comparator, isMapMode: options.isMapMode });
|
|
12625
12666
|
for (const item of entries) {
|
|
12626
|
-
|
|
12627
|
-
|
|
12667
|
+
let k;
|
|
12668
|
+
let v;
|
|
12669
|
+
if (toEntryFn) {
|
|
12670
|
+
[k, v] = toEntryFn(item);
|
|
12671
|
+
} else {
|
|
12672
|
+
if (!Array.isArray(item) || item.length < 2) {
|
|
12673
|
+
throw new TypeError("TreeMap: each entry must be a [key, value] tuple");
|
|
12674
|
+
}
|
|
12675
|
+
k = item[0];
|
|
12676
|
+
v = item[1];
|
|
12628
12677
|
}
|
|
12629
|
-
const k = item[0];
|
|
12630
|
-
const v = item[1];
|
|
12631
12678
|
this.set(k, v);
|
|
12632
12679
|
}
|
|
12633
12680
|
}
|
|
@@ -12953,15 +13000,26 @@ var TreeMultiSet = class _TreeMultiSet {
|
|
|
12953
13000
|
// total occurrences (sumCounts)
|
|
12954
13001
|
/**
|
|
12955
13002
|
* Creates a new TreeMultiSet.
|
|
12956
|
-
* @param elements - Initial elements to add
|
|
12957
|
-
* @param options - Configuration options
|
|
13003
|
+
* @param elements - Initial elements to add, or raw elements if `toElementFn` is provided.
|
|
13004
|
+
* @param options - Configuration options including optional `toElementFn` to transform raw elements.
|
|
12958
13005
|
* @remarks Time O(m log m), Space O(m) where m is the number of initial elements
|
|
13006
|
+
* @example
|
|
13007
|
+
* // Standard usage with elements
|
|
13008
|
+
* const mset = new TreeMultiSet([1, 2, 2, 3]);
|
|
13009
|
+
*
|
|
13010
|
+
* // Using toElementFn to transform raw objects
|
|
13011
|
+
* const items = [{ score: 100 }, { score: 200 }, { score: 100 }];
|
|
13012
|
+
* const mset = new TreeMultiSet<number, Item>(items, { toElementFn: item => item.score });
|
|
12959
13013
|
*/
|
|
12960
13014
|
constructor(elements = [], options = {}) {
|
|
13015
|
+
const toElementFn = options.toElementFn;
|
|
12961
13016
|
const comparator = options.comparator ?? TreeSet.createDefaultComparator();
|
|
12962
13017
|
this.#isDefaultComparator = options.comparator === void 0;
|
|
12963
13018
|
this.#core = new RedBlackTree([], { comparator, isMapMode: options.isMapMode });
|
|
12964
|
-
for (const
|
|
13019
|
+
for (const item of elements) {
|
|
13020
|
+
const k = toElementFn ? toElementFn(item) : item;
|
|
13021
|
+
this.add(k);
|
|
13022
|
+
}
|
|
12965
13023
|
}
|
|
12966
13024
|
/**
|
|
12967
13025
|
* Validates the key against the default comparator rules.
|
|
@@ -14299,20 +14357,17 @@ var Trie = class extends IterableElementBase {
|
|
|
14299
14357
|
prefix = this._caseProcess(prefix);
|
|
14300
14358
|
const words = [];
|
|
14301
14359
|
let found = 0;
|
|
14302
|
-
|
|
14303
|
-
for (const char of node.children
|
|
14304
|
-
|
|
14305
|
-
|
|
14306
|
-
dfs(charNode, word.concat(char));
|
|
14307
|
-
}
|
|
14360
|
+
const dfs = /* @__PURE__ */ __name((node, word) => {
|
|
14361
|
+
for (const [char, childNode] of node.children) {
|
|
14362
|
+
if (found >= max) return;
|
|
14363
|
+
dfs(childNode, word + char);
|
|
14308
14364
|
}
|
|
14309
14365
|
if (node.isEnd) {
|
|
14310
|
-
if (found
|
|
14366
|
+
if (found >= max) return;
|
|
14311
14367
|
words.push(word);
|
|
14312
14368
|
found++;
|
|
14313
14369
|
}
|
|
14314
|
-
}
|
|
14315
|
-
__name(dfs, "dfs");
|
|
14370
|
+
}, "dfs");
|
|
14316
14371
|
let startNode = this.root;
|
|
14317
14372
|
if (prefix) {
|
|
14318
14373
|
for (const c of prefix) {
|
|
@@ -11845,10 +11845,19 @@ var RedBlackTree = _RedBlackTree;
|
|
|
11845
11845
|
var _core, _isDefaultComparator, _userComparator;
|
|
11846
11846
|
var _TreeSet = class _TreeSet {
|
|
11847
11847
|
/**
|
|
11848
|
-
* Create a TreeSet from an iterable of keys.
|
|
11848
|
+
* Create a TreeSet from an iterable of keys or raw elements.
|
|
11849
11849
|
*
|
|
11850
|
+
* @param elements - Iterable of keys, or raw elements if `toElementFn` is provided.
|
|
11851
|
+
* @param options - Configuration options including optional `toElementFn` to transform raw elements.
|
|
11850
11852
|
* @throws {TypeError} When using the default comparator and encountering unsupported key types,
|
|
11851
11853
|
* or invalid keys (e.g. `NaN`, invalid `Date`).
|
|
11854
|
+
* @example
|
|
11855
|
+
* // Standard usage with keys
|
|
11856
|
+
* const set = new TreeSet([3, 1, 2]);
|
|
11857
|
+
*
|
|
11858
|
+
* // Using toElementFn to transform raw objects
|
|
11859
|
+
* const users = [{ id: 3, name: 'Alice' }, { id: 1, name: 'Bob' }];
|
|
11860
|
+
* const set = new TreeSet<number, User>(users, { toElementFn: u => u.id });
|
|
11852
11861
|
*/
|
|
11853
11862
|
constructor(elements = [], options = {}) {
|
|
11854
11863
|
__privateAdd(this, _core);
|
|
@@ -11856,10 +11865,14 @@ var _TreeSet = class _TreeSet {
|
|
|
11856
11865
|
__privateAdd(this, _userComparator);
|
|
11857
11866
|
var _a;
|
|
11858
11867
|
__privateSet(this, _userComparator, options.comparator);
|
|
11868
|
+
const toElementFn = options.toElementFn;
|
|
11859
11869
|
const comparator = (_a = options.comparator) != null ? _a : _TreeSet.createDefaultComparator();
|
|
11860
11870
|
__privateSet(this, _isDefaultComparator, options.comparator === void 0);
|
|
11861
11871
|
__privateSet(this, _core, new RedBlackTree([], { comparator, isMapMode: options.isMapMode }));
|
|
11862
|
-
for (const
|
|
11872
|
+
for (const item of elements) {
|
|
11873
|
+
const k = toElementFn ? toElementFn(item) : item;
|
|
11874
|
+
this.add(k);
|
|
11875
|
+
}
|
|
11863
11876
|
}
|
|
11864
11877
|
/**
|
|
11865
11878
|
* Create the strict default comparator.
|
|
@@ -12171,9 +12184,16 @@ var _core2, _isDefaultComparator2;
|
|
|
12171
12184
|
var _TreeMultiMap = class _TreeMultiMap {
|
|
12172
12185
|
/**
|
|
12173
12186
|
* Creates a new TreeMultiMap.
|
|
12174
|
-
* @param keysNodesEntriesOrRaws - Initial entries
|
|
12175
|
-
* @param options - Configuration options
|
|
12187
|
+
* @param keysNodesEntriesOrRaws - Initial entries, or raw elements if `toEntryFn` is provided.
|
|
12188
|
+
* @param options - Configuration options including optional `toEntryFn` to transform raw elements.
|
|
12176
12189
|
* @remarks Time O(m log m), Space O(m) where m is the number of initial entries
|
|
12190
|
+
* @example
|
|
12191
|
+
* // Standard usage with entries
|
|
12192
|
+
* const mmap = new TreeMultiMap([['a', ['x', 'y']], ['b', ['z']]]);
|
|
12193
|
+
*
|
|
12194
|
+
* // Using toEntryFn to transform raw objects
|
|
12195
|
+
* const players = [{ score: 100, items: ['sword'] }, { score: 200, items: ['shield', 'bow'] }];
|
|
12196
|
+
* const mmap = new TreeMultiMap(players, { toEntryFn: p => [p.score, p.items] });
|
|
12177
12197
|
*/
|
|
12178
12198
|
constructor(keysNodesEntriesOrRaws = [], options = {}) {
|
|
12179
12199
|
__privateAdd(this, _core2);
|
|
@@ -12181,9 +12201,20 @@ var _TreeMultiMap = class _TreeMultiMap {
|
|
|
12181
12201
|
var _a;
|
|
12182
12202
|
const comparator = (_a = options.comparator) != null ? _a : TreeSet.createDefaultComparator();
|
|
12183
12203
|
__privateSet(this, _isDefaultComparator2, options.comparator === void 0);
|
|
12204
|
+
const toEntryFn = options.toEntryFn;
|
|
12184
12205
|
__privateSet(this, _core2, new RedBlackTree([], { ...options, comparator, isMapMode: options.isMapMode }));
|
|
12185
12206
|
for (const x of keysNodesEntriesOrRaws) {
|
|
12186
12207
|
if (x === null || x === void 0) continue;
|
|
12208
|
+
if (toEntryFn) {
|
|
12209
|
+
const [k, bucket] = toEntryFn(x);
|
|
12210
|
+
if (k === null || k === void 0) continue;
|
|
12211
|
+
if (bucket !== void 0) {
|
|
12212
|
+
__privateGet(this, _core2).set(k, Array.isArray(bucket) ? [...bucket] : [bucket]);
|
|
12213
|
+
} else {
|
|
12214
|
+
__privateGet(this, _core2).set(k, []);
|
|
12215
|
+
}
|
|
12216
|
+
continue;
|
|
12217
|
+
}
|
|
12187
12218
|
if (Array.isArray(x)) {
|
|
12188
12219
|
const [k, bucket] = x;
|
|
12189
12220
|
if (k === null || k === void 0) continue;
|
|
@@ -12519,8 +12550,8 @@ var _TreeMultiMap = class _TreeMultiMap {
|
|
|
12519
12550
|
* Prints the internal tree structure (for debugging).
|
|
12520
12551
|
* @remarks Time O(n), Space O(n)
|
|
12521
12552
|
*/
|
|
12522
|
-
print(
|
|
12523
|
-
|
|
12553
|
+
print() {
|
|
12554
|
+
__privateGet(this, _core2).print();
|
|
12524
12555
|
}
|
|
12525
12556
|
/**
|
|
12526
12557
|
* Executes a callback for each entry.
|
|
@@ -12571,7 +12602,7 @@ var _TreeMultiMap = class _TreeMultiMap {
|
|
|
12571
12602
|
setMany(keysNodesEntriesOrRaws) {
|
|
12572
12603
|
const results = [];
|
|
12573
12604
|
for (const x of keysNodesEntriesOrRaws) {
|
|
12574
|
-
results.push(this.set(x
|
|
12605
|
+
results.push(this.set(x));
|
|
12575
12606
|
}
|
|
12576
12607
|
return results;
|
|
12577
12608
|
}
|
|
@@ -12579,22 +12610,22 @@ var _TreeMultiMap = class _TreeMultiMap {
|
|
|
12579
12610
|
* Searches for entries within a key range.
|
|
12580
12611
|
* @remarks Time O(log n + k), Space O(k) where k is result size
|
|
12581
12612
|
*/
|
|
12582
|
-
rangeSearch(range, callback
|
|
12583
|
-
return __privateGet(this, _core2).rangeSearch(range, callback
|
|
12613
|
+
rangeSearch(range, callback) {
|
|
12614
|
+
return __privateGet(this, _core2).rangeSearch(range, callback);
|
|
12584
12615
|
}
|
|
12585
12616
|
/**
|
|
12586
12617
|
* Creates a shallow clone of this map.
|
|
12587
12618
|
* @remarks Time O(n log n), Space O(n)
|
|
12588
12619
|
*/
|
|
12589
12620
|
clone() {
|
|
12590
|
-
return new _TreeMultiMap(this, { comparator: this.comparator, isMapMode: __privateGet(this, _core2).
|
|
12621
|
+
return new _TreeMultiMap(this, { comparator: this.comparator, isMapMode: __privateGet(this, _core2).isMapMode });
|
|
12591
12622
|
}
|
|
12592
12623
|
/**
|
|
12593
12624
|
* Expose comparator for advanced usage/testing (read-only).
|
|
12594
12625
|
* @remarks Time O(1), Space O(1)
|
|
12595
12626
|
*/
|
|
12596
12627
|
get comparator() {
|
|
12597
|
-
return __privateGet(this, _core2).
|
|
12628
|
+
return __privateGet(this, _core2).comparator;
|
|
12598
12629
|
}
|
|
12599
12630
|
};
|
|
12600
12631
|
_core2 = new WeakMap();
|
|
@@ -12606,10 +12637,19 @@ var TreeMultiMap = _TreeMultiMap;
|
|
|
12606
12637
|
var _core3, _isDefaultComparator3, _userComparator2;
|
|
12607
12638
|
var _TreeMap = class _TreeMap {
|
|
12608
12639
|
/**
|
|
12609
|
-
* Create a TreeMap from an iterable of `[key, value]` entries.
|
|
12640
|
+
* Create a TreeMap from an iterable of `[key, value]` entries or raw elements.
|
|
12641
|
+
*
|
|
12642
|
+
* @param entries - Iterable of `[key, value]` tuples, or raw elements if `toEntryFn` is provided.
|
|
12643
|
+
* @param options - Configuration options including optional `toEntryFn` to transform raw elements.
|
|
12644
|
+
* @throws {TypeError} If any entry is not a 2-tuple-like value (when no toEntryFn), or when using
|
|
12645
|
+
* the default comparator and encountering unsupported/invalid keys (e.g. `NaN`, invalid `Date`).
|
|
12646
|
+
* @example
|
|
12647
|
+
* // Standard usage with entries
|
|
12648
|
+
* const map = new TreeMap([['a', 1], ['b', 2]]);
|
|
12610
12649
|
*
|
|
12611
|
-
*
|
|
12612
|
-
*
|
|
12650
|
+
* // Using toEntryFn to transform raw objects
|
|
12651
|
+
* const users = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
|
|
12652
|
+
* const map = new TreeMap<number, User, User>(users, { toEntryFn: u => [u.id, u] });
|
|
12613
12653
|
*/
|
|
12614
12654
|
constructor(entries = [], options = {}) {
|
|
12615
12655
|
__privateAdd(this, _core3);
|
|
@@ -12617,15 +12657,22 @@ var _TreeMap = class _TreeMap {
|
|
|
12617
12657
|
__privateAdd(this, _userComparator2);
|
|
12618
12658
|
var _a;
|
|
12619
12659
|
__privateSet(this, _userComparator2, options.comparator);
|
|
12660
|
+
const toEntryFn = options.toEntryFn;
|
|
12620
12661
|
const comparator = (_a = options.comparator) != null ? _a : _TreeMap.createDefaultComparator();
|
|
12621
12662
|
__privateSet(this, _isDefaultComparator3, options.comparator === void 0);
|
|
12622
12663
|
__privateSet(this, _core3, new RedBlackTree([], { comparator, isMapMode: options.isMapMode }));
|
|
12623
12664
|
for (const item of entries) {
|
|
12624
|
-
|
|
12625
|
-
|
|
12665
|
+
let k;
|
|
12666
|
+
let v;
|
|
12667
|
+
if (toEntryFn) {
|
|
12668
|
+
[k, v] = toEntryFn(item);
|
|
12669
|
+
} else {
|
|
12670
|
+
if (!Array.isArray(item) || item.length < 2) {
|
|
12671
|
+
throw new TypeError("TreeMap: each entry must be a [key, value] tuple");
|
|
12672
|
+
}
|
|
12673
|
+
k = item[0];
|
|
12674
|
+
v = item[1];
|
|
12626
12675
|
}
|
|
12627
|
-
const k = item[0];
|
|
12628
|
-
const v = item[1];
|
|
12629
12676
|
this.set(k, v);
|
|
12630
12677
|
}
|
|
12631
12678
|
}
|
|
@@ -12952,19 +12999,30 @@ var _TreeMultiSet = class _TreeMultiSet {
|
|
|
12952
12999
|
// total occurrences (sumCounts)
|
|
12953
13000
|
/**
|
|
12954
13001
|
* Creates a new TreeMultiSet.
|
|
12955
|
-
* @param elements - Initial elements to add
|
|
12956
|
-
* @param options - Configuration options
|
|
13002
|
+
* @param elements - Initial elements to add, or raw elements if `toElementFn` is provided.
|
|
13003
|
+
* @param options - Configuration options including optional `toElementFn` to transform raw elements.
|
|
12957
13004
|
* @remarks Time O(m log m), Space O(m) where m is the number of initial elements
|
|
13005
|
+
* @example
|
|
13006
|
+
* // Standard usage with elements
|
|
13007
|
+
* const mset = new TreeMultiSet([1, 2, 2, 3]);
|
|
13008
|
+
*
|
|
13009
|
+
* // Using toElementFn to transform raw objects
|
|
13010
|
+
* const items = [{ score: 100 }, { score: 200 }, { score: 100 }];
|
|
13011
|
+
* const mset = new TreeMultiSet<number, Item>(items, { toElementFn: item => item.score });
|
|
12958
13012
|
*/
|
|
12959
13013
|
constructor(elements = [], options = {}) {
|
|
12960
13014
|
__privateAdd(this, _core4);
|
|
12961
13015
|
__privateAdd(this, _isDefaultComparator4);
|
|
12962
13016
|
__publicField(this, "_size", 0);
|
|
12963
13017
|
var _a;
|
|
13018
|
+
const toElementFn = options.toElementFn;
|
|
12964
13019
|
const comparator = (_a = options.comparator) != null ? _a : TreeSet.createDefaultComparator();
|
|
12965
13020
|
__privateSet(this, _isDefaultComparator4, options.comparator === void 0);
|
|
12966
13021
|
__privateSet(this, _core4, new RedBlackTree([], { comparator, isMapMode: options.isMapMode }));
|
|
12967
|
-
for (const
|
|
13022
|
+
for (const item of elements) {
|
|
13023
|
+
const k = toElementFn ? toElementFn(item) : item;
|
|
13024
|
+
this.add(k);
|
|
13025
|
+
}
|
|
12968
13026
|
}
|
|
12969
13027
|
/**
|
|
12970
13028
|
* Validates the key against the default comparator rules.
|
|
@@ -14303,20 +14361,17 @@ var _Trie = class _Trie extends IterableElementBase {
|
|
|
14303
14361
|
prefix = this._caseProcess(prefix);
|
|
14304
14362
|
const words = [];
|
|
14305
14363
|
let found = 0;
|
|
14306
|
-
|
|
14307
|
-
for (const char of node.children
|
|
14308
|
-
|
|
14309
|
-
|
|
14310
|
-
dfs(charNode, word.concat(char));
|
|
14311
|
-
}
|
|
14364
|
+
const dfs = /* @__PURE__ */ __name((node, word) => {
|
|
14365
|
+
for (const [char, childNode] of node.children) {
|
|
14366
|
+
if (found >= max) return;
|
|
14367
|
+
dfs(childNode, word + char);
|
|
14312
14368
|
}
|
|
14313
14369
|
if (node.isEnd) {
|
|
14314
|
-
if (found
|
|
14370
|
+
if (found >= max) return;
|
|
14315
14371
|
words.push(word);
|
|
14316
14372
|
found++;
|
|
14317
14373
|
}
|
|
14318
|
-
}
|
|
14319
|
-
__name(dfs, "dfs");
|
|
14374
|
+
}, "dfs");
|
|
14320
14375
|
let startNode = this.root;
|
|
14321
14376
|
if (prefix) {
|
|
14322
14377
|
for (const c of prefix) {
|
|
@@ -14,15 +14,24 @@ import type { TreeMapEntryCallback, TreeMapOptions, TreeMapRangeOptions, TreeMap
|
|
|
14
14
|
* - Iteration order is ascending by key.
|
|
15
15
|
* - No node exposure: all APIs use keys/values only.
|
|
16
16
|
*/
|
|
17
|
-
export declare class TreeMap<K = any, V = any> implements Iterable<[K, V | undefined]> {
|
|
17
|
+
export declare class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | undefined]> {
|
|
18
18
|
#private;
|
|
19
19
|
/**
|
|
20
|
-
* Create a TreeMap from an iterable of `[key, value]` entries.
|
|
20
|
+
* Create a TreeMap from an iterable of `[key, value]` entries or raw elements.
|
|
21
21
|
*
|
|
22
|
-
* @
|
|
23
|
-
*
|
|
22
|
+
* @param entries - Iterable of `[key, value]` tuples, or raw elements if `toEntryFn` is provided.
|
|
23
|
+
* @param options - Configuration options including optional `toEntryFn` to transform raw elements.
|
|
24
|
+
* @throws {TypeError} If any entry is not a 2-tuple-like value (when no toEntryFn), or when using
|
|
25
|
+
* the default comparator and encountering unsupported/invalid keys (e.g. `NaN`, invalid `Date`).
|
|
26
|
+
* @example
|
|
27
|
+
* // Standard usage with entries
|
|
28
|
+
* const map = new TreeMap([['a', 1], ['b', 2]]);
|
|
29
|
+
*
|
|
30
|
+
* // Using toEntryFn to transform raw objects
|
|
31
|
+
* const users = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
|
|
32
|
+
* const map = new TreeMap<number, User, User>(users, { toEntryFn: u => [u.id, u] });
|
|
24
33
|
*/
|
|
25
|
-
constructor(entries?: Iterable<[K, V | undefined]>, options?: TreeMapOptions<K>);
|
|
34
|
+
constructor(entries?: Iterable<R> | Iterable<[K, V | undefined]>, options?: TreeMapOptions<K, V, R>);
|
|
26
35
|
/**
|
|
27
36
|
* Create the strict default comparator.
|
|
28
37
|
*
|
|
@@ -98,7 +107,9 @@ export declare class TreeMap<K = any, V = any> implements Iterable<[K, V | undef
|
|
|
98
107
|
* This mirrors `RedBlackTree.map`: mapping produces a new ordered container.
|
|
99
108
|
* @remarks Time O(n log n) expected, Space O(n)
|
|
100
109
|
*/
|
|
101
|
-
map<MK, MV>(callbackfn: TreeMapEntryCallback<K, V, [MK, MV], TreeMap<K, V>>, options?: TreeMapOptions<MK>,
|
|
110
|
+
map<MK, MV>(callbackfn: TreeMapEntryCallback<K, V, [MK, MV], TreeMap<K, V>>, options?: Omit<TreeMapOptions<MK, MV>, 'toEntryFn'> & {
|
|
111
|
+
comparator?: (a: MK, b: MK) => number;
|
|
112
|
+
}, thisArg?: unknown): TreeMap<MK, MV>;
|
|
102
113
|
/**
|
|
103
114
|
* Create a new TreeMap containing only entries that satisfy the predicate.
|
|
104
115
|
* @remarks Time O(n log n) expected, Space O(n)
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @license MIT License
|
|
7
7
|
*/
|
|
8
8
|
import type { Comparator, TreeMultiMapOptions } from '../../types';
|
|
9
|
+
import { Range } from '../../common';
|
|
9
10
|
import { RedBlackTreeNode } from './red-black-tree';
|
|
10
11
|
/**
|
|
11
12
|
* Node type used by TreeMultiMap (alias to RedBlackTreeNode for backward compatibility).
|
|
@@ -192,9 +193,16 @@ export declare class TreeMultiMap<K = any, V = any, R = any> implements Iterable
|
|
|
192
193
|
#private;
|
|
193
194
|
/**
|
|
194
195
|
* Creates a new TreeMultiMap.
|
|
195
|
-
* @param keysNodesEntriesOrRaws - Initial entries
|
|
196
|
-
* @param options - Configuration options
|
|
196
|
+
* @param keysNodesEntriesOrRaws - Initial entries, or raw elements if `toEntryFn` is provided.
|
|
197
|
+
* @param options - Configuration options including optional `toEntryFn` to transform raw elements.
|
|
197
198
|
* @remarks Time O(m log m), Space O(m) where m is the number of initial entries
|
|
199
|
+
* @example
|
|
200
|
+
* // Standard usage with entries
|
|
201
|
+
* const mmap = new TreeMultiMap([['a', ['x', 'y']], ['b', ['z']]]);
|
|
202
|
+
*
|
|
203
|
+
* // Using toEntryFn to transform raw objects
|
|
204
|
+
* const players = [{ score: 100, items: ['sword'] }, { score: 200, items: ['shield', 'bow'] }];
|
|
205
|
+
* const mmap = new TreeMultiMap(players, { toEntryFn: p => [p.score, p.items] });
|
|
198
206
|
*/
|
|
199
207
|
constructor(keysNodesEntriesOrRaws?: Iterable<K | [K | null | undefined, V[] | undefined] | null | undefined | R>, options?: TreeMultiMapOptions<K, V[], R>);
|
|
200
208
|
/**
|
|
@@ -372,7 +380,7 @@ export declare class TreeMultiMap<K = any, V = any, R = any> implements Iterable
|
|
|
372
380
|
* Prints the internal tree structure (for debugging).
|
|
373
381
|
* @remarks Time O(n), Space O(n)
|
|
374
382
|
*/
|
|
375
|
-
print(
|
|
383
|
+
print(): void;
|
|
376
384
|
/**
|
|
377
385
|
* Executes a callback for each entry.
|
|
378
386
|
* @remarks Time O(n), Space O(1)
|
|
@@ -397,12 +405,12 @@ export declare class TreeMultiMap<K = any, V = any, R = any> implements Iterable
|
|
|
397
405
|
* Sets multiple entries at once.
|
|
398
406
|
* @remarks Time O(m log n), Space O(m) where m is input size
|
|
399
407
|
*/
|
|
400
|
-
setMany(keysNodesEntriesOrRaws: Iterable<
|
|
408
|
+
setMany(keysNodesEntriesOrRaws: Iterable<K | [K | null | undefined, V[] | undefined]>): boolean[];
|
|
401
409
|
/**
|
|
402
410
|
* Searches for entries within a key range.
|
|
403
411
|
* @remarks Time O(log n + k), Space O(k) where k is result size
|
|
404
412
|
*/
|
|
405
|
-
rangeSearch<C extends (node: RedBlackTreeNode<K, V[]>) =>
|
|
413
|
+
rangeSearch<C extends (node: RedBlackTreeNode<K, V[]>) => unknown>(range: Range<K> | [K, K], callback?: C): ReturnType<C>[];
|
|
406
414
|
/**
|
|
407
415
|
* Creates a shallow clone of this map.
|
|
408
416
|
* @remarks Time O(n log n), Space O(n)
|
|
@@ -8,16 +8,23 @@
|
|
|
8
8
|
* - `delete(x)` removes one occurrence by default
|
|
9
9
|
*/
|
|
10
10
|
import type { Comparator, TreeMultiSetOptions } from '../../types';
|
|
11
|
-
export declare class TreeMultiSet<K = any> implements Iterable<K> {
|
|
11
|
+
export declare class TreeMultiSet<K = any, R = K> implements Iterable<K> {
|
|
12
12
|
#private;
|
|
13
13
|
private _size;
|
|
14
14
|
/**
|
|
15
15
|
* Creates a new TreeMultiSet.
|
|
16
|
-
* @param elements - Initial elements to add
|
|
17
|
-
* @param options - Configuration options
|
|
16
|
+
* @param elements - Initial elements to add, or raw elements if `toElementFn` is provided.
|
|
17
|
+
* @param options - Configuration options including optional `toElementFn` to transform raw elements.
|
|
18
18
|
* @remarks Time O(m log m), Space O(m) where m is the number of initial elements
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
* @example
|
|
20
|
+
* // Standard usage with elements
|
|
21
|
+
* const mset = new TreeMultiSet([1, 2, 2, 3]);
|
|
22
|
+
*
|
|
23
|
+
* // Using toElementFn to transform raw objects
|
|
24
|
+
* const items = [{ score: 100 }, { score: 200 }, { score: 100 }];
|
|
25
|
+
* const mset = new TreeMultiSet<number, Item>(items, { toElementFn: item => item.score });
|
|
26
|
+
*/
|
|
27
|
+
constructor(elements?: Iterable<R> | Iterable<K>, options?: TreeMultiSetOptions<K, R>);
|
|
21
28
|
/**
|
|
22
29
|
* Validates the key against the default comparator rules.
|
|
23
30
|
* @remarks Time O(1), Space O(1)
|
|
@@ -14,15 +14,24 @@ import type { TreeSetElementCallback, TreeSetOptions, TreeSetRangeOptions, TreeS
|
|
|
14
14
|
* - Iteration order is ascending by key.
|
|
15
15
|
* - No node exposure: all APIs use keys only.
|
|
16
16
|
*/
|
|
17
|
-
export declare class TreeSet<K = any> implements Iterable<K> {
|
|
17
|
+
export declare class TreeSet<K = any, R = K> implements Iterable<K> {
|
|
18
18
|
#private;
|
|
19
19
|
/**
|
|
20
|
-
* Create a TreeSet from an iterable of keys.
|
|
20
|
+
* Create a TreeSet from an iterable of keys or raw elements.
|
|
21
21
|
*
|
|
22
|
+
* @param elements - Iterable of keys, or raw elements if `toElementFn` is provided.
|
|
23
|
+
* @param options - Configuration options including optional `toElementFn` to transform raw elements.
|
|
22
24
|
* @throws {TypeError} When using the default comparator and encountering unsupported key types,
|
|
23
25
|
* or invalid keys (e.g. `NaN`, invalid `Date`).
|
|
26
|
+
* @example
|
|
27
|
+
* // Standard usage with keys
|
|
28
|
+
* const set = new TreeSet([3, 1, 2]);
|
|
29
|
+
*
|
|
30
|
+
* // Using toElementFn to transform raw objects
|
|
31
|
+
* const users = [{ id: 3, name: 'Alice' }, { id: 1, name: 'Bob' }];
|
|
32
|
+
* const set = new TreeSet<number, User>(users, { toElementFn: u => u.id });
|
|
24
33
|
*/
|
|
25
|
-
constructor(elements?: Iterable<K>, options?: TreeSetOptions<K>);
|
|
34
|
+
constructor(elements?: Iterable<R> | Iterable<K>, options?: TreeSetOptions<K, R>);
|
|
26
35
|
/**
|
|
27
36
|
* Create the strict default comparator.
|
|
28
37
|
*
|
|
@@ -92,7 +101,9 @@ export declare class TreeSet<K = any> implements Iterable<K> {
|
|
|
92
101
|
* This mirrors `RedBlackTree.map`: mapping produces a new ordered container.
|
|
93
102
|
* @remarks Time O(n log n) expected, Space O(n)
|
|
94
103
|
*/
|
|
95
|
-
map<MK>(callbackfn: TreeSetElementCallback<K, MK, TreeSet<K>>, options?: TreeSetOptions<MK>,
|
|
104
|
+
map<MK>(callbackfn: TreeSetElementCallback<K, MK, TreeSet<K>>, options?: Omit<TreeSetOptions<MK>, 'toElementFn'> & {
|
|
105
|
+
comparator?: (a: MK, b: MK) => number;
|
|
106
|
+
}, thisArg?: unknown): TreeSet<MK>;
|
|
96
107
|
/**
|
|
97
108
|
* Create a new TreeSet containing only values that satisfy the predicate.
|
|
98
109
|
* @remarks Time O(n log n) expected, Space O(n)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Comparator } from '../../common';
|
|
2
|
-
export interface TreeMapOptions<K> {
|
|
2
|
+
export interface TreeMapOptions<K, V, R = [K, V]> {
|
|
3
3
|
comparator?: Comparator<K>;
|
|
4
4
|
/**
|
|
5
5
|
* Pass-through to the underlying RedBlackTree/BST `isMapMode` option.
|
|
@@ -8,6 +8,11 @@ export interface TreeMapOptions<K> {
|
|
|
8
8
|
* - `false`: store values on tree nodes (Node Mode).
|
|
9
9
|
*/
|
|
10
10
|
isMapMode?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Transform raw elements into `[key, value]` entries.
|
|
13
|
+
* When provided, the constructor accepts `Iterable<R>` instead of `Iterable<[K, V]>`.
|
|
14
|
+
*/
|
|
15
|
+
toEntryFn?: (rawElement: R) => [K, V];
|
|
11
16
|
}
|
|
12
17
|
export type TreeMapRangeOptions = {
|
|
13
18
|
lowInclusive?: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Comparator } from '../../common';
|
|
2
|
-
export interface TreeMultiSetOptions<K> {
|
|
2
|
+
export interface TreeMultiSetOptions<K, R = K> {
|
|
3
3
|
comparator?: Comparator<K>;
|
|
4
4
|
/**
|
|
5
5
|
* Pass-through to the underlying RedBlackTree/BST `isMapMode` option.
|
|
@@ -8,4 +8,9 @@ export interface TreeMultiSetOptions<K> {
|
|
|
8
8
|
* - `false`: Node Mode.
|
|
9
9
|
*/
|
|
10
10
|
isMapMode?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Transform raw elements into keys.
|
|
13
|
+
* When provided, the constructor accepts `Iterable<R>` instead of `Iterable<K>`.
|
|
14
|
+
*/
|
|
15
|
+
toElementFn?: (rawElement: R) => K;
|
|
11
16
|
}
|