rn-leveldb 3.11.0

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.
Files changed (595) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +92 -0
  3. package/android/.project +34 -0
  4. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  5. package/android/CMakeLists.txt +69 -0
  6. package/android/build.gradle +125 -0
  7. package/android/cpp-adapter.cpp +19 -0
  8. package/android/gradle.properties +6 -0
  9. package/android/src/main/AndroidManifest.xml +4 -0
  10. package/android/src/main/java/com/reactnativeleveldb/LeveldbModule.java +57 -0
  11. package/android/src/main/java/com/reactnativeleveldb/LeveldbPackage.java +28 -0
  12. package/cpp/leveldb/.appveyor.yml +36 -0
  13. package/cpp/leveldb/.clang-format +18 -0
  14. package/cpp/leveldb/.travis.yml +88 -0
  15. package/cpp/leveldb/AUTHORS +12 -0
  16. package/cpp/leveldb/CMakeLists.txt +495 -0
  17. package/cpp/leveldb/CONTRIBUTING.md +36 -0
  18. package/cpp/leveldb/LICENSE +27 -0
  19. package/cpp/leveldb/NEWS +17 -0
  20. package/cpp/leveldb/README.md +231 -0
  21. package/cpp/leveldb/TODO +14 -0
  22. package/cpp/leveldb/benchmarks/db_bench.cc +990 -0
  23. package/cpp/leveldb/benchmarks/db_bench_sqlite3.cc +726 -0
  24. package/cpp/leveldb/benchmarks/db_bench_tree_db.cc +531 -0
  25. package/cpp/leveldb/cmake/leveldbConfig.cmake.in +9 -0
  26. package/cpp/leveldb/db/autocompact_test.cc +115 -0
  27. package/cpp/leveldb/db/builder.cc +82 -0
  28. package/cpp/leveldb/db/builder.h +30 -0
  29. package/cpp/leveldb/db/c.cc +562 -0
  30. package/cpp/leveldb/db/c_test.c +384 -0
  31. package/cpp/leveldb/db/corruption_test.cc +367 -0
  32. package/cpp/leveldb/db/db_impl.cc +1554 -0
  33. package/cpp/leveldb/db/db_impl.h +217 -0
  34. package/cpp/leveldb/db/db_iter.cc +318 -0
  35. package/cpp/leveldb/db/db_iter.h +26 -0
  36. package/cpp/leveldb/db/db_test.cc +2305 -0
  37. package/cpp/leveldb/db/dbformat.cc +136 -0
  38. package/cpp/leveldb/db/dbformat.h +224 -0
  39. package/cpp/leveldb/db/dbformat_test.cc +133 -0
  40. package/cpp/leveldb/db/dumpfile.cc +232 -0
  41. package/cpp/leveldb/db/fault_injection_test.cc +555 -0
  42. package/cpp/leveldb/db/filename.cc +141 -0
  43. package/cpp/leveldb/db/filename.h +83 -0
  44. package/cpp/leveldb/db/filename_test.cc +132 -0
  45. package/cpp/leveldb/db/leveldbutil.cc +64 -0
  46. package/cpp/leveldb/db/log_format.h +35 -0
  47. package/cpp/leveldb/db/log_reader.cc +274 -0
  48. package/cpp/leveldb/db/log_reader.h +112 -0
  49. package/cpp/leveldb/db/log_test.cc +563 -0
  50. package/cpp/leveldb/db/log_writer.cc +111 -0
  51. package/cpp/leveldb/db/log_writer.h +54 -0
  52. package/cpp/leveldb/db/memtable.cc +137 -0
  53. package/cpp/leveldb/db/memtable.h +87 -0
  54. package/cpp/leveldb/db/recovery_test.cc +339 -0
  55. package/cpp/leveldb/db/repair.cc +451 -0
  56. package/cpp/leveldb/db/skiplist.h +382 -0
  57. package/cpp/leveldb/db/skiplist_test.cc +373 -0
  58. package/cpp/leveldb/db/snapshot.h +95 -0
  59. package/cpp/leveldb/db/table_cache.cc +120 -0
  60. package/cpp/leveldb/db/table_cache.h +57 -0
  61. package/cpp/leveldb/db/version_edit.cc +257 -0
  62. package/cpp/leveldb/db/version_edit.h +106 -0
  63. package/cpp/leveldb/db/version_edit_test.cc +46 -0
  64. package/cpp/leveldb/db/version_set.cc +1562 -0
  65. package/cpp/leveldb/db/version_set.h +393 -0
  66. package/cpp/leveldb/db/version_set_test.cc +336 -0
  67. package/cpp/leveldb/db/write_batch.cc +150 -0
  68. package/cpp/leveldb/db/write_batch_internal.h +45 -0
  69. package/cpp/leveldb/db/write_batch_test.cc +137 -0
  70. package/cpp/leveldb/doc/benchmark.html +459 -0
  71. package/cpp/leveldb/doc/impl.md +172 -0
  72. package/cpp/leveldb/doc/index.md +523 -0
  73. package/cpp/leveldb/doc/log_format.md +75 -0
  74. package/cpp/leveldb/doc/table_format.md +107 -0
  75. package/cpp/leveldb/helpers/memenv/memenv.cc +390 -0
  76. package/cpp/leveldb/helpers/memenv/memenv.h +22 -0
  77. package/cpp/leveldb/helpers/memenv/memenv_test.cc +264 -0
  78. package/cpp/leveldb/include/leveldb/c.h +270 -0
  79. package/cpp/leveldb/include/leveldb/cache.h +111 -0
  80. package/cpp/leveldb/include/leveldb/comparator.h +64 -0
  81. package/cpp/leveldb/include/leveldb/db.h +167 -0
  82. package/cpp/leveldb/include/leveldb/dumpfile.h +28 -0
  83. package/cpp/leveldb/include/leveldb/env.h +417 -0
  84. package/cpp/leveldb/include/leveldb/export.h +33 -0
  85. package/cpp/leveldb/include/leveldb/filter_policy.h +72 -0
  86. package/cpp/leveldb/include/leveldb/iterator.h +112 -0
  87. package/cpp/leveldb/include/leveldb/options.h +187 -0
  88. package/cpp/leveldb/include/leveldb/slice.h +114 -0
  89. package/cpp/leveldb/include/leveldb/status.h +122 -0
  90. package/cpp/leveldb/include/leveldb/table.h +84 -0
  91. package/cpp/leveldb/include/leveldb/table_builder.h +93 -0
  92. package/cpp/leveldb/include/leveldb/write_batch.h +83 -0
  93. package/cpp/leveldb/issues/issue178_test.cc +90 -0
  94. package/cpp/leveldb/issues/issue200_test.cc +59 -0
  95. package/cpp/leveldb/issues/issue320_test.cc +131 -0
  96. package/cpp/leveldb/port/README.md +10 -0
  97. package/cpp/leveldb/port/port.h +19 -0
  98. package/cpp/leveldb/port/port_config.h.in +33 -0
  99. package/cpp/leveldb/port/port_example.h +100 -0
  100. package/cpp/leveldb/port/port_stdcxx.h +151 -0
  101. package/cpp/leveldb/port/thread_annotations.h +108 -0
  102. package/cpp/leveldb/table/block.cc +267 -0
  103. package/cpp/leveldb/table/block.h +44 -0
  104. package/cpp/leveldb/table/block_builder.cc +107 -0
  105. package/cpp/leveldb/table/block_builder.h +54 -0
  106. package/cpp/leveldb/table/filter_block.cc +106 -0
  107. package/cpp/leveldb/table/filter_block.h +68 -0
  108. package/cpp/leveldb/table/filter_block_test.cc +127 -0
  109. package/cpp/leveldb/table/format.cc +141 -0
  110. package/cpp/leveldb/table/format.h +99 -0
  111. package/cpp/leveldb/table/iterator.cc +76 -0
  112. package/cpp/leveldb/table/iterator_wrapper.h +92 -0
  113. package/cpp/leveldb/table/merger.cc +191 -0
  114. package/cpp/leveldb/table/merger.h +26 -0
  115. package/cpp/leveldb/table/table.cc +271 -0
  116. package/cpp/leveldb/table/table_builder.cc +265 -0
  117. package/cpp/leveldb/table/table_test.cc +834 -0
  118. package/cpp/leveldb/table/two_level_iterator.cc +171 -0
  119. package/cpp/leveldb/table/two_level_iterator.h +31 -0
  120. package/cpp/leveldb/third_party/benchmark/.clang-format +5 -0
  121. package/cpp/leveldb/third_party/benchmark/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  122. package/cpp/leveldb/third_party/benchmark/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  123. package/cpp/leveldb/third_party/benchmark/.github/workflows/build-and-test.yml +38 -0
  124. package/cpp/leveldb/third_party/benchmark/.github/workflows/pylint.yml +26 -0
  125. package/cpp/leveldb/third_party/benchmark/.github/workflows/test_bindings.yml +24 -0
  126. package/cpp/leveldb/third_party/benchmark/.travis-libcxx-setup.sh +28 -0
  127. package/cpp/leveldb/third_party/benchmark/.travis.yml +231 -0
  128. package/cpp/leveldb/third_party/benchmark/.ycm_extra_conf.py +115 -0
  129. package/cpp/leveldb/third_party/benchmark/AUTHORS +58 -0
  130. package/cpp/leveldb/third_party/benchmark/BUILD.bazel +44 -0
  131. package/cpp/leveldb/third_party/benchmark/CMakeLists.txt +287 -0
  132. package/cpp/leveldb/third_party/benchmark/CONTRIBUTING.md +58 -0
  133. package/cpp/leveldb/third_party/benchmark/CONTRIBUTORS +83 -0
  134. package/cpp/leveldb/third_party/benchmark/LICENSE +202 -0
  135. package/cpp/leveldb/third_party/benchmark/README.md +1323 -0
  136. package/cpp/leveldb/third_party/benchmark/WORKSPACE +51 -0
  137. package/cpp/leveldb/third_party/benchmark/_config.yml +1 -0
  138. package/cpp/leveldb/third_party/benchmark/appveyor.yml +50 -0
  139. package/cpp/leveldb/third_party/benchmark/bindings/python/BUILD +3 -0
  140. package/cpp/leveldb/third_party/benchmark/bindings/python/build_defs.bzl +25 -0
  141. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/BUILD +38 -0
  142. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/__init__.py +156 -0
  143. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/benchmark.cc +180 -0
  144. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/example.py +136 -0
  145. package/cpp/leveldb/third_party/benchmark/bindings/python/pybind11.BUILD +20 -0
  146. package/cpp/leveldb/third_party/benchmark/bindings/python/python_headers.BUILD +6 -0
  147. package/cpp/leveldb/third_party/benchmark/bindings/python/requirements.txt +2 -0
  148. package/cpp/leveldb/third_party/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  149. package/cpp/leveldb/third_party/benchmark/cmake/CXXFeatureCheck.cmake +69 -0
  150. package/cpp/leveldb/third_party/benchmark/cmake/Config.cmake.in +1 -0
  151. package/cpp/leveldb/third_party/benchmark/cmake/GetGitVersion.cmake +54 -0
  152. package/cpp/leveldb/third_party/benchmark/cmake/GoogleTest.cmake +41 -0
  153. package/cpp/leveldb/third_party/benchmark/cmake/GoogleTest.cmake.in +58 -0
  154. package/cpp/leveldb/third_party/benchmark/cmake/benchmark.pc.in +12 -0
  155. package/cpp/leveldb/third_party/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  156. package/cpp/leveldb/third_party/benchmark/cmake/llvm-toolchain.cmake +8 -0
  157. package/cpp/leveldb/third_party/benchmark/cmake/posix_regex.cpp +14 -0
  158. package/cpp/leveldb/third_party/benchmark/cmake/split_list.cmake +3 -0
  159. package/cpp/leveldb/third_party/benchmark/cmake/std_regex.cpp +10 -0
  160. package/cpp/leveldb/third_party/benchmark/cmake/steady_clock.cpp +7 -0
  161. package/cpp/leveldb/third_party/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  162. package/cpp/leveldb/third_party/benchmark/conan/CMakeLists.txt +7 -0
  163. package/cpp/leveldb/third_party/benchmark/conan/test_package/CMakeLists.txt +10 -0
  164. package/cpp/leveldb/third_party/benchmark/conan/test_package/conanfile.py +19 -0
  165. package/cpp/leveldb/third_party/benchmark/conan/test_package/test_package.cpp +18 -0
  166. package/cpp/leveldb/third_party/benchmark/conanfile.py +79 -0
  167. package/cpp/leveldb/third_party/benchmark/dependencies.md +18 -0
  168. package/cpp/leveldb/third_party/benchmark/docs/AssemblyTests.md +147 -0
  169. package/cpp/leveldb/third_party/benchmark/docs/_config.yml +1 -0
  170. package/cpp/leveldb/third_party/benchmark/docs/releasing.md +16 -0
  171. package/cpp/leveldb/third_party/benchmark/docs/tools.md +203 -0
  172. package/cpp/leveldb/third_party/benchmark/include/benchmark/benchmark.h +1604 -0
  173. package/cpp/leveldb/third_party/benchmark/requirements.txt +2 -0
  174. package/cpp/leveldb/third_party/benchmark/setup.py +140 -0
  175. package/cpp/leveldb/third_party/benchmark/src/CMakeLists.txt +114 -0
  176. package/cpp/leveldb/third_party/benchmark/src/arraysize.h +33 -0
  177. package/cpp/leveldb/third_party/benchmark/src/benchmark.cc +499 -0
  178. package/cpp/leveldb/third_party/benchmark/src/benchmark_api_internal.cc +15 -0
  179. package/cpp/leveldb/third_party/benchmark/src/benchmark_api_internal.h +53 -0
  180. package/cpp/leveldb/third_party/benchmark/src/benchmark_main.cc +17 -0
  181. package/cpp/leveldb/third_party/benchmark/src/benchmark_name.cc +58 -0
  182. package/cpp/leveldb/third_party/benchmark/src/benchmark_register.cc +515 -0
  183. package/cpp/leveldb/third_party/benchmark/src/benchmark_register.h +108 -0
  184. package/cpp/leveldb/third_party/benchmark/src/benchmark_runner.cc +362 -0
  185. package/cpp/leveldb/third_party/benchmark/src/benchmark_runner.h +51 -0
  186. package/cpp/leveldb/third_party/benchmark/src/check.h +82 -0
  187. package/cpp/leveldb/third_party/benchmark/src/colorprint.cc +188 -0
  188. package/cpp/leveldb/third_party/benchmark/src/colorprint.h +33 -0
  189. package/cpp/leveldb/third_party/benchmark/src/commandlineflags.cc +228 -0
  190. package/cpp/leveldb/third_party/benchmark/src/commandlineflags.h +103 -0
  191. package/cpp/leveldb/third_party/benchmark/src/complexity.cc +238 -0
  192. package/cpp/leveldb/third_party/benchmark/src/complexity.h +55 -0
  193. package/cpp/leveldb/third_party/benchmark/src/console_reporter.cc +177 -0
  194. package/cpp/leveldb/third_party/benchmark/src/counter.cc +80 -0
  195. package/cpp/leveldb/third_party/benchmark/src/counter.h +32 -0
  196. package/cpp/leveldb/third_party/benchmark/src/csv_reporter.cc +154 -0
  197. package/cpp/leveldb/third_party/benchmark/src/cycleclock.h +211 -0
  198. package/cpp/leveldb/third_party/benchmark/src/internal_macros.h +102 -0
  199. package/cpp/leveldb/third_party/benchmark/src/json_reporter.cc +255 -0
  200. package/cpp/leveldb/third_party/benchmark/src/log.h +74 -0
  201. package/cpp/leveldb/third_party/benchmark/src/mutex.h +155 -0
  202. package/cpp/leveldb/third_party/benchmark/src/re.h +158 -0
  203. package/cpp/leveldb/third_party/benchmark/src/reporter.cc +105 -0
  204. package/cpp/leveldb/third_party/benchmark/src/sleep.cc +67 -0
  205. package/cpp/leveldb/third_party/benchmark/src/sleep.h +15 -0
  206. package/cpp/leveldb/third_party/benchmark/src/statistics.cc +193 -0
  207. package/cpp/leveldb/third_party/benchmark/src/statistics.h +37 -0
  208. package/cpp/leveldb/third_party/benchmark/src/string_util.cc +255 -0
  209. package/cpp/leveldb/third_party/benchmark/src/string_util.h +59 -0
  210. package/cpp/leveldb/third_party/benchmark/src/sysinfo.cc +716 -0
  211. package/cpp/leveldb/third_party/benchmark/src/thread_manager.h +64 -0
  212. package/cpp/leveldb/third_party/benchmark/src/thread_timer.h +86 -0
  213. package/cpp/leveldb/third_party/benchmark/src/timers.cc +245 -0
  214. package/cpp/leveldb/third_party/benchmark/src/timers.h +48 -0
  215. package/cpp/leveldb/third_party/benchmark/test/AssemblyTests.cmake +46 -0
  216. package/cpp/leveldb/third_party/benchmark/test/BUILD +73 -0
  217. package/cpp/leveldb/third_party/benchmark/test/CMakeLists.txt +263 -0
  218. package/cpp/leveldb/third_party/benchmark/test/args_product_test.cc +77 -0
  219. package/cpp/leveldb/third_party/benchmark/test/basic_test.cc +136 -0
  220. package/cpp/leveldb/third_party/benchmark/test/benchmark_gtest.cc +134 -0
  221. package/cpp/leveldb/third_party/benchmark/test/benchmark_name_gtest.cc +74 -0
  222. package/cpp/leveldb/third_party/benchmark/test/benchmark_test.cc +245 -0
  223. package/cpp/leveldb/third_party/benchmark/test/clobber_memory_assembly_test.cc +64 -0
  224. package/cpp/leveldb/third_party/benchmark/test/commandlineflags_gtest.cc +201 -0
  225. package/cpp/leveldb/third_party/benchmark/test/complexity_test.cc +213 -0
  226. package/cpp/leveldb/third_party/benchmark/test/cxx03_test.cc +63 -0
  227. package/cpp/leveldb/third_party/benchmark/test/diagnostics_test.cc +80 -0
  228. package/cpp/leveldb/third_party/benchmark/test/display_aggregates_only_test.cc +43 -0
  229. package/cpp/leveldb/third_party/benchmark/test/donotoptimize_assembly_test.cc +163 -0
  230. package/cpp/leveldb/third_party/benchmark/test/donotoptimize_test.cc +52 -0
  231. package/cpp/leveldb/third_party/benchmark/test/filter_test.cc +104 -0
  232. package/cpp/leveldb/third_party/benchmark/test/fixture_test.cc +51 -0
  233. package/cpp/leveldb/third_party/benchmark/test/internal_threading_test.cc +184 -0
  234. package/cpp/leveldb/third_party/benchmark/test/link_main_test.cc +8 -0
  235. package/cpp/leveldb/third_party/benchmark/test/map_test.cc +57 -0
  236. package/cpp/leveldb/third_party/benchmark/test/memory_manager_test.cc +44 -0
  237. package/cpp/leveldb/third_party/benchmark/test/multiple_ranges_test.cc +96 -0
  238. package/cpp/leveldb/third_party/benchmark/test/options_test.cc +75 -0
  239. package/cpp/leveldb/third_party/benchmark/test/output_test.h +213 -0
  240. package/cpp/leveldb/third_party/benchmark/test/output_test_helper.cc +515 -0
  241. package/cpp/leveldb/third_party/benchmark/test/register_benchmark_test.cc +184 -0
  242. package/cpp/leveldb/third_party/benchmark/test/report_aggregates_only_test.cc +39 -0
  243. package/cpp/leveldb/third_party/benchmark/test/reporter_output_test.cc +747 -0
  244. package/cpp/leveldb/third_party/benchmark/test/skip_with_error_test.cc +195 -0
  245. package/cpp/leveldb/third_party/benchmark/test/state_assembly_test.cc +68 -0
  246. package/cpp/leveldb/third_party/benchmark/test/statistics_gtest.cc +28 -0
  247. package/cpp/leveldb/third_party/benchmark/test/string_util_gtest.cc +153 -0
  248. package/cpp/leveldb/third_party/benchmark/test/templated_fixture_test.cc +28 -0
  249. package/cpp/leveldb/third_party/benchmark/test/user_counters_tabular_test.cc +285 -0
  250. package/cpp/leveldb/third_party/benchmark/test/user_counters_test.cc +531 -0
  251. package/cpp/leveldb/third_party/benchmark/test/user_counters_thousands_test.cc +173 -0
  252. package/cpp/leveldb/third_party/benchmark/tools/BUILD.bazel +19 -0
  253. package/cpp/leveldb/third_party/benchmark/tools/compare.py +429 -0
  254. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test1_run1.json +119 -0
  255. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test1_run2.json +119 -0
  256. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test2_run.json +81 -0
  257. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test3_run0.json +65 -0
  258. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test3_run1.json +65 -0
  259. package/cpp/leveldb/third_party/benchmark/tools/gbench/__init__.py +8 -0
  260. package/cpp/leveldb/third_party/benchmark/tools/gbench/report.py +903 -0
  261. package/cpp/leveldb/third_party/benchmark/tools/gbench/util.py +163 -0
  262. package/cpp/leveldb/third_party/benchmark/tools/requirements.txt +1 -0
  263. package/cpp/leveldb/third_party/benchmark/tools/strip_asm.py +151 -0
  264. package/cpp/leveldb/third_party/googletest/.clang-format +4 -0
  265. package/cpp/leveldb/third_party/googletest/.travis.yml +73 -0
  266. package/cpp/leveldb/third_party/googletest/BUILD.bazel +179 -0
  267. package/cpp/leveldb/third_party/googletest/CMakeLists.txt +36 -0
  268. package/cpp/leveldb/third_party/googletest/CONTRIBUTING.md +142 -0
  269. package/cpp/leveldb/third_party/googletest/LICENSE +28 -0
  270. package/cpp/leveldb/third_party/googletest/README.md +132 -0
  271. package/cpp/leveldb/third_party/googletest/WORKSPACE +23 -0
  272. package/cpp/leveldb/third_party/googletest/appveyor.yml +154 -0
  273. package/cpp/leveldb/third_party/googletest/ci/build-linux-bazel.sh +37 -0
  274. package/cpp/leveldb/third_party/googletest/ci/build-platformio.sh +2 -0
  275. package/cpp/leveldb/third_party/googletest/ci/env-linux.sh +41 -0
  276. package/cpp/leveldb/third_party/googletest/ci/env-osx.sh +47 -0
  277. package/cpp/leveldb/third_party/googletest/ci/get-nprocessors.sh +48 -0
  278. package/cpp/leveldb/third_party/googletest/ci/install-linux.sh +49 -0
  279. package/cpp/leveldb/third_party/googletest/ci/install-osx.sh +40 -0
  280. package/cpp/leveldb/third_party/googletest/ci/install-platformio.sh +5 -0
  281. package/cpp/leveldb/third_party/googletest/ci/log-config.sh +51 -0
  282. package/cpp/leveldb/third_party/googletest/ci/travis.sh +44 -0
  283. package/cpp/leveldb/third_party/googletest/googlemock/CMakeLists.txt +233 -0
  284. package/cpp/leveldb/third_party/googletest/googlemock/CONTRIBUTORS +40 -0
  285. package/cpp/leveldb/third_party/googletest/googlemock/LICENSE +28 -0
  286. package/cpp/leveldb/third_party/googletest/googlemock/README.md +44 -0
  287. package/cpp/leveldb/third_party/googletest/googlemock/cmake/gmock.pc.in +10 -0
  288. package/cpp/leveldb/third_party/googletest/googlemock/cmake/gmock_main.pc.in +10 -0
  289. package/cpp/leveldb/third_party/googletest/googlemock/docs/cheat_sheet.md +770 -0
  290. package/cpp/leveldb/third_party/googletest/googlemock/docs/cook_book.md +4270 -0
  291. package/cpp/leveldb/third_party/googletest/googlemock/docs/for_dummies.md +700 -0
  292. package/cpp/leveldb/third_party/googletest/googlemock/docs/gmock_faq.md +396 -0
  293. package/cpp/leveldb/third_party/googletest/googlemock/docs/pump_manual.md +187 -0
  294. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-actions.h +1193 -0
  295. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-cardinalities.h +157 -0
  296. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h +276 -0
  297. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h +1884 -0
  298. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +627 -0
  299. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h +752 -0
  300. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +227 -0
  301. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-matchers.h +1097 -0
  302. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump +346 -0
  303. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-matchers.h +4591 -0
  304. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-more-actions.h +162 -0
  305. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-more-matchers.h +92 -0
  306. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h +215 -0
  307. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h +1985 -0
  308. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock.h +101 -0
  309. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
  310. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +10 -0
  311. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +12 -0
  312. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +36 -0
  313. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +39 -0
  314. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +472 -0
  315. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h +87 -0
  316. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/gmock-pp.h +271 -0
  317. package/cpp/leveldb/third_party/googletest/googlemock/scripts/README.md +5 -0
  318. package/cpp/leveldb/third_party/googletest/googlemock/scripts/fuse_gmock_files.py +240 -0
  319. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/LICENSE +203 -0
  320. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/README +34 -0
  321. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/README.cppclean +115 -0
  322. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  323. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/ast.py +1761 -0
  324. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class.py +248 -0
  325. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +540 -0
  326. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/keywords.py +56 -0
  327. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/tokenize.py +284 -0
  328. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/utils.py +37 -0
  329. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/gmock_gen.py +30 -0
  330. package/cpp/leveldb/third_party/googletest/googlemock/scripts/pump.py +856 -0
  331. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-all.cc +46 -0
  332. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-cardinalities.cc +155 -0
  333. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-internal-utils.cc +200 -0
  334. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-matchers.cc +462 -0
  335. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-spec-builders.cc +892 -0
  336. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock.cc +213 -0
  337. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock_main.cc +72 -0
  338. package/cpp/leveldb/third_party/googletest/googlemock/test/BUILD.bazel +110 -0
  339. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-actions_test.cc +1507 -0
  340. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-cardinalities_test.cc +429 -0
  341. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
  342. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
  343. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-function-mocker_test.cc +696 -0
  344. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-generated-actions_test.cc +1064 -0
  345. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-generated-function-mockers_test.cc +659 -0
  346. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-generated-matchers_test.cc +1323 -0
  347. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-internal-utils_test.cc +732 -0
  348. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-matchers_test.cc +6913 -0
  349. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-more-actions_test.cc +698 -0
  350. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-nice-strict_test.cc +500 -0
  351. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-port_test.cc +42 -0
  352. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
  353. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-pp_test.cc +83 -0
  354. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-spec-builders_test.cc +2775 -0
  355. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_all_test.cc +49 -0
  356. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_ex_test.cc +80 -0
  357. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_leak_test.py +104 -0
  358. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_leak_test_.cc +99 -0
  359. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_link2_test.cc +39 -0
  360. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_link_test.cc +39 -0
  361. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_link_test.h +690 -0
  362. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_output_test.py +183 -0
  363. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_output_test_.cc +309 -0
  364. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_output_test_golden.txt +317 -0
  365. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_stress_test.cc +240 -0
  366. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_test.cc +181 -0
  367. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_test_utils.py +108 -0
  368. package/cpp/leveldb/third_party/googletest/googlemock/test/pump_test.py +182 -0
  369. package/cpp/leveldb/third_party/googletest/googletest/CMakeLists.txt +329 -0
  370. package/cpp/leveldb/third_party/googletest/googletest/CONTRIBUTORS +38 -0
  371. package/cpp/leveldb/third_party/googletest/googletest/LICENSE +28 -0
  372. package/cpp/leveldb/third_party/googletest/googletest/README.md +244 -0
  373. package/cpp/leveldb/third_party/googletest/googletest/cmake/Config.cmake.in +9 -0
  374. package/cpp/leveldb/third_party/googletest/googletest/cmake/gtest.pc.in +9 -0
  375. package/cpp/leveldb/third_party/googletest/googletest/cmake/gtest_main.pc.in +10 -0
  376. package/cpp/leveldb/third_party/googletest/googletest/cmake/internal_utils.cmake +358 -0
  377. package/cpp/leveldb/third_party/googletest/googletest/cmake/libgtest.la.in +21 -0
  378. package/cpp/leveldb/third_party/googletest/googletest/docs/advanced.md +2567 -0
  379. package/cpp/leveldb/third_party/googletest/googletest/docs/faq.md +753 -0
  380. package/cpp/leveldb/third_party/googletest/googletest/docs/pkgconfig.md +219 -0
  381. package/cpp/leveldb/third_party/googletest/googletest/docs/primer.md +579 -0
  382. package/cpp/leveldb/third_party/googletest/googletest/docs/samples.md +22 -0
  383. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-death-test.h +343 -0
  384. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-matchers.h +750 -0
  385. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-message.h +219 -0
  386. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-param-test.h +514 -0
  387. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-printers.h +928 -0
  388. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-spi.h +238 -0
  389. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-test-part.h +184 -0
  390. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-typed-test.h +337 -0
  391. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest.h +2477 -0
  392. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest_pred_impl.h +359 -0
  393. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest_prod.h +61 -0
  394. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
  395. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
  396. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  397. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/gtest.h +37 -0
  398. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +304 -0
  399. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-filepath.h +211 -0
  400. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h +1411 -0
  401. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-param-util.h +880 -0
  402. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-port-arch.h +111 -0
  403. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-port.h +2227 -0
  404. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-string.h +171 -0
  405. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h +183 -0
  406. package/cpp/leveldb/third_party/googletest/googletest/samples/prime_tables.h +126 -0
  407. package/cpp/leveldb/third_party/googletest/googletest/samples/sample1.cc +66 -0
  408. package/cpp/leveldb/third_party/googletest/googletest/samples/sample1.h +41 -0
  409. package/cpp/leveldb/third_party/googletest/googletest/samples/sample10_unittest.cc +139 -0
  410. package/cpp/leveldb/third_party/googletest/googletest/samples/sample1_unittest.cc +151 -0
  411. package/cpp/leveldb/third_party/googletest/googletest/samples/sample2.cc +54 -0
  412. package/cpp/leveldb/third_party/googletest/googletest/samples/sample2.h +81 -0
  413. package/cpp/leveldb/third_party/googletest/googletest/samples/sample2_unittest.cc +107 -0
  414. package/cpp/leveldb/third_party/googletest/googletest/samples/sample3-inl.h +172 -0
  415. package/cpp/leveldb/third_party/googletest/googletest/samples/sample3_unittest.cc +149 -0
  416. package/cpp/leveldb/third_party/googletest/googletest/samples/sample4.cc +54 -0
  417. package/cpp/leveldb/third_party/googletest/googletest/samples/sample4.h +53 -0
  418. package/cpp/leveldb/third_party/googletest/googletest/samples/sample4_unittest.cc +53 -0
  419. package/cpp/leveldb/third_party/googletest/googletest/samples/sample5_unittest.cc +196 -0
  420. package/cpp/leveldb/third_party/googletest/googletest/samples/sample6_unittest.cc +224 -0
  421. package/cpp/leveldb/third_party/googletest/googletest/samples/sample7_unittest.cc +117 -0
  422. package/cpp/leveldb/third_party/googletest/googletest/samples/sample8_unittest.cc +154 -0
  423. package/cpp/leveldb/third_party/googletest/googletest/samples/sample9_unittest.cc +156 -0
  424. package/cpp/leveldb/third_party/googletest/googletest/scripts/README.md +5 -0
  425. package/cpp/leveldb/third_party/googletest/googletest/scripts/common.py +83 -0
  426. package/cpp/leveldb/third_party/googletest/googletest/scripts/fuse_gtest_files.py +253 -0
  427. package/cpp/leveldb/third_party/googletest/googletest/scripts/gen_gtest_pred_impl.py +734 -0
  428. package/cpp/leveldb/third_party/googletest/googletest/scripts/gtest-config.in +274 -0
  429. package/cpp/leveldb/third_party/googletest/googletest/scripts/release_docs.py +158 -0
  430. package/cpp/leveldb/third_party/googletest/googletest/scripts/run_with_path.py +32 -0
  431. package/cpp/leveldb/third_party/googletest/googletest/scripts/upload.py +1402 -0
  432. package/cpp/leveldb/third_party/googletest/googletest/scripts/upload_gtest.py +78 -0
  433. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-all.cc +48 -0
  434. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-death-test.cc +1653 -0
  435. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-filepath.cc +382 -0
  436. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-internal-inl.h +1211 -0
  437. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-matchers.cc +97 -0
  438. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-port.cc +1399 -0
  439. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-printers.cc +442 -0
  440. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-test-part.cc +108 -0
  441. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-typed-test.cc +118 -0
  442. package/cpp/leveldb/third_party/googletest/googletest/src/gtest.cc +6180 -0
  443. package/cpp/leveldb/third_party/googletest/googletest/src/gtest_main.cc +54 -0
  444. package/cpp/leveldb/third_party/googletest/googletest/test/BUILD.bazel +529 -0
  445. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  446. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
  447. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-catch-exceptions-test.py +236 -0
  448. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
  449. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-color-test.py +127 -0
  450. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-color-test_.cc +62 -0
  451. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-death-test-test.cc +1516 -0
  452. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
  453. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-env-var-test.py +117 -0
  454. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-env-var-test_.cc +122 -0
  455. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-filepath-test.cc +649 -0
  456. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-filter-unittest.py +639 -0
  457. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
  458. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-json-outfiles-test.py +191 -0
  459. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-json-output-unittest.py +778 -0
  460. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
  461. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
  462. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-listener-test.cc +518 -0
  463. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-message-test.cc +158 -0
  464. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-options-test.cc +216 -0
  465. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-output-test-golden-lin.txt +1137 -0
  466. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-output-test.py +346 -0
  467. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-output-test_.cc +1149 -0
  468. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  469. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
  470. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  471. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
  472. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-test.cc +1086 -0
  473. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-test.h +51 -0
  474. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
  475. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-port-test.cc +1272 -0
  476. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-printers-test.cc +1619 -0
  477. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-shuffle-test.py +323 -0
  478. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
  479. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-test-part-test.cc +230 -0
  480. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-test2_test.cc +61 -0
  481. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
  482. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  483. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
  484. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
  485. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-typed-test2_test.cc +44 -0
  486. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-typed-test_test.cc +462 -0
  487. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-typed-test_test.h +65 -0
  488. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-unittest-api_test.cc +341 -0
  489. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_all_test.cc +46 -0
  490. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
  491. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_environment_test.cc +188 -0
  492. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_help_test.py +170 -0
  493. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_help_test_.cc +45 -0
  494. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_json_test_utils.py +60 -0
  495. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_list_output_unittest.py +141 -0
  496. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_list_output_unittest_.cc +51 -0
  497. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_main_unittest.cc +44 -0
  498. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_no_test_unittest.cc +54 -0
  499. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc +2427 -0
  500. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_premature_exit_test.cc +126 -0
  501. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_prod_test.cc +56 -0
  502. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_repeat_test.cc +233 -0
  503. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_check_output_test.py +59 -0
  504. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  505. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
  506. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_test.cc +55 -0
  507. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_sole_header_test.cc +56 -0
  508. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_stress_test.cc +248 -0
  509. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  510. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_test_utils.py +314 -0
  511. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_testbridge_test.py +63 -0
  512. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
  513. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
  514. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_unittest.cc +7496 -0
  515. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
  516. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_outfile2_test_.cc +43 -0
  517. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_outfiles_test.py +135 -0
  518. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_output_unittest.py +389 -0
  519. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_output_unittest_.cc +188 -0
  520. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_test_utils.py +196 -0
  521. package/cpp/leveldb/third_party/googletest/googletest/test/production.cc +35 -0
  522. package/cpp/leveldb/third_party/googletest/googletest/test/production.h +54 -0
  523. package/cpp/leveldb/third_party/googletest/library.json +66 -0
  524. package/cpp/leveldb/third_party/googletest/platformio.ini +47 -0
  525. package/cpp/leveldb/util/arena.cc +66 -0
  526. package/cpp/leveldb/util/arena.h +71 -0
  527. package/cpp/leveldb/util/arena_test.cc +66 -0
  528. package/cpp/leveldb/util/bloom.cc +92 -0
  529. package/cpp/leveldb/util/bloom_test.cc +159 -0
  530. package/cpp/leveldb/util/cache.cc +401 -0
  531. package/cpp/leveldb/util/cache_test.cc +229 -0
  532. package/cpp/leveldb/util/coding.cc +166 -0
  533. package/cpp/leveldb/util/coding.h +122 -0
  534. package/cpp/leveldb/util/coding_test.cc +198 -0
  535. package/cpp/leveldb/util/comparator.cc +75 -0
  536. package/cpp/leveldb/util/crc32c.cc +380 -0
  537. package/cpp/leveldb/util/crc32c.h +43 -0
  538. package/cpp/leveldb/util/crc32c_test.cc +61 -0
  539. package/cpp/leveldb/util/env.cc +108 -0
  540. package/cpp/leveldb/util/env_posix.cc +893 -0
  541. package/cpp/leveldb/util/env_posix_test.cc +353 -0
  542. package/cpp/leveldb/util/env_posix_test_helper.h +28 -0
  543. package/cpp/leveldb/util/env_test.cc +240 -0
  544. package/cpp/leveldb/util/env_windows.cc +796 -0
  545. package/cpp/leveldb/util/env_windows_test.cc +65 -0
  546. package/cpp/leveldb/util/env_windows_test_helper.h +25 -0
  547. package/cpp/leveldb/util/filter_policy.cc +11 -0
  548. package/cpp/leveldb/util/hash.cc +55 -0
  549. package/cpp/leveldb/util/hash.h +19 -0
  550. package/cpp/leveldb/util/hash_test.cc +46 -0
  551. package/cpp/leveldb/util/histogram.cc +272 -0
  552. package/cpp/leveldb/util/histogram.h +44 -0
  553. package/cpp/leveldb/util/logging.cc +82 -0
  554. package/cpp/leveldb/util/logging.h +44 -0
  555. package/cpp/leveldb/util/logging_test.cc +145 -0
  556. package/cpp/leveldb/util/mutexlock.h +39 -0
  557. package/cpp/leveldb/util/no_destructor.h +46 -0
  558. package/cpp/leveldb/util/no_destructor_test.cc +49 -0
  559. package/cpp/leveldb/util/options.cc +14 -0
  560. package/cpp/leveldb/util/posix_logger.h +130 -0
  561. package/cpp/leveldb/util/random.h +63 -0
  562. package/cpp/leveldb/util/status.cc +77 -0
  563. package/cpp/leveldb/util/status_test.cc +44 -0
  564. package/cpp/leveldb/util/testutil.cc +51 -0
  565. package/cpp/leveldb/util/testutil.h +82 -0
  566. package/cpp/leveldb/util/windows_logger.h +124 -0
  567. package/cpp/react-native-leveldb.cpp +694 -0
  568. package/cpp/react-native-leveldb.h +4 -0
  569. package/ios/Leveldb.h +9 -0
  570. package/ios/Leveldb.mm +35 -0
  571. package/ios/Leveldb.xcodeproj/project.pbxproj +288 -0
  572. package/lib/commonjs/fake.js +181 -0
  573. package/lib/commonjs/fake.js.map +1 -0
  574. package/lib/commonjs/fake.test.js +30 -0
  575. package/lib/commonjs/fake.test.js.map +1 -0
  576. package/lib/commonjs/index.js +172 -0
  577. package/lib/commonjs/index.js.map +1 -0
  578. package/lib/commonjs/package.json +1 -0
  579. package/lib/module/fake.js +171 -0
  580. package/lib/module/fake.js.map +1 -0
  581. package/lib/module/fake.test.js +30 -0
  582. package/lib/module/fake.test.js.map +1 -0
  583. package/lib/module/index.js +165 -0
  584. package/lib/module/index.js.map +1 -0
  585. package/lib/typescript/fake.d.ts +34 -0
  586. package/lib/typescript/fake.d.ts.map +1 -0
  587. package/lib/typescript/fake.test.d.ts +2 -0
  588. package/lib/typescript/fake.test.d.ts.map +1 -0
  589. package/lib/typescript/index.d.ts +72 -0
  590. package/lib/typescript/index.d.ts.map +1 -0
  591. package/package.json +157 -0
  592. package/rn-leveldb.podspec +30 -0
  593. package/src/fake.test.ts +37 -0
  594. package/src/fake.ts +203 -0
  595. package/src/index.ts +291 -0
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LevelDBWriteBatch = exports.LevelDBIterator = exports.LevelDB = void 0;
7
+ var _reactNative = require("react-native");
8
+ let nativeModuleInitError = null;
9
+ const LeveldbModule = _reactNative.NativeModules.Leveldb;
10
+ if (LeveldbModule == null || typeof LeveldbModule.install !== 'function') {
11
+ nativeModuleInitError = 'The native Leveldb module could not be found! Is it correctly installed and autolinked?';
12
+ }
13
+
14
+ // Call the synchronous blocking install() function
15
+ try {
16
+ if (LeveldbModule.install() !== true) {
17
+ nativeModuleInitError = 'The native Leveldb JSI bindings could not be installed!';
18
+ }
19
+ } catch (e) {
20
+ nativeModuleInitError = e instanceof Error ? e?.message : 'Leveldb.install caught error!';
21
+ }
22
+ const g = global;
23
+ class LevelDBWriteBatch {
24
+ constructor() {
25
+ this.ref = g.leveldbNewWriteBatch();
26
+ }
27
+ put(k, v) {
28
+ g.leveldbWriteBatchPut(this.ref, k, v);
29
+ }
30
+ delete(k) {
31
+ g.leveldbWriteBatchDelete(this.ref, k);
32
+ }
33
+ close() {
34
+ g.leveldbWriteBatchClose(this.ref);
35
+ this.ref = -1;
36
+ }
37
+ }
38
+ exports.LevelDBWriteBatch = LevelDBWriteBatch;
39
+ class LevelDBIterator {
40
+ constructor(dbRef) {
41
+ this.ref = g.leveldbNewIterator(dbRef);
42
+ }
43
+ seekToFirst() {
44
+ g.leveldbIteratorSeekToFirst(this.ref);
45
+ return this;
46
+ }
47
+ seekLast() {
48
+ g.leveldbIteratorSeekToLast(this.ref);
49
+ return this;
50
+ }
51
+ seek(target) {
52
+ g.leveldbIteratorSeek(this.ref, target);
53
+ return this;
54
+ }
55
+ valid() {
56
+ return g.leveldbIteratorValid(this.ref);
57
+ }
58
+ next() {
59
+ g.leveldbIteratorNext(this.ref);
60
+ }
61
+ prev() {
62
+ g.leveldbIteratorPrev(this.ref);
63
+ }
64
+ close() {
65
+ g.leveldbIteratorDelete(this.ref);
66
+ this.ref = -1;
67
+ }
68
+ keyStr() {
69
+ return g.leveldbIteratorKeyStr(this.ref);
70
+ }
71
+ keyBuf() {
72
+ return g.leveldbIteratorKeyBuf(this.ref);
73
+ }
74
+ valueStr() {
75
+ return g.leveldbIteratorValueStr(this.ref);
76
+ }
77
+ valueBuf() {
78
+ return g.leveldbIteratorValueBuf(this.ref);
79
+ }
80
+ compareKey(target) {
81
+ return g.leveldbIteratorKeyCompare(this.ref, target);
82
+ }
83
+ }
84
+ exports.LevelDBIterator = LevelDBIterator;
85
+ class LevelDB {
86
+ // Keep references to already open DBs to facilitate RN's reload flow.
87
+ // This must live on globalThis (not module state) since Metro reloads this module.
88
+ static openRefs() {
89
+ const key = '__rn_leveldb_openPathRefs';
90
+ const host = globalThis;
91
+ const existing = host[key];
92
+ if (existing) return existing;
93
+ const created = Object.create(null);
94
+ host[key] = created;
95
+ return created;
96
+ }
97
+ constructor(name, createIfMissing, errorIfExists) {
98
+ if (nativeModuleInitError) {
99
+ throw new Error(nativeModuleInitError);
100
+ }
101
+ const openRefs = LevelDB.openRefs();
102
+ if (openRefs[name] !== undefined) {
103
+ this.ref = openRefs[name];
104
+ } else {
105
+ openRefs[name] = this.ref = g.leveldbOpen(name, createIfMissing, errorIfExists);
106
+ }
107
+ }
108
+ close() {
109
+ g.leveldbClose(this.ref);
110
+ const openRefs = LevelDB.openRefs();
111
+ for (const name in openRefs) {
112
+ if (openRefs[name] === this.ref) {
113
+ delete openRefs[name];
114
+ }
115
+ }
116
+ this.ref = undefined;
117
+ }
118
+ closed() {
119
+ if (this.ref === undefined) return true;
120
+ return !Object.values(LevelDB.openRefs()).includes(this.ref);
121
+ }
122
+ put(k, v) {
123
+ g.leveldbPut(this.ref, k, v);
124
+ }
125
+ delete(k) {
126
+ g.leveldbDelete(this.ref, k);
127
+ }
128
+ getStr(k) {
129
+ return g.leveldbGetStr(this.ref, k);
130
+ }
131
+ getBuf(k) {
132
+ return g.leveldbGetBuf(this.ref, k);
133
+ }
134
+ newIterator() {
135
+ if (this.ref === undefined) {
136
+ throw new Error('LevelDB.newIterator: could not create iterator, the DB was closed!');
137
+ }
138
+ return new LevelDBIterator(this.ref);
139
+ }
140
+ write(batch) {
141
+ g.leveldbWriteWriteBatch(this.ref, batch.ref);
142
+ }
143
+
144
+ // Merges the data from another LevelDB into this one. All keys from src will be written into this LevelDB,
145
+ // overwriting any existing values.
146
+ // batchMerge=true will write all values from src in one transaction, thus ensuring that the dst DB is not left
147
+ // in a corrupt state.
148
+ merge(src, batchMerge) {
149
+ if (this.ref === undefined) {
150
+ throw new Error('LevelDB.merge: could not merge, the dest DB (this) was closed!');
151
+ }
152
+ if (src.ref === undefined) {
153
+ throw new Error('LevelDB.merge: could not merge, the source DB was closed!');
154
+ }
155
+ g.leveldbMerge(this.ref, src.ref, batchMerge);
156
+ }
157
+ static destroyDB(name, force) {
158
+ const openRefs = LevelDB.openRefs();
159
+ if (openRefs[name] !== undefined) {
160
+ if (force) {
161
+ g.leveldbClose(openRefs[name]);
162
+ delete openRefs[name];
163
+ } else {
164
+ throw new Error('DB is open! Cannot destroy');
165
+ }
166
+ }
167
+ g.leveldbDestroy(name);
168
+ }
169
+ static readFileToBuf = g.leveldbReadFileBuf;
170
+ }
171
+ exports.LevelDB = LevelDB;
172
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","nativeModuleInitError","LeveldbModule","NativeModules","Leveldb","install","e","Error","message","g","global","LevelDBWriteBatch","constructor","ref","leveldbNewWriteBatch","put","k","v","leveldbWriteBatchPut","delete","leveldbWriteBatchDelete","close","leveldbWriteBatchClose","exports","LevelDBIterator","dbRef","leveldbNewIterator","seekToFirst","leveldbIteratorSeekToFirst","seekLast","leveldbIteratorSeekToLast","seek","target","leveldbIteratorSeek","valid","leveldbIteratorValid","next","leveldbIteratorNext","prev","leveldbIteratorPrev","leveldbIteratorDelete","keyStr","leveldbIteratorKeyStr","keyBuf","leveldbIteratorKeyBuf","valueStr","leveldbIteratorValueStr","valueBuf","leveldbIteratorValueBuf","compareKey","leveldbIteratorKeyCompare","LevelDB","openRefs","key","host","globalThis","existing","created","Object","create","name","createIfMissing","errorIfExists","undefined","leveldbOpen","leveldbClose","closed","values","includes","leveldbPut","leveldbDelete","getStr","leveldbGetStr","getBuf","leveldbGetBuf","newIterator","write","batch","leveldbWriteWriteBatch","merge","src","batchMerge","leveldbMerge","destroyDB","force","leveldbDestroy","readFileToBuf","leveldbReadFileBuf"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ // Return the position at the first key in the source that is at or past `k`.
4
+ function getIdx(kv, k, start, end) {
5
+ if (!kv) {
6
+ throw new Error('FakeLevelDB was closed!');
7
+ }
8
+ k = toArraybuf(k);
9
+ start = start || 0;
10
+ end = end || kv.length;
11
+ const pivot = Math.floor(start + (end - start) / 2);
12
+ if (end - start <= 1) {
13
+ if (pivot < kv.length && arraybufGt(k, kv[pivot][0])) {
14
+ return end;
15
+ } else {
16
+ return pivot;
17
+ }
18
+ }
19
+ if (!arraybufGt(kv[pivot][0], k) && !arraybufGt(k, kv[pivot][0])) {
20
+ // equality check, done as the inverse of <>
21
+ return pivot;
22
+ }
23
+ if (arraybufGt(kv[pivot][0], k)) {
24
+ return getIdx(kv, k, start, pivot);
25
+ } else {
26
+ return getIdx(kv, k, pivot, end);
27
+ }
28
+ }
29
+ export class FakeLevelDBIterator {
30
+ constructor(db) {
31
+ if (!db.kv) {
32
+ throw new Error(`Could't make FakeLevelDBIterator: DB was closed!`);
33
+ }
34
+ this.kv = [...db.kv]; // This creates a snapshot, like LevelDB would!
35
+ this.pos = undefined;
36
+ }
37
+ seekToFirst() {
38
+ this.pos = 0;
39
+ return this;
40
+ }
41
+ seekLast() {
42
+ this.pos = this.kv.length - 1;
43
+ return this;
44
+ }
45
+ seek(target) {
46
+ this.pos = getIdx(this.kv, target);
47
+ return this;
48
+ }
49
+ valid() {
50
+ return this.pos !== undefined && this.pos >= 0 && this.pos < this.kv.length;
51
+ }
52
+ next() {
53
+ this.pos++;
54
+ }
55
+ prev() {
56
+ this.pos--;
57
+ }
58
+ close() {
59
+ this.pos = undefined;
60
+ }
61
+ keyStr() {
62
+ return toString(this.kv[this.pos][0]);
63
+ }
64
+ keyBuf() {
65
+ return toArraybuf(this.kv[this.pos][0]);
66
+ }
67
+ valueStr() {
68
+ return toString(this.kv[this.pos][1]);
69
+ }
70
+ valueBuf() {
71
+ return toArraybuf(this.kv[this.pos][1]);
72
+ }
73
+ compareKey(target) {
74
+ const arrTarget = toArraybuf(target);
75
+ return arraybufGt(this.kv[this.pos][0], arrTarget) ? 1 : arraybufLt(this.kv[this.pos][0], target) ? -1 : 0;
76
+ }
77
+ }
78
+
79
+ // `global as any` is a hack to get around this issue:
80
+ // https://github.com/microsoft/TypeScript/issues/31535
81
+ var decoder = new global.TextDecoder();
82
+ var encoder = new global.TextEncoder();
83
+ export function toString(buf) {
84
+ if (typeof buf == 'string') {
85
+ return buf;
86
+ }
87
+ return decoder.decode(new Uint8Array(buf));
88
+ }
89
+ export function toArraybuf(str) {
90
+ if (str instanceof ArrayBuffer) {
91
+ return str;
92
+ }
93
+ var uint8Arr = encoder.encode(str);
94
+ const out = new ArrayBuffer(uint8Arr.byteLength);
95
+ new Uint8Array(out).set(uint8Arr);
96
+ return out;
97
+ }
98
+ export function arraybufGt(a, b) {
99
+ var keyA = new Uint8Array(a);
100
+ var keyB = new Uint8Array(b);
101
+ for (var i = 0; i < keyA.byteLength && i < keyB.byteLength; ++i) {
102
+ if (keyA[i] > keyB[i]) {
103
+ return true;
104
+ }
105
+ if (keyA[i] < keyB[i]) {
106
+ return false;
107
+ }
108
+ }
109
+ return keyA.byteLength > keyB.byteLength;
110
+ }
111
+ export function arraybufLt(a, b) {
112
+ var keyA = new Uint8Array(a);
113
+ var keyB = new Uint8Array(b);
114
+ for (var i = 0; i < keyA.byteLength && i < keyB.byteLength; ++i) {
115
+ if (keyA[i] < keyB[i]) {
116
+ return true;
117
+ }
118
+ if (keyA[i] > keyB[i]) {
119
+ return false;
120
+ }
121
+ }
122
+ return keyA.byteLength < keyB.byteLength;
123
+ }
124
+ export class FakeLevelDB {
125
+ // The in-mem storage, as a sorted Array of KVs. The keys & values are stored as ArrayBuffers, which has the advantage
126
+ // that it's very close to how LevelDB works.
127
+
128
+ constructor() {
129
+ this.kv = [];
130
+ }
131
+ close() {
132
+ this.kv = null;
133
+ }
134
+ closed() {
135
+ return this.kv == null;
136
+ }
137
+ put(k, v) {
138
+ const curIdx = getIdx(this.kv, k);
139
+ // curIdx is the position at the first key in the source that is at or past `k`:
140
+ if (curIdx == this.kv.length) {
141
+ this.kv.push([toArraybuf(k), toArraybuf(v)]);
142
+ } else if (arraybufGt(this.kv[curIdx][0], toArraybuf(k))) {
143
+ // When curIdx's key is past `k`, we add a new element at position. For example, given keys b, d, f:
144
+ // k='a' should return 0; k='c' should return 1; k='f' should return 3.
145
+ this.kv.splice(curIdx, 0, [toArraybuf(k), toArraybuf(v)]);
146
+ } else {
147
+ this.kv[curIdx][1] = toArraybuf(v);
148
+ }
149
+ }
150
+ delete(k) {
151
+ k = toArraybuf(k);
152
+ const curIdx = getIdx(this.kv, k);
153
+ if (curIdx < this.kv.length && !arraybufGt(this.kv[curIdx][0], k) && !arraybufGt(k, this.kv[curIdx][0])) {
154
+ this.kv.splice(curIdx, 1);
155
+ }
156
+ }
157
+ getStr(k) {
158
+ const buf = this.getBuf(k);
159
+ return buf && toString(buf);
160
+ }
161
+ getBuf(k) {
162
+ k = toArraybuf(k);
163
+ const curIdx = getIdx(this.kv, k);
164
+ const kv = curIdx < this.kv.length ? this.kv[curIdx] : null;
165
+ return !kv || arraybufGt(kv[0], k) || arraybufGt(k, kv[0]) ? null : kv[1];
166
+ }
167
+ newIterator() {
168
+ return new FakeLevelDBIterator(this);
169
+ }
170
+ }
171
+ //# sourceMappingURL=fake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getIdx","kv","k","start","end","Error","toArraybuf","length","pivot","Math","floor","arraybufGt","FakeLevelDBIterator","constructor","db","pos","undefined","seekToFirst","seekLast","seek","target","valid","next","prev","close","keyStr","toString","keyBuf","valueStr","valueBuf","compareKey","arrTarget","arraybufLt","decoder","global","TextDecoder","encoder","TextEncoder","buf","decode","Uint8Array","str","ArrayBuffer","uint8Arr","encode","out","byteLength","set","a","b","keyA","keyB","i","FakeLevelDB","closed","put","v","curIdx","push","splice","delete","getStr","getBuf","newIterator"],"sourceRoot":"../../src","sources":["fake.ts"],"mappings":";;AAEA;AACA,SAASA,MAAMA,CAACC,EAAuC,EAAEC,CAAuB,EAAEC,KAAc,EAAEC,GAAY,EAAU;EACtH,IAAI,CAACH,EAAE,EAAE;IACP,MAAM,IAAII,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EAEAH,CAAC,GAAGI,UAAU,CAACJ,CAAC,CAAC;EACjBC,KAAK,GAAGA,KAAK,IAAI,CAAC;EAClBC,GAAG,GAAGA,GAAG,IAAIH,EAAE,CAACM,MAAM;EAEtB,MAAMC,KAAa,GAAGC,IAAI,CAACC,KAAK,CAACP,KAAK,GAAG,CAACC,GAAG,GAAGD,KAAK,IAAI,CAAC,CAAC;EAC3D,IAAIC,GAAG,GAAGD,KAAK,IAAI,CAAC,EAAE;IACpB,IAAIK,KAAK,GAAGP,EAAE,CAACM,MAAM,IAAII,UAAU,CAACT,CAAC,EAAED,EAAE,CAACO,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;MACrD,OAAOJ,GAAG;IACZ,CAAC,MAAM;MACL,OAAOI,KAAK;IACd;EACF;EACA,IAAI,CAACG,UAAU,CAACV,EAAE,CAACO,KAAK,CAAC,CAAE,CAAC,CAAC,EAAEN,CAAC,CAAC,IAAI,CAACS,UAAU,CAACT,CAAC,EAAED,EAAE,CAACO,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;IAAE;IACpE,OAAOA,KAAK;EACd;EACA,IAAIG,UAAU,CAACV,EAAE,CAACO,KAAK,CAAC,CAAE,CAAC,CAAC,EAAEN,CAAC,CAAC,EAAE;IAChC,OAAOF,MAAM,CAACC,EAAE,EAAEC,CAAC,EAAEC,KAAK,EAAEK,KAAK,CAAC;EACpC,CAAC,MAAM;IACL,OAAOR,MAAM,CAACC,EAAE,EAAEC,CAAC,EAAEM,KAAK,EAAEJ,GAAG,CAAC;EAClC;AACF;AAEA,OAAO,MAAMQ,mBAAmB,CAA6B;EAI3DC,WAAWA,CAACC,EAAe,EAAE;IAC3B,IAAI,CAACA,EAAE,CAACb,EAAE,EAAE;MACV,MAAM,IAAII,KAAK,CAAC,kDAAkD,CAAC;IACrE;IAEA,IAAI,CAACJ,EAAE,GAAG,CAAC,GAAGa,EAAE,CAACb,EAAE,CAAC,CAAC,CAAE;IACvB,IAAI,CAACc,GAAG,GAAGC,SAAS;EACtB;EAEAC,WAAWA,CAAA,EAAqB;IAC9B,IAAI,CAACF,GAAG,GAAG,CAAC;IACZ,OAAO,IAAI;EACb;EAEAG,QAAQA,CAAA,EAAqB;IAC3B,IAAI,CAACH,GAAG,GAAG,IAAI,CAACd,EAAE,CAACM,MAAM,GAAG,CAAC;IAC7B,OAAO,IAAI;EACb;EAEAY,IAAIA,CAACC,MAA4B,EAAoB;IACnD,IAAI,CAACL,GAAG,GAAGf,MAAM,CAAC,IAAI,CAACC,EAAE,EAAEmB,MAAM,CAAC;IAClC,OAAO,IAAI;EACb;EAEAC,KAAKA,CAAA,EAAY;IACf,OAAO,IAAI,CAACN,GAAG,KAAKC,SAAS,IAAI,IAAI,CAACD,GAAG,IAAI,CAAC,IAAI,IAAI,CAACA,GAAG,GAAG,IAAI,CAACd,EAAE,CAACM,MAAM;EAC7E;EAEAe,IAAIA,CAAA,EAAS;IACX,IAAI,CAACP,GAAG,EAAG;EACb;EAEAQ,IAAIA,CAAA,EAAS;IACX,IAAI,CAACR,GAAG,EAAG;EACb;EAEAS,KAAKA,CAAA,EAAG;IACN,IAAI,CAACT,GAAG,GAAGC,SAAS;EACtB;EAEAS,MAAMA,CAAA,EAAW;IACf,OAAOC,QAAQ,CAAC,IAAI,CAACzB,EAAE,CAAC,IAAI,CAACc,GAAG,CAAE,CAAE,CAAC,CAAC,CAAC;EACzC;EAEAY,MAAMA,CAAA,EAAgB;IACpB,OAAOrB,UAAU,CAAC,IAAI,CAACL,EAAE,CAAC,IAAI,CAACc,GAAG,CAAE,CAAE,CAAC,CAAC,CAAC;EAC3C;EAEAa,QAAQA,CAAA,EAAW;IACjB,OAAOF,QAAQ,CAAC,IAAI,CAACzB,EAAE,CAAC,IAAI,CAACc,GAAG,CAAE,CAAE,CAAC,CAAC,CAAC;EACzC;EAEAc,QAAQA,CAAA,EAAgB;IACtB,OAAOvB,UAAU,CAAC,IAAI,CAACL,EAAE,CAAC,IAAI,CAACc,GAAG,CAAE,CAAE,CAAC,CAAC,CAAC;EAC3C;EACAe,UAAUA,CAACV,MAA4B,EAAU;IAC/C,MAAMW,SAAS,GAAGzB,UAAU,CAACc,MAAM,CAAC;IACpC,OAAQT,UAAU,CAAC,IAAI,CAACV,EAAE,CAAC,IAAI,CAACc,GAAG,CAAE,CAAE,CAAC,CAAC,EAAEgB,SAAS,CAAC,GAAG,CAAC,GAAGC,UAAU,CAAC,IAAI,CAAC/B,EAAE,CAAC,IAAI,CAACc,GAAG,CAAE,CAAE,CAAC,CAAC,EAAEK,MAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EAChI;AACF;;AAEA;AACA;AACA,IAAIa,OAAO,GAAG,IAAKC,MAAM,CAASC,WAAW,CAAC,CAAC;AAC/C,IAAIC,OAAO,GAAG,IAAKF,MAAM,CAASG,WAAW,CAAC,CAAC;AAE/C,OAAO,SAASX,QAAQA,CAACY,GAAyB,EAAU;EAC1D,IAAI,OAAOA,GAAG,IAAI,QAAQ,EAAE;IAC1B,OAAOA,GAAG;EACZ;EAEA,OAAOL,OAAO,CAACM,MAAM,CAAC,IAAIC,UAAU,CAACF,GAAG,CAAC,CAAC;AAC5C;AAEA,OAAO,SAAShC,UAAUA,CAACmC,GAAyB,EAAe;EACjE,IAAIA,GAAG,YAAYC,WAAW,EAAE;IAC9B,OAAOD,GAAG;EACZ;EACA,IAAIE,QAAoB,GAAGP,OAAO,CAACQ,MAAM,CAACH,GAAG,CAAC;EAC9C,MAAMI,GAAG,GAAG,IAAIH,WAAW,CAACC,QAAQ,CAACG,UAAU,CAAC;EAChD,IAAIN,UAAU,CAACK,GAAG,CAAC,CAACE,GAAG,CAACJ,QAAQ,CAAC;EACjC,OAAOE,GAAG;AACZ;AAEA,OAAO,SAASlC,UAAUA,CAACqC,CAAc,EAAEC,CAAc,EAAW;EAClE,IAAIC,IAAI,GAAG,IAAIV,UAAU,CAACQ,CAAC,CAAC;EAC5B,IAAIG,IAAI,GAAG,IAAIX,UAAU,CAACS,CAAC,CAAC;EAC5B,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACJ,UAAU,IAAIM,CAAC,GAAGD,IAAI,CAACL,UAAU,EAAE,EAAEM,CAAC,EAAE;IAC/D,IAAIF,IAAI,CAACE,CAAC,CAAC,GAAID,IAAI,CAACC,CAAC,CAAE,EAAE;MACvB,OAAO,IAAI;IACb;IACA,IAAIF,IAAI,CAACE,CAAC,CAAC,GAAID,IAAI,CAACC,CAAC,CAAE,EAAE;MACvB,OAAO,KAAK;IACd;EACF;EAEA,OAAOF,IAAI,CAACJ,UAAU,GAAGK,IAAI,CAACL,UAAU;AAC1C;AACA,OAAO,SAASd,UAAUA,CAACgB,CAAc,EAAEC,CAAc,EAAW;EAClE,IAAIC,IAAI,GAAG,IAAIV,UAAU,CAACQ,CAAC,CAAC;EAC5B,IAAIG,IAAI,GAAG,IAAIX,UAAU,CAACS,CAAC,CAAC;EAC5B,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACJ,UAAU,IAAIM,CAAC,GAAGD,IAAI,CAACL,UAAU,EAAE,EAAEM,CAAC,EAAE;IAC/D,IAAIF,IAAI,CAACE,CAAC,CAAC,GAAID,IAAI,CAACC,CAAC,CAAE,EAAE;MACvB,OAAO,IAAI;IACb;IACA,IAAIF,IAAI,CAACE,CAAC,CAAC,GAAID,IAAI,CAACC,CAAC,CAAE,EAAE;MACvB,OAAO,KAAK;IACd;EACF;EAEA,OAAOF,IAAI,CAACJ,UAAU,GAAGK,IAAI,CAACL,UAAU;AAC1C;AAGA,OAAO,MAAMO,WAAW,CAAqB;EAC3C;EACA;;EAGAxC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACZ,EAAE,GAAG,EAAE;EACd;EAEAuB,KAAKA,CAAA,EAAG;IACN,IAAI,CAACvB,EAAE,GAAG,IAAI;EAChB;EAEAqD,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACrD,EAAE,IAAI,IAAI;EACxB;EAEAsD,GAAGA,CAACrD,CAAuB,EAAEsD,CAAuB,EAAE;IACpD,MAAMC,MAAM,GAAGzD,MAAM,CAAC,IAAI,CAACC,EAAE,EAAEC,CAAC,CAAC;IACjC;IACA,IAAIuD,MAAM,IAAI,IAAI,CAACxD,EAAE,CAAEM,MAAM,EAAE;MAC7B,IAAI,CAACN,EAAE,CAAEyD,IAAI,CAAC,CAACpD,UAAU,CAACJ,CAAC,CAAC,EAAEI,UAAU,CAACkD,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,MAAM,IAAI7C,UAAU,CAAC,IAAI,CAACV,EAAE,CAAEwD,MAAM,CAAC,CAAE,CAAC,CAAC,EAAEnD,UAAU,CAACJ,CAAC,CAAC,CAAC,EAAE;MAC1D;MACA;MACA,IAAI,CAACD,EAAE,CAAE0D,MAAM,CAACF,MAAM,EAAE,CAAC,EAAE,CAACnD,UAAU,CAACJ,CAAC,CAAC,EAAEI,UAAU,CAACkD,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,MAAM;MACL,IAAI,CAACvD,EAAE,CAAEwD,MAAM,CAAC,CAAE,CAAC,CAAC,GAAGnD,UAAU,CAACkD,CAAC,CAAC;IACtC;EACF;EAEAI,MAAMA,CAAC1D,CAAuB,EAAE;IAC9BA,CAAC,GAAGI,UAAU,CAACJ,CAAC,CAAC;IACjB,MAAMuD,MAAM,GAAGzD,MAAM,CAAC,IAAI,CAACC,EAAE,EAAEC,CAAC,CAAC;IACjC,IAAIuD,MAAM,GAAG,IAAI,CAACxD,EAAE,CAAEM,MAAM,IAAI,CAACI,UAAU,CAAC,IAAI,CAACV,EAAE,CAAEwD,MAAM,CAAC,CAAE,CAAC,CAAC,EAAEvD,CAAC,CAAC,IAAI,CAACS,UAAU,CAACT,CAAC,EAAE,IAAI,CAACD,EAAE,CAAEwD,MAAM,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;MAC5G,IAAI,CAACxD,EAAE,CAAE0D,MAAM,CAACF,MAAM,EAAE,CAAC,CAAC;IAC5B;EACF;EAEAI,MAAMA,CAAC3D,CAAuB,EAAiB;IAC7C,MAAMoC,GAAG,GAAG,IAAI,CAACwB,MAAM,CAAC5D,CAAC,CAAC;IAC1B,OAAOoC,GAAG,IAAIZ,QAAQ,CAACY,GAAG,CAAC;EAC7B;EAEAwB,MAAMA,CAAC5D,CAAuB,EAAsB;IAClDA,CAAC,GAAGI,UAAU,CAACJ,CAAC,CAAC;IACjB,MAAMuD,MAAM,GAAGzD,MAAM,CAAC,IAAI,CAACC,EAAE,EAAEC,CAAC,CAAC;IACjC,MAAMD,EAAE,GAAGwD,MAAM,GAAG,IAAI,CAACxD,EAAE,CAAEM,MAAM,GAAG,IAAI,CAACN,EAAE,CAAEwD,MAAM,CAAC,GAAG,IAAI;IAC7D,OAAO,CAACxD,EAAE,IAAIU,UAAU,CAACV,EAAE,CAAC,CAAC,CAAC,EAAEC,CAAC,CAAC,IAAIS,UAAU,CAACT,CAAC,EAAED,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAGA,EAAE,CAAC,CAAC,CAAC;EAC3E;EAEA8D,WAAWA,CAAA,EAAqB;IAC9B,OAAO,IAAInD,mBAAmB,CAAC,IAAI,CAAC;EACtC;AACF","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { arraybufGt, FakeLevelDB, toArraybuf, toString } from "./fake";
4
+ test('arraybufGt', () => {
5
+ expect(arraybufGt(toArraybuf('dbMeta'), toArraybuf('dbMeta'))).toEqual(false);
6
+ expect(arraybufGt(toArraybuf('db.farm'), toArraybuf('dbMeta'))).toEqual(false);
7
+ expect(arraybufGt(toArraybuf('dbMeta'), toArraybuf('db.farm'))).toEqual(true);
8
+ expect(arraybufGt(toArraybuf('dbMeta'), toArraybuf('dbMetaverse'))).toEqual(false);
9
+ expect(arraybufGt(toArraybuf('dbMetaverse'), toArraybuf('dbMeta'))).toEqual(true);
10
+ expect(toString(toArraybuf('dbMeta'))).toEqual('dbMeta');
11
+ });
12
+ test('FakeLevelDB', () => {
13
+ const db = new FakeLevelDB();
14
+ db.put('dbMeta', 'a');
15
+ expect(db.kv?.map(x => [toString(x[0]), toString(x[1])])).toEqual([['dbMeta', 'a']]);
16
+ db.put('dbMeta', 'b');
17
+ expect(db.kv?.map(x => [toString(x[0]), toString(x[1])])).toEqual([['dbMeta', 'b']]);
18
+ db.put('db.farm.1', 'c');
19
+ expect(db.kv?.map(x => toString(x[0]))).toEqual(['db.farm.1', 'dbMeta']);
20
+ db.put('dbMeta', 'd');
21
+ expect(db.kv?.map(x => toString(x[0]))).toEqual(['db.farm.1', 'dbMeta']);
22
+ db.put('db.farm.0', 'e');
23
+ expect(db.kv?.map(x => toString(x[0]))).toEqual(['db.farm.0', 'db.farm.1', 'dbMeta']);
24
+ db.put('dbMeta', 'f');
25
+ expect(db.kv?.map(x => toString(x[0]))).toEqual(['db.farm.0', 'db.farm.1', 'dbMeta']);
26
+ db.put('dbMetaverse', 'g');
27
+ expect(db.kv?.map(x => toString(x[0]))).toEqual(['db.farm.0', 'db.farm.1', 'dbMeta', 'dbMetaverse']);
28
+ expect(db.getStr('dbMeta')).toEqual('f');
29
+ });
30
+ //# sourceMappingURL=fake.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["arraybufGt","FakeLevelDB","toArraybuf","toString","test","expect","toEqual","db","put","kv","map","x","getStr"],"sourceRoot":"../../src","sources":["fake.test.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ import { NativeModules } from 'react-native';
4
+ let nativeModuleInitError = null;
5
+ const LeveldbModule = NativeModules.Leveldb;
6
+ if (LeveldbModule == null || typeof LeveldbModule.install !== 'function') {
7
+ nativeModuleInitError = 'The native Leveldb module could not be found! Is it correctly installed and autolinked?';
8
+ }
9
+
10
+ // Call the synchronous blocking install() function
11
+ try {
12
+ if (LeveldbModule.install() !== true) {
13
+ nativeModuleInitError = 'The native Leveldb JSI bindings could not be installed!';
14
+ }
15
+ } catch (e) {
16
+ nativeModuleInitError = e instanceof Error ? e?.message : 'Leveldb.install caught error!';
17
+ }
18
+ const g = global;
19
+ export class LevelDBWriteBatch {
20
+ constructor() {
21
+ this.ref = g.leveldbNewWriteBatch();
22
+ }
23
+ put(k, v) {
24
+ g.leveldbWriteBatchPut(this.ref, k, v);
25
+ }
26
+ delete(k) {
27
+ g.leveldbWriteBatchDelete(this.ref, k);
28
+ }
29
+ close() {
30
+ g.leveldbWriteBatchClose(this.ref);
31
+ this.ref = -1;
32
+ }
33
+ }
34
+ export class LevelDBIterator {
35
+ constructor(dbRef) {
36
+ this.ref = g.leveldbNewIterator(dbRef);
37
+ }
38
+ seekToFirst() {
39
+ g.leveldbIteratorSeekToFirst(this.ref);
40
+ return this;
41
+ }
42
+ seekLast() {
43
+ g.leveldbIteratorSeekToLast(this.ref);
44
+ return this;
45
+ }
46
+ seek(target) {
47
+ g.leveldbIteratorSeek(this.ref, target);
48
+ return this;
49
+ }
50
+ valid() {
51
+ return g.leveldbIteratorValid(this.ref);
52
+ }
53
+ next() {
54
+ g.leveldbIteratorNext(this.ref);
55
+ }
56
+ prev() {
57
+ g.leveldbIteratorPrev(this.ref);
58
+ }
59
+ close() {
60
+ g.leveldbIteratorDelete(this.ref);
61
+ this.ref = -1;
62
+ }
63
+ keyStr() {
64
+ return g.leveldbIteratorKeyStr(this.ref);
65
+ }
66
+ keyBuf() {
67
+ return g.leveldbIteratorKeyBuf(this.ref);
68
+ }
69
+ valueStr() {
70
+ return g.leveldbIteratorValueStr(this.ref);
71
+ }
72
+ valueBuf() {
73
+ return g.leveldbIteratorValueBuf(this.ref);
74
+ }
75
+ compareKey(target) {
76
+ return g.leveldbIteratorKeyCompare(this.ref, target);
77
+ }
78
+ }
79
+ export class LevelDB {
80
+ // Keep references to already open DBs to facilitate RN's reload flow.
81
+ // This must live on globalThis (not module state) since Metro reloads this module.
82
+ static openRefs() {
83
+ const key = '__rn_leveldb_openPathRefs';
84
+ const host = globalThis;
85
+ const existing = host[key];
86
+ if (existing) return existing;
87
+ const created = Object.create(null);
88
+ host[key] = created;
89
+ return created;
90
+ }
91
+ constructor(name, createIfMissing, errorIfExists) {
92
+ if (nativeModuleInitError) {
93
+ throw new Error(nativeModuleInitError);
94
+ }
95
+ const openRefs = LevelDB.openRefs();
96
+ if (openRefs[name] !== undefined) {
97
+ this.ref = openRefs[name];
98
+ } else {
99
+ openRefs[name] = this.ref = g.leveldbOpen(name, createIfMissing, errorIfExists);
100
+ }
101
+ }
102
+ close() {
103
+ g.leveldbClose(this.ref);
104
+ const openRefs = LevelDB.openRefs();
105
+ for (const name in openRefs) {
106
+ if (openRefs[name] === this.ref) {
107
+ delete openRefs[name];
108
+ }
109
+ }
110
+ this.ref = undefined;
111
+ }
112
+ closed() {
113
+ if (this.ref === undefined) return true;
114
+ return !Object.values(LevelDB.openRefs()).includes(this.ref);
115
+ }
116
+ put(k, v) {
117
+ g.leveldbPut(this.ref, k, v);
118
+ }
119
+ delete(k) {
120
+ g.leveldbDelete(this.ref, k);
121
+ }
122
+ getStr(k) {
123
+ return g.leveldbGetStr(this.ref, k);
124
+ }
125
+ getBuf(k) {
126
+ return g.leveldbGetBuf(this.ref, k);
127
+ }
128
+ newIterator() {
129
+ if (this.ref === undefined) {
130
+ throw new Error('LevelDB.newIterator: could not create iterator, the DB was closed!');
131
+ }
132
+ return new LevelDBIterator(this.ref);
133
+ }
134
+ write(batch) {
135
+ g.leveldbWriteWriteBatch(this.ref, batch.ref);
136
+ }
137
+
138
+ // Merges the data from another LevelDB into this one. All keys from src will be written into this LevelDB,
139
+ // overwriting any existing values.
140
+ // batchMerge=true will write all values from src in one transaction, thus ensuring that the dst DB is not left
141
+ // in a corrupt state.
142
+ merge(src, batchMerge) {
143
+ if (this.ref === undefined) {
144
+ throw new Error('LevelDB.merge: could not merge, the dest DB (this) was closed!');
145
+ }
146
+ if (src.ref === undefined) {
147
+ throw new Error('LevelDB.merge: could not merge, the source DB was closed!');
148
+ }
149
+ g.leveldbMerge(this.ref, src.ref, batchMerge);
150
+ }
151
+ static destroyDB(name, force) {
152
+ const openRefs = LevelDB.openRefs();
153
+ if (openRefs[name] !== undefined) {
154
+ if (force) {
155
+ g.leveldbClose(openRefs[name]);
156
+ delete openRefs[name];
157
+ } else {
158
+ throw new Error('DB is open! Cannot destroy');
159
+ }
160
+ }
161
+ g.leveldbDestroy(name);
162
+ }
163
+ static readFileToBuf = g.leveldbReadFileBuf;
164
+ }
165
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","nativeModuleInitError","LeveldbModule","Leveldb","install","e","Error","message","g","global","LevelDBWriteBatch","constructor","ref","leveldbNewWriteBatch","put","k","v","leveldbWriteBatchPut","delete","leveldbWriteBatchDelete","close","leveldbWriteBatchClose","LevelDBIterator","dbRef","leveldbNewIterator","seekToFirst","leveldbIteratorSeekToFirst","seekLast","leveldbIteratorSeekToLast","seek","target","leveldbIteratorSeek","valid","leveldbIteratorValid","next","leveldbIteratorNext","prev","leveldbIteratorPrev","leveldbIteratorDelete","keyStr","leveldbIteratorKeyStr","keyBuf","leveldbIteratorKeyBuf","valueStr","leveldbIteratorValueStr","valueBuf","leveldbIteratorValueBuf","compareKey","leveldbIteratorKeyCompare","LevelDB","openRefs","key","host","globalThis","existing","created","Object","create","name","createIfMissing","errorIfExists","undefined","leveldbOpen","leveldbClose","closed","values","includes","leveldbPut","leveldbDelete","getStr","leveldbGetStr","getBuf","leveldbGetBuf","newIterator","write","batch","leveldbWriteWriteBatch","merge","src","batchMerge","leveldbMerge","destroyDB","force","leveldbDestroy","readFileToBuf","leveldbReadFileBuf"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import type { LevelDBI, LevelDBIteratorI } from "./index";
2
+ export declare class FakeLevelDBIterator implements LevelDBIteratorI {
3
+ private kv;
4
+ private pos;
5
+ constructor(db: FakeLevelDB);
6
+ seekToFirst(): LevelDBIteratorI;
7
+ seekLast(): LevelDBIteratorI;
8
+ seek(target: ArrayBuffer | string): LevelDBIteratorI;
9
+ valid(): boolean;
10
+ next(): void;
11
+ prev(): void;
12
+ close(): void;
13
+ keyStr(): string;
14
+ keyBuf(): ArrayBuffer;
15
+ valueStr(): string;
16
+ valueBuf(): ArrayBuffer;
17
+ compareKey(target: string | ArrayBuffer): number;
18
+ }
19
+ export declare function toString(buf: string | ArrayBuffer): string;
20
+ export declare function toArraybuf(str: string | ArrayBuffer): ArrayBuffer;
21
+ export declare function arraybufGt(a: ArrayBuffer, b: ArrayBuffer): boolean;
22
+ export declare function arraybufLt(a: ArrayBuffer, b: ArrayBuffer): boolean;
23
+ export declare class FakeLevelDB implements LevelDBI {
24
+ kv: null | [ArrayBuffer, ArrayBuffer][];
25
+ constructor();
26
+ close(): void;
27
+ closed(): boolean;
28
+ put(k: ArrayBuffer | string, v: ArrayBuffer | string): void;
29
+ delete(k: ArrayBuffer | string): void;
30
+ getStr(k: ArrayBuffer | string): null | string;
31
+ getBuf(k: ArrayBuffer | string): null | ArrayBuffer;
32
+ newIterator(): LevelDBIteratorI;
33
+ }
34
+ //# sourceMappingURL=fake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../src/fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA8B1D,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,EAAE,CAA+B;IACzC,OAAO,CAAC,GAAG,CAAqB;gBAEpB,EAAE,EAAE,WAAW;IAS3B,WAAW,IAAI,gBAAgB;IAK/B,QAAQ,IAAI,gBAAgB;IAK5B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,gBAAgB;IAKpD,KAAK,IAAI,OAAO;IAIhB,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAIZ,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,WAAW;IAIrB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,WAAW;IAGvB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM;CAIjD;AAOD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAM1D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAQjE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAalE;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAalE;AAGD,qBAAa,WAAY,YAAW,QAAQ;IAGnC,EAAE,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;;IAM/C,KAAK;IAIL,MAAM;IAIN,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM;IAcpD,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IAQ9B,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM;IAK9C,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW;IAOnD,WAAW,IAAI,gBAAgB;CAGhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fake.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake.test.d.ts","sourceRoot":"","sources":["../../src/fake.test.ts"],"names":[],"mappings":""}